본문 바로가기
반응형

전체 글342

BLE 공부 - 기초 개념 ble 를 공부하기 위해 기초 개념을 llm을 통해 알아봄 📌 BLE 통신 구조 핵심 개념1. Central ↔ PeripheralCentral: 데이터를 요청하는 주체 (예: 스마트폰).Peripheral: 데이터를 제공하는 장치 (예: 심박계, 체중계, IoT 디바이스).BLE 통신은 일반적으로 Central이 Peripheral에 연결해서 데이터를 읽거나 쓴다.2. GATT (Generic Attribute Profile)BLE 데이터 전송의 기본 구조.GATT는 Central이 Peripheral로부터 데이터를 읽거나 쓰는 방식을 정의함.GATT는 서비스 (Service) 와 특성 (Characteristic)의 집합▶ Service관련된 데이터를 그룹화한 것.예: "Heart Rate Ser.. 2025. 4. 22.
vscode에서 flutter의 kotlin, swift 코드 환경 구성 1. 개요 플러터를 개발하는데 최고의 ide는 안드로이드 스튜디오라고 생각했다. 그런데 이제 다르다.. vscode의 자동완성 성능이 많이 좋아졌으며 플러그인을 통해 xcode와 android studio를 거의 대체가 가능한 수준으로 되었다. 2. 기본적인 환경구성 먼저 아래의 두 익스텐션이 필요하다 일단 두개를 설치해주자 3. 자동완성이 잘 되도록 하기 두 익스텐션을 설치해도 네이티브 코드를 만지다 보면 자동완성이 잘 되지 않는다. kotlin먼저 코틀린의 경우 하단에 스테이터스 바에 kotlin 언어버튼을 누른다. 그럼 audo detect가 뜨는데 이걸 자동완성 될 때 까지 여러번 갈겨준다.그러다보면 gradle 어쩌구 설정하시겠습니까 라는 알림창이 뜰때 ok를 눌러준다. 그 이.. 2025. 4. 15.
신촌 빛사랑안과 라섹수술 후기 1일차 라섹 수술을 받게되었습니다. 개발자로 일하면서 과로로 인해 요즘 눈이 너무 아프더라고요. 프로젝트가 끝나고 후딱 받으려고 빠르게 알아보다가 빛사랑 안과를 알게되었습니다. https://kko.kakao.com/P3mIMT_TLb 빛사랑안과의원서울 서대문구 신촌로 93map.kakao.com      1. 왜 이 병원을 선택하였는지, 그리고 라섹 먼저 시력 교정 수술을 하려면 라식, 스마일 라식, 라섹 중 무얼할지 선택해야겠지요. 제가 알아본 바로는 이렇습니다.  라섹 : 각막을 벗겨내고 레이저를 쏘고, 각막이 회복될댸 까지 기다림라식 : 각막을 뚜껑처럼 잘라 열고, 레이저를 쏘고, 각막을 다시 덮음스마일 라식 : 라식의 업그레이드 버전. 각막의 안쪽을 잘라내서 하는식으로 함 저는 여기서 라섹을 선택했습니.. 2025. 3. 22.
Row위젯에서 Text Overflow날 때 앱 막바지 출시 직전에 검토를 하다보니 연세가 있으신분들이 화면을 크게 키워서 overflow이슈가 마구 났었다.생각지도 못한 부분... 임원분께서 나같은 사람들은 어떻게 사용하라고 라는 말 한마디에 많이 반성했다.오버플로우 이슈를 수정하면서 한가지 플러터 꿀팁을 발견했다.  보통 나는 Row안에 좌측에 텍스트, 우측에 아이콘을 넣었는데 그사이에 spacer를 넣었다.  오버플로우 나는 지점이 다 저지점이더라Flexible Expanded 다 넣어봤는데 줄바꿈이 예상보다 심하게 일어난다. 결국에 해결했는데 가장 중요한 포인트는 Spacer를 쓰지 않는다는거다 Spacer를 쓰지 않고 Expanded로 텍스트를 감싸니 화면크기 키우는 이슈는 이쁘게 해결됐다.   고로 기억하자 좌측에 텍스트, 우측에 아이콘.. 2025. 2. 18.
GestureDetector 텅빈영역 터치 감지하기 플러터를 하다보면 터치를 주었는데 텅빈영역에서 터치가 안되어서 사용감에 불편을 주는 경우가 많다. 가령 spacer같은 애들... 이를 해결하려면 behavior에 opaque 옵션을 주면 된다.  GestureDetector( behavior: HitTestBehavior.opaque, // 빈 공간도 터치 감지 onTap: () { print("Tapped!"); }, child: Text("Tap me!"),), 2025. 1. 9.
ios에서 크래시가 났을때 분석방법 product -> scheme -> edit scheme에서 diagnostics탭에 Address Sanitizer를 클릭하면ASan이 돌게 된다. 이 옵션을 활성화 하면 앱이 죽었을 때 코드위치도 깔끔하게 나옴  https://developer.apple.com/documentation/xcode/diagnosing-memory-thread-and-crash-issues-early Diagnosing memory, thread, and crash issues early | Apple Developer DocumentationIdentify runtime crashes and undefined behaviors in your app during testing using Xcode’s sanitizer.. 2025. 1. 2.
dynamic사용시 주의점 네이티브에서 플러터쪽으로 함수를 호출했는데 불리지를 않는다. 함수 호출전 까지 갔는데 함수만 안불린다. 이해할수가 없는 현상.  원인은 dynamic이였다. 클래스 안에 있는 메소드에 dynamic을 인풋으로 넣었는데 타입이 안맞아서 함수를 못찾아 불리지 않았다. 별다른 로그도 없고 함수만 안불려서 도대체 뭔가 싶었는데 참 어려운 이슈였음.    따로 다트패드에서 다른방식으로 재현해보니 거긴 로그가 찍히던데 이상하네.. 2024. 12. 31.
bloc에서 copyWith을 직접만들면 안되는 이유 흔히보는 copyWith의 코드는 아래와 같다.이 코드의 문제점은 어떤 값을 명시적으로 null로 하고 싶은데 null이 되지 않는다.void main() { User user = User(name: "abc", age:34); print("${user.name} ${user.age}"); user.copyWith(name:null); print("${user.name} ${user.age}"); }class User { final String? name; final int? age; User({this.name, this.age}); User copyWith({ String? name, int? age, }) { return User( name: name .. 2024. 12. 30.
에디터 기능별 단축키 VS CodeAndroid StudioXcodejump to definitionf12cmd + bcmdcursor historyctrl + -, ctrl + shift + -cmd opt  generator cmd + enter wrap widgetcmd + .opt + enter auto completectrl + space ctrl + space multiple selectioncmd + dctrl + g find in filescmd + shift + fcmd + shift + f find filecmd + pshift shift find symbolcmd + shift + o(현재파일만)cmd + p 하고 #(전체파일)shift shift auto indentshift + opt + fcmd + .. 2024. 10. 7.
반응형