일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- useEffect
- BDD
- Java
- 진1926
- SetMail
- docker
- 바스트로37
- 고릴라볼링장
- 신미낙지
- MariaDB
- SpringCamp2019
- 전나라동동공주
- SpringCamp2017
- State
- DockerCompose
- Hook
- 오삼철판볶음
- NVM
- SpringCamp
- NapuCon2016
- react
- 오뚜기숯불소금구이
- nginx
- 양살치살
- Replacation
- Spring
- 판교
- react component
- SpockFramework
- 강다니엘
- Today
- Total
목록Dev (30)
Note
개요 ``AOP``는 스프링의 기반 기술 중 하나로 이해하기 힘든 용어와 개념을 가졌다. ``AOP``는 자바의 ``Reflection API``를 활용해서 구현을 하게되고, 주로 비즈니스 요구사항이 아닌 부분들을 처리하기 위해 사용한다. Reflection API 자바의 Reflection API는 컴파일 레벨에서 실행될 클래스를 정하는 것이 아닌, 런타임에 실행할 클래스 파일을 정하게 할 수 있다. 또한, 런타임에서 클래스의 공개되지 않은 필드에 대한 정보를 볼 수 있고 조작할 수 있다. 주로 JDBC나 MyBatis에서 많이 사용한다. 예시는 아래와 같다. Reflection API Example package kr.pe.nuti.home.api.core.annotation; import java...
개요 자바 계통 언어에서는 오류를 표현하는 2가지 방법이 존재한다. 첫 번째는 Error 클래스인데 Error 클래스를 상속받는 하위 클래스는 시스템 오류를 표현하게 된다. 두 번째는 Exception 클래스로 어플리케이션 레벨에서 개발자가 예외사항을 표현하기 위해 사용한다. 이번 포스팅에서는 Error와 Exception에 대해서 작성한다. Error Error 클래스는 시스템 오류를 표현하는 것으로 주로 JVM에서 사용한다. 어플리케이션 레벨에서 사용하는 경우도 있기는 한데 거의 사용되지 않고, try~catch로 처리할 수 없다. 시스템 오류를 표현하는 것이므로 어플리케이션 개발자가 관여하게될 가능성이 매우 낮다. 흔히 볼 수 있는 Error 클래스의 구현체는 OutOfMemoryError와 Sta..
Dockerfile? Dockerfile은 Image 설정 파일로 Image를 생성할 내용을 작성한다. Options FROM: 어떤 이미지를 기반으로 생성할지 설정한다. : 형식으로 설정한다. MAINTAINER: 메인테이너 정보를 작성한다. ENV: 이미지의 환경변수를 설정한다. RUN: 쉘 스크립트 혹은 명령어를 실행한다. VOLUME: 호스트와 공유할 디렉토리를 지정한다. CMD: 컨테이너가 시작됐을 때 실행할 실행 파일 혹은 쉘 스크립트를 지정한다. ADD: 호스트에서 이미지로 복사할 파일을 지정한다. EXPOSE: 호스트와 연결할 포트 번호를 지정한다. Example FROM centos:centos6.8 MAINTAINER HyeonilJeong ENV V_NGINX=1.12.1 \ V_TO..
docker-compose? Docker Compose는 하나의 설정으로 여러 컨테이너를 정의하고 실행할 수 있도록 도와주는 툴이다. 하나의 명령어로 여러 컨테이너를 띄워서 어플리케이션을 실행할 수 있다. 사용 환경 개발 테스트 스테이징 == Options image: 사용할 이미지의 태그나 ID를 명시 build: Docker파일이 있는 디렉토리의 경로 dockerfile: 기본 Dockerfile명이 아닐 경우 여기에 이름을 명시 command: 기본 command를 지정 links: 컨테이너를 다른 서비스와 연결. 연결하려는 서비스의 이름이나 별칭을 작성하면 컨테이너의 /etc/hosts 파일에 그 내용이 추가 external_links: links와 비슷하지만 compose외부의 서비스와 연결을 ..
빌드 툴로 많이 알려진 메이븐은 빌드 툴이라기 보다는 프로젝트 관리 툴이라고 지칭해야 한다. 메이븐은 소스코드로부터 배포 가능한 산출물을 빌드할 뿐만 아니라, 의존성 관리, 패키징, 문서화, 자동화 테스트, 각종 리포팅, 배포 등 여러가지 기능을 지원한다. 메이븐에서 지원하는 기능을 사용하기 위해서는 pom.xml이라는 파일에 사용할 기능에 대해서 명시해야한다. 메이븐의 기본 구조는 아래와 같다. 4.0.0 kr.pe.nuti build-deployment 1.0.0-SNAPSHOT jar build deployment build and deployment description. https://blog.nuti.pe.kr https://github.com/hyeonil ... ... ... ... .....
코드 단위를 짧게 하라 하나의 메소드는 하나의 역할만 하도록 한다. 짧은 단위는 분석하기 쉽다. 짧은 단위가 재사용하기 쉽다. 메소드 이름을 의미있게 작성해서 가독성을 높여야한다. 코드 단위는 간단하게 짜라 단위를 커버하는 테스트 케이스를 최소화해야한다. 간단한 단위는 복잡한 단위보다 이해하기 쉽고 수정하기도 쉽다. 간단한 단위는 테스트하기 쉽다. 코드는 한 번만 작성하라 중복코드는 여러번 수정해야 한다. 단위 인터페이스를 작게 하라 작은 인터페이스가 이해하고 재사용하기 쉽다. 인터페이스가 작아야 메소드를 수정하기 쉽다. 파라미터가 5개 이상 넘어가면 코드를 읽기 어렵고 하는 일이 많아질 가능성이 크다. 관심사를 모듈로 분리하라 클래스를 나누어 관심사를 분리한다. 특정 구현부는 인터페이스 안에 숨긴다. ..
upstream groupName { ip_hash; server {ip}:{port} weight=5; server {ip}:{port}; server {ip}:{port} backup; } server { listen 80; server_name your.domain.com; location / { ... proxy_pass http://groupName; } } option ip_hash: IP를 Hash해서 특정 클라이언트는 특정 서버로만 연결 least_conn: 가장 클라이언트 연결 갯수가 적은 서버로 전달하는 설정 keepalive n: n개의 커넥션을 유지 slow_start=n: 최근에 장애로부터 복구한 서버에 요청이 폭주하지 않도록 slow_start 에 주어진 시간만큼 기다려 줌 we..
CentOS 메일서버 설정 sendmail 관련 패키지 설치 sendmail, sendmail-cf, sendmail-devel 패키지를 설치한다. 표준 패키지 sendmail - 메일 전송 에이전트 추가 패키지 sendmail-cf - sendmail을 재설정 하는데 필요한 파일들 sendmail-devel 설치 yum install sendmail sendmail-cf sendmail-devel sendmail 설정 sendmail은 로컬에서만 메일을 발송하도록 하는데, 릴레이 설정을 하고, 메일 클라이언트를 통해서 발송할 수 있도록 아래와 같이 설정을 바꾼다. /etc/mail/sendmail.mc 52: TRUST_AUTH_MECH('EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN ..