본문 바로가기

전체 글177

4_IoC, 스프링 컨테이너, DI, 스프링 빈 참고아래 도서를 일부 각색하였습니다. (이해를 위해 저만의 용어를 사용하고 내용을 일부 추가)스프링 부트 3 백엔드 개발자 되기 - 자바편SummaryIoC : 객체의 생성과 관리를 개발자가 하는 것이 아니라 프레임워크(Ex. 스프링)이 대신하는 것스프링 컨테이너 : 스프링에서 객체를 관리하는 통DI : 외부에서 객체를 주입받아 사용하는 것스프링 빈 : 스프링 컨테이너가 생성하고 관리하는 객체@Autowired : 특정 클래스에서 특정 객체를 주입 받는다.@Bean : 스프링 컨테이너에 스프링 빈 등록IoC와 스프링 컨테이너IoC(Inversion of Control)는 제어의 역전이다. 우리는 평소에 자바 코드를 작성해서 객체를 생성할 때 객체가 필요한 곳에서 직접 생성했을 것이다. 아래처럼 B 객체를.. 2025. 3. 27.
3_회원 가입 예제를 통해 데이터 처리 구현 연습 웹 애플리케이션 계층 구조 복습 ) 만약 View에 모든 코드를 다 짜서 100만줄이 되었다면? 유지보수가 힘들어 질 것이다.그래서 분리하여 개발하는 것을 MVC 패턴이라고 한다. Model : 데이터를 저장, 데이터베이스와 연결되어 데이터 로직 처리View : 화면에 웹 페이지를 보여주는 역할Controller : 요청 엔드포인트 관리 회원 관리 예제(데이터 처리 부분) 구현다음과 같은 순서로 구현한다.domain(Model 중 VO) -> repository(Model 중 DAO) -> service 1. Getter/Setter을 통해 회원 정보의 틀(클래스)을 만든다.Member 클래스는 고유의 아이디와 이름을 갖는다.// Member 클래스package hello.hellospring.domai.. 2025. 3. 25.
2_Spring Boot 정적 컨텐츠 / MVC / API 요약[정적 컨텐츠 = 그냥 파일을 그대로 보여준다.]HTML 파일을 그대로 웹에 뿌려주는 것이다.정적 컨텐츠는 src/main/resources/static 하위에 넣는다. 1) 사용자가 localhost:8080/hello-static.html 을 요청하면 내장 톰켓 서버가 요청을 받는다. 2) 내장 톰켓 서버는 "hello-static.html 요청이 왔대!" 하고 던지고 스프링 부트는 요청을 받는다.3) 스프링 부트는 먼저 hello-static 관련 컨트롤러를 찾아본다.4) 만약 없으면 resources/static/hello-static.html 을 찾는다. -> 있으니까 hello-static.html을 사용자에게 반환해준다. [MVC와 템플릿 엔진 = View와 Model, Controlle.. 2025. 3. 23.
1_Spring Boot 프로젝트 환경 설정 학습 목표1. Intellij 에서 Spring Boot 프로젝트 환경을 한다. 프로젝트 환경 설정 방법1️⃣ 스프링 부트는 복잡한 환경 설정을 할 필요 없이 아래 사이트에서 손쉽게 프로젝트 생성이 가능하다.https://start.spring.ioProject: Gradle - Groovy ProjectSpring Boot: 3.x.x (SNAPSHOT, M1, M2, M3가 아닌 안정적인 버전 선택)Language: JavaPackaging: JarJava: 17Project MetadatagroupId: helloartifactId: hello-springDependencies: Spring Web, Thymeleaf  2️⃣ 다 지정했으면 하단 GENERATE 버튼을 눌러 생성하여 다운로드한다. .. 2025. 3. 23.
[프로그래머스] 기능개발 (Java) 문제 정보  프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 교훈점1. [5, 10, 1, 1, 20, 1] 에서 모든 배열의 원소값을 [0] 인덱스의 값 만큼 빼서 [0, 5, -4, -4, 15, -4] 로 만들고 싶을 때 아래와 같이 코드를 작성하면 안된다.for(int i=0; i왜냐하면 deploy[0]의 값이 0으로 바뀌어서 i가 1부터는 deploy[1] -= 0; 의 꼴이 되어버린다. 이런 경우 아래 코드와 같이 deploy[0] 을 다른 변수에 저장해두고 사용해야 한다.int minus = deploy[0];for(int i=0; i  1. 배열로 풀이 O(n^2)1. 배포까지의 걸리는 .. 2025. 3. 22.