본문 바로가기

전체 글94

Anaconda로 Jupyter Notebook 설치하기 Data Science 공부를 위해 개발 환경 세팅을 해두려고 한다. Python을 사용해서 진행할 계획인데, 학습 목적이니 좀 더 편하게 학습을 진행하고 기록해 두기 위해 Jupyter Notebook 환경을 구성한다. Jupyter Notebook Jupyter Notebook은 데이터 분석 및 머신러닝 분야에서 가장 인기 있는 도구 중 하나이다. Jupyter Notebook은 코드, 텍스트, 이미지, 그래프 등을 포함한 문서를 작성하고 공유할 수 있는 웹 기반의 대화형 개발 환경으로, 데이터 분석에 적합한 도구로 평가받고 있다. Anaconda 설치 데이터 분석 시에는 단순히 Python만 사용하는 것이 아니라 일반적으로 함께 사용하는 라이브러리들이 있다. 이런 것들과 Jupyter Noteboo.. 2023. 8. 10.
m1, m2 맥에서 Pod install 오류로 Flutter iOS 빌드 안 될 때 Flutter 프로젝트로 iOS 앱을 빌드할 때, m1, m2 맥 기기에서 오류가 발생하면 다음 방식으로 해결할 수 있다. Flutter 프로젝트 루트 경로에서 다음처럼 입력하면 된다. sudo arch -x86_64 gem install ffi cd ios rm -rf build rm -rf Pods rm -rf Podfile.lock rm -rf ~/.pub-cache/hosted/pub.dartlang.org pod cache clean --all flutter clean flutter pub get arch -x86_64 pod repo update arch -x86_64 pod install 매번 필요할 때마다 까먹어서 다시 찾아봐서 메모용.. 2023. 1. 28.
스타벅스 다이어리 - 2023 리추얼 플래너 스타벅스 다이어리 2023 리추얼 플래너 속지 종류별 사진 2022. 12. 10.
홈 브릿지로 샤오미, 삼성 IoT 기기들을 애플 홈에서 사용하기 IoT 기능을 지원하는 제품들이 많아지고, 다양한 회사에서 앱을 통해 IoT 서비스를 제공한다. 서로 클라우드 연동되어서 한 플랫폼에서 제어가 가능한 경우가 있지만, 그렇지 않은 경우도 있다. 삼성 가전 제품이나 SmartThings 기기들은 SmartThings 앱을 통해 제어가 가능하고, 샤오미(Xiaomi) 제품의 경우는 Mi Home이 제공된다. 둘 다 다른 IoT 플랫폼과 연동 가능한 경우가 있지만 애플 제품에서 사용하는 홈 앱에 정식으로 연동할 수 있는 기능은 없다. 이번 포스팅에서는 Homebridge를 통해 아이폰이나 맥북의 홈을 사용하여 삼성, 샤오미 IoT 기기를 사용할 수 있는 방법을 정리해본다. Homebridge Homebridge에 대해 설명을 간단하게 하려고 했는데, 홈페이지에.. 2022. 10. 10.
Android ViewModel에서 Context를 올바르게 사용하는 방법 MVVM 구조로 안드로이드 개발을 진행하다 보면, ViewModel이나 Model에서 Context가 필요한 경우가 있다. 하지만, ViewModel의 Lifecycle이 Activity나 Fragment의 Lifecycle보다 길기 때문에 Activity/Fragment의 context를 ViewModel이 참조하고 있으면 안 된다. 왜 안 되는지에 대한 이유와 어떻게 사용할 수 있을지에 대해 정리해본다. Lifecycle의 차이 예를 들면, 화면 rotation이 발생하면 Activity는 destroy되고 다시 생기는데, ViewModel은 이 경우에도 Activity가 완전히 종료되기 전까지는 유지된다. 그러므로 ViewModel이 Activity의 context를 받아서 계속 사용한다면, Act.. 2022. 8. 8.
나만의 날씨 앱 출시 iOS 앱스토어 : https://url.kr/qbadgo Android 구글 플레이 : https://url.kr/v5edu3 2022. 7. 15.
맥 미니 MacOS 화면 공유 맥 미니를 거실에 두고 GitHub CI/CD용 Runner와 서버 등의 목적으로 사용하고 있는데, 책상에서 사용하고 있는 맥북에서 이를 사용하고 싶은 경우가 자주 있다. 이를 위해서 애플에서 제공하는 화면 공유 기능을 사용할 수 있다. 화면을 공유할 기기 설정 A 기기의 화면을 B 기기에서 보고 싶은 경우, 먼저 화면을 공유할 A 기기에서 설정이 필요하다. 다음 순서대로 해주면 된다. 화면 공유를 체크해주면 끝이다. 연결 방법은 안내되는 것처럼 ip 주소를 이용해서 vnc 연결을 하거나 Finder를 통해서 할 수 있다. 화면을 볼 기기에서 연결 이번에는 화면을 실제로 볼 기기에서 어떻게 연결하는지이다. 방법은 두 가지가 있다. 화면을 볼 기기에서 연결 - 방법 1 [Cmd + 스페이스 바]를 통해 화.. 2022. 4. 3.
스마트 로또 앱 (로또 번호 추천, 관리, QR 등) [iOS] https://url.kr/3ltyxd [Android] https://url.kr/6i3x7s 2022. 4. 3.
GitHub Actions로 Flutter 앱 빌드하기 이번에 서버와 CI/CD 목적으로 사용할 맥 미니를 한 대 들였다. 먼저 간단하게 GitHub Actions를 사용해서 Flutter 앱 프로젝트를 빌드하고 잘 빌드가 되는지 정도만 테스트를 해본 내용을 남긴다. Self-hosted Runner 먼저, GitHub에서 제공해주는 Actions Runner를 사용할 수도 있는데 무료 버전의 경우 사용량 제한도 있고 맥 미니를 들였으니 다양하게 활용해보기 위해서 맥 미니로 GitHub Actions를 실행할 것이다. 이를 위해 GitHub Repository에서 Self-hosted Runner를 등록해줘야 한다. GitHub Actions를 사용할 Repository에 들어가서 Settings - Actions - Runners로 들어간다. 예전에 사용했.. 2022. 4. 3.
Git Commit Message Convention 우리는 개발을 하다보면 개인 개발을 하든 동료들과 함께 개발을 하든 자연스럽게 git을 쓰게 된다. 이때 commit 마다 메시지를 작성하는데, 이 메시지를 대충 쓰고 커밋을 대충 나누게 되면 혼자 개발하더라도 나중에 기록들을 봐야 할 일이 있을 때 가독성이 매우 떨어진다. 여러 사람과 함께 개발을 하는 경우라면 이런 현상이 더 심해지고 코드를 유지보수함에 있어서도 효율이 떨어진다. 커밋 메시지를 어떻게 작성할지 스타일을 정해둠으로써 이전의 커밋 로그들을 볼 때 가독성을 높일 수 있고, 유지보수도 더 수월하게 할 수 있다. 이뿐만 아니라 서로 코드리뷰를 할 때, 약속한 커밋 메시지 스타일을 통해 어떤 커밋인지 금방 이해하고 어떻게 코드 리뷰를 할지 방향을 잡을 수 있어서 코드 리뷰 측면에서도 도움이 된다.. 2022. 2. 3.
Flutter 위젯 생성 방법들, 유용한 플러그인/사이트 정리 플러터를 사용하여 어떤 식으로 앱을 만드는 지에 대해 정리해본다. Flutter로 앱을 만들 때 추가적으로 도움이 되는 플러그인과 웹사이트들도 정리하였다. UI를 구성하기 쉽고 잘 정리되어 있는 사이트들도 많아서 간단하게 정리해두고 시작하면 훨씬 수월하게 앱을 만들 수 있어 보인다. Flutter로 Widget을 사용하여 앱 만들기 플러터를 사용하여 어떤 식으로 앱을 만드는 지에 대해 정리해본다. Flutter로 앱을 만들 때 추가적으로 도움이 되는 플러그인과 웹사이트들도 정리하였다. UI를 구성하기 쉽고 잘 정리되어 있는 사이트들도 많아서 간단하게 정리해두고 시작하면 훨씬 수월하게 앱을 만들 수 있어 보인다. 위젯을 만드는 방법들 위젯을 만드는 경우 코드로 위젯을 만들어야 하는데, 결국 다 코드로 만들.. 2022. 1. 9.
Flutter 개념, 구조 및 장점 Flutter를 본격적으로 사용해보기 전에 Flutter가 어떤 것인지, 어떤 식으로 동작하는지와 장점에 대해 정리해본다. Flutter란? Flutter는 구글에서 2017년 5월에 출시한 모바일/웹/데스크톱 크로스 플랫폼을 위한 GUI SDK이다. 한 코드 베이스를 통해 모바일(iOS, Android), 데스크탑(MacOS, Linux, Windows), 웹 브라우저에서 모두 동작하는 앱을 만들 수 있도록 해준다. Dart라는 처음 들어볼 수 있는 언어를 사용하는데, Dart는 구글에서 2011년 10월에 공개한 언어이다. 원래는 개인적으로, 한 코드 베이스로 크로스 플랫폼 앱 개발하는 것을 싫어했다. 성능 저하도 있어 보였고 iOS, Android 각각의 고유한 유저 경험을 제대로 지원하지 못 한다.. 2022. 1. 6.