IT
VO와 DTO 비교, 같아보이지만 다르다
서비스 개발을 하다 보면 항상 멈칫하게 되는 요소가 있다. 데이터 Object들에 대하여 어떻게 관리할 것인가. 그리고 만들어진 Object에 따라의 기능은 어디까지 부여해야 하는가. 그래서 항상 구글링을 하거나, 개발소스들을 참고하게 되는데, 보통 선언하는 Object명은 다음과 같다. ~~~ Dto, ~~~~ Vo. 해당 객체들에 대해서 어떻게 분류해야 하는지, 명확한 기준을 확립해 보고자 포스팅을 하게 된다. 단, 이 글은 누구나 그렇겠지만 내가 개발하는 데에 기준을 세워보고자 함이며, "이게 정답이고 이게 맞아!"라는 것은 아니다. 더 좋은 기준이 있다면 그것도 수용할 필요가 있다. 그럴 일은 없겠지만, 누군가에게 이 글이 기준이 아니라 하나의 정리이며 참고사항이길 바랄 뿐. VO(Value Ob..

Facade Pattern 정리하기.
"이번 개발은 Facade 아키로 해보자" - PL 曰 최근 회사에서는 스쿼드 붐이 일고 있는터라 스쿼드 내에서 스프린트 형식으로 개발이 진행되고 있다. 그러다가 기획상황과 추후 개발될 건들에 대하여 보더니, 이번 개발 건들은 Facade로 개발을 진행해 보자고 하셨다. 그래서 이번 개발을 진행하면서 알게 되었던 Facade Pattern을 정리해보고자 한다. Facade Pattern이란? 어떤 Sub System들의 인터페이스에 대하여 통합된 인터페이스가 제공되는 것. 백문이 불여일견이라고 개발자들은 글보다 코드로 보는 게 더 편하다(?) 내가 짜본 코드 다음과 같이 유저정보를 호출하고자 할 때, 여러 가지 서비스에서 값을 호출하는 것을 볼수 있다. Controller @GetMapping("/use..
![[JAVA]Exception 다시 되돌아보기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FnIyQx%2FbtsgDKueBx3%2FAAAAAAAAAAAAAAAAAAAAAB0fHhWOzQH-qw5qaPBsyV7GNzyWIPdPxLifIQyB2ILI%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DFSV1JQT0ziykR7ps8L1q9j7ugQc%253D)
[JAVA]Exception 다시 되돌아보기
최근 일하면서 나보다 잘하시는 분이 너무나 많다는 것을 다시 한번 깨닫고 Inflearn 강의를 다시 신청하여 공부하는 중이다. 최근 우리 회사에서 트랜잭션 처리가 제대로 되지 않은 문제가 있었다. 직장동료가 원인과 해결방법을 정리한 것을 보면서 트랜잭션에 대해 다시 공부를 시작하게 되었다. 그래서 강의는 김영한 님의 '스프링 DB 1편 데이터 접근 핵심 원리' 로 다시 되새겨보는 중이다. 그러다가 예외처리 관련 Chapter가 있어 보던 중 내가 많이 쓰고 있는 Exception에 대해 다시 정리가 필요한 것 같아 이렇게 적게 되었다. Exception이란? 프로그램 상에서 로직오류가 생겼거나, 메모리가 허용범위를 넘어서 동작할 수 없는 것과 같은 알 수 없는 이유로 프로그램이 종료되는 경우에 대해 종..

유용하다 생각한 IntelliJ 플러그인 모음집
이전 포스팅에서는 IntelliJ를 처음 설치했을 때 나에게 필요하고 유용하다고 생각했던 초기설정에 대해 알아봤었다. 주로 사용하는 IntelliJ 초기설정 IntelliJ는 개발자들 사이에서 많이 사용되고 있는 IDE(Integrated Development Environment) 중 하나다. 대학생 때 IDE는 이클립스만 사용했었고, 이클립스가 최고의 IDE인 줄 알았다. 그런데 회사에 입사하고 jaemin-it-and-others.tistory.com 이번 포스팅은 내가 Programming 하는데 좀 더 생산성을 도와주는 플러그인들에 대해 적어볼까 한다. GitToolBox 개발자라면 Git은 무조건적으로 알아야 하는 도구이며, 이 플러그인은 intelliJ에서 Git을 좀 더 유용하게 쓸 수 있..

주로 사용하는 IntelliJ 초기설정
IntelliJ는 개발자들 사이에서 많이 사용되고 있는 IDE(Integrated Development Environment) 중 하나다. 대학생 때 IDE는 이클립스만 사용했었고, 이클립스가 최고의 IDE인 줄 알았다. 그런데 회사에 입사하고 나서 새로운 문물에 대해 눈을 떴고, 그중 하나가 이 IntelliJ다. (역시 돈이 최고야!) 그런데 회사나 집에서 새로운 노트북에서 setting 할 때 다시 구글에서 다시 찾아보고 세팅하는 게여간 귀찮은 일이 아니다. 새로 입사하면 노트북 세팅을 하다보면 하루가 다 가있을 정도..(?) 그래서 이번에 내가 초기설정할때 주로 사용하는 설정에 대해서 정리해보고자 한다. 1. D2Coding Font 내가 주로 사용하는 폰트는 NAVER사에서 제공하는 D2Codi..

웹 브라우저의 리소스 호출, 그리고 CDN
내가 지금 일하고 있는 회사에서는 GCP를 이용하여 홈페이지를 운영 중에 있다. 그리고 많은 API를 개발하면서 상품과 그에 대한 이미지를 같이 호출하는 일이 많다. (당연하겠지, 손님이 그림을 안 보면 어떻게 물건을 사;;) 보통 이미지를 제공할 때 GCP에 저장된 이미지들의 URL을 output으로 제공하는데, 목록화면에서 상품 가짓수가 많으면 많을수록 이미지가 조금씩 늦게 나오는 경향이 있었다. 그래서 웹브라우저는 서버간에 콘텐츠를 어떻게 호출할까? 웹 브라우저는 최초 리소스를 호출할 경우, 서버에서 완전한 HTTP 요청/응답을 진행한다. - 리소스: 웹브라우저가 HTTP 요청으로 가져올 수 있는 모든 종류의 파일(HTML, CSS, JS...) - 완전한 요청: 리소스 요청시 아무런 조건이 없는,..