본문 바로가기

전체 글141

[Key Word 개발기] final 컨벤션 개인프로젝트때도 파라미터라든지 수정이 되면 안되는 객체??들한테 final을 붙였는데 협업프로젝트 때에도 나의 추천..???으로 final을 붙이기로 하였다. 근데 나도 사실 다른 분들 깃 보다가 참고한거라 왜 final을 붙이는지에 대해 정확하게 알지 못한다. 이기회에 알아보자구나.. 일단 첫번째로 변수의 재할당을 막기위해 final을 붙였다. 예를들어 public Hello(String hello){ hello="바꾸기" } 이렇게 되면 어떻게 될까?? 의도하지 못한 갑이 할당될 것이다. 물론 그렇지 않기 위해 노력하겠지만 사람인지라..실수가 있을 수 있다. 그래서 만약 파라미터에 final을 붙이면 컴파일 에러가 발생하여 예상치 못한 동작을 사전에 방지할 수 있다. 두번째 수정할 수 없다라는 의미?.. 2023. 12. 29.
[Key Word 개발기] Swagger ?? Spring Rest Docs?? 협업 프로젝트에 들어가면서 api문서에 있어 Swagger를 사용할까??Spring Rest Docs를 사용할까?? 고민하였다. 나는 개인적으로는 Spring Rest Docs를 적용하고 싶었다. 그 이유를 여기서 차차 설명할것이다. 첫번째 Swagger는 운영코드에 침투적이다 Swagger를 사용하려면 컨트롤러단에 코드를 추가해야한다.예를 들어 @ApiOperation(value=" 회원 조회 ") @ApiResponses(value = { @ApiResponse(code=200, message ="회원 존재", response=String.class), @ApiResponse(code=500, message = "서버 에러") } @PostMapping("/member/{id}") public Res.. 2023. 12. 29.
트랜젝션에 대해 알아낸거를 기록하자 아니 프로젝트 하다보니 트랜젝션에 대해 생각보다 자세히 알고 있어야하는 느낌이더라... 옛날에는 진짜 아무생각 없이 코드를 짯는데 쿼리 나가는거 보고 이러다보니 트랜젝션이 신경쓰인다. 그래서 검색하면서 알아낸거 하나씩 추가하는 게시판 느낌으로 쓸 예정이다 # 2023.12.28 1. 여러 entityManger가 하나의 영속성 컨텍스트를 공유할 수 있다 -> 동일 트랜젝션에서 entitymanger를 여러번 호출해서 처리하면 같은 영속성 컨텍스트에서 처리된다 -> 다만 다른 트랜젝션이라면 다른 영속성 컨텍스트에서 처리된다 # 2023.12.29 영속성 컨텍스트와 트랜젝션 관련해서 게시글을 작성했다 https://haebing.tistory.com/116 2023. 12. 28.
[1] Spring Batch writer에서 merge발생?? 협업프로젝트 기간인데 아직 시간이 있어 개인프로젝트 리팩토링??중에 batch 쿼리에서 신기한 것을 발견했다. 대충 코드를 보이자면 @Bean @StepScope public Step reserveStep(){ return new StepBuilder("reserveStep",jobRepository) .chunk(chunkSize,platformManager) .reader(reserveReader()) .processor(reserveProcessor()) .writer(reserveWriter()) .build(); } @Bean public JpaPagingItemReader reserveReader(){ Map parameter=new HashMap(); parameter.put("created.. 2023. 12. 27.
2022-12-25 일주일 회고록 하루 늦은 회고록 어제 크리스마스 이브라 쉰다고 아무것도 안하고 집에 누워있다가 회고록 쓰는 걸 까먹었다...ㅎㅎㅎ 그래서 오늘 회고록을 쓰지만..사실 쓸게 없다. 개인프로젝트 끝나고 거의 1주일을 쉬었기 때문이다. 뭐랄까...그냥 좀 나태해진듯...아.. 이번주 일주일 사실 저번주부터 부트캠프에서 프론트분들이랑 협업 프로젝트를 시작했다. 비율은 프론트 2명 백엔드 5명... 사실 프론트 분이 1명정도 더 있으면 한다. 그 이유는 뒤에서 차차 말해주겠다. 원래는 백엔드가 3명이었느데 점점 늘어나더니 5명이 되어서... 음 부트캠프 분들 뭔가 중간중간에 인원을 추가해주시는데 조금은 실망감이있다. 처음하는 협업이기에 초반에 변동이 적어야 잘 흘러갈수 있다고 생각하는데.. 프론트가 1분 더 필요한 이유 사실 .. 2023. 12. 25.
API호출 RestTemplate, WebClient, Feign?? 개인프로젝트하면서 API호출이 필요해서 Open Feign을 사용했다. 어떠한 이유에서라기 보다 최근에 나온 기술이라고도 하고 생각보다 사용이 쉬워서 Open Feign을 사용했다. 그렇다면 RestTemplate, WebClient,Feign 차이는 뭘까...?? RestTemplate Spring Framework 에서 제공하는 동기식 클라이언트 라이브러리다. 동기식 라이브러리라 단순한 요청처리에는 효과적이다. 다만 오랫동안 인기있는 라이브러리였지만 대량의 요청이나 비동기적인 처리가 필요한 경우에는 성능이슈가 발생하여 최근에 deprecated되어 WebClient를 권장하는 추세이다. WebClient Spring Framework 5부터 도입된 비동기식 Http클라이언트이다. 비동기 및 리액티브 .. 2023. 12. 21.
728x90