0. 이 포스트는 Spring : AOP With Java Config 의 연속이다. 1. 타겟 메소드를 정상적으로 실행완료 후 @AfterReturning advice에서 결과값을 수정하는 예제이다. 2. @AfterReturning annotation에 몇 가지 property를 설정할 수 있다. 2-1 pointcut은 어떤 @Before의 value와 같이 pointcut expression을 지정할 수 있다. 2-1-1 아래 소스코드에서 지정한 point cut은 정확히 AccountDAO의 findAccounts 메소드를 지정하고 있다. 2-2 returning은 advice 메소드의 두 번째 인자값의 이름으로 타겟 메소드의 반환 값을 받는다. 2-2-1 아래 소스에서 AccountDAO fi..
0. 이 포스트는 Spring : AOP with Java Config 시리즈의 연속이다. 1. @AfterReturning은 타겟 메소드가 성공적으로 실행된 후 실행하게 된다. 예외가 발생하면 실행되지 않는다. 2. 실제 사용하는 상황들(@Before advice와 거의 동일하고 쌍으로 사용되는 경우가 많다.) 2-1 로깅, 보안처리, 트렌젝션 처리에 사용된다. 2-2 감사를 위한 logging에 사용될 수 있다. 사용자, 사용 메소드, 사용시점, 사용한 지점 등을 남길 수 있다. 2-3 호출자에게 값을 반환하기 전에 데이터 처리가 필요한 경우에 사용한다. 2-3-1 데이터의 포멧을 설정하거나 데이터를 추가 가공할 경우에 사용된다. 2-3-2 가공하더라도 반환 객체는 동일한 타입이어야 한다. 3. 예제..
1. 이 포스트는 Spring : AOP with Java Config 시리즈의 연속이다. 2. 종종 어떤 메소드를 실행 전후에 해당 메소드의 parameter에 접근해 데이터를 참조하거나 수정할 필요가 있다. 3. Apect 클래스에서 method argument에 접근하는 방법은 java reflect를 이용한 JoinPoint Aspectj 클래스를 사용한다. 3-1 이 예제는 복잡함을 줄이기 위해 @Order를 설정한 직전 포스트의 Aspect클래스를 사용하지 않는다. 3-2 JoinPoint클래스를 advice 메소드의 parameter로 설정하여 호출 대상 메소드의 정보를 받아온다. 3-2-1 Java reflect를 사용하기 때문에 해당 클래스에 관련 메타데이터 정보를 JoinPoint에서 ..
1. 인터페이스는 객체타입을 지정하지 않았을 때 any로 퉁치는 것을 방지하기 위해서 사용한다. const post = { title: 'A good post', content: 'great post and great article' } const printPost = (postToPrint: { title: string, content: string }) => { return `${postToPrint.title} with ${postToPrint.content}` } console.log(printPost(post)) 1-1 위의 코드의 printPost함수의 postToPrint라는 인자는 { }를 통해 type을 지정했는데 이 부분이 없으면 그냥 any다. 1-2 그래서 저렇게 길게 타입을 지정했..
1. Typescipt는 Java와 유사하게 보이는 상속과 인터페이스를 지원한다. 1-1 공공연한 사실이지만 내부적으로 Javascript는 prototype inheritance를 사용하기 때문에 1-2 완전히 다른 방식의 구현을 가지고 있다. 1-3 복잡한 생각할 필요없이 자바처럼 그냥 쓰면 된다. 2. Typescript는 Java언어와 동일하게 한 부모 상속을 지원한다. 1-1. 상속의 예시 1-2. 특이해 보이는 부분은 Driver.ts의 Shape 타입의 shapes 배열로 Shape을 상속한 클래스를 저장하고 있다. 1-2-1 polymorphism이다. 동일하게 동작함을 알 수 있다. // 부모 클래스 Shape.ts 파일 export class Shape { constructor(priv..
0. 접근자 (Access Modifier) 0-1 public - 모든 클래스에서 접근가능 0-2 protected - 현재 클래스와 이를 상속한 클래스에서만 접근가능 0-3 private - 현재 클래스에서만 접근가능 1. Class의 속성의 기본 접근자는 Java와 다르게 public이다. class Customer { firstName: string lastName: string constructor(firstName: string, lastName: string) { this.firstName = firstName this.lastName = lastName } } let customer = new Customer("Pilseong", "Heo") console.log(customer.first..
-1. Typescript를 쓰는 이유는 자바스크립트에서 범하기 쉬운 사용자의 에러를 최소한으로 줄이기 위해서이다. -1-0 호출할 수 있는 메소드 이름과 속성과 반환값을 인지하여 사용자의 실수로 보이는 경우 모두 에러를 표시한다. 0. Typescript는 stong type system어서 type이 매우 중요하다. 아래 1-4까지 4가지가 주로 쓰인다. 0-1 boolean 0-2 number 0-3 string 0-4 any 0-5 undefined, null 0-6 기타 등등 (Array, Tuple, Enum, Void 등등 많이 있다.) 1. Typescript의 기본동작 1-1 Typescript는 Type inference를 사용하여 입력 값이 자명한 경우 타입을 설정하지 않아도 알아서 ..
기본적인 Typescript 개발 설정하기 0. 기본적인 세팅 0-1 Editor - Typescript는 MS에서 만든 것이라 MS에서 만든 VS Code가 좋다. 0-2 node 0-3 npm 0-4 tsc 1. Typescript 코드 생성 1-1 .ts 확장자를 가지는 코드를 작성한다. 2. 코드 컴파일 2-1 브라우저는 Typescript를 이해하지 못한다. 2-2 Typescript를 Javascript로 변환이 필요한데 이 과정을 transpiling이라고 한다. 2-3 컴파일을 위해 tsc 명령어를 사용한다. ts 확장자 파일을 컴파일하여 js 확장자 파일을 생성한다. 2-4 생성된 Javascript는 node로 실행할 수 있다. 3. 코드 실행 4. tsc 컴파일러는 에러가 발생해도 j..
- Total
- Today
- Yesterday
- 도커 개발환경 참고
- AWS ARN 구조
- Immuability에 관한 설명
- 자바스크립트 멀티 비동기 함수 호출 참고
- WSDL 참고
- SOAP 컨슈머 참고
- MySql dump 사용법
- AWS Lambda with Addon
- NFC 드라이버 linux 설치
- electron IPC
- mifare classic 강의
- go module 관련 상세한 정보
- C 메모리 찍어보기
- C++ Addon 마이그레이션
- JAX WS Header 관련 stackoverflow
- SOAP Custom Header 설정 참고
- SOAP Custom Header
- SOAP BindingProvider
- dispatcher 사용하여 설정
- vagrant kvm으로 사용하기
- git fork, pull request to the …
- vagrant libvirt bridge network
- python, js의 async, await의 차이
- go JSON struct 생성
- Netflix Kinesis 활용 분석
- docker credential problem
- private subnet에서 outbound IP 확…
- 안드로이드 coroutine
- kotlin with, apply, also 등
- 안드로이드 초기로딩이 안되는 경우
- navigation 데이터 보내기
- 레이스 컨디션 navController
- raylib
- one-to-many
- Security
- mapping
- login
- 로그인
- 하이버네이트
- XML
- Rest
- jsp
- crud
- 스프링부트
- one-to-one
- 자바
- 스프링
- Spring Security
- hibernate
- Spring
- RestTemplate
- 외부파일
- Validation
- 매핑
- spring boot
- WebMvc
- 설정하기
- 설정
- form
- MYSQL
- Many-To-Many
- 상속
- Angular