저는 자바스크립트도 C(혹은 C#) 스타일로 정렬을 하므로 중괄호 시작을 한 줄에 두는 자바식 정렬을 매우 싫어합니다. 비주얼 스튜디오(Visual Studio)에는 각종 편집옵션이 있으니 이 옵션은 어디 있는지 찾아봅시다. 1. 옵션의 위치 도구 > 옵션 > 텍스트 편집기 > 자바스크립트> 서식> 줄 추가 중괄호 옵션을 켜주면 됩니다. 2. 이제 확인해 봅시다. 옵션을 껐을 때는 자동 정렬을 하면 이처럼 중괄호의 시작이 한 줄로 정렬되는 것을 볼 수 있습니다. 옵션을 켜니까 중괄호 시작이 다음 줄로 넘어가네요. 마무리 이 옵션도 중괄호가 한 줄이 되는 게 디폴트였다가 아니었다가 오락가락해서 비주얼 스튜디오를 새로 설치할 때 마다 제멋대로 정렬되서 고생입니다 ㅋㅋㅋㅋㅋ 그래서 별거 아닌 거 같아도 이렇게..
요즘은 응용프로그램을 각 잡고 배포할 일이 없어서 신경 쓰지 않았지만...... 사실 배포 시 참조되는 DLL을 구분해야 합니다. 1. 개발용 DLL과 배포용 DLL 내부에서 만든 DLL인 경우 편한 디버깅을 위해 디버깅용 정보가 들어있는걸 쓰고 배포 시에는 릴리즈용 DLL을 씁니다. 테스트용 DLL을 만들어 봅시다. 2. 그냥 하면 어떻게 되는가? 이제 일반적인 참조방식으로 어떻게 되는지 확인해 봅시다. 2-1. 프로젝트 참조 이제 프로젝트 참조를 한 프로젝트에서는 어떻게 돌아가는지 봅시다. 자동으로 잘 구분하여 참조합니다. 2-2. 직접 참조 DLL을 직접 참조한 프로젝트는 어떤지 확인해 봅시다. 당연히 직접 참조한 DLL만 따라가는 것을 볼 수 있습니다. 그렇다면 디버그와 릴리즈를 어떻게 구분하느냐..
비주얼 스튜디오(Visual Studio) 기능중에 프로시저를 가로선으로 구분해주는 기능이 있습니다. (이 기능 있는 IDE 많습니다.) 이 옵션의 명칭이 기억이 안나서 3일을 검색했네요 ㅋㅋㅋ 그래서 기록 남깁니다. 프로시저 줄 구분선 표시 이 옵션의 명칭은 "프로시저 줄 구분선 표시" 영어명은 "Show procedure line separators" 옵션 위치는 도구 > 옵션 > 텍스트 편집기 에서 각언어로 들어가서 고급 > 개요 > 프로시저 줄 구분선 표시 마무리 이게 뭐라고 검색해도 잘 안나오는지 모르겠네요 ㅋㅋㅋㅋ 다른 IED글도 많고.....
어느날 크롬만 CSS애니매이션이 느리게 동작하는 현상이 나왔습니다. 1. 해결방법 *{scroll-behavior: smooth;}를 제거하면됩니다. 제거가 힘들다면 css 아래와 같이 추가하면 됩니다. 1 2 3 :root { scroll-behavior: auto; } cs 2. 원인 부트스트랩과 에는 "*{scroll-behavior: smooth;}"가 들어 있습니다. 이상태에서 "Jquery UI"를 사용하면 애니메이션이 이상하게 동작하는 것을 볼수 있습니다. 원래는 "Jquery"의 에니매이션이 우선됐는데 크롬에서 언제부터인가 "smooth"가 먹혀서 이상한 동작을 하게되었습니다. 파이어폭스에서는 여전히 정상동작하는 것으로 보아 크롬 버그거나 정책이 바뀐거겠죠. 마무리 포스팅이 올라가는 시점에..
ASP.NET Core에서 SSL 테스트를 하다 보니 접속이 되다 말다 합니다....? 1. 증상 확인 정확하게는 프로젝트를 생성했을 때는 됐다가 포트만 바꾸면 SSL포트에 접속이 안 됩니다. 처음에는 되니 방화벽 문제는 아니죠. 2. 원인 여기저기 검색하다가 보니 "IIS Express"의 SSL포트는 정해진 포트만 쓸 수 있다는 글이 있습니다. 그래서 MSDN을 뒤져보다 보니..... 참고 - Running IIS Express without Administrative Privileges It configures HTTP.SYS to reserve ports 44300 through 44399 for SSL. Incoming SSL requests that use localhost and one of..
자바스크립트(javascript)에서 콜백 대안이라고 프로미스(promise) 내놨을 때는 뭐 하는 짓인가 싶었는데.... 다른 언어들처럼 어싱크/어웨이크(async/await)가 생기면서 이제야 좀 비동기 관리가 편해졌네요 ㅎㅎㅎ 테스트 한번 해봅시다. 1. 패치(fetch) 기존의 XMLHttpRequest대신 패치(fetch)를 사용하는 것이 좋습니다. 패치(fetch)로 네트워크 통신을 하면 프로미스(promise)처리가 가능한 리스폰스가 리턴됩니다. (MDN - Fetch API, Using Fetch, XMLHttpRequest ) 예> fetch('http://example.com/movies.json') .then(response => response.json()) .then(data =>..
비주얼 스튜디오(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 게시 기능을 제거해 주면 됩니다. 이제는 잘됩니다. 마무리 원한다면 웹사이트별로 세팅할 수는 있는데..... 보통 테스트용 서버와 실 서비스용을 나눠두기 때문..