전체 글

https://velog.io/@jidam03/series 기존 블로그입니다
· 스프링
작년에 사이드프로젝트를 진행하면서 api서버를 개발했다. 프론트에서 http 요청 바디에 데이터를 넘겨주면 api서버에서는 무조건 dto로 받기로 했다. 팀원이 그렇게 처음부터 정하고 프로젝트를 진행했기 때문에 왜 dto를 사용해야 되는지 고민해보지를 않았다. dto를 쓰지 않은 코드를 보면서 역체감으로? 왜 dto를 쓰는게 좋은 지 느끼게 된 바가 있어 글을 작성해보겠습니다. 어디까지나 제 주관적인 생각입니다.  HttpServletRequest getParameter 사용 @RequestMapping("/messages") public ModelAndView make(HttpServletRequest request) { String title = request.g..
· 스프링
SimpleMappingExceptionResolver란?SimpleMappingExceptionResolver는 디스패처 서블릿 xml 설정파일을 통해 Excepton 별로 원하는 화면에 연결할 수 있게 해준다.  error/null_error -->  디스패처 서블릿 설정 xml 파일을 통해 설정할 수 있다.예를 들어 위 코드에서는 NPE에 대해 common_error.jsp를 표시하도록 매핑했다.  내용추가ExceptionResolver에 관한 내용 추가예정 .. 내일출근을위해 자야함출처https://lcs1245.tistory.com/entry/Spring-MVC-SimpleMappingExceptionResolv..
· 스프링
출처김영한님 스프링 핵심 원리 기본편 강의https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard 스프링 핵심 원리 - 기본편 강의 | 김영한 - 인프런김영한 | 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보www.inflearn.com 스프링 컨테이너가 필요한 이유스프링 컨테이너가 무엇인지 알아보기 전에 먼저 스프링 컨테이너가 왜 필요한지 알아보자. public class OrderServic..
· 스프링
서블릿이란?서블릿(Servlet)이란 동적 웹 페이지를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술이다. 서블릿은 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해준다. 서블릿은 클라이언트의 요청에 따라 동적으로 작동하는 웹 애플리케이션 컴포넌트이다. 서블릿이 필요한 이유서블릿을 사용하면 개발자는 의미있는 비즈니스 로직 개발에만 집중하면 되므로 효율적인 개발이 가능하다. @WebServlet(name = "helloServlet", urlPatterns = "/hello")public class HelloServlet extends HttpServlet { @Override protected void service(HttpServletRequest..
· infra
이번 사이드 프로젝트를 진행하면서 aws ec2로 스프링 프로젝트를 혼자 배포했는데 그 과정을 기록해 보고자 한다.사실 배포한지 좀 되었고 변경사항이 생길 때마다 pull 받고 재배포만 하고 있어서 초기 세팅은 약간 기억이 왜곡되었을 수도 있다.. https://velog.io/@jonghyun3668/SpringBoot-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-EC2-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0 SpringBoot 프로젝트 EC2 배포하기깃헙에 있는 프로젝트를 AWS EC2에 git clone을 통해 내려받아 jar 파일 빌드를 해보겠습니다.(EC2 인스턴스는 우분투로 진행합니다. 또한 따로 배포 시스템을 구축하지 않고 수동으로 배포하는것만..
· 스프링
rednose 프로젝트를 진행하면서 카카오 로그인 부분을 맡았고 관련해서 배운 점들을 정리해보겠습니다.카카오 로그인kakao developers 문서에서 설명하는 흐름은 위와 같습니다. 먼저 사용자는 프론트엔드에서 제공하는 kakao login 버튼을 눌러 카카오 로그인을 시도합니다.step1사용자가 카카오계정 로그인과 동의 화면에서 동의하고 계속하기를 클릭하면 kakao auth server에서 인가코드를 redirect uri로 보내줍니다. 이 redirect uri는 저희가 kakao developers에 앱을 등록하고 정할 수 있습니다. 인가 코드를 받고자 하는 uri를 지정하면 됩니다. @AccessibleWithoutLogin @GetMapping("/login/kakao") ..
· Kotlin
보호되어 있는 글입니다.
캐시 성능12:00가량에 캐시를 적용한 그래프다Select는 캐시히트가 발생하므로 DB에 쿼리 횟수가 감소한다반면 Update는 어차피 DB에 접근을 해야 해서 변화가 거의 없다 Select가 빠지면서 CPU 이용률이 감소한다. CPU 사용률 측정 등 성능 측정은 Locus, Gatling, Jmeter등을 많이 사용한다데이터의 Scale Out서버 2대에 데이터를 나눠서 담는 방법을 생각해보자. 위치 왼쪽 / 오른쪽  작은 숫자 / 큰 숫자%2 연산  이렇게 다양한 방법을 떠올릴 수 있다. 하지만 단순히 위치로 나누면 데이터의 위치를 파악할 수 없다. 따라서 전체를 찾아야 한다. 이런 일을 방지하기 위해서는 데이터를 나누는 규칙기준이 필요하다.위와 같이 %2 연산의 결과로 나누기로 했다고 가정하자. 명..
jidam123
jidamblog