본문 바로가기

전체 글14

[debugging] core dump error 1. 환경 사용 운영체제: Rocky LINUX 8 개발 언어: Python 3.9 miniconda에 별도의 환경을 구성하여 Python 3.9 설치 GUI는 개발 과정 중의 손쉬운 수정을 위해 PySide6를 사용하여 작성 하드웨어와 연결하는 소프트웨어를 제외하고 나머지 소프트웨어들은 메시지 통신 메시지 통신은 RabbitMQ Server를 사용 2. 사용자 화면 내의 주요 기능 하드웨어 상태 모니터링 촬영 화면 뷰어 뷰어 상의 마우스 클릭 이후 계산 과정 하드웨어로부터 이미지 얻어오는 반복 기능 리스트뷰(QPlainTextEdit)에 로그 보여주기 3. 반복 기능 구현 메시지 통신을 위해 queue를 감시하는 Thread 여러 개 ProgressBar 동작을 위한 QTimer 두 개 4. 에러 메시.. 2023. 11. 8.
[C언어 왕초보 탈출 강좌] 반복 구조 C언어를 독학하시는 분들을 위해 포스팅합니다. 이 글은 완전 처음 접하는 왕초보 분들을 위한 강좌입니다. 가급적 자주 포스팅하겠습니다. 포스팅을 자주 해야 하는데, 개발일 하며, 개인적인 공부에, 여러 가지 가정 내 처리할 것들이 많아서인지;;; 생각만큼 자주 못해서 죄송합니다. 그나마 다행(?)인 것은, 아직 방문하시는 분들이 많지 않아서, 저 또한 나태해지는 것 같습니다. 그래도, 어느덧 왕초보 강좌가 거의 정리가 되어가는 것 같아서, 나름 뿌듯합니다. 다시금 마음을 잡고 열심히 하겠습니다!!! 오늘은 지난 포스팅에 이어, 알고리즘을 표현하는 구조 중 마지막인 반복 구조에 대해 알아보도록 하겠습니다. 반복구조는 크게 두 가지 함수를 사용하여 표현할 수 있습니다. for 구문과, while 구문입니다... 2023. 6. 6.
[C언어 왕초보 탈출 강좌] 선택 구조 C언어를 독학하시는 분들을 위해 포스팅합니다. 이 글은 완전 처음 접하는 왕초보 분들을 위한 강좌입니다. 가급적 자주 포스팅하겠습니다. 지난 포스팅에 이어, 알고리즘을 구현하기 위한 제어 구조 중 선택 구조에 대해 살펴보도록 하겠습니다. 우리는 이미 이전 글에서, 선택 구조에 대한 개념에 대해 간단히 접한 적이 있습니다. 관계연산자와 논리연산자에 대한 예제를 살펴볼 때, 선택 구조의 형태의 순서도를 보았습니다. 그때가 기억나지 않으신다면, 잠시 보고 오셔도 괜찮습니다. 선택 구조는 기본적으로 선택의 갈림길에서, Yes or No를 선택합니다. 그리고 각자 그에 따른 다른 길을 가게 됩니다. 선택 구조는 다음의 3가지의 형태로 표현될 수 있습니다. 1. if if(조건문) 처리문 실제 코드를 통한 예제를 .. 2023. 5. 11.
[C언어 왕초보 탈출 강좌] 순차 구조 C언어를 독학하시는 분들을 위해 포스팅합니다. 이 글은 완전 처음 접하는 왕초보 분들을 위한 강좌입니다. 가급적 자주 포스팅하겠습니다. 이전 포스팅까지 우리가 C언어로 코딩하기 전에 꼭 알아야 할 기초 개념에 대해 살펴보았습니다. 이제 본격적으로 시작하도록 하겠습니다. 알고리즘을 효율적으로 잘 구현하기 위한 여러 제어 구조가 있다고 말씀드렸습니다. 순차 구조, 선택 구조, 반복 구조이지요.이 세 가지 구조는 알고리즘을 구성하는 기본 구조이며, 더 이상의 다른 구조는 없습니다. 간단한 것 같이 느껴지겠지만, 이 세 구조가 함께 섞이게 되면서 복잡해집니다. 하지만, 걱정 마세요! 어느 정도 궤도에 오르게 되면, 당연한 것, 별것 아닌 것으로 여겨질 겁니다. 이번 포스팅은 세 가지 구조 중 가장 기본이 되는 .. 2023. 5. 6.
[C언어 왕초보 탈출 강좌] 알고리즘, 제어 구조 C언어를 독학하시는 분들을 위해 포스팅합니다. 이 글은 완전 처음 접하는 왕초보 분들을 위한 강좌입니다. 가급적 자주 포스팅하겠습니다. 이전 포스팅까지는 C언어를 시작하기 전에 가장 기본이 되는 개념 몇 가지를 살펴보았습니다. 이 개념만 가지고도 바로 코딩이 가능합니다! 코딩을 본격적으로 시작하기 전에, 우리가 왜 코딩을 해야 하는지에 대해 그 근본적인 내용부터 살펴보고, 구조와 그 종류에 대해 알아보도록 하겠습니다. 알고리즘이란? 알고리즘이란 무엇일까요? 학생들에게 알고리즘이 무엇인지에 대해 질문을 하면, 대다수 학생들은, 다들 그게 뭔지는 알겠는데, 대답을 잘하지 못합니다. 쉽게 생각해 봅시다. 알고리즘은 어떤 문제를 해결하기 위한 어떠한 절차라고 말할 수 있을까요? 네! 맞습니다. 우리는 일상생활 .. 2023. 5. 3.
[C언어 왕초보 탈출 강좌] 연산자 C언어를 독학하시는 분들을 위해 포스팅합니다. 이 글은 완전 처음 접하는 왕초보 분들을 위한 강좌입니다. 가급적 자주 포스팅하겠습니다. 모든 프로그래밍 언어는 "연산자"의 개념이 있습니다. 각 언어마다 표현하는 방식이 약간 다를 수는 있지만, 개념은 똑같습니다. C언어를 통해 연산자를 잘 익히시면, 다른 프로그래밍 언어를 공부하실 때에는 훨씬 수월하겠죠? 연산자는, 산술 연산자, 관계 연산자, 논리 연산자 이렇게 크게 세 가지로 나누어 볼 수 있습니다. 1. 산술 연산자 산술 연산자는 사칙 연산, 그러니까, "+", "-", "x", "÷"와 나눈 나머지를 표현한 개념을 포함합니다. 다음은 산술 연산자의 표현식입니다. 산술 연산자 개념 표현식 더하기 + 빼기 - 곱하기 * 나누기 / 나눈 나머지 % 산술.. 2023. 4. 30.
[C언어 왕초보 탈출 강좌] 출력문, 입력문 C언어를 독학하시는 분들을 위해 포스팅합니다. 이 글은 완전 처음 접하는 왕초보 분들을 위한 강좌입니다. 가급적 자주 포스팅하겠습니다. 프로그래밍 언어를 처음 배울 때, 가장 처음 실행하라고 나오는 것이, "Hello world!" "Hello 언어" 입니다. 그만큼 가장 기본적이고도 많이 사용하는 명령이라는 것이겠죠? (VS code를 사용하였습니다. 참고하세요.) 1. 출력문 C언어의 출력문은, printf("출력내용"); 입니다. 다음의 순서도를 봅시다. 먼저 a와 b라는 변수에 각각 5, 10의 값을 넣도록 합니다. 그리고 컴퓨터에게 인사를 하고, a, b를 출력해 보겠습니다. #include int main() { int a = 5; int b = 10; printf("Hello world!\n.. 2023. 4. 15.
[C언어 왕초보 탈출 강좌] 상수와 변수, 대입문 C언어를 독학하시는 분들을 위해 포스팅합니다. 이 글은 완전 처음 접하는 왕초보 분들을 위한 강좌입니다. 가급적 자주 포스팅하겠습니다. 오늘 이야기할 상수, 변수, 대입문은 C언어뿐만 아니라, 프로그래밍 언어에 해당하는 내용이니, 잘 이해하시는 것이 중요합니다. 1. 상수 상수는 프로그램이 실행되어서 끝날 때까지 절대 변하지 않는 값입니다. 우리가 중학교 때 배우는 방정식에서 말하는 "상수항"과 같은 의미로 생각하시면 됩니다. 프로그램에 사용되는 특정한 값이 있을 경우에, 매번 숫자를 넣지 않고, 그 특정한 숫자를 정의하고 사용하는 데 이것이 바로 상수입니다. 2. 변수 변수는 말 그대로 "변하는 값"입니다. 변수는 메모리의 개념에서 이해를 해야 하는데요, 그릇에 담긴 토마토를 생각해 봅시다. 그릇은 메.. 2023. 3. 25.
[C언어 왕초보 탈출 강좌] 순서도, 컴퓨터의 생각 표현 C언어를 독학하시는 분들을 위해 포스팅합니다. 이 글은 완전 처음 접하는 왕초보 분들을 위한 강좌입니다. 가급적 자주 포스팅하겠습니다. 관련글: C언어 공부 방법 프로그래밍 공부에 관한 고찰 순서도 (Flowchart)는 프로그래밍 언어 개발에 중요한 개념 중 하나입니다. 순서도는 프로그램 논리를 그래픽으로 표현하여, 복잡한 프로그램을 더 쉽게 이해하고 구현할 수 있도록 도와줍니다. 순서도를 작성하는 것은, 프로그램을 작성하는 데 도움이 되는 중요한 단계입니다. 이를 통해 논리적인 흐름을 파악하고, 프로그램의 구조를 이해하며, 다양한 경우들을 고려하여 알고리즘을 최적화할 수 있습니다. 따라서, 프로그래밍 언어를 배우고 개발하기 위해서는, 순서도에 대한 기초 지식이 필요합니다. 순서도 작성 방법과 도형들의.. 2023. 3. 15.
[C언어 왕초보 탈출 강좌] C언어 기본 구조 C언어를 독학하시려는 분들을 위해 포스팅을 시작합니다. 이 글은 완전 처음 접하는 왕초보 분들을 위한 강좌입니다. 가급적 자주 포스팅하려고 노력하겠습니다. 관련글: ChatGPT에게 물어봤다. C언어 공부 방법, 프로그래밍 공부에 관한 고찰 인터넷에 검색해 보면 정말 많은 개발 툴이 있습니다. code blocks, Dev C++, Visual Studio code (VS code),... 취향대로 고르면 되겠는데요, 저는 VS code를 추천합니다. Visual Studio가 무료 사용이 가능한 community 버전으로도 나왔고, 다양한 언어 또한 지원하지만, 일단 설치가 너무 무겁습니다. MFC를 당장에 쓸 게 아니라면, (초보자들은 MFC가 뭔지 모르신다면 그냥 skip 하셔도 됩니다) VS co.. 2023. 3. 8.