본문 바로가기

반응형

분류 전체보기

(425)
[Python] 변수 #1 소개 이번 포스트에서는 파이썬 언어의 변수에 대해 살펴 보도록 한다. 간단하게 변수의 선언과 사용에서 시작하여 변수의 메모리 구조와 형태에 대해 좀더 깊게 알아 보도록 할 것이다. 목차 >> 파이썬 변수의 소개 변수의 타입 변수의 다양한 정보 확인 ctype 모듈을 활용한 변수의 정보 확인 == 와 is 연산자 mutable 변수와 immutable 변수 변수의 삭제 파이썬 정수는 Overflow가 없다? 파이썬 변수의 선언과 사용 프로그래밍 언어에서 "변수"란 정보를 저장할 수 있는 공간(메모리)에 이름을 붙인 것이다. 메모리에 우리가 프로그래밍에서 사용하는 값을 저장하고 변수의 선언 시 붙여준 이름을 통해 그 값에 접근하여 읽고 쓸 수 있도록 해준다. C/C++, C#, Java와 같은 언어와는 다르게 파..
[Python] 파이썬 기초부터 시작하기 - Overview 이번 포스트는 파이썬 프로그래밍 언어를 배우는데 있어 기본중의 기본을 다룬다. 완벽하게 이해하려는 자세보다는 파이썬에는 이런 것들이 있구나 하는 정도의 가벼운 마음으로 읽고 넘어가면 된다. 두번 볼것도 없다. 한번 봤는데 이해가 안된다고해도 그냥 넘어가도록 한다. 자세한 사항은 이어지는 포스트들을 통해 자세히 알려드릴 것이며 중요하게 이해해야 하는 부분들은 중요하다고 따로 언급을 할 것이다. 본 포스트의 제일 마지막 [부록1. 같이 보면 좋은 글]에서 각 항목들을 자세히 다룬 포스트들의 링크를 준비 했으니 잘 활용하도록 하자. 파이썬 설치 본 튜토리얼을 수행하기 전 가장 먼저 해야 할 일은 파이썬을 설치하는 것이다. 파이썬은 파이썬 공식 홈페이지[여기]의 Download 페이지에서 각자의 OS에 맞는 파..
감자 농사 #12주차 지난 감자 농사 #10주차 포스트에서 바로 12주차로 건너 뜁니다. 이런 저런 일이 많아 바쁘기도 했고 감자 수확전에는 최대한 물을 줄 필요가 없어서 굳이 밭에 가야 할 필요가 없었습니다. 2주만에 찾은 밭은 예상대로 여기저기 줄기들이 말라 죽어 있네요. 하지만 나쁘지 않습니다. 원래 줄기가 말라 비틀어져 갈때가 감자를 수확 할때 입니다. 그렇습니다! 드디어 수확을 했습니다!!! 가장 처음 뽑은 줄기에서 나온 감자 입니다. 직경이 1cm도 안되는 아주 조그만 녀석입니다. 이 때 부터 슬슬 걱정이 되기 시작했습니다. '이거 망한건가..?' 하지만 걱정이 무색하게 금방 다양한 크기의 감자들이 우르르 쏟아져 나옵니다. 놀란것은 생각 보다 감자가 깊이 자란 다는 것입니다. 이미 다 캔것 같지만 혹시나 싶어 땅을..
[C++] std::priority_queue 다익스트라 알고리즘을 구현하다 우선 순위 큐가 필요해 만들다 보니 C++에서 이미 표준 라이브러리로 priority queue를 제공하고 있음을 이제야 알게 되어 포스트를 작성한다. 우선 순위 큐는 일반 큐의 기능에 추가하여 엘리먼트가 삽입될때 마다 값(우선순위가)이 가장 큰(또는 가장 작은) 엘리먼트를 큐의 가장 앞에 위치한다. 이를 이용하여 우선 순위가 높은 작업을 먼저 처리 한다던지의 적용이 가능하다. 다익스트라 알고리즘에서는 오름차순으로 정렬하도록하여 가장 거리가 가까운 노드들을 먼저 방문하는데 사용 할 수 있다. std::priority_queue #include template< class T, class Container = std::vector, class Compare = std::les..
다익스트라(Dijkstra) 알고리즘 안 가본 노드 중에 가장 빨리 갈 수 있는 노드에 가서 거리 기록하는 일을 반복 #include #include #include #include constexpr int VERTEX_COUNT = 5; constexpr int distances[5][5] = { { 0,-1, 6, 6,-1}, { 3, 0,-1,-1,-1}, {-1,-1, 0, 2,-1}, {-1, 1, 1, 0,-1}, {-1, 4,-1, 2, 0}, }; /* constexpr int VERTEX_COUNT = 6; constexpr int distances[VERTEX_COUNT][VERTEX_COUNT] = { { 0, 2, 5, 1,-1,-1}, { 2, 0, 3, 2,-1,-1}, { 5, 3, 0, 3, 1, 5}, { 1,..
[Linux] ssh 패스워드로 로그인 설정하기 public 키와 private 키를 이용해 편리하게 패스워드 입력 없이 ssh에 로그인 할 수 있지만, rsa키를 생성하고 등록하는 것들이 오히려 더 불편한 경우가 있다. 이럴 경우 PasswordAuthentication 옵션을 활성화하여 로그인시 패스워드를 입력 받는 방법도 있다. 옛날에는 모르겠는데 요즘은 기본적으로 off로 되어 있어 아무것도 모르는 상태로 패스워드 입력 할것을 기대하고 접속을 하면 'Permission denied(publickey)' 오류를 발생시키며 접속에 실패한다. 아래는 ssh 로그인 시 패스워드를 받는 옵션을 활성화 시키는 방법에 대해 이야기 하고 있다. ssh_config 수정 $ sudo vi /etc/ssh/ssh_config PasswordAuthenticati..
[VBA] csv 임포트 지난 포스트에서는 엑셀의 워크시트들을 각각의 csv 파일로 내보내는 방법에 대해 살펴 보았습니다. [여기] 이번 포스트에서는 csv파일을 엑셀의 워크시트로 읽어오는(import) VBA 스크립트를 살펴 보도록 하겠습니다. VBA 스크립트 - import csv Alt + F11로 VBAProject 창을 띄웁니다. '모듈 > 삽입 > 모듈' 을 선택해 프로젝트에 모듈을 추가 합니다 모듈의 이름을 'Import'로 변경합니다. 원하신다면 다른 이름으로 해도 상관 없습니다. ※ 이름을 변경하기 위해 F2를 눌러도 아무런 소용이 없습니다. 추가 하신 모듈을 선택 하고 속성창에서 직접 변경 해줘야 합니다. 아래 코드를 복사해서 붙여 넣습니다. Sub OpenDialog() Dim fd As FileDialog ..
[C++] 윈도우 콘솔에서 UTF-8 출력하기 들어가며 C++을 이용해서 UTF-8로 인코딩된 파일의 내용을 읽어와 콘솔창에 출력 할 때, 특히 윈도우의 경우 '?쒓??뚯뒪?' 처럼 텍스트가 깨져서 콘솔에 출력 된다. 기본적으로 유닉스 베이스 OS 콘솔은 코드페이지가 UTF-8을 지원하지만, 윈도우 콘솔은 기본 아스키 코드 페이지이기 때문에 SetConsoleOutputCP 함수를 이용해 프로그램과 연결된 콘솔의 코드페이지를 변경해주어야 한다. ※ SetConsoleOutputCP함수의 보다 자세한 사항은 [여기]를 참고하자. Example 아래는 '한글테스트'라고 적혀 있는 utf-8로 인코딩 된 파일을 읽어와 출력하는 예제다. NOTE : 티스토리 코드 블록 버그인지 아래 코드를 그대로 복붙해서 빌드하면 컴파일 에러가 발생하므로 첨부 파일을 다운..
감자 농사 #10주차 감자 농사가 완전 망한거 같습니다. 땅속에 있는 녀석들이라 아직 만나 보지는 못 했지만 이번 주 상태를 보니 당장 망했다고 해도 이상하지 않을 정도네요. 아무래도 무당 벌레를 자주 잡아 줘야 하는데 일주일 마다 한번씩 밖에 가지를 못하니 무당 벌레가 아주 잔치를 벌여 놓았습니다. 줄기들도 비를 많이 맞아서 그런지 힘이 없이 다 늘어져 밭의 흙들이 군데 군데 보입니다. 6월 말이나 7월 초가 되면 감자 수확을 하게 될텐데...과연 얼마나 수확 할 수 있을지 걱정 되네요. 많이 수확하면 어찌 다 먹을까 걱정. 적게 수확하면 고생한게 아까울까 걱정.. 무당 벌레가 한마리 보이길래 요놈 잘 걸렸다. 아주 멱을 따서 네놈 친구들에게 본때를 보여 주마라고 잡으려고 했더니 7성 무당 벌레네요. 사진 몇 장 찍으며 조..
[C++] boost 설치 및 visual studio 설정 본 문서는 소스 코드를 이용해 boost 라이브러리를 빌드하고 비주얼 스튜디오와 연동하는 방법에 대해 다루고 있다. 포스트의 부록으로 윈도우 환경에서 boost 라이브러리를 다운로드 받고 설치하는 스크립트를 추가해 놓았으므로 귀찮으면 [여기]에서 실행 스크립트를 다운 받아 실행 해도 된다. 1. 비주얼 스튜디오 설치 윈도우에서 boost를 설치하기 위해서는 비주얼 스튜디오의 cl.exe가 필요하다. 이미 설치되어 있다면 다음 장으로 바로 진행 해도 된다. 만일 아직 비주얼 스튜디오가 설치 되지 않은 상태라면 먼저 [여기]에서 비주얼 스튜디오를 다운 받고 설치하도록 한다. 2. boost 다운로드 boost 라이브러리는 https://www.boost.org/의 다운로드 페이지에서 다운로드 할 수 있다. ..

반응형