본문 바로가기

전체 글

(9)
처음 전세를 얻는 과정 정리 PART1 (매물찾기 ~ 대출 신청하기) 오늘 전세대출을 통해 구한 전세방으로 이사를 마무리하고 독립하게 되었습니다. 독립을 준비하는 과정에서 전세를 구하는 과정이 특히 쉽지 않고 많은 행동을 요구한다는 것을 느꼈습니다. 이사를 마무리한 오늘 2편 정도의 글로 몸소 겪은 과정들을 정리해서 저처럼 처음 전세를 구하시는 분들에게 도움이 되는 글들을 남겨보려 합니다. 오늘은 전세대출을 통한 전세 구하기 과정에서 매물을 구하고 대출 심사를 실행하는 과정까지를 정리해보겠습니다. 전세대출을 통한 전세 구하기 STEP1 : 전세 매물 기준 세우기 독립을 위해 전세를 구해야 할 상황이 되었을 때 요즘 전세 매물이 없다는 뉴스가 들려와서 바로 "네이버 부동산"을 통해 매물 검색을 해보았습니다. 예상과 다르게 꽤 방대한 매물들이 있었습니다. 그래서 저는 검색의 ..
UICollectionViewCell Dynamic Frame 다루기 마주한 문제상황 UICollectionView를 통해서는 항상 Width와 Height가 일정하게 고정되어 있는 형태만 구현했었는데, 아래와 이미지와 같이 cell Height가 dynamic 해야하는 형태의 구현을 하게 되었습니다. 기획의 의도를 간략하게 표현한 그림인데, 중요하게 지켜야 할 2가지 조건이 있습니다. 하나의 UICollectionViewCell의 width는 CollectionView의 width를 2분의 1을 차지한다. UICollectionViewCell의 height는 내부의 text와 화면 해상도에 따라 UILabel이 최대 2줄로 표현되며 그 높이에 맞게 dynamic하게 결정 되어야한다. 저에게 가장 허들이었던 것은 "UICollectionViewCell의 height를 Dy..
Jenkins PipeLine 적용기 오늘은 주말마다 조금씩 학습하여, 회사의 배포를 Jenkins PipeLine으로 개선한 히스토리를 적어보려 합니다. JenkinsPipeLine을 공부하게 계기 (코드화의 중요성) 제가 JenkinsPipeLine을 공부하여 개선에 사용하게 된 계기는 "히스토리 체크"를 위해서입니다. 개선되기 이전에는 배포 과정에 필요한 코드나 옵션을 추가하기 위해서는 Jenkins 페이지에 직접 접속하고 수정한 후 저장하는 방식이었습니다. 해당 방식의 문제점은 개선한 당사자가 문서나 Jira Ticket 등 부가적인 작업을 통해 흔적을 남기지 않으면, 어떤 점이 개선되었는지 "다른 개발자들은 알 수 없다"는 점입니다. "다른 개발자들은 알 수 없다"라는 것은 히스토리 체크가 이루어지지 않는다는 것을 뜻하며, 이는 개..
내가 원하는 개발 패턴 만들어보기 PART1 안녕하세요. JHM 입니다. 이번에 개인 프로젝트를 준비하면서 활용해보고 싶은 iOS 개발 패턴을 찾아보던 중 Uber의 RIBs Pattern을 보게 되었습니다. 하지만, 아래 3가지 이유로 인해 RIBs는 잠시 뒤로 미뤄두게 되었습니다. Business Logic을 기반으로 움직이는 Pattern이지만, 확실하게 어떤 이점이 있는지 감을 잡지 못한 점 RIBs 예제는 Present 예시에만 취중 되어있어, UINavigationController을 적용했어도 맞게 활용하고 있는지 알 수 없어 자신감 지수가 낮았음 자식 화면을 modalPresentationStyle =. fullScreen로 노출하였을 때 Memory Leak(RIBS는 Memory Leak이 발생하면 Build를 Fail 시킵니다...
프로그래머스 네트워크 https://programmers.co.kr/learn/courses/30/lessons/43162 문제 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0..
RxSwift Playground 파헤치기2 - Operator (feat. startWith) 구조 파악하기 안녕하세요. iOS 개발자 JHM입니다. 저번 주에는 RxSwift의 콘셉트와 구조를 다루는 Playground의 Introduction을 파악해보았습니다. Introduction 이후에는 대부분의 내용들이 Observable을 다른 형태의 Observable로 변형시켜주는 Operator를 설명하는 내용으로 구성됩니다. Operator를 설명하는 챕터들은 단순히 Operator를 설명하고, 예시를 보여주는 정도입니다. 이러한 구성을 접하다 보니, Opeartor는 저에게 암기의 대상이었습니다. 암기를 해서 사용하다 보니 종종 실제 적용 시 잘못 사용하는 경우가 빈번했습니다. 그래서 이번에는 Opeartor 코드를 열어보면서 이해를 해보았고, 그 안에서 Operator가 구성되는 구현 패턴을 파악했습니다..
RxSwift Playground 파헤치기1 - Introduction 안녕하세요. iOS 개발자 JHM입니다. 이번 글을 시작으로 제가 스터디 했던 RxSwift 내용을 블로그로 공유드리려고 합니다. 공유하려는 이유는 RxSwift를 첫 입문했던 시절 영어 레퍼런스, RxSwift의 어려운 개념 등의 허들에 막혀서 헤매었던 기억이 남아있어, 다른 입문자 분들에게 도움이 되고 싶기 때문입니다. 제가 RxSwift를 좀 더 깊게 공부하고 싶어서 많은 시도를 해보았을 때, 가장 도움이 되었던 방법은 RxSwift에서 제공해주는 Playground를 분석하는 것이 었습니다. 앞으로의 블로그 글을 통해 제가 어떤 분석을 하면서 RxSwift의 이해도를 높여왔는지 말씀드리겠습니다. ReactiveX/RxSwift Reactive Programming in Swift. Contribu..
Codility Lesson 8 EquiLeader http://app.codility.com/programmers/lessons/8-leader/equi_leader/ EquiLeader coding task - Learn to Code - Codility Find the index S such that the leaders of the sequences A[0], A[1], ..., A[S] and A[S + 1], A[S + 2], ..., A[N - 1] are the same. app.codility.com 해당 문제를 Swift로 풀이한 것을 공유하겠습니다. 문제 내용 정리 A non-empty array A consisting of N integers is given. The leader of this array is the value tha..