본문 바로가기
반응형

목록363

C++] 스마트 포인터에 대하여... 스마트 포인터란?? 기본적으로 포인터라고 하면 *ptr을 떠올리게 됩니다. 그리고 주소 값을 해당 포인터 변수에 넣어주죠. int *ptr = # 이런식으로요.... 하지만 포인터가 new로 생성된 변수... 즉, Heap메모리에 할당된 주소 값을 가르키게 될 때 프로그래머의 실수로 Memory leak이 발생할 수 있습니다. delete를 안해서 말이죠...... 스마트 포인터를 사용하게 된다면 해당 걱정은 없어지게 됩니다. Stack에 선언된 스마트 포인터가 pop이 된다면..... 즉, {} 함수가 끝나게 된다면 Heap에 할당된 메모리는 자동적으로 초기화 시켜줍니다. C++에서 스마트 포인터는 3가지가 있습니다. 1. unique_ptr 2. shared_ptr 3. weak_ptr 그럼 .. 2020. 5. 31.
프로그래머스] C++ 이분탐색 - 예산(Level 3) 해당 문제는 프로그래머스 코딩테스트 연습에 있는 문제입니다. 아래 링크를 통해 풀 수 있습니다. https://programmers.co.kr/learn/courses/30/lessons/43237 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것입니다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있습니다. 그래서 정해진 총액 이하에서 가능한 한 최대의 총 예산을 다음과 같은 방법으로 배정합니다. 1. 모든 요청이 배정될 수 있는 경우에는 요청한 금액을 그대로 배정합니다. 2. 모든 요청이 배정될 수 없는 경우에는 특정한 정수 상한액을 계산하여 그 이상인 예산요청에는 모두 상한액을 배정합니다. 상한액 이하의 예산요청에 대해서는 요청한 .. 2020. 5. 24.
PNG -> PDF로 변환하는 사이트 링크 : https://pdfcandy.com/ko/png-to-pdf.html 좋음!! 2020. 5. 18.
c++] make, makefile의 사용방법(기본적인 설명) 1. makefile 이란?? 요 세개의 파일이 있다고 가정해 봅시다. 우리는 아래와 같은 명령어를 통해 실행파일을 만들어낼 수 있습니다. $ g++ -c test1.cpp add.cpp -> test1.o, add.o 파일 생성(오브젝트 파일) $ g++ -g test1.o add.o -> a.out 파일 생성(실행 파일) or $ g++ test1.cpp add.cpp -> test1.o, add.o, a.out 파일 생성 이렇게 된다면 해당 폴더 안에는 6개의 파일이 존재하게 됩니다. 그런데 만약에 헤더 파일을 바꾸거나, mius.cpp라는 코드가 추가되거나, 동적 라이브러리를 추가하게 되거나 등.... 다시 컴파일 해야할 일이 생깁니다. 또한 .o(오브젝트 파일)은 쓸모가 없어고 보기에도 폴더 자.. 2020. 5. 18.
gcc/g++ 분할 파일 컴파일 하기. C언어. 1. 함수 등록. 123456789101112// test.c #include int add(int a, int b); int main(){ printf("%d\n", add(1, 2)); return 0;} cs 123456// add.c int add(int a, int b){ return a + b;} cs 명령어. $ gcc test.c add.c (오브젝트 파일 과정과 실행파일 지정 생략 가능) 2. 헤더 파일선언 1234567891011// add.h #ifndef _ADD_H_#define _ADD_H_ #include int add(int a, int b); #endif cs 123456// add.c int add(int a, int b){ return a + b;} cs 123.. 2020. 5. 17.
gcc / g++ 사용법과 설명 1. 소개. GNU 프로젝트에 의해 개발되었으며, 현제는 여러 언어를 컴파일하는 컴파일러입니다. 여기서!!컴파일 : 고급언어(C, C++, JAVA, etc...)를 컴퓨터가 알아먹을 수 있도록 하는 일련의 과정을 뜻함.컴파일러 : 고급언어(C, C++, JAVA, etc..)를 기계어(어셈블리어)로 바꿔주는 프로그램을 뜻함. 리눅스에 "test.c" 라는 C 파일이 있고 이를 GCC로 컴파일해보겠습니다. 이런식으로 진행이 됩니다. 그럼 전처리가 진행되는 부분부터 살펴보도록 하겠습니다. gcc와 g++ 사용법과 다른것은 그냥... C언어면 gcc 사용하면되고 C++파일이면 g++로 사용심 됩니다. 2. 전처리 전처리란?? #include, #define, typedef, extern 과 같은 것들이 정의.. 2020. 5. 17.
개인 프로젝트] 진행상황 - 7일차 흠...... 삽질을 많이하고 찾은 자료들을 정리해서 블로그에 글 쓰고..... 아무런 지식도 없는 상태에서 구글링 하면서 하려고 하니..... 확실히 혼자서 하니깐 시간낭비가 좀 많네요.... :( 그래도 하루종일 허성생활 보내는것 보단 낫네요 ㅋㅋㅋ 본론으로 들어가서... 일단 서버 개발환경 셋팅은 마무리 된 듯 싶습니다. 도커로 띄운 테스트? 웹 서버가 외부에서 접속이 가능 했으니깐.... 클라이언트단에서 서버로 통신이 간능해 졌다는 뜻이죠!! 갈 길이 머네요..... 서버 코딩... C++로.... ㅈㄴ어려울것 같은데...... 우선 자고 일어나서 makefile 만들고, 정리해서 글 올리고.... 여기까지가 되지 않을까... 싶네요. 스마일게이트 인턴십 공고도 올라와서 한번 넣어보려고 하고요. .. 2020. 5. 17.
도커] 외부에서 도커 컨테이너의 웹페이지에 접근하는 방법. 1. 들어가기 한가지 가정을 해 봅시다. 어떤 언어가 되었건 도커를 사용해 웹서버를 만들었습니다. 그럼 단순히 ip주소와 port번호를 입력한다고 해당 웹 페이지에 접속할 수 있을까요?? 결론은 설정을 단 하나도 안해놨다면 불가능 합니다. 그럼 지금부터 접속하는 방법에 대해, 원리를 설명하면서 예기해 보겠습니다. 2. 필요한 설정. 도커의 --cap-add=NET_ADMIN를 이용한 컨테이너 네트워크 인터페이스 설정.컨테이너를 만들 때 도커 포트와 실제 OS의 포트를 동기화.컨테이너에 올라와있는 서버 포트 개방.이정도가 되겠습니다. 3. 포트 동기화 포트 동기화를 하는 이유 설명. 가정.1. 현재 도커에는 우분투 이미지가 올라가 있고 우분투 위에 파이썬으로 만든 웹페이지가 있다고 가정합니다.2. 웹페이지.. 2020. 5. 16.
도커] Windows10 VSCode와 도커 리눅스 연결하기 1. 들어가기본 글은 Windows 10 환경에서 VSCode와 도커 컨테이너를 연결하는 글입니다. 2. 준비물1. VSCode2. 도커 리눅스 컨테이너3. 해당 리눅스의 update, upgrade, ssh 설치여부 3. VSCode 셋팅Window 10 환경에 VSCode를 설치 했다면 확장프로그램 "Remote Development" 를 설치해 줍니다. 설치가 완료되면 도커 리눅스 컨테이너로 넘어가 줍니다. 4. 도커 컨테이너 리눅스 셋팅 ※ 리눅스에 update, upgrade, ssh 설치가 되신분은 해당 부분은 넘어가셔도 됩니다. 1. $ apt-get update 2. $ apt-get upgrade 3. $ apt-get install ssh 5. Windows 10 셋팅 완성이 되었다면 .. 2020. 5. 16.
개인 프로젝트] 도커 설치 후 셋팅환경 만들기 - 6일차 2틀전에 캠핑장을 다녀와서 프로젝트 진행이 멈췄었고 다녀오고 나서 계속 진행했습니다. 우선 도커를 설치하고 도커 위에 우분투를 깔았습니다. 그 후 docker hub에 이미지 업로드까지 완료했는데.... 하루가 지나가 버렸네요.... 아직 우분투 셋팅이 끝나지 않았고 셋팅이 끝나면 바로 restful 서버를 구축함과 동시에 안드로이드도 같이 진행해야 할 것 같습니다. 안드로이드 개발은 kotlin을 사용해볼 것이며, 동시에 진행하는 이유는 안드로이드와 서버간의 통신이 이뤄지는지, 값을 전달하면 잘 받는지를 체크하면서 개발하려고 합니다. 거의 모든 것이 새로 공부하면서 하는것이기 때문에 진행이 많이 늦네요..... 데드라인은 7월 31일까지 끝내는걸로 정했습니다. 2020. 5. 16.
도커] 셋팅이 끝난 이미지 파일을 docker hub에 업로드 하기 도커로 리눅스를 설치한 후 해당 리눅스 셋팅이 다 끝났으면 Docker Hub에 해당 이미지 파일을 저장할 수 잇습니다. https://www.docker.com/에서 간단한 회원가입을 마친 후 로그인을 해줍니다. 로그인이 완료됐다면 새로운 이미지 파일을 만들어 줍니다. 우선 이미지를 만들 원본파일이 되는 컨테이너를 검색합니다. 맨 끝에 NAMES를 보시면 해당 컨테이너의 이름이 나옵니다. NAMES 이름으로 이미지 파일을 만들어 줍시다. commit -m 'vim_install' 이 부분은 코멘트를 달아주는 것으로 저는 vim을 설치했기 때문에 코멘트를 이런식으로 달았습니다. ubuntu_server이녀석은 제가 여지껏 작업했던 컨테이너의 이름입니다.(ps -a했을 때 나온 녀석, 2번 사진 참조) d.. 2020. 5. 16.
티스토리 마크다운 언어 쓰기(프로그래밍 코드 양식?) 많은 프로그래밍 관련 글들을 올리실 때 요런거?? 위와 같은 형식의 글들을 보신적 있으실 겁니다. 아니면 이런거요. 이런거 이런것들을 적용하는 방법에 대해 소개해볼까 합니다. https://github.com/sindresorhus/github-markdown-css 여기에 있는 css를 가져다 사용하는 겁니다. 우선 티스토리 설정창에 가신 후... 스킨편집 클릭!! 여기까지오면 html 편집기가 열릴텐데 거기서 이걸 복사해서 뒤에 삽입하면 됩니다. 저는 link가 끝나는 마지막 부분에 삽입했습니다. 그 후 css 로 바꾼 후 맨 아래에 다음 같은 코드를 넣어줍니다. .markdown-body { box-sizing: border-box; min-width: 200px; max-width: 980px; .. 2020. 5. 16.
도커] 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.
개인 프로젝트] cpp restful 적용하기 - 3일차 구상도를 세우고 3일째 되는 날입니다. 전날은 컨디션 난조로 쉬었고 오늘 좀 조사해 봤습니다. 우선 타사 플랫폼을 이용한 로그인 기능은 네이버, 다음 다 가능할 것으로 보여집니다. 특히 카카오는 JSON으로 보내주기 때문에 cpp casablanca에 JSON 파싱하는 라이브러리가 있습니다. 해서 일단 C++로 해볼 생각입니다. 결제 시스템도 알아봤는데 이건 어플단에서 시행되는 것 같더군요.... 아직 조사가 더 필요하지만 보류해도 괜찮을 것 같습니다. 그럼 카사블랑카 서버 설계부터 해야겠습니다.!! 2020. 5. 13.
728x90
반응형

스킨편집 -> html 편집에서