일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OpenSource
- 하이브리드 데이터 모델
- C++
- jwt-java
- elastic search
- docker
- prometeus
- template/callback
- roll over
- pyannote
- Nice
- mybatis
- Spring
- 자료구조
- java
- 화자분리
- API Gateway
- DI
- 파이썬
- fosslight
- kong
- umc
- 메소드
- supabase
- ELK
- curl
- konga
- metricbeat
- monitoring
- devops
- Today
- Total
목록BackEnd/JAVA\SPRING (22)
youngseo's TECH blog

다음은 토비의 스프링 6장 AOP 를 공부하고 정리하였습니다. AOP를 이해하기 전에 먼저 아래 개념이 선행되어야 한다. 빈 생명주기 (그냥 훑어봐도 이해하기 쉽다. 아래 빈 후처리~ 로직을 이해하려면 필연적으로 알아야 함 !) DI Transaction (DataBase 관련 개념) 프록시 개념 아래 여러 혼란스러운 개념들이 나오니 단어들을 헷갈리지 않고 정리하면서 보는 과정이 필요하다.. AOP를 한 마디로 말하면, 공통된 기능을 재사용하는 기법이다. spring에서 볼 수 있는 AOP의 적용 대상은 바로 @Transactional 기능이다. 우선 Transactional 의 기본 코드는 아래와 같다는 사실을 알아두자. public void upgradeLevels() { PlatformTransac..

다음은 토비의 스프링 5.1 사용자 레벨 관리 기능 추가 를 공부하고 정리하였습니다. 요구사항 - 사용자의 레벨은 BASIC, SILVER, GOLD 세 가지 중 하나이다. - 사용자가 처음 가입하면 BASIC 레벨이며, 이후 활동에 따라 한 단계씩 업그레이드 도니다. - 가입 후 50 회 이상 로그인하면 BASIC에서 SILVER 레벨이 된다. - SILVER 레벨이면서 30번 이상 추천을 받으면 GOLD 레벨이 된다. - 사용자 레벨의 변경 작업은 일정한 주기를 가지고 일괄적으로 진행된다. Level을 Enum 을 쓰자 ! 만약 Enum이 아닌 class 로 쓴다면 ? 아래와 같이 일일히 int type으로 저장한다.이후 DB에서 어떻게 갖다 쓸 것인가? if (user1.getLevel() == U..

다음은 토비의 스프링 3.4 컨텍스트와 DI ~ 3.5장 3템플릿과 콜백 을 공부하고 정리하였습니다. DI에 대해 다시 복습하자 ! 1. 그림으로 표현해본다면? Pencil 객체와 Store 객체가 있다. 이 때 의존성은 다음과 같이 문장으로 표현된다. A가 B를 사용한다. A가 B에 의존성이 있다. A-store / B-pencil DI 가 아닌 코드를 먼저 보자. public class Store { private Pencil pencil; public Store() { this.pencil = new Pencil(); } } Store 객체 안에서 직접 객체를 생성하고 초기화한다. DI 인 코드 public class Store { private final Pencil pencil; public S..

아래 글은 토비의 스프링을 읽고 공부하였습니다. 목차 1. DI란 1) 의존관계 2) 모델링 시점의 의존관계 vs 런타임 시점의 의존관계 3) 제3의 존재 4) 의존관계 검색과 주입 5) 의존관계 주입 방법 3가지 2. XML을 이용한 DI 1) DI 설정정보를 만드는 XML 2) XML을 이용하는 애플리케이션 컨텍스트와 Datasource 1. DI DI는 의존관계 주입으로, IoC와 동떨어진 개념은 아니다. DI는 오브젝트 레퍼런스를 외부로부터 제공(주입)받고 이를 통해 여타 오브젝트와 동적으로 의존관계가 만들어지는 것이 핵심이다. 우리가 보통 알고있는 가장 대표적인 DI는 @Autowired 어노테이션일 것이다. 1. 의존관계 객체를 직접 생성하는 것이 아니라 외부에서 생성한 후 주입하는 방식이다...

아래 글은 토비의 스프링을 읽고 공부하였습니다. 목차 1. IoC란 1) 팩토리 2) IOC(제어의 역전) 3) 프레임워크와 라이브러리 2. 스프링의 IoC 1) Bean과 Bean Factory 2) 애플리케이션 컨텍스트와 동작방식 3) 직접 만든 애플리케이션 컨텍스트와 object factory의 차이점 3. 싱글톤 1) 싱글톤으로 만드는 이유 2) 싱글톤 패턴의 한계 3) 싱글톤 레지스트리 4) 싱글톤 사용 시 주의할 점 1. 오브젝트 팩토리 1. 팩토리 앞에서 우리는 UserDaoTest에 DB 연결에 대한 책임(ConnectionMaker 구현 클래스)을 던져버렸다. 이번에는 이 책임을 DaoFactory로 분리해보자. public class DaoFactory { public UserDao u..

아래 글은 토비의 스프링을 읽고 공부하였습니다. 목차 1. DAO 1) DAO vs DTO 2) DAO-관심사의 분리 2. DAO의 분리 1) 클래스의 분리 2) Interface의 도입 3) 관계설정 책임의 분리 2. 원칙과 패턴 1) 개방 폐쇄 원칙 2) 전략 패턴 1. DAO 1. DAO vs DTO DAO에 대해 파악하기 위해 우리가 개발할 때 많이 사용하는 DTO 개념과 비교해보자! DTO는 데이터를 운반하기 위한 틀이라면, class Person { private String name; private int age; } DAO는 data에 접근하기 위한 객체로, DB 접근에 대한 로직과 비즈니스 로직(Service, Controller, Repository)을 분리하기 위해 사용한다. 사실 지..

FOSSLIGHT Fosslight는 LG전자에서 자체 개발하여 사용하고 있는 오픈소스 관리 통합 시스템을 누구나 사용할 수 있도록 2021년 오픈소스로 공개한 프로젝트이다. 매년 oss에서 오픈소스 컨트리뷰션을 통해 자체적으로 멘토와 멘티를 선발하고 있으며 좋은 기회에 참여할 수 있게 되었다. FOSSLight FOSSLight으로 완성하는 Open Source Governance fosslight.org 이슈 내용 ISSUE - #817 Project List, 3rd Party List > Add watcher search PR - Added watcher search box in Project List, 3rd Party List 내가 맡았던 이슈는 위의 사진처럼 검색을 할 때 Watcher 값도..

OpenAI 와 open API OpenAI에서 chatGPT와 관련한 open API를 배포하였기 때문에 이제 누구나 손쉽고 편리하게 ChatGPT API를 이용해서 애플리케이션을 제작할 수 있게 되었다. ChatGPT API와 Whisper API 연동 방법 API 사용법에 관련하여 공식 문서로 제공이 되어 있어 이를 공부해 구현해볼 수 있었다. 내가 지금껏 썼던 OPEN API는 보통 라이브러리 형식이라 다운로드하여 import해서 쓰는 형식이 많았는데, OpenAI에서 제공해주는 API는 HTTP 통신 형태로 CURL 명령어를 보며 이해해야 하는 과정이 있었다. CURL 명령어 curl(client url) 명령어는 프로토콜들을 이용해 URL 로 데이터를 전송하여 서버에 데이터를 보내거나 가져올때..