분류 전체보기

우아한테크코스/레벨2

[Spring] Spring MVC의 등장 배경과 프론트 컨트롤러 패턴 (Front Controller Pattern)의 도입

🙋‍♀️ Spring MVC란?Spring MVC라고 불리는 Spring Web MVC는 서블릿을 기반으로 만들어진 웹 프레임워크이다.  서블릿을 기반으로 만들어진 프레임워크라고 말문을 열었다. 서블릿에 대한 이해가 없다면 아래 포스팅을 먼저 보는 것을 추천한다.  2024.05.11 - [우아한테크코스/레벨2] - [Java] 서블릿(Servlet) 이란? Java Application에서 어떻게 사용될까? [Java] 서블릿(Servlet) 이란? Java Application에서 어떻게 사용될까?😎 서블릿이란?서블릿은 자바 어플리케이션에서 클라이언트의 요청을 처리하고 응답을 반환하는 역할을 하는 하나의 클래스이다.예를 들어, 우리는 자바 언어를 사용해서 클라이언트와 HTTP 요mingyum119..

우아한테크코스/레벨2

[Java] 서블릿(Servlet) 이란? Java Application에서 어떻게 사용될까?

😎 서블릿이란?서블릿은 자바 어플리케이션에서 클라이언트의 요청을 처리하고 응답을 반환하는 역할을 하는 하나의 클래스이다.예를 들어, 우리는 자바 언어를 사용해서 클라이언트와 HTTP 요청과 응답을 주고받는 웹 환경을 구성할 수 있다. 이러한 역할을 수행하는 것이 바로 서블릿 (Servlet)이다.  서블릿이 있기 때문에 할 수 있는 일들은 다양하다. 몇 가지를 예시로 들어보겠다.HTML 폼에 사용자가 입력을 할 수 있다. 사용자가 입력한 데이터가 폼을 통해 서버로 전송된다. 사용자가 아이디와 비밀번호를 입력하고 확인 버튼을 누르면 HTTP 요청으로 서블릿에게 데이터가 전송되고, 서블릿은 데이터를 사용해 로그인 로직을 처리한다.데이터베이스에 쿼리를 날린다.서블릿은 외부 서버 중 하나인 데이터베이스와의 연..

우아한테크코스/레벨2

[회고] 우아한테크코스 6기 백엔드 레벨2 3주차 회고

2024년 4월 29일 ~ 5월 3일 레벨2 두 번째 미션인 방탈출 사용자 예약 미션의 페어 프로그래밍을 진행한 3주차다. 🙌콜리와 매일 미션을 진행하느라 정신 없이 일주일이 지났고 주말동안 리뷰어와 티키타카하며 코드를 리팩토링하고 있다. 이번 주는 유독 평소보다 많이 놀았다. 😅 그럼에도 할 일을 잘 하고 건강도 잘 챙긴 나에게 감사하다. 한강 🍕 강릉 🌊 방탈출 🚪어쩌다보니 이번 주에 세 번이나 노는 약속이 생겨버렸다. 월요일에는 구라운 조 (= 구 브라운조)와 한강을 갔다. 적당한 날씨에 맛있는 치킨과 피자는 넘 맛있었다. 😋 구라운조와 쓸데없는 이야기하며 시시덕거리는 시간은 너무 재밌다. 구라운조와 한강 가자고 계속 말만 나오다가 겨우 시간 내서 왔는데 정말 오기 잘했던 것 같다. 서울..

우아한테크코스/레벨2

[Spring] 에러 응답 (Error Response) 을 반환하는 이유는? 어떤 정보를 담아 보내야할까?

이번 미션에서 스프링으로 사용자가 방탈출을 예약하는 기능을 구현하였다.  이 과정에서 예약 신청 시 생기는 여러 가지 오류 사항을 핸들링해야했는데, 사용자에게 어떤 에러인지만 보여주면 되지 않을까 하는 생각에 아래와 같이 400 Status Code와 함께 직접 정의한 에러 메시지가 반환되도록 하였다.그런데 이렇게 메시지 형태로만 응답을 보내도 괜찮을까? 이 응답을 받는 입장에서 에러에 충분히 대응할 수 있는 정보가 주어진걸까? 하는 의문이 들었었다. 그리고 미션 피드백 시간에 이런 질문을 받았다. 에러 응답에는 어떤 값이 포함되어야 하는가? 이 피드백을 통해 서버가 클라이언트에게 에러를 응답하는 이유가 무엇인지, 그리고 어떤 값이 포함되어야 하는 지에 대해 궁금하였다. 이를 공부해보고 미션에 적용한 과..

우아한테크코스/레벨2

[회고] 우아한테크코스 6기 백엔드 레벨2 2주차 회고

