본문 바로가기 메뉴 바로가기

B_log

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

B_log

검색하기 폼
  • 분류 전체보기 (311)
    • 알고리즘 학습 (174)
      • 알고리즘 개념 (8)
      • 프로그래머스 (48)
      • Codility (12)
      • 백준 알고리즘 (62)
      • 파이썬 알고리즘 인터뷰 (13)
      • 삼성 SWEA (20)
      • 종만북 with 파이썬 (5)
      • with Swift (1)
    • iOS 앱개발 (66)
      • Swift Basic (14)
      • iOS (33)
      • WWDC (6)
      • 암호화폐 거래소 앱 프로젝트 (6)
      • Daum Cafe 검색 앱 프로젝트 (5)
      • Swift GuideLines (2)
    • Web (29)
      • 개념 학습 (3)
      • Python | Django (18)
      • 우아한테크코스 (2)
      • AWS (2)
      • Java Script (4)
    • SQL 학습 (4)
      • 프로그래머스 SQL 문제풀이 (4)
    • 개발 독서 (15)
    • 개발 정보 (4)
    • 회고 (2)
    • 주식 (0)
      • 주식 독서 (0)
    • 제품 구매 후기 (2)
    • 이런 저런 생각들 (0)
  • 방명록

전체 글 (311)
[DaumCafeSearch 앱] Entity 및 모델 구현하기

이전 글: 앱 구조 설계하기 관련 Git Pull Request: https://github.com/helloworldjay/daumcafesearch/pull/7 [DaumCafeSearch 앱] 앱 구조 설계하기 이전 글: 프로젝트를 시작하며 구조 설계하기 앞선 글에서 언급한 것처럼, 프로젝트를 MVVM 구조로 설계를 진행했어요. MVVM은 무엇이 다른가? 설계에 앞서 구조에 대해 MVVM의 이론에 대해 학습을 jayb-log.tistory.com Model 정의하기 MVVM에서 모델의 개념을 이해할 때 Data Store의 역할로 생각했어요. "데이터에 관한 처리를 맡는 객체" 정도로 이해를 했는데, 실제로 프로젝트들을 살펴보니 Model이라는 디렉터리 하에 있는 것들은 대부분 DTO에 가까웠어요...

iOS 앱개발/Daum Cafe 검색 앱 프로젝트 2022. 1. 3. 14:45
[백준 알고리즘] - 친구 네트워크 (4195번) with Union Find 알고리즘

문제 풀이 과정의 고민 이 문제는 단순한 구현 문제가 아니라 Union Find의 개념을 이해해야 풀기 쉬웠어요. Union Find의 개념을 간단히 설명해볼게요. 키 포인트는 노드 간에 부모 - 자식 관계를 만드는 거예요. 즉, 같은 그룹인지 확인하는 방법을 같은 부모를 가지고 있는지 확인하는 것으로 대신하는 거죠. 쉽게 생각하면 같은 그룹에 속할 경우 그 요소들에 그룹 번호를 부여한다고 볼 수도 있는데, 그 그룹 번호가 새롭게 생성되는 것이 아닌 특정 요소를 부모로 해서 그 요소 자체를 그룹 번호로 설정하는 거예요. 예시를 통해 살펴볼게요. 아래와 같이 4개의 노드가 존재한다고 가정해요. 이 상태에서는 어떤 연결도 없기 때문에 각 노드의 부모는 자기 자신이 될 거예요. 노드 1 2 3 4 부모 1 2..

알고리즘 학습/백준 알고리즘 2022. 1. 3. 11:24
[iOS] Custom UIColor 만들기

