전부터 크로스 플랫폼에 관심이 많았지만 개인 시간에 공부를 하기가 쉽지 않아 한 달하고 보름정도 공부를 미루다 플러터 공부를 시작하게 되었다.어떤 방식으로 공부를 시작할지 고민을 많이 했고예전 책과 강의들은 새로운 플러터 버전과 많이 다르단 걸 듣고 최신 강의 위주로
java.lang.IllegalArgumentException: Navigation destination that matches request NavDeepLinkRequest{ uri=android-app://androidx.navigation/update/{"con
벨로그를 운영하면서 폰으로 급하게 내 벨로그를 확인해야할 일이 종종 있었다. 예를 들면 면접에 들어가기 전 내가 벨로그에 기록해놓은 면접 질문 목록을 본다던가, 이동하는 중에 유튜브나 인스타에서도 볼 게 없을 때 다른 사람이 올린 글을 구경하기도 했다. 이왕된거 Compose에서 지원하는 WebView를 이용해서 내 벨로그를 쉽게 들어올 수 있게 만들어...
LazyColumn이란? Compose를 이용해서 앱을 만들어가는 중에 XML Layout 에서 사용하던 RecyclerView를 사용해야 하는 상황이 생겼다. 내 Local DB에 저장된 데이터를 불러와 데이터의 수만큼 아이템을 만들어야 됐다. 아래와 같은 화면을
마지막으로 지금까지 만들었던 버스 도착 확인 앱에서 내가 즐겨찾기에 등록했던 노선 정보를 확인하는 갤럭시 워치 앱을 만들 차례이다. 먼저 Firebase에 관련 정보를 등록했으므로 폰과 워치간 BLE 통신 대신 워치 스스로 Firebase와 통신하여 내 즐겨찾기 노선을 불러올 생각이다. 화면은 간단하게 두 개를 만들 것이다. 로그인 화면 한 개 ...
Paging 3 라이브러리를 사용하면 로컬 저장소에서나 네트워크를 통해 대규모 데이터 세트의 데이터 페이지를 로드 하고 표시할 수 있습니다.이 방식을 사용하면 앱에서 네트워크 대역폭과 시스템 리소스를 모두 더 효율적으로 사용할 수 있습니다.Paging 3 라이브러리의
이번엔 Firebase를 이용하여 Serverless 하게 데이터를 저장하는 방법을 알아보려고 한다. 내 프로젝트와 Firebase를 연동하는 방법을 담은 글들은 많으니 바로 코드로 넘어가려고 한다. 시작하기 전에 Firebase에서 제공하는 서비스 중 Authentication과 Firestore Database를 사용할 예정이다. 내 버스 도착 정...
RecyclerView의 어댑터 인터페이스입니다. ListAdapter는 RecyclerView.Adapter를 상속받습니다. 기본적인 데이터 변경 관리를 쉽게 처리할 수 있는 특수한 유형의 어댑터입니다.ListAdapter는 Diffutil 클래스와 결합하여 데이터
F-Lab이란? 간단히 말하면 엄선한 현업 개발자들을 멘토로, F-Lab 코스에 지원한 지원자를 멘티로 해서 6개월 간 실력있는 개발자로 성장시키는 전형입니다. F-Lab 바로가기 F-Lab을 시작한 이유 원래 저는 시스템 엔지니어로 커리어를 쌓아가고 있었습니다. 데
전 회사에서 시스템 엔지니어로 일 했지만 만족도가 좀 낮았다.시스템 엔지니어 또는 데브옵스로 나아가고자 했지만 전 회사에서 코딩을 할 기회가 적어 고민이 많았기 때문이다.데브옵스 모집 공고에는 항상 '파이썬, Bash 스크립트로 자동화 코드 작성이 가능하신 분'이 들어
이번엔 카카오맵에 버스 정류장을 띄우고 그 버스 정류장의 고유 ID 값을 이용해 버스 도착 정보를 받는 기능을 구현하려고 한다. 공공데이터포털 공공데이터포털에서 사용할 API는 두 가지이다. 국토교통부(TAGO)버스정류소정보를 통해 버스 정류소 정보를 받아온다. 링
버스 정류장을 지도에 띄우기 위해 네이버 지도, 카카오맵, 구글맵 중 어떤 걸 사용할까 고민했다. 구글맵은 이전 프로젝트에서 사용해 봤기 때문에 이번엔 카카오맵을 사용해보았다. 카카오맵을 내 안드로이드 프로젝트에 띄우는 법은 많은 블로그에 글들이 있으니 이번엔 내가
스마트 폰으로 ChatGPT를 굉장히 자주 사용하는데 매번 인터넷을 들어가 chatGPT에 접속하는 게 귀찮아졌다. 안드로이드 웹뷰를 이용해 간단히 ChatGPT 앱을 만드는 방법을 공유하고자 한다. 1. 프로젝트 생성 원하는 앱 이름을 작성한뒤 Empty Act
안드로이드 개발자(신입) 기술 면접을 보면서 받았던 질문들을 정리해본다. Java 접근 제어자의 종류와 각 접근제어자에 대한 설명을 해주세요 private: 오직 선언된 클래스 내에서만 접근 가능합니다. default: 같은 패키지 내에서만 접근할 수 있습니다. pro
안드로이드에서 Repository pattern은 앱에서 데이터 소스를 추상화하여, 앱과 데이터 소스 간의 결합도를 낮추고, 코드의 유연성과 재사용성을 높이기 위한 디자인 패턴이다.이번에는 ViewModel에서 Repository를 사용하여 데이터를 가져와 뷰와 바인딩
개인정보분쟁조정위원회 : (국번없이) 1833-6972 (www.kopico.go.kr)개인정보침해신고센터 : (국번없이) 118 (privacy.kisa.or.kr)대검찰청 : (국번없이) 1301 (www.spo.go.kr)경찰청 : (국번없이) 182 (ecrm.
폰을 꺼낼 필요 없이 갤럭시 워치로 간단하게 버스 도착 시간을 확인하고 싶어서 프로젝트를 시작했다. UI가 굉장히 구리지만... 이렇게 만들었다 주소 검색 혹은 내 위치로 이동한 뒤 근처 정류장을 맵에 띄운다. 원하는 정류장를 선택하면 해당 정류장에 도착할 버스의
MVP와 MVVM의 차이점은 뭘까? >MVP 패턴은 Presenter를 통해 View와 Model 사이의 중간자 역할을 하는 방식으로 구현하며, 구성 요소 간의 의존성을 줄이고 코드 재사용성을 높인다. 하지만, View와 Model 사이의 의존성은 Presenter가 처리하기 때문에, Presenter의 복잡성이 증가하면 유지보수가 어려워질 수 있다. ...
MVP에 들어가기 전 MVC 패턴이란? MVC 패턴은 Model-View-Controller의 약어이며, MVP 패턴과 마찬가지로 애플리케이션을 세 가지 주요 컴포넌트로 분리한다. Model: 애플리케이션에서 사용되는 데이터와 비즈니스 로직을 담당한다. Model은
childFragmentManager Activity에서 Fragment와의 상호작용에선 supportFragmentManager를 사용하지만 F