Blog
Thoughts, tutorials, and insights about web development, programming, and technology.
ESP32-S3 Secure Boot V2 + Flash Encryption
→ Mutex vs Semaphore — 차이와 선택 기준
→ 칼만 필터: 로우패스 필터와 뭐가 다른가
→ ROS2 DDS — 미들웨어 구조와 QoS 설정
→ ECDSA 서명
→ 프로토콜 설계 원칙
→ ESP32-S3 WiFi/BLE 공존 시스템 설계
→ P-256 타원 곡선
→ LE Secure Connections 페어링
→ BLE GATT Profile 설계
→ BLE 보안 연결과 페어링
→ 디지털 키 SE 키 라이프사이클: 생성, 프로비저닝, 공유, 취소
→ 베어메탈에서 임베디드 리눅스로
→ JTAG/SWD 디버깅
→ C CRC 계산 구현
→ C 패킷 프로토콜 파서
→ BLE IRK와 Resolvable Private Address
→ C 상태 머신 구현
→ C 링 버퍼 구현
→ 시스템 설계: BLE+UWB 차량 디지털 키
→ C 링크드 리스트 구현
→ NFC: NDEF, Tag 타입, Reader vs Card Emulation
→ Linux UART/SPI/I2C 드라이버
→ 스택 오버플로우 감지
→ FreeRTOS Semaphore, Mutex, Priority Inversion
→ Linux 크로스 컴파일
→ 메모리 풀: 고정 크기 블록 할당
→ FreeRTOS Queue와 ISR 패턴
→ Linux Kernel Module
→ 임베디드 메모리 할당: Static vs Dynamic
→ FreeRTOS Task와 스케줄링
→ 인터럽트 처리 패턴: ISR 최소화, deferred processing, DMA
→ Linux Device Tree
→ SDV에서 디지털 키 구현 구조
→ 펌웨어에서 C vs C++ 프로젝트 구성 비교
→ Matter: Thread 기반 구조와 Commissioner, 생태계 연동
→ BLE 멀티 클라이언트 대응
→ UWB 정밀 측위 원리
→ BLE 연결 파라미터 제어와 WiFi 공존 설정
→ BLE 이벤트 로깅을 FreeRTOS 큐로 비동기 처리하기
→ BLE 상태 전송을 Provider 패턴으로 구성하기
→ BLE GAP/GATT 구조
→ BLE RSSI 기반 PHY 자동 전환
→ ESP32 BLE 스택을 OTA 시 해제하고 복원하기
→ BLE 하드웨어 구조
→ [BOJ 1516] 게임 개발
→ [프로그래머스 72413] 합승 택시 요금
→ [프로그래머스 12978] 배달
→ Floyd-Warshall 알고리즘 정리
→ [프로그래머스 49191] 순위
→ [프로그래머스 49189] 가장 먼 노드
→ Hierholzer 알고리즘: 오일러 경로/회로
→ [프로그래머스 43164] 여행경로
→ [프로그래머스 43163] 단어 변환
→ BFS에서 visited를 push할 때 찍어야 하는 이유
→ [프로그래머스 1844] 게임 맵 최단거리
→ [프로그래머스 43162] 네트워크
→ [프로그래머스 43165] 타겟 넘버
→ [프로그래머스 42747] H-Index
→ C++ sort 정리: 람다, 오름차순, 내림차순
→ [프로그래머스 42746] 가장 큰 수
→ [프로그래머스 42748] K번째수
→ C++ 이터레이터 정리
→ [프로그래머스 42628] 이중우선순위큐
→ [프로그래머스 42627] 디스크 컨트롤러
→ [프로그래머스 42626] 더 맵게
→ [프로그래머스 42584] 주식가격
→ [프로그래머스 42583] 다리를 지나는 트럭
→ [프로그래머스 42587] 프로세스
→ [프로그래머스 42586] 기능개발
→ [프로그래머스 12909] 올바른 괄호
→ [프로그래머스 12906] 같은 숫자는 싫어
→ [프로그래머스 42579] 베스트앨범
→ [프로그래머스 42578] 위장
→ [프로그래머스 42577] 전화번호 목록
→ [프로그래머스 42576] 완주하지 못한 선수
→ [프로그래머스 1845] 폰켓몬
→ Automating Portfolio Writing with a 4-Agent Pipeline
→