본문 바로가기

✏️

(59)
Flutter Asset Catalog 1부: 설계하기 모바일 앱 개발을 하면, 한번 쯤 고민해보게 되는 항목이 있습니다. 바로 "Asset을 어떻게 관리할까?"에 대한 고민인데요. Asset은 폰트, 색상, 이미지와 같이 컴포넌트를 구성하기 위해 필요한 디자인적 요소를 뜻합니다. 아름다운 앱을 만들기 위해서는 이러한 Asset들을 잘 활용하는 것이 필수적입니다. 디자이너와 협업을 한다면, 디자인 프로토타이핑 툴(Figma, Sketch, Zeplin)을 사용해서 소통을 합니다. 보통 디자인 시스템을 미리 디자이너가 정의를 하고, 이에 맞춰 앱을 구상하게 되는데 우리는 여기서 이러한 디자인 시스템을 어떻게 앱에 잘 녹여낼지에 대한 고민을 한번 쯤 하게 됩니다. 그래서 오늘, Flutter 엔진에서 이러한 Asset들을 관리하는지에 대해서 이야기 하고자 합니다..
[iOS] RxSwift Repository pattern - overall 요즘 RxSwift+MVVM을 공부하고 있다. 주로 공부는, 구글+유트브 검색을 하면서 다른 사람들의 코드를 읽어가면서 하는데.. 다 같은 RxSwift+MVVM이라고 적어놔도 구조가 다 다른 것을 발견했다..!! (동공지진..) 뭐 사람마다 약간씩은 다르게 코드를 짤 수 있다고 생각하지만, MVVM이라는 큰 패턴 아래, 과연 Clean Architecture는 무엇인지 궁금증이 생겼고, 검색해보았다. Github에 "Swift Clean Architecture"로 검색해보면, 이 레포지토리가 나온다. https://github.com/sergdort/CleanArchitectureRxSwift GitHub - sergdort/CleanArchitectureRxSwift: Example of Clean ..
[flutter] 내 프로젝트가 다른 사이트에 소개된.ssul 오늘, 좀 색다른 경험을 해서 기록하고자 오랜만에 블로그에 글을 써본다. 사실 최근 블로그 활동이 뜸했던 이유는(ㅠㅠ) 학교 복학 + 졸업논문(및 캡스톤) + 대외활동 + 취준 4콤보로 정신없이 하루를 보내고 있었기 때문이다 ㅠㅠ (매번 공개글이 아닌 비공개로 글을 저장했었는데, 최대한 빠른 시일 내에 글을 완성해서 게시해야겠다.) 결론부터 말씀드리면, 과제로 만들었던 프로젝트가 flutterawesome.com 이라는 사이트에 소개되었다. 이 글을 쓰고 있는 지금, 나는 스마일게이트의Stove Dev Camp 전형을 진행 중에 있다. 전형 중, 독특하게 코딩 테스트가 아닌 [사전 과제] 전형이 있었고, 주제는 간단한 블로그 앱을 만드는 것이었다. 이 과제는 프론트와 백엔드를 모두 구현했어야 하는 과제로..
[iOS] 내 프로젝트에 파이어베이스를 이용해서 Apple Login 붙이기 이전 글의 이어서, 오늘은 애플 로그인을 붙여보고 정리한 글을 포스팅 해보겠다. [iOS] 내 프로젝트에 파이어베이스를 이용해서 구글로그인 붙이기 (GoogleSignIn v. 6.xx) Demo 오늘은 구글 로그인 연결과 관련해서 만들어본 내용을 정리해본다. (서버 없이) 파이어베이스를 이용해서 구글 로그인을 하고자 한다면, 파이어베이스 콘솔을 등록하고, 1. GoogleService-Info.plis doitduri.me Demo 애플 로그인도 파이어베이스에서 OAuth 기반으로 로그인을 지원하고 있다. 그렇기 때문에, 저번 구글 로그인 때처럼 파이어베이스를 이용하면 비교적 간단하게 구현이 가능하지만, 애플 로그인은 좀 까다롭게(?) 몇 가직 더 설정 해줘야하는 부분이 있다. (( 코딩하는 부분보다 ..
[iOS] 내 프로젝트에 파이어베이스를 이용해서 구글로그인 붙이기 (GoogleSignIn v. 6.xx) Demo 오늘은 구글 로그인 연결과 관련해서 만들어본 내용을 정리해본다. (서버 없이) 파이어베이스를 이용해서 구글 로그인을 하고자 한다면, 파이어베이스 콘솔을 등록하고, 1. GoogleService-Info.plist 파일 추가와 2.Authentication 탭에서 구글을 활성화 3. 프로젝트에 구글 로그인 설치를 해야한다. 콘솔 등록을 완료하면, plist 파일을 다운 받을 수 있다. 이 파일은 프로젝트의 상단에 위치시켜주자. 파일 업로드를 완료하였으면, REVERSED_CLIENT_ID 값을 URL Type schema 에 붙여넣어주자. 이 작업은, 구글이 권한을 위임할 앱을 구분하기 위해서 설정해주는 작업으로 각 앱 서비스(e.x. 페이스북, 트위터 등)마다 모든 다른 값을 가지고 있다. 그리..
[iOS] Life-cycle ViewController Life Cycle -> View 객체를 관리하는 메소드, iOS 시스템에 의해 자동으로 호출됨 1. Appearing : 뷰가 화면에 나타내는 중 2. Appeard : 뷰가 화면에 나타나는게 완료 된 상태 3. Disappearing : 뷰가 화면에서 사라지는 중 4. Disappeared : 뷰가 화면에서 사라진 상태 ### viewDidLoad() - 뷰 컨트롤러의 모든 뷰들이 메모리에 로드 되었을 때 호출 - 메모리에 처음 로드될 때 한 번만 호출 - 보통 딱 1번 호출될 행위들을 이 메소드 안에 정의 함 - 뷰와 관련된 추가적인 초기화 작업, 네트워크 호출 ### viewWillAppear() - 뷰가 뷰 계층에 추가되고, 화면에 보이기 직전에 매번 호출 - 다른 뷰..
[iOS] UIKit-Training/QuoteGenerator iOS 기초 부분을 정리하면서 간단하게 정리한 note Cocoa touch Frameworkd iOS 개발환경을 구축하기 위한 최상위 프레임워크 object C / swift에서 상속해서 사용하는 UIKit 파운데이션 클래스 객체들이 cocoa touch 에 해당 UIKit, Foundation Foundation : 자료구조, 네트워크, 타이머, 파일관리 등 기본적인 프로그램의 중심 UIKit : 사용자의 인터페이스를 관리, 이벤트를 처리하는데 주 목적인 프레임워크 제스쳐처리, 애니메이션, 테이블뷰, 버튼, 텍스트필드 등 어플리케이션의 화면을 구성하는 요소들도 포함되어 있음 명언 생성기 버튼을 누를 때마다 새로운 명언들이 나오는 앱 기능 - Storyboard - AutoLayout - UILabel..
[iOS][Swift] Stanford 2021 CS193p class Notes 2021 스탠포드 CS193p 강의를 듣고, 공부하면서 기록한 class note. (강의 유투브 주소 : https://www.youtube.com/playlist?list=PLpGHT1n4-mAsxuRxVPv7kj4-dQYoC3VVu) ** 강의 진행 중 실습한 프로젝트 코드는 github 참고 - commit description Lecture 1 Xcode, iOS, Swift 전반에 대한 설명 (필기X) Lecture 2 https://github.com/doitduri/study-stanford/tree/lecture/2 Lecture 3 https://github.com/doitduri/study-stanford/tree/lecture/3 Lecture 4 https://github.com/..