분류 전체보기

· 🐳 TIL
오늘 공부한 내용 [백기선님의 스프링 시큐리티] AccessDecisionManager 까지 듣기 [스프링 MVC 1편] '섹션 5. 스프링 MVC - 구조 이해' 까지 듣기 [이것이 취업을 위한 코딩 테스트다] 미로 탈출 풀기 블로그 스킨 바꾸기 (? ㅎㅎ) 자바 volatile에 대해 복습하기 [Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)] -섹션 0 듣기 💭느낀 점 & 배운 점 우선 스프링 MVC 1편에서, 스프링 MVC 프레임워크를 따라 만드는 것을 하였는데, 처음 할 때는 확실히 조금 어려웠고, 코드를 그냥 따라치는 느낌이었는데, 오늘 다시 해보니, 대충 설명만 듣고 혼자서 거의 다 구현할 수 있었다. (실력이 조금 는거일지도? 아님 익숙해졌거나). 그래도 딱히 막 새로..
🧐 서론 이전 글에서 프론트 컨트롤러 패턴을 학습하며 간단한 웹 프레임워크를 만들어 보았습니다. 이번 글에서는 그때 만들어 두었던 구조와 실제 스프링 MVC의 구조를 비교해보며, 스프링 MVC의 구조에 대하여 이해해 보도록 하겠습니다. 🧐 스프링 MVC의 전체 구조 이전에 저희가 만들었던 프레임워크의 구조는 다음과 같습니다. (사진은 김영한 선생님의 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술의 자료에서 발췌하였습니다.) 스프링 MVC는 다음과 같은 구조를 가집니다. 매우 비슷한 구조를 지니고 있다는 것을 알 수 있는데, 변경된 부분은 다음과 같습니다. FrontController -> DispatcherServlet 이름만 달라졌을 뿐, DispatcherServlet 역시 프론트 컨트롤러의 역할..
🧐 들어가기에 앞서 앞으로 등장하는 컨트롤러(Controller)는 MVC 패턴에서의 Controller를 의미합니다. 이때 Controller의 역할은 다음과 같습니다. HTTP 요청을 받아파라미터를 검증합니다. 비즈니스 로직을 실행합니다. (이때 보통 Service 계층의 클래스를 통해 실행합니다.) 뷰(View)에 전달할 결과 데이터를 조회하여 모델(Model)에 보관합니다. 🧐 프론트 컨트롤러 패턴을 사용하지 않았을 때의 문제점 프론트 컨트롤러 패턴에 대해 알아보기 전에, 프론트 컨트롤러를 왜 써야 하는지, 사용하지 않으면 어떤 문제가 발생하는지 알아보도록 하겠습니다. 간단한 회원 관리 애플리케이션을 통해 살펴보도록 하겠습니다. 우선 요청이 들어오면 회원 가입 화면을 보여주는 Controller..
🧐 Volatile 자바에서 지원하는 volatile이라는 키워드는 다음과 같은 특성을 가집니다. volatile로 선언된 변수가 있는 코드는 최적화되지 않습니다. volatile 키워드는 변수를 'Main Memory에 저장하겠다'라고 명시하는 것입니다. 변수의 값을 Read할 때마다 CPU cache에 저장된 값이 아닌, Main Memory에서 읽는 것입니다. 🧐 사용하는 이유 volatile키워드의 사용 이유를 알기 위해서는 메모리 구조를 알아둘 필요가 있습니다. 🧐 메모리 구조 보통의 메모리 구조는 다음과 같습니다. CPU 내에는 성능 향상을 위해서 L1 Cache가 내장되어 있습니다. CPU 코어는 메모리에서 읽어온 값을 캐시에 저장하고, 캐시에서 값을 읽어서 작업합니다. 값을 읽어올 때 우선..
· 🐳 TIL
오늘 공부한 내용 카프카 실습환경 구축하려 진짜 열심히 해보았지만 실패 [백기선님의 스프링 시큐리티] ThreadLocal까지 듣기 [스프링 MVC 1편] 서블릿 부분 모두 듣기 [이것이 취업을 위한 코딩 테스트다] 음료수 얼려 먹기 문제 다시 풀기 [오브젝트] 9장 읽기 💭느낀 점 & 배운 점 카프카 실습 환경을 세팅하려 했는데, AWS를 사용하고, 리눅스를 써서 뭐 이것저것 하는데, 유료인데다가 리눅스 하는것도 익숙치가 않아서 거의 오늘 이거에만 시간을 다 날렸다. 그리고 요금 폭탄 맞을까봐 두렵기도 하고, 리눅스 하다가 모르겠어서 결국 포기... 진짜 현타 엄청온다...ㅠㅠ 리눅스 너무 어렵다. 시큐리티 왜 대체 처음 들을 때 이렇게 좋은 내용들을 이해를 못하고 넘어갔는지 모르겠다. 뭔가 지금까지 ..
문제 N X M 크기의 얼음 틀이 있다. 구멍이 뚤려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다. 구멍이 뚫려 잇는 부분끼리 상, 하, 좌, 우로 붙어 있는 경우 서로 연결되어 있는 것으로 간주한다. 이때 얼음 틀의 모양이 주어졌을 때 생성되는 총 아이스크림의 개수를 구하는 프로그램을 작성하시오. 입력 조건 첫 번째 줄에 얼음 틀의 세로 길이 N과 가로 길이 M이 주어진다 (1
🧐 HttpServletResponse 서블릿은 응답에 대해 HttpServletResponse를 통해 다음과 같은 기능을 제공합니다. HTTP 응답 메시지 생성 HTTP 응답코드 지정 헤더 생성 바디 생성 또한 Content-Type, 쿠키, Redirect를 편하게 사용할 수 있게 해주는 기능을 제공해줍니다. 🧐 헤더 설정 HttpServletResponse.setHeader() @WebServlet(name = "responseHeaderServlet", urlPatterns = "/response-header") public class ResponseHeaderServlet extends HttpServlet { @Override protected void service(HttpServletReq..
🧐 HttpServletRequest 서블릿은 아래와 같은 HTTP 요청 메시지를 파싱해서 HttpServletRequest에 담아줍니다. POST /save HTTP/1.1 Host: localhost:8080 Content-Type: application/x-www-form-urlencoded username=kim&age=20 ... 파싱된 요청 정보는 아래와 같이 조회할 수 있습니다. 🧐 헤더 정보 조회하기 /** * REQUEST - START LINE 정보 조회 */ private void printStartLine(HttpServletRequest request) { System.out.println("--- REQUEST-LINE - start ---"); System.out.println..
말 랑
'분류 전체보기' 카테고리의 글 목록 (156 Page)