오늘 오전에 캠퍼들과 함께 아이폰 기본 앱들을 중심으로 해서 iOS 앱들의 구성요소에 대해서 정리하고 애플이 앱에 있어서 어떠한 점을 중요하게 생각하는지 알아보는 시간을 가졌다.아래는 각 팀원들이 정리한 문서들을 모아서 정리한 것!status bar시스템에서 제공하는
10:00 부터 스크럼을 하면서 Kio와 강경과 묵찌빠 프로젝트 Step1에 대한 코드 리뷰를 진행하였다.프로퍼티나 메서드 Naming 에 관련해서 각자의 의견을 나누었고, 열거형을 최대한 사용하면서 코드의 가독성을 최대로 높이는 과정을 진행하였다. 그렇게 Step1
오늘은 오전에 일반화와 추상화에 대한 Topic으로 많은 의견을 주고 받았다. 조원들과 세탁기에 대해서 일반화하는 과정을 진행하였는데, 일반화와 추상화의 정의에 대해 오랜 시간 토론하였다.일반화 : 서로 다른 개체들로부터 공통된 개념을 추출하는 것을 말한다.추상화 :
오늘은 Step2 PR의 리뷰에 대한 피드백을 가볍게 하고 Neph와 클로저에 대해서 같이 공부하였다. 그리고 개인적으로는 캠퍼들이 쓴 Discussion에 있는 git 명령어들을 대략적으로 정리하였다. 명령어들의 option이 너무 많아서 직접 실행해보지 못했는데,
ios-baseball game Step2 진행Step1에 대한 리뷰를 보충하는 commit을 하고 merge 확인 후 Step2에 대한 PR을 보내야되는데, 모르고 의욕이 앞서서 Step2에 반영시켜 PR을 보냈다... 다음부터는 꼭 지키도록 해야겠다.그리고 오늘 S
git, git branch, PR(Pull Request) 학습이전에 git을 사용할 때, main에서 혼자서 commit하는 작업만 해오다가 branch를 만들고 PR까지 같이 할려니 많이 복잡했다. 아직 미비한 부분이 있는 것 같아 git을 사용할 때마다 모르는
코드 설명, 리뷰캠프 사전 과제로 작성했던 코드를 설명해보고, 리뷰하는 시간을 가졌다. 짧고 간단한 내용의 로직이지만 그 안에 API Design Guide를 준수하지 않았던 점도 있었으며, 메모리적으로 효율적이지 않은 코드를 발견할 수 있었다.짝 프로그래밍팀 멤버들끼
Apple Developer DocumentationCustomStringConvertible 프로토콜을 준수하는 Type은 인스턴스를 문자열로 변환할 때 사용할 고유한 표현을 제공할 수 있습니다.String(description:) 이니셜라이저는 모든 Type의 인스
함수의 가변 매개변수와 입출력 매개변수Self vs self구조체 vs 클래스 타입을 만들 때 그 기준은?가끔 함수의 매개변수로 몇개가 들어오는지 정해줄 수 없는 경우가 있는데,이런 경우, 우리는 가변 매개변수를 사용할 수 있다.그리고 세가지 특징가변 매개변수는 0개
SingleTon 패턴소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자
뷰가 화면에 보여지는 상태의 변화나 뷰의 레이아웃에 변화가 생기면 뷰 컨트롤러는 여러가지 메서드를 호출해 서브클래스가 적절한 대응을 할 수 있게 한다.Apple Developer Documentationfunc viewDidLoad()뷰 계층이 메모리에 로드된 직후 호
월: 팀 그라운드 룰 제정, 리뷰어 인사, Flow Chart작성화: Step1 의견 공유, struct vs class 학습수: Setp1 PR 발송목: 리뷰 피드백, enum관련 프로토콜 학습금: -월: Step1 두번째 리뷰화: UIKit 학습시작, Step2 기
응집도, 결합도 UML 계산기 프로젝트을 위한 (중위 연산자 → 후위 연산자) 알고리즘응집도 : 정보 은닉 개념을 확장한 것으로, 명령어나 호출문 등 모듈의 내부 요소들의 서로 관련되어 있는 정도, 즉 모듈이 독립적인 기능으로 정의되어 있는 정도를 의미한다결합도 :
특강 : 새로운 지식을 나의 지식으로 만드는 방법 ( 연사 : Zedd)Protocol Swift 공식문서 정독계산기 프로젝트 Step1에 대한 고뇌프로토콜은 특정 작업이나 기능에 적합한 method, property 및 요구사항에 대한 청사진을 정의한다. 그런 다음
멤버를 추가하는 것은 가능하지만, Overriding(재정의)하는 것은 불가능Adding Properties연산 프로퍼티만 추가할 수 있다(저장 프로퍼티는 불가능하다!!)연산 프로퍼티만 추가할 수 있기에, 프로퍼티 감시자는 extension에서 구현 불가연산프로퍼티의
AutoLayoutAutoLayout ?? 무엇인가?크기가 제각각인 iOS 기기들에 화면을 맞추기 위해, 사용자가 화면을 동적으로 조절하는 등의 외부적인 조건(split View, 가로 세로 모드 변경)에 맞추기 위해 조절하는 설정!Constraints 를 이용해서 V
JuiceMaker 정리Calculator 1차 리팩토링 & Step2 진행TDD 복습, AutoLayout 복습kane-young/iOS_yagom_starter_campFork Repository으로부터 merge해서 Step2 피드백 수용 및 Step3 진행, 프
JSONTable View - Data Source, DelegateJavaScript Object Notation 의 줄임말로, 자바스크립트의 객체를 표기하는 방법이다JSON 에 사용되는 데이터 구조는 크게 두 가지 종류로 나눌 수 있다여러 가지 속성을 key-val
ViewController 간의 데이터 주고 받기고차 함수Content Configuration → iOS14부터 Cell의 각 UI요소에 직접 접근하여 콘텐츠를 설정하는 대신, Content Configuration을 사용하여 콘텐츠를 나타낸다VoiceOver 기능을
작심삼일(作心三日)도 백번이면 삼백번이다!!!!!!!!!알고리즘 정리, 공부, 하루에 한 문제!아침 7시 기상 AutoLayout 강좌 마무리 하기 재미난 컴퓨터 기초 PART||| 정리 만국박람회 Repository끼리 합치고 README 작성하기 ARC Study컴
오늘의 공부 주제 1학기를 돌아보는 퀴즈 프로세서, 프로세스 동시성 프로그래밍과 비동기 프로그래밍(Operation Queue) 학습 내용 1학기를 돌아보는 Quiz⭐️ 헷갈렸던 것 위주로!!! Q1 * Type의 추상화를 통해 내부 기능 구현 방식에 대해 더
GCD(Grand Central Dispatch) / OperationQueueConcurrency(동시성) 프로그래밍 by Allen의 자료 읽고 모르는 것 정리하기참고) iOS Concurrency(동시성) 프로그래밍, 동기 비동기 처리 그리고 GCD/Operat
야곰 캠프 방학 중 2학기 TIL Notion -> Velog 이전하면서 복습하기!URLSession네트워크 통신과 API금일 활동학습 (Kahoot / TCP/IP / HTTP)참고 자료Apple Developer DocumentationSwift, URLSessio
야곰 캠프 방학 중 TIL Notion -> Velog 이전하면서 복습하기!일단 뷰의 재사용을 위해서 재사용되는 cell에 남아있는 text, image 등을 털어내야 한다이미 구현되어 있는 prepareForReuse() 메서드를 재정의하여 사용하자!근데, tabl
오늘의 활동 학습 POP(Protocol Oriented Programming) 상속이 가지는 문제점? 단점은? 반드시 필요하지 않아도 되는 기능을 가질 수 있다 상위 클래스를 변경하면 하위 클래스가 의도치 않게 전부 변경된다. 다중 상속이 불가능하다 struc
TIL Notion -> Velog 하면서 복습하기참고자료How to mock URLSession using URLProtocol.Apple Developer DocumentationMock URLProtocol for local unit testing우리가 reque
TIL Notion -> Velog 이전하면서 복습하기 다음주 활동학습을 위한 KeyCahin 개념 예습 ref) 꼼꼼한 재은씨의 Swift(실전편) 인증 토큰 처리하기!! 우리는 앱을 사용할 때 계정에 로그인을 하기 위해 인증을하며, 이 인증을 통해 사용자에게
캐시 Cache개념Caching은 저장한다는 뜻, 캐시는 임시 저장소라고 할 수 있다컴퓨터구조에서의 cacheCPU와 메인 메모리 사이의 속도 차이를 완충하기 위해서 중간에 메인 메모리의 데이터를 미리 복사해두는 임시적인 메모리현재의 경우 디스크, GPU 등등 여러 곳
DB, DBMS, SQLite, CoreDataSplit ViewSize and Core Components가장 보편적으로 많이 사용되는 DataModel데이터간 관계는 있지만, 물리적인 연결이 없다 (n:m)metadata에 따라 정보를 제공함tuple의 열과 행이