인프런28 [인프콘] INFCON 2022 후기 1. 참석 전 가서 뭘 들을지 많이 고민했었던 것 같다. 순서는 일단 다음과 같이 정하긴 했었다. 13:45 105호 (이력서) 14:40 102호 (테스트 코드) 15:35 103호 (코드 리뷰 전략) 16:10 103호 (aws 아키텍처 진화) 17:05 102호 (레거시 개편) 18:35 103호 (김영한) 레거시 개편 때 Devops의 테라그런트를 들으러 간 것 말고는 원했던 섹션을 모두 들을 수 있었다. 코드스쿼드 멤버 들과 주로 같이 다니게 되었다! 민지노, 밀러, 나단, 타니, 나(Shine), 케이, 로사(iOS분)를 만날 수 있었다! 또 우리의 마스터 호눅스도 컨퍼런스를 돌아다니다 만날 수 있었다ㅋㅋㅋㅋㅋㅋㅋㅋ 2. 인프콘 참석! 코로나 이후 이렇게 크게 코엑스에서 열리는 개발 컨퍼런스는.. Life/컨퍼런스 2022. 8. 27. [Spring] 스프링 타입 컨버터 - 1 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 스프링 타입 컨버터 소개 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 다음과 같은 컨트롤러가 하나 있다고 하자! @GetMapping("/hello-v1") public String helloV1(HttpServletRequest request){ String data = request.getParameter("data"); // 문자 타입 조회 Integer intValue = Integer.valueOf(data); System.out.println("intValue = " + intValue); return "OK"; } HTTP 요청 파라미.. BackEnd/Spring MVC 2022. 3. 18. [Spring] API 예외 처리 - 1 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 시작 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 API의 예외 처리는 기존과 다르다. 이전처럼 단순하게 고객에게 오류 페이지를 보여주는것으로 끝나지 않는다. API 방식은 각 오류 상황에 맞는 오류 응답 스펙을 정하고, JSON으로 데이터를 내려주어야 한다. ● ApiExceptionController - API 예외 컨트롤러 @Slf4j @RestController public class ApiExceptionController { @GetMapping("/api/members/{id}") public MemberDto getMember(@Pa.. BackEnd/Spring MVC 2022. 3. 14. [Spring] 로그인 처리2 - 필터, 인터셉터 - 1 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 서블릿 필터 - 요청 로그 " data-ke-type="html">HTML 삽입미리보기할 수 없는 소스필터를 사용하여 사용자의 모든 요청에 로그를 남겨보자. ● LogFilter - 로그 필터@Slf4jpublic class LogFilter implements Filter{ @Override public void init(FilterConfig filterConfig) throws ServletException { log.info("log filter init"); } @Override public void doF.. BackEnd/Spring MVC 2022. 3. 13. [Spring] 서블릿 - 2 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 5. HTTP 요청 데이터 - POST HTML Form " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 이번 시간에는 HTML의 Form을 이용해서 클라이언트에서 서버로 데이터를 전달하는 방법을 공부하였다. ● 특징 - content-type: application/x-www-form-urlencoded - 메시지 바디에 쿼리 파리미터 형식으로 데이터를 전달한다. username=hello&age=20 우선 간단한 HTML 하나를 src/main/webapp/basic/hello-form.html 에 생성해보자. username: age: 전송 스프링 부.. BackEnd/Spring MVC 2022. 2. 14. [Spring] 서블릿 - 1 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. Hello 서블릿 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 톰켓을 직접 설치하는 대신에 SpringBoot를 이용하여 내장 톰켓을 사용할 것 이다. ● 스프링 부트 서블릿 환경 구성하기 @ServletComponentScan 를 추가하면 스프링 부트가 서블릿을 직접 등록해서 사용할수 있도록 도와준다. @ServletComponentScan //서블릿 자동 등록 @SpringBootApplication public class ServletApplication { public static void main(String[] args) { Spring.. BackEnd/Spring MVC 2022. 2. 13. [Spring] 웹 애플리케이션 이해 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 웹 서버, 웹 애플리케이션 서버 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 웹은 모든 것이 HTTP 기반으로 작동한다. - HTML, TEXT - IMAGE, 음성, 영상, 파일 - JSON, XML (API) - 거의 모든 형태의 데이터 전송 가능 - 서버 간에 데이터를 주고받을 때도 대부분 HTTP 사용 ● Web Server Web Server의 기능 HTTP 프로토콜을 기반으로 하여 클라이언트(웹 브라우저 또는 웹 크롤러)의 요청을 서비스하는 기능을 담당한다. 요청에 따라 아래의 두 가지 기능 중 적절하게 선택하여 수행한다. 1) 정적인 .. BackEnd/Spring MVC 2022. 2. 12. [Spring] 빈 생명주기 콜백 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 빈 생명주기 콜백 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 개발자는 의존관계 주입이 모두 완료된 시점을 어떻게 알고 사용할까? 스프링은 의존관계 주입이 완료되면 스프링빈에게 콜백 메서드를 통해 초기화 시점을 알려주는 다양한 기능을 제공한다! 또한 스프링은 스프링 컨테이너가 종료되기 직전에 소멸 콜백을 통하여 clean up 과정을 갖도록 해준다. 싱글톤 스프링 빈의 라이프 사이클은 다음과 같다. 스프링컨테이너생성 => 스프링빈생성 => 의존관계주입 => 초기화콜백 => 사용 => 소멸전 콜백 => 스프링 종료 다만 위의 라이프 사이클은 sett.. BackEnd/Spring 2022. 2. 7. [Spring] 컴포넌트 스캔 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 컴포넌트 스캔과 의존관계 자동 주입 시작하기 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 지금까지의 AppConfig를 생각하면, @Bean으로 생성할 빈 객체에 대한 정보를 적어줬었다. 하지만 컴포넌트 스캔을 이용하면 빈을 자동 등록할 수 있다. 이전까지의 예제에서는 등록한 스프링 빈이 적어서 수동으로 가능했지, 30개만 되도 수동으로 @Bean을 적어 등록하기는 힘들어진다... 따라서 보통 컴포넌트 스캔을 이용한다. 바뀐 AutoAppConfig는 다음과 같다. @Configuration @ComponentScan( excludeFil.. BackEnd/Spring 2022. 2. 4. [HTTP] HTTP 헤더 - 일반헤더 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. HTTP 헤더 개요 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 HTTP 헤더의 header-field를 예전에 설명한적이 있다. 다시한번 확인하고 시작하자. ● header-field => field-name":" OWS field-value OWS (OWS:띄어쓰기 허용) - HTTP 전송에 필요한 모든 부가정보가 헤더에 포함되어있다. - 예를 들어 메시지 바디의 내용, 바디의 크기, 압축, 인증, 요청 클라이언트 등등... - 또한 표준 헤더가 너무 많다는 단점이 있다. 우선 과거의 분류 기준을 살펴보자. RFC2616은 1999년도 만들어진.. BackEnd/WEB 2022. 2. 2. [Spring] 스프링 컨테이너와 스프링 빈 내돈내고 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 스프링 컨테이너 생성 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 스프링 컨테이너가 생성되는 과정과 코드를 살펴보자! 다음 코드를 먼저 살펴보자. ApplicationContext applicationContext = new AnnotationConfigApplicationContext(AppConfig.class); 애노테이션 기반의 구성 정보를 담고 있는 AppConfig.class가 있다. 이를 사용하여 스프링 컨테이너를 생성할 수 있다. 위의 ApplicationContext는 인터페이스에 해당한다. 따라서 이를 구현한 여러 구현체.. BackEnd/Spring 2022. 2. 1. [HTTP] HTTP 상태 코드 내가 공부한것을 올리며, 중요한 단원은 저 자신도 곱씹어 볼겸 상세히 기록하고 얕은부분들은 가겹게 포스팅 하겠습니다. 1. 2xx - 성공 " data-ke-type="html"> HTML 삽입 미리보기할 수 없는 소스 ● 200 OK 가장 단순한 상태코드이다. Client에서 어떤 처리를 서버에 요청했을때, 정상적으로 처리되었다면 보통 200을 상태코드로 보여준다. ● 201 Created 클라이언트의 요청이 성공하여 서버쪽에서 새로운 리소스가 생성되었을때 201로 응답해준다. POST로 신규 리소스 등록을 요청할때 서버 쪽에서 등록하여 URI를 정하고, 클라이언트에게 반환해 주는 컬렉션 방식에 사용된다. ● 202 Accepted 클라이언트의 요청이 접수되었으나, 아직 처리가 완료되지 않았을때 사용한.. BackEnd/WEB 2022. 2. 1. 이전 1 2 3 다음