deploy spark application
28 March 2020
이전 시간에 만든 예제로 spark application을 실행하는 예제를 살펴보도록 하겠습니다. 예제에서 sbt package로 jar를 생성해주면, target/scala-2.11/spark_kafka_2.11-0.1.jar와 비슷한 위치,이름으로 jar가 생성되는 것을 확인할 수 있습니다. 해당 jar를 spark cluster로 복사해 아래와 같이 실행해줍니다.
read morefrom csv to kafka by spark
28 March 2020
Spark를 통해 csv파일을 읽고, 해당 내용을 다시 kafka로 write하는 예제를 알아보도록 하겠습니다. 먼저 아래와 같이 sbt 파일에 dependency를 추가해주도록 합니다. - build.sbt
read morepivotal summit 2019 seoul 후기
19 November 2019
pivotal summit 2019 seoul에 참관하여 세션을 들을 기회가 있어, 오늘 참석하게 되었습니다. 오전은 business 관련이라, 오후에 technical 세션만 참가하여 연사들의 session을 청취하였습니다. 그 중에서 기억에 남는 세션에 관련하여 후기를 적어보도록 하겠습니다. - Spring into kubernetes kubernetes와 docker의 기본 기능을 소개하고, 어떻게 사용이 가능한지 기본 동작을 시연하였습니다. pod, service, volume의 개념 소개 및 container를 배포하고 kubernetes의 동작을 live coding을 통해 알아볼 수 있었습니다. 그리고 spring-cloud-kubernetes를 통해서, 쉽게 kubernetes와 연동되는 application을 배포하고, circuit breaker 연동, ribbon client를 통한 client-side loadbalancing를 확인 할 수 있었습니다. - Diving into reactive 기본적인 reactive 컨셉 설명과 live coding을 통한 예제 설명이 이어졌습니다. pivotal이 주최하는 spring 관련...
read moresong recommendation system by spark
16 November 2019
cassandra에 노래와 사용자가 선호하는 노래의 정보가 들어있는 상태에서 성향이 비슷한 유저가 듣는 노래를 종합해 추천하는 시스템을 만들어보도록 하겠습니다. 먼저 아래와 같이 해당 곡들의 id를 모아 저장할 accumulator를 만들어줍니다.
read morespark로 cassandra table scan
10 November 2019
spark와 cassandra가 서로 연동되어 있는 상태에서, spark를 통해서 cassandra에서 scan하는 예제를 알아보도록 하겠습니다. 먼저 아래와 같이 intellij에서 scala project를 만들어주고 sbt를 통해 dependency를 설정해주도록 합니다.
read morespark로 cassandra insert
09 November 2019
spark와 cassandra가 서로 연동되어 있는 상태에서, spark를 통해서 cassandra에 insert 하는 예제를 알아보도록 하겠습니다. 먼저 아래와 같이 keyspace를 만들어주고, 현재 빌보드를 참고하여 10곡의 노래를 cassandra에 insert구문을 통해 넣어주도록 합니다.
read moredocker로 spark cassandra 연동하기
04 November 2019
먼저 cassandra docker를 다운로드 받도록 합니다. DockerHub에 공식 이미지가 있으니, 아래와 같은 방법으로 다운로드가 가능합니다.
read moreazure image recognition
27 October 2019
먼저 MS Azure에 가입하고, computer-vision에도 구독을 추가하도록 합니다. 그 이후, 본인의 cognitive-service의 subscription key를 확인하고, 해당 key를 통해 아래와 같이 request call을 호출합니다.
read moreazure image recognition by local
27 October 2019
먼저 MS Azure에 가입하고, computer-vision에도 구독을 추가하도록 합니다. 그 이후, 본인의 cognitive-service의 subscription key를 확인하고, 해당 key를 통해 아래와 같이 request 를 해주도록 합니다.
read moreelasticsearch apm 설치 - Docker
05 October 2019
docker를 통해 elasticsearch APM 서버를 연동하는 법을 알아보도록 하겠습니다. 해당 서버를 띄우기 위해서는 elasticsearch, kibana, elasticsearch APM 서버가 필요합니다. 세가지 서버가 서로 연동되어야 하기 때문에, docker network를 생성해주고 해당 network 안에서 서로 호출이 가능하도록 설정합니다.
read moredocker windows volume 설정
01 October 2019
docker를 설치한 이후, 아래와 같이 virtualbox에서 공유 폴더 설정을 해주도록 합니다. 그 이후, 아래와 같이 Boot2Docker 설정을 해주도록 합니다.
read morekubernetes로 docker image 실행
24 September 2019
쿠버네티스를 사용하여 local에서 docker image를 생성하고 실행하는 방법입니다. 가장 먼저, minikube와 kubectl을 다운로드받고, docker도 local에 설치해줍니다. 이후, 아래와 같이 순서대로 명령어를 실행해주면, application이 배포되고 실행되는 것을 확인할 수 있습니다.
read moregitlab CI/CD 설정
21 September 2019
gitlab에서 .gitlab-ci.yml 파일을 이용해 CI/CD를 설정하는 방법입니다. - .gitlab-ci.yml image: gradle:5.6.2-jdk8
read moreLoose-Coupled with Framework
07 September 2019
실제 서비스의 업무 규칙과 Framework을 독립적으로 만드는 예제입니다. 이번 예제에서는 Spring과 ratpack 두가지의 framework를 사용하여 만들어 보도록 합니다. 전체적인 구조는 아래와 같이 구성하도록 합니다. 유저의 입력을 받는 각각의 controller [SpringController, RatpackHandler] 실제 업무 규칙만을 포함한 TaskRule [ logService로부터 값을 받아와 TaskRuleService에서 값을 return ] logService를 각각 구현한 Framework의 logService 구현체 [SpringLogServiceImpl, RatpackLogServiceImple] 위와 같이 구현하게 되면 실제 기능을 담당하는 TaskRule은 Framework에 영향을 받지 않고, 동작이 가능하게 됩니다. Spring과 Ratpack에서 각각 위 component를 맵핑하는 코드는 아래와 같이 설정되게 됩니다. - SpringApp.java package org.test.shashaka;
read moreDockerFile 설정
17 August 2019
Docker에서 ubuntu 최신 버전을 이용해, 각종 설치를 진행하는 예제입니다. 아래 예제에서는 java8 및 kafka, spark, cassandra를 설치해보도록 하겠습니다. 먼저 빈 폴더를 만들어준 후, 아래와 같이 DockerFile 을 생성해주도록 합니다. DockerFile:
read moreSigning HTTP Messages
28 July 2019
개요 HTTP 프로토콜을 사용하여 인터넷을 통해 통신을 하는 경우,서버 또는 클라이언트는 특정 메시지에 대해 보낸 사람을 인증하는 것이 바람직합니다. 또한, 전송 중에 메시지가 변조되지 않았는지 확인하는 것 역시 권장됩니다. 이 문서에서는 서버와 클라이언트가 디지털 서명을 사용하여 HTTP 메시지에 인증 및 메시지 무결성을 동시에 추가하는 방법에 대해 설명합니다.
read more