728x90
반응형

전체 글 134

[RTOS] QNX

QNX QNX는 Real Time Operating Ssystem(RTOS) 입니다. RT Solution Site 더보기 RTOS 중에서 QNX는 선두주자로써 Real-time, Microkernel, Preemptive, Prioritized, Message Passing, Network Distributed, Multitasking, Multi-user, Fault Tolerant 등 다양한 특징을 가지고 있습니다. QNX 응용분야 ​ 1. Industrial - Building automation ​ 2. Medical - Diagnostic imaging system - Robotics surgical system ​ 3. Networking - High-end router ​ 4. Securi..

개발 이야기 2020.05.09

오토핫키 ImageSearch, Send, Sleep

안녕하세요. 앤디라이언입니다. 이번에는 오토핫키의 꽃, 메인인 이미지 서칭에 대해 배워봅시다. 준비물은 24비트 BMP의 이미지 파일입니다. ImageSearch ImageSearch, PosX, PosY, 0, 0, A_ScreenWidth, A_ScreenHeight, Option + FilePath + FileName PosX, PosY 는 찾은 이미지의 x, y 좌표값을 저장할 변수입니다. 0,0 은 이미지를 찾을 시작점 A_ScreenWidth, A_ScreenHeight 는 이미지를 찾을 종료점이라고 생각하시면 됩니다. 0,0,A_ScreenWidth, A_ScreenHeight의 의미는 현재 모니터의 전체크기라고 생각하시면 됩니다. ImageSearch를 실행하면 ErrorLevel이라는 값..

개발 이야기 2020.05.08

메세지 큐 (Message Queue)

