| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 스프링 데이터 JPA
- Controller
- 컴포넌트 스캔
- Not Acceptable
- 기본 생성자
- 랜덤 포트
- jdbc
- 좋은 객체지향 설계 원칙
- 의존관계 자동 주입
- testresttemplate
- RunWith
- 의존성 주입
- 정적 컨텐츠
- 통합 테스트
- 키움
- Java Reflection API
- 빈 스코프
- SpringBootTest
- jdbc template
- entity
- 406 NOT_ACCEPTABLE
- 스프링 컨테이너
- 테스트 코드
- 스프링
- 스프링 IoC 컨테이너
- JPA
- ResponseEntity
- 가을야구
- 405 METHOD_NOT_ALLOWED
- restTemplate
- Today
- Total
목록전체 글 (54)
코드네임 JY
미리보기 ✅ 다형성에 대해 알아보자! ✅ 스프링에서 다형성을 어떻게 활용할 수 있는지 알아보자! 🍣 다형성 (Polymorphism) 객체지향 프로그래밍의 특징은 프로그램을 유연하고 변경이 용이하게 만든다는 장점이 있는데, 여기서 '유연하고 변경이 용이하다' 라는 것을 다형성과 연관지어 설명하고자 한다. 다형성의 정의는 '하나의 객체가 여러가지 타입을 가질 수 있는 것' 이라고 설명이 되어있는데, 말만 보면 잘 모르겠다. 김영한 강사님이 들어주신 구체적인 예시를 토대로 또 다른 예시를 만들어보겠다. 오늘 어떤 옷을 입을지 고민하는 사람이 있다. 어떤 상의를 입을지.. 고민하는 사람에게 3개의 선택지가 있다. 셔츠, 후드티, 니트라는 3가지의 선택지 중에서, 어떤 옷을 입던 (상의의 역할만 수행한다면!) ..
미리보기 ✅ AOP에 대해 알아보자! 🍺 AOP 'AOP(Aspect Oriented Programming)' 는 한국어로 '관점 지향 프로그래밍' 이라고 한다. 무슨 말이냐면!! 핵심 관심사항과 공통 관심사항으로 관점을 나누어서, 관점을 기준으로 각각 모듈화하는 것을 뜻한다. 위 그림을 보면, 붉은색 / 노란색 / 하늘색 코드들은 컨트롤러, 서비스, 리포지토리 코드에 각각 존재한다. 중복이 있다는 것인데, 이들은 '공통' 관심사항으로 묶어서 중복을 제거하여 관리하는 방법이다. 컨트롤러, 서비스, 리포지토리는 공통된 코드보다 더 중요하지 않나! 이들은 '핵심' 관심사항이다. @Component @Aspect public class TimeTraceAop { @Around("execution(* hello..
미리보기 ✅ 단위 테스트에 대해 기억해보자! ✅ 스프링 통합 테스트에 대해 알아보자! 🍦 단위 테스트 (Unit Test) 이전에 테스트 코드를 공부할 때, 단위 테스트에 대한 것을 공부했다. 이는 '한 가지 기능에 관심을 집중할 수 있는 작은 단위의 테스트' 라고 풀어서 설명할 수 있다. 단순한 '기능 검증'의 목적이 크며, 순수한 자바 코드만 가지고 테스트하는 것이 특징이다. 🧁 통합 테스트 (Integration Test) 반면 통합 테스트는 단순한 자바 코드로 기능을 검증하는 것에 그치지 않는다. 실제로 스프링 서버가 돌아가며, 필요한 Bean을 등록해놓은 상태에서 테스트가 진행된다. 따라서 실제 서버가 운영되는 환경에서 잘 작동하는지 검증하는 목적이 크다! @SpringBootTest @Tran..
미리보기 ✅ JPA에 대해 알아보자! ✅ 스프링 데이터 JPA에 대해 알아보자! 🍟 JPA가 나오게 된 배경 기존 JDBC 방식에서는 직접적으로 SQL 쿼리를 많이 작성하여 DB와 연결을 진행하였다. 하지만 객체 자체를 직접적으로 DB에 저장할 수는 없었는데, 이를 해결하기 위해 나온 개념이 바로 'ORM' 이다. ORM(Object-Relational Mapping)은 객체(Object)와 관계형(Relational) 데이터베이스를 매핑해주는 기술이다. 이런 ORM 기술을 구현하기 위해 사용되어 온 프레임워크가 'Hibernate' 인데, 이후에도 여러 프레임워크가 생겨났다. (참고 : DataNucleus, EclipseLink 등이 또 다른 JPA 구현체이다. 하지만 Hibernate를 많이 사용하..
미리보기 ✅ JDBC란 무엇인가! ✅ JDBC Template에 대해 알아보자! ✅ 의존성 주입(DI)을 이용하여 저장소를 변경해보자! 🌽 JDBC (Java Database Connectivity) 자바에서 DBMS(Database Management System)에 접근할 수 있게 해주는 API 쉽게 말해서, 자바에서 DB를 사용할 수 있게 해주는 API 라고 이해하면 된다! JBCD API는 자바로 작성되어있는 인터페이스 및 클래스들로 구성되어 있고, 개발자는 직접 쿼리를 보내고 동작을 수행하고, 이를 통해 결과 값을 받을 수 있다. 그러면 JDBC를 사용하기 위해서 어떤 설정을 해야하는가? 기존 파일 설정에 아래 코드를 추가해주면 된다. 일단 이번 공부에서는 로컬 DB로 H2 Database(Ja..
미리보기 ✅ 스프링 빈이란 무엇인가! ✅ 스프링 IoC 컨테이너가 하는 역할은 무엇인가! ✅ 스프링 빈 등록 방법에 대해 알아보자! 🍕 스프링 빈 (Spring Bean) 스프링 (IoC) 컨테이너에 의해 관리되는 자바 객체 라고 정의하는데, 객체는 코딩하는 사람이 직접 생성하고 관리할 수 있는거 아닌가? 라는 생각이 든다. 맞다. 보통 자바에서는 우리가 직접 클래스의 객체를 생성하고, 해당 인스턴스를 활용하도록 코드를 작성할 수 있다. 해당 객체를 사용해야하는 클래스가 여러 개라면, 각 클래스마다 매번 새롭게 객체를 생성해서 사용할 수도 있다. 하지만, 하나의 객체를 여러 개의 클래스에서 여러 번 정의하는 것은 조금 찝찝하기도 하고.. 관리하기도 쉽지 않을 것이다. 여기서 드는 생각!! 하나의 객체 인..
2022시즌 직관한 가을야구 전적이.. 지금까지 3승 0패.. (준PO 1차전, 3차전, PO 2차전) 나.. 승요잖아...? ㅋㅋㅋㅋㅋㅋ 아니 이 정도면 구단에서 나 초청해줘야하는거 아닌가..? (대충 예매 빡세서 힘들었다는 뜻) 한국시리즈 1차전부터 이야기를 해보자면! 진짜 야구는 절대로 과몰입해서 보면 안 된다... 수명이 줄어든다... 점수 하나하나에 민감하게 보다보면 ㅋㅋㅋ... 진짜 과몰입 절대 금지 🚫🚫 아니 근데.. 이거 진짜 쵸오오오-비이이이ㅣ사ㅏㅏㅏ아아ㅏ아ㅏ아아앙ㅇ!!!!! 진짜 초비상 사태가 일어나버린 것.. 그럴만도 한게, 든든한 안우진을 너무 많이 굴렸다... (미안하다.. 믿을 사람이 너밖에 없어서..) 믿었던 1선발이 내려가버린 키움의 마운드에는 초비상이 걸렸다. 혼자 괴로워했..
가을야구 직관은 19년 KS 3차전이 처음이자 마지막이었는데, 이번에 두 번째 가을야구 경기를 보게 되었다. 사실.. 키움이랑 KT는 팬이 별로 없어서.. ㅋㅋㅋ 이렇게까지 치열하게 예매 경쟁이 벌어지나 했는데.. 망할 암표놈들... 4층 외야 → 4층 내야 → 2층 버건디석 무려 9천원의 수수료를 지불하며 거의 3일만에 응원석을 잡았다..!! 오늘 경기는 준플레이오프 1차전 KT vs 키움 경기 날이다! 멋있는 올해 슬로건! 그동안 본 슬로건 중에 가장 기억에 남을 슬로건이 아닐까 싶다 "Be the heroes" ㅎㅎ 가을야구 시즌이 되면 구장의 분위기도 그에 맞게 바뀌는데, 역시 고척돔도 멋있게 가을 옷으로 갈아입었다. 🍁🍁 응원 배트를 사러 오프라인 샵에 들렀는데, 구입한 사람들에게 키움 선수단이..
미리보기 ✅ 테스트 코드가 무엇인지 알아보자! ✅ JUnit 프레임워크에 대하여 알아보자! ✅ TDD(Test Driven Development)에 대하여 알아보자! 🎂 테스트 코드 코드를 신나게 다 작성하였다. 그대로 배포할 것인가? 아니다! 최소한의 검증 과정은 거쳐야 사람들에게 보여줄 수 있지 않나! 내가 개발한 기능이 의도한 대로 잘 동작하는지 검증하는 과정은 배포 과정에서 필수적이다. 그런데 이 테스트.. 어떻게 진행할건데..? 간단한 소규모의 코드는 main 메소드를 통해서 실행할 수 있다고 쳐도, 규모가 조금이라도 커지면 테스트를 준비하고 실행하는데 엄청 많은 코스트가 소요될 것이다. 따라서 자바에서는 'JUnit' 이라는 테스트 프레임워크로 이러한 문제를 해결할 수 있다! 테스트 코드를 사..
미리보기 ✅ Controller, Service, Repository 구조에 대해 알아보자! ✅ Domain에 대하여 알아보자! 🧁 웹 어플리케이션 계층 구조 스프링에서 웹 어플리케이션을 프로그래밍 할 때, 위 그림에 있는 계층 구조를 따르는 것이 개발에 편리하다. Controller, Service, Repositry를 각각 설명하고 그 이후에 Domain 에 대해서 설명하겠다! Controller 사용자의 요청(Request)을 받고 응답(Response)하는 담당 ✔️ 요청을 처리하기 위해 Service를 호출 (Controller → Service) ✔️ 결정된 처리를 Service에서 받아 Response 해줌 (Controller ← Service) // 예시 : View에 Model 객체 넘..