2024년 4월 22일 ~ 4월 26일레벨 2 첫 미션인 방탈출 예약 관리 미션을 최종 마무리한 한 주였다 👏리뷰어 제이와 티키타카하며 빠르게 미션을 마무리했고 주말동안 그 시간들동안 배웠던 걸 정리하고 있다.요즘은 레벨1과 다르게 정말 마음 편히 공부하고 있다. 스트레스 받고 혼자 애써야만 성장할 수 있을 것이라 믿었던 그 때와는 다르게, 사람들과 즐겁게 이야기하면서 챙기지 못할 것은 챙기지 않아도 성장할 수 있음을 깨달은 요즘이다. 내가 얼만큼 무리해야 지치는 지, 주어진 시간동안 얼마나 배운 것을 흡수할 수 있는지 선을 만들어가고 있다. 가끔은 욕심도 내보고 실패하기도 하면서 나의 자연스러운 감정과 생각을 알아가는 중이다.그래서 이번 주에 뭘 했는지, 어떤 걸 느꼈는지 정리해보자 😉🦷사랑니 발..

우아한테크코스/레벨2

[OOP] POJO (Plain Old Java Objects) 란? (feat. 스프링의 등장 배경)

앞서 포스팅을 작성하면서 DTO를 공부하는 과정에서 POJO라는 단어를 많이 보았다. POJO가 어떤 객체를 의미하는 지 정확히 몰랐기 때문에 POJO가 뭔지, 그리고 스프링에서 어떤 의미가 있는지 이번 포스팅에서 공부해보려고 한다. When we talk about a POJO, what we’re describing is a straightforward type with no references to any particular frameworks. A POJO has no naming convention for our properties and methods.- Bealdung POJO는 Plain Old Java Object라는 뜻으로 오래된 방식으로 만들어진 자바의 간단한 객체라는 의미로 직역할 ..

우아한테크코스/레벨2

[Spring] 직렬화 (Serialization)와 역직렬화 (Deserialization) 의 정의 및 스프링에서 사용하는 방법

스프링을 사용해서 개발을 진행하는 과정에서 객체를 반환했을 뿐인데 JSON으로 자동으로 변환되는 것을 경험하였다. 이를 자바의 기능인 직렬화라고 주워들었는데, 직렬화가 정확히 어떤 것인지 그리고 스프링에서는 어떻게 사용되는지 궁금하여 글을 작성한다.🧐 직렬화와 역직렬화란?직렬화 (Serialization)은 프로그램 내부에서 사용하는 객체나 데이터를 다른 프로그램에 전달하여 사용할 수 있도록 데이터의 형태를 바이트 (Byte) 형태로 변환하는 것을 의미한다.역직렬화 (Deserialization)은 마찬가지로 바이트 형태로 받은 정보를 프로그램 내에서 다루는 것이 가능한 객체 형태로 다시 변환하는 것을 의미한다.즉, 직렬화라는 개념은 JSON에 한정되는 것이 아닌 CSV 혹은 XML 등의 문자열 형태로..

우아한테크코스/레벨2

[OOP] DTO(Data Transfer Object) 란 무엇인가? 어떻게 사용하는가?

방탈출 예약 관리 미션을 진행하면서 아래와 같은 리뷰를 받았다. 이 리뷰를 계기로 Controller에서 받은 요청 DTO를 어디 계층까지 넘길 수 있는 가에 대해 고민하였다. 이 고민을 브리 코치님과 이야기하였더니 DTO가 무엇인가에 대해서 질문을 해주셨다. 그래서 이번 포스팅에서는 DTO가 무엇인지, 어떤 이유로 생기게 되었는 지, 그리고 어떻게 사용할 수 있을 지 알아보려고 한다. 🙋‍♀️ DTO란? (feat. Martin Fowler)DTO는 Data Transfer Object의 줄임말로 계층 간 데이터 전달을 위해 쓰는 객체이다.The solution is to create a Data Transfer Object that can hold all the data for the call.....

우아한테크코스/레벨2

[회고] 우아한테크코스 6기 백엔드 레벨2 1주차 회고

2024년 4월 16일 ~ 4월 19일 레벨 2의 첫 주차가 마무리 되었다. 😍 레벨 1 브라운조라는 울타리에서 벗어나 레벨 2 구구조 팀원들과 새롭게 우테코 생활을 시작하게 되었다. 새로움과 아쉬움 그 사이에서 레벨 2를 맞이하였고, 스프링을 사용한 첫 미션도 시작하였다. 🎯 마음 내려놓기새롭게 주어지는 미션도 이전 기수에서 진행한 적 없는 완전히 새로운 미션이었다. 순수 자바로 코딩하던 혼돈의 레벨 1을 지나 프레임워크라는 무기를 얻어 정형화된 틀 안에서 미션을 수행하게 되었다. 새로운 개념들이 쏟아져 나왔지만 그래도 미션 자체는 쉬운 편이었고 그 덕에 빠르게 PR을 작성해서 제출하였다. 무려 새로운 프로젝트의 첫번째 PR! 그렇게 레벨 2 1주차는 스프링 프레임워크를 사용한 미션을 해결하면서 시간을..

MINGYUM
'분류 전체보기' 카테고리의 글 목록