커스텀 UIColor 만들기 프로젝트를 진행하면서 default가 아닌 색을 반복적으로 사용할 일이 있었어요. 다음 카페 앱을 만드는데 다음 카페 색깔을 시스템 컬러처럼 등록해서 사용하고 싶었어요. 그 과정을 로깅해볼게요! :] 참고: iOS version - 15.0 적용한 예시 PR RGB 값 추출하기 우선 다음 카페로 들어가서 원하는 색깔이 있는 이미지를 찾았어요. 아래 그림에서 cafe의 글자 색을 가져오고 싶었어요. F12로 CSS를 봐야 하나 했는데 맥에는 훨씬 간편한 툴이 이미 있었어요! 디지털 컬러 측정기라는 맥 기본 앱이에요. 앱을 틀어서 원하는 곳에 커서를 대면 그 RGB 값이 추출돼요. 이제 필요한 RGB 값은 알게 되었어요! Color Asset 만들기 우선 프로젝트의 Assets...

iOS 앱개발/iOS 2022. 1. 2. 22:26
[DaumCafeSearch 앱] 앱 구조 설계하기

이전 글: 프로젝트를 시작하며 구조 설계하기 앞선 글에서 언급한 것처럼, 프로젝트를 MVVM 구조로 설계를 진행했어요. MVVM은 무엇이 다른가? 설계에 앞서 구조에 대해 MVVM의 이론에 대해 학습을 진행했어요(이 글에서는 VIP나 MVVM에 대해 자세히 다루지는 않고 느낀 점을 위주로 작성할 계획이에요. 추후 MVVM에 대해 글을 작성하려고 해요). MVVM에 관한 글들을 읽어보고, 기존에 제가 알던 VIP(Clean Swift)와 비교하며 이해를 하려고 했어요. 결국 차이는 "어떤 객체에게 어떤 권한과 책임을 부여하는가"에서 발생한다고 생각하고, MVC나 VIP와 크게 다르지 않다고 판단했어요. 다만, 읽어보는 글마다 조금씩 설명된 MVVM의 구조가 달랐기 때문에 이해하기가 어려웠어요. 용어 또한 ..

iOS 앱개발/Daum Cafe 검색 앱 프로젝트 2022. 1. 2. 18:40
[백준 알고리즘] - 프린터 큐 (1966번) with Python

문제 풀이 과정의 고민 출력할 문서의 위치를 어떻게 이동시킬지 고민했어요. 방법은 다양할 수 있는데, 출력 위치가 0번 인덱스로 고정되어 있기 때문에 원형 큐처럼 인덱스를 따라 돌게 만들기로 했어요. enumerate를 통해 인덱스와 중요도를 튜플로 묶으면 생각하기 편하긴 하지만 자료의 수가 늘어날수록 성능에 영향을 미치게 되어 정수 하나의 인덱스로 관리하는 게 더 낫다고 판단했어요. 파이썬에서 제공하는 기본 리스트 자료구조의 경우 내부적으로 더블 링크드 리스트이지만 사용 시 스택처럼 작동하기 때문에 pop(0)을 사용하는 것을 피하려고 했어요. 인덱스 1번부터 요소가 존재한다면 전부 시프팅이 일어나기 때문이에요. 그래서 대안으로 생각한 것은 주어진 자료구조를 reverse 해 pop(0)가 아닌 pop..

알고리즘 학습/백준 알고리즘 2022. 1. 2. 11:05
[DaumCafeSearch 앱] 프로젝트를 시작하며

GitHub 주소 https://github.com/helloworldjay/daumcafesearch 프로젝트의 시작 MVC와 스토리보드만 학습하다가 처음 현업에서 새로운 패턴과 UI도구를 만나고 굉장히 큰 어려움을 겪었어요. MVC만 깊이 이해해도 빠르게 다른 패턴에 적응할 수 있을 줄 알았지만 생각보다 쉽지 않았고, 이것의 원인을 구현력의 부족이라고 판단했어요. 마찬가지로 UI 역시 상대적으로 직관적인 스토리보드로만 작업하다가 Texture라는 Flex Box 기반의 개념으로 UI를 구현하다 보니 그 어려움이 더 크게 느껴졌어요. 갑자기 코드로 작업한다는 것만 해도 접근하기 어려웠는데 라이브러리까지 익혀야 했었으니까요. 현재로서는 VIP(a.k.a. Clean Swift) 패턴과 Texture로 작..

