전체 글 869

Conventional commit plugin 추천 - commit prefix 자동화를 하자.

요즘 추세가 conventional commit 형태로 작성하는게 국룰이 된 것 같다. ref. https://www.conventionalcommits.org/en/v1.0.0/ Conventional Commits A specification for adding human and machine readable meaning to commit messages www.conventionalcommits.org 고민하다 보니 수동으로 쓰자니, 애매하여 찾아 보니 플러그인이 역시나 있었다. https://plugins.jetbrains.com/plugin/13389-conventional-commit Conventional Commit - IntelliJ IDEs Plugin | Marketplace The..

Tool 2024.03.28

스프링 핵심 원리 기본편 강의 - ComponentScan과 의존 관계 자동 주입

@ComponentScan 자동으로 @Component가 붙은 컴포넌트를 해당 빈 등록을 해준다. (싱글톤) 빈 이름은 기본전략은 MemberServiceImpl class -> memberServiceImpl로 앞의 글자만 소문자로 바꿔서 등록 해준다. 이름을 수정 할 수 있음. 15:47:41.702 [Test worker] DEBUG org.springframework.context.annotation.AnnotationConfigApplicationContext - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@d049e53 15:47:41.708 [Test worker] DEBUG org.s..

스프링 핵심 원리 기본편 강의 - Bean Definition

BeanDefinition 스프링은 어떻게 이런 다양한 설정 형식을 지원하는 것일까? 그 중심에는 BeanDefinition 이라는 추상화가 있다. BeanDefinition 정보 BeanClassName: 생성할 빈의 클래스 명(자바 설정 처럼 팩토리 역할의 빈을 사용하면 없음) factoryBeanName: 팩토리 역할의 빈을 사용할 경우 이름, 예) appConfig factoryMethodName: 빈을 생성할 팩토리 메서드 지정, 예) memberService Scope: 싱글톤(기본값) lazyInit: 스프링 컨테이너를 생성할 때 빈을 생성하는 것이 아니라, 실제 빈을 사용할 때 까지 최대한 생성을 지연처리 하는지 여부 InitMethodName: 빈을 생성하고, 의존관계를 적용한 뒤에 호출..

스프링 핵심 원리 기본편 강의 - Bean scope & Bean lifecycle

빈 스코프 스프링 빈은 스프링 컨테이너의 시작과 함께 생성 되어서 스프링 컨테이너가 종료될 때까지 유지 되는데, 이는 기본적으로 싱글톤 스코프로 생성 되기 때문이다. 다양한 스코프 지원 싱글톤 프로토 타입 스프링 컨테이너는 프로토 타입 빈의 생성과 의존관계 주입까지만 관여 하고 그 후는 관리 하지 않음. (매우 짧음) 웹 관련 스코프 request 웹 요청이 한번 들어왔다 나갈때까지 유지 session 웹 세션이 생성되고 종료될 때까지 유지 application 웹 서블릿 컨텍스트와 같은 범위로 유지 component scan 자동등록 @Scope("prototype") @Component public class HelloBean {} 수동 등록 @Scope("prototype") @Bean Protot..

스프링 핵심 원리 기본편 강의 - 스프링

스프링이란? Spring framework / Spring boot 필수 Spring batch, Spring Session, Spring Data 등등 스프링프레임워크 핵심기술 웹기술 데이터 접근 기술 기술 통합 테스트 언어 스프링 부트 최근에 기본으로 사용 Spring Application을 쉽게 생성 내장 톰캣 지원 손쉬운 빌드 구성을 위한 starter 종속성 제공 프로덕션 준비 기능 제공 간결한 설정 스프링 부트만 사용 할 수 없고, 실제는 스프링 프레임워크를 사용한다. 스프링이란 단어? 스프링 생태계 스프링 프레임워크 스프링 DI 컨테이너 기술 스프링 진짜 핵심 자바 언어 - 객체 지향 언어 스프링은 객체 지향 언어가 가진 강력한 특징으로 개발 할 수 있도록 돕는 프레임워크 다형성 / 객체 역..

