본문 바로가기

iOS111

[앱기획] 프로토타이핑 프로토타이핑을 왜 해야할까 아이디어로 바로 코딩하면 망한다. 최소한 스케치 정도는 해야함 없이 개발하다 보면 원래 목적과 다른 이상한 앱이 탄생함 말로 하면 서로 다르게 이해할 수 있음 그림을 통해 같은 생각을 공유해보자 Prototype is a living mockup 디자이너나 기획자 만의 책임이 아니다. 디자인은 어떻게 동작하느냐에 대한 문제이기 때문이다. 목업 vs 프로토타입 목업: 실물모형 프로토타입: 시제품(실제로 동작하는 듯한) 목업 스케치 방법 연필과 종이 키노트 (애플 디자인 페이지에서 Keynote 용 에셋) (근데 처음에는 손으로 그리는게 좋다) Apple Design Resources Design apps quickly by using Sketch and Photoshop temp.. 2020. 8. 24.
Design Pattern - Model View ViewModel Pattern 중급(책에 따르면) 디자인 패턴 시작이다. 이전까지 배운 기초 패턴은 다음과 같다. MVC Delegation Strategy Singleton Memento Observer Builder 어떤 패턴인지 알고 사용한 경우도 있었고 코드 컨벤션인줄 알고 아 이렇게 쓰나보다하고 썼던 코드가 디자인 패턴이였구나 알게된 경우도 있었고 써보지도 않았고 처음 알게된 경우도 있었다. 그럼 중급 패턴으로 한번 가보자 MVVM - Model View ViewModel MVVM은 각각의 객체들을 3가지 그룹으로 나누는 Structural design pattern 이다. Model: 앱 데이터를 담고있다. 대부분 구조체이거나 단순한 class 로 구성된다. Views: 시각적인 요소와 스크린의 control를 담당한다. .. 2020. 8. 24.
프로토타입 준비하기 iOS HIG 읽어봐야함 이번주차 강의 영상에 포함되어 있음 샌드박스, 멀티태스킹 제약 어도비XD, 키노트로 프로토타입 만드는법 팀이 만들어지고 난 다음은 HIG공부 해야함 ADS 시트에 이름 등록 2020. 8. 23.
코딩배우기와 프로토타이핑 고민상담소 지금 재밌는데 어려워질까 걱정이에요 걱정은 커리큘럼과 강사님이 처치했으니 안심하라구 개발 잘 하는 분들 많던데 전 디자인만 하게 되는거 아닌가요? 모두 코딩을 해야합니다. (결론적으로) 크림 (한정판 스니커즈 판매 플랫폼) 인원 7명이 6개월 동안 개발함 사업기획/마케팅 리드/디자인 (PM) (디자인50프로) 서버1 안드1 안드(서버) iOS 2 결론은 디자인은 한번 픽스되면 많이 변경되지 않는다. 앱개발하는데 개발자가 많이 필요하다. 앱 아이디어를 낼때 구현 가능성도 생각해야 하나요? (서버, AR, 인공지등 etc) 해도됩니다. (팀원을 믿으세요) 추후에 팀회의도 할것이기 때문에 일단 아이디어는 풍부하게 코딩 배우기1 - 방향을 바꿔서 한칸만 앞으로가서 보석이 계속 있는 상태로 만들었기 때.. 2020. 8. 15.
Design Pattern - Builder Pattern Builder Pattern 복잡한 Object 에 대해 initializer에서 필요한 모든 input을 입력하지 않고 단계별로 input을 줄 수 있게 한다. 빌더 패턴은 3가지 부분으로 나눠진다. director: input 을 accept 하고 builder 와 coordinate 한다. 대부분 view controller에 의해 사용되는 view controller 나 helper class 가 담당한다. product: 생성하기 힘든 복잡한 객체이다. struct 나 class 가 될 수 있고 대부분 model 역할이다. 그런데 use case 에 따라 아무 타입이나 다 될 수 있다. builder: 단계별로 input을 받고 product 의 생성을 처리한다. 대부분 class 이고 refe.. 2020. 8. 9.
Design Pattern - Observer Pattern Observer Pattern Observer 패턴은 하나의 Object 가 다른 Object의 변화를 관찰 할 수 있는 패턴이다. Apple 은 이 패턴을 Swift5.1에 언어수준에서 RxSwift 와 비슷한 Publisher 와 Combine 프레임워크를 통해서 공식적으로 지원하는 패턴으로 추가하였다. 패턴은 세가지 타입을 포함한다. subscriber: 변경된 사항에 대해 업데이트를 받는 관찰자 object publisher: observable(관찰가능한) object, 변경되면 업데이트를 subscriber 에게 알려줌 value: 객체의 변경된 값 Observer Pattern - 언제 사용해야 할까 다른 객체의 변경사항을 알고 싶을때 MVC 패턴에서 주로 쓰인다. Subscriber: vi.. 2020. 8. 9.
Design Pattern - Memento Pattern Memento Pattern 메멘토 패턴 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 메멘토 패턴(memento pattern)은 객체를 이전 상태로 되돌릴 수 있는 기능을 제공하는 소프트웨어 디자인 패턴이다. (롤백을 통한 �� ko.wikipedia.org 메멘토 패턴은 Object를 저장하거나 불러오게 할 수 있다. 3가지 부분으로 나눠진다. Originator: 저장되어야 할 객체이다. memento: 저장된 상태를 나타낸다. CareTaker: - save: careTaker는 originator에게 저장을 요청하고 memento 로부터 응답을 받는다. - restore: memento를 유지하는 역할을 담당하며 추후에 originator .. 2020. 8. 9.
Design Pattern - Singleton Pattern Singleton Pattern - 싱글톤 패턴 class 가 하나의 instance 만 가지도록 제한한다. 모든 class 에 대한 reference 는 하나의 같은 class 에 대한 instance를 참조한다. (Single) iOS 앱 개발에서 겁나 자주 쓰이고 Apple 이 광범위하게 쓴다. 다른 instance 를 생성하는 shared singleton instance를 제공하는 Singleton Plus 패턴도 자주 쓰인다. Singleton Pattern 언제 사용해야 할까? 하나 이상의 동일 class 의 instance 를 가지게 되면 문제가 생길때 로직상으로 하나 이상의 동일 class 에 대한 instance 를 가지면 안될때 Singleton Plus Pattern 언제 사용해야 .. 2020. 8. 9.
[8월1주차-토] 수업 오리엔테이션 수업 안내 커리큘럼 코딩배우기 1, 2 AP CS Principles iOS HIG, AppStore Review Guideline 프로토타이핑 App Dev with Swift 커리큘럼 밖 시도해볼 것들 ML: CreateML, CoreML SwiftUI AR 과정의 전체적인 내용 Everyone can code Everyone Can Code Everyone Can Code is a new approach to coding that gives everyone the power to learn, write and teach code. www.apple.com 계산적 사고 분리해결: 큰 문제를 쪼개서 해결하는 훈련 추상화: (제일 중요한듯) 일상적인 사례들을 코드로 표현하는 것 패턴인식: 문제가 일어나는.. 2020. 8. 8.
Design Pattern - Strategy Pattern Strategy Pattern Strategy Pattern 은 런타임에 set 되거나 switch 될 수 있는 interchangeable 한 객체의 집합을 정의한다. Who (Object Using a Strategy): interchangeable 해야 하는 객체가 담당할 수 있다. iOS 앱에서 이 부분은 view controller 가 담당한다. What (strategy protocol): 모든 strategy 가 반드시 구현해야할 메소드를 정의한다. How (Strategies): strategy protocol 을 준수하는 객체들이다. 언제 사용해야 할까 두개 이상의 다른 behavior이 interchangeable 해야 할 때 사용한다. 이 패턴은 delegation pattern 과 .. 2020. 8. 7.
iOS: Repository pattern in Swift [출처] iOS: Repository pattern in Swift A design pattern to abstract data sources from your application medium.com Repository Pattern 리포지토리 패턴은 디자인 패턴으로 데이터의 추상화를 제공하여 어플리케이션이 추상화된 인터페이스로 작업할 수 있게 해준다. 즉 데이터 출처에 관계없이 동일한 인터페이스로 어플리케이션이 데이터를 사용할 수 있게 해준다. 장점으로는 결합도를 낮출 수 있다. 도메인 객체를 persistence ignorant 하게 할 수 있다. 정의된 인터페이스를 구현하는 mock에 DI 할 수 있으므로 테스팅하기 쉽다. 글에서 작성된 예시를 보자면 Tiendo iOS 앱에서 리포지토리 패턴을 .. 2020. 8. 7.
Design Pattern - Delegation Pattern Delegate: 대리자 Delegation Pattern 은 한 객체가 다른 Helper 객체를 통해 데이터를 전송하거나 특정 업무를 대신 할 수 있게 해주는 패턴이다. (Delegation Pattern enables an object to use another "Helper" Object to provide data or perform a task rather than do the task itself) Delegation Pattern 의 3가지 부분 Object needing a delegate: delegating object 라고도 한다. Delegate 를 가진 객체를 말하며 delegating 객체가 delegate 를 retain 할때 발생할 수 있는 retain cycle 을 피하기 .. 2020. 8. 6.
[앱기획] Skeuomorphism (스큐어 모피즘) 형태는 기능을 따른다. 루이스 설리반, 건축가 1896 디지털 스큐어 모피즘 아날로그적인 향수를 불러일으켜 사용자에게 현실세계와 대응하는 일을 환기시키는 디자인 iOS7 이전의 디자인 컨셉 그리스어원 스큐어:용기 - 모프: 형 원래 필요에 의해 만들어진 뒤 장식으로 남아 있는 것 기능과 무관하게 아날로그적인 향수를 자극하기 위한 장식요소 X4. GUI 이해하기— 스큐어모피즘과 플랫디자인 이번에는 GUI의 그래픽적 방향에 대해 살펴보려고 합니다. medium.com 디자인적인 요소들이 목표로 하는 행위에 대해 반드시 필요한 것인가? 를 생각해 보자 iBooks 의 경우 페이지를 넘길 때 책장이 넘어가는 듯한 애니메이션을 볼 수 있다. 과연 이것이 책의 컨텐츠를 읽는 목표에 대해 도움이 되는 건지 방해가 되.. 2020. 8. 4.
[앱기획] #ADS #페르소나 #멘탈모델 ADS - App Definition Statement concise, concrete declaration of an app's main purpose and its intended audience. ADS 는 결국 App 서비스를 한줄로 설명하는 것. 모든 애플의 앱서비스는 ADS 가 정의되어있다. App Definition matthewbischoff.com 주로 정의에는 3가지가 포함된다. 누구를 위한 (target audience) 어떤 기능의 어떤 차별점을 가지는 예를들어 누구: 예를들어 대학생을 타겟으로 할때 좀더 구체적으로 입학생 등의 구체적인 타겟을 정하고 그 범위를 늘려가는게 좋다. 기능: 예를들어 가계부인데 돈을 펑펑쓰면 장미가 시들거나 차트 등으로 보여주는 등의 구체적인 기능 차별점.. 2020. 8. 4.
Reusable Horizontal UICollectionView in UITableView 해커톤을 위해 토이 프로젝트를 하고 있다. 디자인이 슬슬 나오기 시작한다. 오늘 조진 GUI 화면 구현이 조금 복잡하여 블로그에 정리해보려 한다. 기록하려는 것이기 때문에 설명 불친절 주의☠️ Reusable Horizontal UICollectionView in UITableView 라는 뜻은 아래의 스크린 샷과 같은 UI를 내가 표현해본 것이다. 큰틀로 UITableView를 유지하면서 중간중간 Cell 에 Horizontal 하게 Scroll 될 수 있는 UICollectionView 를 넣어주는 것이다. 처음엔 그냥 UIScrollView 에 UIVIew로 나눠서 하나씩 UICollectionView 를 넣으려 했다. 문제는 생각보다 저 UICollectionView 가 똑같이 사용되는 UI 가 .. 2020. 8. 3.
Dreamin iOS 맥북프로 언박싱! Dreamin iOS Academy 에 합격하고 맥북이 오기를 기다리고 있었다. 소포가 하나 왔다. 안에는 맥북과 웰컴키트가 있었다. 그리고 미션도 있었다. 맥북 언박싱 영상 을 찍어야 했다. 이런거 잘 못하는데,, 그래도 해야된다. 그게 약속이니까 그래서 찍은 영상이다. 생애 최초이자 최후의 언박싱 영상 이렇게 하는게 맞는지 모르겠다. 아무튼, 웰컴 키트 구성품에는 티셔츠, 잔, 호두과자, 샴페인잔이 있었다. OT 때 같이 언박싱 한다하여 따로 올리진 않는다. 화상으로 연회같은걸 하려나 보다. 중요한 받은 맥북 사양은 이렇다. MacBook Pro 13형 - 제품 사양 프로세서 속도, 하드 드라이브 용량, 메모리 등 MacBook Pro에 대한 전체적인 제품 사양입니다. www.apple.com 확실히.. 2020. 7. 31.
한화 Dreamin iOS Academy 최종합격 후기 Academy > Connect your Dream > dreamin | 드림인 dreamin iOS Academy dreamin.career 과정 자기소개서 및 서류 제출 1차 온라인 테스트 2차 온라인 면접 합격 지원하게 된 계기 평소에 iOS 개발자를 목표로 하고있다고 내 주변 사람들은 다 알고있다. 그래서 그런지 iOS 개발 직군쪽 채용이나 교육과정과 같은 좋은 기회가 있으면 내게 공유해 주시는 편이다. 무척 감사하다. 지인중 한분이 이 과정을 소개해 주셨고 졸업하기 전 iOS 관련 교육과정을 경험해 보고 싶었던 나는 고민없이 지원하게 되었다. (혼자 iOS 개발을 배웠는지라, 커리큘럼이 있는 교육과정을 받아보고 싶었다.) 자기 소개서 및 서류 작성해야하는 글의 내용은 인턴이나 신입 채용을 위한 .. 2020. 7. 29.
버스탈때 볼 iOS Interview Questions 정리 버스에서 유투브는 잘도 보면서 어지럽다고 [출처: JeaSungLEE/iOSInterviewquestions] JeaSungLEE/iOSInterviewquestions 👨🏻‍💻👩🏻‍💻iOS 면접에 나올 질문들 총 정리 . Contribute to JeaSungLEE/iOSInterviewquestions development by creating an account on GitHub. github.com iOS Bounds 와 Frame 의 차이점을 설명하시오. iOS ) Frame과 Bounds의 차이 (1/2) 안녕하세요 :) Zedd입니다. 지금 다른 글을 쓰고있는데, 쓰면 쓸수록 쓸 주제가 많아집니다...급 이 글을 쓰게 됐어요 XD.. 아무튼 오늘은 저도 궁금했던 Frame과 Bounds의 차.. 2020. 7. 22.
Design Pattern - MVC MVC Class Diagram Model: 앱 데이터를 가지도 있다. struct 나 간단한 class 로 구성된다. Views: 시각적인 요소들과 화면을 담당한다. UIView 의 Subclass 이다. Controllers: model 과 view를 통합시킨다. Controller 는 model 과 view의 string properties를 가져 직접 access가 가능하다. 또한 하나 이상의 view와 model 을 가질 수 있다. 반대로 model 과 view 들은 controller 에 대한 string reference 가 없어 retain cylce의 문제가 발생할 수 있다. 대신에 model 은 property observing 을 통해 controller 와 통신한다. view 는 I.. 2020. 7. 14.
Design Pattern - Class Diagram 2020. 7. 14.
Design Pattern - Introduction 디자인 패턴은 Design Patterns: Elements of Reusable, Object-Oriented Software 라는 책에서 처음 다뤄졌다. 흔히 발생하는 소프트웨어 개발 문제에 대한 재사용 가능한 템플릿 솔루션을 다웠다. 디자인 패턴은 어떤 특정 상황이 아닌, 문제 상황에서 해결을 위해 차용할 수 있는 솔루션인 것이다. not concrete implementation (정확히 정해진 완벽한? 규격? 이 없다) -> serve as starting points for writing code (디자인 패턴을 뼈대로 시작하는 것) 디자인 패턴 3가지 종류 Structural design pattern: 큰 구조를 위해 어떻게 object가 결합 되는지 설명한다. 예를들어 MVC, MVVM,.. 2020. 7. 14.