본문 바로가기
반응형

분류 전체보기271

[c언어] 멀티스레딩과 병렬 프로그래밍 멀티스레딩의 개념 멀티스레딩은 하나의 프로세스 안에서 여러 스레드를 생성하고 실행하는 개념입니다. 스레드는 각각 독립적으로 실행되며, 공유 데이터에 대한 동시 접근을 조절하는 동기화 메커니즘을 사용할 수 있습니다. 멀티스레딩은 여러 작업을 동시에 처리하는 데 도움을 주며, 다중 코어 CPU에서 더 효율적으로 작동합니다. 이로써 프로그램의 응답성을 향상시키고, 복잡한 작업을 분할하여 더 빠르게 실행할 수 있습니다. 병렬 프로그래밍의 개념 병렬 프로그래밍은 여러 프로세스 또는 스레드가 동시에 작업을 수행하는 개념입니다. 이는 다중 프로세서 시스템에서 특히 중요합니다. 병렬 프로그래밍을 사용하면 여러 작업을 분산시켜 동시에 처리하고, 더 빠른 실행 속도를 달성할 수 있습니다. 이러한 기술은 과학 및 엔터프라이.. 2023. 10. 28.
[C언어] strstr 함수 사용 C 언어의 strstr 함수는 문자열에서 하위 문자열을 검색하는 데 사용됩니다. 이 함수는 매우 유용하며 문자열 처리와 검색 작업에서 자주 활용됩니다. strstr 함수의 사용 방법과 동작 원리를 자세히 살펴보겠습니다. 1. 함수의 선언과 기능 strstr 함수는 헤더 파일에 선언되어 있습니다. 함수의 선언은 다음과 같습니다 char *strstr(const char *haystack, const char *needle); haystack: 검색 대상이 되는 문자열입니다. needle: 찾고자 하는 부분 문자열입니다. strstr 함수는 needle 문자열이 haystack 문자열 내에서 발견되는 위치를 찾아 해당 위치의 포인터를 반환합니다. 만약 needle을 찾을 수 없으면 NULL 포인터를 반환합니.. 2023. 10. 27.
[임베디드] Watchdog Timer란? Watchdog Timer(WDT)는 임베디드 시스템에서 안정성과 신뢰성을 제고하기 위한 중요한 하드웨어 디바이스입니다. 이 기능은 주로 마이크로컨트롤러나 임베디드 시스템에서 사용되며, 시스템이 정상 동작하고 있는지 지속적으로 감시하며, 시스템이 비정상적인 동작 상태로 빠질 때를 대비하여 동작합니다. 1. WDT 동작 원리 WDT 설정: WDT를 사용하기 전에 초기화되어야 합니다. 초기화는 주로 레지스터 설정을 통해 이루어지며, 타이머의 주기와 동작 모드를 결정합니다. 이 주기는 일반적으로 몇 초에서 몇 분까지로 설정되며, 이것이 WDT가 시스템을 감시하는 주기입니다. WDT 리셋: 시스템의 주요 루프나 태스크 내에서 주기적으로 WDT를 리셋해야 합니다. 이는 WDT 타이머를 초기 상태로 재설정하며, 시.. 2023. 10. 27.
[C언어] memcpy 함수 사용법 C 언어에서 메모리 복사 작업은 프로그래밍에서 매우 중요한 부분입니다. 이를 위해 사용되는 memcpy 함수는 메모리 영역을 다른 메모리 영역으로 복사하는 역할을 합니다. 이번 포스팅에서는 memcpy 함수에 대해 자세히 알아보고, 실제 활용 방법과 최적화 기술을 다루겠습니다. memcpy 함수란? memcpy는 C 표준 라이브러리에서 제공하는 함수 중 하나로, 메모리 복사를 수행합니다. 함수 프로토타입은 다음과 같습니다. void *memcpy(void *dest, const void *src, size_t n); dest: 복사할 대상 메모리 영역의 포인터 src: 복사할 소스 메모리 영역의 포인터 n: 복사할 바이트 수 memcpy 함수 사용 예제 아래는 memcpy 함수를 사용하여 문자열을 복사하.. 2023. 10. 27.
[Mysql] Select Query 성능 최적화 MySQL 데이터베이스는 데이터를 검색하는 SELECT 쿼리가 매우 중요한 역할을 합니다. SELECT 쿼리의 성능을 최적화하여 웹 애플리케이션의 반응성을 향상시키는 방법에 대해 알아봅시다. 이번 포스팅에서는 MySQL SELECT 쿼리의 성능을 향상시키기 위한 다양한 전략과 기술에 대해 설명하겠습니다. 1. 인덱스 활용 가장 기본적인 성능 최적화 방법은 인덱스를 활용하는 것입니다. 인덱스를 적절하게 설계하고 사용하여 검색 작업을 빠르게 만들 수 있습니다. WHERE 절에 자주 사용되는 열에 인덱스를 생성하고, 여러 열을 조합한 복합 인덱스를 활용 CREATE INDEX idx_column ON your_table(column); 2. 필요한 열만 선택 불필요한 열을 포함하지 않고 필요한 열만 선택하여 .. 2023. 10. 27.
[Mysql] Insert Query 성능 최적화 MySQL 데이터베이스는 대부분의 웹 응용 프로그램에서 중요한 역할을 합니다. 그런데 대용량 데이터를 빠르게 INSERT하는 것은 때로 어려울 수 있습니다. 이번 포스팅에서는 MySQL에서 INSERT 성능을 향상시키는 여러 가지 방법에 대해 알아보겠습니다. 1. Bulk INSERT 사용 INSERT 작업을 가속화하기 위한 가장 기본적인 방법은 Bulk INSERT를 사용하는 것입니다. Bulk INSERT는 한 번의 쿼리로 여러 개의 레코드를 삽입하는 방법입니다. 이를 위해 INSERT INTO ... VALUES 대신 INSERT INTO ... VALUES, (...), (...), ...와 같은 형태를 사용합니다. INSERT INTO your_table (column1, column2) VAL.. 2023. 10. 27.
반응형