리눅스 PROC 3. 파일 시스템 프로그래밍 예제 4-5. Proc 파일 시스템을 이용한 예제 4-5 예제 1 : Helloword(1) 리눅스 PROC 파일 시스템 프로그래밍 예제 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152#include /* Specifically, a module */#include /* We're doing kernel work */#include /* Necessary because we use the proc fs */ #define procfs_name "helloworld" struct proc_dir_entry *Our_Proc_File; int..
리눅스 PROC 2. 프로그래밍 기초와 코딩 API proc 프로그래밍 기초 1. 리눅스 proc 구조체 및 API 12345678910111213141516171819202122232425262728293031struct proc_dir_entry { unsigned short low_ino; unsigned short namelen; const char *name; mode_t mode; nlink_t nlink; uid_t uid; gid_t gid; unsigned long size; struct inode_operations * proc_iops; struct file_operations * proc_fops; get_info_t *get_info; struct module *owner; str..
리눅스 PROC 1. 파일 시스템 이해하기 (Linux Format) 리눅스 proc 파일시스템이란?proc 파일 시스템은 운영체제의 각종 정보를 커널 모드가 아닌 유저 모드에서 쉽게 접근할 수 있도록 만들어 줌- 시스템 정보를 일반 프로그래머가 쉽게 접근할 수 있도록 도와준다. 리눅스에서는 프로세스 정보뿐 아니라 다른 시스템 정보(Linux Format)들까지 광범위하게 제공- 프로세스 상황감시에서부터, CPU사용율, 인터럽트, 네트워크 패킷전송량, 적재된 모듈, IDE-SCSI와 같은 장치정보, CPU정보 등- Proc 파일시스템을 제대로 이해할 경우 리눅스 운영체제를 깊이 있게 다룰 수 있다 리눅스 proc 파일시스템의 필요성일반 파일 시스템을 이용해서 필요한 데이터를 남기는 방법- open, re..
C#은 많은 장점을 보유한 프로그래밍 언어입니다. 많은 장점 중에서도 유독 빛을 내주는 장점이 하나 있는데 그건 바로 MS의 존재입니다. MS는 많은 윈도우 기반의 솔루션을 내놓는 동시에, 자사 제품 간에 호환이 쉽도록 이런저런 도구들도 많이 배포하고 있습니다. (C# 엑셀 라이브러리도 마찬가지) 이 포스트에서 소개할 Microsoft.Office.Interop.Excel은 C#에서 엑셀 파일을 컨트롤 할 수 있도록 도와주는 일종의 API입니다. 흔히 말하는 Excel Automation이기도 합니다. 이미 많은 블로거 분이 참조 추가하는 방법을 포스팅하셨습니다만, 제가 처음에 이해를 잘 못 하여 별도로 포스팅하게 되었습니다. 엑셀 오토메이션을 응용하는 예제는 많이 있으니 여기선 참조 추가하는 방법만 간..
유닉스/리눅스 계열에서 스케쥴링을 제공하는 Cron은 그 사용법이 간편해서 많은 사랑을 받고 있습니다. C#에서도 윈도우 스케쥴링을 위해 Cron을 기반의 Quartz 라이브러리가 제공됩니다. 타이머나 스레드를 이용할 필요 없이 C# 스케줄러 Quartz만 사용하면 스케쥴링 프로그래밍이 가능합니다. 이 포스트에선 쿼츠 이용하는 방법을 다룹니다. 먼저, Quartz.NET 사이트로 이동해 파일을 다운로드합니다. 링크 - Quartz.NET - Quartz Enterprise Scheduler .NET [클릭] 링크된 사이트로 이동한 뒤 오른쪽 빨간 박스 안의 Download를 클릭하세요. 그러면 소스 포지로 이동하는 링크를 볼 수 있습니다. 바로 이동하여 C# 스케줄러 다운로드하세요. 2017년 3월 현재..
PLC 프로그래밍 방법니모닉(Mnemonic)명령어를 직접 입력하는 방법으로 회사별로 다르고, 직관적이지 못하나, 핸디 로더 등에서는 유용함. Instruction List라고도 한다. 프로그래밍 래더도(Ladder diagram)릴레이 심볼을 사용하여 논리 표현한 그래픽한 방법으로 가장 널리 사용됨. SFC(Sequential Function Chart)구조화된 언어로 복잡한 로직에 적용된다. 니모닉 또는 래더 다이어그램 방식으로 작성된 여러 개의 PLC 프로그램 블록들을 순차적으로 도식화하여 그 실행 조건을 부여하는 방식이다. PLC 기초, 래더도의 이해PLC 내부에는 논리 명령어로 제어내용이 입력되어 있다. 동작을 정확히 이해하기 위해서는 mnemonic이라고 하는 논리 명령어가 필요하지만, mne..
C# Quartz 쿼츠나 크론과 관련된 내용은 여기서 다루지 않고 실제 C#에서 사용하기 위한 소스 예제만을 다룹니다. Cron(또는 Crontab)에서 제공하는 표현식은, 시간별, 일별, 주별, 월별인데, 약간의 꼼수(?)를 발휘해 초 간격의 표현식도 만들 수 있습니다. 가장 낮은 단위부터 생성 소스를 소개합니다. C# Quartz 1. 초 간격의 표현식 사용법123456789101112131415// "0/5 * * * * ?"public static string GetEverySecond(int second){ string result = string.Empty; if (second > -1 && second -1 && minute 매일 오후 4,5,6시 try { if (DateTimeChecke..
미쯔비시PLC를 이용하는 예시입니다. Q06HCPU, QJ71E71-100를 사용했으며, 이 장비를 이용해 통신이 잘 안 된다면, 상대방 장비 스펙을 다시 확인해 주세요. 1. 드라이버 설치USB 드라이버 설치 (Easysocket)PC에서 Q06HCPU PLC CPU 모듈을 인식하기 위한 드라이버입니다. 한국 미쓰비시 고객 지원 페이지에서 드라이버 다운합니다. 링크 - https://kr.mitsubishielectric.com/fa/ko/board.do?act=LinkBoard&category_id=145 [클릭] 설치에 필요한 항목은 Easysocket – USBDrivers에 존재합니다. 폴더 내용 확인하고 바로 드라이버를 설치하세요. 드라이버 설치가 정상적으로 이뤄지면 아래처럼 장치 관리자에..
C# Enum을 string로 변환할 때 두 가지 방법을 이용할 수 있습니다. 하나는 단일 개체를 string 문자열로 변환하는 ToString() 응용 방법이고, 다른 하나는 Enum 전체를 배열로 받는 GetNames()를 응용하는 방법입니다. 이 두 가지 프로그래밍 방법 모두 다루니 참조해 주세요. C# Enum.ToString(). Enum을 문자열로 변환하는 함수입니다. 변환된 string은 Enum의 이름을 표시하며, 해당 문자열은 변수 등에 저장해 유동적으로 사용할 수 있습니다. 예제. 예제를 위해서 C# enum 타입의 열거형을 하나 생성합니다. 반복문에서 인덱스를 증가하며 해당 문자열을 확인해 보겠습니다. 아래 프로그램에서 Priority.Critical의 인덱스는 4입니다. 1 2 3 ..
C# ListBox 리스트박스 사용법과 예제 (DB 바운딩, List 응용 등) C# 리스트박스를 사용하여 원하는 항목 중 일부를 사용자에게 보여줄 수 있습니다. 보여주거나 선택하는 기능 외에도 목록을 편집할 수 있는 기능도 있습니다. Add 함수로 ListBox의 맨 끝에 목록을 추가할 수 있습니다. 1listBox1.Items.Add ("Sunday");cs C# 리스트박스에서 선택한 하나의 항목을 변수처럼 사용하려면 아래와 같이 코드를 작성할 수 있습니다. 12string var;var = listBox1.Text;cs SelectionMode 속성은 선택할 수 있는 아이템이 한 개인지 여러 개인지 나타냅니다. 속성값을 Multiple Select로 변경하면 많은 아이템을 선택할 수 있죠. 1lis..
※ 2010년 기준으로 작성되어서 지금과는 차이가 있을 수 있습니다. 이점 유념해 읽어주세요. 구글어스란 무엇인가에 대한 정리 내용이며 맨 아래엔 참고 자료가 명시되어 있으니, 좀 더 자세한 내용을 원하실 경우엔 해당 문서를 찾아보시면 되겠습니다. 구글 위성지도, 구글어스 Google Earth란 무엇인가웹 기반의 범용 GIS(Geographic Information System)의 장점 중 하나는 지리정보의 효과적인 공유와 시각화라고 할 수 있습니다. 지리적 시각화(Geovisualization)는 지리 공간 자료의 탐색, 분석, 통합 및 표출을 위한 이론과 방법을 포괄하며, 지리 및 공간적인 현상의 분포패턴이나 탐색적 분석의 결과를 통계 그래프, 지도 등과 같은 시각적인 그래픽을 이용하여 표현합니다...
c# ui thread 소켓 프로그래밍 예제입니다.크로스 스레드 기반이며 c# tcp client server 소스 모두 포함되어 있습니다. 출처 : Visual C# Kicks프로젝트 다운로드 - Cross Thread를 응용한 C# TCP / IP 통신입니다C#에서 교차 스레드 작업(Cross Thread)이란 다른 스레드에서 컴포넌트를 호출하여 사용한다는 의미입니다. .NET 프레임워크 2.0부터 적절한 교차 스레드 작업은 더이상 옵션 수준에 머물지 않고, 프로그래밍 시 요구 사항으로 전환되었기에 중요한 부분입니다. 예를 들어, 별도의 스레드를 현재 작업 중인 폼에서 호출하면 아래와 같은 오류 메세지가 뜹니다. Cross-thread operation not valid: Control 'Form1'..