본문 바로가기

전체 글220

[Spring] Spring MVC Controller 어노테이션 ☑️ @RestController 어노테이션을 추가한 해당 클래스가 REST API의 리소스를 처리하기 위한 API의 엔드포인트로 동작함을 정의 해당 어노테이션을 추가하면, 애플리케이션 로딩 시 Spring Bean으로 등록 ☑️ @RequestMapping 클라이언트의 요청과 Controller의 핸들러 메서드(Handler Method)를 맵핑(Mapping) 해주는 역할 RequestMapping에 정의된 URI에 매치되는 요청을 처리할 수 있도록 도와줌 클래스 레벨, 메서드 레벨에 사용 가능 일반적으로 공통 URI는 클래스 레벨에 정의, 핸들러 메서드별로 달라지는 URI는 각각의 핸들러 메서드에 정의 일반적으로 클래스 레벨에는 @RequestMapping을 사용하고, 메서드 레벨에서는 단축표현 사.. 2022. 8. 24.
[Spring] Spring MVC 📋 목 차 1️⃣ Spring MVC란? 2️⃣ Spring MVC의 요청 처리 과정 Spring MVC란? Spring MVC는 Spring에서 제공하는 웹 모듈이다. Model, View, Controller의 세 가지 구성 요소가 있고, MVC는 세 가지 구성요소의 약자이다. 1️⃣ Model Model은 작업의 처리 결과 데이터를 말한다. Spring MVC 기반의 웹 애플리케이션이 클라이언트의 요청을 받으면 요청 처리를 위한 작업을 한다. 이렇게 처리한 작업의 결과를 클라이언트에게 돌려줘야 하는데, 이 때 클라이언트에게 응답으로 돌려주는 작업 처리 결과 데이터를 Model이라고 한다. 2️⃣ View View는 Model 데이터를 이용해 웹 브라우저 같은 클라이언트 애플리케이션의 화면에 보여지는.. 2022. 8. 24.
[백준 알고리즘] 문제 4673번 : 셀프 넘버 (JAVA) 문제 링크 : https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 1. 셀프 넘버를 찾자. 1️⃣ n이라는 정수를 파라미터로 받는 selfNum 함수를 만듦. public static int selfNum(int n){} 2️⃣ sum의 초기값을 n으로 설정. : 셀프 넘버를 구하는 식을 살펴 보면, n값에 각 자리 수를 더하기 때문이다. (예 : d(15) = 15 + 1 + 5) public s.. 2022. 8. 23.
20220823 데일리 회고 2022.08.23 TUE 1. 오늘의 학습 • Daily Coding • 서비스 계층 • 서비스 계층 + mapper 실습 2. 학습 목표 🌸 서비스 계층에서의 DI ☝🏻 DI(Dependency Injection)를 사용해서 API 계층과 서비스 계층을 연동할 수 있다. 🔺 : 느슨한 연결로 연결 시킬 수 있다. 하지만 몇 번 더 해봐야 할 거 같다. 지금 상태면 금방 잊어버릴 것 같기 때문이다. 다시 해보자! ✌🏻 API 계층의 DTO 클래스와 서비스 계층의 엔티티(Entity) 클래스를 매핑할 수 있다. 🔺 : 예제 코드를 따라서 쓰면서 할 수는 있는 것 같은데, 아직 세세한 이해가 모자란 것 같다. 복습 시간에 다시 세세한 걸 나눠서 봐보자. 3. 돌아보기 1️⃣ Daily Coding : A.. 2022. 8. 23.
20220822 데일리 회고 2022.08.22 MON 1. 오늘의 학습 • Daily Coding • DTO • DTO 적용 실습 2. 학습 목표 🌸 DTO(Data Transfer Object) ☝🏻 DTO가 무엇인지 이해할 수 있다. 🔺 : 데이터를 전송하기 위한 객체 정도로만 이해하고 있다. 조금 더 구글링해서 정리해보면, 알 수 있을 것 같다. ✌🏻DTO를 Controller 클래스에 적용할 수 있다. 🔺 : 예제를 따라 쓰고, 실습에 적용한 정도로만 할 수 있다. 여러번 다른 걸로 구현해보면 익숙해 질 것 같다. 🤟🏻 DTO Validation이 무엇인지 이해할 수 있다. 🔺 : 기본적으로 유효성 검사이며, 몇 개의 어노테이션 정도로만 알고 있다. 다른 어노테이션도 써 보면 익숙해 질 것 같다. 3. 돌아보기 1️⃣ Da.. 2022. 8. 22.
20220819 데일리 회고 2022.08.19 FRI 1. 오늘의 학습 • Daily Coding • Spring MVC • Controller 2. 학습 목표 🌸 Spring MVC ☝🏻 Spring MVC가 무엇인지 알 수 있다 🔺 : Model, View, Controller의 기본 정의는 이해했다. 주말 동안 나의 언어로 정리해야 할 듯! 어제 미리 찾아보고 공부했던 덕분에 금방 이해할 수 있었다. 내 언어로 정리해서 설명할 수 있도록 정리할 것! ✌🏻 Spring MVC의 동작 방식과 구성요소를 이해할 수 있다 ❌ : 동작의 흐름과 기본 그림만 알 것 같다. 우선 주말에 더 찾아봐야 할 것 같다. 🌸 Controller ☝🏻 API 엔드 포인트인 Controller의 구성 요소를 이해할 수 있다 🔺 : Spring in.. 2022. 8. 19.
Section2를 마무리하며 어느 새 벌써 두 번째 섹션을 마무리하게되었다. Section2의 후반부로 갈 수록 블로깅도 못하고, 몸 관리도 못했다. 한달이 흘렀을 시점에 몸이 안 좋아졌었는데, 체력적인 문제였던 건지 한포진이 주기적으로 올라왔다. 병원에 가려고 하면 금방 가라앉아서 가기도 민망한 상태였다. 근데 솔직히 이거 다 핑계라고 느껴지긴 한다. Section3에 가면 조금 더 성실하게 회고를 써야겠다. Spring이 시작되고 많이 어려움을 느꼈다. 그 전에도 꾸역꾸역 따라가고 있었는데, DI와 AOP 코드 실습을 하면서 버거움을 처음으로 느꼈던 것 같다. 아무래도 코드를 해석하는데 한계를 마주했고, 그저 따라 가기에만 바빴기 때문이다. 네트워크 파트는 그래도 복습을 하다보면 조금 씩 이해가 가고 있는 부분이 많다. 하지만 .. 2022. 8. 18.
[Spring] AOP란 📋 목 차 1️⃣ AOP란? 2️⃣ AOP의 장점 3️⃣ AOP 용어 AOP(Aspect Oriented Programming)란? AOP는 Aspect Oriented Programming의 약자로, "관점 지향 프로그래밍"이라고 불린다. 관점 지향 프로그래밍은 어떠한 로직을 기준으로 핵심 관심 사항과 공통 관심 사항(부가적인 관심 사항)으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것이다. 애플리케이션을 개발하다 보면, 애플리케이션 전반에 사용되는 공통적인 기능이 존재하기 마련이다. 이러한 공통 기능들에 대한 관심사를 공통 관심 사항(Cross-Cutting Concern)이라고 한다. 그리고 애플리케이션의 주 목적을 달성하기 위한 핵심 로직의 대한 관심사를 핵심 관심 사항(Core Co.. 2022. 8. 17.
Day34 TIL(Daily Coding, Spring Framework) 2022.08.09 1. 오늘의 학습 • Daily Coding • Spring Framework • Spring Framework 특징 2. 학습 목표 • Spring Framework이 무엇인지 이해할 수 있다. ⭕️ : 이해가 되었고, 내 언어로 정리도 했다. 누군가에게 알려주기 위해 더 세부적으로 쉽게 정리해보고 싶다. • Spring Framework을 왜 배워야하는지 이해할 수 있다. 🔺 : 필요성을 어느 정도 인지했다. 찾아보기도 했고. 이 또한 설명하기 위해 더 쉽게 정리해 보고 싶다. • Spring Framework의 특징의 의미를 이해하고, 필요한 이유를 알 수 있다. ☝🏻 POJO(Plain Old Java Object) 🔺 : 좀 더 찾아보고 정리하고 싶다. 기본적인 설명은 이해가.. 2022. 8. 9.
[SQL] What is the SQL? (+ 관계형 데이터 베이스) 📋목차 1️⃣ SQL이란? 2️⃣ 관계형 데이터 베이스(Realational DataBase)란? SQL이란? SQL은 Structured Query Language의 약자입니다. 영어의 뜻을 하나 하나 풀어볼까요? Structured는 '구조화된, 구조적'이라는 뜻을 가지고 있습니다. Query는 '질문, 질의문'이라는 뜻을 가지고 있습니다. Language는 '언어'라는 뜻을 가지고 있습니다. 여기서 조금 더 설명해 볼 단어가 있습니다. 바로 Query 입니다. 조금은 생소할 수 도 있는 이 단어는, 우리와 생각보다 밀접하게 관련되어 있습니다. 누구나 한 번쯤은 검색창에 검색어를 입력해서 검색을 해 보았을 것 입니다. 검색을 안 해본 사람은 솔직히 없죠. 이 검색어도 일종의 query입니다. 저장되어.. 2022. 8. 5.
Day 31 TIL (Daily Coding, SQL) 2022. . 1. 오늘의 학습 • Daily Coding • SQL 2. 학습 목표 • SQL 주요 문법을 이해할 수 있다. ☝🏻 조회, 삽입, 갱신, 삭제 구문을 자유자재로 사용할 수 있다. 🔺 : 자유자재까지는 아닌 것 같다. 그래도 생각하고 입력할 수는 있다. 근데 이것은 완전히 문제에 한정이다. 터미널로 몇번 연습을 더 해보는 게 좋을 것 같다. ✌🏻조회시 다양한 조건을 걸어 원하는 정보만 조회할 수 있다.🔺 : 기초적인 것은 할 수 있는 것 같다. 근데 처음에는 조금 헤맸다.그래서 찾아가면서, 따라하면서 해봤다. 검색하지 않고 할 수 있을 때까지 여러번 해보면 좋을 것 같다. 매일 한 두번씩만 조회해 보는 것도 좋을 듯 하다. 🤟🏻 통계를 위한 쿼리를 만들 수 있다. ❌ : 이것은 아직 엑스일.. 2022. 8. 4.
Day30 TIL(Daily Coding, REST API, Postman 실습 ) 2022.08.04 1. 오늘의 학습 • Daily Coding • REST API • Postman 실습 2. 학습 목표 • REST API에 대해 이해할 수 있다. ☝🏻REST API 문서를 읽을 수 있다. ❌ : 아직은 자신이 없다. 주말에 더 복습을 해봐야 읽을 수 있을 것 같다. ✌🏻REST API에 맞춰 디자인할 수 있다.🔺 : 아직은 자신이 없다. 주말에 더 복습을 해봐야 명확하게 할 수 있을 것 같다. 🤟🏻 Open API와 API Key에 대해 이해할 수 있다. ⭕️ : 개념에 대한 이해는 했으며, 간단하게 설명할 수 있다. • Postman이 무엇인지 이해하고 사용할 수 있다. ☝🏻HTTP API 테스팅이 무엇인지 알 수 있다.🔺 : 나는 이해했으나, 설명하기에는 아직 부족하다. 조금 .. 2022. 8. 4.