Programming
-
[포트포워딩] 라즈베리파이 외부접속하기Programming/Server 2020. 10. 24. 17:23
안녕하세요, 오늘 다를 주제는 라즈베리 파이에 관한 주제입니다. 요즘 사이드프로젝트로 웹 사이트를 하나 만들고 있던 와중에 방 정리를 하는데 예전에 구매해두었던 라즈베리 파이를 발견했습니다! 그 때 이번에 만드는 사이트는 이 라즈베리파이를 서버로 구동해보면 재밌겠다 라는 생각을 했습니다. 저는 평소에 주로 카페에서 공부를 하는데 문제는 라즈베리 파이를 들고다니기엔 번거롭다는 거였습니다. 그래서 포트포워딩을 통해 집에 연결해놓은 라즈베리파이를 외부에서 접속하는 방법에 대해 알아보고 포스팅 해보도록 하겠습니다. 1. 같은 네트워크에서 접속하기 우선 기본적으로 라즈베리파이와 같은 네트워크에 연결되어 있을 때는 단순 아이피 주소와 ssh 를 사용하여 접속할 수 있습니다. ifconfig 를 사용하여 라즈베리 파..
-
[C++ STL] 리스트(List)Programming/C++ 2020. 8. 8. 18:44
STL 은 C++ 표준 템플릿 라이브러리이고, 일반적으로 가장 많이 사용되는 라이브러리는 컨테이너 라이브러리 입니다. 컨테이너는 말 그대로 자료 형들을 담는 역할을 하고 STL 컨테이너는 list, vector, deque, map, set 이 있습니다. 이 포스트에서는 list 에 대해서 다뤄보겠습니다. List 의 자료구조는 연결 리스트로 되어 있다. List 는 앞뒤로 모두 이동이 가능한 이중연결 리스트로 이루어져 있습니다. 연결 리스트는 일반적인 배열과는 다르게 조금 복잡한 모양과 구현 과정을 가지는데요, 이러한 자료구조를 사용함으로써 얻는 몇 가지 이득이 있습니다. 길이가 가변적이다. 배열은 처음 설정할 때 그 크기를 정해줘야 하고, 이 크기를 넘어서는 데이터가 들어가면 컴파일 오류를 일으키는 ..
-
[C++ STL] 템플릿(Template)Programming/C++ 2020. 8. 5. 16:23
STL 이 Standard Template Library 의 약자이며 표준 템플릿들의 모음이라는 것을 알게 되었는데 이 템플릿(Template) 이라는 것이 도대체 뭘까요? '템플릿' 이라는 용어는 PPT 템플릿, 파일 템플릿 등 일상 생활에서도 많이 사용됩니다. 사전적 의미로는 '틀', '주형' 등의 의미로 무언가를 담거나 미리 정해두는 틀이라는 의미를 갖습니다. C++ 에서는 이러한 템플릿을 함수나 클래스를 담는 틀로써 사용합니다. 만약 여러분이 여러 명의 학생들을 가르치는 교수이고 이 학생들의 시험 성적을 분반, 성적 순으로 정렬하여 한 번에 볼 수 있도록 프로그램을 만들고 싶다고 하면 우선적으로 분반별로 학생들을 정렬해야 합니다. 이를 위해서 두 수를 비교하는 함수를 만들어 보도록 하죠. int ..
-
[알고리즘] 재귀(Recursion) - 하노이탑Programming/Algorithms 2020. 8. 4. 17:02
하노이의 탑은 3개의 기둥과 서로 크기가 다른 여러개의 원판들이 있을 때 이 원판들을 한 기둥으로부터 다른 기둥으로 옮기는 일종의 게임입니다. 게임을 시작하기 전 초기 상태는 3개의 기둥 중 하나의 기둥에 모든 원판들이 아래에서부터 크기가 큰 순으로 놓여져 있으며, 최종 목표는 이 원판들을 하나씩 옮겨서 순서 그대로 다른 기둥에 쌓는 것입니다. 이 때 2가지 규칙이 있습니다. 원판은 한 번에 한 개씩만, 기둥에서 기둥으로만 움직일 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 하노이탑은 재귀함수를 사용하여 해결할 수 있는 대표적인 문제입니다. 1, 2, 3번 기둥이 있고, n 개의 서로 다른 크기의 원판들이 있다고 할 때 1번 기둥에 쌓여져 있는 n 개의 원판들을 모두 3번 기..