![[Next.js][Develop] Next.js 클린 아키텍처 적용기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FVYUes%2FbtsPa3OfFZ8%2FAAAAAAAAAAAAAAAAAAAAADTwoVMR6OVEWQWncGa007Lsj1DFRaqpY86ohs5PsazH%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dj0EmE3wyv3o6IP%252BqStxnvw6ucEU%253D)
개요 Next.js로 웹 프로젝트를 시작하면서 구조를 어떻게 설계할지 많은 고민이 있었다. 그동안의 프로젝트들은 빠르게 기능을 만드는 데에 집중했었다. 배우면서 작업한 것도 있었고, React와 Next.js의 기능들을 빠르게 다 훑어보기 위함도 컸다. 그러나 프로젝트를 거듭할 수록, 점차 규모가 커지면서 유지보수가 어려워졌다. 의존성과 흐름을 파악하는 데 시간이 많이 들고, 테스트나 기능 추가에도 부담이 커졌다. 유지보수적으로 좋지 않아서 한 번 쓰고 버릴 그런 사이트가 되었고, 더 이상은 그런 사이트들을 만들고 싶지 않았다. 그래서 이 문제를 해결하기 위해 클린 아키텍처를 도입했고, 이 글에서는 그 구조를 어떻게 구성했고, 실제 코드에서 어떻게 활용하고 있는지를 적어보려고 한다. (클린 아키텍쳐 ..
![[iOS] Delegate 패턴](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbNxm2w%2FbtsDTsKofb3%2FAAAAAAAAAAAAAAAAAAAAAPiw3bBziX_8Lbc5jgKYARuTfNnwvkR-Yq1vOurfGvS2%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DzaSB8FmOX22HaaStU34k9wTg5H8%253D)
개요 애플의 iOS 앱 개발에서는 delegate 패턴을 정말 많이 사용한다. 가장 처음에 보이는 파일인 AppDelegate.swift와 SceneDelegate.swift부터 각종 UI컴포넌트를 구현하기 위해 사용하는 Delegate들 까지, Delegate 패턴이 굉장히 많이 사용되는 것을 알 수 있다.▼ 이렇게나 많이 사용되지만 이에 대해서 깊게 알아보려고 하지 않았다. 처음에는 내용물을 몰라도 사용할 수 있게 해주는 캡슐화 덕분인건지, 아니면 그냥 내가 아무렇게나 사용을 해서 그런건지는 몰라도 Delegate에 대해 많은 정보가 없이도 간단한 것들은 만들 수 있었다. 하지만 규모가 조금씩 커지고 기능들이 많아지게 되면서 이에 대한 이해도가 부족하면 개발을 제대로 할 수 없음을 깨달았고, 아래의 ..