일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- JSONEncoder
- Swift
- unowned
- UIDocument
- weak
- Arc
- reactivex
- PhotoKit
- 에어팟
- rxswift
- AVFoundation
- Singleton Design Pattern
- Hashable
- UIGestureRecognizer
- Observable
- NSAttributedString
- JSONDecoder
- UIDocumentBrowserViewController
- IOS
- uicollectionview
- Stanford cs193p
- CustomStringConvertible
- UIDynamicAnimator
- Codable
- Equatable
- UIBezierPath
- 오늘의성취도
- Git
- MVP
- CoreGraphics
- Today
- Total
목록전체 글 (39)
아직은 개린이
Observables are a fundamental part of RxSwift, but they're essentially read-only. You may only subscribe to them to get notified of new events they produce. A common need when developing apps is to manually add new values onto an observable during runtime to emit to subscribers. What you want is something that can act as both an observable and as an observer. That something is called a Subject. ..
Observable 생성해보기 이전 글에서 Observable이 무엇인지 알았으니, 실제로 몇가지 Observable을 만들어 어떻게 동작하는지 알아보자. 1) .just() 오직 하나의 요소를 포함하는 Observable sequence 생성 2) .of() 두 개 이상의 요소를 방출 3) .from() 배열에 저장된 요소를 하나씩 방출 Observable 구독하기 위 코드들에서 Observable을 생성하고, 이 Observable을 subscribe 메소드를 통해 구독을 해야만 이벤트가 출력되는 것을 확인할 수 있다. 즉, Observable은 실제로 sequence의 정의일 뿐, Observer가 subscribe하지 않는다면 아무런 이벤트도 내보내지 않는다! Subscribe는 observabl..
Observable 이란? ReactiveX에서 Observer는 Observable을 구독한다. Observable이 배출하는 하나 또는 연속된 항목에 Observer는 반응한다. 이러한 패턴은 동시성 연산을 가능하게 한다. 그 이유는 Observable이 객체를 배출할 때까지 기다릴 필요 없이 어떤 객체가 배출되면 그 시점을 감시하는 관찰자를 옵저버 안에 두고 그 관찰자를 통해 배출 알림을 받으면 되기 때문이다. ReactiveX 공식 문서에 나온 내용은 위와 같다. 이해한대로 끄적여보면.. Observable이라는 애(?)에서는 객체들이 배출되고, 배출된 객체들은 옵저버에 의해 캐치되어서 뭔가 다음 작업을 할 수 있다는 것인데... 뭔가 알듯 말듯 아리송한 느낌이다. 그러던 중 몇몇 블로그에서 쉽게..
Reactive Programming 이란? Reactive Programming is programming with asynchronous data stream. 리액티브 프로그래밍의 주요 key는 비동기적인 데이터 흐름(stream)을 처리한다는 것이다. 쉽게 말해 데이터를 관찰(Observe)하고 있다가 무언가 변화가 생기면 그에 따른 데이터 혹은 UI 업데이트 같은 일을 수행하는 것이다. a = b + c를 수행하는 함수가 있을 때 b와 c가 변해도 이 함수를 호출하지 않는 이상은 a 값이 변하지 않는 것이 명령형 프로그래밍의 특징이라면, 리액티브 프로그래밍에서는 b와 c가 변함과 동시에 b + c를 계산하여 a 값을 업데이트한다! 비동기 프로그래밍이 왜 필요한가? 사용자가 버튼을 눌렀을 때 그에..
오늘부터 틈틈히 Apple의 Human Interface Guidelines(HIG)을 살펴보고, 정리해보려고 합니다. 지금까지는 아이폰 유저로서 경험했던 것을 기반으로 UI 위치나 버튼의 위치 등을 구성하긴 했지만, 좀 더 명확히 애플의 identity를 이해하여 앱을 설계하고, 협업 시에도 추상적인 용어가 아닌 분명한 기준으로 소통하기 위해 필요할 것 같아서 HIG를 살펴보려고 합니다! https://developer.apple.com/design/human-interface-guidelines/ Human Interface Guidelines - Design - Apple Developer Human Interface Guidelines Get in-depth information and UI re..
소개 영화, 책, 전시회 등의 카테고리를 설정하고, 리뷰를 기록 및 관리하기 위한 앱 사용한 기술 및 라이브러리 Swift5 Alamofire 네이버 검색 Open API Firebase Realtime DB, Firebase Storage 개발 인원 및 기간 1인 2020.03.28 ~ 2020.03.30 https://github.com/jiyeonlab/PieceShelf jiyeonlab/PieceShelf 영화, 책, 드라마 등의 데이터를 기록하는 앱 제작. Contribute to jiyeonlab/PieceShelf development by creating an account on GitHub. github.com 기능소개 메인화면 Tab Bar Controller를 이용하여, Main 탭..
.gitignore 파일은 Git이 추적하지 않을 파일들을 적어둔 파일이다. 보통 git 프로젝트를 생성할 때, https://www.gitignore.io/ 여기에서 파일을 자동 생성하여 올린다. 근데 프로젝트 중간에 특정 파일을 git에 올리고 싶지 않아서, .gitignore에 해당 파일 목록을 추가한 후, push했는데..! 적용되지 않는 문제를 발견했다. .gitignore 파일을 업데이트 하고 싶을 때는 기존 .gitignore 파일을 삭제하고 다시 올려야 한다. 따라서, 아래와 같은 순서로 작업해야한다. git rm -r --cached . git add . git commit -m ".gitignore update"
앱을 하나 만들고 나니.. 내가 어떤 부분을 더 보완해야하고, 어떤 부분을 제대로 이해하지 못했는지 정리가 좀 되는 것 같아요..! (아직도 부족한게 참 많지만...) 그래서 오늘 해보려는 것은 Unit Test 입니다. Unit Test에 대해 알아보기 전에 우선 TDD에 대해 알아보겠습니다. TDD란? TDD란 Test-Driven Development의 약자로, 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나입니다. 작성해야하는 프로그램에 대한 테스트를 먼저 작성하고, 이 테스트를 통과할 수 있도록 코드를 짜는 것입니다. 테스트를 통과하면 다음 테스트를 작성하고, 통과하는 작업을 반복하는 것이지요. 간단한 예시로 생각해볼까요? A라는 메소드는 "파라미터로 받은 값이 4로 나누어떨..