오늘은 메세지 큐 구현에 대해 설명을 하고자 합니다. 메세지 큐는 IPC 통신 방법 (파이프, 메세지 큐, 공유 메모리 등) 중 하나입니다. 메세지 큐 역시 단방향 통신이며, 전송되는 자료는 큐의 크기에 따라 상대방이 가져가지 않는다고 하더라도 큐 크기만큼 계속 전송이 가능합니다. 반대로 수신자는 전송자가 전송하지 않더라도 큐에 있는 자료를 가져갈 수 있습니다. 예를 들어, 송신자가 30번째 데이터까지 전송하고 죽었다고 가정하면, 수신자는 30번째 데이터까지는 큐에 있기때문에 송신자의 연결 유무와 관계 없이 받을 수 있다는 얘기입니다. 즉, 데이터가 중간에 소실되거나 순서가 뒤바뀌는 일은 없을 것입니다. 그리고 데이터 타입을 정해서 원하는 데이터만 보내는 것도 가능합니다. type struct { lon..

개발 이야기 2020.05.08

IPC 종류와 특징

안녕하세요. 앤디라이언입니다. 오늘은 Linux시스템에서 사용하는 IPC에 대해 알아보겠습니다. IPC ( Inter Process Communication )는 내부 프로세스간 통신을 의미합니다. 프로세스는 독립적인 수행을 하기때문에 프로세스간의 통신을 할 수 없는 단점이 있습니다. 즉, 독립되어 있기 때문에 별도의 설비가 없이는 서로간의 통신이 불가능 하다는 의미입니다. 이러한 IPC는 System V IPC와 POSIX IPC로 나뉩니다. System V IPC는 오래된 버전이며 오랜 역사를 가진만큼 이기종간 코드 호환성을 확실히 보장해 줍니다. 하지만 API도 오래되었으며, 더 이상 업데이트가 되지 않는 단점이 있습니다. 반면, POSIX IPC는 직관적인 API로 구성되어 있으며, 상대적으로 사..

개발 이야기 2020.05.08

POSIX pthread_mutex

안녕하세요. 앤디라이언입니다. 오늘은 mutex에 대해 알아볼까 합니다. mutex mutex는 여러 개의 쓰레드가 공유하는 자원에 대한 점유권을 가지게 하는 것으로 많이 비유하는 표현이 화장실 예가 있습니다. 화장실에 A라는 사람이 열쇠를 가지고 들어갔다고 생각해보세요. 그럼 그 다음 사람은 열쇠도 없고 문이 잠겨있기 때문에 A라는 사람이 나올 때까지 대기하고 있다가 A라는 사람이 볼 일을 보고 나오면 B라는 사람이 들어갈 수 있습니다. mutex라는 영역이 바로 화장실에 비유됩니다. 여러 개의 쓰레드가 하나의 공유 자원을 가지고 작업을 하려고 할 때 점유한 A쓰레드가 있다면, A쓰레드가 작업을 완료하고 나올 때까지 나머지 쓰레드는 mutex영역에 들어갈 수 없습니다. 이와 비슷한 개념으로 크리티컬 섹..

개발 이야기 2020.05.07

POSIX C pthread

안녕하세요. 앤디라이언입니다. pthread는 posix thread를 줄여서 표현하며, 유닉스 계열 시스템에서 일반적으로 사용하는 thread 관련 표준 API입니다. 쓰레드를 생성하기 위해서는 pthread_create 메서드를 사용합니다. //Create pthread int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void*), void *arg); /*param *thread: 스레드 식별자 : 스레드가 성공적으로 생성되었을 때 생성된 스레드 식별을 위해 사용한다. *attr: 스레드의 특성을 지정하기 위해 사용, 기본 스레드 특성 사용하는 경우는 항상 NULL로 지정한다. start_..

개발 이야기 2020.05.07

POSIX C

안녕하세요. 앤디라이언입니다. POSIX라는 개념을 들어보신적 있으신가요? 그렇다면 당신은 Unix계열이나 Linux분야에서 개발을 해본 경험이 있으신 분일 겁니다. 윈도우 환경에서만 개발을 진행했다면 생소한 단어~ @.@? 그럼 한번 POSIX라는 개념이 무엇인지 알아볼까요? POSIX 란 무엇인가? POSIX (Potable Operating System Interface)의 약어로 서로 다른 운영체제의 공통 API를 정리하여 이식성이 높은 유닉스 응용프로그램을 개발하기 위한 목적으로 IEEE가 책정한 어플리케이션 인터페이스 규격입니다. X의 의미는 유닉스 호환 운영체제에 보통 X가 붙은 것으로부터 내려온 것입니다. POSIX Wiki 더보기 C POSIX 라이브러리는 C 표준 라이브러리 POSIX에..

개발 이야기 2020.05.07

[파이썬 완전정복] 변수의 활용 연습하기

연습문제 - 3가지 메뉴를 선택하고 선택한 메뉴의 주문내역을 출력하는 코드를 작성하시오 답 : 더보기 #input과 print print(''' 짜장면-5000 짬뽕-5500 탕수육(소)-9000 탕수육(중)-12000 탕수육(대)-18000''') food1 = input("첫번째 주문한 음식은 무엇인가요?") food2 = input("두번째 주문한 음식은 무엇인가요?") food3 = input("세번째 주문한 음식은 무엇인가요?") print('주문한 음식은 %s, %s 그리고 %s입니다.'%(food1, food2, food3)) 연습문제 - 주문 메뉴를 보여주고 음식번호와 수량을 입력받은 후 주문 메뉴 번호와 주문 수량을 보여주는 코드를 작성하시오. 답 : 더보기 #1.짜장면 2.울면 3.짬뽕..

개발 이야기 2020.05.04

[파이썬 완전정복] 데이터는 변수에게

변수는 무엇인가? 변수는 데이터를 저장하는 장소입니다. 내가 원하는 데이터를 변수라는 녀석에게 넣어두었다가 필요할 때 그 변수에게 "나 너가 필요해"라고 요청을 하면 해당 변수는 사용자에게 데이터를 제공합니다. 즉, 변수는 데이터를 담아두었다가 필요할 때 마다 꺼내서 쓰는 데이터 저장소입니다. 변수는 어떻게? #변수의 기본문법 #변수이름 = 변수에 담을 데이터 a = 5 #a라는 변수에 5라는 데이터를 저장함 name = "Andy lion" #name이라는 변수에 Andy lion을 저장함 pi = 3.14 #pi라는 변수에 3.14를 저장함 _i = 10 #_i에 10을 저장함 다양한 변수의 활용 변수에 데이터를 저장할 수 있으며, 또한 변수끼리 다양한 연산을 하여 변수를 활용할 수 있습니다. 아래 ..

개발 이야기 2020.05.04

[파이썬 완전정복] 주피터 노트북 설치하기

주피터 노트북 (Jupyter notebook) 파이썬을 배울 때는 IDLE만으로도 충분하지 않습니다. 왜냐하면 IDLE는 원라인 단위로 실행을 하기 때문에 기존 내용을 관리하기 불편합니다. 따라서 대부분의 파이썬 개발자들은 주피터 노트북이나 파이참 혹은 다른 개발 툴을 사용하여 개발을 진행합니다. PyCharm, Jupyter notebook, Visual studio code, Notepad++ 등이 있습니다. 이번 시간에는 많은 파이썬 개발 툴 중에 주피터 노트북이라는 개발 도구에 대해 알아보겠습니다. 주피터 노트북은 이 많은 개발 도구 중에 브라우저에서 개발할 수 있는 도구입니다. 그럼 지금부터 주피터 노트북을 설치해볼까요? 주피터 노트북 (Jupyter notebook) 설치하기 Jupyter ..

개발 이야기 2020.05.04
728x90
반응형
SMALL