분류 전체보기(472)
-
컴퓨터 OS 프로세스
프로세스의 개념 프로세스란 실행중인 프로그램을 의미한다. 프로그램 그 자체는 프로세스가 될 수 없다. 프로그램은 명령어 리스트틀 내용으로 디스크에 저장되어있는 수동적인 존재이다. 이와 대조적으로 프로세스는 다음에 실행할 명령어를 지정하는 프로그램 카운터와 레지스터, 포르세스 상태 등이 함께 존재하는 집합을 가진 능동적인 존재이다. 프로세스 상태 새로운(new): 프로세스가 생성 중이다. 실행(running): 명령어들이 실행되고 있다. 대기(waiting): 프로세스가 어떤 사건(입출력 완료 또는 신호의 수신 같은)이 일어나기를 기다린다. (I/O 또는 event 같은 것 때문에 기다리고 있다) 준비 완료(ready): 프로세스가 처리기에 할당되기를 기다린다. 종료(terminated): 프로세스의 실행..
2020.09.05 -
리눅스 프로그래밍 환경 구성하기
리눅스 프로그래밍 환경 구성하기 교수님께서는 ubuntu iso 파일을 다운받아 가상머신에 실행하셨다. 하지만 나는 가상머신이 컴퓨터 자원을 너무 많이 사용하고 용량또한 너무커서 docker로 환경을 만들었다. docker로 구성하게 되면 가상환경에 비해 리눅스 자체 기술인 chroot, namespace, cgroup 등을 이용하여 프로세스 단위의 격리 단위를 만들어 주기 때문에 성능 손실이 거의 없습니다. 이와 같은 기술을 사용하면 프로세스를 따로 분리해 독립적으로 실행하는 것과 같이 만들어 성능 손실이 거의 없습니다. 또한 모든 파일이 존재하는 것이 아닌 필요한 파일 및 라이브러리가 존재하기 때문에 훨씬 가볍다. 그래서 배포하는 시간이 훨씬 빠르고 성능 손실이 거의 없다. 우선 교수님에게 맞추어서 ..
2020.09.02 -
Mac OpenGL 설치
1. 우선 Xcode를 설치 및 실행한다. Xcode에 자동적으로 OpenGL이 설치되어있기 때문에 특별히 해야하는 건 없다. 다음으로 Command Line Tool을 선택한 다음 언어는 C++로 설정해준다. 2. OpenGL 프레임 워크 추가하기 밑에 + 버튼을 누른 후 OpenGL과 Glut를 검색해서 추가하면 된다. 3. 이제 사용할 OpenGL을 import해서 사용하면 완료!!#include #include #include int main(int argc, const char * argv[]) { // insert code here... std::cout
2020.09.01 -
백준 1644 소수의 연속합
소수의 값으로만 부분 집합을 구해서 연속합을 구하는 문제이다. 부분 집합의 연속합을 구하는 부분에서 당연히 투포인터가 쓰일 것이고 어떻게 소수 모음을 만들어 내는지가 중요한 포인트이다. 필자는 두달전에 한번 풀었고 다시 복습을 통해 풀었는데 소수를 구하는 방법히 전혀 달랐다. 그래서 안좋은 예와 좋은 예 두 코드를 작성해보겠습니다. 안좋은 예 에스트라네스의 체를 활용했는데 상당히 비효율적으로 코드가 작성되었다. 2부터 400000만까지 소수인지 확인하며 하나씩 추가해줬습니다. 더보기 #include #include int arr[4000002]; int setPrimeNumber(int num); int discoverCount(int N); int main(){ int index = 0, N; for(..
2020.07.19 -
백준 2437 저울
사실 이문제는 다른 사람들의 풀이를 봤다. 답을 보고 어떻게 이런생각을 하지...... 라며 감탄을한 기억이 난다. 여러 개의 추의 합 중 만들 수 없는 가장 작은 합을 구하는 문제이다. 추들을 정렬 후 더하면서 처음으로 합보다 큰 수가 나오면 다음 값을 만들 수 없게된다. 그간 합 + 1이 답이된다. #include #include #include using namespace std; int N; vector input(); int main(){ vector scale = input(); int base = 1; for(auto sc : scale){ if(base < sc) break; else base+=sc; } printf("%d", base); } vector input(){ scanf("%d..
2020.07.18 -
백준 1786 - 찾기
백준 1786-찾기는 문자열 모음에서 하나의 문자열이 몇번 등장하는지 찾는 문제이다. KMP 기본문제라서 KMP를 공부하고나서 쉽게 풀었다. 사실 KMP만 알면 누구나 풀 수 있는 문제이다. 찾았을 때 begin+1을 한 이유는 문자열을 탐색할 때 index는 0부터 시작하지만 문제입장에서는 1번째 문자 부터 검사하기 때문이다. #include #include #include #include using namespace std; vector getPi(string hook); vector KMPSEARCH(string base, string hook); int main(){ string base, hook; getline(cin, base); getline(cin, hook); vector result ..
2020.07.18