개발지식 아카이브
-
[ELK Logstash] config 파일 작성 예시 - input, filter, output개발지식 아카이브/ETC 2022. 2. 20. 18:29
Logstash ELK의 한 축 을 담당하는 Logstash는 오픈소스 데이터 수집 엔진입니다. 다양한 경로로 원천 데이터를 가져와서 가공해서 내보내는 역할을 합니다. ELK의 한 스택으로 쓰일 때에는 주로 데이터를 읽어 들이고 Elastic Search로 내보내는 파이프라인의 역할을 합니다. Config 파일 작성 로그스태시를 기동 할 때에 실행할 데이터 파이프라인에 대한 설정을 미리 작성해둔 것이 conf 파일입니다. Conf 파일은 입력, 필터, 출력 3 단계로 구성합니다. 이 중 필터 단계는 생략해도 무방합니다. Input plugin 예시 reference: https://www.elastic.co/guide/en/logstash/current/input-plugins.html Input plu..
-
맥 Numbers 앱에서 환율 / 주식 함수 사용하기 (STOCK, CURRENCY)개발지식 아카이브/ETC 2021. 5. 8. 10:30
Overview 맥북 사용자라면 모두 Numbers, Pages와 같은 앱을 디폴트로 가지고 있다. 생산성 면에서 월등히 앞서는 구글 시트, 엑셀 때문에 사용자가 무척 적은 것 같다. 이 함수에 대한 설명을 찾기가 어려웠던 걸 보면... 그렇지만 Number 앱에서도 엑셀에서처럼 환율, 주식 함수를 사용할 수 있다! 주식 함수 사용하기 코스피에 상장된 휠라홀딩스라는 종목의 가격, 배당을 확인하고 싶다면? 1. 빈 셀에 특수문자 = (equals) 를 입력한다. 그러면 아래와 같은 함수 팝업창이 나타난다. 2. 함수 팝업창에 아래 코드를 입력한다. STOCK("{종목코드}.{시장코드}",0) 휠라홀딩스의 종목코드는 081660이고 코스피에 상장되어 있으므로, 이렇게 입력한다. STOCK("081660.KS..
-
[Java Stream] GroupingBy 를 이용한 그룹화 예시 소개개발지식 아카이브/JAVA 2021. 2. 15. 08:55
Introduction Java 8에서 처음 도입된 스트림은 데이터 집합을 처리할 수 있는 반복자 역할을 수행한다. 스트림의 연산은 filter, map과 같이 중간 연산자와, collect와 같은 최종 연산자로 구분된다. 이 포스팅에서는 최종 연산자 collect 의 Collector 인터페이스를 구현하여 그룹화하는 다양한 방법에 대해 다룬다. 그룹화 Stream GroupingBy 를 이용하면 데이터 집합을 하나 이상의 특성으로 분류, 그룹화하는 연산을 쉽게 수행할 수 있다. 아래와 같은 데이터 셋을 가지고 그룹화를 연습해보자. 나라 도시 거주자 이름 한국 서울 홍길동 한국 서울 임영웅 한국 부산 김태희 중국 베이징 왕서방 미국 보스턴 미셸 미국 엘에이 마이클 미국 엘에이 케이트 이 데이터를 담을 클..
-
Groovy Spock 을 쓰는 이유, 코드 작성 예시 소개개발지식 아카이브/ETC 2021. 2. 15. 08:45
목차 1. Spock의 소개 2. Spock 시작하기 3. Spock 으로 테스트 코드 작성 예시 1. Spock Introduction Spock의 특징 개발에서 테스트 코드의 중요성은 아무리 강조해도 지나치지 않습니다. 훌륭한 테스트 코드 프레임워크라면, 사용자가 다양한 케이스의 검증을 구현할 수 있게 도와줌으로써, 보다 적은 힘을 들여 Code Coverage를 높일 수 있게 기여해야 합니다. Java 진영의 대표적인 테스트 코드 프레임워크인 JUnit 은 TDD 기반인 것에 비해, Spock 은 BDD 기반입니다. TDD 는 테스트 자체에 집중하여 개발하는 방식인 반면, BDD는 비즈니스 요구사항에 집중하여 테스트 케이스를 개발하게 됩니다. BDD는 전개도 사용자가 직관적으로 알 수 있도록 자연어..
-
logstash 'unknown setting *** for jdbc' 에러 메시지개발지식 아카이브/ETC 2020. 12. 7. 22:34
로그스태쉬 파이프라인을 기동하는 과정에서 도커 이미지에 내장된 jdbc input 플러그인을 그대로 사용했는데, 기동시에 아래와 같은 에러 메시지가 보였다. 'Unknown setting 'use_prepared_statements' for jdbc 'Unknown setting 'prepared_statement_bind_values' for jdbc 'Unknown setting 'prepared_statement_name' for jdbc 원인을 몰라서 jdbc 드라이버 버전을 바꿔 보기도 하고, 플러그인 설치 커맨드도 추가하고, 로그스태쉬 버전도 점검하고 했는데, 원인은 jdbc 플러그인이 Prepared Statement 쿼리를 지원하지 않는 버전인 탓이었다. 업그레이드 명령어를 실행하여 해결할..
-
[Json] gson, Jackson 컨버터의 null 필드 처리 방법개발지식 아카이브/JAVA 2020. 10. 31. 13:42
RestTemplate 의 기본 컨버터인 Jackson 컨버터의 null 필드를 처리하는 방법이 요즘 많이 쓰이는 gson 컨버터의 처리 방법과 다르다는 것을 발견하고 포스팅으로 남긴다. dto: Stock(id=1, code=005560, name=JS전선, market=null) 가령 이런 데이터를 가진 dto 를 json 형식으로 변환하고 싶은 상황이다. 이 때 'market' 필드는 null 값을 가진다. log.info("dto: {}", stock); # converting log.info("json by Gson converter: {}", gson.toJson(stock)); log.info("json by Jackson converter: {}", objectMapper.writeValu..
-
[Spring Boot2] 스프링 부트2로 애플리케이션 개발: 환경설정개발지식 아카이브/JAVA 2020. 7. 11. 12:29
목차 인프라 셋업 JDK 14 설치 (By Homebrew) $ brew update $ brew tap adoptopenjdk/openjdk $ brew cask install adoptopenjdk14 $ java -version home brew 사용자는 위와 같이 JDK14 를 설치한다. oracleJdk는 오라클에서 직접 다운로드로 설치만 가능하다. https://www.oracle.com/java/technologies/javase-downloads.html IDE 설치 (IntelliJ) JetBrain 사의 IntelliJ를 추천한다. Spirng Boot와 IntelliJ는 궁합이 좋다. 나는 이 포스팅을 작성하며 ULTIMATE 2020.1.3 버전으로 업그레이드 했다. MySql 설치..
-
[R 회귀분석 예제] 야구선수 연봉에 영향을 미치는 요인 (Linear Regression)개발지식 아카이브/Data - ETC 2020. 6. 21. 11:19
목표 어떤 요소가 야구선수의 연봉에 영향을 미칠까 ? 목차 1. 데이터 분석 2. 데이터 클리닝 3. 변수 선택 3.1 Approaches 3.2 The Best Subset Approach 3.3 Stepwise Approach 과정 1. 데이터 분석 install.packages("ISLR") library(ISLR) dim(Hitters) head(Hitters) summary(Hitters) 야구선수들의 스펙정보와 연봉정보를 제공하는 통계 패키지 ISLR을 이용합니다. 패키지를 설치 후, 임포트해줍니다. 총 263개의 샘플에 20개의 예측 변수를 가진 데이터입니다. 샘플 몇 개를 볼까요. 결과에 영향을 미칠것이라고 가정하고 있는 예측 변수(Predictor Variables)들을 먼저 보면, Le..