본문 바로가기

분류 전체보기227

Mashup Service와 OpenAPI 예전부터 글을 쓰고 싶던 주제였는데.. 회사에서 스터디 자료를 만들게 되어 블로그에도 함께 포스팅을 하게 되었습니다. 여기에서 서비스의 개념, 정의와 개발하시는 분들을 위해 소스를 포함한 활용 실습까지 간단하게 해보려합니다. 둘 이상을 합쳐 새로운 하나로 만드는 혼합 서비스 - MashUp 웹 상으로 제공되고 있는 정보나 서비스를 융합하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 것 매쉬업(매시업, Mash-Up)은 여러가지 곡이나 장르를 섞어 새로운 노래를 만들어내는 음악 용어가 어원이라고 합니다. IT에서는 네트워크상의 정보를 서로 연결하여 기존에 없던 새로운 서비스를 만들어내는 것을 뜻합니다. 이것은 2005년 폴 레이드매처(Paul Rademacher)가 기존의 부동산사이트에 구글 지.. 2013. 7. 16.
[C#] Console.Writeline 좌/우 정렬, 문자 채우기, 소숫자리 출력 출처 : 쇼크리더님 http://ramses8.tistory.com/ 베베님 : http://blog.stevex.net/string-formatting-in-csharp/ 월화수목금금금 : http://dps-r.tistory.com/36 1. 원하는 길이로 좌측/우측 정렬시킨후 나머지 공간을 다른 문자로 채우기 (기본은 공백) String.PadLeft(길이, [문자]); String.PadRight(길이, [문자]);예) string str1 = "asdf"; string str2 = str1.PadLeft(10); --> str2 = " asdf" string str3 = str1.PadRight(6, '-'); --> str3 = "asdf--" str2 웹에서 보면 빈칸이 안나오기에 그냥 as.. 2013. 4. 4.
[C#] OpenCV를 이용한 얼굴검출(Haar) 알고리즘 OpenCV는 오픈소스 영상처리 라이브러리입니다. 현업에서 사용하는 다양한 유료 라이브러리에 비해 기능이나 정확성, 처리속도 면에서 아쉬운 점이 없지는 않겠지만, 코드가 공개되어 언제든지 편리하게 사용할 수 있게 해 준다는 건 개발자에게 매우 고마운 일인 것 같습니다 (얼굴을 좀 못잡긴 하죠? ㅋㅋ) 학부때 소개했다가 파장을 불러일으켰던 (교수님의 눈빛을 흔들리게 했던) 그 라이브러리!! 그중에서도 얼굴 검출 Haar알고리즘을 사용하기 쉽도록 소스만 올립니다(Dll링크 등의 환경설정이 필요없음. 이미지 경로만 수정해 주세요) OpenCV를 이용한 영상 처리를 해보시고 싶으신 분은 오픈CV Sharp 홈페이지를 참조하세요 https://code.google.com/p/opencvsharp/ 라이브러리는 버.. 2013. 3. 16.
[C#] Alt+F4로 폼 닫는 것 막기 폼 닫을때 세이브 메소드를 넣고 싶어서 출처: http://bytes.com/forum/thread256124.html Alt+F4 버튼으로 폼을 닫아버리면 안 되도록 설정해야 하는 경우가 종종 있습니다. 최근에 프로그래밍을 하다보니 멀티쓰레딩으로 작업하다가 Alt+F4버튼을 눌러서 닫아버리면 오류가 나더군요.. 왜 오류가 날까? 라는 생각보다 Alt+F4 버튼을 막아야 겠군! 이라는 생각이 먼저 들더군요 ㅡㅡ; 그래서 여러 가지 생각을 해 봤는데요.. 1. 예전에 쓴 방법 중 하나는 다른 폼으로 무조건 포커스를 옮기는 것이었습니다. 그 때는 하나의 폼에만 포커스가 있으면 되는 경우였으니까 가능했지만. 포커스를 유지하면서 Alt+F4를 막으려면 다른 방법을 써야 했죠~ 많은 분들이 사용하는 방법 중 하나.. 2013. 2. 27.
[C#] textbox 에서 ctrl + a 했을때 전체선택 좋네요 냠냠.. [출처] textbox 에서 ctrl + a 했을때 전체선택|작성자 inno c#에서 textbox 에서 ctrl + a 했을때 전체선택되게 하는 소스이다. textbox1.selectall(); 같은것도 있지만... 키이벤트도 처리해줘야하고 번거로움이 있다.. 그래서 그걸 해결하는게.. 아래의 소스!! 소스코드에 아래의 소스만 추가하면 된다. 수정 같은거 안해도 된다... 그냥 추가만 하자! protected override bool ProcessDialogKey(Keys keyData) { switch (keyData) { case Keys.A | Keys.Control: if (this.ActiveControl is TextBox) { TextBox txt = (TextBox)thi.. 2013. 2. 27.
[C#] 프로그램을 시작할때 (파일출력 프로토타입) 국 끓일 때 다싯물 먼저 내는 밑작업 마냥, 코딩에서 프로토 타입으로 만들어지는 프로그램은 텍스트 파일(혹은 엑셀, MP3, 동영상 등)을 읽는 기능 부터 구현하게 되는 경우가 왕왕 생기지요. 오늘 포스팅에서는 [텍스트 파일을 드래그로 폼에 넣어, 내용을 콘솔에 출력하는 프로그램]을 만들어 보려고 합니다 (음악 파일을 읽어 재생하는 기능 응용 예 : http://topnanis.tistory.com/167 ) 1. 솔루션탐색기 -> 응용프로그램 속성은 "콘솔 응용프로그램" 으로 바꾸어 Console.write("Hello, world");를 콘솔화면에서 확인 할 수 있도록 해주세요 2. 폼 속성 -> 이벤트추가 -> DragEnter와 DragDrop 두개 항목을 자동 추가 해서 코드를 넣어 주세요 3... 2013. 2. 14.
[C#] 윈폼기반 프로그래밍을 할때 Invoke() 이쁘게쓰기! 출처 : Kwang's : http://xmlangel2.blogspot.kr/ Invoke 를 써서 델리게이트를 간단히 하는 방법이 있다고 한다. 1곳에서만 메인쓰레드의 권한이 필요할경우, 이 방법을 쓰면 좋다고 한다. 만약 그렇지 않다면, 쓰는데마다 저렇게 선언을 해줘야한다고 한다. 참고 해보길 바란다. 출처 윈폼기반 프로그래밍을 할때 Invoke() 이쁘게쓰기!이 포스트를 보고있는 여러분들은, 모두 닷넷 프로그래밍에 관심이 있으시고, 현재도 개발툴로 사용중인 분이실 것이다. 쓰레드기반 프로그래밍을 할때(.Net)에서 폼(엄밀히 말하면 윈도우)의 Child컨트롤(요곳도 윈도우)들의 멤버변수들을 조작 하기 위해서는, 메인쓰레드의 권한이 필요하다. 따라서, 메인쓰레드의 권한이 필요 할경우, this.In.. 2013. 2. 8.
[C#] 윈폼에서 단축키 설정.. 윈폼(via C#)으로 각종 툴, 어플리케이션을 만들 때 유저키덕후들을 위한 단축키가 필요할 수 있다. 마우스라는 혁신적인 입력 장치가 있더라도 숙련되면 키보드 이상가기 힘드니까 :) 언뜻 생각하기에는 System.Windows.Forms.Form 클래스에서 KeyDown 이벤트를 잡아서 처리를 하면 될 것 같아 해보았지만, 동작하지 않는다 ㅇㅂㅇ;; Google신(MS는 Bing신...)에 문의 결과 ProcessCmdKey 메소드를 오버라이드 한다면 된다고 한다. 간단히 해보면 다음과 같다. protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { if (!base.ProcessCmdKey(ref msg, keyData)) // 위.. 2013. 2. 1.
[regex] 정규표현식 테스트 프로그램 - The Regex Coach Target string에 테스트할 문자열을 입력한 후 위의 Regular expression에 정규표현식을 넣으면 됩니다. 마우스로 특정 표현식을 선택하면 부분적으로 Match 되는 부분을 보여줘 원하는 정규표현식을 비교적 쉽게 만들 수 있습니다. 참고로 위 예제는 Dot(.)로 분리되는 가변의 Hexa String을 입력받는 정규표현식이 필요해서 만들어서 테스트를 해보았습니다. ([a-fA-F0-9][a-fA-F0-9]\.)*[a-fA-F0-9][a-fA-F0-9] [내려 받을 수 있는 곳] http://www.weitz.de/regex-coach/ [직접 다운로드 - v0.92] regex-coach.exe 이 프로그램은 donation-ware 이고 free로 사용가능합니다. 2012. 12. 10.
[C#] 폼 드래그 할때 이동 using System.Drawing; // 오버라이딩이므로 이벤트를 별도 생성하실 필요 없이 코드에 붙이시면 됩니다// MouseDown 시의 커서 위치를 저장해서, MouseMove 시에 Form의 Location에 반영하게 됩니다 private Point mCurrentPosition = new Point(0, 0); // protected override void OnMouseDown(MouseEventArgs e) { base.OnMouseDown(e); if(e.Button == MouseButtons.Left) mCurrentPosition = new Point(-e.X, -e.Y); } protected override void OnMouseMove(MouseEventArgs e) { ba.. 2012. 10. 5.