취미생활
-
[C#] CallBack 함수와 Delegate 사용하기취미생활/C# 2019. 9. 19. 09:18
안녕하세요 코딩하는남자의 코딩연습생입니다 프로그래밍을 하다보면 CallBack 함수를 사용해야 되는 상황이 발생합니다 예를들면 Soket통신을 구현할때 수신/응답을 비동기식으로 구현해야할 경우가 이에 해당하죠 Soket 통신의 원리르 보면 이더넷 환경의 장비에 응답코드를 송신하여 그에 해당하는 결과 값을 받아오게 되죠 이경우 두가지 형식으로 구현을 합니다 동기식/비동기식. 동기식은 송신후 응답코드가 수신될때까지 멈춰 대기 하게 됩니다 구현할려는 장비와 운영 방법에 따라 즉시 응답이 가능하다면 동기식으로 구현하는것이 맞겠죠 하기만 한번에 여러대의 장비와 통신을 해야 하는 경우 혹은 수신까지 걸리는 ReadTime이 길 경우에는 무한정 기다릴수 만은 없기 때문에 비동기식 구현 방법을 사용 합니다 비동기식은 ..
-
[프로젝트] 개발 프로젝트 산출물 관리취미생활/IT 2019. 8. 30. 08:12
안녕하세요. 코딩하는남자의 코딩연습생입니다 회사 생활을 하면서 여러가시 프로젝트를 경험하게 된다. 그중 제일 이해가 되지 않고 관리하기 힘든 부분이 바로 "프로그램"에 대한 관리 이다. 물론 개발자 입장에서 Source Code만 분석하면 어는정도 프로젝트에 대한 이해가 된다 하지만 회사에서 요구하는건 많은 것을 요구하게 된다 예를 들면 "Source Code는 너희만 아는거고....나는 모르니 내가 알수 있는 문서로 가져와" 머 이런 업무 지시들... 그래서 나름 문서화 해서 "프로그램 정의서", "인터페이스 정의서", "테이블 정의서", "ERD" 뭐 이런 산출물을 작성하면 이렇게 말한다 "이게 뭔데~! 초등학생이 봐도 알 수 있는 그런 자료를 가져와" 나는 생각한다 회사 바꿔야 하나??ㅋㅋㅋㅋ 그래..
-
[C#]MX Component V4를 이용한 통신취미생활/C# 2019. 6. 12. 09:06
안녕하세요 코딩하는남자의 코딩연습생입니다 이번 블러그에서는 C#에서 MX Component V4의 API를 이용하여 PLC와 통신할 수 있는 설정 방법을 다뤄보겠습니다 1. MX Conmpnent의 Communication Setup Utility를 이용해서 기본 셋팅 한다 필자가 작성한 게시글중 MX Componnent v4 설정 방법의 게시글을 참고 2. GX Works2를 실행 및 새 프로젝트 생성해서 간단한 Ladder 코드를 작성하고 GX Simulator를 실행한다 Ladder코드는 검색을 통해 작성하시기 바란다. 3. 비쥬얼스튜디오 2017를 실행해서 프조게트를 생성한다 C#이든 WPF든 생성한다 4, 비쥬얼 스튜디오에 MX Component의 설치 경로에 있는 DLL 파일을 참조 추가 한다..
-
[C#] 미쯔비시 PLC와 통신하기 위한 GX Works2설정취미생활/C# 2019. 6. 12. 08:56
안녕하세요 코딩하는남자의 코딩 연습생입니다 미쯔비시 PLC와 통신하기 위한 MX Componnent v4 설정방법에 대한 글을 게시햇었는데 GX Works2 시뮬레이션 환경 설정 방법에 대한 글이 없어 작성하게 되엇습니다 해당 글은 실제 미쯔비시 PLC가 없더라도 GX Works2의 시뮬레이션 환경을 통해 PLC의 환경을 구성해 줍니다 설정 방법은 아래를 참고해 주세요~ 1. GX WORKS2를 설치 한다 다운 받아서 다음 버튼을 통해 설치하면 되므로 설명은 생략 2. GX WORKS2를 실행하고 New Project를 실행해서 기본 정보를 입력해서 OK 버튼을 누른다 간단한 Ladder 코드를 자것ㅇ하고 M0가 접점이 이고, D0가 랜덤하고 값을 입력하는 코드 3. Ladder를 작성 한뒤 Debus ..
-
[MS-SQL] Split 함수 만들기!!취미생활/MS-SQL 2019. 6. 12. 08:23
안녕하세요 코딩하는 남자의 코딩연습생입니다 MSSQL에서 Split 제공 함수가 없습니다 그래서 사용자 Function으로 만들어 두시면 프로시져 내부에서 사용하시가 편합니다 CREATE FUNCTION arr_split( @sText VARCHAR(500), -- 대상 문자열 @str CHAR(1) = '|', -- 구분기호(Default '|') @idx INT -- 배열 인덱스 ) RETURNS VARCHAR(20) AS BEGIN DECLARE @word CHAR(20), -- 반환할 문자 @sTextData VARCHAR(600), @num SMALLINT; SET @num = 1; SET @str = LTRIM(RTRIM(@str)); SET @sTextData = LTRIM(RTRIM(@sT..
-
[C#] 오라클 컨넥션 만들기!!취미생활/C# 2019. 6. 12. 08:20
using System; using System.Data; using System.Data.OleDb; class TableAnalysis { static void Main(string[] args) { string sql = "Provider=MSDAORA.1;Password=tiger;User ID=scott;Data Source=noaa;Persist Security Info=True"; //oracle 서버 연결 OleDbConnection conn = new OleDbConnection(sql); //conn.ConnectionString = sql; try { conn.Open(); //데이터베이스 연결 OleDbCommand cmd = new OleDbCommand(); cmd.Command..
-
[C#] 엑셀파일 내보내기(그리드뷰)취미생활/C# 2019. 6. 12. 08:16
/// /// 데이타 테이블을 엑셀로 받아온다. /// /// 원본 데이타 테이블. /// 원본 데이타 테이블의 컬럼들. /// 보여질 테이블의 컬럼들. private static void DownExcel(System.Data.DataTable dt, string[] columns, string[] newcolumns) { DataGrid grid = new DataGrid(); System.Data.DataTable targetdt = new System.Data.DataTable(); for (int i = 0; i < columns.Length; i++) { System.Data.DataColumn column = new System.Data.DataColumn(newcolumns[i]); tar..
-
[MS-SQL] 링크 서버 연결하기!!취미생활/MS-SQL 2019. 6. 12. 08:10
--서버등록 exec sp_addlinkedserver @server='', --링크서버이름 @srvproduct='', --OLEDB 데이터 원본 제품이름 @provider='SQLOLEDB', --공급자고유식별자 @datasrc='', --가져올 DB서버 주소 @provstr='', --OLEDB공급자연결문자열 @catalog='' --가져올 db서버 데이터베이스명 go --서버등록확인 select * from master.dbo.sysservers --연결계정등록 exec sp_addlinkedsrvlogin @rmtsrvname='' --서버이름 @useself='false' --로그인이름사용유무 @locallogin=NULL, --로컬서버로그인여부 @rmtuser='SA', --사용자이름 @rm..