전체 글

매일 조금이라도 꾸준히 성장하고 싶은 개발자
코딩 배경 fireStore로부터 주소 데이터를 패치하여 CoreLocation 프래임워크의 메소드를 사용해 좌표 데이터로 변환하는 코드를 작성하였습니다. trouble 정의 주소 데이터를 좌표 데이터를 변환하기 전 주소 데이터를 사전에 받아 놓고 있어야한다. 하지만 네트워크 문제로 인해 데이터를 패치하기 이전 UI를 변경하기 때문에 값이 없는 nil값으로 UI를 처리하게 되고 문제가 발생하게 됩니다. trouble shooting 위의 문제를 해결하기 위해서 정상적으로 주소 데이터를 받은 후에 좌표 데이터로 변경하는 작업을 비동기적으로 처리해야합니다. 다시 말해, UI를 업데이트하는 시점 이전 정상적으로 주소 데이터를 패치 후에 진행합니다. 주소(String) 데이터를 좌표(CLLocationCoord..
프로젝트 시작을 하기 전 클라우드 서버의 데이터에이스가 필요하였고, firebase에서 제공하는 데이터베이스 realtime database와 firestore 둘 중에서 어떤 데이터베이스를 사용해야할지 고민하였고 둘의 차이점을 궁금해하기 시작하였습니다. 오늘은 이 둘의 차이점을 알아보는 시간을 가져보도록하겠습니다. Realtime Databse 데이터 모델 realtime database는 데이터를 하나의 큰 "JSON" 트리로 저장합니다. 데이터의 구조가 복잡하지 않아 데이터의 저장이 쉽고 처리가 빠르다는 장점이 있습니다. 쿼리 realtime database 같은 경우 쿼리의 기능이 제한적입니다. 기본적으로 정렬과 필터링 기능을 제공하지만 이 두 기능을 동시에 사용할 수는 없습니다. 그리고 데이터 ..
· Git 🐈
오늘은 git을 사용하고 있지만 "git add", "git commit", "git push"는 구체적으로 무엇을 위한 명령어인지 생각해보고 사용하지 않아서 이번 기회에 확실하게 개념을 정리하고자 합니다! git 구조 git add git add [기록을 남기고 싶은 파일명] git add는 add 뒤에 오는 수정된 파일들을 staging area(index area라고도 불림)로 옴기기 위한 명령어입니다. staging area는 commit 이전에 기록을 남기고 싶은 관련된 파일들을 저장하는 공간입니다. 수정된 파일을 staging area로 옴기는 행위 == staging git commit git commit -m "commit 메시지" commit은 repository(저장소)에 staging..
· Swift🐤
코딩테스트를 준비하기 위해 문제를 푸는 과정이었습니다. 이때 당시에만 해도 저는 python에서의 tuple은 리스트와 같이 연속되는 값의 묶음이고 리스트와 다르게 한번 생성된 후 값의 변경이 불가능하다고 생각하였고 swift 역시 같은 속성을 가진다고 생각하였습니다. 문제를 푸는 과정에서 좌표를 나타내는 정보를 (x: Int, y, Int)와 같이 tuple 형식으로 나타내려고 하였지만 코드가 진행되는 과정에서 좌표의 값이 변경해야한다는 점을 고려해서 tuple을 사용하지 않았습니다. 어 뭐야?? tuple에 저장되었던 값이 변경이 되잖아?!?! python에서 tuple 타입의 변수값 변경 코드 # 튜플 선언과 초기화 my_tuple = (1, 2, 3, 4, 5) print(my_tuple[0]) ..