분류 전체보기
시스템 프로그래밍: 프로세스 스케줄링(Process Scheduling)
시스템 프로그래밍: 프로세스 스케줄링(Process Scheduling)
2013.06.08[시스템 프로그래밍] 프로세스 스케줄링 (Process Scheduling) 이번 '프로세스 스케줄링(Process Scheduling)'편에서는 스케줄링(Scheduling)이 무엇인지, 그리고 프로세스의 상태 전이에 대해서 간단히 알아보도록 하겠습니다. 스케줄링(Scheduling) 컴퓨터 내의 가장 핵심적인 역할을 담당하는 중앙 처리 장치인 CPU는 사람의 기관에 비유하자면 '뇌'라고 말할 수 있습니다. 사람이 두가지의 생각을 동시에 하지 못하듯, CPU도 마찬가지로 동시에 두개의 프로세스를 관리하지 못합니다. 그렇지만, 우리가 보고 있는 이 모니터 화면 안에서는 여러개의 프로그램이 함께 동작하여 작업을 할 수 있게끔 보여지는데 이는 우리가 배우게 될 '스케줄링(Scheduling)'이란 동작 기법..
C++/STL 강좌 1편. 함수 포인터(Function Pointer)
C++/STL 강좌 1편. 함수 포인터(Function Pointer)
2013.06.071. 함수 포인터(Function Pointer)오늘은 번외편의 시작으로 함수 포인터(Function Pointer)에 대해 알아보려고 합니다. 포인터(Pointer) 앞에 함수(Function)가 붙으니 대충 어떠한 녀석인지 감이 잡히시나요? 당연히 함수를 가리키는 포인터가 있다는 것은 함수에도 주소가 존재함을 알 수 있습니다. 함수명은 함수의 시작 주소를 의미하고, 이 함수 포인터를 선언할 때에는 함수 시그너쳐(signature)와 같도록 선언해야 합니다. 다른 말로는 원형과 같도록 선언해야 한다고 말할 수 있겠네요. 만약에 아래의 원형을 갖는 함수를 가리키는 포인터를 선언하려면 어떻게 해야 할까요? int sum(int a, int b) 반환형은 int이며, 매개변수는 int, int임을 알 수 있..
어셈블리: 함수 호출 규약(Calling Convention)
어셈블리: 함수 호출 규약(Calling Convention)
2013.06.07[어셈블리 스터디] 호출자와 피호출자간의 약속! 함수 호출 규약(Calling Convention) 함수 호출 규약(Calling Convention)이란 호출자(Caller)와 피호출자(Callee) 간에 '함수를 호출할 때 전달되는 인자의 순서나 사용이 끝나고 나서의 스택 정리 등'에 대한 약속이라고 할 수 있습니다. 크게 3가지가 있으며, 이 3가지는 각각 __cdecl, __stdcall, __fastcall 방식입니다. 오늘은 이 세가지 방식에 대해 알아보려고 합니다. __cdecl 방식 __cdecl 방식은 C/C++ 함수에서 기본적으로 사용되는 호출 규약이며, 호출자가 스택을 정리합니다. 그리고 인자는 오른쪽에서 왼쪽으로 전달되며 호출자가 피호출자를 호출 시에 전달되는 인자의 개수를 알고있기..
2013. 06. 06 제이펫 관련 클래스
2013. 06. 06 제이펫 관련 클래스
2013.06.06using System; using System.Collections.Generic; using System.Text; using System.Net; using System.IO; namespace jpetJBOARD { class clsJpet { CookieContainer cookie; public clsJpet() { cookie = new CookieContainer(); } public Boolean Login(String ID, String Passwd) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://jpet.jboard.net/mb/mb_logincheck.php"); request.Method = "POST"..
2013. 06. 04 배송 조회 프로그램
2013. 06. 04 배송 조회 프로그램
2013.06.04
2013. 05. 31 네이버 게시글 관리기
2013. 05. 31 네이버 게시글 관리기
2013.06.01
자료구조 5강. 힙(Heap)
자료구조 5강. 힙(Heap)
2013.05.31[자료구조 강좌] 특별한 트리를 기본으로 하는 자료구조! 힙(Heap) 오늘은 '힙(Heap)'이란 자료구조에 대해서 알아보려고 합니다. 이 힙(Heap)이란 자료구조는 위키백과에 따르면 '특별한 트리를 기본으로 하는 자료구조이다.'라고 설명되어 있습니다. 여기서 특별한 트리란 우리가 전에 배운 완전 이진 트리를 말하며, 힙 자료구조는 최대 힙(Max Heep)과 최소 힙(Min Heep)으로 나뉘며 이러한 힙은 최대값 또는 최소값을 짧은 시간내에 찾기 위해서 만들어진 자료구조입니다. 최대 힙이란 부모 노드의 값이 항상 자식 노드의 값보다 크다는 것이며, 최소 힙은 부모 노드의 값이 항상 자식 노드의 값보다 작다는 것입니다. 예를 들어, 부모 노드의 값이 항상 자식 노드의 값보다 작은 최소 힙(Min H..
알고리즘 2-3강. 탐색 알고리즘 - 이진 탐색 트리(Binary Search Tree)
알고리즘 2-3강. 탐색 알고리즘 - 이진 탐색 트리(Binary Search Tree)
2013.05.28[탐색 알고리즘 강좌] 데이터를 찾아보자! 이진 탐색 트리(Binary Search Tree) 이번에는 이진 탐색(Binary Search)이 적용된 이진 트리(Binary Tree)에 대해서 알아볼 것입니다. 이진 트리(Binary Tree)에 대해 더 상세한 설명을 보고싶으시면 아래 링크를 방문하여 이진 트리에 대한 설명을 읽어보시기 바랍니다. 이진 트리(Binary Tree): http://blog.eairship.kr/215 우리가 알고 있는 이진 트리는 자식 노드가 최대 두 개의 노드를 지니고, 네 가지 성질을 지닙니다. 자식 노드가 아에 없거나, 왼쪽 자식 노드 혹은 오른쪽 자식 노드 하나만 존재하거나, 왼쪽과 오른쪽 자식 노드를 모두 지니는 경우입니다. 그렇다면, 우리가 배우게 될 이진 탐색..
2013. 05. 28 노트북 배터리 경보기
2013. 05. 28 노트북 배터리 경보기
2013.05.28정확히 이 프로그램을 만들게 된 이유는 게임하다가 배터리 알림음이 묻혀서 갑자기 컴퓨터가 종료되는 일이 부쩍 많아져서 이런 프로그램을 만들게 되네요..
알고리즘 2-2강. 탐색 알고리즘 - 이진 탐색(Binary Search)
알고리즘 2-2강. 탐색 알고리즘 - 이진 탐색(Binary Search)
2013.05.25[탐색 알고리즘 강좌] 데이터를 찾아보자! 이진 탐색(Binary Search) 이번에는 순차 탐색에 이어 이진 탐색(Binary Search)에 대해 알아보도록 할텐데, 이 '이진 탐색(Binary Search)'이 왜 이진인지 짐작이 가시나요? 이진 탐색이란 이름이 붙여진 이유는 한번 비교를 거칠때 탐색 범위가 반(1/2)으로 줄어들기 때문에 그렇습니다. 이 탐색 알고리즘은 순차 탐색과는 달리 정렬된 배열을 전제로 합니다. 이진 탐색이 얼마나 빠른 알고리즘이냐면, 70억 명 중에서 특정한 정보를 탐색하려 할 때, 순차 탐색은 평균적으로 35억 번을 비교하고, 이진 탐색은 최대 33번의 비교로 데이터를 찾을 수 있습니다. 놀랍죠? 이진 탐색(Binary Search)의 탐색 과정 이제 한번, 위같은 정..
알고리즘 2-1강. 탐색 알고리즘 - 순차 탐색(Sequential Search)
알고리즘 2-1강. 탐색 알고리즘 - 순차 탐색(Sequential Search)
2013.05.23[탐색 알고리즘 강좌] 데이터를 찾아보자! 순차 탐색(Sequential Search) 이 강좌에서 알게될 '순차 탐색(Sequential Search)'는 바로 데이터가 모인 데이터 배열이 있으면 이 데이터 배열의 처음부터 끝까지 차례대로 비교하여 원하는 데이터를 찾아내는 알고리즘입니다. 이 순차 탐색은 데이터를 따로 조작할 필요가 없어 단순하지만 비효율적이라는 단점을 지니고 있습니다. 추가로 순차 탐색은 단방향으로 탐색을 수행하기 때문에 선형 탐색(Linear Search)라고 부르기도 합니다.위에서 말했듯이, 순차 탐색 알고리즘은 단순하여 구현이 정말 간단합니다. 순차 탐색은 정렬되어 있지 않은 데이터 배열에서 평균적으로 (n+1)/2번의 비교를 거치며, 최악의 경우 n번의 비교를 거칩니다. 시간 ..
블로그 2차 도메인 변경
블로그 2차 도메인 변경
2013.05.05제목 그대로 블로그의 2차 도메인을 변경하였습니다. 메일플러그에서 도메인을 구입하고, 네임서버는 dnsever쪽의 네임서버를 사용하였습니다.(메일플러그에서 구입한 도메인이 1년에 9800원으로, 다른 도메인 제공 업체들보다 확실히 싼편입니다.)http://www.mailplug.com/front/domain/domain_regist 그리고 바뀐 2차 도메인은 아래와 같습니다.http://blog.eairship.kr/ 추신. 블로그에 글이 뜸해졌는데 전에 말했듯이, 시험기간이라 올릴 여건이 안되는 것 같습니다.시험기간이 5월 13일부터 5월 15일까지고, 학교 내 행사와 정보올림피아드 때문에 더 늦어질 듯 싶네요.최소 5월 21일에 강좌가 재개될듯 합니다. 늦으면 5월 26일, 6월 1일 이정도에 글이 ..