전체 글 (255) 썸네일형 리스트형 C: designated initializer # Array # Structure # 초기화 Designated initializers in C are a feature that allows you to set the values of specific elements in an array or fields in a structure in any order during initialization, and are particularly useful for initializing structures and arrays with clear, readable code. This feature is part of the C99 standard and later.Basics of Designated InitializationWith designated initializers, you can specify w.. Bluetooth: GATT Server vs Client ESP32 example에서 GATT Server와 Gatt Client 예제가 있다.GATT에서의 Server와 Client의 개념이 와닿지가 않았는데, GATT Server는 GATT와 관련된 정보와 서비스를 저장하고 있어서, 해당 디바이스와 연결된 client에게해당 서비스(와 정보)를 제공해주는 역할이다. GATT Client는 GATT Server에 연결되어 GATT Server에서 제공해주는 서비스를 이용할 수 있는 client 블루투스 키보드를 만들고, 해당 블루투스 키보드를 컴퓨터와 연결하여 사용한다면,블루투스 키보드: GATT Server컴퓨터: GATT Client 아래는 ChatGPT 설명 YouIn the ESP32 documentations, I saw that GATT Serve.. C: union # struct union - 다양한 타입의 변수를 담을 수 있다. - * 메모리를 공유한다. union 내에 선언된 가장 큰 변수 타입의 크기만큼을 메모리로 할당 받고, 이 메모리를 union 내의 변수들이 공유 -> 값이 덮어 씌여진다. - struct와 모양은 유사하나 각 변수들이 메모리 공간을 개별로 할당 받는 것이 아니라, 선언되는 변수가 그 메모리 공간을 차지하게 된다. - 메모리를 효율적으로 사용해야되는 상황에서, 배타적으로 사용될 변수들을 정의할 수 있는 경우에 유용 아래는 ChatGPT 설명 es, the C programming language includes a data type known as a "union." A union is a special data ty.. usbipd: WSL2에 USB port 인식 시키기 ---- WSL2 에 USB port 인식 시키기 ----기본적으로 USB port가 Windows에서만 인식이 되는데, WSL 환경에서 USB port를 인식시켜주기 위해 아래와 같은 작업이 필요하다. 1. 오픈소스 프로젝트 usbipd-win 설치Windows 11 실행(빌드 22000 이상) (Windows 10 지원 가능)x64 프로세서가 있는 컴퓨터가 필요합니다. (x86 및 Arm64는 현재 usbipd-win에서 지원되지 않습니다).WSL이 설치되고 최신 버전으로 설정됩니다.Linux 배포판이 설치되고 WSL 2로 설정됩니다. 설치 페이지: https://github.com/dorssel/usbipd-win/releases usbipd-win_VERSION.msi .. FastAPI + Pydantic: 데이터 검증 ORM-DTO # model_validate # from_attributes FastAPI에서 데이터 검증을 위해 Pydantic을 주로 사용. Pydantic을 통해 검증을 하는 과정에서 ORM 객체를 DTO로 변환하는 과정을 살펴보자. 1. FastAPI의 request body와 response model request에서 어떠한 속성을 받을것인지는 router함수 안에 Body를 통해 정의. * 예시코드 from fastapi import APIRouter, Body router = APIRouter() @router.post("/test") async def api_test( name: str = Body(...) ) pass * Pydantic으로 모델 클래스를 만들어서 데이터 검증을 거치고, Depends로 의존성함수를 주입해서 관리할 수 있다. (가독성, 독립성 유.. git: cherry-pick by range # cherry-pick을 범위로 가져오기 1. 특정 브랜치의 첫 커밋(Head)부터 N번째까지 있는 N개의 커밋을 cherry-pick - 특정 브랜치의 name: dev 이라 할 때, 범위 지정: branch_name~N..branch name git cherry-pick dev~N..develop 2. 커밋 HASH ~ 커밋 HASH 범위의 commit들을 cherry-pick - HASH1~HASH2 까지의 커밋을 가져오기 - HASH1이 더 아래에 있는 과거 커밋 - HASH1, HASH2를 포함해서 cherry-pick git cherry-pick HASH1^..HASH2 3. 커밋 HASH ~ 그 커밋이 위치한 브랜치의 첫 커밋까지 cherry-pick - 커밋 HASH: HASH1 - 그 커밋이 위치한 브랜치: dev git che.. Python: None and False / False and None / None or False # bool 일반적인 프로젝트 내에서 None and False 라는 코드를 하드코딩으로 직접 작성하는 경우는 거의 없을 것이다. 그러나, 넘어온 변수가 의도치 않게 None으로 넘어온 경우 위와 같이 None and False 등의 상황이 벌어질 수 있다. 그리고 이 결과값을 변수로 받은 후에 로직 상에서 처리가 되는 경우 None이냐 False냐에 따라서 다르게 동작하기도 하고, 특히 Pydantic으로 데이터 타입을 검증할 때 에러가 발생하기도 한다. 1. None and False -> None False and None -> False ---> and 연산일 경우 단락평가(short circuit evaluation)에 따라서 None, False가 앞에 있으면 앞부분만 보고 판단 단, 그 판단된 결과가 무.. ESP32: RTC and Low power mode https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf 3.3 RTC and Low-power Management 3.3.1 Power Management Unit (PMU) With the use of advanced power-management technologies, ESP32 can switch between different power modes. • Power modes – Active mode The chip radio is powered up. The chip can receive, transmit, or listen. – Modem-sleep mode: The CPU is operational .. 이전 1 ··· 8 9 10 11 12 13 14 ··· 32 다음