일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 소감
- IBK기업은행 #기업은행 #디지털 #직무 #정리
- 스마일게이트
- Algorithm
- 서버개발캠프
- 카카오인턴
- 투포인터
- 카카오
- BaekJoon
- c++
- 알고리즘
- 백준
- 유니온파인드
- 1편
- 코테
- 코딩테스트
- BFS
- Union-find
- 중반부
- 삼성 #코테 #2020상반기 #c++
- Smilegate
- LIS #Algorithm #요소추적
- 보석쇼핑
- 식단
- Today
- Total
목록개발 프로젝트 정리 (19)
짱아의 개발 기록장
Spring은 크게 IoC, AOP, PSA 3가지의 개념을 제공해준다. 이 개념은 Spring의 Triangle이라고 부른다. * AOP(Aspect Oriented Programming) = 흩어진 코드를 한 곳으로 모아 ex) class A { method a () { AAAA->AAA 오늘은 치킨을 먹는 날이에요. BBBB->BB } method b () { AAAA->AAA 오늘은 달콤한 디저트를 먹는 날이에요. BBBB->BB } } class B { method c () { AAAA->AAA 오늘은 그냥 너무 우울한 날이어서 불닭을 먹을 거에요. BBBB->BB } } 같은 클래스 다른 메소드, 다른 클래스 다른 메소드에서 똑같은 일을 반복하는 AAAA가 AAA로 바뀌어야 한다면??? AAA..
1. Field Injection(using @Autowired) 2. Method Injection(=setter Injection) 3. Constructor Injection(생성자 주입) => 스프링 측에서 최근 가장 추천하는 방법!
1 2 3 OwnerController ownerController = new OwnerController(); OwnerController bean = applicationContext.getBean(OwnerController.class); cs 위의 객체인 ownerController와 아래 객체인 bean은 전혀 다른 방향성의 객체이다. ownerController는 진짜 그냥 객체인 반면, bean은 applicationContext에서 관리하는 빈(Bean)이다! 따라서, 이렇게 Spring의 applicationContext에서 관리하는 빈(Bean)들만 서로 의존성 주입(DI)을 할 수 있다, 그럼! 어떻게 Spring 컨테이너 안에다가 Bean을 만들어주느냐? (크게 3가지 방법) 1. ..
IoC 컨테이너는 주로 BeanFactory나 ApplicationContext를 사용한다. ApplicationContext는 BeanFactory를 상속받고 더 많은 기능을 제공하고 있기 때문에 이 프로젝트에서는 주로 ApplicationContext를 사용할 예정이다. IoC컨테이너는 Bean을 만들고 Bean사이의 의존성을 엮어주고 최종적으로 Bean을 제공해준다. pet-clinic프로젝트에서는 OwnerController, OwnerRepository, PetController, PetRepository가 IoC컨테이너에 Bean으로 등록되어 있다. 모든 클래스가 Bean으로 등록된 것은 아니다!! 위 사진처럼 녹생 콩 모양이 클래스 옆에 표시된다면, Bean으로 등록된 것이다. 📌의존성 주입..
Inversion of Control은 말 그대로 제어가 역전된 것을 의미한다. 일반적인 (의존에 대한) 제어권 : "내가 사용할 의존성은 내가 만든다." 1 2 3 class OwnerController{ private OwnerRepository repository = new OnwerRepository(); } Colored by Color Scripter cs IoC(Inversion of Control) : "내가 사용할 의존성을 누군가 알아서 해주겠지.." -> 내가 사용할 의존성의 타입(또는 인터페이스)만 맞으면 어떤거든 상관없다. -> 그래야 내 코드 테스트 하기도 편하지... 1 2 3 4 5 6 7 8 class OwnerController{ private OwnerRepository ..
3강에서는 총 3개의 과제가 주어졌고 글쓴이는 3개를 모두 완료했다. -LastName이 아니라 FirstName으로 검색하기 ✅ -Owner에 age추가하기 ✅ -정확하게 일치하는게 아니라 해당 키워드가 들어있는 것을 찾을 수 있도록 하기 ✅ 1. LastName이 아닌 FirstName으로 검색하기 -> 뷰 변경 -> 코드 조금 변경 controller파일에서 /owner/find로 들어가면 owners/findOwners로 리턴되기 때문에 그 파일을 변경하는 것이 핵심이다. findOwners.html파일의 lastName관련된 것을 모두 firstName으로 변경했다. 2. Owner에 age추가하기 -> 모델 변경(도메인 모델 -> Owner.java파일 수정) -> 스키마 변경(h2, hsql..
Spring에서 제공하고 있는 https://github.com/spring-projects/spring-petclinic.git로 프로젝트를 진행한다. 📌프로젝트 구조 일반적인 Maven 프로젝트 구조를 따르고 있다. Spring Boot 프로젝트 기반으로 만들어졌다. 📌프로젝트 로그 살펴보기 일반적으로 로그는 INFO형태로 되어있어서, 웹 페이지를 클릭할 때마다 발생하는 로그들을 자세히 보기 위해서는 DEBUG모드로 바꿔야 한다. src > main > resources > application.properties 파일에서 주석 처리 되어있던 logging.level.org.springframework.web=DEBUG의 주석을 풀어준다. 💎여기서 잠깐! Dispatcher Servlet이란? [Di..
📌프로젝트 준비 먼저, Spring에서 제공해주는 공식 프로젝트를 intelliJ에서 직접 clone받아 프로젝트를 시작합니다. 공식 프로젝트의 이름은 'spring-petclinic'으로 반려동물이 수의사에게 진찰을 받을 수 있도록 하는 서비스입니다. Petclinic is a Spring Boot application built using Maven. You can build a jar file and run it from the command line: git clone https://github.com/spring-projects/spring-petclinic.git cd spring-petclinic ./mvnw package java -jar target/*.jar 일단, 프로젝트를 clone..