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

다음은 토비의 스프링 7.3~7.4장 을 공부하고 정리하였습니다. 7.1~7.2장 내용 간단 요약 SQLReader - SQL을 어떻게 읽어오는지 SqlRegistry - SQL을 어떻게 저장해둘 건지 SqlService 이란? @PostConstruct 가 달린 빈 초기화 메소드와 SqlService 인터페이스에 선언된 메소드인 getFinder()을 sqlReader과 sqlRegistry를 이용하도록 변경 자기 자신을 참조하는 빈이다. → sqlService를 구현한 메소드와 초기화된 메소드는 외부에서 DI 된 오브젝트라고 생각하고 결국 자신의 메소드에 접근하므로 이 셋을 이용하여 디폴트 의존관계를 갖는 빈을 만들 수 있다. 디폴트 의존관계란 외부에서 DI 받지 않는 경우 기본적으로 자동 적용되는 ..

다음은 토비의 스프링 6장 AOP 를 공부하고 정리하였습니다. AOP를 이해하기 전에 먼저 아래 개념이 선행되어야 한다. 빈 생명주기 (그냥 훑어봐도 이해하기 쉽다. 아래 빈 후처리~ 로직을 이해하려면 필연적으로 알아야 함 !) DI Transaction (DataBase 관련 개념) 프록시 개념 아래 여러 혼란스러운 개념들이 나오니 단어들을 헷갈리지 않고 정리하면서 보는 과정이 필요하다.. AOP를 한 마디로 말하면, 공통된 기능을 재사용하는 기법이다. spring에서 볼 수 있는 AOP의 적용 대상은 바로 @Transactional 기능이다. 우선 Transactional 의 기본 코드는 아래와 같다는 사실을 알아두자. public void upgradeLevels() { PlatformTransac..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/152995 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 생각 임의의 두 수 i, j가 있다. 만약 근무태도 점수[i] < 근무태도 점수 [j] 이고 동료평가 점수[i] < 동료평가 점수 [j] 인 경우가 한 번이라도 있다면 i 는 인센티브를 받지 못한다. 그게 아니라면 두 점수의 합이 높은 순으로 석차를 낸다. N = 10만이라면 → NlogN 알고리즘이 적합하겠다!! 문제 풀이 def solution(scores): wanho = sco..
아래 글은 로버트 마틴의 클린코드 책 14장 ~ 끝까지를 읽고 작성한 글입니다. 아래 내용은 저자가 코드를 짜면서 사용하는 기교와 휴리스틱이다. 앞단의 내용과 조금 겹치는 부분도 존재하고, 내용이 이어지기 때문에 앞의 내용을 다 읽어야 이해가 쉽다. 주석 부적절한 정보 작성자, 최종 수정일, SPR 번호 등과 같은 메타 정보만 주석으로 넣는다. 쓸모 없는 주석 오래된 주석, 엉뚱한 주석, 잘못된 주석 등 쓸모 없는 주석은 코드를 그릇된 방향으로 이끈다. 중복된 코드 코드만으로 충분한데 구구절절 설명하지 말자. 성의 없는 주석 주석을 달 참이라면 시간을 들여 최대한 멋지게 작성한다. 단어를 신중하게 선택하고, 문법과 구두점을 올바로 사용하며, 간단하고 명료하게 작성하자. 주석 처리된 코드 주석으로 처리된 ..
아래 글은 로버트 마틴의 클린코드 책 1장 ~ 13장 을 읽고 작성한 글입니다. 개요 이 책을 읽게 된 이유는 최근에 내가 너무 '어쨌든 굴러가는 코드'에만 집중해 코드를 작성하려고 해서였다. 구현이 빨리 되어 결과물이 바로 눈에 보이는 게 좋긴 하였으나 너무 성급하게 짠 코드는 정신이 하나도 없었다. 이 책을 읽어보면서 내가 작성한 코드를 리팩토링하기로 했다. 내가 개발한 코드와 서비스를 이어받아 운영할 분들에게 어느 정도 도움이 되고 싶다. 클린 코드란? 깨끗한 코드는 ‘보기에 즐거운’ 코드다. 클래스, 함수 , 메서드 등을 최대한 줄인다. 중복이 없다. 세세한 사항까지 꼼꼼하게 처리하는 코드다. 모든 테스트를 통과한다. 한가지에 ‘집중’한다. 의미있는 이름 함축성을 담자. 특히나 for문에 i,j,..

다음은 토비의 스프링 5.1 사용자 레벨 관리 기능 추가 를 공부하고 정리하였습니다. 요구사항 - 사용자의 레벨은 BASIC, SILVER, GOLD 세 가지 중 하나이다. - 사용자가 처음 가입하면 BASIC 레벨이며, 이후 활동에 따라 한 단계씩 업그레이드 도니다. - 가입 후 50 회 이상 로그인하면 BASIC에서 SILVER 레벨이 된다. - SILVER 레벨이면서 30번 이상 추천을 받으면 GOLD 레벨이 된다. - 사용자 레벨의 변경 작업은 일정한 주기를 가지고 일괄적으로 진행된다. Level을 Enum 을 쓰자 ! 만약 Enum이 아닌 class 로 쓴다면 ? 아래와 같이 일일히 int type으로 저장한다.이후 DB에서 어떻게 갖다 쓸 것인가? if (user1.getLevel() == U..
0. 문제 사칙연산 1. 문제 풀이 백준의 행렬 곱셈 순서 문제와 유사한 문제이다. 처음에는 Greedy라고 생각하였다 . 하지만 DP! - 뒤에는 작은 수가, + 뒤에는 큰 수가 나와야 한다. 또한 순차적인 계산 방식이 아니므로 Greedy로 풀 수 없고, 행렬 곱셈 순서 문제처럼 step별로 계산하며 DP table로 상태를 계속 적어두어야 한다. INF = 987654321 def solution(arr): answer=0 num = (len(arr)+1)//2 DP_max = [[-INF] *(num+1) for _ in range(num+1)] DP_min = [[INF] * (num+1) for _ in range(num+1)] for i in range(num): DP_max[i][i]=in..

Can’t log into Elastic (self hosted) “Oops! Error. Try again.” [lens_merge_tables] > [esaggs] > EsError TOO_MANY_REQUESTS/12/disk usage exceeded flood-stage watermark .. 해당 에러들은 모두 Elastic disk 가 가득차서 생기는 오류이다. free -h 명령어로 Elastic server에서 몇 퍼센트를 사용하고 있는지 확인할 수 있다. 아래 /elk 메모리가 90퍼센트 이상 사용하게 되면 주로 해당 오류들이 발생한다. [**@n**** config]# df -h Filesystem Size Used Avail Use% Mounted on dev**** t** t**s..