일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Angular2
- 도메인주도설계
- Spring XD
- spark
- Gradle
- nginx
- Clean Code
- apache storm
- 인텔리J
- elastic search
- SBT
- elasticsearch
- 제주
- docker
- DDD
- Storm
- Java
- hibernate
- Hbase
- design pattern
- Spring Boot
- hadoop
- Linux
- hdfs
- scala
- 엘라스틱서치
- Spring
- 스프링 배치
- Spring Batch
- intellij
- Today
- Total
목록Programming (139)
욱'S 노트
개요애로우의 목적은 관용적인(idiomatic) 함수형 프로그래밍을 코틀린에 적용하는 것을 목표로 한다. 애로우는 다른 함수형 프로그래밍 커뮤니티에서 만들어진 라이브러리들의 영향을 받았다.설정설정은 gralde기반으로 일단 정리해보았다. 디펜던시 추가dependencies { implementation("io.arrow-kt:arrow-core:1.2.1") implementation("io.arrow-kt:arrow-fx-coroutines:1.2.1")} 플러그인 설정옵틱을 위한 플러그인 설정이다. 이 플러그인은 KSP(Kotlin Symbol Processing는 경량 컴파일러 플러그인.) 기반으로 만들어 졌다.plugins { id("com.google.devtools.ksp") ver..
개요Tomcat 내부 동작을 디버깅 하기 위해서 Embedded Tomcat을 이용한 내용을 정리해보록 하겠다. 기존 톰캣 서버를 설치하고, Servlet등의 테스트를 한다면 Servlet에서 디버깅 브레이크 포인트를 잡고, 스택 트레이스를 확인 할 수는 있지만 실제 톰캣이 사용하는 라이브러리등은 직접 접근하기는 어렵다. 더욱 세밀한 디버깅을 위해 Embbeded Tomcat을 활용하는 방법을 알아보자. 기존 외부 톰캣을 활용하는 방식은 아래 글을 참고하자. https://opennote46.tistory.com/257 IntelliJ Tomcat 기반 서블릿 테스트개요Servlet 3.1을 구동원리를 파악해보기 위한 사전 작업 설정에 대한 포스팅이다. 항상 스프링 스타터 혹은 고수준의 프레임워크를 경험..
개요어제는 일단 인텔리J기반에서 서블릿을 실행해보았다. 애초에 목적이 Servlet 3.1이 어떻게 동작하는지 알아보기 위함이므로 아주 간단한 Servlet 3.1 예제를 작성해보자. https://opennote46.tistory.com/257 IntelliJ Tomcat 기반 서블릿 테스트개요Servlet 3.1을 구동원리를 파악해보기 위한 사전 작업 설정에 대한 포스팅이다. 항상 스프링 스타터 혹은 고수준의 프레임워크를 경험하다보니 의외로 세팅에 삽질을 하게 되어서 간단하게 서opennote46.tistory.com Servlet 3.1 예제 작성생각보다 Servlet 3.1 예제가 많지 않다. 오라클 공식 사이트에 있는 예제를 기반으로 작성해보았다.먼저 데이터를 읽을때 사용하는 ReadListen..
개요Servlet 3.1을 구동원리를 파악해보기 위한 사전 작업 설정에 대한 포스팅이다. 항상 스프링 스타터 혹은 고수준의 프레임워크를 경험하다보니 의외로 세팅에 삽질을 하게 되어서 간단하게 서블릿테스트를 하는 방법에 대해서 포스팅을 해보겠다.테스트 환경 Idea : 2024.3Tomcat : 10.1.34Servlet : 6.0 순서톰캣 설치서블릿은 스펙이지 구현체가 아니다. 그러므로 우리는 서블릿을 실행할 서블릿 컨테이너가 필요하다. 최신 버전 톰캣을 설치하자. 나는 core에 tar볼 형태를 설치하였고, 적절한 위치에 tar 압축을 해제하였다. https://tomcat.apache.org/download-10.cgi Apache Tomcat® - Apache Tomcat 10 Software Do..
각 컴포넌트 설치elasticsearch & logstash & filebeat 설치설치는 간단하다. 자세한 설명은 하지 않겠다. elastic 공식 사이트로 접속하여 스테이블한 tar파일을 받아서 로컬의 적절한 경로에 압축 해제 하면 된다. 각 컴포넌트 구동 및 설정elasticsearch 구동결과적으로 elasticsearch에 데이터를 저장하므로 먼저 elasticsearch를 구동한다. 가장 심플하게 설치디렉토리로 가서 아래의 커맨드로 구동한다../elasticsearchingestion with filebeatfilebeat는 파일의 변경을 수집하여 logstash로 전달하는 역할을 담당한다. 가장 filebeat를 압축해제한 디렉토리를 보면 filebeat.yml 설정파일이 존재하는데 다음과 ..
어플리케이션 서브밋 스파크 서브밋 스크립트는 스파크 bin 디렉토리 하위에 위치하며 클러스터 상에 어플리케이션을 구동하기 위해서 사용된다. 해당 스크립트는 스파크가 지원하는 모든 클러스터 매니저에서 사용되며 모든 클러스터에 대한 단일한 인터페이스를 제공한다. 어플리케이션 번들 일반적으로 어플리케이션은 다른 프로젝트에 디펜던시를 가진다. 그리고 우리는 스파크 클러스터에 어플리케이션을 구동하기위해 코드 뿐만 아니라 그 디펜던시도 필요하다. 이를 위해 어플리케이션 코드와 디펜던시는 함께 assembly jar(혹은 uber jar)로 함께 패키징되어야 하며, 그 방법은 sbt, maven 등 다양한 빌드툴에서 제공한다. 해당 내용은 여기서 다루지 않겠다. 어플리케이션 구동하기 어플리케이션 번들이 준비되면 bi..
플러그인이란 무엇인가? 플러그인은 공통적으로 사용할 수 있는 확장된 빌드 정의이다. 새로운 세팅은 새로운 타스크를 만들수 있다. 예를 들어 플러그인을 추가함으로써 codeCoverage 타스크를 추가할 수 있다. 이를 통해 테스트 커버리지 리포트를 생성할 수 있다. 플러그인 정의하기 hello라는 프로젝트가 있다고 가정하고 플러그인을 추가하고 싶다면 먼저 hello/project/assembly.sbt라는 파일을 생성하고 해당 파일에 아래와 같이 기입한다. 또 한가지 방법으로는 hello/project/plugins.sbt에 아래와 같이 기입해도 된다. addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.4") 또 주의할 점은 모든 플러그인이 기본 리파지토리에 ..
연관된 서브프로젝트들을 하나의 빌드로 유지할 수 있다. 각 서브프로젝트들은 자신만의 소스 디렉토리를 가지고 있고 패키징을 수행하면 각각의 jar 파일이 생성된다. 프로젝트는 Project 타입의 lazy 값으로 정의된다. 예를들면 다음과 같다. lazy val util = (project in file("util")) lazy val core = (project in file("core")) val의 이름은 서브 프로젝트의 아이디로 사용된다. 공통 세팅 멀티 프로젝트를 위한 공통 세팅은 아래와 같이 적용할 수 있다. lazy val commonSettings = Seq( organization := "com.example", version := "0.1.0-SNAPSHOT", scalaVersion :=..
라이브러리 디펜던시를 추가하는 방법에는 두가지 방법이 있다. unmanaged dependencies는 라이브러리는 lib 디렉토리에 저장하다. managed dependencies는 build definition에 설정하고 자동으로 리파지토리로부터 다운로드 된다. 대부분의 경우 managed dependencies를 사용하므로 사용법에 대해서 살펴보자. Managed Dependencies sbt에서는 기본적으로 Apache Ivy를 리파지토리로 사용한다. The libraryDependencies key 우리는 librayDependencies key에 디펜던시 리스트 추가함으로써 디펜던시 정의를 할 수 있다. libraryDependencies += groupID % artifactID % revi..
빌드정의 sbt version 빌드에서 사용할 sbt의 버전을 project/build.properties에 명시할 수 있다. sbt.version = 0.13.13 build definition build definition은 build.sbt 파일에 정의된다. 가장 기본적인 정의는 다음과 같다. lazy val root = (project in file(".")) .settings( name := "hello-sbt", organization := "com.example", scalaVersion := "2.12.1", version := "0.1.0-SNAPSHOT" ) 필요한 세팅 값을 아래와 같은 규칙에 따라 세팅한다. 좌측은 키이다. 오퍼레이터 이번 케이스는 := d이다. 우측은 바디라고 불린..