전체 글 110

[0629 ~ 0630] TIL

한것들 항해 99 스프르이 숙련 주차 1,2주차 강의듣기 1주차 복습 및 강의내용 읽기 목요일마다 시험(항해99는 목요일 마다 시험을 본다) 시험문제 유저를 조회하는 API 개발 UserController package com.example.sparta.controller; import com.example.sparta.dto.UserResponseDto; import com.example.sparta.service.UserService; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.http.HttpStatus; import org.springf..

TIL/2023 2023.07.01

[TIL] 0627 ~ 0628

내가 한 것 항해 99 숙제 Lv.2 코딩 Lv.2 페어 프로그래밍 (JWT 로그인 구현) https://github.com/siwoo1224/spring-week2 GitHub - siwoo1224/spring-week2 Contribute to siwoo1224/spring-week2 development by creating an account on GitHub. github.com 마무리 좀...힘들다... Lv.2 의 요구사항에 스프링 시큐리티가 없지만 우리 페어는 모르고 적용을 하다가 죽을뻔했다...ㅋㅎㅋㅎ 일단은 스프링 시큐리티를 뒤로 미루고 Lv.4에 시큐리티 적용이 있다고 하니 다시한번 더 복습을 하고 적용을 해볼까한다. 갑자기 많은 양의 데이터를 학습하려고 하다 보니 머리가 아프다.....

TIL/2023 2023.06.29

[소지사] ORM이란

💡 ORM : Object-Relational Mapping Object : "객체" 지향 언어 (자바, 파이썬) Relational : "관계형" 데이터베이스 (H2, MySQL) 📌 반복적이고 번거로운 애플리케이션 단에서의 SQL 작업을 줄여주기 위해서 ORM(객체 관계 매핑)기술들이 등장 하게 됩니다. ORM은 이름 그대로 객체와 DB의 관계를 매핑 해주는 도구입니다. 우리가 일반 적으로 알고 있는 애플리케이션 Class와 RDB(Relational DataBase)의 테이블을 매핑(연결)한다는 뜻이며, 기술적으로는 어플리케이션의 객체를 RDB 테이블에 자동으로 영속화 해주는 것이라고 보면된다. 장점 SQL문이 아닌 Method를 통해 DB를 조작할 수 있어, 개발자는 객체 모델을 이용하여 비즈니스..

[Spring] 3 Layer Architecture (Spring)

Spring의 3 Layer Architecture 서버 개발자들은 서버에서의 처리과정이 대부분 비슷하다는 걸 깨닫고, 처리 과정을 크게 Controller, Service, Repository 3개로 분리했습니다. 1. Cotroller 클라이언트의 요청을 받는다 요청에 대한 로직 처리는 Service에게 전담한다. Request 데이터가 있다면 Service에게 전달한다. Service에서 처리 완료된 결과를 클라이언트에게 응답한다. 2. Service Controller에 의해 호출되어 실제 비즈니스 로직과 트랜잭션을 처리합니다. 3. Repository DB 관리 (연결, 해제, 자원 관리)를 한다. DB CRUD 작업을 처리한다. 전체 그림

Spring 2023.06.27

[소지사] Jackson

Jackson은 JSON 데이터 구조를 처리해주는 라이브러리이다 Object를 JSON 타입의 String으로 변환해줄 수 있다. JSON 타입의 String을 Object로 변환해줄 수 있다. Spring은 3.0버전 이후로 Jacskon과 관련된 API를 제공함으로써, 우리가 직접 소스 코드를 작성하여 JSON 데이터를 처리하지 않아도 자동으로 처리해주고 있다. 따라서 SpringBoot의 starter-web에서는 default로 Jackson 관련 라이브러리들을 제공하고 있다. 직접 JSON 데이터를 처리해야할 때는 Jackson 라이브러리의 ObjectMapper를 사용할 수 있다 Object To JSON @Test @DisplayName("Object To JSON : get Method 필..

[0626] TIL

오늘 한 것 스프링 강의 2주차, 3주차 항해 Lv.1 숙제 JPA 적용 Lv.1 숙제 코드 리뷰(팀원이랑) https://github.com/siwoo1224/spring-week1 GitHub - siwoo1224/spring-week1 Contribute to siwoo1224/spring-week1 development by creating an account on GitHub. github.com 마무리 오늘부터 페어프로그래밍을 한다. 우선 서로 코드 리뷰를 했다. 나는 메모리 DB를 사용해서 구현을 했었는데 다른분들은 2주차 내용까지 듣고 JPA를 사용해서 해야할거 같다고 하셔서 나도 오늘 오전에 2주차 강의를 듣고 JPA를 적용했다... JPA 영속성 컨텍스트,,,, 굉장히 어렵다 한번더 복..

TIL/2023 2023.06.27

[소지사] MVC 디자인 패턴

MVC란 Model-View-Controller의 약자로, 소프트웨어 디자인 패턴 중 하나이다. MVC 패턴은 소프트웨어를 구성하는 요소들을 Model, View, Controller로 구분하여 각각의 역할을 분리합니다. Model 데이터와 비즈니스 로직을 담당합니다. 데이터베이스와 연동하여 데이터를 저장하고 불러오는 등의 작업을 수행합니다. 애플리케이션 데이터만을 포함하고, 데이터 조작하는 로직을 포함하지 않습니다. View 사용자 인터페이스를 담당합니다. 사용자가 보는 화면과 버튼, 폼 등을 디자인하고 구현합니다. Controller Model과 View 사이의 상호작용을 조정하고 제어합니다. 뷰와 모델 사이에 컨트롤러가 있습니다. 사용자의 입력을 받아 Model에 전달하고, Model의 결과를 바탕..

[소지사] Http 상태코드(Status Code)

HTTP 상태 코드(Status Code)를 통해 브라우저와 서버 간의 요청, 응답 과정에서 발생할 수 있는 상황들을 표현할 수 있다 HTTP 상태 코드는 3자리 숫자로 이루어져 있다. 첫 번째 자리 숫자는 상태 코드의 분류를 나타내는 용도로 사용되며, 나머지 두 자리는 세부적인 정보이다. 1xx (Informational) 1xx 상태 코드는 요청이 수신되었으며 처리가 계속되고 있음을 나타냄 주로 웹 브라우저와 같은 클라이언트가 서버와의 연결 상태를 확인하기 위해 사용. 2xx (Successful) 2xx 상태 코드는 클라이언트의 요청이 성공적으로 처리되었음을 나타냄 가장 많이 사용되는 상태 코드는 200이다. 이는 요청이 성공적으로 처리되었으며 클라이언트가 요청한 데이터가 서버에서 제공됨을 의미 3..

[소지사] Http란

Http(HyperText Transfer Protocol) 데이터를 주고 받는 양식을 정의한 "통신 규약"중 하나 Plain text, JSON, XML 등 다양한 형태의 정보도 전송하는 애플리케이션 레이어 프로토콜이다. 매우 범용적인 양식을 가지고 있어 전 세계에서 제일 널리 쓰이는 통신 규약 통신 규약 => 컴퓨터끼리 데이터를 주고 받을 때 정해둔 약속 HTTP 동작 방식 클라이언트 서버에게 요청을 보내는 리소스 사용자 ex) 웹 브라우저, 모바일 애플리케이션, IoT 등 서버 클라이언트에게 요청에 대한 응답을 제공하는 리소스 관리자 클라이언트가 HTTP reuquest를 서버에 보내면 서버는 HTTP response를 보내는 구조 클라이언트와 서버의 모든 통신이 요청과 응답으로 이루어진다. HTT..

[WIL] 항해 2주차

저번주부터 시작한 알고리즘 주차였다. 어느덧 벌써 2주 차이다... 시간이 후딱후딱 지나간다. 2주 차는 알고리즘 문제를 풀면서 자바를 복습하는 시간을 가졌다. 자바는 기존에 블로그 정리한거와 자바의 정석 책을 구매를 해서 같이 보았다. 자바는 봐도봐도 계속 잊어버리고 다시 생각나고 후하... 틈이 날 때마다. 기억 안 나는 부분을 책으로 보는 중이다. 양이 어마무시하다... 일단은 객체지향까지는 어느 정도 학습을 했다. 2주 차에 알고리즘을 풀면서 틈틈이 보았다. 이제 알고리즘 주차가 끝나면 스프링 주차이다.. 벌써 떨린다. 아직 부족한 게 많은데..... 스프링주차 들어가서도 기 죽지말고 틈날때마다 자바 공부를 하려고한다. 쓰레드, 람다, 제네릭 등 아직 부족한게 많기 때문에 더 열심히 해보도록 하겠..

TIL/2023 2023.06.25