스프링 핵심 원리 기본편 강의 - 싱글톤

우리가 만들었던 스프링 없는 순수한 DI 컨테이너인 AppConfig는 요청을 할 때 마다 객체를 새로 생성한다. 고객 트래픽이 초당 100이 나오면 초당 100개 객체가 생성되고 소멸된다! 메모리 낭비가 심하다. 해결방안은 해당 객체가 딱 1개만 생성되고, 공유하도록 설계하면 된다. 싱글톤 패턴 싱글톤 패턴: 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. 그래서 객체 인스턴스를 2개 이상 생성하지 못하도록 막아야 한다. 싱글톤 방식의 주의점 싱글톤 패턴이든, 스프링 같은 싱글톤 컨테이너를 사용하든, 객체 인스턴스를 하나만 생성해서 공유하는 싱글톤 방식은 여러 클라이언트가 하나의 같은 객체 인스턴스를 공유하기 때문에 싱글톤 객체는 상태를 유지(stateful)하게 설계하면 안된다..

스프링 핵심 원리 기본편 강의 - OOP와 스프링

https://www.inflearn.com/course/스프링-핵심-원리-기본편 [스프링 핵심 원리 - 기본편 강의 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., 스프링 핵심 원리를 이해하고, 성장하는 백엔드 개발자가 되어보세요! 📢 www.inflearn.com](https://www.inflearn.com/course/스프링-핵심-원리-기본편) 좋은 객체 지향 설계의 5가지 원칙의 적용 여기서 3가지 SRP, DIP, OCP 적용 SRP 단일 책임 원칙 한 클래스는 하나의 책임만 가져야 한다. 클라이언트 객체는 직접 구현 객체를 생성하고, 연결하고, 실행하는 다양한 책임을 가지고 있음 SRP 단일 책임 원칙을 따르면서 관심..

유용한 mac os app을 찾는 방법 (based on open source)

https://indiegoodies.com/awesome-open-source-mac-apps Open Source Mac Apps - Indie Goodies Awesome open source Mac apps indiegoodies.com 여러 가지 맥에서 사용 할 수 있는 오픈 소스 기반의 앱들이 잘 정리가 되어 있다. 그런데, 간혹 이미 업데이트가 진행 된지 오래 된 앱들도 있는데, 잘 확인 해보고 다운로드 받아서 사용하면 될 것 같은데, 내가 굉장히 많이 사용하는 앱들도 다 있어서, 편리해서 좋다.

MacOS 2024.03.17

ktlint lint 적용

ktlint 정상혁님이 써주신, kotlin lint를 위한 가이드 문서가 잘 소개되어 있습니다. https://blog.benelog.net/ktlint 해당 방식에서는 크게 보면 총 2가지의 방식을 설명하고 있습니다. gradle 빌드 설정 IntelliJ 설정 위와 같은 방식 중에서 review repo, point repo에 도입한 방식은 첫번째 방식인 gradle build 설정을 통한 kotlin lint를 도입하였습니다. https://kotlinlang.org/docs/coding-conventions.html kotlin 언어의 coding convention은 kotlin official로 정의를 하고 있는 특정한 규약들이 있습니다. (java의 경우, Google style guide..

SQL Join

매번, Join 데이터 구성이 어떻게 되더라.. 기억이 가물 가물 한데, 스택오버플로우에 좋은 그림이 있어서 가져왔다. 사실 left join, inner join 제외 하고 잘 안써본듯.. https://stackoverflow.com/questions/3308122/how-do-i-decide-when-to-use-right-joins-left-joins-or-inner-joins-or-how-to-dete How do I decide when to use right joins/left joins or inner joins Or how to determine which table is on which side? I know the usage of joins, but sometimes I come ac..

DB 2024.02.06
반응형