프로그래밍 104

[IPC] shared memory 예제 코드

[IPC] shared memory 예제 코드 1. 구조 - 커널에서 제공하는 메모리를 이용한 프로세스가 데이터를 공유하는 구조이다. - 자세한 설명은 다음 포스트 참조 [프로세스간 통신] IPC(inter process communication) 종류 2. 예제 코드 (1) Header #ifndef __SHARE_MEMORY_H__ #define __SHARE_MEMORY_H__ #define SHM_INFO_COUNT 30 typedef struct _shm_info{ char str_ip[40]; unsigned int int_ip; unsigned int int_id; }SHM_INFOS; #endif//__SHARE_MEMORY_H__ (2) shared Memory Writing 코드 #in..

[IPC] pipe 예제 코드

[IPC] pipe 예제 코드 1. 구조 - 부모 프로세스와 자식 프로세스간에 통신을 할때 사용 한다. - 자세한 설명은 다음 포스트 참조 [프로세스간 통신] IPC(inter process communication) 종류 2. 예제 코드 #include #include #include #include int main(void) { int fd[2], nbytes, rc = 0; pid_t childpid; char string[] = "Hello, world!\n"; char readbuffer[80]; if ((rc = pipe(fd)) < 0) { printf("Creating Pipe is Error [%d]\n", rc); } if((childpid = fork()) == -1) { perror..

[IPC] named pipe 예제 코드

[IPC] name pipe 예제 코드 1. 구조 - 단방향 통신 구조이며 한쪽에서 쓰면 다른 한쪽에서 읽을 수 있는 구조로 되어있다. - 자세한 설명은 다음 포스트 참조 [프로세스간 통신] IPC(inter process communication) 종류 2. 예제 코드 1) Client(Writer) #include #include #include #include #include #define MSG_SIZE 80 #define PIPENAME "./named_pipe_file" int main(void) { char msg[MSG_SIZE]; int fd; int nread, i; /* named pipe 열기, Write 전용으로 열기 */ if ((fd = open(PIPENAME, O_WRONL..

[IPC] message queue 예제 코드

[IPC] message queue 예제 코드 1. 구조 - message queue는 생상자와 소비자 구조로 되어있다. - 자세한 설명은 다음 포스트 참조 [프로세스간 통신] IPC(inter process communication) 종류 2. message_queue_constructer.예제 코드 #include #include #include #include #include #include #include struct msgbuf { // 이부분은 고정!!!! long msgtype; // 아래 부분은 모두 변경 가능 char mtext[256]; char myname[16]; int seq; }; struct msgbuf1 { // 이부분은 고정!!!! long msgtype; // 아래 부분은..

[IPC] 메모리 맵 mmap() 예제 코드

[IPC] 메모리 맵 mmap() 예제 코드 1. 구조 - 메모리 맵은 파일과 메모리를 직접 mapping일 시켜주는 구조로 이루어 져있다. - 자세한 설명은 다음 포스트 참조 [프로세스간 통신] IPC(inter process communication) 종류 2. 예제 코드 /* Copyright (C) * 2018 - doitnow-man * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the Licen..

[Maven] 2. Maven 프로젝트 설정

[Maven] 2. Maven 프로젝트 설정 Maven의 Web환경을 정상적으로 사용하기 위해서는 Java의 Compiler 버전 설정 및 Web관련 라이브러리는 추가해주어야 합니다. * 연결된 글 *- 이전 글 ([Maven] 1. Maven 프로젝트 만들기) 1.java Compiler 버전 설정 - Maven 프로젝트 설정시 기본 Java의 사용은 1.5로 되어있습니다. - java 1.5를 1.8 버전으로 변경해주는 작업이 필요합니다. 1) Maven 프로젝트의 설정 정보 열기 - 프로젝트 선택 -> 우 클릭 -> Properties 선택 2) Maven에서 사용되는 Java Compiler 버전 확인 - java Complier 선택 -> 현재 java의 Compiler 버전이 1.5로 되어 있..

[Maven] 1. Maven 프로젝트 만들기

[Maven] 1. Maven 프로젝트 만들기 * 연결된 글 *- 다음 글 ([Maven] 2. Maven 프로젝트 설정) 1. Eclipse에서 Maven프로젝트 생성 - Maven에 대한 설명 참조 포스트([JSP] 6. Maven 이란?) - Java EE Perspective 를 사용 합니다. 1) 프로젝트 생성 - File -> New -> Maven Project 2) 프로젝트 생성 위치 설정 - 기본을 유지 해 줍니다. 2) Maven의 형태 선택 - Web프로젝트이므로, maven-archetype-webapp 로 선택 합니다. 2) 프로젝트의 이름을 정해 줍니다.항목 설명 Group Id 프로젝트를 만드는 그룹, 조직, 회사 등을 나타내는 유일한 이름, 보통 자바 패키지처럼 URI를 거꾸..

[프로세스간 통신] IPC(inter process communication) 종류

[프로세스간 통신] IPC(inter process communication) 종류 (Linux) IPC의 종류 1) PIPE 2) Named PIPE 3) Message Queue 4) Shared Memory 5) Memory Map 6) socket IPC 별 사용 시기 및 특징 IPC 종류 PIPE Named PIPE Mesage Queue Shared Memory Memory Map Socket 사용 시기 부모 자식 간 단 방향 통신 시 다른 프로세스와 단 방향 통신 시 다른 프로세스와 단 방향 통신 시 다른 프로세스와 양 방향 통신 시 다른 프로세스와 양 방향 통신 시 다른 시스템간 양 방향 통신 시 공유 매개체 파일 파일 메모리 메모리 파일+메모리 소켓 통신 단위 Stream Stream 구..

[Window10] 이 앱은 사용자 보호를 위해 차단되었습니다 (우회 방법)

[Window10] 이 앱은 사용자 보호를 위해 차단되었습니다 (우회 방법) 우리는 Window 10에서 서비스를 강제로 종료하 거나 수정을 하면 "이 앱은 사용자 보호를 위해 차단되었습니다 " 다라는 알림 창을 만나게 된다. 이를 우회 하는 방법을 지금 부터 전달 드립니다. 1. 우회에 사용될 툴 - 작업 관리자 (실행 단축키 : ctrl + shift + ESC) - 아래 와 같이 CryptSvc 서비스를 선택 후 , 우클릭, 서비스 열기를 하면 - 열린 "서비스" 프로그램 2. CryptSvc 정상 화 시키기!! - 위1 방법으로 "서비스"를 열 수있습니다. - 로컬 시스템 계정으로 CryptSvc에대한 로그온 설정을 계정 지정 방법으로 변경해야 합니다 - 아래 절차를 따라 주기시 바랍니다. 1) ..