Home
김도현
Cancel

MongoDB와 Spring Boot 함께 사용하기

연동 과정 DBMS 셋팅 MongoDB에 접속해서 DB와 Collection을 생성해준다. 여기서 Collection은 RDBMS의 Table과 같은 개념이다. Spring Boot 셋팅 Gradle 의존성 추가 아래 의존성을 추가한다. implementation 'org.springframework.boot:spring-boot-sta...

Fundamental of Java

동등성, 동일성 동등성 (Equals) Equals 메서드는 두 객체의 값이 같은지 비교하는 메서드이다. private void equals1() { String string1 = "TEST"; String string2 = "TEST"; String newString1 = new String("TEST"); Stri...

CI/CD 깃헙 액션으로만 끝내버리기

개요는 생략한다. CI/CD는 구글링하면 뻔한 이야기를 많이 해놓았기 때문에 그냥 그 정의를 갖다 쓴다고 한다. 이 글에서 다루는 내용은 어떻게 깃헙 액션으로 CI/CD를 적용할지에 대해서만 알아본다. 깃헙 액션으로 CI 돌려보기 name: Sulasang CI/CD with Gradle, Github Actions, Docker on: ...

스프링은 왜 프록시를 짝사랑하는가... (리플렉션, 다이나믹 프록시, CGLIB, AOP)

프록시 패턴에 대한 궁금증 스프링에서 AOP를 공부하려다 보면 그 개념의 근원은 프록시부터 시작한다. AOP가 적용된 로직은 프록시 패턴을 적용하여 요구사항을 해결한다고 알려져있는데 도대체 프록시 패턴이 무엇이고 왜 쓰이고, 스프링은 왜 프록시 패턴으로 AOP를 구성하게 되었는지 알아보려고한다. 프록시 패턴? 디자인 패턴 중 구조 패턴으로 ...

OOP-DesignPattern

좋은 설계의 특징 코드의 재사용성이 확보되어있다. 재사용성의 수준은 다음 세 가지로 볼 수 있다. 클래스 (라이브러리, 컨테이너, 반복자 등) 디자인 패턴 프레임워크 확장성을 고려하여 설계되어있다. 프로그래머에게는 모든 것이 변한다는 것이 변하지 않는다. 어떻게 좋은 설계를 할 수 있을까? 캡/상/추/다 캡슐화란 데...

OAuth 1.0 && 2.0

OAuth Open Authorization 직역하면, 공개 인증이라는 의미이다. 다른 웹 서비스에게 이용중인 서비스에 있는 나의 정보에 접근할 수 있는 권한을 공개하여 인증할 수 있도록 접근 위임을 통한 인증을 수행한다.. OAuth 1.0 의 등장 2007년 12월, OAuth 가 등장했다. 실제로 트위터 등 대형 서비스에서도 도입을 시...

코틀린의 1차 진입 장벽 뚫어버리기 (class, object)

헷갈리는 키워드 모든 내용은 공식문서를 참고하여 작성하였습니다. 클래스 관련 키워드 class data class sealed class enum class value class inner class 객체 관련 키워드 companion object object class class는 일반적으로 Jav...

ArrayList vs MutableList in Kotlin

참고자료 Baeldung Docs ArrayList val arrayList = ArrayList<String>() arrayList.add("Kotlin") arrayList.add("Java") MutableList val mutableList = mutableListOf<String>() mutableLis...

Spring과 핵심 디자인 패턴 (with 토비의 스프링, 스프링 핵심원리 고급편)

참고 자료 Line Engineering Blog 토비의 스프링 3장 스프링 핵심원리 - 고급편 핵심 패턴 5가지 템플릿 메서드 패턴 전략 패턴 템플릿 콜백 패턴 프록시 패턴 데코레이터 패턴 1. 템플릿 메서드 패턴 적용 효과 : 다형성, ...

멀티모듈 코프링과 플러그인

루트.build.gradle.kts import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { id("org.springframework.boot") version "3.0.5" id("io.spring.dependency-management") version "1.1.0" id("or...