이 포스팅은 신선영 저, 『스프링 부트 3 백엔드 개발자 되기』(골든래빗, 2023)를 공부하면서 마주한 에러 및 버그를 해결하는 과정을 기록하기 위해서 작성되었습니다.     '10장. OAuth2로 로그인/로그아웃 구현하기'의 코드를 실행했는
Optional이란 어떤 클래스이며 이 경우에 Optional 타입의 데이터를 반환 받는 이유에 대해 정리하기 위해 이 포스팅을 작성했다.
이 포스팅은 신선영 저, 『스프링 부트 3 백엔드 개발자 되기』(골든래빗, 2023)를 공부하면서 마주한 에러 및 버그를 해결하는 과정을 기록하기 위해서 작성되었습니다. > java.lang.AssertionError: Status expected: but was: Expected :201 Actual :404 '9장...
'8장. 스프링 시큐리티로 로그인/로그아웃, 회원가입 구현하기'에서 로그인, 로그아웃 기능을 구현하는 중, 다음과 같은 컴파일 에러를 마주하게 되었다.
이번 장에서는 타임리프를 이용하여 사용자가 실제로 이용하는 화면인 UI까지 구현하려고 한다. 프론트엔드를 포함한 프로그램 전체적인 관점에서 봤을 때에는 MVC 모델로 계층을 나누는 것이 더 적절하다.
이 포스팅은 신선영 저, 『스프링 부트 3 백엔드 개발자 되기』(골든래빗, 2023)를 공부하면서 마주한 에러 및 버그를 해결하는 과정을 기록하기 위해서 작성되었습니다. '7장. 블로그 화면 구성하기'에서 생성한 게시글을 타임리프라는 뷰 컨트롤러에 표시하는 작업을
클라이언트와 서버가 서로 데이터를 주고받을 수 있는 이유는 API를 통해서 서로 통신하고 있기 때문이다. 마찬가지로 서로 다른 프로그램끼리 데이터를 주고받을때에도 API가 사용된다. 이처럼 API는 서비스를 제공하기 위해서 반드시 필요하다.
이 포스팅은 신선영 저, 『스프링 부트 3 백엔드 개발자 되기』(골든래빗, 2023)를 공부하면서 핵심 개념들을 정리하기 위해 작성하였습니다. 클라이언트가 요청한 데이터를 전달하기 위해서는 데이터베이스에 접근해야 한다. 그런데 ORM이라는 프로그래밍 기법 덕분에 S
작성한 코드가 제대로 동작하는지 확인하기 위해서 앱 전체를 실행하는 것은 비효율적이다. 그래서 스프링 부트에서는 JUnit라는 프레임워크를 통해서 코드를 테스트한다.
스프링 부트는 계층이라고 불리우는 구성 요소들이 서로 통신을 주고받는 모습으로 작동한다. 스프링 부트의 세가지 계층은 다음과 같다.
이 포스팅은 신선영 저, 『스프링 부트 3 백엔드 개발자 되기』(골든래빗, 2023)를 공부하면서 핵심 개념들을 정리하기 위해 작성하였습니다. 웹 애플리케이션을 만들기 위한 도구들은 크게 라이브러리와 프레임워크로 나뉘어진다고 앞 장에서 이야기한 바 있다. 스프링(Sp
이 포스팅은 신선영 저, 『스프링 부트 3 백엔드 개발자 되기』(골든래빗, 2023)를 공부하면서 핵심 개념들을 정리하기 위해 작성하였습니다.