Posts

  • Java Annotation in Action 5

    앞서 리플렉션으로 메서드, 파라미터 정보를 읽고 메서드를 호출하면서 애너테이션을 처리하는 방법을 살펴봤습니다. 끝에서 언급했듯 아래와 같은 문제점이 있었습니다.

  • Java Annotation in Action 4

    Java Annotation in Action 3편에서는 필드에 애너테이션을 태그하여 필드의 값을 체크해 봤습니다. 이번 편에서는 리플렉션을 통해 메서드와 파라미터의 애너테이션을 다뤄봅니다.

  • Java Annotation in Action 3

    Java Annotation in Action 1편과 2편에서는 애너테이션의 개념과 정의 방법을 알아보았습니다. 이번 편에서는 소스 코드에 태그된 애너테이션을 자바 리플렉션을 통해 숨을 불어 넣어줄 차례입니다. 애너테이션을 읽어 필요한 로직을 작성하는 것을...

  • Jekyll 타임존 이슈

    Jekyll은 포스트의 날짜 정보를 이용해 페이지 Path를 구성하는데, 이 때 URL의 날짜가 타임존에 따라서 포스트의 날짜보다 하루가 더 큰 경우가 있다. Front Matter에 Date가 없는 경우에는 파일 이름의 날짜를 이용하고...

  • 포스트에 Series 적용하기

    대개의 경우 글을 쓸 때 단편적인 글을 쓰지만 하나의 주제를 연재식으로 쓸 때가 있다. 이러한 시리즈글은 태그나 카테고리로는 표현이 어려우므로 커스터마이징이 필요했다. 시리즈를 구현하기 위한 방법으로 커스텀 플러그인을 개발하거나 컬렉션...

  • Java Annotation in Action 2

    1편에서 소개한 애너테이션은 필요에 따라 직접 정의하여 활용할 수 있습니다. 이러한 애너테이션을 사용자 정의(User Defined) 또는 커스텀(Custom) 애너테이션이라고 합니다. 애너테이션도 인터페이스, 클래스와 같은 하나의 타입이며, 인터페이스의 특성을 갖습니다. 이번 글에서는...

  • Java Annotation in Action 1

    자바 5(J2SE 5) 버전 이상부터 애너테이션(Annotation) 기능을 사용할 수 있습니다. 자바의 애너테이션은 소스코드의 클래스, 메서드, 멤버 변수나 주석에 붙여 메타 데이터를 제공할 수 있습니다. 메타 데이터란 데이터의 데이터를 의미합니다. 조금...

  • 문자 인코딩, 문자셋, 유니코드

    컴퓨터는 결국 0과 1로 표현됩니다. 우리가 컴퓨터를 사용하면서 보는 글자, 이미지, 파일 등도 어떤 방식으로든 0과 1로 저장이되거나 전송이 됩니다. 그래서 0과 1로 변환하는 것을 인코딩(Encoding, 부호화)이라고 하며, 이 중...

  • 자바스크립트 문자열 표현하기

    문자열은 텍스트를 다루기 위한 데이터입니다. 문서의 제목, 내용, 사용자의 ID, 비밀번호, 게시글에 보이는 내용 등 글자로 된 것들 그리고 지금 쓰고 있는 이 문서도 텍스트이고 문자열로 표현될 수 있습니다. 자바스크립트에서의...

  • 자바스크립트 문자열 다루기

    자바스크립트의 문자열 타입인 String의 기능과 제공하는 함수들을 다뤄봅니다.

  • 리터럴(Literal)이란?

    위키피디아의 정의를 빌리자면 리터럴의 의미는 아래와 같습니다.

  • 리눅스 디스크 사용량 확인

    개발 환경에 구성한 Druid 클러스터가 어느 샌가 데이터 수집을 하지 않고 있어서 확인해 보니, 디스크가 가득 차 있었다. 그래서 정리해 두는 디스크 사용량 확인 명령어

  • Jekyll 블로그 작업기

    그간 티스토리를 기술 블로그로 쓰고 있었다. 잘 써오고는 있었지만 이상하게 글을 작성하는 데 손이 잘 가지 않기도 하고 바쁘단 핑계로 티스토리 업데이트는 꽤 오랜 기간 동안 멈춰 있었다. 스터디를 할...

  • Promise

    일반적인 동기 함수는 함수의 결과를 return을 통해 전달 받을 수 있습니다. 인자로 a, b를 받아 합계를 반환하는 sum 함수를 살펴보겠습니다.

  • node-schedule 패키지

    node-schedule은 Node.js에서 동작하는 스케줄링을 위한 모듈입니다. 원하는 시간에 작업을 수행할 수 있는 기능을 제공하고 유사한 모듈로는 node-cron이 있습니다. 자바스크립트의 setInterval 함수나 setTimeout 함수로도 동일한 기능을 구현할 수 있지만 그런 작업을...

  • 폼 입력 검증하기

    회원 가입 페이지(sign-up.html)를 작성할 때 TO-DO로 남겨놓았던 ‘사용자가 폼에 올바르게 입력하였는가?’를 체크하는 부분 기억나시나요? 이를테면 사용자 이름(username)과 비밀번호(password)는 꼭 입력해야 하는 부분이므로, 그냥 빈 칸으로 입력했을 때 회원가입이 되어버리면 안되겠죠....

  • Jekyll 설치와 github plugin 적용

    Jekyll은 정적 웹 페이지 변환기(생성기)입니다. 마크다운 또는 텍스트 등의 파일을 Jekyll을 통해 템플릿이 적용된 웹 페이지(HTML 파일)로 변환할 수 있으며 또한 GitHub에 내장되어 다양한 활용이 가능합니다. https://jekyllrb.com/showcase에서 Jekyll을 사용하고 있는...

  • Jekyll 명령어 만들기

    쉘 스크립트 연습도 할 겸, 자주 사용하는 Jekyll 명령어를 조금 더 편하게 써보려고 Node.js package.json의 scripts처럼 활용할 수 있게 몇 가지 Jekyll 명령어를 만들어 보았습니다.

  • Javascript 툴

    Package Manager(Dependency Manager) 패키지 매니저는 자바스크립트 개발 시 필요한 모듈(라이브러리/프레임워크 등)을 저장소(Repository)에서 관리하고, 이를 이름과 버전으로 다운로드하여 사용할 수 있는 도구입니다. 예를 들어 jquery가 필요하다면, jquery.com이 아니라 패키지 매니저를 통해...

  • 20191117 로그인 기능

    오늘 스터디에서는 회원 가입 페이지를 만들고 user-service.js 파일 내의 UserService 클래스에 signUp 함수를 만들어 로컬 스토리지에 회원 정보를 저장하는 것까지 진행했습니다.

  • Node 설치하기

    $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | sh $ nvm install node

  • Node로 로컬 서버 실행하기

    로컬에 있는 HTML 파일을 브라우저로 열면 file:///Users/gardenist/workspace/cmax-study/index.html 과 같이 http가 아닌 file 프로토콜로 잡히고, github.com과 같은 호스트를 표현할 수 없다. 이 경우 /ets/hosts 파일을 이용해 도메인을 부여한 것처럼 브라우저에 접근할...

  • Hexo 설치하기

    Jekyll을 사용하려다가 Hexo를 사용해보기로 했다. Jekyll Now를 쓰면 조금 덜 번거롭겠지만, post 형식이 지킬과 헥소가 서로 다르지 않아서 post 파일들만 마이그레이션 하면 될 듯.

  • 자바 정수형 Wrapper 타입의 값 비교

    (티스토리 블로그에 작성했던 글을 옮긴 글입니다.) 자바를 배울 때 String의 비교를 다루면서 == 연산자를 통한 비교와 String 클래스의 equals 메서드를 통한 비교로 객체 레퍼런스 비교와 값 비교, 그리고 상수 풀(Constant...

  • 소프트웨어 마에스트로 면접

    (티스토리 블로그에 작성했던 글을 옮긴 글입니다.) 이것 저것 바쁜 탓에 준비를 많이 못해갔다. PT도 너무 대충 만들어 갔고..

  • Java PriorityQueue

    (티스토리 블로그에 작성했던 글을 옮긴 글입니다.) 힙을 구현하기는 귀찮아서 ‘혹시나’ 싶어서 찾아보니 ‘역시나’ 고맙게도 자바에 PriorityQueue가 있네요. 먼저 PriortyQueue는 java.util 패키지에 있고, 여러 형태의 생성자가 오버로딩되어 있는데, 주요한 두가지만 알아보면...

subscribe via RSS