728x90
반응형
- [ Android ]Clean Architecture를 이해하기 위해 알아보는 SOLID 원칙2023-03-07 14:44:16들어가며 Clean Architecture와 함께 등장하는 MVP, MVVM 패턴 나는 이전에 MVVM 패턴을 적용하면 클린 아키텍처를 구현한 것이라고 착각했었다. 클린 아키텍처 == MVVM 패턴 이렇게 생각했다는 의미다. 그리고 앱을 만들어서 그냥 돌아가기만 하면 되는데 왜 굳이 초기 비용을 들여가면서 좋은 설계를 해야만 하는가에 대한 이유를 찾아다녔다. 그런데 생각해보면 이는 당연하다. 다들 내진 설계 잘된 집에서 살고 싶겠지? 냅다 빨리 지은 건물에서 살고 싶겠냐구... 무슨 일이 생길 줄 알고 ㅋㅋ 각설하고, MVP, MVVM 패턴들은 클린 아키텍처 구현을 구현하는 방법 중 하나이지 그 자체로 클린 아키텍처라고 볼 수 없다. 클린 아키텍처를 이해하기 위해 필수로 선행되어야 하는 SOLID 원칙에..
- [ Do what you want/WW ][Android] 공유하기 기능 추가하기 | Firebase Dynamic Links2023-03-06 18:27:38상황 메인 화면에서 공유하기 버튼을 클릭하면 다음과 같이 ShareSheet가 뜨고, 공유했을 때 앱이 실행되거나 설치 되지 않은 경우 설치 화면으로 이동할 수 있도록 해주려고 한다. Firebase Dynamic Link 앱 설치 여부와 상관 없이 여러 플랫폼에서 원하는 대로 작동하는 링크 관련 검색을 해보다 ‘동적 링크’라는 것을 알게 되었다. 그러니까, 해당 링크를 실행하는 플랫폼이 무엇이든 거기에 맞는 환경을 제공할 수 있는 것이다. 원리 동적 링크를 만들기 위해서는 Firebase Console, REST API, iOS 또는 Android Builder API 를 사용하거나 앱에 지정된 도메인에 동적 링크 매개변수를 추가하여 URL을 생성하면 된다. 이때 매개변수에는 사용자의 플랫폼 및 앱 설..
- [ Android/Android ]내 프로젝트와 Firebase 연동하기2023-03-06 18:25:151. Firebase 사이트로 이동한다. 링크 2. 시작하기를 누른다. 3. 프로젝트 만들기를 클릭한다. 4. 프로젝트의 이름을 입력한다. 각 화면의 안내에 따라 프로젝트를 생성하면 된다. 5. 프로젝트 생성이 완료 되었으면 firebase를 추가한다. 연결하려는 프로젝트는 Android App이기 때문에 해당 아이콘을 눌러준다. 5-1. 앱 등록 화면 패키지 이름 : 해당 프로젝트의 패키지 이름을 넣으면 된다. AndroidManifest.xml 에서도 확인할 수 있다. 5-2. 구성 파일 다운로드 후 추가 화면 안내하는 대로 따라하면 된다. 5-3. Firebase SDK 추가 프로젝트 수준 build.gradle buildscript { ext.kotlin_version = "1.6.10" repo..
- [ pinslog ][일기] 그동안의 근황 | 두달동안 iOS 공부한 후기2023-03-05 18:27:51근황 나는 안드로이드 개발자다. 1년 정도를 안드로이드 개발자로 일했고, 성장에 대한 목마름으로 회사를 나와 회사에서는 써볼 수 없었던, 몰랐던 것들에 대한 공부를 진행하며 다음 회사를 찾고 있었다. 그렇게 한 회사에 지원을 하게 되었고, 면접을 보게 됐다. 회사에서는 '안드로이드로 공고를 올렸지만, iOS 개발자를 우선으로 찾고 있다.' 고 말했다. 그러면서 iOS를 공부해 볼 의향이 있냐고 물었다. 난 안드로이드 이전에 모바일 개발 자체에 뜻이 있던 사람이었기 때문에 '그렇다.' 라고 대답했다. 그렇게 최종합격을 하고, 자신들의 사정 때문에 두달 뒤인 3월에 출근해줄 것을 부탁하며 그동안 iOS 공부를 해줄 것 또한 부탁했다. 두달이면 (자발적인) 취준생으로 지내기 너무 긴 시간이었지만, 회사에서 내..
- [ iOS ][SwiftUI] 인스타그램 UI 클론 코딩22023-02-06 22:35:04🚫 No ObservableObject of type FeedStore found. A View.environmentObject(_:) for FeedStore may be missing as an ancestor of this view. @EnviromentObject 어노테이션을 사용하면 별도의 초기화 없이 바로 해당 객체를 사용할 수 있다. 그러나 이건 자동으로 생기는 것이 아니라, 어딘가에서 생성(인스턴스) 시켜줘야하는 거다. 해당 뷰의 조상에서 인스턴스를 생성해줘야 한다는 의미 같은데 현재 나는 FeedView에서 데이터를 사용하고 있다. FeedView의 조상은 MainView, MainView의 조상은 InstagramMainView 이다. 따라서 InstagramMainView 에서 인스턴..
- [ iOS ][SwiftUI] 인스타그램 UI 클론 코딩2023-02-03 23:13:30그동안 Swift와 SwiftUI(이하 스유)에 대해 알아보는 시간을 가졌다. 그러나 백문이불여일코...!!! 직접 해보는 것만큼 좋은 공부가 어디 있겠는가? 그래서 일단 스유에 익숙해지기 위해 클론 코딩을 해보기로 했다. 따라서 이 글은 정보성이기 보다는...그냥 내 삽질노트 같은 거다. * 잘못된 정보가 다수 포함되어 있을 수 있음 * 원본 *참고 : 하단의 댓글 달기..부분은 구현하지 않았다. 인스타그램의 모든 화면을 다 만들면 시간이 없으니까 일단 메인화면만 만들어보겠다. 완성본 하단 네비게이션 만들기 스유에서는 TabView로 바텀 네비게이션 뷰를 구현할 수 있다. 각 ChildView 를 먼저 만들고, 각 ChildView를 TabView안에 감싸주면 된다. 아이콘은 그냥 SF Symbols에..
- [ iOS ][iOS] 라이브러리 설치하기2023-01-21 00:41:16iOS 개발을 위한 라이브러리를 설치해보자. 안드할 때는 build.gradle에 추가를 해주면 됐다. 찾아보니 iOS는 CocoaPods를 주로 사용하는 것 같더군 CocoaPods 애플 플랫폼 개발 시, 외부 라이브러리를 관리하기 쉽게 도와주는 의존성 관리 도구 다른 것에는 Carthage, Swift PackageManager 가 있다고 한다. CocoaPods 설치하기 터미널에서 sudo gem install cocoapods 을 입력한다. cocoapods의 버전을 확인하려면 pod --version을 입력하면 된다. 설치가 완료되면 해당 프로젝트로 이동한다. pod init 를 입력하고 실행하면 Podfile이 생기는 것을 확인할 수 있다. 라이브러리 추가하기 Podfile을 열면 다음과 같이..
- [ pinslog/Log.daily() ][etc.] Xcode에 GitHub remote 추가하기 | GitHub access token 발행하기2023-01-18 23:13:02Xcode에 GitHub 계정 추가하기 Xcode Preferences - Accounts - + - GitHub 선택 계정과 GitHub Access Token 을 입력 Github Access Token 발급받기 깃허브 로그인 후 Settings Settings 페이지 하단에 Developer settings 클릭 Personal access tokens 클릭 생성 진행 Xcode에 remote 추가하기 Xcode 네비게이션에서 아래 항목(로컬 체인지) 클릭 - Repositories 새로 레포를 파거나, 이미 있는 레포를 추가하기 Add Existing Remote 를 클릭한 경우 Location에 git 주소를 입력 (Remote Name은 자동으로 생성됐던 것 같다) Xcode에서 push 하기..
728x90
반응형