spring 18

[Spring] 제어의 역전(Inversion of Control, IoC) 이란 무엇일까?

1. DI와 IoChttps://ngwdeveloper.tistory.com/205 [Spring] 의존성 주입(Dependency injection, DI) 이란 무엇일까?spring을 사용해 개발을 하다보면 @Autowired나 생성자로 객체를 주입받아 쓴다. 너무나 당연하게 써왔었다. 그런데 문득 궁금해졌다. "그냥 내가 만들어 쓰면 안되나?" 라는 생각이 들었다. 이 의존ngwdeveloper.tistory.com 이전 글에서 DI가 객체 간의 결합도를 낮추는 기술임을 알게됐다. 이전 글 3.3 섹션에서 "객체의 생성과 관계 설정의 제어권이 개발자로부터 프레임워크로 넘어간 것을 제어의 역전(IoC)이라 부르며, DI는 이 IoC를 구현하는 핵심 방식이다."라고 말했었다.DI에 대해서는 이해했지만,..

[Spring] 의존성 주입(Dependency injection, DI) 이란 무엇일까?

spring을 사용해 개발을 하다보면 @Autowired나 생성자로 객체를 주입받아 쓴다. 너무나 당연하게 써왔었다. 그런데 문득 궁금해졌다. "그냥 내가 만들어 쓰면 안되나?" 라는 생각이 들었다. 이 의존성 주입이 왜 스프링의 핵심 개념인지 비유를 통해 이해해보자. 1. 스프링의 핵심중 하나인 DI스프링 프레임워크를 사용한다는 것은 의존성 주입(Dependency Injection, DI)의 개념 위에서 개발한다는 것과 같다. DI는 스프링의 3대 핵심 프로그래밍 모델 중 하나이며, 현대적인 객체지향 설계를 가능하게 하는 기반 기술이다.많은 개발자가 DI를 단순히 어노테이션(@Autowired)을 통해 객체를 받아오는 기술 정도로 이해하지만, DI의 본질은 객체 간의 결합도를 낮추고 유연성을 극대화하..

[Spring Boot] Gzip 압축을 통해 로딩 성능 최적화 하기

1. 개요리액트 + 스프링부트로 진행 중인 프로젝트를 어느 정도 마무리 했다. 이제 배포전 성능테스트를 하며 최적화에 신경 쓰고 있다. 나는 'Lighthouse'를 사용해서 1차적으로 성능을 측정하고 문제점을 고쳐나가고 있다. 이때 만난 콘텐츠 로딩속도 문제에 관해 찾아보다가 Gzip에 관해 알게 되었다. 그래서 공부하고 기록할 겸 글을 작성한다. 2. Gzip?Gzip은 데이터를 압축하여 전송하는 표준적인 방법 중 하나로, 주로 웹에서 클라이언트와 서버 간의 데이터 전송 시 사용된다. Gzip은 텍스트 기반의 파일(HTML, CSS, JavaScript, JSON 등)을 효율적으로 압축하여 데이터 전송량을 줄이고, 페이지 로딩 속도를 향상시킨다. 3. Gzip 사용 시와 사용하지 않을 때의 차이Gzi..

[Spring Boot] LogBack을 사용해서 로그파일 저장하기

1. 개발환경Java 17Spring Boot 3.1.8Gradle 8.5 2. LogBack이란?LogLogback은 자바 기반의 오픈 소스 로깅 프레임워크이다. Logback은 로깅 기능과 SLF4J(Simple Logging Facade for Java)와의 통합을 제공하여 강력하고 유연한 로깅 솔루션을 제공해 준다. SLF4J는 다양한 로깅 구현체를 추상화하는 인터페이스를 제공하고, Logback은 이러한 인터페이스를 구현하여 실제로 로그를 처리한다.Logback은 Log4j의 후속 버전으로 개발되었으며, Log4j보다 더욱 효율적이고 성능이 우수하다. Logback은 다음과 같은 주요 기능을 제공한다 3. LogBack의 주요 기능1 모듈화된 아키텍처Logback은 세 가지 주요 구성 ..

[QueryDSL] QueryDSL 이란?

1. QueryDSL 이란?QueryDSL은 자바 프로그래밍 언어를 사용하여 데이터베이스 쿼리를 작성할 수 있게 해주는 라이브러리이다. 문자열 기반 SQL쿼리 대신 자바 코드로 쿼리를 작성하므로 컴파일 시간에 오류를 확인할 수 있고, IDE의 지원을 받을 수 있다. 동적 쿼리나 복잡한 쿼리 작성 시 유용하며, 다양한 데이터베이스와 호환되며 다양한 모듈을 제공한다. 2. ORM과 QueryDSL의 관계ORMORM은 객체와 RDBMS간의 매핑을 자동화하는 기술이다. 주로 JPA나 Hibernate와 같은 프레임워크를 사용하여 객체 지향 언어에서 DB를 조작할 때 사용된다. ORM은 객체와 테이블 간의 매핑을 처리하고, 쿼리를 객체지향적인 방식으로 작성하도록 도와준다. Querydsl과 ORMQueryds..

