게시글
질문&답변
2024.11.21
author 배열이 비어서 오는 경우가 있으니 참고하세요.
안녕하세요 아라레님!피드백 주셔서 감사합니다. 이 부분은 빠른 시일내에 보강해서 추가강의에 올려두도록 하겠습니다 🙏
- 0
- 2
- 26
질문&답변
2024.11.19
커밋 끊으면서 해주시는거 너무 좋네요.
안녕하세요 아라레님! 피드백 주셔서 감사합니다 ☺말씀주신것처럼 이슈번호랑 브랜치가 조금 안맞는 부분이 존재합니다 😅(추후에 인지를 하고 커밋메세지를 수정하는 모습을 보여주는 부분도있어서 참고부탁드립니다 🙏)학습하시는분들께서 조금이라도 신경쓰이는 부분이 없었어야 했는데 제 불찰이었습니다. 너그러운 양해부탁드립니다 🥹 추후에는 더 신경쓰도록 하겠습니다!! 💪
- 1
- 2
- 22
질문&답변
2024.11.03
비즈니스 로직 담당 서비스
안녕하세요 아라레님! 질문 남겨주셔서 감사합니다 ☺넵 말씀주신것처럼 책임분리(명령과 조회)로 인해 의존관계가 간소화되어 순환참조 가능성이 줄어든다고 볼 수 있겠네요!관련 패턴에 대해서 비슷한 질문을 해주신분이 계셔서 해당 답변(답변링크)도 참고해주시면 감사하겠습니다. 추가적인 궁금증이 있다면 언제든 다시 말씀주세요 🙏
- 0
- 2
- 31
질문&답변
2024.10.24
이력서 작성 시 택스트 강조와 스킬셋 작성법
안녕하세요 메가님! 질문남겨주셔서 감사합니다 ☺저 같은경우에 특정 부분을 bold로 변경해서 내본적은 없습니다만, 받아들이는 사람에 따라 다를것 같습니다. 정해진 양식은 없으니까요! 다만 개인적으로는 굳이 그럴필요는 없을것같다는 생각입니다. 간단하고 명료하게 타겟팅해서 작성한다면 그 자체로 돋보이기때문이에요!좋은 질문 해주셨습니다! 일단 스킬셋을 간단히 나열하는것은 좋다고봅니다. 제가 강의에서도 언급드렸다시피 이 부분도 회사마다 다르게 가야합니다. 어떤 회사들은 특정 기술셋을 요구하지않고 오로지 문제해결능력만을 강조하는경우도 존재합니다. 또 어떤 회사들은 특정기술을 굉장히 강조하는경우도 존재합니다. 후자의 경우가 스킬셋을 중요하게 배치하는게 낫겠죠. 염두해두고 계신 채용공고를 직접봐야 확실히 전략을 짤 수 있을것같네요. 그리고 어떤 글을 읽으신지는 모르겠으나, 정말 그 회사의 인사팀에서 공지한 내용이라면 당연히 따라야겠죠 😄 이건 정답을 알려준것과 마찬가지니까요! 단순 나열해도되고 이력서 문장에 언급해도됩니다. (괄호안의 내용은 참고만해주세요 🙏 저의 개인적인 시도를 비추어보았을때 특정 기술들이 요구사항에 써있었고 스킬셋을 강조하지 않았음에도 전혀 무리없이 합격한경우도 있습니다. 어차피 면접에서 기술이야기는 다 나올수밖에 없습니다. 그리고 기술은 사실 공부하고 현업에서 경험하면 누구나 다 습득할 수 있는 부분이기도합니다.)답변이 되셨을까요? 해결되지 않은 부분들이 있다면 언제든 다시 말씀주시고, 공개적으로 질문하기 어려운부분이라면 따로 메일 보내주세요~! 🙏
- 0
- 2
- 54
질문&답변
2024.10.21
모의과제 소개
안녕하세요 질문 남겨주셔서 감사합니다 ☺내용이 짧아서 굳이 업로드를 하지 않았었는데요, 필요하신분들도 있을거라고 생각을 못했네요! 현재 pdf 파일도 업로드해두었고, 수업노트에도 동일한 내용 업로드 해두었습니다 🙏감사합니다!
- 0
- 2
- 44
질문&답변
2024.09.24
cqrs에 관하여
안녕하세요 gotjd9773님! 정말 좋은 질문 남겨주셨네요 ☺결론부터 말씀드릴게요.“cqrs에 대해서 아느냐?” 라고했을때는 “명령과 조회 책임 분리로, 데이터 저장소에 대한 읽기와 업데이트 작업을 분리를 하는것을 의미합니다. 전통적인 CRUD접근법에서는 동일한 데이터모델을 사용하여 CRUD를 수행하지만 시스템이 복잡해짐에 따라 cqrs로 조회와 업데이트작업에 대한 최적화된 모델로 개선할 수 있게됩니다”“왜 이렇게 구현했느냐?” 라고 했을때는“고성능이필요한 애플리케이션에서 읽기 쓰기 부하를 분리하고 각각 독립적으로 확장시키기 위해서 구현하였습니다”(부연설명)첫번째 질문인 “cqrs에 대해서 아느냐?” 라고 했을때는 알고계신 개념을 말씀주시면 됩니다. 정의는 gotjd9773님께서 이미 알고계시기도하고, 웹상에 훨씬 자세하게 나와있기때문에 해당 내용을 참고하시는게 좋을것 같습니다.오히려 두번째 질문이 더 중요할것같은데요, cqrs를 안써도되는데 썼기때문에 (물론 모델까지 충실히 분리하진 않았습니다. 요구사항을 보면 거의 1:1이기때문이에요) 합리적으로 설명을 잘 해야겠죠. 과제요구사항에 기반했을때는 대용량트래픽을 대비한 설계가 필요합니다. 이러한 서비스의 경우 보통 읽기의 워크로드가 쓰기보다 훨씬 높습니다.저의 실무업무 경험상 대고객 트래픽이 중요하면서 굉장히 확장성이 높아야하는 프로젝트의 경우 command와 query서비스를 분리하는 형태가 관리와 유지보수가 쉬웠습니다. 과제에서는 메서드가 몇개 없지만, 실제로 위와같은 개발을 하다보면 서비스를 최대한 분리했음에도 한 화면에 담기지 않을정도로의 많은 양의 메서드가 존재하는경우도 많았습니다. 모델도 당연히 읽기/쓰기에 사용되는 형태도 달라지구요. 또한 읽기와 쓰기가 동일한 데이터베이스를 바라보지 않는 경우도 많습니다.결론적으로 위와같은 확장성을 고려했을때 코드레벨에서 나누어놓는것이 향후를 생각했을때 최적의 판단이었다라고 생각합니다.과제내에서 확장될 수 있는 부분은 “6강 면접대비 - 시스템고도화”에서도 말씀드렸다시피 ES와 같은 검색엔진을 도입하는것과 같이 시스템이 점차 확장됐을때 쓰기와 읽기의 데이터소스가 달라질 수 있습니다. 물론 cqrs가 만능이 아닙니다. 복잡성이 높아진다거나 하는 단점도 존재하구요. 다만 현 상황을 해결하기위한 최적의 선택이다라는 기조로 말씀을 이어나가시면 될 것 같아요. 🙂 궁금증이 해결이 되지 않았다면 언제든 다시 말씀주세요 🙏(인프런 AI인턴이 자동으로 댓글을 달아주는데.. 저건 그냥 참고만해주세요ㅎㅎ 맞는말이라도 내가 작성한 프로젝트에 연관되는 내용으로 설명해야합니다)
- 1
- 2
- 84
질문&답변
2024.09.23
멀티모듈 문의드립니다.
안녕하세요 seunghwan.lee님! 커뮤니티 버전이라 그렇지는 않을것같아요! 정확한 원인 파악을 위해 작성주신 코드내용과 에러메세지를 jaytech108@gmail.com 으로 보내주시겠어요?
- 0
- 2
- 100
질문&답변
2024.09.22
클린한 아키텍쳐에 관하여
안녕하세요 gotjd9773님 질문 남겨주셔서 감사합니다 ☺넵 말씀하신 것처럼 하위 계층에서 controller의 dto를 참조하는 것은 지양하는 것이 맞습니다. 이는 계층 간 의존성을 높여 코드의 결합도를 증가시키기 때문에, 저 역시 실무에서는 이러한 접근을 피하고 있습니다. 다만, 강의에서 언급드렸듯이 과제 특성상 제한된 시간 내에 구현해야 하기 때문에, 재사용성을 통해 구현 속도를 높인 부분이라고 이해해주시면 될 것 같아요!시간적 여유가 있다면 mapper등을 통해 각 계층에서 데이터를 변환하여 전달하여, 계층 간 의존성을 더욱 깔끔하게 분리할 수 있습니다.만약 면접에서 이 부분에 대한 질문을 받으신다면, 당시 선택의 이유와 판단 근거를 잘 설명해주시면 충분합니다 😄
- 1
- 2
- 71
질문&답변
2024.09.20
LS-3-multi-module 진행하다 에러발생하여 문의 드립니다.
안녕하세요 seunghwan.lee님 ☺몇가지 원인이 있을 수 있는데요, 가능성 있는 부분을 먼저 전달드립니다!maven bom 버전 확인: dependencyManagement 내의 버전에 오타가 있는지 확인해주세요!gradle refresh: ./gradlew build --refresh-dependencies 를 사용하시거나 혹은 ide내에서 Invalidate Caches/Restart 를 눌러서 재시작을 해보시는걸 추천드립니다.코드일치여부: 모든 gradle파일의 구성이 강의자료와 똑같이 일치하는지, 번거로우시겠지만 한 번 더 확인 부탁드립니다 🙏그래도 안된다면 다시 말씀부탁드리겠습니다. 감사합니다!
- 0
- 2
- 105
질문&답변
2024.09.16
멀티모듈 구성에서 하위 모듈은 java 모듈로 하는 이유가 궁금합니다.
안녕하세요 gotjd9773님 질문 남겨주셔서 감사합니다 ☺실제 구현해주신 내용이 없어서 정확한 원인은 알기힘드나 추정하건데 두 가지 가능성이 있을 수 있습니다. 첫째, 스프링 프로젝트로 만들면 스프링 관련 의존성들이 자동으로 포함되는데, 이로 인해 다른 의존성과 충돌이 발생했을 수 있습니다. 둘째, 제 강의에서 bootJar설정을 기본적으로 false로 해두고 필요한곳에 true로 열어주는 방식을 사용을 했습니다. 스프링프로젝트는 기본적으로 실행가능한 jar파일을 만드려고하기때문에 충돌이 일어났을 수 있습니다.원래의 습관대로 스프링 프로젝트로 작업하시려면 설정을 조금 바꿔줘야할 수 있겠네요 😃(공식문서에 가이드가 있긴한데 https://spring.io/guides/gs/multi-module gotjd9773님의 상황과는 살짝 다른거같아서 참고가 될지는 모르겠습니다 😅)편안한 추석되시고 궁금증이 해결이 되지 않았다면 다시 말씀 부탁드립니다 🙏
- 1
- 1
- 100