TODAS LAS HISTORIAS / 모든 이야기(37)
-
Swift에서 'Sort' 와 'Sorted'의 차이
Python에 익숙해진 손뚱아리가 습관적으로 Sorted를 눌러대려니 Swift는 내게 네가지 옵션을 줬다. 뭐가 다른건가 해서 일단 가장 익숙한 sorted를 선택해봤다. 원하는 형태로 클로져와 리턴값을 뚝딱거려주니.. 당연하게도 경고를 준다. 아래의 예시는 dayList에 속하는 Day 자료형들을 추출해서 날짜순으로 정렬을 시도한 것이다. sorted를 통해 나온 결과가 사용되지 않았다는 것. 실제로 빌드해봐도 리스트가 정렬되지 않고 요지부동인 걸 확인할 수 있었다. 무엇인 문제인고 정의를 살펴보니, Sort: Sorted: 다시말해 Sort의 경우 콜랙션으로 묶인 데이터들을 직접 주어진 정렬 기준에 따라 정렬하는 데에 반해 Sorted는 해당 데이터들을 고스란히 복사하여 정렬 기준에 따라 정렬 후 ..
2023.02.23 -
호접몽: 어쩌면 나는 한국에 사는 꿈을 꾸는 스페인 사람이 아닐까
아니다. 나는 한국에 살면서 스페인에 있는 꿈을 꾼 한국 사람이다. 으레 생각이 많아지면 글을 쓰곤 한다. 엊그제 잠깐 알맞은 각도로 비춰들어오는 햇살이 만든 알맞은 온도 탓에 낮잠을 잤다. 꿈에서 토레몰리노의 잊을 수 없는 색깔의 해변가 보도블럭을 걷던 나, 주변에는 몇몇 누군가 있었던 것 같았지만 후안마나 시모네는 아니었다. 행인이었나. 그 존재를 인식하려던 차에 바람이 불었다. 따듯한 바람이 불었다. 그 바람의 결이 너무 생생했다. 그것만으로도 행복해서 미소지으려던 찰나에 어머니께서 만두 삶았다고 깨우시는 그 바람에 깼다. 만두와 엄마의 목소리는 좋았지만 따듯했던 바람과 미소의 여운을 조금이라도 느끼려 눈을 다시 감았다. 후안마 집은 3층짜리였는데 남정내 세명이 자면서 선풍기 하나가 전부였던 탓에 ..
2023.02.22 -
UIKit과 Foundation 차이점(애플은 다 계획이 있구나)
관성적으로 하는 것들에 궁금증이 많아지는 요즘이다. 내가 원하는 프로그램을 만들어가려다보니 한 줄 한 줄 신경써야할 것들이 많아졌고, 이번엔 가장 첫줄에 해당하는 이 두가지부터 햇갈리기 시작했다. 처음 우리가 프로젝트 내에서 파일을 생성할 때에 Swift File을 선택하면 Foundation이 자동으로 임포트되어있고, Cocoa Touch Class를 임포트하면 UIKit이 임포트되어 있는 것을 볼 수 있다. 그럼 대체 Cocoa Touch는 뭐지? 이걸 이해하려면 먼저 아래 iOS의 프레임워크 구조부터 이해해야한다. iOS는 어플리케이션에서 하드웨어까지 도달하는 과정에 다음과 같은 계층 구조를 갖고있는데, 이처럼 Cocoa Touch는 Application에 가장 가까운 계층으로 유저 인터렉션에 직접..
2023.01.12 -
가장 거대했던, 그러나 모든 것의 시작일 한 해, 2022년 회고
매번 하는 한 해의 회고이지만, 올해 회고는 유독 남다를거란 걸 한 해 내내 알았다. 올해는 딱 반으로 나뉜다. 매일 아침 아직 나는 자고 있을 때, 후안마가 출근하기 전 내 방에 들러 한숨쉬며 들이치는 햇빛을 막으려 페르시아나 내리는 소리를 듣곤 어스름하게 깨던 아침. 안젤로가 트는 음악소리가 좋아 부비적거리며 일어나던, 그러다 슬리퍼 끌고 시모네 방으로 들어가 나폴리타나랑 커피 마시러가자던 그 아침의 날들. 크로스핏 갔다가 집으로 돌아오는 길에 하엔의 기차역 앞에 드높이 솟은 나무 탓에 갈라지는 하늘빛을 보며 이게 여유라고, 이게 숨쉬는 것이라고 분명히 알았던 절반의 한 해. 가장 싫어하던 여의도역에서 매일 환승인파에 부딪히며 추운 날에도 체온으로 금세 달궈지는 지하철 안에서 한 시간이고 겨우 내 틈..
2022.12.28 -
RxSwift는 왜 쓰는걸까?(부제: DispatchQueue의 늪) - 2
2022.11.29 - [IT/iOS] - RxSwift는 왜 쓰는걸까?(부제: DispatchQueue의 늪) RxSwift는 왜 쓰는걸까?(부제: DispatchQueue의 늪) 그동안 RxSwift를 공부하지 않았었다. 당장 스스로 Reactive Programming에 대한 필요성을 못 느꼈기 때문이다. 현업에서 어쩌면 가장 활발히 쓰이고 있는 라이브러리인 것이 자명할 지라도 아직 초보 iO eleste.tistory.com 앞선 글에서 이렇게 서술한 바 있다. 간단하게 말해 코드의 실행이 짜여진 코드에 맞추어 일련의 과정을 따라 수동적으로 이루어지는 것이 아니라, 유저의 인터렉션, API 호출 등에 따라 일정 변수 값(정확이는 이를 포괄하는 상태 값)이 변경되었을때 해당 상태 혹은 상태 변화가 ..
2022.12.12 -
RxSwift는 왜 쓰는걸까?(부제: DispatchQueue의 늪) - 1
그동안 RxSwift를 공부하지 않았었다. 당장 스스로 Reactive Programming에 대한 필요성을 못 느꼈기 때문이다. 현업에서 어쩌면 가장 활발히 쓰이고 있는 라이브러리인 것이 자명할 지라도 아직 초보 iOS 개발자가 뭣도 모르고 유명하니까 쓰는 건 왠지 기분이 나빴다. 그러다 최근에서야 그 필요성을 느끼기 시작했다. 흔한 설명이지만 일단 RxSwift가 무언인가. 하면 Swift에서 Reactive Programming을 가능하게 해주는 라이브러리로 요약할 수 있다. Reactive Programming은 데이터의 흐름의 방향 및 그 동작 방법이 완벽하게 잘 짜여졌던 기존의 명령형 프로그래밍과 달리 '상태 변화'와 그 '전파'에 초점을 맞춘다. 잘 이해가 안간다면 정상이다. 간단하게 말해 ..
2022.11.29