Taes-k DevLog
  • Review
  • 요령과 기본(Spring)

자바 람다식

(해당 포스팅은 자바 프로그래밍에는 익숙하지만, java8부터 지원하는 함수형 프로그래밍에 대해서는 미숙한 독자분들을 대상으로 합니다.) Lambda Expression java8 부터는 람다표현식(람다식)을 지원합니다. 아마도 java8 이전버전을 사용하시던 분이라면 람다식이 익숙하지 않으실 수 있는데 사실 람다식, 또는 람다함수는 java8에서...

21 Jan 2020

Tomcat 쓰레드 설정

Tomcat 과 쓰레드 WAS의 종류중 하나인 Tomcat은 기본적으로 접근하는 request들에 대해 Thread를 할당하여 작업을 수행하도록 해줍니다. 해당 작업을 위해서 Thread pool을 사용하여 쓰레드를 재사용 할 수 있게 해주고 max-thread, connection timeout 등의 설정을 사용자가 직접...

13 Jan 2020

clean Git-flow 소개

들어가기에 앞서 해당 포스트는 현재 저희팀에서 사용하고있는 Git flow를 소개하고자 합니다. 저희팀의 git flow는 GitHub flow, GitLab flow의 장점들을 합친 모델을 사용중입니다. (참고 1. GitHub flow, GitLab flow 요약) (참고 2. Git flow) Git branch...

07 Jan 2020

Kafka 시작하기

Kafka Apache Kafka is a community distributed event streaming platform capable of handling trillions of events a day. Initially conceived as a messaging queue, Kafka is based on an abstraction of a distributed commit log....

02 Jan 2020

Vertica + Kafka 연동하기

개요 Message producer - Kafka - Vertica 위와 같은 아키텍쳐가 있다고 가정했을때, 딱 보면 데이터들이 Kafka를 통해 들어오게되고 이를 Vertica DB에 저장하려고 하는 목적임을 아실수 있으실것 같습니다. 일반적인 구성으로는 producer - kafka - consumer -...

27 Dec 2019

Jira를 통해 스크럼 관리하기

들어가기에 앞서 스크럼을 적용하는데 있어서 어디서나, 어떤팀에서나 딱 알맞는 형태의 스크럼은 없습니다. 스크럼의 기본인 ‘점진적 개발’을 목표로 회고를 하며 우리팀의 상황에 맞게끔 스크럼을 점점 변형시켜 나가면서 case by team 으로 맞추어 나가야 합니다. 이 포스팅은...

07 Dec 2019

Agile 스크럼

용어정리 스크럼 : 점진적 개발 방법론 스프린트 : 반복적 개발 단위로, 스크럼을 완성하기 위한 주기적인(1-4주 정도의 기간) 수행의 단위 백로그 : 대략적인 할 일 목록 (요구사항 정의서, user story) user story : Actor + UseCase...

06 Dec 2019

Spring OAuth2 사용시 cors 설정

CORS Cross Origin Resource Sharing(CORS)는 이름에서 알 수 있듯이 Origin (출처)를 교차하여 자원을 공유한다는 뜻으로, 도메인혹은 포트가 다른 서비스의 자원을 요청하는 내용을 담고 있습니다. 일반적으로 자바스크립트에서는 Same origin policy (동일 출처 정책) 보안 정책을 가지고있어,...

05 Dec 2019

Spring, java connection에 대한 고찰

개요 MSA 프로젝트를 진행하면서 Java, Spring에서 제공하는 다양한 Connection tool들을 이용해 통신을 진행하는데, 이때 실제 Connection들이 어떻게 일어나고 있는지 알아보도록 하겠습니다. Connection Tomcat WAS 와 연결할때는 기본적으로 소켓 통신으로 Connection을 설정합니다. Connection close & timeout...

27 Nov 2019

Spring restTemplate connection reset error

에러 환경 Java8 Spring boot 2.1.7.RELEASE Spring batch 에러 상황 [원부-배치-속성] 인스턴스에서 배치 종료에 대한 메시지를 MS-Teams 채널로 보내는 상황에서 에러 발생, 시작시에는 문제 없음. 배치 시작시 1회 connection 이후, 1시간뒤 connection이 일어날때 에러 발생...

25 Nov 2019

Spring annotation @Component, @Configuration

개요 Spring 프로젝트를 진행하면서 Bean으로 등록하기위해 @Component, @Configuration, @Controller … 등의 여러 어노테이션을 사용합니다. 그중에서도 @Component와 @Configuration은 사용상에 있어 차이가 있는데, 정확히 어떠한 차이로 이 어노테이션들을 구분하여 사용하는지 알아보도록 하겠습니다. Spring Bean Bean : Spring...

22 Nov 2019

Mysql hint

(이 내용은 mysql 5.7 version 기준으로 작성되었습니다.) Optimizer Hint 쿼리실행 최적화를 위해 선작업으로 징행되는 옵티마이저에게 specific한 쿼리 플랜을 정해주기 위하여 설정을 해 줄수 있습니다. 이때 사용되는것이 Optimizer hint이며, 쿼리 구문별로 정의하는 hint를 통해서 Optimizer를 control...

22 Nov 2019

칼럼기반 DB, Vertica

칼럼기반 Database 학번 이름 전화번호 101 김하나 010-1111-1111 102 이둘 010-2222-2222 103 석삼 010-3333-3333 위와같은 예제 데이터 테이블이 있다고 가정할때, Row base/ Column base DB가 각각 어떤식으로 데이터를 저장하는지 알아보도록 하겠습니다. 로우 기반 DB data...

20 Nov 2019

Spring restTemplate UrlEncoding

개요 RestTemplate을 사용하면서, request 파라미터를 설정시에 URL Encoding을 통해서 파라미터를 넘기는 케이스가 자주 있으실겁니다. 하지만 이때, 주의해야할 사항이 있습니다. 문제의 코드 String accessUrl = String.format("%s?keyword=%s&attribute=%s&testTarget=quality", wmpSearchApiUrl, URLEncoder.encode(keyword,"UTF-8"), URLEncoder.encode(attributeElement,"UTF-8")); RestTemplate restTemplate = new RestTemplate(); JsonNode jsonNode...

15 Nov 2019

MySql Explain (실행계획)

MySQL Explain Explain을 실행했을시 다음과같은 화면이 보여집니다. 각 칼럼이 의미하는 내용들을 확인해보도록 하겠습니다. id 쿼리에 포함된 각 select 문에 대한 순차 식별자 select 항목을 구분하는 번호 동일한 ID의 경우 위에서 아래로 진행됩니다. table 항목이 “derived2”인경우...

11 Nov 2019
Previous
Next
cobura12@gmail.com