학습 내용 오늘은 구구단을 학습했다. 값을 받아서 값에 따라 다른 결과물을 산출해야 했다. 크게 3가지 종류 (-1,0,1인 경우, 일반 정수값인 경우, exit인 경우)로 분류됐다. 문제점 / 고민한 점 readline으로 받은 문자열을 언제, 어떻게 숫자값으로 바꿀지? readline으로 값을 받을 때 처음부터 Int로 받아버리면 exit을 인식할...
#Git #Github
#컴퓨터과학기초 #주기억장치 #보조기억장치 #스왑한다
#Optional #옵셔널
학습내용 타입이란 무엇인가? 사람의 특성을 미리 설계도를 만들어 놓으면 >> 그것과 똑같은 종류의 것을 수십개, 수백개 만들어낼 수 있다. 같은 설계도에서 나왔더라도 특성은 다 다를 수 있음 e.g. 자동차 색깔 Optional (옵셔널) 타입 = 안에 값이
학습내용 스크럼의 목적, 하는 이유 >> 팀 그라운드롤 재정비 플로우차트를 그리고 나서 코드를 작성하니 어떻게 해야 할지 좀 더 명확해진 기분이다. 페어프로그래밍을 하면서는 내가 생각하지 못했던 부분을 팀원을 통해 보완할 수 있었다 🙂 문제점 / 고민한 점 Flowchart를 어떻게 그릴지? 다음엔 Flowchart를 어떻게 하면 좀 더 가독성있게,...
if let vs. guard let 똑같은 결과가 산출되지만 여러개의 조건을 적어줄거라면 아래처럼 나눠 적어주는 것이 가독성이 훨씬 좋다. 스위프트 공식 문서 예제를 변형해서 연습해봄 else 안에 명령문은 guard에서의 조건이 false일 경우 실행됨 You use a guard statement to require that a condition...
학습내용 코드 리뷰 PR 보내기 전에 기능상세서에 요구된데로 정확히 구현됐는지 다시 한 번 확인하기! 기능상세서대로 구현이 된줄 알았는데 리뷰어분께서 놓친 부분을 지적해주셨다. > 처음 설정된 랜덤한 값을 계속 사용하는 것 같네요 비겨서 다시 가위바위보를 할때 컴
학습내용 스티븐의 도움을 받아 iTerm을 설치하고 여러 명령어들을 실행해봤다 🙂 cd .. : ..은 전에 있던 폴더 의미/ .은 현재 폴더, cd → change directory pwd: 현재 내 디렉토리 위치 git checkout -b sunny-step1: 브랜치 만들기 git checkout sunny-step1: sunny-step1 브...
학습내용 타입/ 인스턴스/ 프로퍼티/ 메서드 A type = a blueprint An instance = a house (you built from the blueprint) 블루프린트는 각 집의 features (특징)과 behaviors (행동)을 보여줌. Features (특징) -> properties Behaviors (행동) -> me...
학습 내용 1. 첫 번째 학습 내용: Optional 옵셔널 Optional을 사용하는 이유? nil 값이 생길 가능성을 열어두는 것. 만약 nil이 생길 가능성이 없다는게 확고하다면 optional을 안 써도 됨. Optional에서 nil 값이 생기는 경우 언
여러개의 인스턴스들이 어떻게 통신할까? Notification Center를 이용해서!Notification Center -> Notification 라이브 방송을 송출하는 것과 비슷함.인스턴스 사이의 통신 (메시지 전달)하는 수단.앱에서 이벤트란? 앱에서 일어나는 모
인스턴스 메소드'day'란 인스턴스를 만들어주고, Weekday의 내부함수인 notifyLunch()를 호출하여 값을 받아냄.→ 인스턴스를 만들고 내부함수 호출참고자료 (Swift) 타입 메소드 & 인스턴스 메소드 by Jiseob Kimyagom's Swift Bas
뷰의 생명주기? → 뷰 인스턴스의 생명주기하나의 뷰가 보여지기 위해서는 최소 1개 이상의 인스턴스가 메모리 위에 존재하고 있어야 함.메모리에서 사라진다가 이 인스턴스가 생명이 끝났다 표현할 수 있음.Class UIViewController: An object that
UIViewController란? An object that manages a view hierarchy for your UIKit app.A view controller’s main responsibilities include the following:뷰 컨트롤러가
문제해결을 위한 절차/ 방법어떠한 문제를 해결하기 위한 여러 동작들의 모음대표적인 알고리즘 - 정렬, 탐색, 재귀 등예시1 ) 우리 집을 찾아가는 방법을 하나하나 step 별로 구현한 것예시2) 여행 가방 쌀때 어떤 순서로 물건을 넣을지?자료를 효율적으로 이용할 수 있
프로토콜은 특정 기능 수행에 필수적인 요수를 청의한 청사진(blueprint)입니다. 프로토콜을 만족시키는 타입을 프로토콜을 따른다(conform)고 말합니다. 프로토콜에 필수 구현을 추가하거나 추가적인 기능을 더하기 위해 프로토콜을 확장(extend)하는 것이 가능합
함수는 클로저의 한 형태이다!클로저는 변수나 상수가 선언된 위치에서 reference를 capture하고 저장할 수 있음Closures are self-contained blocks of functionality that can be passed around and u
모든 언어에서 숫자형 변수는 표현 할 수 있는 범위가 정해져 있음예를 들어 8비트 Int형은 -128 에서부터 127까지를 표현 할 수 있음UInt란? an unsigned integer 부호 없는 정수 (양수만 표현함)UInt8은 0부터 255까지의 정수 데이터 범위
Generic code를 사용하면 더 유연하고 재사용 가능한 함수와 타입의 코드를 작성할 수 있음Generic code enables you to write flexible, reusable functions and types that can work with any
코드를 기능단위로 잘 분리를 해야만 테스트를 잘할 수 있음.→ 작은 실패를 반복해서 원하는 골로 향한다.리팩터란? 흐름 안에 있는 코드의 모양새를 바꾸는 것더하기 연산 함수를 실행했을 때 1+1을 더해서 2가 나오는지?테스트 하면서 확인하는게 테스트 코드!하나의 메서드
스택을 구현하는 방식 배열 링크드 리스트(보통 스택을 구성할 땐 배열이 더 편하다고 함)push() - 스택의 맨 위에 요소 e를 추가pop() - 스택의 맨 위에 있는 요소를 삭제peek() - 스택의 맨 위의 값을 복사해서 리턴(비고) peek와 pop의 차이는 스
그냥 Input이랑 manual input은 또 기호가 다름왼쪽에서 오른쪽으로의 데이터 흐름을 유지하자정보를 더 쉽게 읽고 이해할 수 있도록 왼쪽에서 오른쪽으로 플로우차트를 구성하는 것이 좋다.전통적인 마름모 의사결정 기호 대신 분할 경로를 사용하자기존의 마름모꼴의 결
스텍이 결과값이 제대로 나올리가 없는데???급한 마음에 ㅠㅠ 그냥 (결과값 순서 무시) 꾹꾹 눌러담았다 ^.^firstOperands.pop()와 secondOperands.pop()는 2번 반복하지 말고 while문 안 & if문 밖으로 빼주면 됨스택에 있는 값을 바
New File → Unit Test bundle 만들기생성된 TDD_Test 선택앱에서 테스트하는 방법Target membership 파일 별로 체크박스 일일히 해주기Why? Target Membership에 체크: 해당 모듈의 소스파일이 된다는 의미혹은 @Testa
while은 조건부터 확인하기 때문에 조건문의 결과값이 false인 경우 statements를 한 번도 실행하지 않게 됨.while과 달리 repeat while은 반복문을 최소 1번 실행하고 그 다음에 조건을 체크한다The other variation of the w
하나의 열에 customizable한 행들도 이루어진 형태로 데이타를 보여주는 것!Display data in a single column of customizable rows.수직으로 스크롤링하면서 컨텐츠를 볼 수 있음정보들은 각 행과 섹션으로 나뉘어져 있음섹션은 관
Codable을 사용하면 decodable과 encodable 프로토콜을 둘다 적용할 수 있다.만약 decodable만 쓸거라면 반드시 Codable을 써야 할 필요는 없다.(decodable만 써도 되니까)typealias Codable = Decodable & En
얄팍한 코딩사전뇌깨우기용으로 아침에 본 영상들..ㅎ프로세스는 뭐고 스레드는 뭔가요?객체지향 프로그래밍이 뭔가요?CodingKey란 모다? 프로토콜이다!인코딩 및 디코딩을 위한 키로 사용할 수 있는 타입json 첨부 파일을 보니 name이랑 imageName이랑 같은데
유저들이 화면에 있는 글자 크기를 customize할 수 있는 기능Dynamic Type is a feature that allows user to customize the size of text on screen.예를 들어, 어떤 유저들은 좀 더 작은 텍스트 사이즈를
JSON이란? JavaScript Object Notation 자바스크립트의 객체를 나타내는 표기법 데이터가 다른 컴퓨터로 갈때 어떤 변환 형태를 거쳐서 가게 됨 다른 컴퓨터로 가서 또 다른 1과 0의 형태로 풀어지게 됨 컴퓨터 간 정보를 주고 받기 위한 표준 표
이벤트를 기반으로 프로그래밍이 동작할 것이다.이 앱은 이벤트를 기반으로 만들어진 앱이다= 어떤 이벤트가 발생했을 때 그 이벤트에 대해 반응할거다→ 반응은 뭐냐? 행위, 행동Q. 이벤트의 종류에는 뭐가 있을까?단편적인 이벤트 by 사용자터치텍스트 입력드래그흔들기배터리의
부스트코스 JSON 다루기를 따라서 부지런히 해보고 있는데아직 안된다 ... 😣왜 안되는지도 모르겠다 ^.ㅠ그냥 막 따라쳤다 흙...방법을 찾아보쟈...⭐️현 상태: json 데이타 당연히? 제대로 안 불러와지고 희멀건 테이블뷰만 보임...ㅎtextLabel이랑 de
Error message: The data couldn’t be read because it isn’t in the correct format.우리의 인재 스티븐이 에러 해결해줬다 히히 ^.^import한 json asset 이름 맞는지 확인맞는데 그래도 안됨 😢js
UIScrollView is the superclass of several UIKit classes, including UITableView and UITextView.테이블뷰는 자식클래스스크롤뷰는 슈퍼클래스자식클래스는 부모클래스의 모든 프로퍼티나 메서드를 이용할수 있
과제 1. content layout, frame layout 적용해서 스크롤뷰 제대로 작동하게 하기Content Layout Guide란?Content Layout Guide는 스크롤 뷰 내의 스크롤 할 수 있는 콘텐츠 영역에 관한 것충분한 constraints를 설
indexPath.row → 0번째, 1번째, 2번째.. 순서 나타냄이 순서대로 이미 배열이 생성englishTitle이랑 이미지 에셋에 파일명들이 다 같으니까 이름에 맞는 이미지를 imageView에 불러오게 됨Editor - Embed In - Navigation
스위프트는 함수를 일급 객체로 취급함→ 함수를 다른 함수의 전달인자로 사용할 수 있음매개변수로 함수를 갖는 함수를 고차함수라고 부름대표적인 고차함수: 맵, 필터, 리듀스 등출처: 스위프트 프로그래밍(3판) 3부 15장 by 야곰Map은 자신을 호출할 때 매개변수로 전달
Cory의 피드백이 친구는 @IB로 시작하지만 함수에요! 들여쓰기 정리해주세요!moveBuNavigator라는 함수명은 Navigator에 의해서 움직인다는 뜻같은데, 이 코드를 적절하게 나타내는 것 같지는 않네요! 좀 더 간결하게 접근해도 좋아요!특정 버튼을 눌러서
운영체제란 시스템 소프트웨어에 속하는 하나의 소프트웨어다.운영체제는 응용 프로그램과 하드웨어의 중간에 위치해서 매개체 역할을 하는데 중점을 둠.운영체제의 종류?Linux, macOS, Windows, iOS, Android, Unix 등운영체제의 목적?운영체제란 소프트
프로그래머 → 1. 실행할 태스크(작업) 생성 2. Dispatch Queue에 추가GCD는 기술이자 주체?필요에 따라 태스크(작업)에 맞는 스레드를 자동으로 생성, 실행, 해당 스레드 제거하는 것도 GCD의 역할Grand Central Dispatch (GCD)Gra
자료 출처OperationQueue - boostcourseClass OperationQueueOperation은 태스크(작업)와 관련된 코드와 데이터를 나타내는 추상 클래스입니다. Operation Queue는 연산(Operation)의 실행을 관리합니다.대기열(Qu
UI와 관련된 코드는 메인 스레드에서 관리해야 함OperationQueue.main.addOperation→ 메인 스레드로 보내주면 이제 이미지 버벅거리거나 화면 멈추지 않음 !!출처: 부스트코스 iOS 앱 프로그래밍Q. Operation Queue에서 비동기 어떻게
git pull시 branch를 pull 해오는 방법내가 pull 해오고 싶은 branch로 이동git pull origin branch name branch name = 내가 pull 해오고 싶은 브랜치 네임\[ git 기본 ] git pull 시 특정 branch
초기값 initializer ⭐️ → 각자 공부해와서 스터디 형식으로 설명해보는 시간 갖기! (at 2pm) 써니: 꼼꼼한 재은씨 문법편 이안: 야곰 책 → 이안은 내일 설명해보는 걸루! Operation Queue에서의 우선순위와 다중처리 방법 ⭐️ (at 7p
출처: 야곰닷넷end - start 저렇게 바로 넣어줘도 되는지 모르구괜히 변수 하나 더 만들어줬다 ! ^^;Q. 고객 Queue를 어느 타입에 넣어줘야 하는지?Priority를 쓰려면 그 타입에서는 Operation을 상속받아와야 하는데 ?지금 Bank 타입에서 Ta
1. 첫 번째 학습 내용: iOS App Life Cycle **Article Managing Your App's Life Cycle** Respond to system notifications when your app is in the foreground or b
이거 쥬스메이커때 스티븐이 가르쳐준건데 까먹었다 케..아 이래서 야곰이 프로젝트 복습하라고 한건가 끙... 😅ProtocolCaseIterableA type that provides a collection of all of its values.When using a
참고 자료전역변수 문제점, 나쁜 객체지향 코드 (유지보수 망침) 스티븐이 TIL에 공유해준 링크 👍Singleton Pattern이 전역변수를 사용하는 데 있어서 가장 효과적이라고 함(전역변수 문제점 해결에 효율적)super.init()은 상속받은 클래스에서 상속한
근거리 통신망Local Area Network흔히 랜선이라고 부름 (정식 명칭은 아님)UTP 케이블을 사용해서 가까이 있는 컴퓨터들끼리 통신망들을 구성하는 걸 많이 하기 때문에 랜선이라고 부르기도 함도시권 통신망Metropolitan Area Network광역 통신망
이번 프로젝트 수행에 도움이 되는 문서 URLSession Fetching Website Data into MemorySJ와 스티븐이 공유해준 자료들 👍Swift: GET, POST 로 HTTP 네트워크 정보 주고받기UnitTest의 사용법Swift(스위프트): UR
통신을 위한 디자인 패턴(Base URL과 Path를 조합해서 쓰는게 Rest API)Base URL은 왜 있고Path는 뭔지?Base URL만 쓰는게 아니고뒤에다 Path 덧붙임get은 URL 만으로 테스트할 수 있음GET은 바디가 비어있음POST는 reqeust b
컴파일 타임 vs. 런타임개발자는 프로그램이 어떻게 작동할지에 대한 소스코드를 입력한다.이 소스코드는 컴파일(Compile)과정을 통해 사용자가 실행가능한 프로그램이 되는데 이 컴파일 되는 과정을 컴파일 타임(compile time)이라고 부른다.컴파일된 프로그램은 사
iOS 14부터는 cell.backgroundColor = .systemRed 이런 식으로 셀에 바로 적용안해 줌!!cell.defaultContentConfiguration() 써줘야 함!defaultContentConfiguration()Retrieves a def
The given part describes the state of the world before you begin the behavior you're specifying in this scenario. You can think of it as the pre-condi
테이블뷰 - 부스트코스 설명테이블뷰는 iOS 애플리케이션에서 많이 활용하는 사용자 인터페이스입니다. 테이블뷰는 리스트 형태를 지니고 있으며 스크롤이 가능해 많은 정보를 보여 줄 수 있습니다.컬렉션뷰 - 부스트코스 설명iOS 애플리케이션에서 컬럭센뷰는 그리드와 스택, 타
이건 개인적인 취향인데, 저는 테스트 코드에서 캐싱을 위한 프로퍼티는 옵셔널 바인딩을 하지 않고 강제 언래핑을 해요. 굳이 필요하지 않은 코드 같거든요. 이미 setUpWithError메소드에서 매번 프로퍼티에 값을 할당해주고 있는 상황에서 sut_marketItemL
Generic EnumerationA value that represents either a success or a failure, including an associated value in each case.result는 뭘로 받을지 타입을 정해야함MarketItem
(등록) 보내기 전에 2단계의 작업을 함json 인코딩함멀티파트 폼 데이타 형식으로 변환해야 함 (그 작업을 multipartformdataConvertible 프로토콜에서 함)(get)은 받아와서 json 디코딩 작업만 해주면 됨 !인코더블을 쓰면json 파일이 됨m
Securely store small chunks of data on behalf of the user.The keychain services API helps you solve this problem by giving your app a mechanism to sto
Securely store small chunks of data on behalf of the user.A keychain is a locked, encrypted container used in Keychain Access to store account names a
어떤 클래스 타입의 변수 또는 상수가 정말로 해당 클래스의 인스턴스를 참조하지 않을 수도 있습니다. 예를 들어 Latte 클래스의 인스턴스가 Coffee 클래스의 인스턴스인양 Coffee 행세를 할 수 있습니다.라떼 타입의 인스턴스를 참조하는 커피?라떼는 아니지만 라떼
캐시는 컴퓨터의 성능을 향상시키기 위해 사용되는 메모리를 말합니다.주기억장치와 CPU사이에 위치하고, 자주 사용하는 데이터들을 기억합니다.캐싱은 이 캐시 영역으로 데이터를 가져와서 접근하는 방식을 말합니다.예를 들면 속도가 느린 디스크의 데이터를 속도가 빠른 메모리로
ClassAn object that manages an ordered collection of data items and presents them using customizable layouts.When you add a collection view to your us
한 행당 셀 2개씩 나오게 하고 싶은데어떻게 하는 것일까? 🤔UI 나중에 다시 찾아서 해보는걸루...!\[iOS] 화면 방향에 따른 collectionView cellSize 변경Using the Flow Layout라이브러리: 기능의 단위레이아웃을 작성하는데 도움을
키-값 쌍의 데이터를 안전하게 보관할 수 있는 방법 중 대표적인 방법은? Key Chain사용자 계정 클라우드에 귀속되기 때문에 키체인의 정보는 앱을 삭제해도 남아있다캐쉬는 리모트에서도 이루어짐NSCache는 디스크 캐시 전용이다 (X)주기억장치를 항상 RAM이 담당하
Instance MethodforEach(\_:)Calls the given closure on each element in the sequence in the same order as a for-in loop.Using the forEach method is dist
소스코드를 공개해 누구나 특별한 제한 없이 그 코드를 볼 수 있도록 한 소스코드iOS 개발 생태계만 하더라도 정말 많은 오픈소스가 존재합니다. 네트워킹 라이브러리인 Alamofire 부터 이미지 다운로드를 관리해주는 Kingfisher 까지 어렵지 않게 많은 애플리케이
iOS 환경에서 활용할 수 있는 의존성 관리도구의 종류에는 무엇무엇이 있을까?각각의 의존성 관리도구의 장단점도 알아봅시다의존성 관리도구와 Git을 함께 사용할 때 주의할 점은?활동학습 내용애플리케이션 기능을 개발하기 위해 외부 라이브러리를 사용할 때 프로젝트와 해당 라
A lazy stored property is a property whose initial value isn’t calculated until the first time it’s used.Lazy properties are useful when the initial v
Using Responders and the Responder Chain to Handle EventsLearn how to handle events that propagate through your app.Apps receive and handle events usi
1. 첫 번째 학습 내용: 싱글턴 (Singleton) > A singleton class returns the same instance no matter how many times an application requests it. A typical class per
A file system handles the persistent storage of data files, apps, and the files associated with the operating system itself. Therefore, the file syste
SandBoxBundle ContainerData ContainerDocumentsInboxLibraryApplication SupportCachesTempiCloud ContaineriOS File System에서 각 영역의 특성은 무엇이 있는지 살펴보고, 다음의 데
홀... 처음으로 테이블 뷰 cell에다 일일히 안그리고xib 사용해봤다 +\_+상어 블로그 보고 이해못해서 ^.ㅠ 끙Zedd 블로그 보고 따라했는데 됐다 👏iOS :: TableView xib로 구현하기iOS ) 왕초보를 위한 xib 사용법무서운 망각의 동물...
스위프트 성능 이해하기 - 유용하성능을 위해 고려할 것들 by 코드 스쿼드Understanding Swift Performance - WWDC 2016 - Videos - Apple DeveloperSwift ) (1) Understanding Swift Perform
ClassUICollectionViewCompositionalLayoutA layout object that lets you combine items in highly adaptive and flexible visual arrangements.\[iOS UICollec
Why/when do we have to call super.ViewDidLoad?명확히 이해는 안됨override 할 때 super 꼭 호출해야 하나요??? - 야곰닷넷super.viewDidLoad가 선택일 때와필수일 때가 나눠지는데그냥 내 짐작(?)으로는그걸 매번
switch 구문에서세그먼트 첫번째 케이스 0, 1로 나눠주고 싶은데그럼 switch에 뭐가 들어가야 될까? 고민했는데답은 segmentedControl.selectedSegmentIndex였다...!코드Swift - Segmented control - Switch m
컬렉션뷰 UI 다시 바로 잡기 ^.ㅠ (스택뷰 적용?!) 컬렉션뷰에도 데이타 불러오는거 마저 코드 적용하기 (커밋 해두기) 처음 목록을 로드할 때, 사용자에게 빈 화면만 보여주는 대신, 로드 중임 보여주기 ⭐️→ indicator 객체 띄워주면 된다고 함 !!! by
잔여 수량 0인거 품절 표시하기 할인가격 있는 상품 빨간색 글씨색 적용 + 중간 줄 그어주기 (키워드: strikethrough) 가격 3자리씩 끊어주기 (numberFormatter)Instance Methodstrikethrough(\_:color:)Applies
A race condition occurs when two threads access a shared variable at the same time.The first thread reads the variable, and the second thread reads th
Closure의 캡처링과 weak self 캡처링ARC랑 캡처리스트는 Swift.org를 참고공식 문서 지난번에도 봤지만 ^.ㅠ한번 읽고 뙇!!! 이해하면 천재지.... 🤔A closure can capture constants and variables from th
Swift provides two ways to resolve strong reference cycles when you work with properties of class type: weak references and unowned references.Weak an
이 3개 빼고 나머지 읽기Scheduling a Notification Locally from Your AppHandling Notifications and Notification-Related ActionsUndoManager Supporting Drag and Dr
today by 1pmiPad 가로모드 전용 앱입니다각 셀에는 제목 / 설명 / 기한이 표시됩니다 제목은 한 줄이며, 길면 잘라서 마지막 부분을 ...로 표시합니다 설명이 세 줄 이상이면 세 줄 까지만 표시합니다 설명이 세 줄 이하라면, 설명글의 높이에 맞게 셀의 높이
Q. 메모리에서 지역 변수와 매개변수가 저장되는 영역은? Stack 영역Heap 영역에 저장되는 것들? Reference semantics는 stack에는 reference인 주소값을 할당하고, 실질적인 데이터는 heap에 할당합니다. 대표적으로 class가 있으며 f
Instance MethodperformSegue(withIdentifier:sender:)Initiates the segue with the specified identifier from the current view controller's storyboard fil