본문 바로가기
반응형

프로그래밍174

도커] Windows 10에서 도커로 우분투 설치하기 우선 windows 10에 있는 powershell을 켜줍니다. 도커를 정상적으로 설치가 됬다면 다음과 같은 그림이 나오게 됩니다. 도커에 대한 명령어 레퍼런스는 https://docs.docker.com/engine/reference/run/#docker-run-reference링크를 참조하면 됩니다. 그럼 이제 도커 위에 이미지 파일을 설치해보겠습니다. $ docker search 명령어를 통해 우분투 목록을 확인해 줍니다. 제일 위에있는것이 우분투 최신 버전이므로 아래와 같이 다운받아 줍니다. $ docker pull ubuntu 다운로드 완료 후$ docker images명령어를 입력하면 아래와 같이 나올 것입니다. 그럼 해당 이미지파일을 컨테이너로 변경하는 작업을 해야 합니다. docker cr.. 2020. 5. 15.
Window10 - 도커 설치하기(튜토리얼) 도커 홈페이지https://www.docker.com/ 이 글은 2020-05-15 일날 작성된 글입니다.이 이후엔 바뀌었을수도 있으니 참고 바랍니다. 도커 홈페이지에서 Windows를 다운받아 줍니다. .exe파일을 실행하고 설치하면 아래와 같은 체크박스가 오는데 다 체크하고 넘어가줍니다. Windows 10 Home Windows 10 Pro 설치가 완료되면 다음과 같은 화면이 나오고 제시작을 해줍니다. 실행하고 나면 도커 튜토리얼을 할지 안 할지 나오는 창이 생깁니다. 그냥 사용하실 분들은 스킵 튜토리얼을 누르시면되고 저 처럼 처음이신 분들은 파란색 박스를 누르시는걸 추천드립니다. 여기 아래는 튜토리얼 설치 방법이니 굳이 안보셔도 됩니다. 첫번재 화면에서 git clone으로 getting-star.. 2020. 5. 15.
C++] map 사용법과 원리 map이란? 배열을과 비슷하게 생겼습니다. 배열은 index값을 통해 값을 찾죠. ex) a[3] = { 10. 20. 30 }; a[0] = 10, a[1] = 20, a[2] = 30. 이런식으로 a라는 배열에서 원하는 값을 얻기 위해 0 ~ 2까지의 번호를 입력해 얻어옵니다. map은 순차적으로 증가하는 배열의 index와는 다르게 key와 value로 구성되어 있습니다. key는 사용자가 직접 정의해줘야 합니다. key는 int가 될 수있고 string이 될 수 있고 그밖의 자료형도 가능합니다. map은 다음과 같은 형태로 저장됩니다. map은 red-black tree로 구성되어 key별로 오름차순 혹은 내림차순이 가능합니다. 아무것도 지정안하고 map만 하면 오름차순으로 정렬이 되면서 삽입이 .. 2020. 2. 5.
C/C++ IPC인 mailslot에 대한 이해 Mail Slot은 프로세스간에 데이터를 주고받기 위한 방식중 하나입니다. 프로세스는 기본적으로 자신에게 할당된 메모리를 공유할 수 없기 때문에 여러가지 방법으로 데이터를 주고 받습니다. Mail Slot은 파일에 데이터를 적어 놓고 다른 프로세스들이 해당 파일에 접근해서 데이터를 읽어오도록 합니다. 따라서 파일을 읽을 수 있는 함수인 ReadFile() 함수와 데이터를 작성할 수 있는 WriteFile() 함수가 사용됩니다. MailSlot의 특징은 다음과 같습니다. 1. 단방향 통신이다. CreateMailslot() 함수로 보낼 메일 슬롯의 파일을 생성하고 WriteFile()함수를 통해 입력을 하게되고 CreateFile() 함수를 통해 파일을 열어 해당 내용을 읽어올 수 있는 ReadFile().. 2020. 1. 16.
Restful에 대한 이해하기(Restful 특징) - 4 이 글은 제가 C++ Restful 인 casablanca를 개발하는데 앞서 일반적인 Restful의 정의를 알아보고자 작성하는 글입니다. 조사 기간은 7일걸렸습니다. 목차는 다음과 같이 진행됩니다. 1. 웹의 역사(Restful의 탄생 배경을 알아보기 위해선 시작점을 이해해야 했습니다.) 보러가기 : https://hwan-shell.tistory.com/139 2. xml과 json, soap의 통신 방식과 단점. 보러가기 : https://hwan-shell.tistory.com/140 3. Restful 과 soap의 차이점. 보러가기 : hwan-shell.tistory.com/141?category=826872 4. Restful의 특징 ※REST는 무언가 대단한것이 아니며 꼭 이러한 규칙을 .. 2020. 1. 13.
Restful에 대한 이해하기(Restful과 SOAP차이) - 3 이 글은 제가 C++ Restful 인 casablanca를 개발하는데 앞서 일반적인 Restful의 정의를 알아보고자 작성하는 글입니다. 조사 기간은 7일걸렸습니다. 목차는 다음과 같이 진행됩니다. 1. 웹의 역사(Restful의 탄생 배경을 알아보기 위해선 시작점을 이해해야 했습니다.) 보러가기 : https://hwan-shell.tistory.com/139 2. xml과 json, soap의 통신 방식과 단점. 보러가기 : https://hwan-shell.tistory.com/140 3. Restful 과 soap의 차이점. 4. Restful의 특징 보러가기 : hwan-shell.tistory.com/142 저희는 앞서 SOAP에 대해 알아보았습니다. 이해를 돕기위해 SOAP의 특징을 설명해.. 2020. 1. 13.
Restful에 대한 이해하기(xml, soap란?) - 2 이 글은 제가 C++ Restful 인 casablanca를 개발하는데 앞서 일반적인 Restful의 정의를 알아보고자 작성하는 글입니다. 조사 기간은 7일걸렸습니다. 목차는 다음과 같이 진행됩니다. 1. 웹의 역사(Restful의 탄생 배경을 알아보기 위해선 시작점을 이해해야 했습니다.) 보러가기 : hwan-shell.tistory.com/139?category=826872 2. xml과 json, soap의 통신 방식과 단점. 3. Restful 과 soap의 차이점. 보러가기 : hwan-shell.tistory.com/141?category=826872 4. Restful의 특징 보러가기 : hwan-shell.tistory.com/142 그럼 두번째 글 시작하겠습니다. 우선 HTTP통신 방식은.. 2020. 1. 12.
Restful에 대한 이해하기(웹의 역사) - 1 이 글은 제가 C++ Restful 인 casablanca를 개발하는데 앞서 일반적인 Restful의 정의를 알아보고자 작성하는 글입니다. 조사 기간은 7일걸렸습니다. 목차는 다음과 같이 진행됩니다. 1. 웹의 역사(Restful의 탄생 배경을 알아보기 위해선 시작점을 이해해야 했습니다.) 2. xml과 json, soap의 통신 방식과 단점. 보러가기 : hwan-shell.tistory.com/140 3. Restful 과 soap의 차이점. 보러가기 : hwan-shell.tistory.com/141?category=826872 4. Restful의 특징 보러가기 : hwan-shell.tistory.com/142 그럼 시작하겠습니다. ● 웹의 역사. SGML. 출처 : https://ko.wiki.. 2020. 1. 12.
C/C++ 뇌를 자극하는 윈도우 운영체제 프로젝트 2. 윤성우 저자께서 작성하신 "뇌를 자극하는 윈도우 운영체제"의 실습 2번입니다. C언어로 만들어져 있으며 다음과 같은 요구사항을 말하고 있습니다. 1. start 입력시 자식프로세스 생성. 2. start echo "문자열" 입력시, 자식프로세스 생성 후 해당 문자열 출력. 저는 C++을 사용해 구현했으며, Boost의 tokenizer를 사용했습니다. 만든 visualstudio 는 2019 버전을 사용했으며, 다른 버전 사용 시 echo_console.exe 파일 경로가 다를 수 있습니다. 소스코드는 아래와 같습니다. main.cpp #include #include #include #include #include #include #include using namespace std; typedef bas.. 2019. 12. 29.
MSB8020] v142빌드 도구를 찾을 수 없을 때. 보통 visual studio 2019버전에서 github에 작업한걸 올리고 2019보다 아래 버전에서 빌드를 하면 다음과 같은 오류가 나옵니다. 이는 visual studio 2019버전으로 릴리즈 되면서 같이 v142빌드 도구가 생겨난 것이기 때문인데요. 해결방법은 1. 2019버전으로 다시 깔아주거나 2. 빌드 버전을 바꿔주는 방법밖에 없습니다. v142버전은 2019버전만 사용가능하기 때문입니다. 그럼 빌드 버전을 바꿔주는 방법을 알아보겠습니다. 플랫폼 도구 집합을 visual studio 2017(v141)버전으로 바꿔주시면 됩니다. 하지만 왠만해선 최신버전으로 업그레이드 해주세요. 버전마다 폴더 생성위치와 이름이 조금씩 다릅니다. 2019. 12. 29.
visual studio 2017에서 헤더파일을 찾을 수 없을 때. github에서 프로젝트를 받아 visual studio에서 실행시킬 때 발생하는 문제입니다. 보통 버전이 서로 다른 환경에서 저장 후 다운로드를 받아 사용하면 이런 현상이 나타납니다. 그럴경우 아래와 같이 진행해줍니다. 가장 최신 SDK버전 클릭 후 확인. 끝!!. 컴파일 과정에서 MSB8020 오류가 뜬다면 여기를 참고해주세요!!. 2019. 12. 29.
C/C++ 프로세스 생성하기. C/C++에서 프로세스를 생성하는 방법은 다음과 같습니다. CreateProcess() 함수를 통해 생성하는 방법입니다. CreateProcess() 함수는 다음과 같이 정의되어 있습니다. BOOL CreateProcess{ LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURTIY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCTSTR lpCurrentDirectory, LPSTARTUPINFO lpStartupInfo, LPPROCESS_INFO.. 2019. 12. 29.
c/c++ TCHAR 정리. 요즘은 문자를 처리할 때 유니코드를 주로 사용합니다. WBCS라고 하며 모든 문자와 숫자를 2바이트로 처리합니다. 모든 프로그램이 유니코드를 사용하면 좋겠지만.... 실상은 아니죠. 초창기, 문자열 처리는 아스키코드로 사용해왔고, 아스키 코드는 1바이트로 구성됩니다. 그리고 초창기부터 사용되어 왔던 아스키코드를 지금도 사용하고 있죠. C/C++에선 유니코드를 사용함에 따라 문자열 처리를 1바이트와 2바이트 이 두개를 신경써서 해야 했고, 결론적으로 유니코드를 처리할 수 있는 자료형을 만들어 냅니다. 바로 앞에 w를 붙인 자료형이죠. 아래 자료형 선언은 헤더파일에 정의되어 있습니다. (정확히 말하자면 winnt.h에 있지만 이 해더파일을 Windows.h가 포함하고 있습니다.) char = 1바이트 wch.. 2019. 12. 29.
C/C++] 트라이(Trie) 알고리즘을 만들어보자!! 문자열을 (m log n)의 형태로 빠르게 찾는 알고리즘입니다. 구성은 Tree 형태로 만들어지며 입력은 다음과 같이됩니다. "like, bike, bool, book"을 입력받는다고 가정한다면, 이런식으로 들어가게 됩니다. 여기서 root 노드에서 자식노드로 갈 수 있는 경우의 수는 26가지 입니다. 왜냐???!!! 영어 알파벳은 26개 이기 떄문입니다.(대문자 제외) 그래도 모르시겠다고요??!! 영어 알파벳은 a ~ z 까지 있습니다. 이것의 갯수는 26개 입니다. 그럼 영어 단어들의 첫번째 문자로 올 수 있는 경우의 수는 26가지가 되는 것입니다. 예를들어 apple, banana, like, etc..... apple은 a로 시작하고 banana는 b로, like는 l로 시작합니다. 즉, 시작단어.. 2019. 12. 22.
c++의 move, rvalue, lvalue에 대한 설명....(복잡해요~) 무브...... move........ 사전에 알아야할 것들이 있습니다. 1. 복사생성자(깊은복사). 2. static_cast 3. lvalue, rvalue move에 대해 이해하려면 위 3가지는 반드시 짚고 넘어가야 합니다. 1. 복사생성자에 관해선 이미 글을 올린것이 있으니 참고하시기 바랍니다. · 얕은복사와 깊은복사 : https://hwan-shell.tistory.com/42 · 복사생성자의 호출 과정 : https://hwan-shell.tistory.com/43 2. static_cast에 관해서는 아래 링크를 클릭해 주세요. https://hwan-shell.tistory.com/211 3. lvalue, rvalue는 따로 정의할까 하다가같이 설명하는게 좋을것 같아 move와 같이 설.. 2019. 12. 17.
728x90
반응형

스킨편집 -> html 편집에서