728x90
반응형

2024/03 7

[C++] 컨텍스트 스위치란

컨텍스트 스위치(Context Switch)CPU가 현재 실행 중인 프로세스 또는 스레드에서 다른 프로세스 또는 스레드로 전환하는 과정 이 과정에는 현재 실행 중인 프로세스의 상태(컨텍스트)를 저장하고, 새로운 프로세스의 상태를 불러와서 CPU가 이어서 작업을 수행할 수 있도록 하는 작업이 포함 컨텍스트 스위치는 다음과 같은 상황에서 발생- Time Slice가 끝났을 때: 운영체제가 각 프로세스에 할당한 시간이 끝나면 다음 프로세스로 전환 - I/O 요청이 있을 때: 프로세스가 I/O 작업을 요청하면, 그 작업이 완료될 때까지 CPU는 다른 프로세스로 전환 - 우선순위가 높은 프로세스가 등장했을 때: 더 높은 우선순위를 가진 프로세스가 실행 준비가 되면, 현재 프로세스를 중단하고 우선순위가 높은 프로세..

C++ 2024.03.17

[커리어] 주니어 -> 중급 개발자가 되기 위한 역량

프로그래밍 기술 향상: 기본적인 프로그래밍 경험을 넘어서 다양한 프로젝트와 언어에 대한 실무 경험 이 말을 단순히 연차가 쌓이면서 프로그래밍 기술이 향상된다고 생각하면 버그가 발생한 것이다. 기술의 향상은 방치형 게임이 아니니까. 스스로 모르는 기술, 새로 나온 기술, 다른 분야에 대해 공부하고 만들어보지 않는다면 스스로 고여버리고 그 기간이 길어진다면 본인의 우물을 점점 더 깊게 파고 나가기 힘들어지게 만들 뿐이다. 라이브러리를 사용하더라도 시간 여유가 있다면 어떤 기술을 사용했는지, 어떤 문제가 있는지와 같이 다른 사람의 기술을 훔치는 것 또한 중요하다고 생각한다. 좋은 점은 내 것으로 만들고, 미흡한 부분은 개선하여 흡수하며 나의 기술을 강화하고 레벨 업해야 한다. 데이터베이스 및 운영 체제 이해:..

잡다한 팁 2024.03.17

[CPP] 분할 구현

- .h(헤더) 파일에는 함수나 클래스의 선언 - .cpp 파일에는 함수나 클래스의 구현(구현하는 부분에서는 선언한 .h파일을 #include "~~.h"식으로 전처리 해주어야 한다) - 이후 함수를 참조하려면 .h파일 전처리(#include) 하면 해당 함수 사용 가능 test.hclass TestClass{ private: int m_testValue; public: void Output(); void Set(int _value); int Get(); }test.cpp #include #include "test.h" void Test::Output(){ std::cout

C++ 2024.03.15

[C++] Merger Sort 병합 정렬

[병합 정렬의 이점] - 많은 양의 데이터에 대해 효율적 - 효율 O(Log N) - 안정적인 정렬 알고리즘 - 데이터의 초기 순서에 관계없이 항상 일정한 성능 제공 [병합 정렬의 단점] - 메모리를 임시로 저장하기 때문에 메모리 요구량이 크지만, 요즘 사양의 컴퓨터에겐 큰 무리는 없을 수 있다 #include #include // 두 개의 정렬된 서브 배열을 합병하는 함수 void merge(std::vector& arr, int left, int mid, int right) { int n1 = mid - left + 1; int n2 = right - mid; // 임시 배열을 생성하고 데이터를 복사합니다. std::vector L(n1), R(n2); for (int i = 0; i < n1; i+..

C++ 2024.03.15

[C++] Quick Sort 퀵 정렬

[퀵 정렬의 이점]- 무작위로 분포되어 있고, 많은 양의 데이터를 정렬할 때도 효율적이고 빠르다 - 메모리 요구량이 작음 - 보통의 경우의 정렬 효율은 Log N이지만 이미 정렬된 배열을 정렬하면 O(n^2) 효율이 되므로 주의해야 한다.#include void swap(int &a, int &b); void QuickSort(int *arr, int start, int end); int main() { int qs[] = {7, 8, 5, 4, 3, 9, 1, 2, 6}; QuickSort(qs, 0, 8); for (int i = 0; i < (int)(sizeof(qs) / sizeof(*qs)); i++) { std::cout

C++ 2024.03.15
728x90
반응형