본문 바로가기

Computer Science

공유메모리와 관련 함수 공유메모리와 관련 함수 1. 프로세스와 메모리 모든 프로세스는 자신의 업무를 수행하기 위해서 필요한 자료를 저장하기 위해 각자 메모리공간을 차지한다. 이러한 메모리공간에는 CPU에 의해 수행되는 명령어들, 프로그램 시작시 정의되고 초기화된 데이타, 프로그램 시작시 정의되었지만 초기화 되지 않은 데이타, 함수호출에 필요한 정보, 동적할당이 이루어지는 데이타등 이 들어간다. 프로세스는 시작시 혹은 실행중에 이러한 데이타를 저장하고 사용하기 위한 메모리 공간을 커널에 요구하여서 할당받아 사용하게 되는데, 이러한 메모리공간은 기본적으로 메모리를 요청한 프로세스만이 접근가능하도록 되어있다. 하지만 가끔은 여러개의 프로세스가 특정 메모리 공간을 동시에 접근해야할 필요성을 가질때가 있을것이다. 2. 공유메모리 모든 .. 더보기
네이트온(NateOn) 딜레이 해결방법 네이트온을 쓰다보면 대화및 쪽지를 주고받을때 딜레이가 심해지는 경우가 있다. 점유율을 체크해봐도 심하게 올라가진 않치만 미치도록 느릴때가 있는데 문제는 네이트온 AD때문인거 같다. 그럼~ 간단히 문제를 해결해보자~ C:\Windows\System32\Drivers\Etc\ 로가서 host라는 파일을 notepad로 열어줍니다. 쭉쭉쭉~ 맨아래부분에 127.0.0.1 cyad.nate.com 라고 추가해주고, 저장~ 네이트온을 재실행해보면 짜쟌~ 더보기
ReadyBoost(레디부스트) 란? 레디부스트(ReadyBoost)는 마이크로소프트 윈도 비스타 운영 체제에 처음 포함된 디스크 캐시 기술이다. USB 2.0의 플래시 메모리, SD 카드, 콤팩트플래시와 같은 플래시 종류의 메모리를 사용함으로써 윈도 비스타를 실행하고 있는 컴퓨터가 더 응답을 빠르게 만들어 주며, 시스템 성능을 향상시키는 것이 레디부스트의 목적이다. 레디부스트는 윈도 XP의 프리패처의 업데이트된 버전인 슈퍼패치를 가속하기 위해 사용할 수도 있다. 슈퍼패치는 시동 시간 디스크 사용 패턴의 분석을 수행하고 잇따르는 시스템 시동에 쓰이는 캐시를 만든다. - 위키백과 ReadyBoost 사용가능 USB. 용량은 256MB 이상이어야 한다. 장치의 접근 시간은 1ms보다 낮아야 한다. 장치는 4 킬로바이트 임의 읽기를 위해 초당 2.. 더보기
Dev-C++ 4.9.9.2 , C/C++ Compiler C/C++ 컴파일러인 Dev-C, Dev-cpp의 장점이라면 오픈소스로 gcc을 기반으로 계속해서 개발되고있고.. 또한 GNU(General Public License)를 따르기에 무료로 사용하실 수 있습니다. GNU는 UNIX Compatible Free Software를 제작해온 단체인데, 누구나 가입해서 자유롭게 프로그램을 만들 수 있습니다.. 아래 링크에서 다운가능합니다. http://sourceforge.net/projects/dev-cpp/files/Binaries/Dev-C%2B%2B%204.9.9.2/devcpp-4.9.9.2_setup.exe/download 특별히 설치과정에서 어려운 부분은 없다. 한글을 선택해준다. 동의해주세요 입맛에 따라 선택하거나, 그냥 냅두셔도 상관없다. 설지할 .. 더보기
안드로이드 개발자 라이센스 (Android developer license) 안드로이드 마켓에 어플을 제작하여 올리려면 라이센스가 필요하다. 어플을 제작하기위한 이클립스+sdk(software development kit)등은 사이트에서 무료로 제공받을 수 있다. 개발에 필요한 프로그램 및 정보는 아래 사이트를 참고하면된다. http://developer.android.com/index.html 아래 사이트에서 가입후 라이센스 등록이 가능하고, 25불이다. http://market.android.com/publish/signup 주문항목에 Android-Developer Registration Fee for ..... USD 25.00인것을 확인할 수 있다. 나머지 해당 정보를 입력하면 구입완료~! App store 개발 라이센스의 1/3정도 가격인 것을 볼때 부담없이 안드로이드.. 더보기
요일구하는 공식 요일은 간단한 식으로 구할 수 있습니다. (y+y/4-y/100+y/400+(13*m+8)/5+d)%7 Year, Month, day를 입력받고 해당요일을 구하는 공식입니다. if(m 더보기
알고리즘 강좌 7회 백 트래킹 백 트래킹(Backtracking : 되추적)의 개념부터 살펴보자. 백트래킹을 한마디로 말하자면... “몽땅 다 찾아본다” 라는 말로 요약이 가능하다. 여기다 살을 조금 붙이면 “답에 될 수 있는 것을 몽땅 다 찾아본다” 라는 말로 확장할 수 있다. 백트래킹의 개념은 이 말 그대로다. 답이 될 만한 것들을 모두 다 뒤져봐서 그 중에서 답을 찾는 알고리즘이 바로 백트래킹이다. 이러한 백트래킹은 몇가지 특징을 가진다. 1. 함수의 재귀호출을 이용해 구현한다. 2. 모든 가능성을 몽땅 뒤져보는 것이기 때문에, 대체로 수행하는데 시간이 오래 걸린다. 3. 모든 가능성을 몽땅 뒤져보는 것이기 때문에, 백트래킹으로 풀 수 없는 문제는 별로 없다. 이 특징들을 대충 살펴보자. 1번에 나온 것처럼 백트래킹은.. 더보기
알고리즘 강좌 6회 - 그리디 #2 - 5. 그리디의 실제 #3 이번에도 그리디를 이용해서 효과적으로 풀 수 있는 문제를 알아보자. 그래프 G가 있을때, 한 정점에서 다른 모든 정점으로 가는 경로를 구하는 알고리즘을 아는가? 이것은 Dijkstra(다익스트라)라고들 부르는 방법이다. 이 알고리즘은 그래프가 있을때 두 정점사이의 최단거리를 구할때 꽤나 유용하다. 서론은 이 정도로 하고, 본격적으로 이 알고리즘을 알아보자. 다익스트라 알고리즘은 지난회에서 배웠던 MST와 좀 비슷하다. 다음과 같은 그래프(저번에 나왔던)을 보자. A에서 다른 정점으로 가는 최단 경로들을 구해보자. 일단 A를 선택한다. 그리고 A를 집합 Y에 넣는다. 그다음 A에서 가장 가까운 정점 B를 선택하고, B를 집합 Y에 넣는다. 그러면 Y = {A, .. 더보기
안드로이드 프로그래밍정복 SDK 2.1+2.2, 한빛미디어  한빛미디어, 안드로이드 프로그래밍 정복 (정가:36,000원) "인터넷 정보로 이크립스와 SDK는 설치했고, 어떻게 하다보니 "hello world"도 출력했지만 도대체 어플은 어떻게 만들라는건가?"에 고민될때에 충분한 답을 줄 수 있는 책이다. 책이 849페이지로 두꺼운편이지만 그만 큼 자세하게 나와있어서 처음 안드로이드를 접하는 입문 개발자들에게 크게 도움이 될것이고 필요에 따라서 필요한 부분만 봐도 무방하다. 더보기
알고리즘 강좌 5회 - 그리디 #1 - 1. 그리디(Greedy)란? 이번에 우리가 공부해 볼 알고리즘은 그리디(Greedy)이다. 간단히 그리디에 대해 알아보면, 어원 그대로 상당히 탐욕적임을 느낄 수 있을 것이다. 그리디 알고리즘의 핵심은, 몇번의 선택을 하면서 답을 찾아내는데, 그 선택은 전에 결정했거나 앞으로 결정할 선택을 고려하지 않고, 그 당시의 상황에서만 가장 최적인 해를 취하는 것을 의미한다. 이런 과정을 거치기 때문에 그리디 알고리즘은 또 다른 중요한 특징을 가진다. 각 선택들은 부분적으로는 최적일지 모르나 전체적으로 보면 최적이 아닐 수도 있다는 점이다. 그래서 그리디 알고리즘을 쓸 때는 ‘전체적으로도 최적이 되는가?’ 라고 한 번 다시 생각해 봐야한다. ...이렇게 말해놓으면 무슨 소린지 잘 모르는 사람.. 더보기