본문 바로가기

설계 이모저모4

가상 면접 사례로 배우는 대규모 시스템 설계 기초 클라우드 커뮤니티에서 정말 추천을 많이 받았던 시스템 설계 책! GDSC 멤버들과 함께 읽어보았다. MSA 스터디와 마찬가지로 시야가 넓어지는 느낌을 많이 받았다. 구현 레벨까지 내려가지 않고 시스템 수준에서 책임을 나누기 때문에 이해하기 쉬웠고, 이대로 구현해도 좋을 정도로 깔끔한 설계라는 느낌을 받았다. 나중에 클라우드 커뮤니티 멤버분들 이야기를 들어보니 여기 소개된 아키텍처를 실제고 구현해보신 분들도 계셨다(!) 나도 개인 프로젝트할 때 하나 구현해보고 싶다. 개인적으로 검색어 자동완성과 뉴스피드 시스템이 재밌어보인다. 스터디원 중에 개발자 면접에서 이 책의 도움을 받았다는 분이 계셔서 엄청 뿌듯하고 집중해서 읽게 되었다. 나는 언제쯤 면접 가려나 ㅎ.ㅎ 가상 면접 사례로 배우는 대규모 시스템 설계.. 2024. 1. 18.
만들면서 배우는 클린 아키텍처 마이크로서비스를 공부하고 나서 소프트웨어 아키텍처에 대한 관심이 생겼다. 클린 아키텍처를 읽어볼까 하다가 코드부터 쳐보고 싶어서 쿡북인 를 읽고 코드를 익혀보았다. 헥사고날 아키텍처를 살펴보면서 가장 인상적이었던 부분은 DIP를 적용해서 계층 간 의존성을 역전한 부분이었다. 우아한 객체지향 세미나에서 처음 봤을 때는 잘 와닿지 않았던 부분인데, 패키지로 모듈 범위를 정하는 것을 보고 나니 되게 멋지고 간단한 접근 방법인 것 같다. 코드를 추가하면서 내가 느낀 헥사고날 아키텍처의 장점은 로직을 빠르게 찾을 수 있는 부분인 것 같다. API 진입하는 부분에 문제가 있으면 웹에 접근하는 패키지 부분을 보면 되고, DB 매핑하는 부분이 궁금하면 JPA 설정한 클래스의 코드를 살펴보면 된다. 유스 케이스가 궁금하.. 2024. 1. 17.
API 스타일 : REST vs GraphQL REST + HTTP REST API는 URL을 기반으로 통신한다. URL은 Uniform Resource Locator의 약어로, 필요로 하는 리소스의 주소를 나타낸다. 가령 nomadmovies.co/api/movies/1 이렇게 URL을 작성하면 nomadmovies.co의 리소스인 movies 중 1번을 의미한다. 리소스에 대한 동작은 HTTP의 메소드로 정의하는데, GET, POST, PUT, DELETE 등 리소스로 어떤 작업을 할지 구체적으로 넘겨준다. POST나 PUT 등 추가적으로 넘겨줄 데이터가 필요하다면 HTTP 패킷의 메시지 바디를 사용한다. REST API 예시 GET domain/users POST domain/products {”name”:”생강”,”price”:3000} DE.. 2023. 11. 8.
2023년 우테코 프리코스 1주차 후기 두둥 대망의 첫 미션~! 주제는 였습니다. 알고보니 저번 프리코스에서도 나온 미션이더라고요! 나중에야 알았음.. ㅇㅅㅇ 이번 포스팅에서는 제가 어떤 방식으로 접근했는지, 무엇에 초점을 두며 구현했는지, 구현을 마친 후 반성한 점에 대해서 이야기해보겠습니다. 우선 제가 제출한 PR는 여기에 있습니다. [숫자 야구 게임] 민휘 미션 제출합니다. by Mingadinga · Pull Request #1675 · woowacourse-precourse/java-baseball github.com 1주차 미션 목표! 책임 할당을 기반으로 OOP 제대로 적용하기 확실한 단위 테스트 작성하기 객체 다이어그램 초안 책임주도설계 방식으로 객체 초안을 설계했습니다. 필요한 메시지를 식별하고, 책임을 만들어 적절한 객체에 .. 2023. 10. 26.