본문 바로가기
반응형

개발관련5

TightVNC 2.8.59-gpl 한영키 패치된 버전 모두의 리모트를 완전히 Go언어로 다시 만들고 기존 구조랑 전혀 다르게 수정을 하면서 기존 모두의 리모트를 1년 넘게 사용해오면서 가장 불편하게 느낀 점이 한영키가 먹지 않는다는 점입니다. 모두의 리모트에서 사용중인 TightVNC뿐 아니라 대부분의 VNC계열의 RDP 프로그램들에서 발생하는 문제이긴 한데요.. TightVNC 2.8.59-gpl 버전 소스코드를 받아서 한영키 관련된 부분을 수정하고 아무래도 멀티플랫폼에 맞춰 개발된 프로그램이라 소스코드들이 UTF-8인코딩으로 되어 있어서 Visual Studio 에서 윈도용으로 컴파일시에 뜨는 이런저런 Warning 과 몇가지 define 관련 충돌나는 부분들과 함께 한영키 처리에 대한 부분을 수정하였습니다. 이미 한글에 대한 여러가지 부분이 적용이 되.. 2021. 4. 17.
MS 인증서 생성 프로그램들.. 데이터 백업 차원에서 글 하나 올려둡니다. 프로그램 개발을 하다보면 사설인증서를 만들어야 하는 경우가 있는데요 그에 사용되는 몇가지 프로그램들이 있는데 .. OpenSSL 을 사용하는 방법도 있고 MS에서 제공하는 관련 툴들을 사용하는 방법도 있습니다만. MS의 프로그램들을 이용하는 방법을 설명하는 사이트들도 많이 있습니다만.. 관련 프로그램들을 다 제공을 하는게 아닌데다 .. 필요 프로그램들이 MS에서도 하나의 패키지로 제공하는게 아닌 어떤놈은 VS 설치 폴더에서 찾고 어떤놈은 DDK 를 깔아야 하거나 윈도SDK에 포함되어 있거나 하는 등의 일들이 많아서.. 관련 파일들을 모아서 올려둡니다. 포함된 파일은 .. 이렇게 5가지 입니다. 다른 것보다 pvk2pfx.exe 를 제공하는 사이트들이 별로 없어서.. 2021. 3. 29.
[Go/Golang] Json , Xml 구조체 만들기 Go언어는 기본적으로 다른 Managed 언어들과 유사하게 Json 이나 Xml 같이 포멀한 데이터 포맷에 대한 Parser를 제공하고 있습니다...만!!! 이런 비정형화 된 텍스트 베이스의 데이터를 구조체 없이 interface를 통해 map 데이터 등으로 Unmarshal해서 사용하는건 엄청난 노가다 및 예외처리의 지옥을 경험하게 되겠지요. 그래서 권장하기론 해당 자료구조에 맞는 구조체를 만들어 사용하기를 권장합니다만 .. 이게 복잡하고 많은 Key가 존재하는 Json이나 Depth가 어마무시한 Xml 파일을 한땀 한땀 구조체로 만드는것도 ㅋㅋ 엄청난 노가다이기도 하지요. 그래서 이러한 빡침을 격은 선각자들께서 유용한 온라인 사이트를 제공해 주시고 계십니다. 우선 Json을 Go 구조체로 만들어주는 .. 2020. 3. 16.
[MFC/API/C++] 윈도API OLE/COM 사용시 메모리릭(Memory Leak) 윈도 관련 많은 API들이 COM 방식으로 지원을 하는데요.. MS의 관련 문서에 예제 코드부터 다양하게 제공을 하고 있습니다만. 간혹 이유를 알 수 없는 메모리 누수가 발생하여 곤란해하시는 분들이 계십니다. 우선 기본적으로 IUnknown 개체들은 전부 사용 후 Release를 호출해 주셔야 하고요. IUnknown 객체에서 Get으로 얻어온 값을 저장한 변수들도 반드시 VariantClear 함수로 비워주셔야 합니다. 컴파일러 버전에 따라서는 Release 하거나 VariantClear 된 변수라 하더라도 NULL로 초기화를 해주셔야만 레퍼런스 카운트가 감소하여 메모리 해제가 가능한 경우도 있었으니 NULL로도 초기화해주시고요. 이렇게 모든 메모리 관련 처리를 하였는데도 지속적으로 메모리 사용량이 누.. 2020. 2. 13.
Go 개발 환경 설정 이런저런 강좌 시작하기 합서 제가 애정해 마지 않는 Go 라는 언어의 개발환경 설정에 대한 글을 작성해 봅니다. 우선 Go 를 설치 하셔야 겠지요 일단 윈도 사용자를 기준으로 설명합니다. https://golang.org/ The Go Programming Language Download Go Binary distributions available for Linux, macOS, Windows, and more. // You can edit this code! // Click here and start typing. package main import "fmt" func main() { fmt.Println("Hello, 世界") } Hello, World! Conway's Game of Life Fib.. 2019. 9. 6.
반응형