적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

분류 전체보기 592

[우아콘] 개발자가 아키텍처에 집착하는 이유

아키텍처의 목적 소프트웨어를 쉽게 변경할 수 있는 구조로 설계해 유지보수를 쉽게 하는 것 의존성 소프트웨어 : 도메인(핵심 프로세스) + 인프라스트럭처(도메인을 소프트웨어로 제공하기 위한 DB, API, UI 등) 무수히 많은 의존성으로 연결되어있음. 계층형 아키텍처 : 목적이 같은 코드들을 계층으로 그룹화 (관심사의 분리) 프레젠테이션 계층 (UI) - 도메인 계층 (업무 로직) - 영속성 계층 (데이터 DB, API) 연쇄적 참조 문제 -> 의존성 높아짐 -> 코드 변경이 어려움(참고 하고 있는 모든 곳에 영향), 테스트도 쉽지 않음 특히 도메인 계층의 업무로직이 수시로 UI 와 데이터 변경의 영향을 받는다는 것이 문제. 일반적으로 도메인 로직 보다 UI, 데이터 변경이 더 빈번한데, 이것이 업무 로..

Trend 2022.10.23

관악산 바우사랑암장 하드프리

2022-10-16 (일)슬랩과 페이스 천국 관악산 바우사랑암장에 다녀왔다.날씨가 쨍쨍하다가 하필 오늘만 흐린거야 왜!원래 승연이가 자일 새로 사서 전망대 릿지 멀티 가기로 했는데, 배송이 아직 안와서 하드프리로 급 변경.. 10:30 정부과천청사역 8번출구 집합아침을 안먹어서 김밥을 사가려했는데 김밥 파는 곳은 대부분 1번 출구 쪽에 몰려있었다. 오매김밥이 유명해 보여서 한번 먹어보고 싶었는데 아쉽게 일요일 휴무라 역시 만만한 24시 연중무휴 김밥천국에서 참치김밥으로 대체. 참치김밥 가격은 4500원으로 비싸다. 물가 상승속도가 무섭네요. 하지만 맛은 좋다. 일찍 도착했지만 김밥 사느라 쪼매 지각쓰 ㅎ 지송지송 😅 국가기술표준원출발점에서 시작해도 되는데 우리는 다른 길로 갔더니 원래는 길이 있었다고 ..

운동/클라이밍 2022.10.18

UICollectionView dynamic cell size

collectionView가 로딩될 때, UICollectionViewDelegateFlowLayout 에서 cell의 size를 미리 지정해줘야 되는데, 높이가 고정값이 아닌 변수로 설정을 하고싶었다. cell 내 view 혹은 stackView의 높이가 수치로 명확하게 선언이 되는 것들은 systemLayoutSizeFitting 를 사용하여 간단하게 처리가 가능했다. func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { let cell = self.collectionView(..

[Swift Layout] FlexLayout

FlexLayout 이란? UIStackView를 개선한 Layout 프레임워크로, 사용하기 훨씬 더 간단하고 다양하게 쓰일 수 있으며 수동레이아웃 UIStackView보다 8~12배 빠르고 뛰어난 성능을 제공한다. 레이아웃 프레임워크를 이야기할 때 PinLayout과 함께 많이 비교 및 사용되는데, 정밀한 컨트롤이나 복잡한 애니매이션이 필요하지 않은 상황에서는 FlexLayout이 적합하다고 한다. FlexLayout 장점? - 간단하고 빠르다. - 구문이 간결하고 연결성이 좋다. (concise and chainable) - 믿을 수 없을 정도로 빠르며 수동 레이아웃(manual layout) 보다 훨씬 빠르다 - 소스코드 구조가 훨씬 더 시각적이고 이해하기 쉬워 수정도 용이하다. 설치 cocoaPo..

[Swift iOS] 처음엔 어렵지만 알고나면 너무나도 편리한 UIStackView 사용법

UIStackView https://developer.apple.com/documentation/uikit/uistackview 스토리보드로 UI를 구성할 경우, constraint 같은거 설정하기가 편하지만 Code base 로 UI를 구현할 경우, 굉장히 복잡하고 까다로워진다. 이럴 때 StackView를 잘 사용하면 한결 편하게 화면을 구성할 수 있는 것 같다. let stack = UIStackView() stack.axis = .horizontal stack.spacing = 8 stack.distribution = .fill stack.alignment = .leading stack.layoutMargins = UIEdgeInsets(top: 16, left: 16, bottom: 16, ri..

[Swift iOS] imageSlideShow

이미지 슬라이드 쇼를 간편하게 적용할 수 있는 ImageSlideShow 라이브러리를 사용해보았다. https://github.com/zvonicek/ImageSlideshow GitHub - zvonicek/ImageSlideshow: Swift image slideshow with circular scrolling, timer and full screen viewer Swift image slideshow with circular scrolling, timer and full screen viewer - GitHub - zvonicek/ImageSlideshow: Swift image slideshow with circular scrolling, timer and full screen viewer g..

iOS 업데이트 후 Xcode 빌드하는 법

iOS 16 업데이트를했는데.. unsupported OS version... 으로 빌드가 되지 않는다.. 멍청하게도 잊고있었다.. iOS 업그레이드 하면 Xcode 버전도 업데이트 해주어야 한다는걸.. ㅠ X댔다.. 싶어 iOS 15로 다운그레이드 할려고 찾아봤는데 이미 다 막혔네? 16 나온지 얼마나 됐다고 다 막아버렸냐 ㅠ 흑흑 하지만 역시 솟아날 구멍은 있는 법! 거지같은 Xcode update 하지 않아도 iOS 16 device 에 빌드할 수 있는 방법이 있다! https://github.com/filsv/iOSDeviceSupport GitHub - filsv/iOSDeviceSupport: Xcode iPhoneOS DeviceSupport files (6.0 - 15.4) Xcode iP..

UICollectionViewDelegate

UICollectionViewDelegate : manages user interactions with the collection view’s contents, including item selection, highlighting, and performing actions on those items. The methods of this protocol are all optional. 컬렉션뷰 셀 선택 및 선택 후 액션 등에 관련한 메서드들을 다루는 delegate로, 이 프로토콜의 모든 메서드는 옵셔널이다. Managing the Selected cells didSelectItemAt : 선택된 cell의 index path를 delegate에게 알려주는 메서드. func collectionView(_ ..

728x90
반응형