https://imjhk03.github.io/Joohee Kim's BlogA minimal, portfolio, personal blog. 2024-02-13T14:26:04+00:00 Joohee Kim https://imjhk03.github.io/ Jekyll © 2024 Joohee Kim /assets/img/favicons/favicon.ico /assets/img/favicons/favicon-96x96.png 화면 상태에 따라서 View가 그리는 작업, Render2023-06-20T00:00:00+00:00 2023-06-20T00:00:00+00:00 https://imjhk03.github.io/posts/render-view-state/ Joohee Kim Image from Unsplash MVVM 패턴과 view와 view model을 바인딩 하는 부분을 rxswift를 사용하면서 편리함을 많이 느꼈습니다. 네트워크 호출해서 받은 데이터를 화면에 뿌릴 때, 혹은 화면에서 user interaction을 받았을 때 등의 처리를 간결하게 처리할 수 있는 것을 배웠습니다. 구독하는 개념이 다소 생소했고 아주 가볍게만 써보지만, 많이들 사용한다는 rxswift에 대해서 새로운 것을 배울 수 있어서 재밌었습니다. 가끔 rx를 바인딩 하는 것을 까먹을 때가 있었지만, 그 부분만 잘 기억하면 잘 활용할 수 있었습니다. Too much property RxSwift를 잘 사용하다가, view와 view model을 양방향으로 바인딩 하기 위한 프로퍼티가 많아... git switch 명령어2023-05-29T00:00:00+00:00 2023-05-29T00:00:00+00:00 https://imjhk03.github.io/posts/git-switch/ Joohee Kim Git에서 브랜치 변경할 때는 주로 git checkout을 사용한다. 최근에 git switch 명령어를 알게 되었는데, git checkout 명령어랑 뭐가 다른지 정리해 봤다. git switch 명령어가 나오게 된 이유 Git 2.23에서 checkout 대신할 switch, restore 명령어가 나왔는데, checkout 명령어가 너무 많은 기능을 가지고 있어서 새로운 명령어들이 나왔다. checkout: 브랜치를 이동하거나 working tree 파일을 복원 switch: 브랜치 이동 restore: Working tree 파일 복원 git checkout 명령어가 하는 일을 git switch, git restore로 분리한 것으로 보인다. 사용법 다른 브랜치로 변경... 스위프트에서 URL에 JSON을 파라미터로 보내는 방법2023-05-27T00:00:00+00:00 2023-05-27T00:00:00+00:00 https://imjhk03.github.io/posts/how-to-send-json-object-in-url-with-swift/ Joohee Kim 스위프트에서 wkwebview로 url 로드할 때, 아래와 같이 json 형태의 쿼리 파라미터를 담아서 호출해야 하는 경우가 있을 수 있다. http://<host>?params=<JSON object> 이런 경우에는 보내고자 하는 JSON 객체를 인코딩해서 담아서 로드하면 된다. let jsonString = """ { \"key\":\"value", \"키\":\"여러 가지 값들을\" } """ if let urlEncodedJson = jsonString.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let url = URL(string: "\(urlString)?params=... 네비게이션 바에서 큰 타이틀 사용하기2023-04-15T00:00:00+00:00 2023-04-15T00:00:00+00:00 https://imjhk03.github.io/posts/enable-navigation-bar-large-title/ Joohee Kim 아이폰 기본 앱들 중에 설정 앱이나 노트 앱, 미리 알림 앱 등에서는 화면의 타이틀이 크게 나타나는 화면을 볼 수 있다. iOS 11부터 소개가 되었는데, 처음 나타는 화면에서는 타이틀을 크게 보여주고 스크롤을 하면 가운데 중앙 정렬 작게 나타나는 네비게이션 바 디자인이다. 기본적으로 비활성화되어 있는데 아래 코드를 작성하면 큰 타이틀을 표시할 수 있다. navigationController?.navigationBar.prefersLargeTitles = true 활성화가 되면 navigation controller에서 푸시 된 모든 view controller에 영향을 끼쳐 제목이 크게 나타나게 되는데, navigationItem.largeTitleDisplayMode 프로퍼티를 사용해서 조정... Raycast + Confetti로 Xcode 빌드 완료 효과 넣기2023-02-19T00:00:00+00:00 2023-02-19T00:00:00+00:00 https://imjhk03.github.io/posts/visualize-xcode-build-with-raycast-confetti/ Joohee Kim 싱글 모니터 사용하면서 하나의 업무에만 집중하는 환경을 보내고 있다. 하지만 프로젝트 빌드 시간이 오래 걸리면 다른 업무를 확인하는 경우가 있는데, 이때 너무 집중을 하다 보면 빌드 완료되었다는 알림을 놓치는 경우가 있다. 한참 업무를 보거나 딴짓(?)을 하다가 다시 Xcode 프로그램으로 돌아가면 빌드가 다 완료되어 있는 상태가 있어서 보다 빨리 확인을 못 하는 경우가 있다. 우연히 인터넷에서 Raycast + Confetti로 Xcode 빌드가 완료되면 알 수 있도록 하는 팁을 발견해서 적용해 보았는데 너무 만족하고 있다. GIF 변환하면서 속도가 느려진 모습으로 나타나고 있다 Raycast Raycast 프로그램을 설치해서 Raycast가 있는 confetti animation을 활용할 것...