본문 바로가기
반응형

전체 글338

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.
flutter gpu 예제 분석 https://github.com/bdero/flutter-gpu-examples GitHub - bdero/flutter-gpu-examplesContribute to bdero/flutter-gpu-examples development by creating an account on GitHub.github.com https://medium.com/flutter/getting-started-with-flutter-gpu-f33d497b7c11       flutter에서 gpu 코드 지원이 가능해졌다고 한다. 관련 내용에 대한 공식사이트 블로그를 보고 예제가 작동이 안되어서 작성자의 깃허브에 들어가 예제코드를 보고 분석하기로 하였다.   간단한 잡지식들GPU 사용법인 초보인 나에게 대충 돌아가는 원리를.. 2024. 9. 11.
맥북에서 LLaMa 파인튜닝 하는방법 하루종일 튜닝방법 찾고 고생하다가 nvidia gpu가 없으면 안되는 이슈를 겪고 포기하던 찰나 애플의 mlx 프레임워크를 사용하고 해결했다. 진짜 애플님들께 감사드린다. 라마 튜닝은 맥북에서 정말 미치도록 쉽다 mlx는 대충 애플실리콘 잘돌아가게 만든 pytorch라고 생각하면 된다. 사용법은 파이토치와 완전 똑같다. 함수이름만 다름.    1. 초간단 개념 정리 llm을 파인튜닝할 때 보통 lora라는놈을 이용한다 이 lora는 모델 자체를 변형시키지 않고, 모델이 어떻게 변해야되는지에 대한 데이터를 내놓는다. 그걸 adapter라고 한다 그리고 adapter와 기존 모델을 fuse 하면 새로운 모델이 나온다.    2. 설치pip install mlx mlx-lm   3. config.yaml 파일.. 2024. 9. 9.
파이토치 큰그림 정리 회사에서 해커톤 대회에 출전할 때 텐서플로우로 이미지 분류를 써본적이 있다.  이번에도 다시 ai를 쓸 일이 있어서 이번에는 파이토치로 도전해보게 되었다. 매번 까먹고 다시공부하고 해서 이번에는 간단히 정리하려 한다    1. 큰그림에서 돌아가는 구조 우리가 일반적으로 아는 인공지능 트레이닝은 흔히 생각하는 신경망 구조를 만든뒤 데이터 넣어주는 작업이다.여기서 막막한 부분은 신경망을 어떻게 구성하고 짜야하는가 인데, 결국 trial and error다. 아무도 모르다는거임 이것만 기억하고 가면 된다.   2. 키워드 한줄요약으로 외우자 텐서 : 인공지능의 넘파이배열 같은거임. 데이터 단위CNN : 이미지 분류같은 2차원에 사용되는 신경망RNN : 1차원에 사용되는 신경망히든레이어 : 신경망 구성할때 세로.. 2024. 9. 5.
연속적인 애니메이션을 만드는 방법 1. Interval을 이용하는 방법 CurvedAnimation을 만들 때 Interval값을 주면 Parent 의 애니메이션 기간에 어떤 부분에서 애니메이션이 실행되고 종료될 지 결정할 수 있다.  2. TweenSequence를 이용하는 방법 https://api.flutter.dev/flutter/animation/TweenSequence-class.html TweenSequence class - animation library - Dart APIEnables creating an Animation whose value is defined by a sequence of Tweens. Each TweenSequenceItem has a weight that defines its percentage .. 2024. 8. 22.
반응형