일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch4
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch12
- 타임리프 - 기본기능
- 자바의 정석 기초편 ch2
- 2024 정보처리기사 시나공 필기
- 스프링 mvc2 - 검증
- 스프링 고급 - 스프링 aop
- 스프링 mvc1 - 서블릿
- 자바의 정석 기초편 ch13
- 자바의 정석 기초편 ch1
- 2024 정보처리기사 수제비 실기
- 자바의 정석 기초편 ch7
- @Aspect
- 자바의 정석 기초편 ch3
- 자바의 정석 기초편 ch6
- 스프링 db2 - 데이터 접근 기술
- 스프링 db1 - 스프링과 문제 해결
- 자바의 정석 기초편 ch8
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch11
- jpa 활용2 - api 개발 고급
- 게시글 목록 api
- jpa - 객체지향 쿼리 언어
- 코드로 시작하는 자바 첫걸음
- 스프링 입문(무료)
- 자바의 정석 기초편 ch5
- 스프링 mvc2 - 로그인 처리
- 스프링 mvc1 - 스프링 mvc
- Today
- Total
목록전체 글 (347)
나구리의 개발공부기록
출처 : 인프런 - 스프링 핵심 원리 - 고급편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 프로젝트 생성 및 예제 프로젝트 만들기1) 프로젝트 생성(1) 프로젝트 생성 및 설정 변경강의에서 제공된 프로젝트를 복사해서 사용자바 : 17스프링 부트 : 3.3.5dependency-management : 1.1.6gradle : 8.10.22) 예제 프로젝트 v1여기에서의 v1, v2, v3는 버전업이 되는 것은 아니고 실무에서 마주하게 되는 3가지 상황에 대한 예제라고 보면 되며 v1, v2, v3의 패키지를 각각 만들어서 코드들을 작성v1 - 인터페이스와 구현 클래스가 있고 스프링 빈으로 수동으로 직접 등록하는 상황(1) OrderRepositoryV1, OrderR..
출처 : 인프런 - 스프링 핵심 원리 - 고급편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 전략 패턴 - 시작1) 예제 만들기(1) ContextV1Test 생성템플릿 메서드 패턴에서 만들었던 완전히 동일한 테스트 코드로 클래스 이름과 패키지만 변경해서 사용패키지는 test하위 경로에 strategy 패키지를 생성하고 테스트 코드의 메서드명을 strategyV0로 변경package hello.advanced.trace.strategy;@Slf4jpublic class ContextV1Test { @Test void strategyV0() { logic1(); logic2(); } // 나머지 코드는 동일 ..
출처 : 인프런 - 스프링 핵심 원리 - 고급편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 템플릿 메서드 패턴 - 시작1) 템플릿 메서드 패턴의 필요성(1) 로그 추적기 도입 시도지금까지 요구사항도 만족하고 쓰레드로컬을 도입하여 동시성문제도 제거한 로그추적기를 프로젝트에 도입하려고하는데, 개발자들의 반대에 부딪힘그 이유를 로그 추적기 도입전과 도입 후의 코드를 보고 분석해보기(2) 로그 추적기 도입 전 코드 - V0V0 버전인 Controller와 Service의 코드만 보면 매우 간단하게 비즈니스 로직을 수행하는 코드만 있음@RestController@RequiredArgsConstructorpublic class OrderControllerV0 { priv..
출처 : 인프런 - 스프링 핵심 원리 - 고급편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 필드 동기화 - 개발1) 정식버전 개발(1) 프로토타입 버전의 문제점앞서 개발한 프로토타입의 로그 추적기는 다음 로그를 출력할 때 트랜잭션ID와 level을 동기화를 하는 방법으로 해당 정보를 가지고 있는 TraceId를 파라미터로 넘기도록 구현하였음동기화는 성공했지만 로그를 출력하는 모든 메서드에 TraceId를 파라미터에 추가해야하는 문제가 있었는데 이를 해결하는 정식 버전을 개발(2) LogTrace 인터페이스향후 다양한 구현체로 변경할 수 있도록 LogTrace 인터페이스를 생성로그 추적기를 위한 최소한의 기능을하는 메서드들을 선언public interface LogT..
출처 : 인프런 - 스프링 핵심 원리 - 고급편 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용1. 프로젝트 생성 및 프로젝트 만들기1) 프로젝트 생성 (1) ProjectGradleJava 17Spring Boot 3.3.5(2) MetadataGroup - helloArtifact - advancedPackaging - Jar(3) DependenciesSpring WebLombok2) 프로젝트 만들기V0학습을 위한 간단한 예제로 상품을 주문하는 프로세스로 가정하고 일반적인 웹 애플리케이션에서 Controller -> service -> Repository로 이어지는 흐름을 최대한 단순하게 작성(1) 리포지토리V0상품 저장 시 1초정도의 소요시간이 걸리고, 상품 id가 ..
출처 : 인프런 - 자바 입문 - 코드로시작하는 자바 첫걸음 (무료) / 김영한님 1. 배열1) 배열이 필요한 이유같은 타입의 변수를 반복해서 선언하고 사용할 때 편리하게 사용할 수 있도록 제공하는 기능만약 int타입의 여러가지 변수에 숫자를 저장해야한다고 하면 int타입의 변수를 이름을 각각 다르게 계속 반복적으로 선언하고 숫자의 값을 초기화해야하는 번거로움이 있는데, 이것을 하나의 변수명으로 동일한 타입의 값을 입력받을 수 있음뭔가 반복문을 활용해서 변수명을 바꿔가면서 값을 입력하겠다고 시도해봐도 그런 기능은 자바에서 지원하지않음(필자도 과거 .. 처음 개발을 시작할 때 이런 생각을 해봤음..)즉, 배열은 같은 타입의 변수를 사용하기 편하게 하나로 묶어둔 것임2) 배열의 선언과 생성int[] stud..
출처 : 인프런 - 자바 입문 - 코드로시작하는 자바 첫걸음 (무료) / 김영한님 1. 스코프 및 형변환1) 지역 변수와 스코프(1) 지역 변수변수는 선언한 위치에 따라 지역 변수, 멤버 변수(클래스 변수, 인스턴스 변수)와 같이 분류됨지금까지 학습한 변수들은 모두 영어로 로컬 변수(Local Variable), 한글로 지역 변수라 하며 나머지 변수들은 뒤에서 학습함지역 변수는 말그대로 특정 지역에서만 사용할 수 있는 변수를 뜻이며 특정 지역을 벗어나면 사용할 수 없음여기서 말하는 지역은 변수가 선언된 코드 블록{ } 이며 지역변수는 자신이 선언된 코드 블록 안에서만 생존하고 자신이 선언된 코드 블록을 벗어나면 제거되며 이후에는 접근할 수 없음(2) 예제변수 m은 main의 코드 블록 안에서 선언된 지역..
출처 : 인프런 - 자바 입문 - 코드로시작하는 자바 첫걸음 (무료) / 김영한님 1. 조건문1) if, else(1) 조건문의 시작특정 조건에 따라서 다른 코드를 실행하는 것을 조건문이라고함조건문에는 if문, switch문이 있음(2) if문특정 조건이 참인지 확인하고 그 조건이 참(true)일 경우 특정 코드 블록을 실행조건이 거짓이면 블록을 실행하지않고 빠져나옴(3) else문if문에서 만족하는 조건이 없을 때 실행하는 코드를 제공(4) 예제age가 20이기때문에 성인입니다가 출력됨age가 18미만이였다면 else문으로 넘어가서 미성년자입니다가 출력됨public static void main(String[] args) { int age = 20; if (age >= 18) { ..
출처 : 인프런 - 자바 입문 - 코드로시작하는 자바 첫걸음 (무료) / 김영한님 ** 참고매우 기초적인 내용이기때문에 전체 내용이아닌 특별히 작성해야할 내용이나 중요한 내용만 작성자바기초에 대해서 디테일한 내용은 자바의 정석 기초편을 포스팅한 글들을 참고하는 것을 권장함1. 자바란1) 자바 표준 스펙과 구현자바는 표준 스펙과 구현으로 나눌 수 있음(1) 자바 표준 스펙자바를 어떻게 만들어야 한다는 설계도이며 문서이며 이 표준 스펙을 기반으로 여러 회사에서 작동하는 자바를 만듦자바 표준 스펙은 자바 커뮤니티 프로세스(JCP)를 통해 관리됨(2) 다양한 자바 구현여러 회사에서 자바 표준 스펙에 맞추어 실제 작동하는 자바 프로그램을 개발하며 각각의 장단점이 있음예를 들면 Amazon Corretto는 AWS..
출처 : 인프런 - 실전! Querydsl (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용** 참고여기서 소개하는 기능은 제약이 커서 복잡한 실무 환경에서 사용하기에는 많이 부족함스프링 데이터에서 제공하는 기능이기에 간단히 소개하고 왜 부족한지에 대해서 초점을 맞춰 설명1. 인터페이스 지원 - QuerydslPredicateExecutor1) 인터페이스 내부 구조해당 인터페이스에 선언된 메서드들을 사용할 수 있으며 직접 들어가서 살펴보면 동일한 이름으로 오버로딩된 메서드들이 더 있음Pageable, Sort기능도 지원함공식 문서public interface QuerydslPredicateExecutor { Optional findOne(Predicate predicate);..