일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 유튜브 동영상 강의
- 독립기념관
- 캡슐화
- 동영상 강의
- 안드로이드 앱 개발
- 소켓 통신
- 소스 코드
- 네트워크 프로그래밍
- 실습
- 산책하기 좋은 곳
- 무료 동영상 강의
- c#
- 원격 제어 프로그램
- 충남 천안
- 표준 입출력
- 언제나휴일
- Windows Forms
- 실습으로 다지는 c#
- 프로젝트
- 동영상
- 졸업 작품 소재
- 강의
- C++
- c언어
- 언제나 휴일
- 알고리즘
- 클래스 다이어그램
- 추천
- 표준 라이브러리 함수
- 파이썬
- Today
- Total
목록프로젝트 (61)
프로그래밍 언어 및 기술 [언제나휴일]
요구 사항을 파악한 후에 유즈케이스 다이어그램을 작성하였으면 이 둘 간의 매핑 테이블을 만들어 보세요. 이를 통해 어떠한 요구 사항이 어느 유즈케이스에 반영했는지 파악하기 쉽고 반영하지 않은 요구 사항이 있는지 확인하기 쉬워집니다. 하나의 요구 사항을 반영하는 여러 개의 유즈케이스가 있을 수 있고 여러 개의 요구 사항을 반영하는 하나의 유즈케이스가 있을 수 있습니다. 그리고 품질에 관한 요구 사항을 반영하는 특정 유즈케이스가 없을 수도 있습니다. 요구명관련 Usecase웹 로봇WebCollect분석기Morphemepares색인기MakeInvertedFile랭커Ranking관리SetInterval, Start, Stop, AddSeedSite검색Search결합성품질 요구 사항임재사용성품질 요구 사항임시스..
유즈케이스 다이어그램은 시스템에서 구현해야 할 기능을 개괄적으로 보여주기 위해서 수행합니다. 이를 통해 시스템이 처리해야 할 일과 외부에서 수행할 일을 결정하고 어떠한 사용자와 시스템과 상호 작용하는지를 결정합니다. 이를 위해 먼저 시스템과 상호 작용하는 사용자와 외부 시스템을 찾는 작업을 수행합니다. 유즈케이스 다이어그램에서는 시스템과 상호 작용하는 사용자와 외부 시스템을 액터라고 말합니다. 그리고 액터가 어떨 때 우리 시스템을 사용하는지 우리 시스템이 언제 액터를 사용하는지를 결정합니다. 그리고 이를 유즈케이스로 나타냅니다. Usecase 다이어그램은 액터와 Usecase, 관계를 표현합니다. 2.2.1 액터 개요 액터는 시스템과 상호 작용하는 사용자와 외부 시스템을 말합니다. EH..
요구 분석 및 정의 단계에서는 시스템에서 제공해야 할 비지니스와 이해관계자의 요구 사항을 정확히 이해하는 작업이 필요합니다. 이를 위해 이해관계자의 요구 사항을 수집하고 이해해야 합니다. 그리고 수집한 요구사항을 바탕으로 시스템에서 제공해야 할 기능을 개괄적으로 파악하고 결정해야 합니다. 이 책에서는 어떠한 이해관계자가 있는지에 관한 조사와 이를 통해 요구 사항을 수집하는 부분은 간단히 요구 리스트를 보여주는 것으로 끝낼 것입니다. 대신 요구 리스트를 바탕으로 시스템에서 제공해야 할 기능을 파악하고 결정하기 위해서 Usecase 다이어그램을 작성하고 요구 사항과 Usecase 매핑 테이블을 작성하기로 할게요. 2.1 요구리스트 요구명설명구분웹 로봇웹 페이지를 수집할 수 있어야 합니다.기능분석기수집된..
.NET 리모팅 기술은 서버 측에 있는 개체를 클라이언트 측에서 마치 자신에게 있는 개체를 사용하는 것처럼 사용할 수 있게 서비스를 하는 기술입니다. .NET 리모팅 서비스를 위해서는 서비스를 제공하는 서버와 서비스를 제공받는 클라이언트가 필요하며 서버 측에서 클라이언트에 제공하는 개체를 정의한 클래스 라이브러리가 필요합니다. 서버 측에서 클라이언트에 제공하는 개체는 MashalByReference에서 파생한 개체로 원격 개체라고 말합니다. 서버 측에서는 채널을 등록하여 원격 개체를 사용할 수 있게 등록합니다. 클라이언트 측에서는 서버 측 채널에 접근하여 원격 개체를 참조하여 사용하는데 클라이언트 측에서 원격 개체를 참조하여 사용할 수 있는 개체를 Proxy 개체라 부릅니다. 클라이언트 측에서 P..
이번에는 간단하게 Windows Form 응용 프로그램을 만들기 위해 필요한 기술을 알아봅시다. 먼저 윈도우즈 응용 프로그램을 만들기 위해 Windows Forms 응용 프로그램 템플릿을 선택합니다. Windows Forms 응용 프로젝트를 생성하면 기본적으로 진입점이 있는 Program.cs 파일과 MainForm에 관한 두 개의 소스 파일로 Form1.cs와 Form1.Designer.cs이 만들어집니다. Program.cs 파일에는 Form1 개체를 생성하여 닫힐 때까지 수행할 수 있는 코드 등이 자동으로 만들어진 상태입니다. 특이 사항이 없으면 Windows Forms 응용 프로그램을 제작하면서 이 부분을 수정할 필요는 없습니다. 그리고 Form1.cs는 개발자가 작성할 부분이며 Form1.De..
.NET 프레임워크 기반의 라이브러리는 .NET 어셈블리라고 부릅니다..NET 어셈블리는 .NET 프레임워크 응용 프로그램을 구성하는 기본 컴포넌트입니다. 컴포넌트 기반의 프로그래밍은 모듈의 재사용성을 높여줍니다. .NET 응용 프로그램을 제작할 때 미리 작성된 라이브러리를 사용할 수 있는데 이 때 사용하는 라이브러리도 .NET 어셈블리이며 실행 파일도 .NET 어셈블리입니다..NET 어셈블리는 EXE 파일 혹은 DLL 파일 형태로 만들 수 있으며 하나 이상의 모듈을 포함할 수도 있습니다. .NET 어셈블리는 자기 기술적인 메타 데이터를 갖고 있고 레지스트리 항목에 종속되지 않는 구성 요소로 디자인되어 있기 때문에 병행(Side by Side) 실행이 가능합니다.이로써 같은 명칭의 여러 어셈블리를..
이 책에서 다루고자 하는 맞춤형 검색 엔진을 만들기 위해서는 라이브러리 제작 기술과 윈도우즈 폼 응용 프로그램 제작 기술 및 .NET 리모팅, DBMS를 사용하기 위해 SQL 쿼리 및 ADO.NET 기술 등이 필요합니다.기본적으로 이와 같은 기술을 활용해 본 적이 없거나 비슷한 기술을 활용해 본 적이 없으신 분들께서는 별도의 학습이 필요합니다.여기에서는 간략하게 맞춤형 검색 엔진을 만들기 위해 필요한 요구 기술 중에서 라이브러리 제작 및 윈도우즈 폼 응용 제작 기술 및 .NET 리모팅 기술을 간략하게 소개할게요.
먼저 이 책에서 작성할 맞춤형 검색 엔진 만들기 솔루션의 전반적인 시나리오를 소개할게요. 시나리오는 가상으로 만들었으며 별도의 설명은 하지 않겠습니다.문서 번호20XX – P – 01보존 기간10년작성 일자20XX. X. X작성자홍길동EH-WSE(EH Web Search Engine)I. 개요I.1 배경지식 웹 검색 엔진이란 원하는 웹 사이트를 검색하기 위한 S/W를 말합니다. 웹 검색 엔진은 대부분 인터넷 상에 게시되어 있는 웹 페이지들을 수집하는 웹 로봇과 웹 페이지를 분석하는 분석기, 분석한 결과로 쉽게 검색할 수 있게 역 파일을 만드는 색인기 및 질의 결과에 랭킹을 부여하는 랭커 등으로 구성할 수 있습니다. 웹 검색 엔진은 각각의 엔진들의 구동 원리와 구현 수준에 따라 다양한 품질 수준을 결정합니..
이 책은 웹 검색 엔진을 구성하는 다양한 엔진과 모듈을 제작하는 방법을 다루고 있습니다. 따라서 하나의 프로젝트가 아닌 여러 개의 프로젝트로 나누어 작업을 진행해야 합니다. 그리고 이 책에서는 단순히 웹 검색 엔진을 구현하는 것만을 다루는 것이 아니라 개발 전체 공정에 관해서도 다루고 있습니다.웹 검색 엔진을 만드는 전체 공정은 시나리오에서 출발하여 요구 분석 및 정의 단계, 아키텍쳐링 단계, 설계 단계, 구현 단계로 나누어 진행할 것입니다. 이를 위해 구현에 필요한 개발 도구만 사용하는 것이 아니라 CASE 도구를 사용하여 다양한 다이어그램을 작성도 해야 합니다.CASE 도구로는 Rational 사의 Rose, 볼랜드 사의 Together, 오픈 프로젝트인 Star UML 등이 있습니다. 이 책에서..
여러분도 잘 아시는 것처럼 검색 엔진은 사용자가 원하는 정보를 검색해 주는 도구나 서비스를 말합니다. 특히 웹 검색 엔진은 웹 상에 게시되어 있는 수 많은 웹 페이지의 내용에서 원하는 정보를 검색해 주는 엔진입니다.이러한 검색 엔진은 방대한 자료에서 빠르고 정확하게 원하는 정보를 검색하는 것이 중요합니다. 만약 자료의 양이 많지 않다면 굳이 고사양의 검색 엔진은 필요하지 않을 것입니다.따라서 검색 엔진은 방대한 자료를 수집하는 작업이 필요합니다. 그리고 수집한 자료를 분석하는 작업, 분석한 결과를 검색하기 쉽게 가공하는 작업, 검색 작업과 검색한 결과를 선별 및 순위를 정하는 등의 작업이 필요합니다.웹 검색 엔진의 구성을 살펴보면 게시한 웹 페이지를 수집하는 웹 로봇과 수집한 웹 페이지 내용을 분석하..
최근 인터넷의 발달로 다양한 정보를 웹을 통해 얻습니다. 특히 개인 블로그 및 커뮤니티 사이트, 소셜 사이트의 증가로 정보 공급자와 정보 사용자의 경계가 사라져가고 있습니다.이처럼 다양한 형태의 방대한 자료가 웹 상에 만들어지고 있어 효과적인 검색을 위한 검색 엔진들을 연구하고 만들어지고 있습니다. 특히 검색 엔진은 기존의 포털 사이트에서 제공하는 서비스였지만 소셜 사이트 및 다양한 정보 서비스를 위해 필요한 곳이 많아집니다.이 책에서는 기존 웹 검색 엔진을 만드는 전체 공정을 순서대로 하나 하나 설명하고 궁극적으로 서비스 목적에 맞는 검색 엔진을 만들 수 있게 할 것입니다.언제나휴일 여행 및 산책아산 외암민속마을
2000년 무렵에 케이블 인터넷과 ADSL기술을 도입하면서 초고속 인터넷을 보급하던 때만 하더라도 웹 사이트에 글을 포스팅하는 것은 업체나 기관에서 할 일이라 생각했지요.그런데 지금은 SNS의 등장을 비롯하여 많은 곳에서 All IP 시대로 가기 위한 준비를 하면서 웹 사이트를 방문하는 지식 소비자와 웹 사이트를 구축하고 지식 포워딩하는 지식 공급자가 뚜렷하게 나눌 수 없는 프로슈머 형태를 지니고 있습니다.시멘틱 검색 엔진이라는 것이 세상에 모습을 드러낼 때만 해도 포털 사이트에서만 사용할 기술처럼 생각했습니다. 그리고 새로 포스팅하는 자료의 양이 지금에 비해 적어 높은 수준의 기술을 요구하지 않았었죠. 하지만 지금은 일반 사용자들도 자신의 블로그나 SNS에 일상과 자신의 취미 생활 및 기술을 포스팅..
1. 유튜브 동영상 강의 미디 분석 프로그램 - 미디 분석기, 트리 뷰 2. 해야 할 일 드디어 미디 분석 프로그램 마지막 강의입니다. 이번 강의에서는 TreeView에 청크의 내용을 상세하게 보여주는 부분과 노드를 선택하였을 때 대응하는 바이너리를 DataGridView에서 확인하기 쉽게 선택해서 보여주는 부분을 구현합니다. 3. MakeChunkNode 메서드 수정 미디 분석기 프로그램 MainForm.cs에서 MakeChunkNode 메서드를 수정합시다. chunk가 헤더인지 트랙인지에 따라 상세 노드를 만들어 매다는 메서드를 만들어 호출합시다. private TreeNode MakeChunkNode(Chunk chunk) { TreeNode tn = new TreeNode(chunk.ToStrin..
1. 유튜브 동영상 강의 미디 분석 프로그램 - 미디 분석기 2. 해야 할 일 이번 강의에서는 지난 강의에서 청크 목록을 ListBox에 추가할 때 발생하는 크로스스레드 문제를 해결할 거예요. 그리고 ListBox에 청크를 선택하면 청크의 원본 이진 데이터를 Hexa 값으로 DataGridView에 보여주는 작업을 할 거예요. 이 외에도 Header 클래스에 Division에 관한 코드를 수정합니다. 3. 크로스 스레드 문제 해결 크로스 스레드 문제는 폼이나 컨트롤을 생성한 스레드가 아닌 스레드에서 폼이나 컨트롤의 속성을 변경하는 등의 작업을 할 때 발생합니다. 이에 관한 자세한 사항은 크로스 스레드 발생 원인 및 해결하기를 참고하세요. 폼이나 컨트롤에는 InvokeRequired 속성을 갖고 있습니다...
1. 유튜브 동영상 강의 미디 분석 프로그램 - 미디 분석기 2. 해야 할 일 이전강의까지 미디 파일을 분석하는 ehmidilib를 만들었습니다. (*진행하면서 ehmidilib에 새로운 형식 및 기능을 추가합니다. *) 이번 강의부터 ehmidilib를 이용하는 미디분석기 프로그램을 작성하기로 합시다. 미디분석기 프로그램은 Windows Forms 앱(.NET Framework) 입니다. 이번 강의에서는 메인 폼에 컨트롤을 배치하고 미디 파일을 열어서 청크 목록을 보여주는 부분까지 구현할거예요. 미디 파일을 여는 작업을 위해 “파일 열기 대화상자”인 OpenFileDialog를 사용합니다. 미디 파일에 청크 목록을 분석하는 작업은 ehmidilib에 MidiParser 클래스를 추가하여 구현할 거예요...
1. 유튜브 동영상 강의 미디 분석 프로그램 - 트랙 청크 분석, System Event 2. System Event Message 현재 미디 파일에 헤드 청크와 트랙 청크를 분석하는 작업을 진행하고 있습니다. 현재 헤드 청크는 상세 분석하였고 트랙 청크도 메타 이벤트와 미디 이벤트는 분석하는 기능까지 구현했어요. 이번 강의에서는 시스템 이벤트를 분석하는 작업을 진행할게요. 앞에서 얘기했듯이 상태 바이트가 0xF0~FE까지가 시스템 이벤트입니다. 다음은 상태 바이트에 따른 시스템 이벤트에 관한 설명입니다. 0xF0 … 0xF7 ☞ System Exclusive Messages 상태 바이트 뒤에 제조사 ID가 오며 그 뒤에 오는 메시지는 가변적이며 맨 뒤에 0xF7이 옵니다. 0xF1 DD ☞ MTC Qu..
1. 유튜브 동영상 강의 미디 분석 프로그램 - 트랙 청크, 미디 이벤트 상세 분석 지난 강의에서 미디 이벤트를 분석하는 부분을 구현하였습니다. 이번 강의에서는 미디 이벤트의 상세 내용을 분석하기로 할게요. 2. 미디 이벤트 지난 강의에서 설명한 미디 이벤트 중에 이번에 상세 구현할 부분만 다시 설명하기로 할게요. Note off, Note on, Key after touch에서 F는 음 번호, S는 음 세기입니다. 음 번호를 12로 나누었을 때 몫은 옥타브이며 나머지는 음 이름입니다. Control Change에서 F는 컨트롤 번호이고 S는 새로운 값입니다. 컨트롤 번호에 대응하는 이름은 이전 글(MIDI 파일 MIDI 이벤트의 Control 데이터와 악기 이름)에 있어요. Program Change에..
안녕하세요. 언제나휴일입니다. MIDI파일을 분석할 때 미디 이벤트의 컨트롤과 악기 이름에 관한 값과 내용입니다. 프로그래밍 할 때 복붙할 수 있게 올려봅니다. Control Data "0 Bank Select", "1 Modulation Wheel", "2 Breath controller", "3 Undefined", "4 Foot Pedal", "5 Portamento Time", "6 Data Entry", "7 Volume", "8 Balance", "9 Undefined", "10 Pan position", "11 Expression", "12 Effect Control 1", "13 Effect Control 2", "14 Undefined", "15 Undefined", "16 Ribbon ..
1. 유튜브 동영상 강의 미디 분석 프로그램 - 트랙 청크 분석, 미디 이벤트 2. 미디 이벤트 앞에서 우리는 미디 파일은 청크들의 집합이라는 것과 청크에는 Header 청크와 Track 청크가 있다는 것을 확인하였습니다. 그리고 Track 청크에는 이벤트 정보들이 있고 이벤트 정보에는 메타 이벤트, 미디 이벤트, 시스템 이벤트가 있다는 것도 소개하였습니다. 바로 이전 강의에서는 메타 이벤트를 분석하는 코드를 작성했었죠. 이번에는 미디 이벤트를 분석하는 코드를 작성하기로 할게요. Track 청크는 이벤트들로 구성한다고 앞에서 얘기를 했고 이벤트는 delta time이 오고 그 뒤에 오는 상태 정보가 0~0xEF까지는 미디 이벤트, 0xF0~0xFE까지는 시스템 이벤트, 0xFF는 메타 이벤트라고 하였습니..
1. 유튜브 동영상 강의 미디 분석 프로그램 - 트랙 청크 분석, Meta Event 2. 해야 할 일 이전 글에서 미디 파일의 Track 청크의 메타 데이터에 관해 다루고 이를 분석하는 소스 코드를 소개하였습니다. 그런데 메타 데이터의 내용을 무조건 문자열로 구성하고 있다는 가정으로 정보를 제공하였습니다. 하지만 메타 데이터 내용은 약속된 수치로 특별한 의미를 나타내는 것도 있어요. 대표적으로 박자와 키 정보 등을 들 수가 있어요. 이번에는 메타 데이터의 내용을 상세하게 분석하여 제공하는 기능을 구현하기로 할게요. 3. MetaEvent 클래스 추가 구현 ehmidi 라이브러리의 MetaEvent 클래스에 상세 정보를 제공하는 MetaDescription 속성을 추가합시다. 템포나 박자 등을 계산하는 ..
1. 유튜브 동영상 강의 미디분석 프로그램 만들기 - 트랙 청크 분석, 미디이벤트 2. Meta Event 이전 강의에서 미디 파일에서 Track 청크의 기본 구조와 delta time을 구하는 것에 관하여 다루었어요. 이번에는 Track 청크의 Meta 이벤트에 관하여 알아보고 분석하는 소스 코드를 소개할게요. Track 청크의 이벤트는 delta time과 이벤트 정보로 이루어져 있다는 것을 이전 게시글에서 얘기했어요. 또한 이벤트 정보는 Meta 이벤트, System 이벤트, Midi 이벤트 중에 하나라는 것도 소개했었죠. 이벤트 정보가 Meta 이벤트, System 이벤트, Midi 이벤트 중에 어떤 것인지를 확인하려면 delta time 뒤에 오는 첫 번째 바이트 정보의 값을 확인하여야 합니다...
1. 유튜브 동영상 강의 미디 분석 프로그램 만들기 - 트랙 청크, deltatime 2. 트랙 청크의 구조와 delta time 앞에서 미디 파일은 청크의 집합이라는 것과 청크에는 헤더 청크와 트랙 청크가 있다는 것을 확인하였습니다. 또한 헤더 청크의 내용을 분석하는 것까지 살펴보았습니다. 이번에는 트랙 청크를 분석하는 것을 할 거예요. 그리고 제일 먼저 delta time을 구하는 코드를 구현해 볼 거예요. 트랙 청크는 청크 데이터 부분에 트랙 이벤트 정보들로 구성합니다. 트랙 이벤트 정보는 해당 이벤트가 미디가 시작하여 어느 시점에 발생할 이벤트인지를 결정하는 delta time 부분이 먼저 오며 이후에 이벤트 정보가 옵니다. 이벤트 정보는 메타 이벤트, 시스템 이벤트, 미디 이벤트로 구분할 수 있..
1. 유튜브 동영상 강의 미디 분석 프로그램 만들기 - 헤더 청크 분석 2. 해야 할 일과 이론 이전 글에서 미디 파일은 청크들의 집합이라는 얘기와 함께 이를 확인하는 C# 소스 코드를 소개하였습니다. 이번에는 미디 파일의 청크 중에 Head 청크의 구조를 알아보고 이를 분석하는 C# 소스 코드를 소개할게요. 미디 파일의 head 청크는 14 바이트로 구성합니다. 청크 타입부분의 값은 ASCII 코드에서 Mthd에 해당하는 값(16진수로 4D 54 68 64)이 옵니다. 헤드 청크의 길이는 6바이트입니다. Head 청크의 데이터는 포멧, 트랙 개수, division으로 구성합니다. 포멧은 2바이트 차지하며 0,1,2 중에 하나입니다. 0: 단일 트랙, 1: 다중 트랙(여러 악기를 표현하기 쉬움), 2: ..
1. 유튜브 동영상 강의 미디분석 프로 그램 만들기 - 청크 목록 분석 2. 해야 할 일 이번에는 미디 파일 구조를 간단히 알아보고 이를 분석하는 간단한 응용 프로그램을 작성해 보기로 할게요. 먼저 미디(Midi)는 Musical Instrument Digital interface로 전자악기의 디지털 데이터를 주고 받기 위한 표준 규격입니다. 여기에서는 미디 파일 구조를 점진적으로 분석하고 이를 이용하는 프로그램을 단계적으로 작성해 나가기로 할게요. 미디 파일은 덩어리(청크, Chunk)들의 집합입니다. 미디 파일은 여러 개의 청크들로 구성하고 있다는 거예요. 그리고 청크는 청크 유형(4바이트), 청크 길이(4바이트), 청크 데이터(청크 길이)의 조합이예요. 3. StaticFuns 정적 클래스 정의 S..
유튜브 동영상 강의 Form1.cs 소스 코드 using System; using System.Windows.Forms; using WaferLineLib; namespace WaferLine_예광탄 { public partial class Form1 : Form { WaferLine wl = null; public Form1() { InitializeComponent(); wl = new WaferLine(1); } private void tbar_wafer_Scroll(object sender, EventArgs e) { if (wl == null) { return; } lb_wafer.Text = tbar_wafer.Value.ToString(); } private void tbar_pr_Scrol..
1. 유튜브 동영상 강의 Wafer 코팅 시뮬레이션 - WaferLine 예광탄 WaferLine 소스 코드 using System; using System.Collections; using System.Collections.Generic; using WaferLineLib; namespace WaferLineLib { public class WaferLine : IEnumerable { public int No { get; } public int Spin { get; set; } public int Drop { get; set; } public WaferLine(int no) { No = no; Spin = 1000; Drop = 20; } List bwafers = new List(); List aw..
1. 유튜브 동영상 강의 WAFER 코팅 시뮬레이션 예광탄 2. WaferLine 예광탄 시연 WaferLine은 Wafer 추가, 코팅액 추가, 회전 속도 설정, 낙하 속도 설정, 코팅 시작 및 코팅한 Wafer를 확인하는 기능을 제공합니다. 여기에서는 WaferLine에 코팅해야 할 Wafer는 최대 200개를 보관할 수 있게 하드코딩할게요. 코팅액은 최대 20병을 보관할 수 있게 하드코딩합니다. 코팅액 1 병은 1000개의 쉘을 코팅할 수 있습니다. 코팅 완료한 Wafer는 보관에 제한이 없습니다. 3. WaferLine 예광탄 Layout WaferLine 예광탄의 자식 컨트롤을 배치합시다. Wafer(tbar_wafer)와 코팅액(tbar_pr), 회전속도(tbar_spin) 및 낙하속도(tba..
1. 유튜브 동영상 강의 미디 분석 프로그램 유튜브 동영상 강의 2. 프로그램 소개 미디 파일은 여러 개의 청크들로 구성합니다. 청크는 청크 타입과 청크 길이와 데이타로 구성하고 있는데 헤더 청크와 트랙 청크가 있어요. 이 외에 자세한 사항은 프로젝트를 진행하면서 하나 하나 설명하기로 할게요. 프로젝트 제작 순서는 다음과 같습니다. 청크 분석 헤더 청크 분석 트랙 청크 분석 메타 이벤트 분석 미디 이벤트 분석 시스템 이벤트 분석 미디 분석 프로그램 미디 분석 프로그램은 C# 언어와 Windows Forms 기술을 사용하여 구현합니다. 프로젝트를 진행하면서 미디 파일의 구조와 의미를 설명하기로 할게요. 그럼 다음 강의에서 만나요.
유튜브 동영상 강의 Wafer 코팅 시뮬레이션 - 라이브러리 만들기 안녕하세요. 언제나휴일입니다. 1. 해야 할 일 Wafer 클래스를 정의하고 Double Buffering 가능한 DPanel을 정의했습니다. 그리고 Wafer의 코팅 상태를 시각화하는 부분을 작성했습니다. Wafer 코팅 시뮬레이션에서 Wafer 클래스는 WaferLineLib에 정의할 것입니다. 그리고 DPanel과 Waper를 시각화하는 WaferPanel은 WaferLineControlLib에 정의할 것입니다. 이번에는 WaferLineLib와 WaferLineControlLib를 만드는 실습을 할 거예요. 물론 앞에서 만든 Wafer 클래스를 WaferLineLib에 추가하고 DPanel과 Panel을 시각화하는 부분을 Wafe..
유튜브 동영상 강의 안녕하세요. 언제나 휴일입니다. 이번 강의는 Wafer 예광탄을 작성하는 실습입니다. 1. Wafer 클래스 소스 코드 namespace Wafer_예광탄 { /// /// Wafer 클래스 /// public class Wafer { static int last_wn;//가장 최근에 부여한 웨이퍼 일련 번호 readonly int wn;//웨이퍼 일련 번호 int[] cells = new int[100]; int now;//현재 코팅할 쉘 번호 /// /// 기본 생성자 /// public Wafer() { last_wn++; wn = last_wn;//웨이퍼 번호 순차 부여 } /// /// 현재 코팅하고 있는 쉘 번호 속성 - 가져오기 /// public int Now { get..