참여 동기사실 스터디 참여 동기는 디프만 참여 동기와 같은 흐름이었다.지방에서 개발하며 함께 소통할 사람이 없다는 것. 스터디 같은 것들을 진행해도 나와 목표가 비슷한 사람은 적었고, 마음이 맞는 사람도 적었다. 시간이 지날수록 참여율이 저조해졌고, 스터디를 준비하는 시간에 비해서 스터디에 대한 만족감은 점점 줄어들고 있었다.그 이유가 나에게 있지 않을까 싶기도 했다. 보통 내가 팀장으로 진행을 했는데, 운영이나 스터디 준비에 많은 시간을 사용했지만, 그에 비해서 스터디의 운영 방식이나 시스템이 효율적인가에 대해서는 조금 부정적인 생각을 했다. 제대로 된 스터디를 참여해본 적이 없기 때문에 정확하게 평가하기도 힘들었고, 더 나은 방향을 찾기도 쉽지 않았다.이러한 생각 때문에 '좋은' 스터디의 시스템을 경..
❓What is Infcon❓성장에 연결을 더하다!프로덕트를 만드는 사람들이 모이는 축제INFCON 2024 🎶지난 2년간 많은 분들의 관심과 사랑을 받으며 대표적인 IT인의 축제로 자리매김한 인프콘!2024년 8월, 인프콘이 한층 더 풍부한 세션과 프로그램으로 돌아옵니다. 올해는 개발자, PM/PO, 디자이너 직군을 아우르며 더 넓고 깊이 있는 시간으로 구성하였습니다.- 인프콘 홈페이지 발췌 인프콘은 올해로 세 번째라고 하네요!IT 개발 직군에 치우쳐있던 이전 행사들과 달리 올해부터는 PM/PO 그리고 디자이너 분들을 위한 세션이 아주 많아졌어요.실제로 행사장 내에 디자이너분들이 진짜 많았어요.그만큼 티켓팅 더 빡세진 것 같은 느낌이 들기도 하고...ㅎㅎ ✅참여 기업보다시피 아주 많은 기업들이 이번 ..
아키텍처갑자기 아키텍처?테스트는 품질을 위한 도구이면서, 설계를 위한 도구임.Testability를 높여야 설계를 위한 도구로 사용 가능.테스트와 설계는 상호보완적.테스트가 어렵다면 아키텍처가 정답을 알려줌. 개발하기 어렵다면, 테스트하기 쉽도록 개발하면 편하다. 아키텍트의 정의아키텍처란 어떤 비즈니스 문제를 해결하기 위해 준수해야하는 제약을 넣는 과정!아키텍처를 지키려고 하다보면 오히려 더 불편해짐.이로 인해 꼭 필요한 것이 아니라면 차라리 없는 것이 나을 수 있음.그럼에도 아키텍처를 사용하는 이유?아키텍처를 사용하기 전 문제 상황을 정확하기 인지하는 것이 중요함.꼭 써야하는 이유를 파악하고, 구성원들이 모두 동의해야함.아키텍처는 종착지가 아닌 여정에 가깝고, 고정된 산출물이 아니라 계속된 탐구 과정에..
각Service를 추상화 ServiceImpl로 구현체 이름을 변경Controller 패키지에Service 인터페이스 생성public interface UserService { User getByEmail(String email); User getById(long id); User create(UserCreate userCreate); User update(long id, UserUpdate userUpdate); void login(long id); void verifyEmail(long id, String certificationCode);}public interface CertificationService { void send(String email, long ..
service에 테스트코드 넣기 FakeRepository 구현public class FakeUserRepository implements UserRepository { private final AtomicLong autoGeneratedId = new AtomicLong(0); private final List data = new ArrayList(); @Override public Optional findById(long id) { return data.stream().filter(item -> item.getId().equals(id)).findAny(); } @Override public Optional findByIdAndStatus(long i..
mock, h2, SpringBoot 없이 테스트 작성하기. 대망의UUID가 등장!@Testpublic void User는_UserCreate_객체로_생성할_수_있다(){ // given UserCreate userCreate = UserCreate.builder() .email("kok202@naver.com") .nickname("kok202") .address("Pangyo").build(); // when User user = User.from(userCreate); // then assertThat(user.getId()).isEqualTo(0L); assertThat(user.getEmail())...
목표1. 도메인과 영속성 객체 구분2. 우리 시스템이 외부 시스템과 독립적이게 구성 현재Entity 객체들을 손볼 필요가 있음.UserEntity에 대응되는User 클래스 생성. Entity와 같은 필드를 가진 도메인 클래스 생성.public class Post { private Long id; private String content; private Long createdAt; private Long modifiedAt; private UserEntity writer; @Builder public Post(Long id, String content, Long createdAt, Long modifiedAt, UserEntity writer) { this.id = id; this.content = c..
실습 2부 - 의존성 역전하기외부 연동들에 의존성 역전 사용!MailSenderRepositoryRepository 들의 네이밍 JpaRepository로 변경! 의존성 역전을 위해 인터페이스 만들기.UserRepository 인터페이스를 생성구현체 UserRepositoryImpl 생성구현체는 UserJpaRepository를 주입받음. UserRepository는 infrastructure에 있을 경우 상위 모듈인 service에서 하위인 infrastructure를 의존하는 그림이 나오게 됨.따라서 서비스 하위에 외부 연동을 담당하는 port 패키지 생성 후 service에서 사용하는 인터페이스들은 port에 위치 시킴. 분리된 Repository에 따라 코드 수정post@Service@Requi..
- Total
- Today
- Yesterday
- server
- 알고리즘
- 백엔드
- 육지행
- 모니터링
- 글로컬
- 프로그래머스
- 해커톤
- test
- 10기
- spring boot
- 중간발표
- python
- 육.지.행
- 연합 동아리
- 글또
- 파이썬
- Grafana
- Loki
- 6팀
- 15기
- 리빙랩
- AWS
- 디프만
- 서버
- tdd
- it 동아리
- 스터디
- 인프런
- 회고
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |