728x90

직장인자기계발 51

패스트캠퍼스 챌린지 31일차

2월 23일 수요일 / 31일 차 Part 4 - CH 05 GitHub 앱 만들기 내용 요약 비동기 API - Notification Center - The delegate pattern - Grand Central Dispatch(GCD) - Closures RxSwift 사용시 Benefits - Composable - Reusable - Declarative - Understandable and concise - Stable - Less stateful - Without leaks RxSwift 기본 개념 Every Observable instance is just a sequence 구성 요소 - Observable - Rx 코드의 기반 - T 형태의 데이터 snapshot을 '전달' 할 수 있..

패스트캠퍼스 챌린지 30일차

2월 22일 화요일 / 30일 차 Part 4 - Ch 04 인스타그램 앱 만들기 내용 요약 강의 순서 1. 인스타그램 피드 화면 구현하기 2. 프로필 화면 구현하기 3. 인스타그램 게시물 업로드 화면 구현하기 4. 인스타그램 게시물 업로드 기능 구현하기 5. 버전관리와 Git 6. Xcode Project를 GitHub 과 연동시키기 화면 구성 UITabBarController - 두 개의 Tab으로 구성 - FeedViewController - house (선택되어 있지 않을 때) - house.fill (선택되었을 때) - ProfileViewController - person (선택되어 있지 않을 때) - person.fill (선택되었을 때) FeedViewController - UINaviga..

패스트캠퍼스 챌린지 29일차

2월 21일 월요일 / 29일 차 Part 4 - Ch 03 지하철 도착 정보 앱 만들기 내용 요약 구현 순서 1. 지하철역 검색화면 구현하기 2. 도착 정보 화면 구현하기 3. 비동기 처리 알아보기 4. 지하철 도착 정보를 가져오는 네트워크 통신 구현하기 5. 지하철 도착 정보 데이트를 화면에 표시하기 1 6. 지하철 도착 정보 데이트를 화면에 표시하기 2 UINavigationBar UISearchController - UIKit의 UI 컴포넌트 중 하나 - UINavigationItem으로 사용 - 검색창을 유저가 선택했을때 모든 동작을 컨트롤할수 있는 집약체 UISearchBar - UISearchController에 소속되어 있는 검색창 모양의 UI 컴포넌트 UITableView - UISear..

패스트캠퍼스 챌린지 28일차

2월 20일 일요일 / 28일 차 Part 4 - Ch 02 앱스토어 앱 만들기 마무리 내용 요약 앱스토어 앱 구현 순서 0.UITabBarController 구현 - 투데이 Tab Bar - 앱 Tab Bar 1. 투데이 Tab 화면 구현하기 - UICollectionView Header - UICollectionView Cell 2. 앱 Tab 화면 구현하기 - UINavigationBar - UIScrollView, UIStackView, UICollectionView 3. 앱 상세 화면 구현하기 4. UI와 앱스토어 데이터 연동하기 5. Share Sheet 알아보기 6. 앱 상세 화면에서 공유 기능 구현하기 데이터 연동하기 (plist 이용) - 애플에서 앱스토어 앱 API를 제공하지 않으므로 ..

패스트캠퍼스 챌린지 27일차

2월 19일 토요일 / 27일 차 Part 4 - CH 01, 02 자산 관리 앱 오류 수정 및 복습 앱스토어 앱 만들기 예습 내용 요약 앱스토어 앱 구현 순서 1. 투데이 Tab 화면 구현하기 2. 앱 Tab 화면 구현하기 3. 앱 상세 화면 구현하기 4. UI와 앱스토어 데이터 연동하기 5. Share Sheet 알아보기 6. 앱 상세 화면에서 공유 기능 구현하기 *오탈자 확인을 잘하자.. 복습할 내용 - 반복 확인의 중요성 깨닫기 - 문제가 생겼을 때는 원초적인 문제부터 확인하기.. 오늘의 공부 후기 어제 자산 관리 앱을 만들고 사실 오류에 부딪혀 막히는 현상이 발생했습니다.. 실습을 그대로 따라 했지만 AssetSummaryView에서 데이터를 계속 못 받아오는 상황이 생겨서 몇 시간에 거쳐 코..

패스트캠퍼스 챌린지 26일차

2월 18일 금요일 / 26일 차 Part 4 - CH 01 자산관리 앱 만들기 내용 요약 Stack - HStack : 수평으로 View를 쌓는 Stack - VStack : 수직으로 View를 쌓는 Stack - ZStack : 동일한 수직과 수평 값을 갖지만 View를 겹쳐서 쌓는 Stack Grid - LazyVGrid : 위,아래로 스크롤 하는 그리드 뷰 - LazyHGrid : 좌우로 스크롤 하는 그리드 뷰 * Lazy - 그릴 필요 없는 아이템들은 생성하고 있지 않다가 사용자가 스크롤을 하면서 화면에 그려야하는 시점에 아이템을 생성하게 됩니다 List - 이름 그대로 목록(List) 인터페이스를 구현하기 위해 존재합니다 - UIKit의 UITableView와 하는 일이 유사합니다 Form -..

패스트캠퍼스 챌린지 25일차

2월 17일 목요일 / 25일 차 Part 4 - CH01 자산관리 앱 만들기 내용 요약 SwiftUI 2019년 Apple의 WWDC에서 처음 소개가 되었습니다 기존에는 스토리보드(Storyboard)로 모든 화면의 구축과 흐름을 구성하고 ViewController에서 로직을 구현했지만 SwiftUI는 Swift 언어만으로 간편하고 더 빠르게 사용자 인터페이스를 구현할 수 있게 되었습니다. 선언적 구문을 사용하여 단순하지만 직관적인 구문을 이용하여 화면을 구성할 수 있게 해줍니다 기본적으로 레이아웃에 포함될 컴포넌트와 그 컴포넌트가 속하게 될 레이아웃 매니저의 종류과 속성만 선언해주면 됩니다. 레이아웃의 위치와 컨스트레인트, 렌더링 방식은 swifUI가 효율적인 방법으로 자동으로 처리하게 됩니다. 레이..

패스트캠퍼스 챌린지 24일차

2월 16일 수요일 / 24일 차 Part 3 내용 총정리 및 복습 UICollectionView를 구현하기 위한 Class와 Protocol (CH 06 중요 부분) Purpose Classes/Protocols Top-level containment and management UICollectionView UICollectionViewController Content management UICollectionViewDataSource UICollectionViewDelegate Presentation UICollectionViewReusableView UICollectionViewCell Layout UICollectionViewLayout UICollectionViewAttributes UIColl..

패스트캠퍼스 챌린지 23일차

2월 15일 화요일 / 23일 차 Part 3 내용 총정리 및 복습 내용 요약 OAuth - 사용자 인증 방식에 대한 업계 표준 - ID/PW를 노출하지 않고 OAuth를 사용하는 업체의 API 접근 권한을 위임 받음 APNS(Apple Push Notification Service) : 각 기기의 상태를 확인하여 상태에 따라서 알림을 저장후에 보내주고, 최신의 알림 상태를 관리하는 등에 관리 센터 역할을 함 Firebase Cloud Messaging 주요 기능 - 원격 알림 메시지 전송 : 사용자에게 표시되는 알림 메시지를 실시간 또는 예약 전송 - 다양한 메시지 타겟팅 : 단일 기기, 기기 그룹, 주제를 구독한 기기 - 발송 메시지 저장, 관리 : 알림 내용, 상태, 플랫폼, 최종 전송 시간, 열람..

패스트캠퍼스 챌린지 22일차

2월 14일 월요일 / 22일 차 CH07 브루어리 소개 앱 만들기 내용 요약 [OSI 7계층] 1레벨: 물리 계층 - 전압 레벨, 데이터 속도, 최대 전송 거리, 커넥터 - 케이블, 모뎀, 리피터 2레벨: 데이터 링크 계층 - 데이터 오류 감지, 복구 - MAC 주소 3레벨: 네트워크 계층 - 논리 주소 정의 - IP 주소 4레벨: 전송 계층 - 데이터 흐름 제어 - TCP, UDP 5레벨: 세션 계층 - 통신 장치간의 상호작용 설정, 유지, 관리 6레벨: 표현 계층 - 7레벨에 적용되는 데이터 형식, 코딩, 변환 기능 - 파일 확장자 7레벨: 응용 계층 - 앱 상의 네트워크 - HTTP URL(Uniform Resource Locator) ex) http:// iosgoal.tistory.com :8..

패스트캠퍼스 챌린지 21일차

2월 13일 일요일 / 21일 차 CH06 넷플릭스 스타일 영화 추천 앱 만들기 UICollectionView를 구현하기 위한 Class와 Protocol Purpose Classes/Protocols Top-level containment and management UICollectionView UICollectionViewController Content management UICollectionViewDataSource UICollectionViewDelegate Presentation UICollectionViewReusableView UICollectionViewCell Layout UICollectionViewLayout UICollectionViewAttributes UICollection..

패스트캠퍼스 챌린지 20일차

2월 12일 토요일 / 20일 차 CH05 재난문자 푸시 알림 구현하기 - 개발자 등록 내용 요약 Remote Notification APNS(Apple Push Notification Service) : 각 기기의 상태를 확인하여 상태에 따라서 알림을 저장후에 보내주고, 최신의 알림 상태를 관리하는 등에 관리 센터 역할을 함 - 보안 관리 : 보안 아키텍쳐를 통해 보안을 관리함(Connection trust, Device token) Connection trust ㄴ Provider(Server) - APNs (애플과 계약을 맺은 회사가 소유한 승인된 공급자만 APNs와 연결하여 Push전달을 하게 함) 1. token-based : valid authentication key certificate(토..

패스트캠퍼스 챌린지 19일차

2월 11일 금요일 / 19일 차 CH04 물 마시기 알람 앱 만들기 내용 요약 기능 구현 - 알림을 추가할 수 있음 - Trigger 중 Calendar을 이용하여 알림 발송 조건을 설정해줌 - 스위치를 통해 알림을 끄고 켤수 있음 - 알림이나 소리 설정이 꺼져있으면 알림이 발송되지 않고, 켜져있으면 알림 발송 Local Notification(로컬 알림) - 사용자의 관심을 끌기위해 소리나 화면에 알림을 표시해 줌 UN(User Notification)NotificationRequest : 알림 요청 ㄴ identifier : 각각의 요청을 구분할 수 있는 ID ㄴ Content : 알림에 나타날 내용 정의(타이틀, 내용, 소리 등) ㄴ Trigger : 알람이 어떤 기준에서 발송될건지 선언하는 일종..

패스트캠퍼스 챌린지 18일차

2월 10일 목요일 / 18일 차 CH03 실시간 공지사항 팝업 만들기 내용 요약 Firebase Remote Config - 배포없이, 업데이트 다운로드 없이 앱 변경 - 기본값 설정 후 값 재정의 - 클라우드 기반 key-value 저장소 주요기능 - 앱 사용자층에 변경사항을 빠르게 적용 ㄴ 업데이트 없이 앱의 UI/UX 변경 지원 - 사용자층의 특정 세그먼트에 앱 맞춤설정 ㄴ 앱 버전, 언어 등으로 분류된 사용자 세그먼트별 환경 제공 - A/B 테스트를 실행하여 앱 개선 ㄴ 사용자 세그먼트별로 개선사항을 검증 후 점진적 적용 A/B 테스팅 - Google Analytics, Firebase 예측을 통한 사용자 타겟팅 - 원격 구성(Remote Config 또는 알람작성기(Cloud Messaging..

패스트캠퍼스 챌린지 17일차

2월 9일 수요일 / 17일 차 CH02 카드 추천 리스트 앱 만들기 - 기능 구현 내용 요약 카드 추천 리스트 앱에 사용된 Firebase Database연동 방법 1. Firebase 모듈 불러오기 import FirebaseDatabase 2. Firebase Realtime Database 연결 var ref: DatabaseReference! 3. Database에 접근 ref = Database.database().reference() 4. 추가한 데이터에 접근 ref.observe(.value) { snapshot in guard let value = snapshot.value as? [String: [String: Any]] else { return } do { let jsonData = ..

패스트캠퍼스 챌린지 16일차

2월 8일 화요일 / 16일 차 CH02 신용카드 추천 리스트 앱 만들기 - UI 구현 내용 요약 Database - 데이터의 집합체 - 일반적으로 관계형 데이터 베이스 형태 (행과 열로 이루어진 테이블을 구성하며, 테이블 끼리 관계형을 이루어 모인 것이 데이터베이스) 쿼리 (Query) - 데이터베이스에 정보를 요청하는 것을 의미 Firebase Realtime Database, Cloud Firestore (Firebase에서 제공하는 데이터베이스) - 비관계형 클라우스 데이터 베이스 - 실시간 (HTTP 요청이 아닌 동기화 방식) - 오프라인 (로컬에 저장 후 네트워크 연결시 동기화) - 서버 없이 (데이터베이스와 클라이언트 직접 액세스 차이점 용도 Realtime Database - 하나의 큰 J..

패스트캠퍼스 챌린지 15일차

2월 7일 월요일 / 15일 차 CH01 spotify 스타일 로그인 화면 구현하기 내용 요약 Backend(Server) - Frontend(Client) 데이터 흐름 - 로그인 데이터 흐름 : Frontend에서 ID, Password auth request를 전달하면 Backend에서 Certificate key를 전달하는 흐름 Firebase : Frontend 개발에 필요한 여러 플랫폼을 제공하는 서비스 OAuth - 사용자 인증 방식에 대한 업계 표준 - ID/PW를 노출하지 않고 OAuth를 사용하는 업체의 API 접근 권한을 위임 받음 - 기본 개념 1. User Service Provider에 계정을 가지고 있는 사용자 2. Consumer Service Provider의 API (제공..

패스트캠퍼스 챌린지 14일차

2월 6일 일요일 / 14일 차 CH08 코로나 현황판 앱 만들기 내용 요약 기능 상세 - 시도별 신규 확진자 수가 파이 차트로 표시되어야 한다 - 도시 항목을 선택하면 상세 현황을 볼 수 있는 화면으로 이동되어야 한다 활용 기술 - 굿바이 코로나 19 API - Alamofire - Cocoapods Alamofire : Swift 기반의 HTTP 네트워킹 라이브러리 - 연결 가능한 리퀘스트 리스폰스 메서드를 제공 - URL JSON 형태의 파라미터 인코딩을 지원 - 파일 데이터 스트링, 멀티 파트 폼 데이터 등 업로드 기능을 제공 - HTTP 리스폰스 검증과 광범위한 단위 테스트 및 통합 테스트를 보장 URLSession 대신 Alamofire을 사용하는 이유 - 코드의 간소화, 가독성 측면에서 도움..

패스트캠퍼스 챌린지 13일차

2월 5일 토요일 / 13일 차 CH07 날씨 앱 만들기 내용 요약 기능 상세 - 도시 이름을 입력하면 현재 날씨 정보를 가져와 화면에 표시되게 만듬 - 도시 이름을 잘못 입력하면 서버로부터 응답받은 에러 메시지가 알럿으로 표시 됨 활용 기술 - Current Weather API - URLSession 웹 통신과 Protocol - 인터넷 상에서의 통신을 말한다 - 많은 정보들이 주고 받기에 인터넷에는 엄격한 규약이 존재한다.(이것을 Protocol 이라고 부른다) - HTTP(Hyper Text Transfer Protocol) : Hyper Text를 전송하기 위한 프로토콜 ㄴ Http 통신 : 요청과 응답으로 이루어짐(Client, Web Server) ㄴ Http 패킷 : Header와 Body..

패스트캠퍼스 챌린지 12일차

2월 4일 금요일 / 12일 차 CH06 뽀모도로 타이머 앱 만들기 내용 요약 기능 상세 - DatePicker를 통해 타이머 시간을 설정할 수 있다. - 시작 버튼을 누르면 타이머가 시작되고 일시 정지를 누르면 타이머가 일시 정지 된다. - 취소 버튼을 누르면 타이머가 종료된다. - 카운트 다운이 완료되면 알람이 울린다 활용 기술 - DispatchSourceTimer(GCD API) ㄴ 특정 시간이 지난 후에 이벤트를 발생시킨다 ㄴ 반복적인 주기로 특정 작업을 수행한다 - UIView Animation 중요 코드 //시간 계산 방법 let hour = self.currentSeconds / 3600 let minutes = (self.currentSeconds % 3600) / 60 let secon..

728x90