일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- intellij
- 제주
- hadoop
- docker
- Linux
- elasticsearch
- Storm
- Spring Batch
- Java
- Spring Boot
- design pattern
- spark
- Spring
- Angular2
- Spring XD
- 스프링 배치
- nginx
- Clean Code
- elastic search
- DDD
- hdfs
- hibernate
- Hbase
- Domain Driven Design
- Gradle
- 도메인주도설계
- apache storm
- SBT
- 엘라스틱서치
- scala
- Today
- Total
목록Programming (135)
욱'S 노트
클래스는 객체를 생성하기 위한 정적인 템플릿이다.class Point (var x : Int, var y : Int) { def move(dx : Int, dy : Int): Unit = { x = x + dx y = y + dy } override def toString : String = "(" + x + "," + y + ")" } 스칼라에서 클래스는 생성자 인자로 파라미터를 전달할 수 있다. 위 코드는 두개의 인자를 가진 생성자를 정의를 하고 있다. x 와 y는 클래스의 어디서든 접근을 할 수 있다.클래스는 또란 두개의 메소드를 포함하고 있는데 move 와 toString이다. move는 두개의 정수를 전달받아 x와 y값을 변경하고 리턴은 없다. 여기서 Unit이라는 키워드가 보이는데 자바와 같은..
스칼라에서는 모든 타입이 객체이다. 스칼라에서는 클래스 기반으로 타입정의를 하기 때문에 모든 값은 클래스의 객체이다.스칼라의 모든 클래스는 scala.Any의 서브클래스이다. 그리고 scala.Any를 직접적으로 상속받는 두 개의 클래스가 있는데, scala.AnyVal과 scala.AnyRef이다. 이름에서 연상되듯이 value 클래스와 reference 클래스이다. 모든 value 클래스들은 기정의되어 있으며 자바와 같은 언어의 프리미티브 타입과 유사하다. 나머지 모든 클래스는 reference 타입으로 정의된다. 만약 우리가 클래스를 정의한다면 기본적으로 레퍼런스 타입이며 scala.AnyRef의 서브 클래스가 된다. 모든 유저가 정의하는 클래스는 암묵적으로 scala.ScalaObject를 상속한..
스칼라는 현재적인 멀티-패러다임 프로그래밍 랭귀지이다. 정교하고 우아하며 타입-세이프한 일반적인 프로그래밍 패턴으로 표현한다. 스칼라는 객체지향언어다.스칼라는 순수한 객체지향 언어이며 이 의미는 모든 값은 객체라는 것이다. 타입과 객체의 행위는 클래스와 트래잇으로 표현된다. 클래스는 서브클래스에 의해 확장될 수 있고 다중 상속을 깔끔하게 대체하는 유연한 믹스인-기반 컴포지션 메커니즘을 지원한다. 스칼라는 함수형언어다.스칼라는 또한 함수형 언어다. 이 의미는 모든 함수는 값이라는 것을 의미한다. 스칼라는 익명 함수를 정의하기 위한 가벼운 문법을 제공한다. 하이오더 함수를 지원하며 함수의 중첩 및 커링을 지원한다. 스칼라의 케이스 클래스들과 많은 함수형 언어에서 사용중인 패턴 매칭 모델 대수학 타입을 빌트인..
유저가 링크를 클릭하거나 버튼을 눌렀을때 혹은 텍스트를 입력했을때, 우리는 그것에 대해 알고 싶을때가 있다. 이러한 유저 액션은 DOM 이벤트로서 일어난다. 이번 챕터에서는 Angular 이벤트 바인딩 문법을 활용해 이러한 이벤트를 처리하는 방법에 대해서 알아보자. 유저 입력 이벤트 바인딩우리는 DOM 이벤트에 응답하는 Angular 이벤트 바인딩을 사용할 수 있다.문법은 간단하다. DOM 이벤트명을 괄호로 둘러싸고 템플릿 문장으로 할당하면 된다. 다음 예는 click hander를 구현하기 위해 이벤트 바인딩을 한 예이다.Click me! (click)은 바인딩의 타겟을 의미한다. 따옴표안의 문자는 오른편은 컴포넌트 이벤트의 응답으로 컴포넌트 메소드 onClickMe를 할당했다는 것을 의미한다. 바인딩..
우리는 Angular 컴포넌트의 프로퍼티들을 HTML template에 표현하기 데이터를 바인딩할 수 있다. 이 예제를 따라하기 위해서는 먼저 quick-start를 설치해야 한다. angular 공식 사이트를 방문하여 quick-start를 먼저 설치하기를 바란다. 히어로 리스트들을 출력하는 페이지를 만들어 볼 것이다. 최종 UI는 다음과 같다. 보여지는 컴포넌트에 프로퍼티 삽입하기컴포넌트 프로퍼티를 출력하기 위한 가장 쉬운 방법은 삽입을 이용해서 프로퍼티 이름을 주입하는 방법이다. 삽입을 위해 view 템플릿에 프로퍼티 이름을 명시하자. {{myHero}}app.component.ts 파일을 아래와 같이 변경해보자.import { Component } from '@angular/core';@Compo..
Angular는 HTML과 JavaScript나 JavaScript로 컴파일될 수 있는 다른 언어(Dart or TypeScript)로된 클라이언트 어플리케이션을 생성하기 위한 프레임워크이다. 프레임워크는 몇몇의 라이브러리로 구성되는데, 코어와 몇몇의 옵션 라이브러리들이다.당신은 Angularized 마크업으로 HTML 템플릿을 구성하고 그러한 템플릿을 관리하기 위해 컴포넌트 클래스를 작성하고 서비스의 어플리케이션 로직을 추가하고 모듈내의 서비스와 컴포넌트를 boxing한다.그렇게하면 루트 모듈이 기동되어 당신의 어플리케이션이 기동된다. Angular는 당신의 어플리케이션 컨텐츠를 브라우저에 표시하고 당신이 제공한 지시에 따라 사용자 상호작용에 응답한다.물론 이것보다 더 많은 것들이 있다. 자세한 내용은..
몇개월전 springframework.org에서는 어떠한 기능들을 사용하고 어떻게 해당 기능들을 사용하는지 설문조사를 하고 피드백을 받았다. 첫번째 질문은 required 디펜던시를 체크하는 것이고 어떠한 메커니즘을 활용하는 것이었다. 그런 다음 트랜잭션 관리 전략에 대해서도 물었다. 첫번째 설문에 대해선 @Required 어노테이션을 사용한다는 답변이 가장 많았고 두번째 설문에서는 @Transactional 어노테이션을 사용한다는 답변이 가장 많았다. 아래는 첫번째 설문에 대한 응답 결과이다. 두번째 설문의 경우 약 30% 응답자가 Transactional 어노테이션을 사용한다고 하였다. Required 디펜던시를 체크하는 방법 8%비즈니스 로직에서 체크한다.9% init-method를 사용하고 ass..
Introduction 다수의 어플리케이션에 대한 로드 밸런싱은 일반적으로 optimizing resource utilization, maximizing throughput, reducing latency, ensuring fault-tolerant configurations과 같은 기술들을 사용한다. nginx를 사용하면 매우 효율적인 HTTP 로드 밸런싱을 수행할 수 있다. 다수의 어플리케이션의 트래픽을 분산시켜서 성능, 확장성 그리고 신뢰성을 증대시킨다. Load balancing methods 다음은 nginx에 지원하는 로드밸런싱 메커니즘이다.round-robin — 라운드 로빈으로 요청을 어플리케이션에 할당 한다.least-connected — 다음 요청이 수행중인 연결이 가장 적은 서버로 할..
이번 가이드는 nginx에 대한 기본적인 소개와 단순한 작업들을 어떻게 수행하는지에 대해 담고 있다. 먼저 nginx는 독자의 머신에 이미 설치되어 있다고 가정한다. 만약 그렇지 않다면 설치 페이지를 참조하라. 이번 가이드는 nginx을 어떻게 시작하고 중지하는지 그리고 설정을 어떻게 리로드 하는지에 대해 설명한다. 그리고 설정 파일의 구조와 static 컨텐츠를 서비스하기 위해 설정하는 방법, nginx를 프록시 서버로 설정하는 방법등을 다룬다. nginx는 하나의 마스터 프로세스와 몇몇의 워커 프로세스를 가진다. 마스터 프로세스의 주요 목적인 설정을 읽고 해석하는 것이다. 그리고 워커 프로세스를 유지한다. 워커 프로세스는 요청의 실제적인 처리를 수행한다. 워커 프로세스의 수는 설정 파일에 정의되며 고..
도메인 서비스를 활용하여 운영툴 사이트에 접속하기 위해서 웹서버를 설치해보겠다. apache와 nginx를 고민하다가 일단 nginx로 한다. 왜냐 새로운 거니까. 사이트에 가서 설치 방법을 알아본다. 1. YUM을 사용하기 위해 YUM 리파지토리를 설정해보자./etc/yum.repos.d/nginx.repo 파일을 생성하고 아래의 내용을 적어넣자.[nginx]name=nginx repo baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/ gpgcheck=0 enabled=1 2. 다음 잘 설정이 되었는지 확인해보자. 설정이 잘 되었다면 nginx가 조회될 것이다.$ yum search nginx Loaded plugins: fastestmirror R..