본문 바로가기

반응형

자린고비 독학하기

(122)
[iOS] 싱글톤 패턴을 iOS적으로 이해하기 디자인 패턴을 통해 소프트웨어를 개발하는 것이 당연해지면서, 우리는 여러가지 디자인 패턴을 사용한다. 오늘은 이중 iOS의 관점에서 싱글톤 패턴에 대해 이야기해 보려고 한다. 싱글톤 패턴 특정 클래스의 인스턴스는 딱 한 번만 생성해 전역에 두고, 해당 인스턴스만 참조할 수 있도록 하는 것 프로그램에서 하나의 인스턴스만 사용해야 하는 경우 유용함 (주로 회원 정보 등~) 하나의 단일 인스턴스 사용을 위해 뷰 컨트롤러마다 계속 주입받고, 주입받고...... 하지 않게 도와준다 Swift에서 Singleton Class 만들기 class UserInfo { // 1. static 프로퍼티로 인스턴스 생성 static let shared = UserInfo() var id: String? var password..
[iOS] Protocol(프로토콜)이란? 우리는 일상을 살아가면서 규약과 규칙을 지킨다. 누군가가 세워둔 규약을 준수하는 것은 범용성 있는 사회를 규칙적으로 돌아가게 하는 하나의 약속이다. 오늘은 Swift 언어에서 그러한 역할을 하는 Protocol에 대해 이야기해 보려고 한다. Protocol 청사진, 인터페이스. 해당 객체가 최소한으로 지녀야 할 프로퍼티 / 메서드를 정의함 클래스나 구조체에 적용(Conform) 프로토콜이 지닌 프로퍼티 / 메서드를 구현할 수 있음 프로토콜은 한마디로 하면 이다. 해당 프로토콜을 준수한 클래스나 구조체가 있을 때, 우리는 해당 프로퍼티와 메서드는 당연히 있을 거라는 확신을 가질 수 있다. 프로토콜 생성 protocol { } 프로퍼티: 연산 프로퍼티만 가능, get/set 유무만 표현 메소드: 구현부 제외..
[iOS] iOS 관점에서 보는 MVC 패턴 웹과 앱을 개발할 때 사용하는 여러가지 아키텍처 디자인 패턴이 있다. 우리가 가장 보편적으로 사용하는 모델인 MVC와 그에 파생되어져 나온 MVP, 그리고 MVVM. 오늘은 이중 iOS의 관점에서 MVC 패턴에 대해 이야기해 보려고 한다. MVC : Model - View - Controller Model: 비즈니스 로직 처리 / 데이터 저장 - 데이터 구조 View: 사용자가 보게 되는 UI Controller: 뷰와 모델 사이 접착제이자 뷰와 모델의 상태 제어 MVC는 가장 많이 사용되고 있는 패턴으로서, 비즈니스의 로직과 사용자에게 보여지는 화면을 분리하는 것에 중점을 두는 방식이다. 역할에 따라 세 가지 구분을 가진다. View는 간단하게 화면, Model은 비즈니스 로직을 처리하고 데이터와 그 ..
[개발 상식] Restful API란 무엇인가? RESTful 레스트, 개발을 하다 보면 참 많이 들리는 단어입니다. 그건 레스트풀하지 못해. 그건 레스트랑 조금 어긋나지 않아? 그런 이야기들 말이죠. 많이 사용하는 이 단어에 대해서 얼마나 정확하게 알고 계신가요? 오늘은 RESTful - 즉, 레스트스러운 것을 알아보고, 다음 시간에는 REST 창시자가 이야기한 찐 REST가 무엇인지 알아보도록 하겠습니다. What is Rest? REST : 아키텍처 스타일 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처 - MDN 네트워크 리소스를 정의하고 처리하는 방법을 설명하는 일련의 원칙을 기반으로 하는 아키텍처 스타일 HTTP의 장점을 최대한 활용할 수 있는 아키텍처(원칙) REpresentational State Transfer 자원의 표현에 의한 ..
[iOS] TableView vs CollectionView TableView vs CollectionView 한 화면에 여러 개의 분리된 공간을 나타내야 할 때, 우리는 웹에서 페이징 같은 방식을 사용해 왔다. 그러나 수직 공간을 엄지로 스크롤 할 수 있는 휴대 전화 화면의 경우 스크롤 뷰가 더욱 보편적이다. 오늘은 스크롤 뷰 중 대표적인 두 가지에 대해 비교해 보겠다. 공통점 UIScrollView(Bounds 이용 - Bounds가 궁금하다면 클릭!)를 상속받는 서브 클래스 Cell을 기반으로 여러 데이터를 표현할 수 있는 View 즉, 2차원으로 놓여진 무작위 아이템 두 가지 다 UIKit 중 UIScrollView를 상속받은 뷰이다. UIScrollView를 상속받은 뷰는 이것들 외에도 UITextView 등이 있으며, 오늘 설명할 Cell 기반의 2차원..
[iOS] Frame과 Bound를 비교해 보자 Frame / Bound iOS 앱 개발은 결국 화면단 개발이 주가 될 수밖에 없다. 그때 다루게 되는 View. 이러한 뷰들을 여러 가지로 중첩해서 사용하다 보면 만나는 요소 속성인 Frame과 Bounds에 대해서 공부하고, 비교해 보았다. 공통점 차이점 CGRect로 구성 CGRect : 높이와 너비 (CGSize) 그리고 origin(원점, CGPoint) CGSize : 높이와 너비 origin(x, y)의 기준 size(width, height)의 기준 1. Frame Super View 좌표계 Super View? : View 계층 구조 안에서 현재 View의 하나 윗 계층 View (최상위 View인 루트 View가 아니다!) cf) A ㄴ B의 view 구조일 때, B의 Super Vie..
파이스크립트 알파 등장! 과연 JS를 이길까? 오늘은 신기하고도 핫한 소식을 하나 들고 왔습니다. 이곳저곳 이야기가 많이 나오고 있는 친구라 재미있어요. 파이스크립트 알파! 등장하다 바로 파이스크립트(pyscript)인데요. 주피터노트북을 만든 것으로 유명한 아나콘다에서 새로 시작하고 있는 프로젝트입니다. 심지어 유료로 돈을 내고 사용하는 게 아니라, 아파치 라이센스 오픈소스! 이기 때문에 많은 사람들의 이목을 끌고 있는데요. 아나콘다가 파이콘 US 2022(PyCon US 2022)에서 해당 프로젝트를 발표하자마자 많은 사람들이 관심을 가지고 있습니다. 그게 뭔데요? 파이스크립트는 아주 간단하게 말해 HTML, 웹에서 실행할 수 있는 파이썬입니다. 지금은 자바스크립트를 통해 화면 단을 개발하는 경우가 많은데, 점차 리액트나 뷰 등의 프레임워크가 나..
[iOS개발 강의] K-디지털 크레딧 : 나만의 iOS 앱 개발 입문 5 - UI Design [KDC] 나만의 iOS 앱 개발 입문_5주차_UI Design fastcampus에서 진행하는 수업을 수강하게 되었다. 좀 더 오랫동안 기억하기 위해 해당 내용을 정리하고, 수강 후기를 적어 보기로 하였다. 길다면 길고, 짧다면 짧은 여정의 마지막이다. 마지막 5주차에는 피그마를 통한 UI 만들기를 배워 보았다. HGI(Human Interface Guideline)을 통한 명세도 확인하고, 기존에 우리가 구현해 본 앱 서비스의 디자인을 피그마로 옮겨보는 신기한 시간이었다. 사실 개발자는 개발만, 기획자는 기획만, 디자이너는 디자인만 하는 것이 가장 이상적이라고하지만, 협업 과정에서 서로의 프로세스를 모른다는 건 큰 악을 부른다. 또한 이번에 사이드 프로젝트 몇 가지를 진행하며 그 분야들이 정확히 분리..