클린코드 정리
"클린코드"라는 책을 개인적으로 정리해 보았습니다. https://goo.gl/WpRUur
- 컴퓨터 공학
- · 2018. 11. 12.
#include void makeAndEatRamen() { printf("라면을 만들어 먹는 작업을 시작합니다.\n"); auto boilWater = [&]() { printf("냄비에 물을 끓이는 작업을 시작합니다.\n"); auto preparePot = [&]() { printf("냄비를 준비합니다.\n"); }; preparePot(); auto turnOnFire = [&]() { printf("가스레인지에 불을 붙힙니다.\n"); }; turnOnFire(); auto waitUntilBoil = [&]() { printf("냄비의 물이 끓을 때 까지 기다립니다.\n"); }; waitUntilBoil(); printf("냄비에 물을 끓이는 작업을 완료하였습니다.\n"); }; boilWa..
#include #include #include using namespace std; void insertItem(unordered_map& items, const int& key, const string& value) { items.insert(unordered_map::value_type(key, value)); } string getItem(unordered_map& items, const int& key) { return items[key]; } void main() { unordered_map items; insertItem(items, 0, "Park"); insertItem(items, 1, "Kim"); insertItem(items, 2, "Hong"); insertItem(items, ..
"클린코드"라는 책을 개인적으로 정리해 보았습니다. https://goo.gl/WpRUur
자바스크립트는 대부분의 함수가 비동기적으로 처리되기 때문에 콜백함수를 많이 사용합니다. 콜백함수를 사용할 때는 보통 익명함수를 사용하며, 파라미터 부분에 ()=>{} 형식으로 함수 구현부분을 작성합니다. 이로 인해, 콜백함수 내에서 콜백함수를 호출하는 부분이 많아질수록 더 많은 들여쓰기를 갖게 되고, 결과적으로 가독성을 크게 떨어뜨리게 됩니다. 그래서, 저는 이 부분을 해결하기 위해 익명함수 대신 별도의 함수를 정의하고 콜백함수에서 정의한 함수를 호출하도록 함으로써 들여쓰기 문제를 해결하고자 하였습니다. 12345678910111213141516171819202122function removeAllFilesFromMapId(map_id){ let directory:string = path.join(UPL..
아래의 코드는 윈도우즈 환경에서 "Windows.h" 헤더파일에 포함된 API를 사용하여 장치의 맥 주소를 출력하는 과정을 나타냅니다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 #include #include #include #include #pragma comment(lib, "iphlpapi.lib") IP_ADAPTER_INFO* GetNetworkAdaptersInfo() { DWORD dwBufLen = 0; DWORD dwStatus = GetAdaptersInfo(NULL, &dwBu..
boost의 주요 기능들과 그 기능들을 활용하여 구현한 채팅 프로그램에 대해 설명드리겠습니다. 주요 기능들은 다음과 같습니다. Boost::thread Boost::bind boost::function boost::chrono 스마트 포인터 boost::signal boost::mutex boost::asio boost::timer 먼저, 스레드에 대해 설명드리겠습니다. 스레드는 프로세스 내에서 실행되는 흐름의 단위라고 하는데요, 멀티스레드를 사용함으로써 프로세스의 처리성능을 높일 수 있는 장점이 있습니다. boost에서 제공하는 스레드를 사용하기 위해 boost/thread.hpp를 선언해야 하며, 다른 클래스와 다르게 스레드는 복사가 불가능하다는 특징이 있습니다. 스레드를 사용하는 예제가 다음의 코드..