Posts
wxgame2의 go 언어 포팅 gowasm2dgame
https://github.com/kasworld/gowasm2dgame
python 2.x 와 wxpython tcp connection 으로 만들었던 wxgame2 를
golang, websocket, wasm 으로 포팅(이라기보단 리메이크)하는 프로젝트 입니다.
python2가 지원이 종료된다니 겸사 겸사 이기도 합니다. (python3로 포팅할 계획은 없습니다.)
goguelike를 만들면서 정리한 go언어 서버 제작 용 라이브러리(프레임웍) 의 총정리 예제이기도 합니다.
중요한 역할을 하는 것들을 정리해보면
genprotocol 서버 클라이언트가 사용할 프로토콜 생성, 관리
argdefault : config와 command line arguments
prettystring : struct 의 string 화 / admin web , debug용
Posts
golang (네트웍) 프로토콜 생성기
https://github.com/kasworld/genprotocol
genprotocol - protocol 기반 코드 생성 ( goguelike 프로젝트를 하면서 만들어진 ) 네트웍 등에서 사용하기 위한 protocol 을 작성하는데 필요한 반복적 이고 기계적인 코드들을 자동으로 생성 해주는 프로그램 입니다. https://github.com/kasworld/wasmwebsocket 을 보면 예제를 볼 수 있습니다. 작성 이유는 하나의 프로젝트에서 여러종의 protocol 을 사용할 일이 생겨서 반복된 코드를 작성하다 보니 만들게 되었습니다. goguelike 를 예로 들면 game client - tower server tower server - ground server 의 2종의 protocol이 필요하고 사실상 비슷한데 조금 다른 코드들이 서로 구별 되어 쓰입니다.
Posts
golang 과 golang wasm 사이에 websocket으로 통신하기.
(가끔은 살아있음을 알려줘야 하기에. ) goguelike2의 gopherjs webclient 를 go언에에서 (아직 EXPERIMENTAL 이라고 하지만) 정식으로 지원 하기 시작한 Webassembly 로 포팅하다가 나온 부산 물 입니다.
( 잘 안되서 web socket 관련 코드만 뜯어내서 작동 테스트를 하기 위해 만든 코드들 )
기본적으로 golang websocket server 서버가 정상 작동 하는 지는 테스트 하기 위한 golang websocket client 그리고 주 목적인 golang wasm web client 로 구성 되어 있습니다.
테스트 용으로 뚝딱 뚝딱 만든거라 허접한 부분들도 많지만 일단 읽어보고 카피해 쓸만큼은 정리했다고 생각합니다.
Posts
갤럭시 S 10+ 용 Dex/미러링 어댑터? 허브 ? 구입
올해 초에 약 3년간 쓰던 갤럭시 s7 edge를 (업데이트가 종료 되었다는 핑계로 ) 사용종료 하고, S 10+을 (사전예약으로!!!) 구입했습니다.
s7 은 낀 세대라 모니터 연결이 불가능한데 s8 부터는 dex 라는 것을 지원해서 유선으로 모니터를 연결할수 있다는 것을 알고 있었기에 S10+을 사면서 dex란 것을 사용해 봐야겠다고 생각하고 있었습니다.
간단히 조사해 보니 S10+ 에서는 그냥 USB type C to HDMI 케이블만 연결하면 dex를 사용할수 있다고 ( 이전 모델들도 파이 업데이트 하면 가능한듯 ) 해서 고민이 시작 되었습니다.
Posts
goguelike 2를 개발하면서 만들어진 라이브러리들의 일부를 공개/업데이트 합니다.
제 깃허브 https://github.com/kasworld?tab=repositories 에 올리고 있습니다.
기존에 공개한 라이브러리의 업데이트도 있고 새로 공개한 것들도 있습니다.
의존성이 적은 것들 위주로 코드를 좀 정리해서 올리고 있습니다.
설명이 거의 없는 것들이 많은데 설명이 필요 없을 정도로 간단한 것들도 많고 아니면 테스트 코드로 사용 법을 알수 있는 코드들도 있습니다.
그 이상의 설명이 필요하다 싶은 것들은 기분 내키는 대로 이 블로그에 간단히 포스팅 하도록 하겠습니다.
Posts
스카이디지탈 nkey bt61 led 해킹 시도
2년 전 구입한 (2017년 2월 )
지금은 단종된 블루투스 키보드 입니다. https://kasw.blogspot.com/2017/02/blog-post.html
사진의 아래쪽 하얀 키킵의 키보드 이뻐서 샀는데 키 배치가 아주 이상해서 ( 주변 프로그래머 들에게 이야기 했더니 불량 아니냐고, 기획이 버그라고 할정도. )
봉인 해두고 있었습니다. “어쩌면 펌웨어 업데이트를 해줄지도 몰라"라는 헛된 희망을 품고 있었습니다. 시간이 흘러 찾아보니 새 펌웨어를 적용한 키보드가 나왔고, 또 어느새 단종되어 버렸습니다. 당연히 기존 키보드의 업데이트는 없었지요. ( 나쁜 놈들 ) 그래서 버릴까 하다가 재미삼아 뜯어 보았습니다.
Posts
갤럭시 s7e 무선랜 문제 해결
이전에 쓴 글 갤럭시 s7e 오래오 업데이트후 생긴 이상증상들
중 하나의 증상의 원인? 을 찾아서 기록합니다. 오레오 업데이트후 wifi 최고 접속 속도가 866Mbps 에서 433Mbps으로 저하된 증상 ( 그와중에도 노트북은 866Mbps으로 잘 접속되는 상황) 의 해결인데 방법은 공유기의 MU-MIMO beamforming를 끄는 것이었습니다. ( 따라서 어쩌면 오레오 업데이트와 무관한 이슈였을지도 모릅니다. 제가 공유기 설정을 바꾼것과 시점이 비슷할수도 있으니 )
MU-MIMO beamforming을 켜는 것이 속도/효율이 더 좋아지기 위한 신기술이라고 알고 있기에 켜두고 있었는데 역효과가 나는 경우도 생기는 것 같습니다.
Posts
golang gopherjs로 만든 시계와 달력
goguelike 의 webclient를 만들면서 부산물?로 만들어진 시계 와 달력입니다.
코드를 살짝 정리해서 github에 올려 두었습니다. https://github.com/kasworld/gopherjsclockcal
새로운 개발 환경(언어,IDE, OS, GUI )을 배울때 좋은 연습문제중하나가 그 환경에서 작동하는 시계와 달력을 만들어보는 것이라고 생각하기에 web용 goguelike 클라이언트를 만들때도 역시나 만들봤었습니다.
그 결과물을 적당히 정리( 라이브러리 사용을 줄이는 등 ) 한것 입니다.
만들어진 결과물은 마루에서 시계및 달력으로 잘 쓰이고 있기도 합니다. ^^
Posts
goguelike 편향Bias의 color표시 , 지난 1년간 작업량
goguelike의 성향은 ( 엄밀히 말하면 편향 bais 입니다. 성향 alignment 이 아니고 )
리니지의 1축 (lawful, chaotic) 이나 D&D의 2축 ( good - evil 추가 ) 이 아니고 3축입니다. ( 즉 편향은 3차원 벡터 입니다. ^^ )
성향이 아니고 편향 이기 때문에 축에 특별한 의미를 부여하지는 않았습니다만 대신 각축을 color의 Red , Green, Blue 로 표시 하도록 하였습니다. 색에 - ( 음의 값 ) 은 없으니 중립을 회색으로 정하고 나니 편향을 한개의 색으로 표현할수 있게 되었습니다.
Posts
goguelike 원형 시야의 적용
흰색 사각형이 기존의 사각형 시야 이고 그 주위로 약간 밝게 보이는 것이 새로 적용된 원형 시야 입니다.
기존에 구현 편의상 사각형으로 시야를 만들고 있었는데 ( 2차원 배열 ) 아무래도 맘에 들지 않아 ( 리얼해 보이지도 않고 ) 수정했습니다.
라고 쓰면 간단해보이지만 내부적으로는 꽤나 대규모의 수정 작업이 있었습니다. 약 3일정도 20시간 정도의 작업이 들어갔군요. 덕분에 이제 부터는 비정형 시야 ( 타원 , 별모양등 ) 를 만드는 것도 가능한 구조가 되었습니다. ( 쓸일이야 없겠지만 ^^ )