Swift(6)
-
Apple 이 제시하는 콤비네이션 핏자, Combine 살짝 음미해보기
RxSwift 를 10월쯤 작성하고(꽤 많은 시간동안, Swift 와 관련된 글을 쓰지 못했다.), RxSwift 관련 코드를 더 공부할까 파볼까 고민했다. 그치만 Combine 도 궁금했고, 기본적으로 애플에서 제공하는 프레임워크였기에 알아보고 싶었다.그렇다..나는 건들면 안되는 크나큰 무언가를 건든 것이다..꽤나 Combine 이 제공하고 다루고 있는 영역이 컸다. 그래서 나는 컴바인, Rx 왕초보니까,, 기본적인 흐름과 역할에 대해 정리하고 공부하려고 한다. 기본 공식문서에서 소개하는 Combine 의 역할은 애플리케이션이 이벤트를 처리할 때, 선언적으로 접근할 수 있게 해준다고 한다. 선언적 프로그래밍은 목표를 설정하고 목표에 접근하는 방법은 컴퓨터에게 일임한다. 예를 들어, '양복점에 가서 1..
2024.12.21 -
동시성(Concurrency)을 대하는 Swift 의 자세 1 - DispatchQueue
요즘 Rx 에 대해 조금씩 곰튀김님 유튜브 강의를 통해 살펴보고, 동시성 글을 읽게 되면서, RxSwift 와 Combine 은 왜 쓰는걸까? 하는 의문이 들었다. 저 두 라이브러리 또한 비동기로 수행할 작업들을 기다리지 않고 적절한 시기에 동시적으로 수행할 수 있고, 코드의 가독성도 좋아져서일 것 같다. 동시성의 사용과 경계에 대해서는 클린코드에서 알아봤다. (클린코드 동시성 글이 궁금하시다면 링크 클릭 하세요) 애플 또한 동시성을 사용함으로써 얻게 되는 성능적인 측면과 그로 인해 발생할 수 있는 경쟁 상태와 시스템 부하 외 콜백 함수를 사용할 때 발생하는 들여쓰기로 인해 보이는 예쁘지 않은 코드에 대해서도 대응을 했다. (그 방법은 async, await 와 연관이 있다😅, 여기서 언급하게 될 부분은..
2024.02.02 -
Swift 기본 가이드라인 - part 1
1. fundamental(기초) 사용 시점의 명확성(Clarity as the point of use) -> 가장 중요한 목표 - 메소드, 속성(property) 등의 엔터티는 한 번만 선언되지만 반복적으로 사용 => API를 명확하고 간결하게 사용하도록 설계해라! => 설계를 평가할 때, 선언문(declaration)을 읽는 것만으로는 충분치 않다. 항상 사용 사례를 조사해 맥락해서 명확하게 보이는지 확인해라! 간결함보다 명확성이 더 중요해! Swift 코드는 간결할 수 있으나, 최소한의 문자로 가능한 가장 간단한 코드를 구현하는 게 목표가 아니다. Swift 코드의 간결함은 강력한 유형 시스템과 자연스럽게 상용구(boilerplate)를 줄이는 기능의 부작용이다. BoilerPlate란? 다양한 프..
2023.12.14 -
[ Array ] String 을 배열로 쪼개라!
본론을 시작하기에 앞서, 알고리즘과 나의 인연에 대해 잠깐 언급해보려고한다. 작년부터 백준 브론즈를 풀다가, readLine() 의 쓰임에 익숙치 않았지만, 풀어 나갔었다. 일목요연한 문법과 문법설명이라기 보단, 내가 생각하고 느꼈던 것에 대한 기록이다. 난 알고리즘 왕초보니까..😅 내 힘으로 해결하지 않고 풀다가 다른 사람들의 풀이를 보곤 했었는데, 그렇기엔 내 일시적 궁금증만 해소될 뿐이지 궁극적인 나의 알고리즘 내성력(?) 에 일절 도움이 되지 않았다. 그래도 작년 말부터는 다시 초심으로 돌아가 프로그래머스 코딩테스트 기초부터 풀고 있는중이다. 절대 다른 이들의 풀이법을 보고 싶지 않았다! 1. 우선, 문제에서 설명하는 것과 요구하는 것을 먼저 파악했다. 2. 그리고 나서 웬만하면, 제한사항을 두는..
2023.08.14 -
[Swift ] Escape Sequence - 문자열처리
Extended String Delimiters You can place a string literal within extended delimiters to include special characters in a string without invoking their effect. You place your string within quotation marks (") and surround that with number signs (#). For example, printing the string literal #"Line 1\nLine 2"# prints the line feed escape sequence (\n) rather than printing the string across two lines..
2022.05.21 -
[Swift] UI Kit 에 대한 간단(?) 요약 정리
Swift UI Kit 에 대한 정리 UI Kit 는 ios app, ipad app, macos, apple watch app 등 다양한 디바이스의 앱의 형태, 디자인 정도를 만져주는 것으로 설명할 수 있을 것 같아요. 우선, xCode 에서 file -new - project 를 생성하여 storyboard(스토리보드) 를 통한 기본 화면 구성을 만질 수 있습니다. 스토리보드란, ios 앱의 사용자 인터페이스를 시각적으로 표현해 ㅎ컨텐츠 화면과 화면 간의 연결을 보여주는 도구입니다. 스토리보드는 각 각 기능과 구성에 맞게 배치할 수 있습니다. 주로 초반에 만지는 파일은 main.storyboard 와 viewController.swift 입니다. 뷰컨트롤러는 영어 해석 그대로 보이는 화면 구성을 조절..
2021.08.30