분류 전체보기
-
무신사 개발팀에 입사하다!회사 2020. 5. 2. 09:42
제목은 사실 입사하다지만 입사한지 1년 하고 1일이 지났다. 그리고 때 마침 1년이 지나 입사는 어떻게 했고 현재 내가 회사에 얼마나 만족하고 있는지에 대해서 정리정돈 하지 않고 의식의 흐름대로 정리해보려고 한다 정말 오래전 부터 무신사 앱을 쓰기 시작했다 사실 그냥 오래됐다고만 생각했었는데 언제 첫 결제를 했었나 궁금해서 찾아보았더니 2015년 4월 11일이다(생각 보다 오래 안됐네...)ㅋㅋㅋ 아무튼 첫결제를 시작해서 현재는 레벨 7 플래티넘이다. 2015년은 병역특례 하고 있었던 때였고 앞으로 어떤 회사를 들어가야 하나 고민을 많이 했던 시절이다. 앱 개발도 2년정도 했고 프론트, 서버 개발을 다 하던 때였었기 때문이고 또 앱, 프론트, 서버 다 나한테 너무 흥미 있던 개발들이였다 고민 끝에 서버 ..
-
QueryDsl from subquery와 join을 해보자!JPA 2019. 9. 3. 22:33
php에 있는 batch query를 java로 마이그레이션 하는 작업중에 있다 휴ㅎㅎ그냥 mybatis를 사용했다면 정말 쉽게 할 수 있는것이지만 오늘도 애를 먹은 경험을 공유하고 싶어서 글을 쓴다. 위와 같은 예제 쿼리를 실했시켰더니 내가 생각한대로 결과가 나오겠지 하는 기대와 달리 다른 쿼리 결과가 생성되었다. 분명 union all한 쿼리를 묶어서 goods 와 join을 해야 하는데 조인을 하지 않았다. 사실은 맨 처음에는 SQLExpressions.union()를 사용했었는데 ExpressionUtils.as 에러가 발생하여서 jpasqlQuery 참조변수의 unionAll을 사용하였다. qGoods를 조인하는 부분을 제거 하고 from도 제거하고 unionAll만 셋팅해서 sql을 날려 보았..
-
QueryDsl - Date 작성시 Expressions.dateTemplate를 사용하자!JPA 2019. 9. 3. 22:20
사실 꼭 그렇지 않지만 나는 entity로 생성된 Q파일의 DateTimePath type은 Expressions.dateTemplate을 사용하는 것을 선호한다 그 이유는 예제를 보자. 전체 쿼리를 보여주면 오히려 복잡할 것 같아 짤라서 첨부했습니다. updDm은 DateTimePath이다 그래서 비교 대상은 날짜 관련 객체만 올 수 있다. 그래서 나는 처음에는 생각 없이 저렇게 사용 하였다. updDm의 값은 값은 이러하다. 그리고 querydsl을 실행하였더니.... 조회 결과가 362066건이 나와버렸다... 분명 이렇게 나올 수 없는 건수였는데 그래서 바인딩 된 값을 확인하였더니 Wed Jan 23 09:22:21 KST 2019 updDm값이 저렇게 바인딩 되었다. 58만개에서 줄긴? 줄었다ㅋ..
-
Unit Test - 에서 jmock을 사용해 동시성 테스트 하기UNIT TEST 2019. 9. 1. 22:48
무신사에서 현재 unit test는 spock와 unit test5를 사용해서 테스트를 진행하고 있다 두가지 중 어느것을 사용해도 무방하지만 나는 spock를 사용해서 테스트를 한다 각설하고 현재 무신사에서 php로 된 코드를 java로 마이그레이션을 하고 있는데 point관련 동시성 테스트를 진행해야 했다 물론 jmeter나 그 외 테스트 툴을 사용하려 했지만 그러한 테스트는 단발성 이기 때문에 진행하지 않고 코드로 남겨서 빌드 할 때 테스트를 진행할 수 있도록 하고 싶었다 그래서 동시성 관련 테스트 libarary을 알아보았는데 GroboUtils라는 테스트 library는 너무 오래 되기도 했고 우리 프로젝트에서 사용시 에러가 나는 문제가 있어서 사용하지 않고 다른것을 찾아보던 와중 https://..
-
QueryDsl QuerydslRepositorySupport에서 group_concat사용하기!JPA 2019. 9. 1. 22:22
QuerydslRepositorySupport을 사용해서 querydsl을 사용하면 내부적으로 HqlTemplates를 사용하게 된다 참고로 QuerydslRepositorySupport이 아닌 다른 방식으로 querydsl을 사용할 경우에는 db에 맞게 template를 지정해 줄 수 있다 group_concat을 사용하려고 했을 때 No pattern found for GROUP_CONCAT; 에러가 발생하였다. 그래서 이유를 찾아보았더니 HQLTemplates로 인식한다 그래서 내가 templates를 선택할 수 있는 방법이 있을까 해서 소스를 더 찾아보았다 Querydsl class 안에 createQuery라는 것이 있었다 그런데...내가 선택 할 수 있는게 없다 hibernate로 계속 찍히고..