Skip to content
View psy1218's full-sized avatar

Organizations

@brake-down

Block or report psy1218

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
psy1218/README.md

header ๐Ÿ‘‹ Hi, I'm Soyun Park
๐ŸŽ“ INU Embedded Systems Engineering
๐Ÿ”ง Experienced in Embedded Systems, AI Vision, and IoT, applying real-time sensor fusion to safety and mobility projects.



๐Ÿ”น Skills

Languages

C C++ Python MATLAB SQLite JavaScript Bash

Embedded Systems

Arduino ESP32 Raspberry Pi IMX500 STM32 OBD-II

AI / ML

TensorFlow Lite PyTorch YOLO openSMILE CNN Backpropagation Custom Dataset

Simulation

MATLAB Simulink Path Tracking

Tools & Env

Git GitHub WSL2 VS Code Linux Docker Jupyter

Hardware / Sensors

FSR MPU-9250 HC-SR04 RX-M1616M Servo/ESC RC Receiver Multiplexer IC Design

Web & App

React Flask SQLite REST API JWT HTML5 CSS3 WebSocket



๐Ÿ“Š GitHub Stats

๐Ÿ“Š BOJ Stats

Solved.ac Profile



๐Ÿ“‘ Summary of Activities

๐Ÿ”น Embedded / AI Projects

  • ๐Ÿš™ ์ž์œจ์ฃผํ–‰ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๋Œ€ํšŒ ๊ธˆ์ƒ( 2025.09 ~ 2025.10)

    ๐Ÿ‘‰ MATLAB/Simulink ๊ธฐ๋ฐ˜ ์ž์œจ์ฃผํ–‰ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ - ๋Œ€ํ•œ์ „๊ธฐํ•™ํšŒ ์ž์œจ์ฃผํ–‰๊ฒฝ์ง„๋Œ€ํšŒ
    • ์—ญํ• : ์‹œ์Šคํ…œ ์„ค๊ณ„ ๋ฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ตฌํ˜„
    • ๋‚ด์šฉ:
      • RoadRunner + Simulink๋ฅผ ํ™œ์šฉํ•ด ์ž์œจ์ฃผํ–‰ ์ฐจ๋Ÿ‰์˜ ์ฐจ์„  ์œ ์ง€, ์ฐจ์„  ๋ณ€๊ฒฝ, ์žฅ์• ๋ฌผ ํšŒํ”ผ, Cut-in ๋Œ€์‘ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์‹œ๋ฎฌ๋ ˆ์ด์…˜
      • Vision Sensor, Radar, LiDAR ๋“ฑ ๊ฐ€์ƒ ์„ผ์„œ๋ฅผ ๊ตฌ์„ฑํ•˜๊ณ , PID ์ œ์–ด ๋ฐ ๊ฒฝ๋กœ Planner ๋กœ์ง์„ ์„ค๊ณ„
      • ๋‹ค์–‘ํ•œ ์ฃผํ–‰ ํ™˜๊ฒฝ(์ง์„ , ๊ณก์„ , ์žฅ์• ๋ฌผ, ๋Œ๋ฐœ ์ƒํ™ฉ)์—์„œ ์ธ์‹ ๋ฐ ์ œ์–ด ์„ฑ๋Šฅ ๊ฒ€์ฆ
    • ๊ธฐ์ˆ : MATLAB, Simulink, RoadRunner, Automated Driving Toolbox, Navigation Toolbox
  • ๐Ÿš— Is Not Break Down(2025.07 ~ 2025.09)

    ๐Ÿ‘‰๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ AI ์‹œ์Šคํ…œ (์˜์ƒยท์Œ์„ฑยทOBD-II) โ†’ ์‹ค์‹œ๊ฐ„ ๊ฒฝ๊ณ  & ์šด์ „์ž ์•ˆ์ „์„ฑ ํ™•๋ณด
    • ์—ญํ• : ๋ฉ”์ธ ๊ฐœ๋ฐœ์ž
    • ๋‚ด์šฉ: ์šด์ „์ž์˜ ๊ธ‰๋ฐœ์ง„ ๋ฐ ํŽ˜๋‹ฌ ์˜ค์กฐ์ž‘ ์ƒํ™ฉ์„ ์กฐ๊ธฐ์— ๊ฐ์ง€ํ•˜๋Š” ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ AI ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ
      • ์ž…๋ ฅ:
        • ์–ผ๊ตด ํ‘œ์ •(FER, IMX500) โ†’ ๋†€๋žŒยท๋ถ„๋…ธ ๊ฐ์ • ํƒ์ง€
        • ์Œ์„ฑ(openSMILE) โ†’ ๊ธด์žฅยท๋‹นํ™ฉ ๋ฐœํ™” ํŒจํ„ด ๋ถ„์„
        • ์ฐจ๋Ÿ‰ ์„ผ์„œ(OBD-II) โ†’ ์†๋„, RPM, ์Šค๋กœํ‹€, ๋ธŒ๋ ˆ์ดํฌ ์‹ ํ˜ธ ์‹ค์‹œ๊ฐ„ ์ˆ˜์ง‘
      • ๊ตฌ์กฐ:
        • Producer-Consumer ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋ฐ˜ ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ์ฒ˜๋ฆฌ
        • ์˜์ƒ/์Œ์„ฑ/์„ผ์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™”ํ•˜์—ฌ ์œตํ•ฉ(Fusion)
        • ์ด์ƒ ์ƒํ™ฉ ๋ฐœ์ƒ ์‹œ ์‹ค์‹œ๊ฐ„ ๊ฒฝ๊ณ  ํŒ๋‹จ ๋ฐ UI ํ‘œ์‹œ
    • ๊ธฐ์ˆ : Raspberry Pi 5, TensorFlow Lite (FER ๋ชจ๋ธ), openSMILE, Python ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋”ฉ, OBD-II ์‹œ๋ฆฌ์–ผ ํ†ต์‹ 
    • ์„ฑ๊ณผ:
      • ์‹ค์‹œ๊ฐ„ ๊ฒฝ๊ณ  ์‹œ์Šคํ…œ ๊ตฌํ˜„: UI์— Alert ์•„์ด์ฝ˜ ์ „ํ™˜ + ์ด๋ฒคํŠธ ๋กœ๊น…
      • ์•ˆ์ •์„ฑ ๊ธฐ๋Šฅ ์ถ”๊ฐ€: ์ฟจ๋‹ค์šด ํƒ€์ด๋จธ, persist_min_frames ๋กœ์ง ์ ์šฉ โ†’ ์˜คํƒ๋ฅ  ๊ฐ์†Œ
      • ์˜์˜: ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ฐ์ดํ„ฐ ์œตํ•ฉ(AI + ์„ผ์„œ)์„ ํ†ตํ•œ ์šด์ „์ž ์•ˆ์ „์„ฑ ํ™•๋ณด ๊ฐ€๋Šฅ์„ฑ ๊ฒ€์ฆ
  • ๐Ÿ ์–‘๋ด‰ ํ”„๋กœ์ ํŠธ (WCL-INU ์—ฐ๊ตฌ์‹ค) (2025.01 ~ )

    ๐Ÿ‘‰YOLOv5/v8 ๊ธฐ๋ฐ˜ ๋ฒŒ ํƒ์ง€/๊ณ„์ˆ˜ ๋ชจ๋ธ โ†’ ์ปค์Šคํ…€ ๋ฐ์ดํ„ฐ์…‹ ์ œ์ž‘ ๋ฐ ํ•™์Šต ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•
    • ์—ญํ• : ๋ฐ์ดํ„ฐ์…‹ ์ œ์ž‘ ๋ฐ ๋ชจ๋ธ ํ•™์Šต ๋‹ด๋‹น
    • ๋‚ด์šฉ: YOLOv5/v8์„ ํ™œ์šฉํ•œ ๊ฟ€๋ฒŒ ํƒ์ง€ ๋ฐ ๊ณ„์ˆ˜ ์—ฐ๊ตฌ
      • ๊ธฐ์กด ์˜์ƒ์—์„œ ๋ฒŒ์„ ํƒ์ง€ํ•˜๊ธฐ ์œ„ํ•ด labelImg๋ฅผ ์‚ฌ์šฉํ•œ ์ˆ˜์ฒœ ์žฅ ๋‹จ์œ„์˜ ์ˆ˜์ž‘์—… ๋ผ๋ฒจ๋ง ์ง„ํ–‰
      • YOLO ํฌ๋งท(.txt) ๋ณ€ํ™˜ ํ›„ ์ปค์Šคํ…€ ๋ฐ์ดํ„ฐ์…‹ ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ(images/train, labels/train ๋“ฑ) ์ง์ ‘ ๊ตฌ์„ฑ
      • ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ: ๋ฒŒ์ด ์—†๋Š” ํ”„๋ ˆ์ž„์—๋„ ๋นˆ ๋ผ๋ฒจ ํŒŒ์ผ ์ƒ์„ฑํ•˜์—ฌ ๋ชจ๋ธ์˜ false positive ์ตœ์†Œํ™”
      • ํ•™์Šต/๊ฒ€์ฆ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•: train.py ์‹คํ–‰ ํ™˜๊ฒฝ ์„ธํŒ…, ํŒŒ๋ผ๋ฏธํ„ฐ ํŠœ๋‹, GPU/๊ฐ€์ƒํ™˜๊ฒฝ ๊ด€๋ฆฌ
    • ๊ธฐ์ˆ : Python, YOLOv5/v8, PyTorch, LabelImg, ๋ฐ์ดํ„ฐ์…‹ ๊ด€๋ฆฌ(~/bee/dataset)
    • ์„ฑ๊ณผ:
      • ๋ฒŒ ํƒ์ง€ ์ •ํ™•๋„๋ฅผ ๋†’์ธ ์ปค์Šคํ…€ YOLO ๋ชจ๋ธ ํ•™์Šต ์ง„ํ–‰ ์ค‘
      • ๊ทธ๋ฆผ์žยท๊ฒน์นจ ๋“ฑ ์–ด๋ ค์šด ์ƒํ™ฉ์—์„œ๋„ ์ผ์ • ์ˆ˜์ค€ ์ด์ƒ์˜ ํƒ์ง€ ์„ฑ๋Šฅ ํ™•๋ณด
      • ์—ฐ๊ตฌ์‹ค ๋‚ด๋ถ€์—์„œ ํ™œ์šฉ ๊ฐ€๋Šฅํ•œ ์‹คํ—˜์šฉ ๋ฐ์ดํ„ฐ์…‹ ๋ฐ ํ•™์Šต ์ฝ”๋“œ๋ฒ ์ด์Šค ๊ตฌ์ถ•
  • ๐Ÿš™ RC์นด ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ (2025.05 ~ 2025.06)

    ๐Ÿ‘‰ Flask ์ŠคํŠธ๋ฆฌ๋ฐ + RC ์‹ ํ˜ธ ์ˆ˜์‹  โ†’ ์ž์œจ์ฃผํ–‰ & ์ˆ˜๋™ ์ „ํ™˜
    • ์—ญํ• : ์‹œ์Šคํ…œ ํ†ตํ•ฉ ๊ฐœ๋ฐœ
    • ๋‚ด์šฉ:
      • Raspberry Pi 5 + Picamera2๋ฅผ ํ™œ์šฉํ•ด RC์นด ์ฃผํ–‰ ์˜์ƒ์„ Flask ์›น ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„ ์ŠคํŠธ๋ฆฌ๋ฐ
      • OpenCV ๊ธฐ๋ฐ˜ ์ฐจ์„  ์ธ์‹ ๋ฐ PID ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•œ ์กฐํ–ฅ ์ œ์–ด๋กœ ๋ผ์ธํŠธ๋ ˆ์ด์‹ฑ ์ž์œจ์ฃผํ–‰ ๊ตฌํ˜„
      • Radiolink AT9 ์กฐ์ข…๊ธฐ & R9DS ์ˆ˜์‹ ๊ธฐ์—์„œ PWM ์‹ ํ˜ธ๋ฅผ ๋ฐ›์•„, ์ˆ˜๋™ ๋ชจ๋“œ๋กœ ์ „ํ™˜ ์‹œ RC ์ž…๋ ฅ ์šฐ์„  ์ œ์–ด ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„
      • Arduino Nano๋ฅผ ์„œ๋ธŒ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ์‚ฌ์šฉํ•ด Servo(์กฐํ–ฅ) ๋ฐ ESC(๋ชจํ„ฐ) ์ œ์–ด๋ฅผ ์•ˆ์ •ํ™”, Raspberry Pi์™€ ์‹œ๋ฆฌ์–ผ ํ†ต์‹ ์œผ๋กœ ํ†ตํ•ฉ
    • ๊ธฐ์ˆ : Raspberry Pi 5, Picamera2, Arduino Nano, Python (Flask, OpenCV), PWM ์‹ ํ˜ธ ์ฒ˜๋ฆฌ
    • ์„ฑ๊ณผ:
      • ์ž์œจ์ฃผํ–‰ โ†” ์ˆ˜๋™ ์ „ํ™˜ ๋ชจ๋“œ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์Šค์œ„์นญ ๊ฐ€๋Šฅ
      • ๊ธด๊ธ‰์‚ฌ์ถœ(Emergency Kill Switch) ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด ์•ˆ์ „์„ฑ ํ™•๋ณด
      • Flask ๊ธฐ๋ฐ˜ ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์ฃผํ–‰ ์˜์ƒ์„ ํ™•์ธํ•˜๋ฉด์„œ ์ œ์–ด ๊ฐ€๋Šฅ โ†’ ์›๊ฒฉ ๊ด€์ œ ํ™˜๊ฒฝ ์‹œ์—ฐ ์„ฑ๊ณต
      • ์‹ค์ œ ํ•˜๋“œ์›จ์–ด(์กฐ์ข…๊ธฐ/์ˆ˜์‹ ๊ธฐ + RC์นด ํ”Œ๋žซํผ)์™€ ์†Œํ”„ํŠธ์›จ์–ด( Flask ์„œ๋ฒ„)๋ฅผ ํ†ตํ•ฉํ•˜๋ฉฐ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ์ „์ฃผ๊ธฐ ๊ฒฝํ—˜
    • ์˜์˜:
      • ๋‹จ์ˆœ ๋ผ์ธํŠธ๋ ˆ์ด์‹ฑ์„ ๋„˜์–ด, ์ˆ˜๋™/์ž์œจ ์ฃผํ–‰ ํ†ตํ•ฉ ๋ฐ ์•ˆ์ „ ๊ธฐ๋Šฅ(๊ธด๊ธ‰์‚ฌ์ถœ) ๊นŒ์ง€ ๊ตฌํ˜„
      • ํ•™๋ถ€ ์ˆ˜์ค€์—์„œ ์‹ค์ œ ์ฐจ๋Ÿ‰ ์‹œ์Šคํ…œ์˜ HMI(์‚ฌ๋žŒ-๊ธฐ๊ณ„ ์ธํ„ฐํŽ˜์ด์Šค) ์™€ ์œ ์‚ฌํ•œ ๊ตฌ์กฐ๋ฅผ ์†Œํ˜• RC์นด์— ์ ์šฉํ•œ ์‚ฌ๋ก€
  • ๐Ÿฆฝ ํ•ธ๋“ค ์••๋ ฅ ํŒจํ„ด ๊ธฐ๋ฐ˜ ๋ฐ˜์ž์œจ์ฃผํ–‰ ๋ณดํ–‰๊ธฐ (2024.09 ~ 2025.05)

    ๐Ÿ‘‰FSR ์••๋ ฅ์„ผ์„œ + ์ž์ด๋กœ์„ผ์„œ + ๋ชจํ„ฐ ์ œ์–ด โ†’ ๋ฐ˜์ž์œจ์ฃผํ–‰ ๋ณดํ–‰๊ธฐ / ์šฐ์ˆ˜์ƒ ์ˆ˜์ƒ, ๋…ผ๋ฌธ 2ํŽธ ๋ฐœํ‘œ
  • ๐Ÿˆถ ํ•œ๊ธ€ ๋ฌธ์ž ์ธ์‹ ์ธ๊ณต์‹ ๊ฒฝ๋ง (2024.10 ~ 2024.12)

    ๐Ÿ‘‰115ํด๋ž˜์Šค ํ•œ๊ธ€ ๋ฐ์ดํ„ฐ์…‹ ์ƒ์„ฑ + Forward/Backprop ์ง์ ‘ ๊ตฌํ˜„ โ†’ AI pipeline ๊ฒฝํ—˜
    • ๋‚ด์šฉ:
      • ํ•œ๊ธ€ ๋ฌธ์ž ์ธ์‹ ๋ฌธ์ œ๋ฅผ ์ง์ ‘ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด 64ร—64 ํ‘๋ฐฑ ๋น„ํŠธ๋งต ๊ธฐ๋ฐ˜ ํ•œ๊ธ€ ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ์…‹์„ ์ž์ฒด ์ œ์ž‘
      • "์ถฉ, ์ฒญ, ๋‚จ, ๋„" ๋“ฑ ๋‹ค์–‘ํ•œ ํ•œ๊ธ€ ๊ธ€์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํฐํŠธยทํ”ฝ์…€ ์œ„์น˜ ๋ณ€ํ˜•์„ ๊ฐ€๋ฏธํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ 100์žฅ์”ฉ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋‹ค์–‘์„ฑ ํ™•๋ณด
      • ํด๋ž˜์Šค ์ˆ˜๋ฅผ ํ™•์žฅํ•˜์—ฌ ์ด 115๊ฐœ ํด๋ž˜์Šค(one-hot ์ธ์ฝ”๋”ฉ ๊ตฌ์กฐ) ๋กœ ๋ผ๋ฒจ๋ง, ๋‹ค์ค‘ ํด๋ž˜์Šค ๋ถ„๋ฅ˜๊ฐ€ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ
      • ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์ง์ ‘ ์„ค๊ณ„ํ•˜๊ณ , ์ˆœ์ „ํŒŒ(Forward Propagation) ์™€ ์—ญ์ „ํŒŒ(Backpropagation) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ Python๊ณผ C ์–ธ์–ด๋กœ ์ง์ ‘ ๊ตฌํ˜„
      • ํ•™์Šต๋ฅ , ๋ฐฐ์น˜ ํฌ๊ธฐ, ๋ฐ˜๋ณต ํšŸ์ˆ˜ ๋“ฑ ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ง์ ‘ ํŠœ๋‹ํ•˜๋ฉฐ ์„ฑ๋Šฅ ๋ณ€ํ™”๋ฅผ ์‹คํ—˜์ ์œผ๋กœ ๋ถ„์„
    • ๊ธฐ์ˆ  ์Šคํƒ: Python, C ์–ธ์–ด, Custom Neural Network Implementation, ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ & ์ฆ๊ฐ•
    • ์„ฑ๊ณผ:
      • ๋‹จ์ˆœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์ด ์•„๋‹Œ ์ €์ˆ˜์ค€ ๊ตฌํ˜„์„ ํ†ตํ•ด ์ธ๊ณต์‹ ๊ฒฝ๋ง์˜ ์ˆ˜ํ•™์ /ํ”„๋กœ๊ทธ๋ž˜๋ฐ์  ๋™์ž‘ ์›๋ฆฌ๋ฅผ ๊นŠ์ด ์ดํ•ด
      • ํ›ˆ๋ จ ์ •ํ™•๋„์™€ ํ…Œ์ŠคํŠธ ์ •ํ™•๋„๋ฅผ ๋น„๊ตํ•˜๋ฉฐ ์˜ค๋ฒ„ํ”ผํŒ…/๋ฒ”์šฉ์„ฑ ๋ฌธ์ œ๋ฅผ ์ฒด๊ฐ, ๋ฐ์ดํ„ฐ ๋‹ค์–‘์„ฑ(ํฐํŠธ/์œ„์น˜ ๋ณ€ํ˜•)์˜ ํ•„์š”์„ฑ์„ ๊ฒ€์ฆ
      • ์ตœ์ข…์ ์œผ๋กœ ๋‹จ์ˆœ ์ฝ”๋“œ ์‹ค์Šต์„ ๋„˜์–ด, ๋ฐ์ดํ„ฐ์…‹ ๊ตฌ์ถ• โ†’ ๋ชจ๋ธ ํ•™์Šต/ํ‰๊ฐ€ โ†’ ํ•œ๊ณ„ ๋ถ„์„๊นŒ์ง€ ์ˆ˜ํ–‰ํ•˜์—ฌ ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ ๊ฐœ๋ฐœ ์‚ฌ์ดํด(AI pipeline) ์„ ์˜จ์ „ํžˆ ๊ฒฝํ—˜
    • ์˜์˜:
      • โ€œํ•œ๊ธ€ ์ธ์‹โ€์ด๋ผ๋Š” ์‹ค์ œ ๊ณผ์ œ๋ฅผ ํ†ตํ•ด AI ์ด๋ก ์„ ์‹ค์Šต๊ณผ ์—ฐ๊ฒฐ
      • PyTorch/TensorFlow์™€ ๊ฐ™์€ ๊ณ ์ˆ˜์ค€ ํ”„๋ ˆ์ž„์›Œํฌ ์ด์ „ ๋‹จ๊ณ„์—์„œ, ์‹ ๊ฒฝ๋ง์˜ ๋‚ด๋ถ€ ์ž‘๋™์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋ฉฐ ์›๋ฆฌ๋ฅผ ์ฒด๋“
  • ๐Ÿ“ก METLAB ์—ฐ๊ตฌ ์ฒดํ—˜ ํ”„๋กœ๊ทธ๋žจ ๋Œ€ํšŒ ์ตœ์šฐ์ˆ˜์ƒ (2024.07 ~ 2024.09)

    ๐Ÿ‘‰์—ฐ๊ตฌ ํŒ€์žฅ -> ESP32-CAM CSI + ์˜์ƒ ๋ฐ์ดํ„ฐ ์œตํ•ฉ โ†’ ์ž์œจ์ฃผํ–‰์ž๋™์ฐจ ์•…์ฒœํ›„ ์ธ์‹ ์ •ํ™•๋„ ๊ฐœ์„  / ์ด์žฅ์ƒ ์ˆ˜์ƒ
    • ์—ญํ• : ์—ฐ๊ตฌ ํŒ€์žฅ
    • ์ฃผ์ œ: ์•…์ฒœํ›„ ์ƒํ™ฉ์—์„œ ์ž์œจ์ฃผํ–‰ ์ธ์‹ ์ •ํ™•๋„ ๊ฐœ์„ 
    • ๋‚ด์šฉ:
      • ์ž์œจ์ฃผํ–‰ ์ฐจ๋Ÿ‰์ด ์•…์ฒœํ›„(๋น„, ์•ˆ๊ฐœ, ๋ˆˆ ๋“ฑ) ์ƒํ™ฉ์—์„œ ์นด๋ฉ”๋ผ ๊ธฐ๋ฐ˜ ์ธ์‹ ์ •ํ™•๋„๊ฐ€ ๊ธ‰๊ฒฉํžˆ ์ €ํ•˜๋˜๋Š” ๋ฌธ์ œ์— ์ฃผ๋ชฉ
      • ESP32-CAM์„ ํ™œ์šฉํ•ด ์˜์ƒ ๋ฐ์ดํ„ฐ์™€ ๋™์‹œ์— Wi-Fi CSI(Channel State Information) ์‹ ํ˜ธ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ, ์‹œ๊ฐยท๋ฌด์„  ์ฑ„๋„ ํŠน์„ฑ์„ ๊ฒฐํ•ฉํ•œ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ฐ์ดํ„ฐ์…‹ ๊ตฌ์ถ•
      • ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์ฒ˜๋ฆฌ(๊ฒฐ์ธก์น˜ ์ œ๊ฑฐ, Normalization, ํŠน์ง• ์„ ํƒ) ํ›„ ๋žœ๋คํฌ๋ ˆ์ŠคํŠธ(Random Forest) ๋ชจ๋ธ์„ ์ ์šฉํ•˜์—ฌ, ์•…์ฒœํ›„ ํ™˜๊ฒฝ์—์„œ์˜ ๊ฐ์ฒด ์ธ์‹ ์„ฑ๋Šฅ์„ ๋น„๊ตยทํ‰๊ฐ€
    • ๊ธฐ์ˆ  ์Šคํƒ: ESP-IDF, ESP-CSI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, Python(pandas, scikit-learn), Random Forest ๋ชจ๋ธ, ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ/๋ถ„์„
    • ์„ฑ๊ณผ:
      • ๋‹จ์ผ ์˜์ƒ ๋ฐ์ดํ„ฐ ๋Œ€๋น„ ๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ ๋ฐ์ดํ„ฐ(์˜์ƒ + CSI) ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์ด ์•ˆ๊ฐœยท์šฐ์ฒœ ์ƒํ™ฉ์—์„œ ์ธ์‹ ์ •ํ™•๋„๊ฐ€ ์œ ์˜๋ฏธํ•˜๊ฒŒ ํ–ฅ์ƒ๋จ์„ ๊ฒ€์ฆ
      • ESP32-CAM + Wi-Fi CSI๋ฅผ ๊ฒฐํ•ฉํ•œ ์ €๋น„์šฉยท์ €์ „๋ ฅํ˜• ์„ผ์„œ ์œตํ•ฉ ๋ฐฉ์‹์˜ ๊ฐ€๋Šฅ์„ฑ์„ ํ™•์ธ
      • ์ธ์ฒœ๋Œ€ํ•™๊ต ์ •๋ณด๊ธฐ์ˆ ๋Œ€ํ•™ ์—ฐ๊ตฌ ์ฒดํ—˜ ํ™œ๋™ ์ด์žฅ์ƒ ์ˆ˜์ƒ
  • โš™๏ธ STM32 ์‹ค์‹œ๊ฐ„ ์ œ์–ด ํ”„๋กœ์ ํŠธ (2024.05 ~ 2024.06)

    ๐Ÿ‘‰์ ์™ธ์„  ์„ผ์„œยท์„œ๋ณด๋ชจํ„ฐยท7-Segment๋ฅผ ๋กœ์šฐ๋ ˆ๋ฒจ ๋ ˆ์ง€์Šคํ„ฐ๋กœ ์ œ์–ด ํฌํ•จํ•œ ์‹ค์‹œ๊ฐ„ ๋ฐ˜์‘ํ˜• ์ œ์–ด ์‹œ์Šคํ…œ
    • ์—ญํ• : ์„ผ์„œ ์ž…๋ ฅ ์ฒ˜๋ฆฌ ๋ฐ ์„œ๋ณด๋ชจํ„ฐยท์„ธ๊ทธ๋จผํŠธ ์ œ์–ด ๋กœ์ง ๊ตฌํ˜„ ๋‹ด๋‹น

    • ๋‚ด์šฉ:

      • ์ ์™ธ์„ (IR) ์„ผ์„œ๋ฅผ ํ™œ์šฉํ•ด ๊ณต์ด ํ†ต๊ณผํ•˜๋Š” ์ˆœ๊ฐ„์„ ๊ฐ์ง€
      • ๊ฐ์ง€ ์‹ ํ˜ธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋ณด๋ชจํ„ฐ๊ฐ€ ๋™์ž‘ํ•ด ๊ณต์„ ๋–จ์–ด๋œจ๋ฆฌ๋Š” ๋™์ž‘ ๊ตฌํ˜„
      • ๊ณต์ด ๋–จ์–ด์งˆ ๋•Œ๋งˆ๋‹ค 7-Segment ๋””์Šคํ”Œ๋ ˆ์ด๋ฅผ ํ†ตํ•ด ์นด์šดํŠธ๋ฅผ ์‹ค์‹œ๊ฐ„ ํ‘œ์‹œ
      • ๋‹จ์ˆœํ•œ HAL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜ธ์ถœ์ด ์•„๋‹ˆ๋ผ, ๋ ˆ์ง€์Šคํ„ฐ ๋‹จ์œ„ ์„ค์ •(ADC, GPIO, Timer, PWM) ์„ ํ†ตํ•ด Low-Level ์ œ์–ด๋ฅผ ์ง์ ‘ ๊ตฌํ˜„
      • ์•„ํฌ๋ฆด ๊ตฌ์กฐ๋ฌผ์„ ํ™œ์šฉํ•ด ๊ฒฝ์‚ฌ๋กœ ์ œ์ž‘ ๋ฐ ๊ธฐ์šธ๊ธฐ ์กฐ์ ˆ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ โ†’ ๋‹ค์–‘ํ•œ ์‹คํ—˜ ํ™˜๊ฒฝ ๊ตฌ์ถ•
    • ๊ธฐ์ˆ :

      • STM32 ๋งˆ์ดํฌ๋กœ์ปจํŠธ๋กค๋Ÿฌ (C, CMSIS ๊ธฐ๋ฐ˜)
      • ADC (Analog to Digital Converter) ๋ ˆ์ง€์Šคํ„ฐ ์ง์ ‘ ์ œ์–ด โ†’ IR ์„ผ์„œ ์ž…๋ ฅ๊ฐ’ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ
      • Timer & PWM ๋ ˆ์ง€์Šคํ„ฐ ํ™œ์šฉ โ†’ ์„œ๋ณด๋ชจํ„ฐ ๊ฐ๋„ ์ œ์–ด (ํ•˜๋“œ์›จ์–ด ํƒ€์ด๋ฐ ์ •ํ™•๋„ ํ™•๋ณด)
      • GPIO Low-Level ์ œ์–ด โ†’ 7-Segment ์ง์ ‘ ๊ตฌ๋™
      • ์‹ค์‹œ๊ฐ„์„ฑ ๋ณด์žฅ: ์ธํ„ฐ๋ŸฝํŠธ ๊ธฐ๋ฐ˜ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ, busy-wait ์ง€์–‘ โ†’ ์ฆ‰๊ฐ ๋ฐ˜์‘ ๊ตฌํ˜„
      • ๋ฐ์ดํ„ฐ์‹œํŠธ ๊ธฐ๋ฐ˜ ์„ค๊ณ„: HAL ์ถ”์ƒํ™”๊ฐ€ ์•„๋‹Œ ๋ ˆ์ง€์Šคํ„ฐ ์ฃผ์†Œ๋ฅผ ์ง์ ‘ ๋งคํ•‘ํ•˜์—ฌ ์‹œ์Šคํ…œ์˜ ๋™์ž‘ ์›๋ฆฌ๋ถ€ํ„ฐ ํŠผํŠผํ•˜๊ฒŒ ๊ตฌ์ถ•
      • ์•„ํฌ๋ฆด ๊ธฐ๋ฐ˜ ์‹คํ—˜ ํ•˜๋“œ์›จ์–ด ์ œ์ž‘
    • ์„ฑ๊ณผ:

      • STM32 ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ์‹œํŠธ๋ฅผ ๊นŠ์ด ์ดํ•ดํ•˜๊ณ , Low-Level ์ œ์–ด ๋Šฅ๋ ฅ ํ™•๋ณด
      • ์—ฌ๋Ÿฌ ์„ผ์„œ๋ฅผ ๋™์‹œ์— ๋‹ค๋ฃจ๋ฉฐ ์ž„๋ฒ ๋””๋“œ ์‹ค์‹œ๊ฐ„ ์ œ์–ด ์‹œ์Šคํ…œ ๊ตฌํ˜„ ๊ฒฝํ—˜ ์ถ•์ 
      • ๋‹จ์ˆœ ๊ตฌํ˜„ ์ˆ˜์ค€์„ ๋„˜์–ด ํ•˜๋“œ์›จ์–ด ์ตœ์ ํ™” ๋ฐ ์‹ ๋ขฐ์„ฑ ๋†’์€ ๋™์ž‘์„ ๋‹ฌ์„ฑ
  • ๐ŸŽฎ ๊ฐ์ฒด์ง€ํ–ฅ SW ํ”„๋กœ์ ํŠธ (2023.10 ~ 2023.12)

    ๐Ÿ‘‰C++ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฒฝ์น˜๊ธฐ ๊ฒŒ์ž„๊ณผ A* Pathfinding ์‹œ๊ฐํ™”๋ฅผ ๊ตฌํ˜„, ์‹ค์‹œ๊ฐ„ ์ด๋ฒคํŠธ ์ฒ˜๋ฆฌ ๋ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜

    ๐Ÿ•น๏ธ ๋ฒฝ์น˜๊ธฐ ๊ฒŒ์ž„ (Wall Hitting Game)

    • ์—ญํ• : ๊ฒŒ์ž„ ๋กœ์ง ๋ฐ ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋‹ด๋‹น
    • ๋‚ด์šฉ:
      • Paddle, Ball, Bomb, Heart ๋“ฑ์˜ ํด๋ž˜์Šค๋ฅผ ์ง์ ‘ ์„ค๊ณ„ํ•˜์—ฌ ์ƒ์†, ์˜ค๋ฒ„๋ผ์ด๋”ฉ, ์˜ค๋ฒ„๋กœ๋”ฉ ๊ฐœ๋…์„ ์ ์šฉ
      • ๊ณต ํŠ€๊น€, Paddle ์ถฉ๋Œ, ํญํƒ„ ์•„์ดํ…œ, ๋ชฉ์ˆจ ๊ฐ์†Œ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ฒŒ์ž„ ์ด๋ฒคํŠธ ๊ตฌํ˜„
    • ๊ธฐ์ˆ :
      • C++ (๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์ƒ์†/์˜ค๋ฒ„๋ผ์ด๋”ฉ/์˜ค๋ฒ„๋กœ๋”ฉ)
      • SFML Graphics (๊ณต, Paddle, ํญํƒ„, ๋ฐฐ๊ฒฝ ์‹œ๊ฐํ™”)
      • SFML Audio (์ถฉ๋Œ, ์•„์ดํ…œ ํš๋“, ๊ฒŒ์ž„์˜ค๋ฒ„ ํšจ๊ณผ์Œ)
    • ์„ฑ๊ณผ:
      • ๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋…์„ ์‹ค์ œ ๊ฒŒ์ž„ ์ œ์ž‘์— ์ ์šฉ
      • ์‹ค์‹œ๊ฐ„ ๋ฐ˜์‘ํ˜• ๋™์ž‘์œผ๋กœ ์™„์„ฑ๋„ ์žˆ๋Š” ๋ฏธ๋‹ˆ๊ฒŒ์ž„ ์ œ์ž‘

    ๐Ÿง A* ๊ฒฝ๋กœ ํƒ์ƒ‰ ์‹œ๊ฐํ™” (A* Pathfinding Visualization)

    • ์—ญํ• : ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐ ์‹œ๊ฐํ™” ๊ตฌํ˜„ ๋‹ด๋‹น
    • ๋‚ด์šฉ:
      • ๋งˆ์šฐ์Šค ์ขŒํด๋ฆญ์œผ๋กœ ๋ชฉ์ ์ง€ ์ง€์ • โ†’ ์žฅ์• ๋ฌผ์„ ํ”ผํ•ด ์ตœ๋‹จ ๊ฒฝ๋กœ ํƒ์ƒ‰
      • ์›€์ง์ด๋Š” ๋ฒฝ์ด ์žˆ์„ ๊ฒฝ์šฐ์—๋„ ์‹ค์‹œ๊ฐ„ ๊ฒฝ๋กœ ์žฌ๊ณ„์‚ฐ
      • ๊ฒฝ๋กœ ํƒ์ƒ‰ ๊ณผ์ •(Visited, Path)์„ ํŒŒ๋ž€์ƒ‰ยท๋…ธ๋ž€์ƒ‰ ์…€๋กœ ์‹œ๊ฐํ™”
    • ๊ธฐ์ˆ :
      • C++ (ํด๋ž˜์Šค ๊ธฐ๋ฐ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ตฌํ˜„)
      • A* ์•Œ๊ณ ๋ฆฌ์ฆ˜ (ํœด๋ฆฌ์Šคํ‹ฑ ๊ธฐ๋ฐ˜ ์ตœ๋‹จ ๊ฒฝ๋กœ ํƒ์ƒ‰)
      • SFML Graphics (๋งต, ์žฅ์• ๋ฌผ, ํƒ์ƒ‰ ๊ณผ์ •, ๊ฒฝ๋กœ ์‹œ๊ฐํ™”)
    • ์„ฑ๊ณผ:
      • A* ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ์‹ค์‹œ๊ฐ„ ์‹œ๊ฐํ™”๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ํƒ์ƒ‰ ๊ณผ์ •์„ ๋ˆˆ์œผ๋กœ ํ™•์ธ ๊ฐ€๋Šฅ
      • ํŽญ๊ท„ ์บ๋ฆญํ„ฐ๊ฐ€ ์žฅ์• ๋ฌผ์„ ํ”ผํ•˜๋ฉฐ ๋ชฉ์ ์ง€๊นŒ์ง€ ์ด๋™ํ•˜๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ๊ตฌํ˜„
  • ๐Ÿ“š ์Šค๋งˆํŠธ ๋…์„œ๋Œ€ โ€“ INU Maker ๊ฒฝ์ง„๋Œ€ (Maker Fair, 2022.09~11)

    ๐Ÿ‘‰์˜จ์Šต๋„ยท๊ฑฐ๋ฆฌ์„ผ์„œ + LCD + ์กฐ๋ช… ์ œ์–ด โ†’ ํ•™์Šต ํšจ์œจ ํ–ฅ์ƒ IoT ๋…์„œ๋Œ€
    • ์—ญํ• : ํŒ€ ๊ฐœ๋ฐœ์ž (์ž„๋ฒ ๋””๋“œ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌํ˜„)
    • ๋‚ด์šฉ: ๋…์„œ ํ™˜๊ฒฝ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์„ผ์„œ ๋ฐ ์ œ์–ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ฉํ•œ ์Šค๋งˆํŠธ ๋…์„œ๋Œ€ ์ œ์ž‘
      • ์˜จ์Šต๋„ ์„ผ์„œ(DHT11): ๋…์„œ ํ™˜๊ฒฝ์˜ ์˜จ์Šต๋„ ์ธก์ • โ†’ ์ ์ • ๋ฒ”์œ„ ๋ฒ—์–ด๋‚˜๋ฉด LED ์•Œ๋ฆผ
      • RTC ๋ชจ๋“ˆ(DS1302): ๋‚ ์งœ/์‹œ๊ฐ„ ํ‘œ์‹œ ๋ฐ ํ•™์Šต ํƒ€์ด๋จธ ๊ธฐ๋Šฅ ์ œ๊ณต
      • ๊ฑฐ๋ฆฌ ์„ผ์„œ: ์‚ฌ์šฉ์ž์˜ ์ฑ…๊ณผ์˜ ๊ฑฐ๋ฆฌ ๊ฐ์ง€ โ†’ ๋ˆˆ๊ณผ ์ฑ… ์‚ฌ์ด ๊ฐ„๊ฒฉ ์œ ์ง€ ์œ ๋„
      • LCD ๋””์Šคํ”Œ๋ ˆ์ด: ์‹œ๊ฐ„ยท๋‚ ์งœยทํƒ€์ด๋จธ ์ƒํƒœยท์Šต๋„ ์ •๋ณด๋ฅผ ์ง๊ด€์ ์œผ๋กœ ํ‘œ์‹œ
      • ์กฐ๋ช… ์ œ์–ด(์Šคํƒ ๋“œ LED): ๋ฒ„ํŠผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ๊ธฐ 3๋‹จ๊ณ„ ์กฐ์ ˆ ๊ฐ€๋Šฅ (PWM ํ™œ์šฉ)
      • ๋ชจ๋“œ ์ „ํ™˜ ๊ธฐ๋Šฅ: ๋ฒ„ํŠผ์„ ํ†ตํ•ด ํƒ€์ด๋จธ ๋ชจ๋“œ โ†” ๋‚ ์งœ ๋ชจ๋“œ ์ „ํ™˜
    • ๊ธฐ์ˆ : Arduino, C/C++, ์„ผ์„œ ์ œ์–ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ(DHT, Wire, DS1302, LCD I2C), PWM ์ œ์–ด, ๋””์ง€ํ„ธ ์ž…์ถœ๋ ฅ
    • ์„ฑ๊ณผ:
      • ๋‹จ์ˆœ ์กฐ๋ช… ๊ธฐ๊ธฐ๋ฅผ ๋„˜์–ด ์‚ฌ์šฉ์ž ํ•™์Šต ํšจ์œจ ๋ฐ ๊ฑด๊ฐ•์„ ๊ณ ๋ คํ•œ IoTํ˜• ๋…์„œ๋Œ€ ๊ตฌํ˜„
      • ๊ต๋‚ด Maker ๊ฒฝ์ง„๋Œ€ํšŒ ์ถœํ’ˆ, ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๋ฐ ํ†ตํ•ฉ ์ œ์–ด ๊ฒฝํ—˜ ํ™•๋ณด

๐Ÿ”น Web / App Development

  • ๐ŸŒ INU ์ •๋ณด๊ธฐ์ˆ ๋Œ€ ์ „์šฉ SNS โ€“ ESC ์†Œ๋ชจ์ž„ (ESC Club, 2024.09~2025.01)

    ๐Ÿ‘‰ํ”„๋ก ํŠธ์—”๋“œ ํŒ€์žฅ โ†’ UI/UX ์„ค๊ณ„, React ๊ตฌํ˜„, JWT ์ธ์ฆ, API ํ†ต์‹  / ๊ณต๋ชจ์ „ ์ถœ์ „
    • ์—ญํ• : ํ”„๋ก ํŠธ์—”๋“œ ํŒ€์žฅ
    • ๋‚ด์šฉ: ์ธ์ฒœ๋Œ€ ์ •๋ณด๊ธฐ์ˆ ๋Œ€ํ•™ ์žฌํ•™์ƒ/์กธ์—…์ƒ์„ ์œ„ํ•œ ์ „์šฉ SNS/์•ฑ ๊ฐœ๋ฐœ
      • UI/UX ์„ค๊ณ„: ์•ฑ ์ „์ฒด ํ™”๋ฉด ํ๋ฆ„ ๋ฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์„ค๊ณ„ (๋กœ๊ทธ์ธ, ํšŒ์›๊ฐ€์ž…, ๊ฒŒ์‹œํŒ, ๋Œ“๊ธ€, ์•Œ๋ฆผ ๋“ฑ)
      • ํ”„๋ก ํŠธ์—”๋“œ ๊ตฌํ˜„: React ๊ธฐ๋ฐ˜ ํŽ˜์ด์ง€ ์ œ์ž‘, ๋ฐ˜์‘ํ˜• ๋””์ž์ธ ์ ์šฉ
      • ์ธ์ฆ ๋ฐ ๋ณด์•ˆ: JWT ํ† ํฐ ๋ฐœ๊ธ‰ ๋ฐ ๊ฒ€์ฆ ํ๋ฆ„์„ ํ”„๋ก ํŠธ์—”๋“œ ๋‹จ์—์„œ ๊ตฌํ˜„ โ†’ ๋กœ๊ทธ์ธ/ํšŒ์›๊ฐ€์ž…/์ด๋ฉ”์ผ ์ธ์ฆ ์ฒ˜๋ฆฌ
      • ๋ฐ์ดํ„ฐ ํ†ต์‹ : Axios๋ฅผ ํ†ตํ•œ API ์—ฐ๋™, GET/POST ์š”์ฒญ ์ฒ˜๋ฆฌ, ์‚ฌ์šฉ์ž ์ •๋ณด์™€ ๊ฒŒ์‹œ๊ธ€ CRUD ๊ธฐ๋Šฅ ๊ตฌํ˜„
      • ํŒ€ ๋ฆฌ๋”ฉ: ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ํŒŒํŠธ ๋ฆฌ๋”ฉ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ ํ˜‘์—… ๊ด€๋ฆฌ
    • ๊ธฐ์ˆ : React, CSS ๋ชจ๋“ˆ, Axios, JWT ์ธ์ฆ, GitHub ํ˜‘์—…
    • ์„ฑ๊ณผ:
      • ์ •๋ณด๊ธฐ์ˆ ๋Œ€ ์†Œํ”„ํŠธ์›จ์–ด ๊ณต๋ชจ์ „ ์ถœ์ „
      • ์‹ค์ œ ์‚ฌ์šฉ์ž ์ค‘์‹ฌ์˜ UI/UX ์„ค๊ณ„๋ถ€ํ„ฐ ๊ตฌํ˜„, ๋ณด์•ˆ(์ธ์ฆ) ์ฒ˜๋ฆฌ, ๋ฐ์ดํ„ฐ ์—ฐ๋™๊นŒ์ง€ ํ”„๋ก ํŠธ์—”๋“œ ์ „๋ฐ˜์„ ๊ฒฝํ—˜
  • ๐Ÿƒ RUN ๊ธฐ๋ก ๊ด€๋ฆฌ Web (2024.11~2024.12)

    ๐Ÿ‘‰Flask + SQLite ๊ธฐ๋ฐ˜ ๋Ÿฌ๋‹ ๊ธฐ๋ก ์ €์žฅ/์กฐํšŒ โ†’ ์™ธ๋ถ€ API ์—ฐ๋™ ํ™•์žฅ
    • ์—ญํ• : ๊ฐœ๋ฐœ์ž
    • ๋‚ด์šฉ: ๋Ÿฌ๋‹ ๊ธฐ๋ก์„ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์™€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์›น์•ฑ ๊ฐœ๋ฐœ
      • DB ํ™œ์šฉ ์ค‘์‹ฌ: SQLite์— ์ €์žฅ๋œ ๊ธฐ๋ก ๋ฐ์ดํ„ฐ๋ฅผ Flask๋ฅผ ํ†ตํ•ด ๋ถˆ๋Ÿฌ์™€ ์›น ํ™”๋ฉด์— ์ถœ๋ ฅ
      • ๊ธฐ๋Šฅ:
        • ๊ฐœ์ธ ๊ธฐ๋ก ์ž…๋ ฅ โ†’ SQLite DB์— ์ €์žฅ
        • ๊ธฐ๋ก ์กฐํšŒ โ†’ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถˆ๋Ÿฌ์™€ ํ…Œ์ด๋ธ” ํ˜•์‹์œผ๋กœ ํ‘œ์‹œ
        • API ์—ฐ๋™: ์™ธ๋ถ€ API๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค์˜ ๋Ÿฌ๋‹ ๊ธฐ๋ก๊นŒ์ง€ ๋ถˆ๋Ÿฌ์™€ ํ•จ๊ป˜ ์กฐํšŒ ๊ฐ€๋Šฅ
      • ๊ตฌํ˜„ ํ๋ฆ„: DB ์—ฐ๋™ + API ํ™œ์šฉ์„ ํ†ตํ•ด ๋‹จ์ˆœ ๋กœ์ปฌ ๊ธฐ๋ก ๊ด€๋ฆฌ์—์„œ ํ™•์žฅ๋œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๊ตฌ์กฐ ์„ค๊ณ„
    • ๊ธฐ์ˆ : Flask, SQLite, HTML/CSS (๊ธฐ๋ณธ ํ”„๋ก ํŠธ์—”๋“œ ๊ตฌ์„ฑ), API ์—ฐ๋™
    • ์„ฑ๊ณผ:
      • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์™ธ๋ถ€ API๋ฅผ ๋™์‹œ์— ํ™œ์šฉํ•œ ์›น์•ฑ ๊ตฌ์กฐ ๊ฒฝํ—˜
      • ํ”„๋ก ํŠธ์—”๋“œ + DB ์—ฐ๋™ + ์™ธ๋ถ€ API ์‘๋‹ต ์ฒ˜๋ฆฌ๊นŒ์ง€ ํฌํ•จํ•ด ์‹ค์Šตํ˜• ํ’€์Šคํƒ ๊ฐœ๋ฐœ ๊ณผ์ • ์ฒดํ—˜
  • ๐Ÿ“… ๋นˆ์นธ๋งŒ๋‚จ web (2023.10~2023.12)

    Details

    ๐Ÿ‘‰์ผ์ • ์กฐ์œจ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋ฐœ โ†’ ๋ชจ์ž„์‹œ๊ฐ„ Top3 ์ž๋™ ์ถ”์ฒœ / ํ•™์žฅ์ƒ ์ˆ˜์ƒ(์šฐ์ˆ˜์ƒ) + ์ฝ”์—‘์Šค ํฌ์Šคํ„ฐ ๋ฐœํ‘œ
    • ์—ญํ• : ์ผ์ • ์กฐ์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ฐœ๋ฐœ
    • ๋‚ด์šฉ: ๋‹ค์ˆ˜ ์ธ์›์˜ ์‹œ๊ฐ„ํ‘œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž๋™์œผ๋กœ ๋ชจ์ž„ ์‹œ๊ฐ„์„ ์ฐพ์•„์ฃผ๋Š” ์›น ์„œ๋น„์Šค
      • ์‚ฌ์šฉ์ž ์‹œ๊ฐ„ํ‘œ๋ฅผ ๋น„๊ตํ•ด ๊ณตํ†ต ๊ฐ€๋Šฅํ•œ ์‹œ๊ฐ„๋Œ€๋ฅผ ์ž๋™ ํƒ์ƒ‰
      • ์ธ์›์ˆ˜ยท์กฐ๊ฑด(ํ‰์ผ/์ฃผ๋ง, ์ตœ์†Œ ์‹œ๊ฐ„ ๋“ฑ)์— ๋”ฐ๋ผ ์ตœ์  ๋ชจ์ž„ ์‹œ๊ฐ„ Top3๋ฅผ ๋žญํ‚น์œผ๋กœ ์ถ”์ฒœ
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋‹จ์ˆœ ํ•ฉ์ง‘ํ•ฉ/๊ต์ง‘ํ•ฉ ๊ณ„์‚ฐ์ด ์•„๋‹ˆ๋ผ, ์ฐธ์—ฌ์œจ์„ ๊ณ ๋ คํ•œ ๊ฐ€์ค‘์น˜ ๊ธฐ๋ฐ˜ ์ตœ์ ํ™” ๋ฐฉ์‹์œผ๋กœ ์„ค๊ณ„
    • ์„ฑ๊ณผ:
      • ํ”„๋กœ์ ํŠธ์˜ ํ•ต์‹ฌ ๋กœ์ง(์‹œ๊ฐ„ ์กฐ์œจ)์„ ๊ตฌํ˜„ํ•˜์—ฌ ํŒ€์ด ์™„์„ฑ๋„ ๋†’์€ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ฐœํ‘œํ•  ์ˆ˜ ์žˆ์—ˆ์Œ
      • ์ธ์ฒœ๋Œ€ํ•™๊ต ์ •๋ณด๊ธฐ์ˆ ๋Œ€ํ•™ ๊ณต๋ชจ์ „ ํ•™์žฅ์ƒ ์ˆ˜์ƒ
      • ์„œ์šธ ์ฝ”์—‘์Šค์—์„œ ํฌ์Šคํ„ฐ ๋ฐœํ‘œ ์ง„ํ–‰, ์—ฐ๊ตฌ ์„ฑ๊ณผ๋ฅผ ๋Œ€์™ธ์ ์œผ๋กœ ๊ณต์œ 

Popular repositories Loading

  1. gap-meet-server gap-meet-server Public

    Forked from Gap-Meet/gap-meet-server

    JavaScript

  2. opensw2023 opensw2023 Public

    C

  3. blink blink Public

    JavaScript

  4. RC_Car RC_Car Public

    ์ž„๋ฒ ๋””๋“œ ํ†ต์‹  ๊ณผ์ œ(RC์นด, ์กฐ์ข…๊ธฐ, ์ˆ˜์‹ ๊ธฐ ์ด์šฉํ•ด์„œ ์ œ์–ด) - ๋ฐ•์†Œ์œค, ๋ฐฐ๊ฒฝ๊ทผ

    Python

  5. third_impact third_impact Public

  6. METLAB_ESP32-cam_CSI METLAB_ESP32-cam_CSI Public

    ์•…์ฒœํ›„ ์‹œ ์ž์œจ์ •ํ™•๋„ ํ–ฅ์ƒ - csi ๋ฐ์ดํ„ฐ ํ™œ์šฉ ๋ฐ ํ•™์Šต

    Python