Environment.TickCount를 써서 게임 루프(Game Loop)를 만들었는데 계산한 FPS와 다르게 나옵니다??? 1. 'Environment.TickCount'의 문제 원인을 찾던 중 발견한 내용 MS Docs - Environment.TickCount 속성 아...... ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 'Environment.TickCount'의 정밀도가 10~16ms이라고 합니다. 그러니 타이밍이 딱 맞지 않으면 60FPS가 나올 수가 없다는 것이죠. 2. 다른 것을 쓰자 마침 이것과 관련하여 좋은 글을 찾았습니다. stackoverflow mistika님의 답변 - Environment.TickCount vs DateTime.Now MS Docs - 고해상도 타임스탬프 획득 답변을 요약하자면 1)..
'CentOS'는 최소 설치를 하면 네트워크가 비활성화 되어 있습니다. 이것을 활성화해야 원격 접속이 되니 어떻게 하는지 알아봅시다. 1. 이더넷 이름 찾기 최소 설치를 하고 1 # ip addr show cs 명령을 날려봅시다. 두 번째가 인터넷과 연결된 이더넷의 이름입니다. 할당된 IP가 없는 걸 확인 할 수 있습니다. 이 이름을 기억해 둡시다. 2. 이더넷 활성화하기 아래 명령으로 사용할 이더넷 설정파일을 vi로 열어줍니다. 1 # vi /etc/sysconfig/network-scripts/ifcfg-[장치 이름] cs 제 이더넷 이름은 'ens192'이니 아래와 같습니다. 1 # vi /etc/sysconfig/network-scripts/ifcfg-ens192 cs vi가 열리면 아래와 같이 ..
이전 포스팅에서 JWT(JSON Web Token)를 발급하고 인증하기 위한 처리를 했습니다. 이 포스팅에서는 이전 포스팅에서 만든 인증 처리를 연결하는 작업을 합니다. 이 시리즈는 'ASP.NET Core 6'에서는 인증 처리를 이런 식으로 하는구나~~~ 라는 걸 알려주기 위한 목적이라 설계가 난잡합니다. 0. 구조 이 프로젝트에서는 'SQLite + Entity Framework'를 사용합니다. 이렇게 구성하면 DB를 사용하지 않을 때는 'InMemory'를 사용하여 메모리DB를 사용할 수 있어 이식성이 좋아서입니다. 누겟에서 Microsoft.EntityFrameworkCore Microsoft.EntityFrameworkCore.Sqlite Microsoft.EntityFrameworkCore.T..
'OAuth2'는 인증방식을 표준화해둔 프로토콜입니다. 이것 밑에 토큰을 발급하고 인증하기 위한 시스템을 만들어 넣어야 하는데.... Json으로 토큰을 발급하고 인증하기 위한 방법의 하나가 'JWT(Json Web Tokens) 인증'입니다. 다른 프로젝트에서는 'IdentityServer4'를 이용하여 'JWT'을 발급하고 인증하는 것을 했었는데 이 포스팅에서는 직접 'JWT'를 발급하고 사용하는 방법을 다룹니다. 1부는 JWT를 발급하고 확인하는 것을 구현하고 2부에서는 이렇게 만든 JWT 사용하는 방법을 다룹니다. 0. 프로젝트 생성 및 구성 프로젝트를 'ASP.NET Core'로 생성합니다. 'ASP.NET Core'에서 인증처리를 다음과 같은 구조를 가집니다. 미들웨어를 주입하면 API요청이 ..
예전에 쓰던 SPA 프레임워크를 새로 만들면서 백엔드는 'ASP.NET Core 6', 프론트엔드 개발 중에는 'NPM'을 이용하기로 해서 'Node.js'를 사용하기로 했습니다. 그렇다면 'NPM'을 올려야 하는데.... 올리는 김에 'NPM Task Runner'를 올리기로 했습니다. 'NPM Task Runner'는 선택 사항이지만 있으면 'NPM 패키지 관리를 UI로 할 수 있습니다. *이 프로젝트는 Visual Studio 2022로 되어 있습니다.* 0. 시작 전에 필요한 것 'Node.js'는 꼭 설치해야 합니다. 운영체제에 맞게 설치하면 됩니다. (참고 : NodeJs - 다운로드 페이지 ) 'NPM Task Runner'를 설치하려면 확장 > 확장 관리 에서 'NPM Task Runner..
유니티뿐만 아니라 UI/UX관련 작업을 하다 보면 UI쓰레드가 아닌 곳에서 작업하다가 문제가 생기는 경우가 종종 있습니다. 얼마 전 서버에서 온 데이터를 UI 뿌리는 테스트를 하고 있었는데 UI가 갱신되지 않는 현상이 일어났습니다. * 테스트에 사용된 버전 : Unity 2020.3.25f1 1. 다른 쓰레드 이런 경우 원래는 에러가 나야 하지만 유니티도 그렇고 다른 플랫폼도 그렇고..... 에러가 안 나는 경우가 있긴 합니다. ㅎㅎㅎㅎ 결국 올 게 왔구나 하면서 검색을 하는데.... 뭐지? 증상을 격은 사람들은 많은데 해결에 대한 내용이 없지;;;; C#은 쓰레드에 액션만 던져주면 간단하게 해결이 가능합니다. 참고 : [WPF] 다른 스레드에서 UI쓰레드 접근하기 - Dispatcher.Invoke [..
이유는 모르겠지만 가끔 서버로 쓰는 컴퓨터가 제멋대로 재부팅을 하는데..... 가끔 아이피가 변경되는 사고(?)가 있어 포스팅합니다. ESXi의 아이피 고정하는 방법을 찾아보면 직접 콘솔에 붙어 작업하는 것만 나오는데요..... Web UI에서도 변경이 가능합니다. 1. 메뉴 찾기 메뉴를 찾는 게 좀 복잡하긴 합니다. 탐색기 > 네트워킹 또는 탐색기 > 네트워킹 VM Network > 추가 네트워크 에서 'Management Network'를 클릭합니다. 'vSwitch 토폴로지'에 보면 'VMkernel 포트'가 있는데 이것이 지금 ESXi가 사용하고 있는 네트워크 정보입니다. 클릭해서 들어가고 작업 > 설정 편집 을 눌러 줍니다. 2. 수정 여기를 설정하려는 값으로 수정하고 저장하면 됩니다. 마무리 ..
별생각 없이 블록을 인증하고 쓰다가 보니 특정 블록에서 인증이 안되는 현상을 겪었습니다. 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 콘텐츠가..