전체 글169 DevFest 송도 2024 후기 우연한 계기로 dev fest 티켓 표를 얻게 되어서 방문하게 되었다.gdg면 내 학창시절 동아리 gdsc 와 연관이 있어서 친근감이 있기도 하고 친구가 공짜표가 생겼다고 주는데 오랜만에 친구도보고 강의도 들으려고 가게 되었다.이제 학생도 아니고 하니 각 세션에 대해 요약노트를 쓰려는 건 아니고...세션을 들으면서 떠올랐던 나의 경험을 일기처럼 써보려고 한다.시니어 개발자 노하우 세션대략적으로 시키는대로 무조건 하지 말고 문제정의와 상황파악이 중요하다는 내용이었는데 대부분 공감이 가는 내용이었다.가끔씩 현업이 이거저거 해주세요. 라고 요청할때가 있는데, 그 요청이 우리 테이블구조를 갈아엎어야되거나 그 서비스에 물린 다른 기능에 영향이 가는 요건인 경우도 있다. 현실적이지도 않고, 현업이 요구하는 기간에 .. 2024. 12. 21. [일상]VO를 쓰자 큰 시스템을 운영개발하다 보면 어지간하면 상황에 맞게 갖다쓸 VO가 있다. 아님 명백하게 VO를 만들어야만 하는 상황이 대부분이다.근데 올해 3월에 타시스템에 제공할 api를 만드는데, 서비스단 로직에서 딱 몇 번 쓰고 버릴 VO를 만들 일이 생겼다.그래서 그냥List > rslt=어쩌고Dao.select저쩌고(params);이런식으로 처리해버림.mybatis였고....내가 혼자 테스트할 당시에는 아무 문제도 없어보였다.(QA같은건 우리회사에 존재하지않음. 그냥 개발관련 잘못되면 전부내탓ㅎ)시간이 흘러...타시스템B가 내 api를 가지고 개발을 시작하면서 특정 요청값에 오류가 난다고 알려줌.왜 그런가 하니, DB에서 조회값이 없는 경우 List > rslt 형태로 만들질 못하는거였다......이 이슈 자.. 2024. 10. 28. git cherry-pick 과 관련된 일상 학부때는 git 운영 전략을 세워봐도 브랜치 이름이 기껏해야- feature/홍길동- feature/login이런식이었다. 회사들어와서 보니 브랜치이름이- feauture/824329023- feauture/824325926이런식임실제 형식은 좀 더 이것저것 코드가 붙긴하는데 비유하자면... 아무튼 헷갈리게 생겼다보니 featureA에 커밋해야 할 거를 실수로 featureB에 커밋해버렸다.그나마 다행인건 push 전에 발견했고, 둘다 내가 작업하는 feature 브랜치 였다.아무튼 featureB 커밋취소하고 코드들을 다시 featureA로 옮길생각에...한숨이 나왔는데찾아보니 cherry-pick 명령어로 커밋만 그대로 다른 브랜치에 옮길 수 있었다. 옮겨야 하는 브랜치: feature/New잘못 .. 2024. 10. 16. 08 Spring Data JPA 활용 JPQL JPQL은 jpa query language의 줄임말로 sql과 거의 비슷하게 생겼으나, 테이블 대신 엔티티 이름이 들어간다. (그야 jpa는 엔티티 이름을 기반으로 테이블을 생성하니... 개인적으론 거의 sql과 똑같이 느껴진다.) SELECT p FROM Product p WHERE p.number=1; 이런식으로 되어있는게 JPQL이다. 쿼리 메서드 살펴보기 이런 JPQL을 어떻게 작성할 수 있느냐...하면, 일단 리포지토리는 JpaRepository를 상속받는 것만으로도 다양한 CRUD 메서드를 제공한다. findById 같은... 그리고 이 기본 메서드를 호출하면 jpql이 알아서 생성돼서 쿼리문을 수행한다. public interface ProductRepository extends .. 2024. 1. 6. 07 테스트 코드 작성하기(3) JUnit을 활용한 테스트 코드 작성 리포지토리 객체의 테스트 리포지토리는 JpaRepository를 상속받아 기본적인 쿼리 메소드를 사용할 수 있다. findById 같은 리포지토리의 기본 메서드는 이미 테스트 검증을 마치고 제공되었으므로 기본 메서드에 대한 테스트는 큰 의미가 없다. db에 테스트용 데이터가 쌓이면 곤란하다. 그러므로 테스트용 db를 쓰거나 아예 db 연동 없이 테스트 하는 편이 나을 수도 있다. 테스트 폴더 내에 ProductRepositoryTest 를 만들자. @DataJpaTest @AutoConfigureTestDatabase(replace = AutoConfigureTestDatabase.Replace.NONE) class ProductRepositoryTest { @Aut.. 2023. 12. 31. 07 테스트 코드 작성하기(2) 11월말..12월초 너무 바빴다..ㅠㅠ 오랜만에 작성하는 스프링부트 시리즈 JUnit을 활용한 테스트 코드 작성 컨트롤러 객체의 테스트 예를들어 productController의 테스트를 하고싶다... 그러면 test 폴더 아래에 ProductControllerTest 를 만들어야 한다. @WebMvcTest(ProductController.class) class ProductControllerTest { @Autowired private MockMvc mockMvc; // ProductController에서 잡고 있는 Bean 객체에 대해 Mock 형태의 객체를 생성해줌 @MockBean ProductServiceImpl productService; // 예제 7.6 // http://localhost.. 2023. 12. 24. 이전 1 2 3 4 ··· 29 다음 반응형