이 포스팅에서는 응용프로그램(WinForm, WPF...)에서 ASP.NET를 포함한 웹 서비스를 제공하는 방법을 다룹니다. 퍼블리싱된 파일을 서비스하는 것이 아닙니다. 웹서버를 구현한다고도 볼 수 있는데..... IIS나 Kestrel처럼 퍼블리싱된 파일을 읽어서 서비스하는 방식은 아닙니다. (그렇다고 구현방식이 다른 건 아닙니다 ㅎㅎㅎㅎ) 1. 프로젝트 생성 프로젝트는 ".Net 5 WinForm 애플리케이션"으로 생성합니다. 여기서는 "웹 응용 프로그램 MVC (모델-뷰-컨트롤러)"로 생성합니다. 'Form1'의 이름을 'MainForm'으로 바꿉니다. 폼을 다음과 같이 구성합니다. 버튼을 누르면 브라우저가 열리도록 코드를 넣습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ..
서버를 세팅하고 ASP.NET 5 웹을 올렸는데.... "405 Method Not Allowed" 오류가 납니다??? 1. 원인 찾기 다른대서 잘 돌아가고 있던 웹이라 무슨 일이지 하는데... WebDAV를 어떻게 해보라는 글이 보이네? 아뿔싸...... 평상시에는 제가 IIS를 세팅하니 까먹었는데..... 'WebDAV'가 설치되면 보안 문제 때문에 메소드(PUT, DELETE 같은 것들) 막히기도 합니다. 2. 'WebDAV' 제거하기 서버 관리자 > 역할 및 기능 제거 마법사 > 서버 역할 웹 서버 > 일반적인 HTTP 기능 > WebDAV 게시 기능을 제거해 주면 됩니다. 이제는 잘됩니다. 마무리 원한다면 웹사이트별로 세팅할 수는 있는데..... 보통 테스트용 서버와 실 서비스용을 나눠두기 때문..
갑자기 출력창에 디버깅 메시지가 나오질 않습니다. 보통 이런 경우 "직접 실행 창"에서 나오는 경우가 있는데.... 여기서도 안 나오네???????? 1. 임시 해결 방법 도구 > 옵션 으로 들어가서 디버깅 > 일반 에서 "출력 창의 모든 텍스트를[직접 실행] 창으로 리디렉션" 옵션을 체크했다가 꺼줍니다. 적용하고 다시 확인해 보자. 2. 이것도 안 된다면..... 이래도 안되면 "출력 창의 모든 텍스트를[직접 실행] 창으로 리디렉션" 옵션을 켜고 저장한 다음 비주얼 스튜디오(Visual Studio)를 재시작해주고 "직접 실행"창에 표시되는지 확인해 봅니다. 일단 "직접 실행 창"에라도 표시되면 사용하는 것이 좋습니다. 마무리 이 버그는 유서 깊은(???) VS의 오류입니다. 아직도 가끔 발생하는 거보..
간만에 OCR을 쓸 일이 있어서 테서랙트를 참조한 프로그램을 만들었습니다. 1. 문제의 발생 테서랙트를 쓰는 프로그램을 만들었는데 다른 컴퓨터에서 다음과 같은 에러가 나는 겁니다. Failed to find library "tesseract41.dll" for platform x64. 2. 해결방법 x86으로만 빌드를 해야 하나.....했는데.. 비주얼 스튜디오 C++ 재배포 패키지(Microsoft Visual C++ Redistributable for Visual Studio)를 설치하면 된다는 글이 있습니다. 참고 : charlesw/tesseract issues - Failed to find library "tesseract41.dll" for platform x64. 다운받는 주소입니다. 참고 ..
윈폼에서 다국어 처리 시 컨트롤에 자동으로 다국어를 바인딩시킬 수 있습니다. 연관글 영역 1. 개념 이해하기 자동으로 바인딩 되는 방식은 폼(Form) 단위로 관리됩니다. 'Language' 속성을 변경하면 자동으로 해당 언어-국가 코드에 맞게 '.resx'파일이 생성됩니다. 리소스(Resource)에서 다국어 처리할 때와 마찬가지로 '.resx'파일에 다국어 정보가 들어가게 되고, 설정된 현지화 정보에 따라 자동으로 처리됩니다. 2. 폼(Form)에 현지화(Localizable) 처리 폼의 속성에 'Localizable'를 'True'로 바꿔줍니다. 이때 'Language'는 기본값인 '(Default)'여야 합니다. 여기서 '(Default)'는 중립언어(혹은 기본언어, 이하 기본언어)라고도 합니다...
.NET에서 리소스(Resource)파일을 이용한 다국어 처리는 오래된 방식입니다. 간단하게 구현하는 방법을 알아봅시다. 연관글 영역 1. 리소스(Resource) 파일 만들기 이 프로젝트에서는 'Resource' 폴더에 파일을 만듭니다. 프로젝트에 어느 위치에 있어도 참조하는 데 문제는 없습니다. 추가 > 새 항목 > 리소스 파일(Resources File) 을 추가합니다. 기본 언어는 언어-국가 코드가 없는 파일명으로 만들어야 합니다. 나머지 추가된 언어들은 언어-국가 코드를 넣어 만듭니다. 이 프로젝트에서는 - LangStr.resx - LangStr.ko.resx 이렇게 생성했습니다. 2. 데이터 넣기 다국어로 사용할 언어 데이터를 넣어 줍니다. 'LangStr.resx'에는 기본언어인 영어를 넣..
잉크스케이프(Inkscape)에 보면 AutoCAD 형식 중 하나인 ".dxf" 파일로 저장하는 기능이 있습니다. 문제는 이 형식으로 저장하면 저장이 안 되는 현상이 있다는 겁니다. 1. 문제의 이유 ".dxf" 형식은 커팅에 주로 쓰이는 포맷으로 선으로 된 정보가 들어 있는 포맷입니다. 그런데 잉크스케이프는 면을 포함한 다양한 정보가 있습니다. 이러다 보니 재대로 변환이 되지 않아서 생기는 문제입니다. 선으로만 작업하면 별도의 변환 없이도 저장/불러오기가 잘되는 것을 알 수 있습니다. 하지만 면으로 된 도형이 하나만 들어가도 저장이 안 되는 오류를 볼 수 있습니다. 2. 해결하기 선 정보 말고는 다 지워버리면 해결됩니다 ㅎㅎㅎ 방법은 1) 텍스트를 먼저 처리합니다. 1-1) 경로로 변환합니다. 경로 >..
외부에서 무언가를 테스트하는 경우 외부에서 접속하지 못해서 테스트가 힘든 경우가 있습니다. 프로그램에 따라서 손이 많이 가는 세팅을 해야 하는 경우도 있죠. 저 같은 경우 "ASP.NET Core"를 테스트할 때 이문제에 직면하죠 ㅎㅎㅎ (IISExpress, Kestrel 공통) 특히 모바일과 같은 다른 플랫폼을 디버깅 하고 싶을 때 많이 발생합니다. 이럴 때 사용하는 2차도 메인이나 임시 URL을 생성해주는 서비스가 "ngrok"입니다. 로컬 서버를 외부에 노출 시키기 - iisexpress-proxy 로컬 서버를 외부에 노출 시키기 - ngrok "ngrok"는 무료입니다. 유료 버전이 있긴 한데....제한 사항이 테스트하는 용도로는 없다싶이합니다. 1. 다운로드 및 실행 "ngrok" 사이트에 접..
iptime 무선랜의 고질병인 끊김 현상은 인터넷에는 이것저것 해보라는 소리가 많습니다. 다해도 까먹을 하면 한 번씩 끊김 현상 일어납니다. 리엘택(Realtek)칩셋의 문제라는데..... 웃긴 건 같은 칩셋 쓰는 무선랜을 2개 쓰고 있습니다만 둘 다 끊김 현상이 있긴 한데 똑같이 끊길 때가 있고 둘 중 하나만 끊기는 현상이 일어날 때도 있다는 것입니다. (둘다 말짱할때도 있고 ㅎㅎㅎㅎ) 다른 칩셋 USB 무선랜을 쓰는 사람들 후기를 보면 리얼택만큼은 아니어도 끊기는 현상이 있긴 합니다. USB 무선랜의 한계인가? 이 포스팅은 그때그때 조치했던 것들을 기록해두는 포스팅입니다. 조치를 했을 때마다 업데이트할 예정입니다. 여기에 기록된 내용은 완벽한 해결책이라기보다는 이런 조치를 해볼 수 있다고 생각하시면 ..
ASP.NET Core에서 테스트를 돌리면 외부에서 접속이 불가능합니다. 이건 IISExpress, Kestrel 공통입니다. 좀 복잡하게 설정하는 방법이 있지만 엄청 귀찮습니다. 이럴 땐 외부로 플록시 해주는 프로그램을 사용해야 합니다. 이 포스팅에서는 "iisexpress-proxy"를 이용합니다. 로컬 서버를 외부에 노출 시키기 - iisexpress-proxy 로컬 서버를 외부에 노출 시키기 - ngrok 1. "iisexpress-proxy" 설치 "iisexpress-proxy"는 Node.js 기반 프로그램입니다. NPM이 설치돼있지 않다면 설치해 줍니다. 참고 : [Node.js] 윈도우에서 'Node.js'와 'NPM'을 설치하기 NPM 5.2.0버전 이상이면 모듈이 내장되어 있다고 합니..