iOS 앱개발/Daum Cafe 검색 앱 프로젝트 2022. 1. 1. 21:13
[클린 코드] 완결 - 후기

후기 개발 문서를 읽으며 블로깅을 한 개 처음이라 어설픈 게 많았어요. 책의 내용을 요약해서 올리는 글은 많다고 생각이 들고, 그것만으로 부족하다고 생각이 들어서 책을 읽으며 들었던 제 생각을 첨언하기 시작했어요. 블로그는 12장에서 멈췄는데, 13장부터는 JUnit처럼 특정 언어(Java)에 관련된 이야기가 많아 다루지 않았어요. 물론 Java도 틈틈이 볼 예정이라 그때 다시 글을 추가하지 않을까 생각해요. 클린 코드라는 책에 대해 처음 들었던 것이 몇 개월 전인데, 그 때 가장 많이 들었던 후기가 "당연한 이야기를 써놓은 책"이라는 것이었어요. 저 역시도 가볍게 읽을 생각으로 시작했는데, 생각보다 당연하지 않은 이야기도 많았던 것 같아요. 현업의 경험이 없었다면 무비판적으로 책을 이해하려고 했을 것 ..

개발 독서 2021. 12. 18. 12:42
[클린 코드] 12장 - 창발성

켄트 백은 단순한 설계 규칙 네 가지를 제시했어요. 이 규칙에 따라 설계하게 되면 코드 구조와 설계를 파악하기 쉬워지고, SRP나 DIP와 같은 원칙을 적용하기 쉬워진다고 생각했어요. 이번 챕터는 이 규칙에 대해 이야기해보려고 해요. 단순한 설계 규칙 1. 모든 테스트를 실행하라 무엇보다 먼저, 설계는 의도한 대로 돌아가는 시스템을 내놓아야 해요. 문서로는 시스템을 완벽하게 설계했지만, 시스템이 의도대로 돌아가는지 검증할 간단한 방법이 없다면 그 가치를 인정받기 힘들어요. 테스트가 불가능한 시스템은 검증도 불가능해요. 검증이 불가능한 시스템을 출시하는 것은 위험한 일이에요. 테스트가 가능한 시스템을 만들려고 애쓰면 설계 품질이 더불어 높아져요. 크기가 작고 목적 하나만 수행하는 클래스가 나와요. SRP를..

개발 독서 2021. 12. 15. 11:21
이전 1 ··· 4 5 6 7 8 9 10 ··· 39 다음
이전 다음
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • Brackets#Stacks and Queues#Codility#Python
  • Distinct#Codility#Python
  • Swift#Tuples#Range
  • API#lazy#
  • 파이썬알고리즘인터뷰#4장
  • NumberofDiscIntersections#Codility#Sort#Python
  • 쿼드트리#BOJ#분할정복#Python
  • 리모컨#완전탐색#BOJ#Python
  • django
  • 반복수열#백준알고리즘#Python
  • filter#isalnum#lower
  • N으로 표현#DP#Programmers#Python
  • 텀 프로젝트#백준알고리즘#Python
  • 섬의개수#백준알고리즘#Python
  • 터틀비치#리콘#xbox#controller
  • 랜선자르기#이분탐색#BOJ#Python
  • 암호코드#dp#BOJ#Python
  • 종이자르기#분할정복#BOJ#Python
  • 병든 나이트#BOJ#탐욕법#Python
  • 날짜 계산#BOJ#완전탐색#Python
  • 순열사이클#BOJ#Python
  • 토마토#백준알고리즘#Python
  • 배열합치기#분할정복#BOJ#Python
  • 나무자르기#BOJ#이분탐색#Python
  • Triangle#Sorting#Codility#Python
  • django#slicing
  • 백준 알고리즘#BackTracking
  • 미로 탐색#백준알고리즘#Python
  • 공유기 설치#BOJ#이분탐색#Python
  • PassingCars#Codility#Python
more
«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바