안녕하세요 Hani입니다. 클로저를 공부하다가 맞이한 일급객체(First class Citizen)..! 일급객체에 대한 이해가 선행되어야할 것 같아서 바로 알아보러 가겠습니당🔥 일급객체는 다음 세 가지 조건을 만족하는 객체를 말합니다. 변수나 상수에 저장 및 할당을 할 수 있어야 합니다. 인자(Argument)로 전달될 수 있어야 합니다. 반환할 수 있어야 합니다. 스위프트의 함수는 일급객체의 조건을 만족시킨다고 하는데요..! 일단 만만한 함수를 하나 만들어놓고 스위프트에서의 함수가 일급객체에 속하는지 확인해 보겠습니다. //function func summation(_ L: Int, _ R: Int) -> Int { return L + R } //변수나 상수에 저장 및 할당을 할 수 있어야 합니다. ..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bLCcDV/btq4OhEVJzf/ElrgfVnVqdcfoWJxhBS981/img.png)
안녕하세요 Hani입니다. 이번에는 클로저를 알아보겠습니다. 클로저를 공부하려고 마음먹은 계기는 ..! Action Sheet를 사용하려고 했는데 Action을 누르면 어떤 행동을 할 것인지 정하는 handler가 있었기 때문이에요. 사실 비슷한 인자를 Present에서도 본 적이 있습니다. 다만 화면 전환만을 목적으로 할 때는 이 인자에 굳이 뭘 넣을 필요가 없었기 때문에 그냥 넘어갔었어요🥺 하지만 Action Sheet는 눌렀을 때의 동작을 직접 넣어줘야 하기 때문에 지나칠 수 없었답니다. 하여튼 클로저라는 게 스위프트에서 처음 접한 생소한 단어라서.. 일단 빌드업으로 함수에 대하여 얘기해보겠습니다. //function func summation(_ L: Int, _ R:Int) -> Int { re..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bxgLz4/btq4hI13uPC/UZoAIKBqesVfvHNSJywSLK/img.png)
안녕하세요 Hani입니다. 이번에는 stackView에 대하여 알아보겠습니다. stackView 오토레이아웃은 뷰 사이의 Constraints를 통해 각 뷰의 위치(leading, top, bottom, trailing)와 크기(width, height)를 생성하는 방법입니다. 하지만 화면에 보여줄 Content들이 늘어나면 그만큼 복잡하면서도 오류가 없는 Constraints를 만들기 위해 애를 써야 합니다..! 그래서 한번 stackView라는 걸 써볼 거예요. stackView는 수평이나 수직 방향의 뷰들을 구성할 때 오토레이아웃 구성하기 편하게 만들어주는 뷰입니다. stackView는 컨테이너처럼 UIView 객체들을 담을 수 있는 arrangedSubviews 저장 프로퍼티를 가지고 있는데, 이..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/nYcUB/btq3UT4javB/NnrsesZFZroOhm1UAWKFu0/img.png)
안녕하세요 Hani입니다. Swift에서는 모든 저장 프로퍼티가 초기 값을 받을 수 있도록 도와주는 두 종류의 Initializer를 제공합니다. Init과 Convenience Init, 두 Initializer의 차이에 대하여 알아보겠습니다. Init Init(=Designated Init)은 Swift의 기본 생성자입니다. 생성자를 통해 Class, Struct, Enum의 인스턴스에 담길 저장 프로퍼티의 초기 값을 설정할 수 있습니다. 하지만 Init은 타입 안에 존재하는 모든 저장 프로퍼티에 대해 초기화를 해야 한다는 조건이 있습니다. 단, 프로퍼티의 기본 값을 정해주는 경우나 저장 프로퍼티가 옵셔널이라면 Init에 포함되지 않아도 괜찮습니다. struct Color { let red, gree..
www.acmicpc.net/problem/3020 3020번: 개똥벌레 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 www.acmicpc.net 백준 소스코드 [C++] 3020 개똥벌레 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define all(v) v.begin(), v.end() #define pii pair #define pli pair #defin..
안녕하세요 Hani입니다. 병렬성을 위한 파이프라인에 이어서 이번 시간에는 파이프라인 해저드에 대하여 알아보겠습니다. 파이프라인은 '모든 명령이 정해진대로 수행된다'는 것을 가정합니다. 반대로 말하면 다음 명령이 다음 사이클에 수행될 수 없는 상황을 마주하게 되면 파이프라인이 깨집니다. 파이프라인을 망가트릴 수 있는 몇 가지 위험들을 알아보겠습니다. Structural hazards 하드웨어가 동일한 클럭 사이클에서 실행하고자 하는 명령의 조합을 지원하지 않는 경우가 있습니다. 쉽게 말하자면, 한 클럭에서 두 가지 이상의 명령이 같은 메모리 주소의 자원을 필요로 하는 경우입니다. A, B, C 명령이 있고 A, B 명령이 같은 자원을 필요로 한다면 C와는 무관하지만 A와 B간 해저드가 생깁니다. Data..
- Total
- Today
- Yesterday
- 네트워크 유량
- HIG
- WWDC16
- 포드 풀커슨 알고리즘
- 부스트캠프 6기
- WWDC21
- CompositionalLayout
- Testable
- 다익스트라 시간복잡도
- observeOn
- 강한 순환 참조
- 벨만포드 시간복잡도
- 네트워크 플로우
- 컴퓨터 추상화
- 에드몬드 카프 알고리즘
- WWDC19
- 최단경로 알고리즘
- 벨만포드 알고리즘
- 최단경로 문제
- 코딩대회
- State Restoration
- 최대 매칭
- 최단경로문제
- mach-o
- MeTal
- WWDC17
- CPU와 Memory
- test coverage
- IOS
- rxswift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |