개발자노트

고정 헤더 영역

글 제목

메뉴 레이어

개발자노트

메뉴 리스트

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록
  • James (134)
    • IT (123)
      • 프로그래밍 (119)
      • 기록 혹은 팁 (4)
      • 트러블 슈팅 (0)
      • 메모 (0)
    • Contact (0)
    • 에세이 (11)

검색 레이어

개발자노트

검색 영역

컨텐츠 검색

IT

  • [트러블 슈팅] javascript 에서 null과 날짜값 비교시 문제

    2019.07.10 by James Lee.

  • [Javascript] 클로저(Closure)란?

    2019.05.09 by James Lee.

  • [Node.js] 노드에서 자주 사용되는 기술들을 이용한 템플릿 프로젝트 만들기

    2019.04.21 by James Lee.

  • [Node] IntelliJ에서 Node 관련 require unresolved function 경고 메세지 제거

    2019.04.21 by James Lee.

  • CI(Continuous Integration), CD(Continuous Delivery / Deployment)에 대해 알아보자.

    2019.04.07 by James Lee.

  • [Kylin] 1. Data Model 생성하기

    2019.03.24 by James Lee.

  • [Redis] 기본 데이터 타입 정리

    2019.03.10 by James Lee.

  • Spring Boot의 Config Annotation 에 대해 알아보자

    2019.03.03 by James Lee.

[트러블 슈팅] javascript 에서 null과 날짜값 비교시 문제

결론부터 말하자면 JS에서 날짜 값을 비교할 때에는 null이 들어가는지 체크를 꼼꼼하게 해줘야 한다. 아래와 같이 두 개의 변수에 날짜 값 (new Date() 라든가, moment 라든가..)을 비교하는 구문이 있었는데, dateValue에 null이 들어가게 되면 의도치 않은 결과가 초래될 수 있다. if(dateValue1 = new Date() // false Chrome Console에서 실행시킨 결과 null과 객체..

IT/프로그래밍 2019. 7. 10. 09:37

[Javascript] 클로저(Closure)란?

클로저를 정의하는 말들은 여러가지가 있다. MDN에서는 아래와 같이 설명한다. 클로저는 독립적인 (자유) 변수를 가리키는 함수이다. 또는, 클로저 안에 정의된 함수는 만들어진 환경을 ‘기억한다’. 이게 무슨 말인가? 언뜻 봐서는 이해가 잘 가지 않는다. 클로저가 무엇인지 딱 한마디로 설명할 수 있기 위해 글을 정리한다. 무엇인가? 쉽게 말하면, 클로저는 함수 내부에 정의된 함수를 의미하며 조금 더 풀어서 설명하면 내부함수가 외부함수의 컨텍스트에 접근할 수 있는 것을 가르킨다. 특징 : 외부함수가 소멸된 이후에도 내부함수가 소멸된 외부함수의 변수에 접근 할 수 있다. 메모리에서는 여전히 기억하고 있기 때문에 이런 메커니즘을 클로저라고 한다. Closure라는 이름은 외부함수가 소멸된(Close) 이후에도 ..

IT/프로그래밍 2019. 5. 9. 14:47

[Node.js] 노드에서 자주 사용되는 기술들을 이용한 템플릿 프로젝트 만들기

Github Project link : https://github.com/jhleed/node-default-project Intro 올해는 작년보다 더 많은 사이드 프로젝트를 하려고 한다. 그런데 프로젝트를 매번 세팅할때마다 아래와 같은 번거로움이 있다. 중복된 환경설정을 해줘야 한다. 환경설정에서 삽질하는 경우가 적지 않다. "아 이거 전에 했었는데 뭐더라..?" → 결국 이전 프로젝트 환경설정을 다시 참고하게 됨 그래서 사이드 프로젝트를 만들때 바로 가져다 쓸 수 있도록 뼈대를 갖춰놓은 기본 프로젝트를 만들려고 한다. 이 프로젝트가 완성되면 사이드 프로젝트를 만드는데 걸리는 시간이 훨씬 줄어들 것이다. 기술 스택은 .. 노드를 선택하기로 했다. 나는 왜 노드를 선택하였나? 나는 노드에 대한 경험이 ..

IT/프로그래밍 2019. 4. 21. 23:13

[Node] IntelliJ에서 Node 관련 require unresolved function 경고 메세지 제거

IntelliJ에서 node.js 프로젝트를 생성하면 아래처럼 노드와 관련된 API가 정상적으로 인식이 되지 않는 경우가 있다. 그럴 때는 이렇게 하자. Settings → Language & Frameworks → Node.js and NPM 항목으로 이동 Coding assistance for Node.js 체크 활성화 이후 require 메소드가 정상적으로 인식되는 것을 확인할 수 있다. 그 외 노드 라이브러리가 인식이 되지 않는 경우 예를 들어 아래처럼 Express가 인식이 되지 않는 경우.. 해결 방법은 비슷하다. 처음과 마찬가지로 Settings → Language & Frameworks → Node.js and NPM 항목으로 이동한다. 아래처럼 본인의 프로젝트를 선택하고 Download를..

IT/프로그래밍 2019. 4. 21. 15:17

CI(Continuous Integration), CD(Continuous Delivery / Deployment)에 대해 알아보자.

웹 서비스를 개발/운영하다 보면 CI 와 CD라는 말을 자주 듣게 된다. 보통 CI 와 CD 를 묶어서 이야기하는 경우가 많아서 많은 사람들이(이전에 내가 그랬듯이) 두 개념을 종종 혼동하곤 한다. 이 포스팅에서는 CI와 CD란 무엇인지, 그리고 차이점은 무엇인지 알아본다. CI 와 CD를 실습해보는 것은 창천향로님의 6) 스프링부트로 웹 서비스 출시하기 - 6. TravisCI & AWS CodeDeploy로 배포 자동화 구축하기 글을 읽어보는 것을 추천한다. CI(Continuous Integration) - 지속적 통합 이미지 출처 CI(Continuous Integration)는 빌드와 테스트 자동화에 대한 개념이다. (이하 CI) 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous..

