전체 글 (65) 썸네일형 리스트형 광고 시스템 이해를 위한 기초 지식 ※ 이번 주제는 현재 참여 중인 "꿈일기" 스터디의 주제로 작성된 내용입니다.광고 시스템 이해를 위한 기초 지식회사에서 기존에 구현된 광고 시스템을 기반으로 신규 기능을 도입할 일이 생겼습니다.광고에 대한 이해가 충분해야 소통과 구현에 어려움을 줄일 수 있다 생각하여 이번 주제를 작성하였습니다.⛳ 목표 설정 “광고”가 무엇인지에 대한 정의서비스에서 이야기하는 광고 수익이란?내 서비스에서 광고를 노출하는 방법광고ℹ️ 매체를 이용하여 어떠한 상품 및 서비스를 특정 대상에게 행하는 커뮤니케이션 이미지, 동영상 등을 노출하는 광고 타겟팅 광고 사용자 검색 기록 위치 정.. JWT와 세션 방식의 오해 JWT와 세션 방식의 오해 해당 포스팅은 개발하는 과정에서 생긴 고민을 작성한 글입니다. 작성한 내용은 정답을 제시한 것이 아닌 작성자 본인이 고민한 내용과 생각을 작성하였으므로 다양한 의견을 제시해 주시면 감사합니다. 🔖 주제 해당 포스팅은 회원 도메인의 인증/인가 방식에 대해 개발하며 생긴 고민을 소개합니다. 포스팅에서 중점으로 바라보는 것은 JWT 방식과 세션 방식의 차이점과 서비스에 어떤 방식을 도입하는 것이 적합한지에 대해 설명합니다. 📓 설명 JWT 방식 인가 정보를 암호화하여 사용자에게 위임하는 방식. 기본적으로 AT(Access Token)만 존재하는 것이고, RF(Refresh Token)은 AT의 특징을 변형하기 위해 만들어진 개념입니다. AT를 클라이언트에 위임하는 것으로 서버는 인가.. EventStorming을 도입하자! EventStorming을 도입하자! ⛳ 목표 설정 DomainEvent, Aggregates, BoundedContext 등 키워드를 출현시키려고 노력하지 말아 주세요. 필요에 따라 자연스럽게 등장할 테니, 이해관계자들과 함께 어떤 좋은 서비스를 만들고 싶은지 고민해주세요. EventStorming의 핵심은 다양한 이해관계자들의 제안과 피드백입니다. 이를 이해해야 합니다. 비즈니스 모델은 지속해서 변화하므로 반복해서 도입을 목표해 봅니다. 🔖 주제 EventStorming은 복잡한 업무를 분석하고, 논의하는 과정을 통해 도메인을 모델링하는 방법론입니다. 모두가 이해할 수 있는 단어(유비쿼터스 언어)를 사용하여, 이해 관계자들과 피드백을 진행합니다. 특정 이해관계자에게 특정 업무의 정보가 몰리는 것을 방.. [Five Lines of Code] 코드 구조 따르기 [Five Lines of Code] 코드 구조 따르기 🔖 주제 Five Lines of Code는 TypeScript를 기반으로 코드를 어떻게 리펙토링하는지 A to Z 형식으로 소개하는 책입니다. 사내 스터디에서 총 13챕터로 나누어 소개하고 있으며, 이번 주제는 코드 구조 따르기 11챕터 입니다 📓 설명 콘웨이의 법칙 "소프트웨어 구조는 개발 조직의 커뮤니케이션 구조를 반영한다." 실용주의 프로그래머라는 서적에서 콘웨이의 법칙을 역으로 이용하는 방법으로 다음과 같은 예시를 이야기합니다. “여러 지역으로 나뉜 팀은 시스템의 모듈화 및 분산화된 소프트웨어를 만드는 경향이 있다.” 개발 결과물을 주고받는 과정에 모듈화를 발생시킬 수 있다. 자료, 동작의 책임이 지역에 묶일 때 분산화를 고려할 수 있다. .. [Five Lines of Code] 코드 삭제의 미학을 읽고 나서 [Five Lines of Code] 코드 삭제의 미학을 읽고 나서 🔖 주제 Five Lines of Code는 TypeScript를 기반으로 코드를 어떻게 리펙토링 하는지 A to Z 형식으로 소개하는 책입니다. 사내 스터디에서 총 13챕터로 나누어 소개하고 있으며, 이번 주제는 코드 삭제의 미학 9 챕터입니다. 책에서는 리펙토링의 과정에 코드 삭제가 왜 필연적이고 지속적으로 발생해야 하는지 이야기하고 있습니다. 📓 설명 매몰 비용의 오류 매몰 비용(Sunk Cost Fallacy)은 “과거에 이미 소비되거나 투자된 비용으로 현재 및 미래의 의사결정에 관여되는 것”을 말하며 “경제학 및 의사결정 이론”에서 사용되는 개념입니다 책에서는 이를 “의사결정을 왜곡하는 오류”라고 표현합니다. 다양한 관점에서 부.. [SpringBoot] JUnit Test Class AssertJ기본 설정하기 [SpringBoot] JUnit Test Class AssertJ기본 설정하기 ⛳ 목표 설정 Intelij에서 JUnit Test Class를 생성 시 AssertJ를 바로 적용하기! 🔖 주제 Spring Test Code 작성 과정에 Jupiter 보다 AssertJ를 사용하는 분들에게 미약한 도움이 될 내용입니다. Intelij에서는 JUnit Test Class를 생성 시 기본적으로 Jupiter를 Import 하도록 되어 있지만, 해당 내용을 AssertJ를 적용하도록 수정할 수 있습니다. 📓 설명 Editor > File and Code Templates > Code > JUnit5 Test Class [질문-시리즈] Validate! 유효성 검사는 어디에서 해야할까? [질문 시리즈]는 주변 개발자 분들께 제가 생각하는 내용을 질문 후 답변받은 내용입니다. 답변엔 여러 사람들의 관점이 섞여있어 최대한 정리하여 작성하였습니다. 해당 포스팅은 질문에 대한 정답을 명확히 하는 것이 목표가 아닙니다. 프로젝트를 바라보는 관점에 따라 의견이 다양해질 수 있고, 이 글 또한 그중 하나의 관점 정도로 생각하고 읽어주세요. 주의! 이번 [질문-시리즈]에는 정해진 답변이 없습니다. 제 주관적인 관점만 가득히 담겨있으니 좋은 답변이 있다면 댓글로 이야기를 해보면 좋을 것 같습니다. 질문: Validate! 유효성 검사는 어디서 해야할까요? Data의 유효성 검사는 어디에서 진행하는 것이 맞을까요? Controller? Service? domain? 이전 포스트에서 Data의 유효성 검.. [SpringBoot]JUnit5 Mock기반 테스트 테스트 예시 Mock 객체 생성 public class ExampleTest { private ExampleService exampleService; private ExampleRepository mockExampleRepository; @SetUp public void setUp() { mockExampleRepository = Mockito.mock(ExampleRepository.class); exampleService = new ExampleService(mockExampleRepository); } } Annotation기반 예시 import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.junit.jupiter.MockitoEx.. 이전 1 2 3 4 5 6 ··· 9 다음