분류 전체보기 56

[스프링 MVC - 백엔드 웹 개발 핵심 기술] 06. 스프링 MVC 기본 기능

1. 로깅운영 시스템에서는 System.out.println()같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력한다.로그 라이브러리는 Logback, Log4J, Log4J2 등등 수 많은 라이브러리가 있는데, 그것을 통합해서 인터페이스로 제공하는 것이 바로 SLF4J 라이브러리다.쉽게 이야기해서 SLF4J는 인터페이스이고, 그 구현체로 Logback 같은 로그 라이브러리를 선택하면 된다.실무에서는 스프링 부트가 기본으로 제공하는 Logback을 대부분 사용한다.@Slf4j@RestControllerpublic class LogTestController { //@Slf4j과 동치 //private final Logger log = Logg..

Spring 2025.02.17

[스프링 MVC - 백엔드 웹 개발 핵심 기술] 05. 스프링 MVC 구조 이해

1. 스프링 MVC 전체 구조- 스프링 MVC의 프론트 컨트롤러는 디스패처 서블릿(DispatcherServlet)이다.- DispatcherServlet은 부모 클래스에서 HttpServlet을 상속 받아서 사용하고, 서블릿으로 동작한다.- 스프링 부트는 DispatcherServlet을 서블릿으로 자동으로 등록하면서 모든 경로(urlPatterns="/")에 대해서 매핑한다.- 스프링 MVC의 큰 강점은 DispatcherServlet코드의 변경 없이, 원하는 기능을 변경하거나 확장할 수 있다는 점이다. 동작순서핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다.핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다.핸들러 어댑터 실행: 핸들러 어댑터를..

Spring 2025.02.13

백준 1253번 [좋다]

투 포인터, 이분탐색 시간복잡도 n ㅡ> logn 만들 때 고려시작 포인트 잡기포인터 이동규칙 세우기종료 조건 만들기포인터가 경계값에 있을 때 따지기#include #define ll long long#define pii pair#define pll pair#define tpi tuple#define tpl tuple#define all(x) x.begin(), x.end()#define INF 0x3f3f3f3f#define MOD 100000007using namespace std;int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); vector v; ll n; cin >> n; ll start = 0; ll end = n-1; ll..

PS 2025.02.11

과거의 코드를 보며

오랜만에 nodejs, react를 써볼 일이 있어서 예전에 공부했던 코드들을 찾아봤다.6개월, 1년 이상 방치해놓은 코드를 지금 보니 기억도 잘 나지 않고 몇몇 코드들은 작동하지도 않았다. mern스택을 이용한 쇼핑몰 프로젝트를 지금 다시 하라고 하면 과연 할 수 있을까?아마 매우 힘들 것 같다는 생각이 든다.그 당시 열심히 공부했었는데 지금 그 코드들을 보니 좀 허무한 기분이 든다.처음으로 웹을 공부했던 거라 딱히 기술들을 내 것으로 만들기보다는 성급하게 진도를 나갔었나 보다. 백엔드를 계속 공부하면서 느낀점은 웹의 세상은 광활해서 정신을 놓으면 길을 잃기 쉽다는 것이다.예전의 실수를 반복하지는 않아야지.

My Page 2025.02.11

[스프링 MVC - 백엔드 웹 개발 핵심 기술] 04. MVC 프레임워크 만들기

1. FrontController 패턴- 프론트 컨트롤러 서블릿 하나로 클라이언트의 요청을 받음- 프론트 컨트롤러가 요청에 맞는 컨트롤러를 찾아서 호출- 프론트 컨트롤러를 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 됨@WebServlet(name = "frontControllerServletV2", urlPatterns = "/front-controller/v2/*")public class FrontControllerServletV2 extends HttpServlet { private Map controllerMap = new HashMap(); public FrontControllerServletV2() { controllerMap.put("/front-controlle..

Spring 2025.02.09

[스프링 MVC - 백엔드 웹 개발 핵심 기술] 03. 서블릿, JSP, MVC 패턴

1. 서블릿으로 회원 관리 웹 애플리케이션 만들기//회원 모델@Getter@Setterpublic class Member { private Long id; private String username; private int age; public Member() {} public Member(String username, int age) { this.username = username; this.age = age; }}//회원 저장소public class MemberRepository { private Map store = new HashMap(); private static long sequence = 0L; private stati..

Spring 2025.02.07