스프링 주요 기술에서 언급한 DI에 대해서 공부한 내용입니다. 스프링의 주요 기술 스프링의 주요 기술은 크게 세 가지입니다. DI(Dependency Injection) AOP(Aspect Oriented Programming) PSA(Portable Service Abstraction) 위 세가지는 애플리케이션을 POJO로 개발할 수 있게 해주는 기술입니다. POJO와 스 kkoon9.tistory.com 의존성 주입? 의존관계 설정! DI가 가장 흔하게 번역되어 사용되는 건 '의존성 주입' 혹은 '의존 오브젝트 주입'인데, 이는 DI의 의미가 무엇인지 잘 드러내주지 못합니다. 오브젝트의 레퍼런스가 전달될 뿐이지, 오브젝트는 다른 오브젝트에 주입될 수 없습니다. 용어는 동작방식보다는 의도를 가지고 이름..
스프링의 주요 기술은 크게 세 가지입니다. DI(Dependency Injection) AOP(Aspect Oriented Programming) PSA(Portable Service Abstraction) 위 세가지는 애플리케이션을 POJO로 개발할 수 있게 해주는 기술입니다. POJO와 스프링의 주요 기술을 알아보기 전에 스프링의 등장 배경에 대해서 간단히 알아봅시다. 스프링의 등장 배경 스프링 이전에는 EJB(Enterprise Java Bean) 스펙을 구현하여 여러 WAS 제품이 출시되었다고 합니다. 그런데 컨테이너의 다양한 서비스를 제공 받기 위해서는 EJB 스펙을 무조건 지켜야 했습니다. EJB 스펙을 지키는 것에 있어서 다음과 같은 문제점이 있었습니다. 서비스가 구현하는 실제 비즈니스 로직..
설 연휴동안 소프트웨어 장인을 잽싸게 읽어보았습니다. 소프트웨어 장인 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 잽싸게 독서 시리즈는 꼼꼼하게 읽기보다는 가볍게 읽다가 인상깊은 한두 구절을 기록하기 위함입니다. 소프트웨어 장인은 영웅이 아니다. 해당 책에서 말도 안되는 일정을 해내는 건 결코 소프트웨어 장인이 아니라고 설명합니다. 일정을 맞추는 건 물론 중요하지만, 일정에 쫓겨 엉망인 애플리케이션 아키텍처를 구성하는 걸 결코 용납해서는 안 된다고 합니다. 소프트웨어 장인은 안정적인 아키텍처를 구성해야 합니다. 이 책을 읽기 전, 저는 은연중에 일정을 맞추는 걸 잘하는 개발자라고 생각했습니다. 이 구절을 읽고 나서, 일정 산정 또한 개발자의 덕목이라고..
코프링으로 개발 시 마주친 테스트 실행 시 에러 포스팅입니다. 개발 환경은 다음과 같습니다. Spring Boot Version : 2.7.3 Java Version : 11 배경 커피 주문 어플리케이션 내 카페 닫기라는 테스트 코드를 작성하고 있었습니다. internal class CafeTest { private lateinit var cafe: Cafe @BeforeEach internal fun setUp() { cafe = createCafe() } @Test fun `카페 닫기`() { // given val closedAt: LocalDateTime = LocalDateTime.now() // when cafe.closedAt = closedAt // then assertThat(cafe.c..
도커 스터디때 다룬 Dockerfile을 좀 더 공부한 내용입니다. 도커 스터디 [2]- Dockerfile을 직접 작성해보기 🧸 사내에서 진행했던 도커 스터디를 실습 및 정리했던 내용을 정리한 포스팅입니다. Dockerfile 문법 FROM ENV ADD COPY WORKDIR EXPOSE ENTRYPOINT RUN CMD USER ARG LABEL VOLUME ONBUILD STOPSIGNAL HEALTHCHECK 보통 FROM 에서 kkoon9.tistory.com 사내에서 진행하는 사이드 프로젝트를 배포하기 위해 Docker를 공부했습니다. Dockerfile Dockerfile은 원하는 개발환경을 코드로 구성하는 방법을 제공합니다. 코드로서 인프라 환경을 프로비저닝할 수 있습니다. 도커 이미지를..
원티드에서 주관하는 코딩테스트를 참여해보았습니다. 2023년 1월 14일 14:00 ~ 17:00에 원티드 주관 코딩테스트 대회인 쇼미더코드가 진행되었습니다. 쇼미더코드 (Show Me The Code) : 원티드 주관 코딩테스트 대회 ('22년 3회차) | 원티드 당신의 코드를 보여주세요. 금손or은손 뱃지도 받고, 취업까지! 쇼미더코드 코딩테스트 대회 결과에 따라 일정 점수 이상 획득한 지원자는 이력서 제출 시 원티드 인증 뱃지가 지원한 회사에 노 www.wanted.co.kr 간단한 느낀점 오랜만에 코딩 테스트라 즐겁고 가벼운 마음으로 임했습니다. 쇼미더코드는 백준 사이트에서 풀이하기 때문에 정답을 확인할 수 있어서 좋았습니다. 총 3문제가 나왔고, 2문제만 풀이할 수 있었습니다. 가볍게 어떤 문제..
Jpa 개발 관련 포스팅입니다. 해당 예시 코드 pr 주소입니다. feat: JpaRepository 파라미터 Mocking 시 NullPointerException 예시 pr by kkoon9 · Pull Request #1 · laboratory-kkoon9/sp github.com Mocking Mocking이란? Mock 이라는 단어의 사전적 의미는 다음과 같습니다. (흉내를 내며) 놀리다 무시하다 거짓된, 가짜의 위 뜻을 미루어 봤을 때, Mocking 이라는 것은 실제 값으로 테스트를 하기 어려우니 가짜 값을 사용할 수 있게 해주는 것입니다. 그래서 보통 테스트 코드를 작성할 때, mocking을 많이 사용합니다. Mocking이 필요한 상황 보통 다음과 같은 상황에서 Mocking을 사용합니..
외부 API를 받아오는 WebClient 개발 관련 포스팅입니다. 해당 github 주소입니다. GitHub - laboratory-kkoon9/spring-batch-gradle Contribute to laboratory-kkoon9/spring-batch-gradle development by creating an account on GitHub. github.com 사용 목적 외부 API의 GET 호출에 필요한 쿼리 스트링, DTO로 만들기 [1]. DTO 내부 parse 메서드 첫 번째 떠올린 방법은 DTO 내에서 쿼리 스트링을 만들어주는 메서드를 만들기입니다. package com.laboratorykkoon9.springbatchgradle.infra.boxoffice.dto; import ..
- Total
- Today
- Yesterday
- JPA
- 디자인 패턴
- MSA
- BOJ
- kotest
- Java
- 클린 코드
- Spring
- 테라폼
- 백준
- 이팩티브 자바
- 이펙티브 자바
- 알고리즘
- node.js
- Olympiad
- 객체지향
- Effective Java
- BAEKJOON
- 코테
- C++
- Algorithm
- AWS
- Kotlin
- kkoon9
- Spring Boot
- 프로그래머스
- programmers
- 정규표현식
- 클린 아키텍처
- 디자인패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |