daino_saur
article thumbnail
성급한 최적화는 모든 죄악의 근원이다.
Start-up 2023. 8. 6. 23:06

어느덧 앱을 만들기 시작한 지 2달이 되어간다. 기획부터 개발까지 모든 것을 다 내가 만드는 것은 처음이라 욕심이 생겼다. 그러다 보니 기능 구현을 다하기 전부터 다른 것들을 신경 쓰이게 되었다. 애니메이션에 신경 쓰이게 되고, 굳이 필요 없는 소셜 로그인을 추가하고, 구현하기 쉬운 구글 지도 대신 어렵게 돌고 돌아 네이버 지도로 구현했다. 그러다 보니 생각했던 개발 기간보다 점점 늦어지게 되었다. 그러던 중 노마드맵 모임에 자주 오시는 시니어 개발자 분에게 이런 것을 만들고 있다고 이야기했다. 무려 CTO까지 하셨던 그분이 하셨던 이야기가 이 글에 제목이다. 성급한 최적화는 모든 죄악의 근원이다. 지도를 구글을 쓰든 네이버를 쓰든, 소셜 로그인이 있든 이메일 로그인만 있든, 어차피 고객들이 사용 안 해..

article thumbnail
깃허브 데스크탑[GitHub Desktop] 가이드
프로그래밍/Git&GitHub 2023. 8. 6. 21:49

Background 개발자라면 깃허브를 다들 아실 것이다. 깃허브는 주 기능은 작성한 소스 코드를 저장하고 공유할 수 있는 저장소를 제공하는 서비스이다. 이런 깃허브에 작성한 코드를 올리는 것은 매우 단순하지만 매우 귀찮다. 코드를 저장소에 올리는 려면 깃허브 저장소를 만들고 내가 사용할 컴퓨터 파일을 저장소에 추가한 뒤(add) 내가 올릴 파일들을 지정 후(commit) 파일을 올릴 수 있다.(push) 이렇게 파일을 push 하는 것을 하루에도 몇 번씩 할 때가 많은데 이렇게 귀찮은 과정을 좀 더 쉽게 해결해 주는 것이 있는데 그게 바로 GtiHub Desktop이다. GitHub Desktop 깃허브 데스크톱은 깃허브에서 제공하는 툴이다. 오늘은 깃허브 데스크톱을 이용해 저장소를 추가하고 파일을 올..

article thumbnail
플러터[Flutter] 패키지 이름 변경(change_app_package_name)
프로그래밍/Flutter 2023. 8. 6. 00:38

Background 어플의 모두 완성하고 출시하려면 구글 플레이와 아이폰 앱스토어에 심사를 요청해야 한다. 이때 함께 제출해야 하는 것이 앱에 고유한 패키지 이름이다. 기본적으로 패키지 이름은 com.example.(프로젝트이름) 으로 지정되어 있다. android/app/build.gradle 만약 이 이름이 고유하지 않고 중복이 된다면 심사가 거절됨으로 항상 출시 전에 확인을 해야 한다. 오늘은 이런 패키지 이름을 Android/Ios 별로 변경하는 법을 알아보겠다. Android 시작에 앞서 패키지 이름변경을 도와주는 change_app_package_name라는 패키지를 다운로드하여준다. dev_dependencies: change_app_package_name: ^1.1.0 change_app_..

article thumbnail
플러터 [Flutter] 플랫폼(Platform) 분기처리 방법
프로그래밍/Flutter 2023. 8. 4. 18:03

오늘은 플러터에서 플랫폼 위젯을 통해 Andorid, Ios을 분기처리를 하는 방법에 대해 알아보겠습니다 사전배경 여기 두개의 스위치가 있습니다. 위에는 안드로이드의 Meterial 디자인이고, 아래는 Ios의 Cupertino 디자인이다. Platform 사용 만약 사용자가 사용하는 플랫폼별로 원하는 스위치를 보여주려면 어떻게 할까? 바로 Platform을 활용해 주는 것이다. Platform을 입력 후 콤마(.)를 찍고 원하는 플랫폼을 선택한다. 이후 QQ Operator을 사용하여, Ios 일때는 CupertinoSwitch를 Android 일때는 기본 Material Switch를 사용하겠다. 이후 플랫폼별 실행을 해보면 각각에 플랫폼에 맞게 Switch가 보이게 된다. Android 결과화면 I..

article thumbnail
개발 공부 어떻게 할까?
Start-up 2023. 7. 30. 18:52

23년 상반기가 벌써 지났다. 오늘은 내가 개발을 공부하고 있는 방법과 앞으로의 방향을 정리하는 글을 써보겠다. 개발 실력 올리기 위해 1. 모르는 부분 메모하기 - 틈날 때 찾아보기 - 이해 안 되는 부분 정리하기 2. 검색하는 능력 키우기 (구글링) 3. 10분 배운 뒤 10분은 코드 혼자 쳐보기 구글링의 중요성 스스로 학습하는 개발자가 되어야한다. 1. 단어 단위로 검색 - [플랫폼] [언어] [기능 혹은 배울 것] 2. 최신순으로 보기 3. 댓글까지 디테일하게 보기 - 해결책에 대한 평가 혹은 피드백 확인 4. 공식문서 확인 - 가장 정확한 자료 & 심화학습 (스택오버 플로우, 미디엄, 깃) 5. 깃허브 참조 - 다른 사람들이 어떻게 구현했는지, 공식 깃에서는 어떻게 구현했는지 확인하기 6. Aw..

article thumbnail
스위프트 [Swift] 옵셔널(Optional) 정리
프로그래밍/Swift 2023. 7. 30. 11:33

옵셔널이란? 변수를 선언하고 값을 지정하지 않으면 오류가 난다. -> 이것을 방지하기 위해 옵셔널 등장 옵셔널 타입이란? 값이 없을 수도 있는 경우를 포함하고 있는 임시적 타입 옵셔널 값 사용법 var id: Int? = 3 var password: Int? print(password) //nil 모든 타입 뒤에?(물음표)를 붙이면 옵셔널 타입이 된다. 값이 없어도 되는 타입이므로 값이 없어도 괜찮다. 값이 없을 시는 nil로 자동 초기화가 된다. nil이란? 값이 없음을 나타내는 키워드(0이 아니다.) 옵셔널 값 추출 옵셔널 타입에 값은 옵셔널로 감싸져 있으므로 값을 추출 (unwrapping) 해야 한다. 옵셔널 값을 추출하는 방법 강제로 값을 추출(Forced Unwrapping) 옵셔널 값이 ni..