일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 상속예제
- Login with OAuth Authentication
- 업캐스팅
- Random
- while
- 전체
- 다형성
- 상속
- 야구게임
- 다운캐스팅
- 추상클래스
- jquery
- Full text
- 가변인자
- 이클립스
- full text indexing
- 25가지 효율적인 sql작성법
- 자바 야구게임
- 단축키
- IBatis procedure
- Validations
- 페이징
- 전체텍스트
- 전자정부
- 로또
- 형변환
- Today
- Total
목록분류 전체보기 (448)
nalaolla
목차 Dockerfile Docker build Docker run Dockerfile 첫번째로 도커가 이해 할 수 있는 Dockerfile이라는 것을 만들어 줘야 한다. 이 파일에 필요한 디펜던시 예를들어 우리와 같은 경우 어떤 자바를 사용 할 것인지, 어떤 어플리케이션(.jar)를 사용 할 것인지, 어떤 명령어로 이 도커 컨테이너를 실행시켜야 되는지에 대해 명시해야 한다. 일단 프로젝트 root 디렉토리에 Dockerfile을 만들자. Dockerfile의 내부는 다음과 같다. # Start with a base image containing Java runtime FROM java:8 # Add Author info LABEL maintainer="f.softwareengineer@gmail.com..
1. 어떻게 RabbitMQ를 접하게 되었는가..? 이번에 사내 프로젝트를 진행하면서, 많은 데이터 처리가 웹서버만으로 힘들기 때문에 여러 방법을 구상 중 이였습니다. 앞단에 로드밸런싱을 해볼까? 서버사이드에 분산은 되겠지만, DB가 버텨줄지 의문이였습니다. 기존 시스템 또한 DB가 말썽이였기 때문입니다. 또한 DB 사이드에 session을 무한정 늘릴 수도 없습니다. 그래서 선택하게 된 것이 메시지큐입니다. 이미 몇 년전부터 많은 기업에서 사용 중 이였고, DB 과부하는 충분히 커버되리라 생각되어 검토 후 사용해보기로 했습니다. 2. 왜 RabbitMQ인가? * RabbitMQ에서 플러그인 추가만으로 모니터링이 가능하다. * 빠른 편에 속한다. * 다양한 언어 지원하다. JAVA만이 아닌 다른 언어로도..
설치 Erlang 설치 RabbitMQ를 설치하기 위해서는 일단 Erlang을 설치해야 한다. RabbitMQ를 Erlang으로 해석해야하기 때문이다. http://www.erlang.org/downloads 여기서 받는다. 웬만하면 환경설정에 ERLANG_HOME이 자동으로 설정되지만, 없다면 윈도우 환경설정에 ERLANG_HOME에 Erlang이 설치돼있는 경로(ex. C:\Program Files\erl8.3)를 설정해주자. RabbitMQ Server 설치 그러고 나서 RabbitMQ Server를 설치하자. 우분투로 하면 그냥 받을 수 있을텐데..윈도우는 직접 받아야한다. http://www.rabbitmq.com/download.html RabbitMQ Command 실행 받고나면 윈도우 검색..
이번 장에서는 서비스 구축시 클라이언트에게 최적의 이미지를 제공하기 위해 필요한 이미지 처리서버를 구축해 보겠습니다. 현대의 서비스들은 웹, 모바일 웹, android, ios등 다양한 다양한 플랫폼으로 서비스가 되고 있습니다. 각각의 플랫폼은 같은 이미지라 하더라도 플랫폼별로 권장되는 최적의 이미지 사이즈가 있습니다. 원본 이미지 하나로는 플랫폼 전체를 커버할 수 없게 되었습니다. 따라서 원본 이미지로 다양한 사이즈의 썸네일을 만들어내거나, 각각의 이미지를 최적화 하여 서비스 하기 위한 이미지 솔루션이 필요하게 되었습니다. thumbor와 varnish를 이용하면 제법 쓸만한 이미지 처리서버의 구축이 가능합니다. 그 방법에 대해 실습해 보도록 하겠습니다. thumbor thumbor는 오픈소스 이미지 ..
소나큐브는 지속적으로 코드의 품질을 높이고 유지 보수하는데 도움을 주는 정적 분석 애플리케이션입니다. 분석 기능이 탁월하고 개선사항도 자세하게 안내해 줍니다. 간단하게는 코딩 컨벤션부터 코드의 잠재적인 위험 사항까지 안내해주어 올바른 코딩 습관과 코드의 품질향상에 많은 도움을 줍니다. Linux, Window, Mac 등 다양한 환경에서 모두 구동이 가능합니다. 20개가 넘는 프로그램 언어에 대한 코드 분석을 지원합니다. 개발된 코드의 품질을 어드민을 통해 확인해 볼 수 있고 지속적으로 관리가 가능합니다. 품질 게이트를 통해 표준화된 코드 품질 요구사항을 설정할 수 있습니다. Jenkins 같은 CI엔진과 통합되어 분석이 가능합니다. IDE와 연동되는 다수의 Plugin을 통해 분석이 가능합니다. 다운로..
이번장에서는 외부 리소스를 처리하는 방법에 대해 살펴보겠습니다. Angular는 통신을 위한 HttpClient 모듈을 제공하며, 이를 통해 외부 Rest 서버와 통신하여 리소스를 처리 할 수 있습니다. 외부 리소스 통신을 위한 Service 생성 외부 통신 로직을 각각의 Component에 포함시켜도 되지만, 외부리소스를 가져오는 부분은 공통된 로직으로 모아 한곳에서 처리할 수 있도록 하는것이 좋습니다. 따라서 Service를 하나 만들어 사용합니다. $ ng g s restapi app.module.ts에 선언 providers: [RestapiService] HttpClientModule 추가 Service에서 HttpClient를 사용하기 위해 app.module.ts에 HttpClientModu..
이번 장에서는 폼에 입력된 값의 유효성을 체크하는 방법에 대해 실습하겠습니다. Input 필드의 값 유효성 체크 ngModel을 사용해야 하므로 FormsModule을 app.module.ts에 선언합니다. // app.module.ts import { FormsModule } from '@angular/forms'; ... 생략 imports: [ FormsModule ] Component html파일에 다음과 같이 input을 선언합니다. Name field is required! [(ngModel)]은 양방향 바인딩을 하기 위해 사용됩니다. 예제에서는 괄호를 모두 없애고 ngModel만 사용하였는데 이렇게 사용하면 input에 validation이 적용됩니다. 예제에서는 required를 사용하여 ..
Angular 프레임웍에서 웹페이지는 컴포넌트의 집합으로 표시됩니다. 또한 웹페이지를 브라우저에서 출력하기 위해서는 유일한 URL이 필요합니다. Angular에서는 이렇게 유일한 URL과 컴포넌트 사이를 맵핑하는 기능을 제공하는데 이것을 Routing이라고 합니다. Angualr 프로젝트 생성 시에는 아래와 같이 Routing을 추가할 것인지 묻습니다. y를 입력하면 기본으로 Routing 설정 파일을 생성한 채로 프로젝트가 생성됩니다. $ ng new angular-starter ? Would you like to add Angular routing? (y/N) y 만약 생성시 Routing설정을 하지 않았다면 다음과 같이 수동으로 파일을 생성하고 app.module.ts에 추가해 줘야 합니다. // ..
Angular는 화면을 구성하는 최소 단위가 컴포넌트입니다. 클라이언트에게 보이는 최종 화면은 하나의 html로 보이지만, 내부적으로는 여러 개의 컴포넌트들로 이루어져 있을 수 있습니다. 따라서 컴포넌트 간에 데이터를 교환해야 하는 이슈가 발생할 수 있습니다. 이번 장에서는 컴포넌트간에 데이터를 교환하는 방법에 대해 알아보겠습니다. 부모 -> 자식 컴포넌트로의 데이터 전달 parent, child 컴포넌트 2개를 생성합니다. $ ng g c parent $ ng g c child parent component를 다음과 같이 작성합니다. 태그를 추가하면 parent에 child component가 추가됩니다. parent->child component로 데이터를 보내기 위해 태그 내에 [received]=..
앞서 환경이 구축되었다는 가정하에 Angular 프로젝트를 생성합니다. 터미널에서 ng명령어를 통해 Angular 프로젝트를 생성하고 아래와 같이 서버를 실행합니다. // ng new 프로젝트명(소문자와 '-'만 이용하여 생성) $ ng new angular-starter ? Would you like to add Angular routing? Yes ? Which stylesheet format would you like to use? CSS CREATE angular-starter/angular.json (3497 bytes) CREATE angular-starter/package.json (1288 bytes) CREATE angular-starter/README.md (1031 bytes) .....