DR 32

[Daily Report] 22.04.26 - EagleEye 진행상황

Memo EagleEye 환경 l Server-1 - Nginx - (Zookeeper) - (Kafka) l Server-2 - Redis - (Zookeeper) - (Kafka) l Server-3 - (Zookeeper) - (Kafka) 할 일 l Nginx 설치 l Redis 설치 l Docker 설치 l vartalap 설치 - 1) connection-gateway - 2) group-ms - 3) message-delivery - 4) notification-ms - 5) profile-ms - [확인필요-s3사용] file-ms New 후보 아키텍처 l Kafka – Druid – Grafana l Kafka – Clickhouse – Grafana l Hadoop – Hive – Tr..

정리하기/DR 2022.04.27

[Daily Report] 22.04.15 - Bertie 번역 API 변경

Memo Bertie 수정 l 번역 API - [변경] Naver API에서 Kakao API로 변경 - [사유] Kakao 지원 언어가 더 많음 (Naver 13개 -> Kakao 19개) New restTemplate l getForEntity - [문제] restTemplate에서 GET 메소드로 요청을 보낼 때, HttpHeaders를 사용할 수 없음 - [해결] restTemplate.exchange()로 사용 l 객체로 response 받아올 때 - 정의한 객체의 constructor 필수 - 정의한 객체의 getter/setter 필수 - List를 가져올 경우 Wrapper class 가능 - List를 가져올 경우 constructor에 List 인스턴스 생성하기 l WebConfig를 ..

정리하기/DR 2022.04.15

[Daily Report] 22.04.04 - MAMACOCO 이슈#3 및 이슈#4 해결

Memo MAMACOCO 이슈 분석 l Error message 분석 - [에러] No EntityManager with actual transaction available for current thread – cannot reliably access ‘remove’ call - [검색] 주로 @Transactional 애노테이션으로 해결했다는 내용이 많음 - [결론] Repository bean의 Delete 메서드와 @Transaction 애노테이션이 연관되어 있을 수 있음 l 에러 위치 찾기 - [stack1] JdkDynamicAopProxy#invoke > retVal = invocation.proceed() (line 127) - [stack2] (line 72) MethodMatcher에 실..

정리하기/DR 2022.04.04

[Daily Report] 22.03.18 - 자바 코딩테스트 관련 문법

Memo Java 코테 l Arrays - Arrays.toString() array를 출력을 위해 String으로 변환 - Arrays.asList(array) Object의 array를 List로 변환 l Stack - peek() pop하지 않고 top의 elt를 가져옴 l Comparator - Comparator cpr = () -> {} custom compare 함수 l String - charAt() index로 char를 가져옴 l ArrayList.sort(comparator) - comparator를 넣을 때 사용 l Collections - binarySearch 일치하는 값의 index || -(삽입 index + 1) l ArrayList copy - _to.addAll(_fro..

정리하기/DR 2022.03.19

[Daily Report] 22.03.18 - Bertie 오류 수정

Memo Bertie l [에러] template might not exist or might not be accessible ~ - classpath의 default는 “templates/” - controller에서 “/readPost”를 return - 따라서, “templates//readPost”로 인식 - [해결] “/readPost”를 “readPost”로 수정 New Spring l 포트 바꾸기 - [위치] application.properties - [내용] server.port=9999 Ubuntu l 방화벽 - netstat –nap : 모든 열린 포트 - netstat –nap | grep LISTEN : listen 포트 - sudo ufw allow 1 : 1번 포트 허용 Thi..

정리하기/DR 2022.03.18

[Daily Report] 22.03.17 - Berti 구현 완료

Memo Progress 정리 Bertie l Spring에서 http request 만들기 - header 만들기 HttpHeaders - Http request 만들기 HttpEntity - request 보내기 restTemplate - response 받기 ResponseEntity Java l “”.isEmpty() - true New Spring l @TestPropertySource - [위치] Test class 위에 사용 - [정의] 테스트시 사용할 properties를 설정 - [예시] @TestPropertySource(“classpath: application_test.properties”) - [용도] DB에 데이터가 남아 테스트가 실패하여 사용 Git l local to remo..

정리하기/DR 2022.03.17

[Daily Report] 22.03.11 - 스프링 책, mamacoco 이슈 발견

Memo Mamacoco 이슈 발견 l deletePost() 중 발생 - 삭제 메커니즘에서 문제가 발생한 것으로 보임 스프링 책 l 컴포넌트 스캔 - 직접 빈으로 등록하지 않고 @Component 애노테이션으로 등록 가능 - 스캔으로 자동 등록하지 않을 빈을 필터링 할 수 있음 - 자동 등록 빈과 수동 등록 빈이 충돌할 경우 수동 등록 빈이 우선순위가 높음 l 빈 라이프사이클 - 스프링 컨테이너는 초기화/종료 라이프사이클을 가짐 - 스프링 빈 객체는 생성 -> 의존 연결 -> 초기화 -> 소멸의 라이프사이클을 가짐 - 컨테이너 초기화시 빈을 생성, 의존 연결, 초기화를 진행, 종료시 소멸 진행 - 지정된 인터페이스를 상속받아 구현하면 메서드를 실행, 혹은 initMethod/destroyMethod로 ..

정리하기/DR 2022.03.11

[Daily Report] 22.03.08 - 의존 자동 주입, @Transactional과 JPA, 코테 복기

Memo Mamacoco 이슈 정리 l Category Parent - [환경] DB는 블로그에 종속된 정보를 분리하여 스키마를 설계 (ex. Category / TistoryCategory) - [환경] 따라서 새로운 TistoryCategory가 생기면 Category id가 생성됨 - [상황] 비교를 위해 Tistory API에서는 tCatId/tParent를, DB에서는 tCatId/Parent를 가져옴 - [비교] 비교해야하는 것은 카테고리의 Parent가 바뀌었는지 - [시나리오] 그런데 Parent가 새로 생성된 카테고리라서 CatId가 없다면? - 계속 정리하기… 스프링 책 l 의존 자동 주입 - @Autowired : 타입으로 찾음 - @Qualifier - 상속 주의 - @Autowir..

정리하기/DR 2022.03.09

[Daily Report] 22.03.04 - 스프링 책 chap.3 / 스프링 인강 17~20강

Memo 스프링 책 l 챕터 3 복습 - [주제] DI – 의존 주입 - [요약1] 의존하는 객체를 직접 생성하지 않고 사용 - [요약1] 객체를 생성하여 주입시켜주는 객체를 어셈블러라고 함 - [요약2] 스프링 또한 어셈블러 역할 - [요약2] DI의 2가지 방식 (생성자, setter) - [요약2] @Autowired로 등록된 빈을 자동으로 주입 l 챕터 3 - @Import - getBean() 스프링 인강 l 17~20강 - Jdbc와 H2를 이용한 회원 등록/조회 - MemoryMemberRepository에서 JdbcMemberRepository로 설정 클래스를 통해 쉽게 바꿈 - Open-Close Principle 확장엔 Open, 수정엔 Close New Intellij 단축키 l 파일..

정리하기/DR 2022.03.05