목록분류 전체보기 (54)
Olive Study Room

예전에 했던 크롤링 관련 프로젝트를 다시해보는데, 다른 사이트에서는 되는데 특정 사이트에서 되지 않는 것을 발견했다. 그 사이트만 URL 끝부분에 html이 붙어있는 것을 발견해서 HTTP프로토콜에 대해 공부해보기로 한다! (이 문제가 아닐 수도..) HTTP 프로토콜이란? Request : client가 서버에 요청하는 것(이 경우 html을 요청) Response : 서버가 요청받은 것을 주는 것 protocol : 준수해야하는 규칙 -> 크롬 검사에서 Network에 각 name을 누르면 header를 확인할 수 있다. Request를 위한 메시지, Response를 위한 메시지로 구분되어 있다. 웹 브라우저가 웹서버에게 요청하는 Request header를 만들고 웹서버는 Response head..

Candy struct의 Category가 RawRepresentable 프로토콜을 채택했는데 어떤 프로토콜일까? 먼저, raw value(원시값)이란? Raw values enum(열거형) 사용 시 swift에서는 case에 자동으로 정수값이 할당되지 않고(category를 예를 들면 all에는 0, chocolate에는 1이 자동 할당되지 않는다는 의미), case이름이 raw value가 된다. String, Character, Int 타입만 가능하다 -> 자료형마다 원시값 규칙 존재 (string: case 이름과 동일/Charater: 직접 할당해줘야만 함/Int: 0, 1.. 순서대로 할당됨) 필수로 지정해주지 않아도 된다. enum month: Int{ case Jan case Fab cas..
var searchBar: UISearchBar { get } interface에 설치하기 위한 search bar 검색가능한 콘텐츠를 보여주기 이전에, view 계층 어딘가에 search bar를 설치한다. search bar는 콘텐츠를 검색하는 시작점이다. search bar와의 상호작용은 (검색정보가 변경될 때마다 searchResultsUpdater 속성의 개체에 알리는) UISearch Controller 객체에 의해 자동적으로 작동된다. UISearch Controller를 서브 클래스로 지정하고 커스텀 실행을 되돌리기 위한 이 프로퍼티를 오버라이딩함으로써 custom search bar를 제공할 수 있다. Search bar를 정확한 형태로 보장하기 위해, 아래 코드와 같이, 처음 요청했을 ..
[ 알고리즘? ] 프로그래밍 언어를 사용해 하나의 작업을 수행하는 방법에 대한 서술. 프로그래밍 언어와 독립적일 뿐만 아니라 알고리즘이 구현된 프로그램을 실행하는 기계와도 독립된 추상적인 실체. 알고리즘의 분석 *실행시간의 분석 알고리즘의 자원(resource: 실행시간, 메모리, 저장장치, 통신 등) 사용량을 분석. 시간 복잡도 실행 시간은 실행 환경에 따라 달라짐 ex) 하드웨어, 운영체제, 언어, 컴파일러 등 실행 시간을 측정하는 대신 연산의 실행 횟수를 카운트 연산의 실행 횟수는 입력 데이터의 크기에 관한 함수로 표현 데이터의 크기가 같더라도 실제 데이터에 따라 다름 ex) 최악의 경우 시간복잡도( worst-case analysis), 평균 시간복잡도(average-case analysis) 점..

PhotoKit이란? iCloud Photo와 Live Photo를 포함하여 Photos 앱에서 관리하는 이미지와 비디오 asset를 사용한다. iOS와 macOS에서 PhotoKit은 Photos 앱을 위해 사진 편집 확장 기능을 지원하는 클래스를 제공하고, 앱을 통해 다뤄지는 사진과 비디오에 직접 접근을 제공한다. Photokit을 통해 display를 위한 asset을 fetch하고 cache할 수 있고, 이미지나 비디오 콘텐츠를 편집하고, 앨범과 순간들, 공유된 앨범과 같은 asset collection들을 관리할 수 있다. -> iOS의 기본 사진 앱이 관리하는 사진과 비디오와 같은 aseets에 직접 접근하여, 데이터를 가져오거나 편집, 삭제 등을 할 수 있게 해주는 프레임워크(프레임 워크가 ..

앞서 알아야 할 개념 연산 대기열 (Operation Queue) : 비동기적으로 실행되어야 하는 작업을 객체 지향적인 방법으로 사용 종속성 (Depedency) : A작업이 끝나면 B작업을 수행해야하는 관계 [ GCD ] Grand Central Dispatch(GCD) : 멀티코어 하드웨어에서 동시에 코드를 실행할 수 있도록 하는 애플 제공 C기반 저수준 api. 해야할 일들을 넘기면 시스템에서 스레드를 할당하고 처리한다. Dispatch queue 클래스를 갖는다. FIFO [ Dispatch Queue ] 앱의 메인스레드나 백그라운드 스레드에서 작업 실행을 순차적 또는 동시에 관리하는 GCD의 클래스 1. Serial Dispatch Queue - 직렬 큐 대기열의 작업을 차례로 처리한다. 분산된..

1. 프로세서, 코어, 프로그램과 프로세스, 스레드의 개념 2. 비동기 프로그래밍과 동시성 프로그래밍 3. 병렬성 프로그래밍 4. 동시성과 병렬성의 차이 https://pengcoder.tistory.com/22 -> Sync, Async, 병렬 프로그래밍, 직렬 프로그래밍에 대한 자세한 내용 확인!! 1. 프로세서, 코어, 프로그램과 프로세스, 스레드의 개념 프로세서 : 하드웨어적인 측면에서 컴퓨터 내의 프로그램을 수행하는 하드웨어 유닛. (ex. CPU(Central Processing Unit)) 한 컴퓨터가 여러 개의 프로세서를 갖으면 '멀티 프로세서' / 한 컴퓨터가 두 개의 프로세서를 갖으면 '듀얼 프로세서' 코어 : 주요 연산 회로. 싱글코어, 듀얼코어, 멀티코어 프로그램, 프로세스 : 프로..
Codable typealias Codable = Decodable & Encodable 스위프트의 인스턴스를 다른 데이터 형태로 변환하고 그 반대의 역할을 수행하는 방법을 제공 스위프트의 인스턴스를 다른 데이터 형태로 변환할 수 있는 기능을 Encodable 프로토콜로, 그 반대의 역할을 할 수 있는 기능을 Decodable로 표현. 그 둘을 합한 타입을 Codable로 정의 Decodable 스위프트 타입의 인스턴스로 디코딩할 수 있는 프로토콜 Encodable : 스위프트 타입의 인스턴스를 인코딩할 수 있는 프로토콜 * 인코딩 : 정보의 형태나 형식을 표준화, 보안, 처리 속도 향상, 저장 공간 절약 등을 위해서 다른 형태나 형식으로 변환하는 처리 혹은 그 처리 방식(출처 : 위키백과 - 부호화)...