분류 전체보기

·iOS/SwiftUI
안녕하세요, iOS 개발하는 루피입니다. 오늘은 WWDC21 Demystify SwiftUI 영상을 정리하는 마지막 3번째 시간입니다. 지난 글들에서는 지금까지 "Identity가 무엇이고", "Identity가 View의 Lifetime과 어떻게 연관되는지"에 대해 정리해 봤다면, 이번에는 “SwiftUI가 UI를 업데이트하는 방법”에 대해 정리해보도록 하겠습니다. 바로 시작합니다.Dependencies(의존성)Dependencies는 흔히 우리에게는 의존성, 종속성이라는 단어로 불리고 있습니다. 이번 글에서는 쉽게 의존성이라는 단어를 이해하기 위해 View가 동작하기 위해 필요한 입력값이라고 얘기해 두겠습니다. 그러면 아래의 코드부터 같이 보도록 하시죠.현재 코드에는 2개의 property가 있습니다..
·iOS/SwiftUI
안녕하세요, iOS 개발하는 루피입니다. 오늘은 WWDC21 Demystify SwiftUI 영상을 정리하는 2번째 시간입니다. 저번 글에서는 SwiftUI가 뷰를 식별하는 방식을 이해했다면, 이번 글에서는 ID가 뷰와 데이터의 수명과 어떻게 연결되는지 정리해 보는 시간을 가져보도록 하겠습니다. 바로 시작합니다.Lifetime영상에서는 고양이 테세우스의 예시를 들고 있습니다. 이 고양이가 일어나서 밥을 먹던지, 시간이 지나 밖에서 나가서 산책을 하던지, 기분이 안좋아 저에게 화를 내더라도 똑같은 테세우스라는 것은 변합이 없습니다. 이러한 생각이 바로 Identity와 Lifetime을 연결하는 핵심입니다.이전 글에서 봤던 위 앱도 동일합니다. 각각의 상태는 시점에 따라 다른 값을 가지게 됩니다. 코드를 ..
·iOS/SwiftUI
안녕하세요, iOS 개발하는 루피입니다. 오늘은 WWDC21 Demystify SwiftUI 영상을 보고 정리해보는 시간은 갖으려 합니다. 이번 영상은 선언형 프레임워크인 SwiftUI가 내부적으로 무엇을 하고 있는지에 대해 설명하면서, “SwiftUI가 내 코드를 볼 때, 무엇을 보는가?”라는 주제를 바탕으로 정보를 전달하는데요, 이번 글은 정리를 목적으로 진행하며, 총 3개의 글로 정리해보겠습니다. 바로 시작합니다.SwiftUI가 집중하는 3가지Identity : SwiftUI가 여러 업데이트에서 요소를 동일하거나 별개로 인식하는 방식이다.Lifetime : SwiftUI가 시간 경과에 따라 뷰와 데이터의 존재를 추적하는 방식이다.Dependencies : SwiftUI가 인터페이스를 업데이트해야 하..
·iOS/UIKit
안녕하세요, iOS 개발하는 루피입니다. 오늘은 인터페이스를 관리하고, 앱의 콘텐츠 간 네비게이션을 구현하는 데 필요한 View Controller에 대해 정리해 보도록 하겠습니다. 바로 시작합니다. ( 편의상 ViewController를 VC라고 하겠습니다. )View Controller란?VC는 UIKit 앱의 인터페이스를 관리하는 핵심 요소입니다. 모든 iOS 앱은 최소 하나 이상의 VC를 가지고 있으며, 이는 앱의 메인 윈도우를 채우는 역할을 하죠! 간단히 말하자면, VC가 하는 일은 다음과 같습니다.앱 UI의 특정 부분, 즉 View를 관리합니다.해당 UI와 데이터 간의 상호작용을 담당합니다.앱 내에서 서로 다른 UI 간의 전환 처리를 담당합니다. (네비게이션은 이에 해당하겠죠?)각 VC는 하나..
안녕하세요, iOS 개발하는 루피입니다! 오늘은 부스트캠프 챌린지 과정을 수료하며 그동안의 경험을 돌아보고자 합니다. 바로 시작합니다.부스트캠프 챌린지 과정을 돌아보며이번 과정을 통해 개발자로서, 그리고 한 사람으로서 많은 성장을 경험할 수 있었습니다. 제가 느꼈던 변화들을 정리해 보겠습니다.1)진정한 챌린지의 의미를 깨닫다솔직히 말하면 컴퓨터공학을 전공하며 쌓은 지식과 경험에 대한 자신감이 어느 정도는 있던 거 같습니다. 비전공자분들보다는 상대적으로 개발에 익숙하다고 생각했죠. 하지만 이런 자신감은 첫 미션부터 산산조각이 났습니다. 😅 미션의 난이도는 상상을 뛰어넘었습니다. "이걸 정말 하루 만에 해결할 수 있는 건가?"라는 의문이 들 정도였고, 많은 캠퍼들이 같은 고민을 하고 있었습니다. LLM도 ..
·CS
안녕하세요, iOS 개발하는 루피입니다. 오늘은 OSI 7 Layer와 TCP/IP 에 대해 정리해 보는 시간을 가져보려 합니다. 특히 왜 OSI가 나중에 만들어졌는데도 TCP/IP가 표준이 되었는지에 대한 역사도 함께 살펴보겠습니다. 바로 시작합니다.1. Internet인터넷(Internet)은 전 세계 컴퓨터들이 TCP/IP 프로토콜이라는 공통된 "약속"을 사용해 정보를 주고받는 거대한 네트워크입니다.1973년 TCP/IP를 정립한 빈튼 서프와 밥 간이 네트워크의 네트워크를 구현하려는 비전에서 인터넷(Internet)이라는 이름이 탄생했습니다. 즉 네트워크를 연결한 것을 인터넷이라고 합니다.2. 초기 인터넷 : 혼돈 그 자체1) 1970년대-1980년대초기에 인터넷이 개발될 당시에는 네트워크를 구성하..
안녕하세요, iOS 개발하는 루피입니다! 오늘은 부스트캠프 챌린지 2~3주차 회고를 해보도록하겠습니다. 바로 시작합니다.1. 이번 주 가장 도전적이었던 과제Git 내부 구조 분석, Swift로 zlib 파일을 Git 호환 형태로 변환, packfile 압축 해제 등 이번 주 미션들은 개인적으로 정말 어려웠습니다.처음에는 LLM에게 "이 문제를 어떻게 해결할 수 있을까요?"라고 질문했지만, LLM의 답변으로 작성한 코드는 계속해서 Crash가 발생했고, 이 방법으로는 한계가 있다고 판단했습니다. 1) 정보의 근본을 찾아가는 과정JK님께서 알려주신 방법론을 적용해보았습니다. 한글 자료보다는 영문 원서와 공식 문서를 깊이 파고들어가며 정보의 출처를 찾아 올라갔습니다. 시간이 많이 소요되었지만 결국 문제를 해결..
·iOS/Swift
안녕하세요, iOS 개발하는 루피입니다. 개발을 하시면서, DispatchQueue.global().async라는 코드를 한 번쯤은 사용해 보셨을 겁니다. 우리는 이 코드를 통해 무거운 작업을 백그라운드 스레드로 보내 UI 프리징을 막곤 하죠. 하지만 혹시 이런 질문을 던져본 적 있으신가요?DispatchQueue/global() 은 정확히 무엇일까?왜 우리는 Thread.start()처럼 스레드를 직접 만들지 않을까?시스템은 우리가 던져준 작업을 어떻게 처리하고 있는 걸까?오늘은 이러한 숨겨진 내부 동작을 공부해 보면서, iOS 동시성의 가장 낮은 곳에 있는 RunLoop와 Thread Pool의 개념을 이해하고, 이를 통해 우리가 자주 사용하는 GCD와 OperationQueue가 왜 효율적인 방법인..
·iOS/Swift
안녕하세요,루피입니다. 오늘은 공식문서를 바탕으로 클로저에 대해 다시 한번 정리하는 시간을 가져보도록 하겠습니다. 바로 시작합니다.클로저와 함수의 관계진행하기에 앞서 우선 클로저와 함수의 관계를 짚고 넘어가도록 하겠습니다. Swift의 공식 문서에 따르면, 함수는 사실 이름이 있는 클로저의 한 종류입니다. 즉, 클로저가 더 큰 개념이고 함수는 그 안에 포함된 특별한 형태인 셈이죠.공통점특정 작업을 수행하는 코드 블록입니다.매개변수를 받고 결과값을 반환할 수 있습니다.주변 컨텍스트의 변수나 상수를 캡처 할 수 있습니다.차이점 함수클로저이름항상 이름이 있음이름이 없는 형태가 일반적키워드func 키워드로 명시적 선언{ } 를 사용한 간결한 문법활용독립적인 기능 단위로 사용다른 함수의 인자, 변수 할당 등 유연..
·CS
안녕하세요, 루피입니다. "파일 시스템"이라는 단어는 개발자에게 매우 익숙하지만, 막상 원리를 설명하려고 하면 막연하게 느껴질 때가 많습니다. 이번 기회에 파일 시스템의 개념부터 동작 원리, 그리고 오늘날의 안정성을 만들어 낸 기술까지 한번에 정리해 보려 합니다. 바로 시작합니다.1. 파일 시스템이란?우선 저는 위키 백과에 나와 있는 설명을 확인 해봤는데요..?아이고.. 너무 어려운 말이 너무 많습니다. 다 뒤로 하고 쉽게 파일 시스템을 한 문장으로 정의하면 다음과 같습니다.파일 시스템은 OS 가 저장 장치에 데이터를 쓰고, 읽고, 찾고, 관리하는 모든 방법을 정의한 규칙 이자 시스템입니다. 하드디스크나 SSD와 같은 저장 장치는 그 자체로는 데이터를 저장할 수 있는 수많은 칸의 나열일 뿐입니다!!하지만..
kimsangjunzzang
'분류 전체보기' 카테고리의 글 목록