백엔드 부트캠프 13기

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_41일차_"람다식 / 스트림 API"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [41]일차🚀41일차에는 람다식과 스트림 API에 대해 배울 수 있었다. 이전에 자바스크립트에서 화살표함수를 사용했을때나 알고리즘 문제 풀이 시 접했던 람다식과 스트림이어서 기초를 잘 배워놔야겠다고 생각했다.특히 스트림의 경우 데이터를 다루는 다양한 메소드를 제공하므로 더 자세히 공부해야겠다고 생각했다.Spring JDBC 와 Spring Data JDBC의 차이점Spring JDBCJDBC(Java Database Connectivity) API를 더 편리하게 사용할 수 있도록 도와주는 DB 접근 기술SQL 쿼리를 직접 작성 및 (ResultSet, PreparedStatement, Connection)과 같은 JDBC 객체들을 관리하는 것..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_40일차_"Spring JDBC"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [40]일차🚀40일차에는 데이터베이스와의 접근을 단순화하여 도와주는 스프링 프레임워크의 Spring JDBC를 배울 수 있었다.자바의 JDBC에서 복잡했던 과정을 간소화하여 도와주는 기술로 데이터베이스 CRUD 연산을 조금 더 익숙하게 실습할 수 있었다.Spring 프레임워크 에러페이지스프링 프레임워크에서 오류가 발생할때 (ex. 지정되지 않은 URL의 페이지 요청 시 등)출력되는 [White Label Page] 에러 페이지는 WAS가 만든 에러페이지인 것이러한 에러페이지를 사용자가 직접 만들 수도 있다. (WAS의 에러페이지가 아닌 스프링이 에러페이지를 만들도록 기능을 제공)templates/error.html 사용자 정의 Error P..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_39일차_"쿠키 / 세션"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [39]일차🚀39일차에는 쿠키와 세션에 대해 더 자세히 배웠다.쿠키와 세션의 차이를 이해하고 각각 스프링 프레임워크에서 어떻게 쓰이는지를 실습해볼 수 있었다.쿠키서버가 사용자의 웹 브라우저에 저장하는 작은 데이터 조각클라이언트가 서버에 요청을 할때마다 "쿠키데이터"가 요청과 함께 서버로 전송쿠키를 통해 서버는 사용자의 상태정보를 유지 가능사이트에 대한 설정을 저장하는데 도움이 되며 브라우저 간 세션 유지에 유용보안에 취약할 수 있어 중요 정보는 저장하지 않아야함쿠키 사용의 과정첫번째 요청사용자가 웹페이지에 액세스 요청 (쿠키 정보는 없는 상태)HTTP 요청 수신 - 서버는 이 요청을 받아서 사용자에 대한 어떠한 정보도 없으므로 기본설정이나 일..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_38일차_"스프링 포워딩/리다이렉팅"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [38]일차🚀38일차에는 LocalDate 클래스와 GET/POST 방식에 대한 실습을 진행하고, 포워딩와 리다이렉팅, 쿠키까지 배울 수 있었다.특히 GET/POST방식과 포워딩/리다이렉팅 부분을 이해하는 것에서 공부가 필요할 것 같아 회고를 통해 더 이해해봐야겠다.Thymeleaf - 조건표현식의 statusstatus : 인덱스로 참조 가능ExampleController에 (/list) URL 추가@GetMapping("/list") public String showList(Model model){ List items = Arrays.asList( "Item 1", "Item 2", "Item ..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_37일차_"스프링 Thymeleaf"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [37]일차🚀37일차에는 스프링에서 뷰 템플릿 엔진을 제공하는 Thymeleaf 오픈소스 라이브러리에 대해 자세히 공부해볼 수 있었다. 다양한 실습을 통해 Thymeleaf의 문법과 형식에 대해서 배우고 컨트롤러로부터 View Name을 통해 연결시키고 출력해오는 것을 실습해볼 수 있었다.회고를 통해 이론적인 부분을 중점으로 정리해야겠다.메소드 요청 방식크게 GET방식, POST방식으로 나뉨GET 방식 GET정보를 URL로 전송 (공개해도 되는 정보일때 사용)목적 : 데이터 검색을 위함 (URL을 통해 전송되는 모든 데이터는 쿼리 스트링의 일부로 URL에 포함)➡️ex. localhost:8080/hello?name=myname데이터 제한 :..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_36일차_"스프링 MVC"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [36]일차🚀36일차에는 스프링 MVC에 대해서 더 자세히 알아보고 스프링 MVC의 동작 흐름에 대해서도 공부할 수 있었다.템플릿엔진인 타임리프를 통해서도 동적으로 페이지에 접근할 수 있는 방법 또한 실습해볼 수 있었다.실습 위주 진행하여 이론에 대해서 자세히 알아볼 수 없는데 회고를 통해 이론에 대해서도 정리해봐야겠다.WeavingAOP 용어 중 Weaving(위빙)은 Advice(부가기능) + Target(핵심 기능)을 결합하여 실행될 프로그램을 구성하는 과정을 의미코드의 실행흐름에 따라 특정 시점에 “부가적인 동작”을 삽입하여 동작하도록 만듦Proxy를 통한 Weaving과정:1. Proxy 생성 = Target 객체를 감싸는 Proxy..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_35일차_"스프링 AOP"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [35]일차🚀35일차에는 AOP에 대해 배우고 관련된 용어 @Before, @After 어노테이션 등에 대해서도 실습해보았다.회고를 통해 Proxy 객체에 대해서도 부족했던 부분을 더 공부해봐야겠다.AOP (Aspect Oriented Programming)관점지향 프로그래밍은 객체지향 프로그래밍을 보완객체지향과 상반된 것 같지만 목적에 맞게 클래스를 만들어서 하나의 객체로 분리하는 객체지향과 달리관점지향은 비즈니스 웹 애플리케이션에서 핵심관심과 횡단관심으로 분리프레젠테이션 계층 / 서비스 계층 / 데이터 계층 에 대해 전체적으로 필요한 관심사들(로깅/보안/트랜잭션 등)이 횡단으로 존재자체적 언어라기보단 기존의 OOP언어를 보완하고 확장함 (..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_34일차_"스프링 Optional, Annotation"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [34]일차🚀34일차에는 필드를 통한 의존성 주입에 대한 공부와 Optional객체, Annotation 등에 대해 배울 수 있었다.먼저 회고를 통해 이해가 어려웠던 생성자, 설정자 부분의 복습해야할 것 같다. 설정자를 통한 의존성 주입 UserExam 클래스사용자가 웹페이지에 접속하여 회원가입을 요청 (main)// UserController를 주입받음public class UserExam { public static void main(String[] args) { ApplicationContext context = new AnnotationConfigApplicationContext(UserConfig.class); ..

Recording/멋쟁이사자처럼 BE 13기

[멋쟁이사자처럼 부트캠프 TIL 회고] BE 13기_33일차_"스프링 DI/IoC"

🦁멋쟁이사자처럼 백엔드 부트캠프 13기 🦁TIL 회고 - [33]일차🚀33일차에는 스프링에서의 DI (의존성 주입)과 IoC (제어의 역전)를 배우고 이를 활용하여 Bean 생성, @Component 등을 접할 수 있었다.개념들에 대한 이해는 할 수 있었지만 이를 활용하여 Bean을 생성하고 활용하는 부분에 대해서는 아직 이해가 부족한 것 같아서 회고를 통해 많이 배워야겠다.스프링 어노테이션(@)POJO기반으로써 결합도를 낮추고 유연성을 높인다.즉, 종속되어 있어 결합도를 높이는 상속을 사용하지 않고도 상속처럼 동작할 수 있도록 어노테이션 사용ex. @GetMapping : @RestController의 자손 격 어노테이션으로 URL 요청이 들어오면 컨트롤러의 클래스를 찾아서 가져와 사용ex. Ge..