[Spring Boot + OAUTH2.0] Spring Boot 소셜로그인(네이버) 구현법(Oauth2.0)

Oauth2.0 사용자가 애플리케이션 또는 웹 사이트에 로그인할 때 사용되는 프로토콜 중 하나. 이 프로토콜은 보안된 방식으로 사용자의 정보를 제공하고, 다른 웹 사이트나 애플리케이션에서 해당 정보를 사용할 수 있도록 한다. - 자주 사용하지 않는 웹사이트에 개인정보를 입력해서 회원가입을 해야 하나? 할 때 간단하게 소셜 로그인을 사용해서 이용할 수 있다. 네이버소셜로그인을 위한 준비가 안되었다면 아래 링크를 통해 설정한 뒤 본 게시글을 따라 해야 한다. 네이버 소셜로그인을 위한 설정 네이버 소셜로그인을 위한 설정(Spring + Oauth2.0) 1. 네이버 앱 등록 https://developers.naver.com/apps/#/register 애플리케이션 - NAVER Developers devel..

[Spring Boot + OAUTH2.0] Spring Boot 소셜로그인(구글) 구현법(Oauth2.0)

Oauth2.0 사용자가 애플리케이션 또는 웹 사이트에 로그인할 때 사용되는 프로토콜 중 하나. 이 프로토콜은 보안된 방식으로 사용자의 정보를 제공하고, 다른 웹 사이트나 애플리케이션에서 해당 정보를 사용할 수 있도록 한다. - 자주 사용하지 않는 웹사이트에 개인정보를 입력해서 회원가입을 해야 하나? 할 때 간단하게 소셜 로그인을 사용해서 이용할 수 있다. 구글소셜로그인을 위한 준비가 안되었다면 아래 링크를 통해 설정한 뒤 본 게시글을 따라 해야 한다. 구글 소셜로그인을 위한 설정 구글 소셜로그인을 위한 설정(Spring + Oauth2.0) 1. 구글 API 콘솔 들어가기 https://console.cloud.google.com/projectselector2/apis/credentials/consen..

[Spring Boot + OAUTH2.0] Spring Boot 소셜로그인(카카오) 구현법(Oauth2.0)

oauth2.0 사용자가 애플리케이션 또는 웹 사이트에 로그인할 때 사용되는 프로토콜 중 하나. 이 프로토콜은 보안된 방식으로 사용자의 정보를 제공하고, 다른 웹 사이트나 애플리케이션에서 해당 정보를 사용할 수 있도록 한다. - 자주 사용하지 않는 웹사이트에 개인정보를 입력해서 회원가입을 해야 하나? 할 때 간단하게 소셜 로그인을 사용해서 이용할 수 있다. 카카오 소셜로그인을 위한 준비가 안되었다면 아래 링크를 통해 설정한 뒤 본 게시글을 따라 해야 한다. 카카오 소셜로그인을 위한 설정 카카오 소셜로그인을 위한 설정(Spring + Oauth2.0) 1. 카카오 개발자 사이트 들어가기 https://developers.kakao.com/console/app 카카오계정 accounts.kakao.com 위..

[Spring Boot + OAUTH2.0] 구글 소셜로그인을 위한 설정(Spring + Oauth2.0)

1. 구글 API 콘솔 들어가기 https://console.cloud.google.com/projectselector2/apis/credentials/consent?authuser=2&supportedpurview=project Google 클라우드 플랫폼 로그인 Google 클라우드 플랫폼으로 이동 accounts.google.com 위 링크에 들어가면 다음과 같은 화면이 뜰 것이다. 2. 프로젝트 생성 상단의 프로젝트 선택을 눌러준다. 위 화면이 뜬다면 새 프로젝트를 클릭해 준다. 이 화면으로 이동할 텐데 프로젝트 이름을 입력해 주고 만들기 버튼을 누른다. 위 화면이 뜨면 외부를 선택하고 만들기 버튼을 눌러준다. 위와 같은 화면으로 넘어오는데 필요한 정보를 입력해주고 저장 후 계속 버튼을 누른다. ..

[Spring Boot + OAUTH2.0] 네이버 소셜로그인을 위한 설정(Spring + Oauth2.0)

1. 네이버 앱 등록 https://developers.naver.com/apps/#/register 애플리케이션 - NAVER Developers developers.naver.com 위 링크에 들어가 준다. 위와 같은 화면이 뜰 것이다. 2. 세부 설정 애플리케이션 이름을 작성하고 사용 API에서는 네이버 로그인을 선택해 준다. 사용자의 정보중 필요한 정보를 체크해 준다. 나는 이메일, 별명만 가져오면 되기 때문에 두 개를 체크해 줬다. 로그인 오픈 API 서비스 환경탭에서 환경추가를 누르고 PC웹을 선택해 준다. 서비스 URL, 네이버로그인 Callback URL로 사용할 주소를 입력해 준다. 로컬에서 테스트할 것이기 때문에 localhost로 설정해 줬다. 그 뒤 등록하기를 눌러준다. 3. 테스트..

프로필사진

남건욱's 공부기록

반응형