30대 그냥 쉬었음 개발자의 전산직 9급 공무원 시험 도전기
·
글쓰기/회고
재작년 말, 버킷 리스트 중 하나였던 스팀 게임을 출시했다. 목표가 사라지고 나니 불안이 밀려와 이제 뭘 해야 하나 오래 고민했다.취업하기가 싫었다. 또 열심히 회사를 다니다 결국 마지막에는 아무 것도 남지 않는 것 같은 허탈함을 경험하기가 싫었다. 그리고 계속해서 나를 증명하는 것에 많이 지친 상태였다.그동안 나는 내 길에 대해 의심한 적이 단 한 번도 없었지만, 하고 싶은 것만 하며 마음대로 살았던 업보를 한꺼번에 받았는지 30대 중반인 지금에서야 그 고민을 하게 되었다. 대목이 지나고 나니 고민의 끝에는 공기업과 공무원이 있었다. 나에게는 공무원이 더 알맞을 것 같았다. 재작년에 공무원이 됐던 친구를 만나 많은 질문들을 던졌고 시험을 보는 쪽으로 생각이 굳어졌다. 결과적으로 나는 높은 성적을 받지는..
iOS 개발자가 알아야할 네트워크 관련 개념 정리: TCP/IP, HTTPS, URLSession
·
iOS
1. 네트워크 프로토콜네트워크 통신은 여러 계층의 프로토콜이 협력하여 이루어진다. 주요 모델로 OSI 7계층 모델과 TCP/IP 모델이 있다.OSI 7계층물리 계층: 전기 신호, 광 신호 등의 물리적 전송 담당데이터 링크 계층: 오류 감지 및 수정, MAC 주소 기반 통신네트워크 계층: IP 주소를 사용하여 경로 설정 (예: IP)전송 계층: 데이터의 신뢰성 있는 전송 보장 (예: TCP, UDP)세션 계층: 세션 설정, 관리, 종료프레젠테이션 계층: 데이터 표현 형식 변환 (예: 암호화)응용 계층: 사용자와 직접 상호작용 (예: HTTP, FTP)TCP/IP 모델응용 계층 (HTTP, FTP, DNS)전송 계층 (TCP, UDP)인터넷 계층 (IP)네트워크 액세스 계층 (이더넷, Wi-Fi)2. SSL..
컴퓨터 시스템과 iOS 개발의 기초 개념
·
iOS
효율적인 개발과 문제 해결에 필수적인 CS 기초 개념을 정리해본다.CPU, RAM, 저장 장치의 상호작용부터 iOS의 메모리 관리 및 멀티스레딩 기술까지, 각 요소의 원리를 숙지함으로써 더 나은 성능과 안정성을 갖춘 앱을 개발할 수 있다. 1.  컴퓨터 시스템의 주요 구성 요소컴퓨터 시스템은 CPU, RAM, 저장 장치로 구성된다. 각 구성 요소는 서로 협력하여 데이터를 처리하고 저장한다.CPU (Central Processing Unit)컴퓨터의 핵심 연산 장치로, 명령어를 처리하고 산술 및 논리 연산을 수행한다.데이터 처리를 담당하며 RAM에서 데이터를 가져와 연산 후 결과를 저장한다.RAM (Random Access Memory)현재 실행 중인 데이터와 프로그램을 임시 저장하는 휘발성 메모리이다.C..
Design Patterns: MVVM, MVVM-C, MVP, Clean Architecture
·
iOS/Swift
디자인 패턴은 앱의 규모와 요구사항에 따라 선택할 수 있으며, 단순한 앱에서는 MVP나 MVVM, 복잡한 네비게이션이 포함된 앱에서는 MVVM-C를 선호할 수 있다. 유지 보수를 위해 가독성이 좋고 의존성을 줄이고자 사용하는 것이기 때문에 누구나 알기 쉽게 작성하는 데 중점을 두어야 하고, 디자인 패턴을 위해 코드가 복잡해지는 것은 바람직하지 않다.참고로 Apple에서 권장하는 디자인패턴은 Swift는 MVC, SwiftUI는 MVVM이라고 한다.  1. MVP (Model-View-Presenter)Model, View, Presenter로 구성된 디자인 패턴으로, View와 Model을 분리하여 코드의 유지보수성을 높이는 구조이다.Model: 애플리케이션의 비즈니스 로직과 데이터 관리 부분을 담당한다..