본문 바로가기

분류 전체보기

(49)
[Angular] Directive 지시자 정리 Angular2 버전 이후를 기준으로 정리한 글입니다. 앵귤러에는 세가지 지시자(directive)가 있다. 컴포넌트 - 템플릿을 가지는 지시자 구조 지시자 - DOM 요소를 동적으로 추가하거나 제거하는 지시자 속성 지시자 - 요소, 컴포넌트, 다른 지시자의 행동이나 모양을 변경하는 지시자 구조 지시자 : DOM 요소를 추가 하거나 제거하는 등 DOM의 레이아웃을 동적으로 변경할 때 사용하는 지시자이다. 구조 지시자에는 NgIf, NgSwitch, NgFor가 존재한다. NgIf 지시자: boolean 표현식을 가지며 값에 따라 DOM 요소가 나타나거나 사라진다. {{hero.name}} 위의 예에서 hero의 값이 존재하면 div 요소가 출력되고 값이 null 혹은 undefined라면 요소가 나타나지..
[Angular] 앵귤러 데이터 바인딩 정리 Angular2 버전 이후를 기준으로 정리한 글입니다. 앵귤러의 데이터 바인딩은 컴포넌트와 뷰 사이에 연결 고리를 맺는 것이다. 앵귤러에는 데이터 흐름에 따라 크게 단방향 바인딩과 양방향 바인딩이 있고 단방향 바인딩의 경우 세부적으로 삽입식, 프로퍼티 바인딩, 이벤트 바인딩 존재 한다. 아래 그림은 DOM과 Componnent 사이에 앵귤러 데이터 바인딩을 설명한 것이다. 1. 삽입식(interpolation) {{userName}} {{getTitle()}} 삽입식은 이중 중괄호 사이에 컴포넌트의 변수 혹은 함수를 넣으면 연산의 결과 문자열이 뷰에 반영된다. 삽입식에서는 오래 걸리는 연산이 존재하는 함수를 이용할 경우 심각한 성능 저하가 발생할 수 있기 때문에 주의해야 한다. 2. 프로퍼티 바인딩 프로..
[java] Collections.emptyList와 Collections.emptyMap API를 개발하다 보면 외부 저장소 혹은 Http Client에서 데이터를 조회해서 결과를 받아 처리하는 경우가 있다. 이 때 외부에서 반환한 데이터가 없거나 내부로직에 의해 빈 데이터가 반환되어야 하는 경우 NullPointerException을 방지하기 위하여 반환 형태에 따라 List나 Map의 인스턴스를 생성하여 반환하여 처리해야 하는 경우가 있다. 후속 로직에서 size 메소드 등으로 체크를 하고 추가적인 값을 변경하지 않는 경우 Collections.emptyList()이나 Collections.emptyMap() 메소드를 사용하면 매번 동일한 정적 인스턴스가 반환되므로 각 호출에 대해 불필요한 인스턴스 생성이 되지 않아 메모리 사용량을 줄일 수 있다. 주의할점은 Collections.empt..
[java] Spring boot 손쉬운 test 코드 작성하기 spring에서는 3.2버전부터 MockMvc를 지원하여 매우 편리하게 컨트롤러 테스트 코드를 작성할 수 있었다. spring boot에서는 spring-boot-starter-test 모듈에 일반적으로 spring-test 모듈과 같이 사용하는 hamcrest, mokito-core, json-path등의 라이브러리가 같이 모듈화 되어 조금 더 편리하게 테스트를 할 수 있다. 이번 포스팅에서는 간단한 상품 정보를 조회하는 데모 어플리케이션을 이용하여 스프링 부트에서 테스트를 진행하는 방법을 알아보겠다. 먼저 메이븐을 사용한다면 pom.xml에 spring-boot-starter-test 모듈을 추가하자. spring-boot-starter-test 모듈에는 spring-test모듈 외에 hamcrest..
curl 명령어 응답시간 확인하기 HTTP 응답 속도를 간단하게 확인해보고 싶을 때가 있다. curl 명령어를 아래와 같이 이용하면 별도의 클라이언트를 이용하지 않고 응답시간을 체크할 수 있다.ex) curl -o /dev/null -s -w %{time_total}\\n http://lucaskim.tistory.com
[intellij] MAC 시에라에서 intellij git 연동 오류 MacOS 시에라 버전으로 업데이트 후에 intellij에서 다음의 에러가 발생하면서 git 연동이 정상적으로 동작하지 않는 경우가 있다. xcrun: error: invalid active developer path 이를 해결하기 위해서는 터미널에서 xcode-select --install 명령어를 입력하여 개발 도구를 설치하면 정상적으로 git 연동이 된다.
[톰캣] setenv.sh 옵션 설정 톰캣의 catalina.sh 파일에는 자바 옵션 설정 및 톰캣 로그 경로등 각종 설정을 저장할 수 있다. catalina.sh 파일에는 기본적으로 다양한 설정이 존재하기 때문에 설정 변경시 실수하여 문제가 발생 할 수 있다. 톰캣에는 추가 옵션을 설정하는 다른 방법이 하나 더 있는데 톰캣이 설치된 bin 디렉토리 안에 setenv.sh 파일을 생성하고 추가 커스텀 옵션을 설정할 수 있다. 아래와 같이 catalina.sh이 실행될 때 setenv.sh 파일의 옵션을 등록하게 된다. # Ensure that any user defined CLASSPATH variables are not used on startup, # but allow them to be specified in setenv.sh, in ..
Intellij 단축키 정리 Intellij Mac 버전 유용한 단축키 정리 Cmd + N : 클래스 찾기 Shift + Alt + 위, 아래 : 커서가 위치한 라인의 위치를 이동 Cmd + Alt + L : 코드 자동정렬 Alt + Enter : 해당코드 import Cmd + Shift + V : 클립드에 저장된 내용 확인 Cmd + Q : 종료 Alt + F7 : 코드가 사용되는 곳 찾기 Alt + Cmd + B : 구현체로 이동 Alt + Cmd + O : import 정리 Shift * 2번 : 전체 파일 검색 Cmd + Shift + R : 전체 파일에서 문자열 변경 Cmd + R : 문자열 변경 Cmd + F : 문자열 검색 Cmd + E : 최근에 사용한 파일 보기 Shift + F6 : 파일 Rename Cmd + ..