—save-dev 옵션은 왜 넣을까? Node.js의 npm로 모듈을 설치할 때 아래처럼 --save-dev 옵션을 넣는 경우가 있습니다. 이 옵션은 어떤 의미일까요? $npm install --save-dev babel-cli Node.js에서는 보통 npm으로 모듈을 설치합니다. `$npm install [모듈이름]` 이런 식으로요. 이러면 명령을 실행한 디렉토리에 node_modules라는 이름의 디렉토리가 생기고, 해당 디렉토리 안에는 모듈이 설치됩니다. 그런데 다른 프로젝트에서도 똑같은 모듈이 필요하면 어떻게 해야 할까요? 똑같이 `$npm install [모듈이름]`을 해당 프로젝트의 폴더에서 해야겠죠. 한 두번이면 괜찮은데 이런 작업이 100개 1000개이면?? 또 추가해야 할 모듈이..
struct 안 쓰면 불편한 점 c언어 struct의 필요성과 장단점 그리고 사용시 주의할 점에 대한 이야기입니다. car_name이란 변수를 참조하는 함수들이 100개 있다고 가정하죠. 함수 선언과 정의하는 부분들이 있을 겁니다. 그런데 car_color란 변수를 추가해야 할 일이 생겼습니다. 그래서 100번 수정해서 함수들 마다 데이터 하나를 추가했습니다. 그런데 또 수정 요구가 들어왔어요. 오 마이… 이번에는 car_size입니다. 헐….. OTL 이런 반복작업을 계속 해야 할까요? struct를 쓰면 좋은 점 위의 이야기와 같은 불상사를 막으려면 struct를 사용하면 됩니다. c언어의 struct 구조체는 여러 형의 데이터를 묶어야 할 때 사용합니다. 즉 구조화된 데이터형이죠. 이렇게 하면 좋은..
컴파일 시 다음과 같은 에러가 나온다면 헤더를 인클루드 여부를 확인하라. 소스에 헤더가 포함되지 않아서 생기는 경우가 대부분이기 때문이다. Error[line 275] : pointer to incomplete class type is not allowed 에러 내용을 좀 더 보면 번역하면 '불완전한 클래스 유형의 포인터가 허용되지 않습니다' 즉 선언이 안 되어 있다는거다. 변수나 구조를 선언한 헤더를 포함했는지 여부를 따져보자.
sprintf의 문제 문자열 복사를 위해서 sprintf 함수를 자주 사용하게 되는데,다국어 프로그래밍 시에 sprintf를 사용하면 스트링 복사시에 ANSI 값 즉 1바이트만 복사하게 되어 출력되고자 하는 다국어 문자열이 이상하게 표시되는 오류가 발생될 수 있다.유니코드를 위한 swprintf나 wsprintf를 쓰도록 하자. 위의 이미지를 한번 보자. 변수 A와 B가 메모리에 8바이트 2바이트 할당되어 있다고 가정하자. 그런데 아래와 같이 8바이트 문자열을 sprintf함수를 사용해서 쓰면 실제로는 마지막에 널 문자 0까지 붙어서 9바이트가 들어가게 된다. abcdefgh0 이런식으로 말이다. 그럼 변수 B의 영역을 침범하게 되므로 이건 메모리 오버플로우 에러가 발생하게 된다. 이런 버그는 참 찾기 ..
자바스크립트에서 데코레이터 패턴을 공부하는데 자바스크립트에서 클래스 정의는 어떻게 되는지 몰라서 공부한걸 적어놓는다. 참조 : 3 ways to define a JavaScript class 자바스크립트는 클래스라는 개념이 없다. 자바스크립트에서 모든것은 객체이다. 상속은 객체가 객체로 부터 받는다. 함수를 이용한 방법 자바스크립트 함수를 만든 다음에 new 키워드로 객체를 생성하면 된다. 함수를 이용해서 만든 객체의 속성과 메소드를 정의하기 위해서는 this 키워드를 사용한다. 객체 정의 1 2 3 4 5 6 function Espresso() { this.cost = 2500; this.getCost = function() { return this.cost; } } cs 객체 생성 1 2 let es..
- Total
- Today
- Yesterday
- 캠코더
- 독후감
- 티스토리챌린지
- 블로그
- 한빛미디어
- 소니 핸디캠
- 독서
- 소니
- 아이나비 태블릿
- 소니 캠코더
- 아이나비 패드
- 서평
- Ai
- 박근혜
- 블랙박스
- 오블완
- c언어
- 티스토리
- 팅크웨어
- SM5
- CSS
- 아이나비 탭 XD11 Pro
- 아이나비 Tab XD9
- 아이나비 탭 xd9
- 소니 AXP35
- qxd1000a
- AXP35
- Sony
- 아이나비
- X1 DASH
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |