본문 바로가기

TCP/IP란? 1. TCP/IP의 이해 인터넷을 움직이는 엔진은 TCP/IP이니다. TCP/IP는 TCP와 IP가 조합된 단어로 TCP는 Transmission Control Protocol의 약자로 전송과 관련된 통제를 하는 프로토콜이란 것을 알 수 있습니다. IP는 Internet Protocol로서 인터넷에서 특정한 위치를 지정하는 방법과 절차를 담고 있는 프로토콜입니다. 테이터 통신과 관련해서 프로토콜은 상호통신을하기 위한 약속 또는 규약입니다. 인터넷의 데이터 통신은 데이터 앞에 붙는 Header만을 해석하여 처리합니다. 이 때 Header라고 하는 정보는 보내는 쪽과 받는 쪽 모두 이해할 수 있는 내용과 구조를 갖고 있어야 하며 이와 관련된 약속이 바로 포로토콜입니다. 인터넷은 TCP와 IP를 포함해 여러 .. 더보기
Visual Studio 2005에서 SmartDevice 프로젝트 생성 문제 해결방법 Windows CE 5.0에서 동작하는 Application을 만들려먼 Embedded Visual C++이나 Visual Studio 2005에서 작성이 가능하다. 단, 컴퓨터에 Internet Explore6가 설치되어 있다가 Internet Explore7을 설치하고 나서 Visual Studio 2005에서 프로젝트를 만들면 생성실패라고 나오는 경우가 간혹 있다. 이럴 경우 몇가지 레지스트리 세팅을 해주면 해결된다. 아니면 Visual Studio 2005 서비스팩 1을 설치해주면 해결되기는 하지만.. 안되는 경우도 있기 때문에 다음과 같이 설정해주면 정상 작동한다. 1. 레지스트리 편집기를 연다. 2. 다음과 같은 경로로 간다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft.. 더보기
Serial 통신 개념 잡기 1) Serial 통신 개념잡기 이번에는 Serial 통신에 대해서 기술을 하도록 하겠습니다. 거의 모든 사람들이 Serial 통신 하면 굉장히 난해 하다는 생각들을 합니다. 실은 필자도 Serial 통신에 대해 알기 전까지는 개념조차 파악을 못했고 정말 어려운 부분이구나 라는 막연한 생각만 했었습니다. 그러나 그렇게 어렵게만 생각되던 Serial 통신은 사실 알고나면 아무것도 아닌 것을 왜 그 시절엔 어렵게만 느껴졌을까? 하는 생각을 지금 해 봅니다. 왜 어려울까요? 그것은 책이 제대로 가르쳐주기 때문입니다. ??????????? 책은 그야말로 정석을 잘 가르쳐 주지요.... RS-232C Cable연결부터 시작해서 CCITT,Vxx가 어쩌고 저쩌고.......정말 제대로 가르쳐 주지요? 물론 책들이 .. 더보기
RS-232 시리얼통신 RS-232 RS-232C (Recommended Standard 232 Revision C)는 컴퓨터가 모뎀과 같은 다른 직렬장치들과 데이터를 주고받기 위해 사용하는 인터페이스이다. 컴퓨터로부터 나오는 데이터는 보통 마더보드 상에 있는 UART 칩에 의해 DTE 인터페이스로부터 내장(또는 외장) 모뎀이나 기타 다른 직렬장치들로 전송된다. 컴퓨터 내에 있는 데이터는 병렬회로를 따라 흐르지만 직렬장치들은 오직 한번에 한 비트씩만을 처리할 수 있기 때문에, UART 칩이 병렬로 되어 있는 비트들을 직렬 비트 열로 변환시킨다. 모뎀이나 다른 직렬 장치와 RS-232C 표준에 입각하여 통신하는 PC의 DTE 에이전트도 역시, DCE 인터페이스라고 불리는 보완적인 인터페이스를 가지고 있다. 컴퓨터에서 .. 더보기
시리얼 통신 정리 RS-232C (Recommended Standard 232 Revision C)는 Computer가 Modem과 같은 다른 Serial Device들과 Data를 주고받기 위해 사용하는 Interface이다. Computer로부터 나오는 Data는 보통 MainBoard상에 있는 UART Chip에 의해 DTE Interface로부터 내장(또는 외장) Modem이나 기타 다른 Serial Device들로 전송된다. Computer내에 있는 Data는 병렬회로를 따라 흐르지만 Serial Device들은 오직 한번에 1bit씩만을 처리할 수 있기 때문에, UART Chip이 병렬로 되어 있는 bit들을 Serial bit열로 Converting 한다. Modem이나 다른 Serial Device와 RS-.. 더보기
패리티 비트란? 패리티 비트(Parity Bit) 네트워크나 하드웨어에서 자동적으로 에러가 검출되게 하는 방법이죠. odd parity와 even parity가 있습니다. 보통 7개의 bit 뒤에 하나의 parity bit을 추가하여 에러를 검출하는 방법을 사용합니다. 예를 들어봅시다. 0100010 1000101 1110101 이런 데이터를 전달하려고 할 때, 각 bit뒤에 parity bit 하나를 추가하는데, 여기서는 even parity를 사용한다고 하면, parity bit하나를 추가하여, 각 줄에 있는 1의 수가 짝수가 되게합니다. 다음과 같이 추가하면 되겠죠~ 0100010 0 1000101 1 1110101 1 이렇게 하면 각 줄의 1의 수가 모두 짝수가 되게됩니다. 여기서 가장 마지막에 있는 bit을 p.. 더보기
prinf를 이용한 ATMEGA128 USART 통신 //****************************************************************************************************// // // // Compiler : CodeVision // MCU : ATMEGA 128 // Clock : 16MHz // //****************************************************************************************************// #include #include //*************************************************************************************************.. 더보기
ATMEGA128을 이용한 LCD(캐릭터)제어 - 4bit //###################################################################// // 캐릭터 LCD 제어 프로그램 // Compiler : CodeVision // Productor: Shim Woo Sung // //RS : PORTB.0 //RW : PORTB.1 //E : PORTB.2 //Data line : PORTD //###################################################################// #include #include #include //###################################################################// // // #define H .. 더보기
GoF Design Patterns - 다시보는 Singleton (Java, C# .Net ) Posted by Mr.朴 Posted in " Development Story " 싱글턴 패턴(Singleton Pattern) - for Beginner 이 문서는 GoF(Gang of Four) Design Patterns 에 정의된 패턴 목록 중 싱글턴 패턴(Singleton Pattern)을 다시 정리하면서 내용을 요약한 것이다. 개인적으로 자바와 닷넷 양진영에 모두 경험이 있다보니 동일 패턴에 대해서 상호 비교해보는 것이 어떨까 하는 생각이 들었다. 그래서 간략하지만 Java와 C# 양쪽에 걸쳐 내용을 작성하였으며, 소스코드 템플릿 또한 *.java, *.cs로 나누어 예를 제시하였다. 어쩌면 이 코드들 때문에 내용이 조금 더 복잡해 보일지도 모르겠다. 싱글턴 패턴의 개요 GoF의 23가지 디.. 더보기
재미있는 사진을 만들어주는 사이트 2009/10/16 10:33 Posted by Mr.朴 Posted in " Scent of Life " 예전에 재미있는 사이트 - 사진 자동 합성 포스트에서 PhotoFunia를 소개한 적이 있다. 오늘 비슷한 사이트를 하나 더 발견했는데, PicJoke.com이다. 사이트의 몇가지 효과(?)를 적용해본 샘플 사진들이다. 모델은 물론 나. ^^; 각종 효과들이 월별로 계속 업데이트되는 것 같다. 더보기
Programming Fonts - 나눔고딕코딩 글꼴 등 출처 : http://kyungseo.pe.kr/blog/131?category=2 일전에 "공짜로 나눠주는 폰트 - 공개 글꼴(무료 서체)"란 제목의 포스트를 올린적이 있다. 이 글에서 소개를 했던 네이버 나눔글꼴 을 소개했었는데, 이번에는 개발자를 위한 글꼴 하나를 더 소개해볼까 한다. 개발자용 나눔고딕코딩체는 나눔고딕을 개선하여 개발자 여러분들이 개발 작업을 좀더 편리하게 하실 수 있도록 최적화된 글꼴입니다. 고정폭 형식으로서 소스코드 편집을 위한 각종 편집기나 터미널에서 가독성을 높였고, 알파벳 대문자 아이(I)와 알파벳 소문자 엘(l), 숫자 1, 숫자 0과 알파벳 대문자 오(O) 혹은 알파벳 소문자 오(o) 등등 혼동되기 쉬운 문자들을 명확하게 구별될 수 있게 하여 원치 않는 코딩 오류를 최소.. 더보기
Application Launcher Windows 환경에서 빠르게 특정 어플리케이션(프로그램)을 실행시키기 위해서, 대부분 "시작 > 실행" 메뉴를 클릭하거나 "WinKey+R" 단축키를 주로 사용한다. 이때 실행되는 기본 론처(Launcher)가 "windows run"인데, 이와 유사한 프로그램으로 어플리케이션 론처의 기본 기능에 충실하면서 여러가지 부가기능을 추가하여 편의성을 높이고 보다 유려한 GUI를 표현하는 유용한 프리웨어가 몇개 있다. Launchy, Executor, Enso, RocketDock 등의 유틸리티(Utility)가 이들 프로그램이다. 1. Launchy Launchy는 Windows나 Linux 환경에서 돌아가는 유틸리티 프로그램이다. 몇개의 키만을 타이핑하여 시스템에 등록되어 있는 프로그램을 실행하거나 폴더를.. 더보기
공개 폰트 최근에는 네이버나 다음과 같은 포탈을 비롯하여 몇개의 언론사 등에서 공개 글꼴을 배포하고 있다. 네이버 나눔글꼴 다음 다음체 옥션고딕 서울서체(서울한강체, 서울남산체) 윤디자인 한글상상체 아리따글꼴 조선일보서체 한겨레신문사 한겨레결체 연세체(제목체 소제목체 로고체) 순천향체 앞으로 더 많은 예쁘고 질좋은 무료 폰트들이 배포되었으면 하는 바램을 가져본다. ^^ 설치한 글꼴을 폰트뷰어로 오픈한 화면을 몇 개 캡쳐해보았다. 나눔고딕 나눔명조 다음체 옥션고딕 서울한강체 서울남산체 아리따 한겨레결체 더보기
Planner : GPL Project 관리 툴 최근에 VMware의 Guest OS로 Fedora 9을 설치했었다. 메뉴를 훓어보다가 우연히 "프로젝트 관리"라는 메뉴가 눈에 띄어 실행시켜보았다. Fedora 메뉴Planner라는 프로그램인데 왠지 Microsoft Project를 연상시키는 모양새이다. 도움말의 홈페이지 링크를 통해 사이트에 접속해보았다. Planner GNOME Live! Planner는 사용하기 쉽고 실용적이며 플랫폼 독립적인 GNOME 프로젝트 관리 툴이며, C로 만들어진 GTK+ 어플리케이션이라고 소개되어 있다. Planner는 XML 파일이나 postgresql 데이터베이스로 데이터를 저장할 수 있고 PDF 양식으로 프린트하거나 웹브라우저를 통해 볼 수 있도록 HTML로 반출(export)할 수 있다고 되어 있다. Plan.. 더보기
Quick Batch File Compiler 및 파일패커를 이용한 무설치 제작 방법 출처: http://cafe.naver.com/usboffice/10663 ※ 특별강좌 Quick Batch File Compiler 및 파일패커를 이용한 무설치 제작 방법 안녕하세요?? HM입니다. 이번 강좌에서는 QBC(Quick Batch File Compiler) 및 파일패커를 이용한 무설치 제작 방법을 여러분에게 최대한 알기 쉽게 설명해 드리려고 합니다. 강의를 따라하실때는 다른 프로그램(인터넷 포함) 이 실행되어 있으면 절대 안됩니다;; (TotalUninstall 이 설치되는 프로그램으로 착각합니다.) [강의전 준비물~!] 1. TU (TotalUninstall 의 약어) (스냅샷을 찍어서 설치된 레지스트리 & 파일등을 간단하게 찾아낼수 있는 프로그램) 2. 알집 (이번 강좌에서 예제로 출연.. 더보기
OpenProj 외 프로젝트 관리 툴 OpenProj 외 프로젝트 관리 툴 2008/11/07 00:29 Posted by Mr.朴 Posted in " Development Story " OpenProj는 Microsoft Project나 다른 상용 프로젝트 솔루션을 대체할 수 있는 무료(free) 프로젝트 관리 솔루션이다. 홈페이지에 소개된 내용 중 몇가지 특징을 정리하자면 다음과 같다. 오픈소스(CPAL 라이센스) 프리웨어이다. Linux, Unix, Mac 그리고 Window 등의 다양한 플랫폼을 지원한다. JRE(Java Runtime Environment) 1.5 버전 이상이 필요하다. 1.6 권장. 마이크로소프트 프로젝트나 프리마베라 솔루션의 파일들도 오픈할 수 있다(이를테면 *.mpp). Gantt Chart, PERT Cha.. 더보기
심플하게 USB 부팅 디스크 만들기 (7, Vista, XP 가능) 심플하게 USB 부팅 디스크 만들기 (7, Vista, XP 가능) 하드디스크를 포맷하고 윈도를 새로 설치하려면 드라이브에 CD나 DVD를 넣고 부팅해야 합니다. 너무나 익숙하기에 당연하게까지 보입니다. 하지만 가만히 생각해보면 CD나 DVD를 통해 윈도를 설치하는건 상당히 불편하고 번거로운 일입니다. CD나 DVD에 윈도 ISO 이미지를 하나 하나 굽는건 돈낭비일뿐만 아니라 귀중한 시간까지 낭비하게 됩니다. 드라이브에 넣고 설치할때도 CD나 DVD를 읽을때마다 큰 소음이 발생해서 상당히 신경이 쓰이고 설치한후에도 일일히 넣고, 빼고, 정리하려면 상당히 번거롭기까지 합니다. 예전부터 이런 번거로움을 어떻게 해결할 수 있을까 생각해 본적이 많은데 꽤나 간단하게 이 문제를 해결할 수 있는 방법을 찾아냈습니다.. 더보기
PADS2007 or PADS2009 설치 방법 Instructions : Install Mentor PADS 2007.4 Using the autorun.exe in the main distribution folder : 주 배포 폴더에있는 Autorun.exe를 사용하여 멘토 패드 2007.4 설치 : Choose Install PADS Products option. When "choose licensing scheme" appears, choose "skip or postpone license setup". Choose your default project path. Select "install products", choose which products to install (i install all of them). Wait for some ti.. 더보기
마우스 포인터 위치 관련 모듈 마우스 포인터 위치관련 모듈입니다. 01 : Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long 02 : Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long 03 : Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long) 04 : 05 : Private Type POINTAPI .. 더보기
시간지연 함수 (일정한 시간만큼 대기) 01 : Private Declare Function GetTickCount Lib "kernel32" () As Long 02 : Public Function GetDelay(ByRef TimeCount As Long) As Boolean 03 : On Error Goto Error 04 : GetDelay = True 05 : Dim Timer As Long 06 : Timer = GetTickCount + TimeCount 07 : Do Untill timer 더보기
MBR(Master Boot Recoder) 백업 소스 01 : '--------------------------------------------------- 02 : 'MBR 백업 소스 03 : '사용법 : MBRBackUp(저장될경로, Binary로 저장) 04 : '--------------------------------------------------- 05 : Private Declare Sub SetLastError Lib "kernel32" (ByVal dwErrCode As Long) 06 : Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwSh.. 더보기
정수를 64진법까지 변환해주는 진법변환 모듈 01 : Const BaseString As String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz" 02 : Public Function ChangeNumberBase(ByVal Num As Long, ByVal Base As Byte) As String 03 : On Error Goto Error 04 : If Base > Len(BaseString) Then Base = Len(BaseString) 05 : 06 : Dim tmp As Long 07 : tmp = Num 08 : ChangeNumberBase = "" 09 : Do 10 : ChangeNumberBase = ChangeNumberBase & Mid$(Base.. 더보기
사각형이나 원의 충돌을 감지하는 모듈 01 : '-------------------------------------------------------------------------- 02 : '제작 : 백종민 zhsptm@paran.com 03 : '설명 : 충돌 관련 모듈 04 : '함수 : SquareHit(사각형 충돌) CircleHit(원 충돌) CircleAngle(원 충돌 각도) 05 : '-------------------------------------------------------------------------- 06 : Option Explicit 07 : Private Declare Function IntersectRect Lib "user32.dll" (ByRef lpDestRect As RECT, ByRef lpS.. 더보기
Utility OCX utillity ocx는 비주얼베이직에서 쓸만한 함수를 많이 가지고 있습니다. 또한, 다운로드컨트롤, 사운드플레이컨트롤, 인터넷웹컨트롤, 마우스감지컨트롤, 상태표시컨트롤, XP프로그래스바 등 여러가지 컨트롤을 보유하고 있습니다. 특히 그중 Utill컨트롤은 수십가지의 기능을 지원합니다. 비주얼베이직의 디자인 모드뿐만 아니라, Dim Utill As clsUtill 라고 선언부분에 추가해주시면, 변수 타입으로 사용하실수 있습니다. 아래는 이전 버젼의 기능들입니다. (기능들이 많아서 모든 정리를 못했습니다) 사용 API 갯수 : 24개 기능 갯수 : 38개 사용 API ExitKernelWin9x RtlAdjustPrivilege NtShutdownSystem ExitWindowsEx GetCursorPos.. 더보기
Mysql connector ODBC DB 전환을 위해 어디서든 읽을 수 있는 텍스트 형식을 많이 쓴다. MS Access가 텍스트 형식으로의 export에서 오동작한다. 그냥 속 편하게 connector들을 쓰는게 젤 편하다는게 기타 다른 경험들과 종합한 결론. 그리고 ODBC파일은 MySQL 공식 홈피에서... 더보기
PHP 수식 표현 웹 기반에서 수식을 표현하는 것은 쉽지 않은 일이다. 가장 쉬운 일은 수식 입력받아서 그림으로 뿌리는 것. LaTeX를 참고하면 되겠다. LaTeX 수식 그려주는 사이트 : http://latex.sidoh.org/ui.php 다음 사이트에서 구현 방법의 힌트를 얻을 수도 있겠다. : http://www.linuxjournal.com/article/7870 더보기
내문서 경로 TCHAR Buffer[MAX_PATH]; CString strResult; if (SHGetSpecialFolderPath(NULL,Buffer,CSIDL_PERSONAL,true)) { strResult.Format("Get MyDoc : %s",Buffer); AfxMessageBox(strResult); }else { AfxMessageBox("Get folder fail"); } 제 경우 CSIDL_MYDOCUMENT 로 했더니 안되고 CSIDL_PERSONAL로 하니 제대로 가져 오는군요. CSDIL 목록은 여기 있습니다. http://http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/r.. 더보기
API Q&A "JASTER" 製手攄? ㅋㅋㅋ | 제스터 http://blog.naver.com/jmj1130/100034569319 API 프로그래밍에 대한 Q&A입니다. 1. 특정 디렉토리 뒤지기 지정한 디렉토리에 있는 모든 파일을 찾아내는 코드를 만들려면 어떻게 해야 합니까 ? 이 때 사용할 수 있는 API가 바로 FindFirstFile과 FindNextFile, FindClose라는 API들입니다. 사용 예제는 다음과 같습니다. WIN32_FIND_DATA findFileData; HANDLE hFileHandle; // szDir에 뒤지고자 하는 디렉토리의 경로명을 준다. 예를 들면 "C:\\TEMP\\*.*" // 찾아진 파일의 속성은 findFileData의 dwFileAttributes를 살펴본다. h.. 더보기
VC Key Code 가상키 코드 값(16진수) 해당키 VK_LBUTTON 01 마우스왼쪽버튼 VK_RBUTTON 02 마우스오른쪽버튼 VK_CANCEL 03 Ctrl-Break VK_MBUTTON 04 마우스가운데버튼 VK_BACK 08 Backspace VK_TAB 09 Tab VK_CLEAR 0C 넘버락키가 꺼져 있을때의 5 VK_RETURN 0D Enter VK_SHIFT 10 Shift VK_CONTROL 11 Ctrl VK_MENU 12 Alt VK_PAUSE 13 Pause VK_CAPITAL 14 Caps Lock VK_ESCAPE 1B ESC VK_SPACE 20 Spacebar VK_PRIOR 21 PgUp VK_NEXT 22 PgDn VK_END 23 End VK_HOME 24 Home VK_LEFT 25.. 더보기
WinDbg 이용 방법 미니르의 잡다구리 판 | 미니르 http://blog.naver.com/kminire/150011620424 제 PC 에서 하도 에러가 많이나서 ㅡㅡ; MS 랑 통화하고 메일 주고 받고 하다가 ㅋㅋ 직접 분석좀 해보고 싶어서 물어봤더니 이런걸 보내주네요 ^^;; 필요하신분들 참고하세용 ~ *^^* 집에서 에러난 덤프들 .. 슬슬 떠봐야겠네요 ㅋㅋ WinDbg 이용해서 Dump 파일 분석 하는 방법 1. http://www.microsoft.com/whdc/devtools/debugging/default.mspx 사이트로 이동 합니다. 2. Install Debugging Tools for Windows 32-bit Version 으로 이동 합니다 http://www.microsoft.com/whdc/de.. 더보기