Cloud Engineer

복잡한 문제를 단순한 구조로 풀어내고 이유에 대해 고민합니다.

시스템과 외적 상황을 바탕으로 주도적으로 문제를 정의하고 구조적으로 접근해 단순히 푸는 것을 즐기며 그 과정에서 항상 왜? 라는 질문을 던지며 문제의 본질을 바라봅니다.

Writing

Latest Posts.

모든 글 보기

All Posts.

(25)

[iOS] Instruments로 UI Hang 혼내주기! (Feat. 성능 개선에 대한 짧은 생각)

Instruments로 UI Hang을 측정하고 원인을 추적해 사용자 경험과 앱 성능을 개선한 과정을 소개합니다.

[iOS] Tuist 모듈 생성/삭제 자동화로 개발 생산성 높이기

Tuist 모듈 생성과 삭제에 필요한 반복 작업을 대화형 Shell Script로 자동화하고 백업·롤백까지 구현한 과정을 소개합니다.

[iOS] Combine 구조를 async/await으로 전환하기 (Swift 6)

Combine 기반 네트워크 모듈을 Swift 6의 typed throws와 async/await 구조로 전환한 이유와 리팩토링 과정을 소개합니다.

라이트 팬층을 위한 내한 공연 서비스, 라이빗은 어떻게 시작되었나요?

라이트 팬층을 위한 내한 공연 정보 서비스 라이빗의 기획 동기와 구체화 과정, 팀 구성까지의 6개월 여정을 소개합니다.

[Git] Fast-Forward Merge, 3-Way Merge 알아보기

이번에 교내 동아리에서 Git 관련 교육 자료를 작성하면서 Fast-Forward merge, 3-Way merge에 대한 내용을 다뤘다. 사실 나도 두 방식에 대해 정확하게 설명해보라고 하면 못했을 것 같은데 이번에 자료를 제작하면서 스스로도 개념을 다시 되새길 수

[RxSwift] RxSwift와 Observable, Disposable 이해하기

RxSwift를 이해하기 위해서는 먼저 반응형 프로그래밍을 이해하면 좋다.반응형 프로그래밍은 데이터의 흐름과 변경 사항을 전파하는 데에 중점을 둔 프로그래밍 패러다임으로, 데이터에 어떤 변경이 이루어졌을 때(즉, 이벤트가 발생했을 때) 연결된 실행 모델들이 데이터를 전

[꾸물꿈] MVVM, Observable Pattern 도입 후기 - 1

꾸물꿈은 IT 벤처 창업 동아리 SOPT 34기 iOS 파트로 활동하면서 참여한 앱잼(APPJAM) 프로젝트다.기획 2명, 디자인 3명, 클라이언트(iOS) 4명, 서버 2명으로 진행했고, 내가 지금까지 참여한 프로젝트 중 가장 인원이 많았던(..!!!) 프로젝트였다.

[Honzapda] 디자인 회고

혼잡다 Honzapda는 카페의 실시간 혼잡도 제공에 초점을 맞춘 카페 정보 제공 애플리케이션으로, 혼잡도 정보 제공뿐만 아니라 오늘의 카페 추천 등 큐레이션 서비스도 제공한다. 이번 글에서는 데모데이가 끝난 기념으로 전체적인 프로젝트와 디자인으로 참여한 회고를 적

[Swift] 백준 2805번: 나무 자르기

상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다.목재절단기는 다음과 같

[Swift] 백준 11726번: 2×n 타일링

2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오.아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000)첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수

[Swift] 백준 1269번: 대칭 차집합

자연수를 원소로 갖는 공집합이 아닌 두 집합 A와 B가 있다. 이때, 두 집합의 대칭 차집합의 원소의 개수를 출력하는 프로그램을 작성하시오. 두 집합 A와 B가 있을 때, (A-B)와 (B-A)의 합집합을 A와 B의 대칭 차집합이라고 한다.예를 들어, A = { 1,

[SwiftUI Masterclass 2023] Section 8, 9 정리

SwiftUI는 그라데이션도 적용할 수 있다! 짱이다colors 배열 안에 적용할 그라데이션들의 색을 순서대로 써주면, startPoint 방향에서 endPoint 방향으로 그라데이션이 적용된다. UIKit 쓸 때 안드로이드에는 그라데이션 구현이 있는데 iOS는 없는

[SwiftUI Masterclass 2023] Section 7 정리

UIKit에서도 터치 이벤트를 다루는 메소드가 있었는데 SwiftUI에서는 .onTapGesture 가 그 역할을 한다. 파라미터로는 count 와 perform 이 있는데, count 는 view 를 몇 번 터치했는지,

[SwiftUI Masterclass 2023] Section 6 정리

SwiftUI의 Stack은 UIKit에서 사용하던 Stack View와 유사한 점이 많다. Stack 안에서 먼저 선언된 View부터 위에서 아래로 배치하기 때문에 코드의 순서가 중요하다.VStack은 내부에 선언된 View들을 Top에서 Bottom으로 배치하는 V

[Swift] 백준 9461번: 파도반 수열

오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다.파도반 수열 P(

[Swift] 백준 11399번: ATM

인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다.사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게

[Swift] 백준 1620번: 나는야 포켓몬 마스터 이다솜

필요한 부분만 가져왔다.오박사 : 그럼 다솜아 이제 진정한 포켓몬 마스터가 되기 위해 도감을 완성시키도록 하여라. 일단 네가 현재 가지고 있는 포켓몬 도감에서 포켓몬의 이름을 보면 포켓몬의 번호를 말하거나, 포켓몬의 번호를 보면 포켓몬의 이름을 말하는 연습을 하도록 하

[Swift] 백준 5639번: 이진 검색 트리

문제 > 이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다. 노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다. 노드의 오른쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 크다. 왼쪽, 오른쪽 서브트리도 이진 검색 트리이다. 전

[Swift] 트리(Tree)

🌲 트리(Tree)란? 그래프의 부분집합으로, 사이클이 없는 하나의 연결 그래프를 뜻한다. 여기서 사이클이 없다는 말은 순환하지 않는다는 뜻으로, 트리는 최상위 노드인 루트 노드에서 자식 노드로 뻗어나가는 계층 데이터 구조를 이루고 있다.

[Swift] 백준 18111번: 마인크래프트

팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 땅을 파거나 집을 지을 수 있는 게임이다.목재를 충분히 모은 lvalue는 집

[Swift] 백준 1966번: 프린트 큐

여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게

[SwiftUI] SwiftUI란?

SwiftUI에서는 놀랍게도 최소한의 코드만으로 Swift의 성능을 사용하여 모든 Apple 플랫폼 전반에서 멋진 앱을 빌드할 수 있습니다. 어떤 Apple 기기에서나 단 하나의 도구 및 API 세트를 사용하여 모든 사용자에게 더 나은 경험을 제공할 수 있습니다. 애플

[Swift] 백준 1436번: 영화감독 숌

666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스

[Swift] 백준 7568번: 덩치

우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다.어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p

[Swift] 백준 1654번: 랜선 자르기

문제 링크이분 탐색과 매개변수 탐색을 이용하는 문제다.매개변수 탐색은 코테 스터디할 때 프로그래머스로 한번 접해본 적이 있는데 정말 어려웠어서... 이 문제도 매개변수 탐색 문제인 거 알고 조금 마음이 힘들었는데 극복했다. 난이도가 실버 2라 프로그래머스 문제보다 훨씬