별생각 없이 블록을 인증하고 쓰다가 보니 특정 블록에서 인증이 안되는 현상을 겪었습니다. 1. 원인 NFC 카드는 사용할 수 있는 블록의 번호가 정해져 있습니다. 제가 가지고 있는 카드는 미파레 1K(Mifare 1K) 호환 카드이니 인터넷에 뒤져보면.... 0x00 ~ 0x3E까지 사용 가능하다고 나옵니다. (참고 : ACR122U 공식 문서 페이지, ACR122U API 문서 다운로드 ) 2. 사용할 수 없는 블록 여기서 'Trailer Block'은 사용할 수 없는 블록입니다. 그러니 미레파 1K는 세 블록마다 한 블록씩 사용할 수 없다는 것입니다. Data(3) + Trailer(1) = 4 block = 1 Sector 이렇게 4블럭을 섹터라고 하고 이 트레일러 블록에는 이 섹터에 관한 인증정보..
이번에 테스트한다고 들어온 NFC 리더기(NFC Reader)는 ACR122U 시리즈(제가 사용하는 건 ACR1252U) 입니다. 그런데 아무리 해도 인증키가 불러와 지질 않는 겁니다. 1. 수많은 샘플과 프로그램들 인터넷에 돌아다는 각종 소스와 NFC(or RFID or Smart card)프로그램을 들도 같은 증상인 데다 오류 코드라고 내뱉는거라고는 "Error cord : 1F(31)" 뿐입니다. "Error cord : 1F(31)"이 에러 코드는 사실상 알 수 없는 에러를 의미합니다. (다른 의미가 있긴 하지만.... 실제거의 알 수 없는 에러 용도입니다 ㅎㅎㅎ) 웃긴 건 알고봤더니 이 에러는 내 실수 였..... "Error cord : 1F(31)"이게 나오면 일단 명령 자체를 제대로 구성해..
마이크로 소프트의 원격데스크톱은 명령 창에 'mstcs'만치면 쓸 수 있어 많은 사람이 애용하는 프로그램입니다. 이 프로그램을 여러 개를 관리하는 일반적인 프로그램이 '원격 데스크톱 연결 관리자(Remote Desktop Connection Manager)'입니다. 보통 약자로 'RDCMan'이라고 씁니다. 이 프로그램도 마이크로 소프트에서 만든 프로그램으로 별다른 기능 없이 여러 원격데스크톱을 관리가 필요할 때 많이 사용합니다. 1. 취약점 꽤 오랫동안 업데이트가 없다가 취약점이 발견되면서 사용하지 말라고 권고가 됐습니다. (참고 : 보안뉴스 - MS, 원격 데스크톱 연결 관리자 프로그램 지원 중단해 ) MS의 권고문을 보면 "이 취약점을 익스플로잇 하기 위해서 공격자는 특수하게 조작된 XML 콘텐츠가..
WPF에서 다른 쓰레드에서 UI를 사용하려면 인보크를 사용해야 합니다. (윈폼에서 비슷하긴 합니다.) 참고 : [WPF] 다른 스레드에서 UI쓰레드 접근하기 - Dispatcher.Invoke 연관글 영역 1. 인보크(Invoke)와 비긴인보크(BeginInvoke) 디스페쳐(Dispatcher)에 있는 인보크는 두 종류가 있습니다. 'Invoke'는 지연이 없는 인보크고 'BeginInvoke'는 지연이 있는 인보크입니다. 2. 두 종류의 차이 정확하게 말해서는 Invoke는 동기적 동작을 하고 BeginInvoke는 비동기적 동작을 합니다. (참고 : MSDocs - Dispatcher.Invoke 메서드, Dispatcher.BeginInvoke 메서드) 쓰래드라고해도 비동기 동작은 자신을 호출한 ..
저는 자바스크립트도 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 =>..