IT/프로그래밍 2019. 4. 7. 20:37

[Kylin] 1. Data Model 생성하기

최근 사내 Kylin 저장소를 이전하며 Kylin 큐브 구조를 전반적으로 재구성하였다. 그 이후 Kylin 조회 성능이 많이 향상된 것이 체감된다. (물론 여기엔 새로운 저장소의 저장공간이 넉넉한 것도 영향을 줬다.) … 나는 최근 들어온 요구사항에 맞춰서 Kylin Cube를 새로 생성하는 일을 하고 있다. Kylin은 기존 큐브에 존재하지 않는 Dimension을 추가해서 조회할 수 없고, 큐브를 새로 생성해야 한다. 슬프다. 그러면서 Kylin 큐브 생성시 어떤 설정들이 조회 성능과 큐브의 용량에 영향을 주는지 배우고 있다. … Kylin의 아래 내용을 글로 쓸 예정인데, 이 포스팅에서는 '1. 데이터 모델 생성' ← 이 부분을 정리했다. 데이터 모델 생성 데이터 큐브 생성 데이터 큐브 빌드 데이터..

IT/프로그래밍 2019. 3. 24. 22:11

[Redis] 기본 데이터 타입 정리

그동안 기존 프로젝트에 적용되어 있는 레디스를 "사용"만 해보다가 "공부"해보려고 한다. 공부의 구체적 목표는 레디스의 데이터 타입을 모두 파악하고, 레디스를 사용하는 어플리케이션의 성능을 개선하며, 레디스 안티 패턴(사용하면 안 되는 커맨드 들)을 이해하는 것이다. 이 포스팅은 에이콘 출판사의 Redis 핵심정리를 읽고 기본 데이터 타입인 문자열, 리스트, 해시를 정리한 내용이다. Hello World Hello world가 반이라고 했던가, 우선 간단하게 노드를 이용하여 Hello World 예제를 띄워본다. var redis = require("redis"); var client = redis.createClient(); client.set("my_key", "Hello World using Nod..

IT/프로그래밍 2019. 3. 10. 21:29

Spring Boot의 Config Annotation 에 대해 알아보자

스프링을 써본 개발자라면, Spring 환경설정을 하다 진이 빠진 경험이 한 두번 쯤은 있을 것이다. 스프링 부트는 어떻게 이러한 설정이 없이 동작이 가능한 것일까? 스프링 부트는 여러 자주 사용되는 설정들이 기본적으로 잡혀 있다. 스프링 부트의 시작점인 Application 클래스는 보통 아래와 같은 구조를 가지고 있다. (Spring Boot 2.x에서는 @SpringBootApplication 을 사용한다.) import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; @SpringBootApplication public..

IT/프로그래밍 2019. 3. 3. 17:03

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 6 7 ··· 16
다음
TISTORY
개발자노트 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바