Programming language(17)
-
[Node.js]내장 모듈
이 글은 이전에 운영하던 깃 블로그에서 옮겨온 글입니다. 서론 지난 글 [Node.js]내장 객체에 이어 이번 글에서는 Node.js에서 기본적으로 제공하는 내장 모듈에 대해서 다뤄보려 합니다. 아래는 내장 모듈의 사용법입니다. require('모듈명') : 인자로 받은 모듈을 가져와 사용할 수 있게 해 줌 #include 나 import 같은 거, 전처리기가 아닌 함수 형태로 제공 내장 모듈 종류 os os 정보를 담고 있는 모듈 path 파일이나 폴더의 경로를 다루는데 도움을 주는 모듈 url 문자열 —- parse() —> url객체 : url.parse()은 문자열을 받아 url객체를 리턴 url.parse(urlStr, [parseQueryString], [slashesDenoteHost]) p..
2022.04.10 -
[Node.js]내장 객체
이 글은 이전에 운영하던 깃 블로그에서 옮겨온 글입니다. 서론 예전에 취미 삼아 Node.js를 잠깐 공부한 적이 있습니다. 지금은 관련 업무나 특별히 공부하지는 않지만, 그때 정리한 기초 내용을 아카이빙용으로 정리해 보려 합니다. Node.js에서 기초가 되는 모듈이나, require 등에 관해서는 별도의 개념은 따로 다루지 않겠습니다. 내장 객체 말 그대로, Node.js에 기본적으로 내장된 객체들을 말합니다. 별도의 모듈을 require함수가 필요하거나 모듈을 필요로 하지 않습니다. C/C++ 등에서 별도로 선언해서 사용하거나, include 해야 사용하는 구조체, 클래스와 다르게 사용할 수 있는 int, char 등 원시 자료형과 비슷하다 생각하면 될 것 같습니다. global 객체 message..
2022.04.10 -
[C/C++]네임 맹글링(Name mangling)
이 글은 이전에 운영하던 깃 블로그에서 옮겨온 글입니다. 서론 직역하면 "이름 짓이기기". 음... 이게 뭐길래 어감이 영 좋지 않습니다. 오늘은 제가 외부 라이브러리나 브리지 작업을 할 때 주로 겪었던 Name mangling에 관하여 글을 써보려 합니다. Name Mangling Name Mangling은 컴파일러가 자기 마음대로 변수나 함수의 이름을 변경하는 것을 의미합니다. 함수 오버 로딩을 알고 있나요? 함수 이름이 같고 리턴 값 타입이나 매계 인자가 다른 경우에도 하나의 이름으로 사용할 수 있게 해 주는 C++의 기능입니다. 여담으로 Name Decoration이라고 부르기도 합니다. 예를 들어 보겠습니다. 아래는 매계인자로 받은 값을 + 해주는 함수를 작성한 코드입니다. int Add(int..
2022.04.09 -
[C/C++]포인터
이 글은 이전에 운영하던 깃 블로그에서 옮겨온 글입니다. 서론 이번 글에서는 포인터에 관한 개인적인 고찰에 대해서 적어보려 합니다. 포인터는 자료형이다 정수형 자료형 int, 문자형 자료형 char… 프로그래밍을 하면서 참 많이 보는 것들입니다. 이런 것들을 자료형이라고 한다. 자료의 형태라는 것인데… 포인터도 자료형일까요? 개인적인 생각으로는 자료형이라고 생각합니다. 단지 int가 정수를 값으로 사용하고 char가 문자를 값으로 사용하는 것처럼 포인터 자료형은 주소 를 값으로 사용하고 있죠. 즉, 주소 값을 저장하기 위한 메모리 공간일 뿐이라는 것입니다. 참고로, 모든 포인터타입은 4byte(32bit 컴퓨터 기준, 64bit는 8byte 크기)입니다. 포인터는 왜쓰지? 옛날에 프로그래밍을 처음 공부하..
2022.04.09 -
[C/C++]C++의 키워드 몇 가지
이 글은 이전에 운영하던 깃 블로그에서 옮겨온 글입니다. 서론 C++을 공부하면서 사용해본 혹은 찾아본 예약어를 몇 가지 적어보고자 합니다. 이것도 은근히 기술면접 질문으로 많이 나온다고 합니다. 무의식적으로 아 그런 기능인가 보다 하고 사용하다가, 어? 이런 거야?라고 깨닫게 되는 순간들이 문득 있었던 추억이 있습니다. 익숙한 게 무섭다는 게 이런 걸까요? const / constexpr 상수 객체를 만들 때 많이 사용했던 키워드들입니다. 두 가지가 있는데 둘 모두, 객체를 상수화 시킵니다. 그런데 굳이 두 가지가 따로 있다는 건, 차이가 있다는 것이겠죠. 어떤 차이가 있을까요? const 컴파일 타임, 런타임에 초기화될 수 있음 비 정적 멤버 함수에만 쓸 수 있다 => 이 경우 const 멤버 함수는..
2022.04.09 -
[C/C++] 캐스팅연산자
이 글은 이전에 운영하던 깃 블로그에서 옮겨온 글입니다. 서론 코딩을 하다가 실수형 변수를 정수형으로 변환하기 위하여 (int)라는 것을 한 적이 있나요? 이와 같은걸 캐스팅, 한국말로는 형 변환이라고 합니다. 사실 (int)와 같은 일반적인 명시적 형 변환은 좀 위험합니다. 강제로 형태를 변환시키니… 하지만 캐스팅이 필요한 경우가 확실히 있습니다. C++에서는 캐스팅을 조금이라도 더 안전하게 하려고 몇 가지 등장한 캐스팅 연산자들이 있습니다. 이번 글에서는 캐스팅 연산자들에 관하여 특징만 간단히 다뤄보려 합니다. 살펴볼 캐스팅 연사자들은 다음과 같습니다. static_cast dynamic_cast const_cast reinterpret_cast 캐스팅 연산자들은 의 타입으로 캐스팅을 해줍니다. ex..
2022.04.08