비주얼 스튜디오(Visual Studio)의 Git 기능의 업데이트가 너무 자주 있어서 기존 글을 수정하는 식으로 쓰는 데 한계를 느껴서 새로 포스팅을 합니다. 연관글 영역 1. 저장소 생성 및 복사 저장소를 생성하고 주소를 복사해서 받습니다. 1-1. 저장소 생성 1-2. 저장소 주소 복사 저장소의 주소를 복사합니다. 2. 저장소 복사 비주얼 스튜디오를 열고 '리포지토리 복제'를 선택합니다. 복사한 깃 주소를 '리포지토리 위치'에 붙여넣습니다. 경로는 원하는 경로에 빈 폴더를 만들어 주고 해당 경로를 넣어 줍니다. 복제 버튼을 누르면 저장소가 복제되고 폴더가 열립니다. 열린 비주얼 스튜디오를 닫아 줍니다. 3. 프로젝트 생성 프로젝트명과 사용할 폴더의 이름이 동일할 때와 동일하지 않을 때 2가지 경우가..
ES6(ECMAScript6)에서 생긴 기능 중에 Import/Export라는 기능이 생겼습니다. 개념은 다른 언어들의 using(C#), import(Java) 등등을 구현한 것입니다. 0. 서론 html에서 자바스크립트(Javascript) 파일을 전역 스코프(scope) 불러와 사용하는 것이 기존 방식입니다. 이 방식의 문제는 1) 각자 참조하고 있는 파일이 무엇인지 확인하는 것이 어렵다. 2) 한 번에 스크립트를 모두 메모리에 올리다 보니 첫 로딩이 길다. 3) 전역 스코프에 올리다 보니 외부 라이브러리를 사용할 때 변수명이 겹쳐서 문제가 발생하는 경우가 있기도 하다. (이건 라이브러리 설계를 잘하면 회피 할 수 있습니다.) 이러한 문제들이 있습니다. 그래서 다른 언어들 처럼 참조를 명시하도록 하..
이 포스팅에서는 응용프로그램(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" 사이트에 접..