하와이는 즐거웠고

새로 산 카메라를 기다리고 있습니다.

스팀잇 가입도 기다리고 있습니다.



2017년 추석때쯔음에 잠깐 글 몇 개 쓰고 다시 잠수 탔다는 사실이 새삼 놀랍지 않고,

잘 써둔 글 하나가 블로그 방문 수를 뻥튀기 시켜놨네요.

분명 봇이 찍은 것 같은 방문수 1000 가량을 초기화 시킨 기억이 있는데....


그리고 기다리고 기다리던

제 블로그의 첫 댓글을 무시한 셈이 되어버린 것에 대한 안타까움과 슬픔이

가슴을 후벼파는군요.


새 보금자리를 기다리고 있으니 거기선 꾸준하게 지낼 수 있으면 좋겠습니다.




올해의 추석은 유난히도 길어서 컴퓨터까지 가지고 본가에 돌아와서 뒹굴뒹굴 하고 있습니다.

음식 만드는 것을 돕고, 먹고, 자고, 먹고, 자고, 운동하고, 먹고, 자고의 반복.

6일이나 마음 편히 쉬었더니 슬슬 추석이 끝난 이후에 해야할 일들이 생각납니다.


그래서 휴일에도 일 해야하는 생각을 하고 있으니 기분이 안좋아져서 장난감을 샀습니다.






▲ Voiceroid2 Yuzuki Yukari(結月ゆかり)



보이스로이드를 샀습니다.

보이스로이드는 TTS 프로그램이고, 기능은 당연히 문장을 소리로 읽어주는 기능을 합니다.

일본 프로그램이므로 일본어만 읽을 수 있습니다. 영어도 읽을 수 있지만... 카타카나로 읽기 때문에 일본어만 읽을 수 있다고 표현하겠습니다.


그래서 뭘 하기 위해 이 전자아가씨를 샀냐면...

파이널판타지 14 글로벌 서버에서 게임할 때 채팅을 읽어줬으면 했습니다. 운전할 때 네비게이션처럼요.



▲ 쏟아지는 일본어 속에 얼마 안되는 한자조차 잘 못읽는 현대판 문맹이 있습니다.





예전에 개인적인 부탁으로 카카오 API를 쓰지 않고 직접 카카오톡의 대화창의 Child Window를 가져와서 SendMessage를 이용해 조작한 적이 있습니다.

그래서 비슷한 느낌으로 보이스로이드의 TextBox를 포함한 Child Window를 찾아서 조작하는 것으로 쉽게 가능할 것이라고 생각했죠...


GitHub에도 그렇게 구현한 보이스로이드 연동 프로그램이 몇 가지 있었습니다.

그래서 가능할거라고 생각했는데... 연동 프로그램의 버전이 하나를 빼고는 구버전의 보이스로이드에 대응하는 프로그램이었습니다.


으... 담담하게 써내려왔지만 Spy++ 로 Child Window가 없는 것을 확인하고... 코드로도 Child Window를 찾으려고 해봤는데 null만 받고...

프로그램 구조에 대해 무지한 댓가로 많은 시간을 소비했습니다.


그리고 stackoverflow와 github를 전전하던 중에 Snoop 이라는 프로그램을 알게 됐습니다.



▲ Snoop으로 Voiceroid2의 구조를 훔쳐본 결과




Snoop을 통해서 위 그림처럼 Voiceroid2의 구조를 확인할 수 있었습니다. TextBox의 클래스가 TextBoxEx라는 것도 확인할 수 있었죠.

Snoop으로 알게 된 것은 다른 것보다 일단 접근 방법을 모를 뿐, 구조는 제가 알고 있는 것에서 크게 다르지 않다는 것입니다.


제가 생각했던 방식(Child Window 탐색 -> SendMessage)은 Win32API 구조에서 가능한 것이고 지금 제가 눈 앞에 두고 있는 Voiceroid2는 WPF 구조라는 것도 이 시점에서 알게 됐습니다. 여기까지가 약 9시간을 들여다봐서 얻은 것입니다. 허허허....


WPF 구조에 대한 것과 WPF에서 TextBox를 위한 찾기 위해 어느정도 감을 잡고 구글링을 하는 중에 UI Automation 과 Visual Tree Helper에 대해서 알게 됩니다. 




위에서 여러 개의 연동 프로그램 중에 '하나를 빼고' 구버전하고만 연동되었다는 말을 적었었는데...

유일하게 Voiceroid2도 연동되는 프로그램이 ルーチェ님의 VoiceroidUtil 입니다. (루체라고 읽습니다.)

그리고 친절히도 GitHub에 코드까지 공유가 되어있는 프로그램입니다.


작업을 시작할 때쯤에 VoiceroidUtil의 코드도 봤었는데 제가 참조하기엔... 제 수준이 너무 낮아서 어떻게 읽을 수가 없었습니다.

VoiceroidUtil의 코드에선 Child Window에서 TextBox를 찾아오는 것 같은 부분도 검색이 안되고 싶어서 마지막 보루로 미뤄놓았었죠...

UI Automation과 Visual Tree Helper에 대해 알고나서 VoiceroidUtil의 코드를 봤을 때 UI Automation과 관련된 코드를 찾을 수 있었습니다.


결국 저는 UI Automation을 공부해야한다는 결론을 얻었죠!

일 생각하기 싫어서 산 장난감이... 공부하고 일이나 하라는 교훈을 줬습니다.


그리고 루체님의 트위터에서 저랑 비슷한 목적을 갖고 물어보신 분이 있었나봅니다.

그에 대한 루체님의 답변



  그리고, Win32API로 직접 Window Handle을 조작하는 하는 방법은

WPF 프로그램에서 사용할 수 없기 때문에 어느 정도 공부한 이후에도 관심이 생긴다면

UI Automation 등에도 손을 대보면 좋습니다.

예를 들어 VOICEROID2는 Win32API 로는 Common Dialog 이외에는 조작할 수 없습니다.





Common Dialog는 MainWindowHandler를 의미하는 것 같네요.

제가 계속 붙잡고 있던게 MainWindowHandler 였습니다. (...) 제가 트위터를 할 줄 몰라서 이전 대화가 어떤지는 모르겠네요.


비록 Voiceroid 관련 뿐만 아니라도, 루체님의 코드가 세련되고 정갈한 구조인 것 같아서 C# 코딩에 있어선 하나의 교과서를 얻은 기분입니다.

얼른 UI Automation을 공부해서 유카리가 글을 읽도록 해야겠네요.   :D



ルーチェ님의 GitHub : https://github.com/ruche7

ルーチェ님의 Homepage : http://www.ruche-home.net/



'Daygram' 카테고리의 다른 글

생존신고  (0) 2018.02.01
이번 신규 음료는 달달한 슈 크림 라떼!  (0) 2017.02.16
어느새 벌써 2월  (0) 2017.02.11
2017년 정유년! 그리고 LG Gram 15 Allday  (0) 2017.01.10
정신없는 연말이 얼마 남지 않았고...  (0) 2016.12.15


▲ 오늘도 사진빨을 못받는 희생양, 슈 크림 라떼. 5S를 빨리 바꿔야...




이번 신규 음료 중 하나인 슈 크림 라떼 입니다.

슈를 좋아하지만 잘 사먹진 못하는 편인데... 이렇게 //ㅅ/

달콤달콤한 맛에 약간은 고소한 맛을 겸비! 연유(돌체)의 느끼함은 적은 맛있는 음료네요.


Tri-Star Dash도 진행 중이기 때문에 한 번쯤 드셔보시는건 어떨지! 




2017.02.16.

마냐


'Daygram' 카테고리의 다른 글

생존신고  (0) 2018.02.01
2017년의 기나긴 추석을 즐기는 중  (0) 2017.10.05
어느새 벌써 2월  (0) 2017.02.11
2017년 정유년! 그리고 LG Gram 15 Allday  (0) 2017.01.10
정신없는 연말이 얼마 남지 않았고...  (0) 2016.12.15

오늘의 커피는 돌체 라떼 벤티 사이즈. 거대하다 (...)


벌써 2월이 됐네요. 계속 보고 있던 Deep Learning from Scratch를 쭉쭉 진행하고자 카페에 왔습니다.

그새 스키장도 한 번 더 갔다왔고...

그램을 산지 1개월이 지났지만 여전히 불만족스러운 곳 없이 발군의 성능이네요.

키보드 청소하기도 좋고. 키감도 점점 익숙해져가고.


Wallpaper Engine 이라는 바탕화면 설정 프로그램으로 너의 이름은. 의 바탕화면을 설정해놓고 다녔는데

부하가 좀 강한지 idle 상태에서도 발열이 좀 심했습니다. 키보드가 뜨거워서 약간 불편함을 느낄 정도로...

그래서 그램에선 제외했더니 다시 조용한 쿨러음과 성능이 돌아왔습니다.


아직 가슴 졸이며 급한 일이 하나 있긴 하지만 잘 처리하고 무난하게 다음 학기를 맞이하고 싶네요.

오늘 스타벅스의 배경음이 클래식이라서 좋습니다. 재즈 시러요 재즈 ㅠ 맨날 이랬으면...!


스타벅스에서,

마냐.




제 일기장이지만 그래도 어떻게 하루에 두 세 분이 흘러들어오시기 때문에...

저도 포함해서 정유년 한 해 새해 복 많이 받으세요!


2017년의 첫 글이 됐네요.

작년에 제 소원이 하나 있었는데,

쌩쌩한 노트북을 하나 구해서 자주 다니는 스타벅스에서 기분 좋게 포스팅을 하는게 제 하나의 소원이었습니다.


▲ 다 먹은 다크 모카 프라푸치노 커스텀 벤티 사이즈와 한 컷 (...)



노트북은 사고 싶었지만 마음에 드는건 없고,

애플워치 Series 2가 이쁘게 나와서 시계를 산다던지... 스키장비를 산다던지.. 해서 돈이 좀 나갔는데...

이번에 신용카드를 하나 만들고 무려 6개월 할부(!!)로 2017년형 그램 15인치를 샀습니다. 정확히는 15.6인치죠.


모델명은 15ZD970-GX75K 입니다.

카비레이크 i7에 512GB SSD인데 받고보니 삼성꺼고 M.2 NVMe인지 굉장히 빠르다는 느낌을 받았습니다.

새 것이고 설치한게 얼마 없어서 그런지 모르겠지만 부팅과 종료가 굉장히 빠릅니다. 길어도 4-5초면...

윈도우 미설치인 프리도스 제품이라 이집트 마소스토어에서 샀던 WIndows 10 Pro를 설치했습니다.


요즘 신학기 대비 노트북 질문이 많던데 컴퓨터공학과 들어가는 친구들은 이거 사면 될 것 같네요.

저는 i7 모델을 샀지만 i5 모델정도면 가격도 적당하고 사용하기 좋을거 같아요. 크기도 15.6인치를 추천.

저는 집이나 직장이나 언제든지 원격으로 작업할 수 있는 환경을 갖고 있는데 모니터 크고 적당히 가볍고 원격에 무리 없는 노트북을 갖고 싶었거든요.

지금 이틀째 써보고 있는데 코딩하기도 좋고 원격하기도 좋고 참 좋네요.


아, 쓰면서 또 신기한 점은 모니터가 1080p인데 글씨가 16:9라 그런지 디스플레이 옵션에서 기본으로 설정돼있는 텍스트 크기 125%를 100%로 떨어뜨리면

직장에서 쓰는 컴퓨터 모니터(1440p)를 보는 느낌이 나요. 화소는 FHD인데 뭔가 넓어서 이득보는 기분.

16:9니까 BD 영상도 잘 보이겠죠. 그끄저께 너의 이름은. 을 영화관에서 보고 돌아오는 길에 언어의 정원을 600원에 샀는데 나중에 봐야겠어요.


의도한 것도 아니고 광고 의뢰를 받은 것도 아니지만 한 해의 소원이 이루어진 기념도 있고 써보니 정말 좋은 것도 있어서 자랑을 길게 늘어놓아봅니다.

그냥 일기장일 뿐이지만 이 글에는 질문 댓글 같은게 달릴 수도 있겠네요. 혹시 궁금한게 있으시면 답변해드리겠습니다.



17. 01. 10.

스타벅스에서 마냐.

평화가 찾아오고 있습니다.

최근에 스타벅스를 정말 많이 와서 음료 먹을 때 마다 사진도 찍어두고 그랬는데...


정리하고 올려야지 생각만 하다가 벌써 12월!!

시험은 다 끝났고 과제 하나랑

연구실 과제들만 조금 처리하면 2016년도 무난무난히 넘어가고 계획했던건 다소 고꾸라진 느낌이 있지만

올해만큼 마음 편히 살았던 해도 20대 중에서 없었던 것 같은 느낌 ^^!


다시 집중하러 가봅시다!!


끝!


16.12.15 스타벅스에서 마냐.

이번 주말엔 대구에 사는 친구가 내려와서 호화(?)롭게 먹은 기억 밖에 없네요.

금요일 저녁에 초밥부터 시작해서..


토요일엔 매일 유투브로 스테이크 굽는 영상을 봤던걸 참고로 직접!!!

코스트코에서 스테이크용 부채살을 사서.. 시즈닝을 해서 구워먹었습니다.


처음 해보는거라 두 번은 고기도 고루 안익고 미디움레어 ~ 레어 정도로 익었는데...

요령이 생겨서 세 번째 고기부터는 미디움-미디움웰던 정도로 잘 구워서 먹을 수 있었습니다! 사전지식 최고b


지금 생각해보면 물론 큰 실수는 있었으니...

1. 근막을 굽기 전에 제거하지 않았다.

2. 시즈닝해서 냉장고에 집어넣은 다음 꺼내서 바로 구웠다.


어쩐지... 생각보다 안이 잘 안익더라 ㅜ.ㅜ

아직 남은게 있으니 실수를 발판삼아 맛있게 잘 먹어야겠어요.


일요일엔 가까운 피자뷔페를 갔는데,

피자뷔페 중에 피자몰이라는 프랜차이즈 브랜드가 있습니다.

그 곳이 너무 마음에 들었어서 피자몰은 아니지만 가까운 피자뷔페도 괜찮은지 아닌지 가봤어요.


지뢰였습니다. 광광.. 8ㅅ8)

토핑이 부실하고... 사람들이 피자 끝부분의 도우를 많이 남기잖아요?

그걸 막으려고 도우를 부드럽게하기 위해 이스트를 더 넣은건지 부드럽게 부풀린건 좋은데 치즈가 녹으면서 나온 기름을 다 빨아당긴건지 빵 자체가 너무 기름졌어요.

피자몰은 도우를 시카고피자에서 볼 수 있는 페스츄리처럼 구워서 도우를 먹기 좋게 만들었거든요.

둘 다 생각한 흔적은 보이지만 저는 피자몰쪽에 손을 들어주고싶네요.

그리고 피자 외의 파스타나 델리쪽도.. 전체적으로 먹을만한게 없었어요. 뷔페라는걸 감안해도.


대신 과일은 신선했어요! 특히 오렌지가! 피자가 못마땅하니 다들 과일을 많이 먹었나? (...)

아무튼 피자를 먹는다면 전 피자몰을 굳이 찾아가서 먹을겁니다. 만세 만만세.


주말은 이렇게 먹부림을 했고... 적당히 저녁에 레이드도 했고...

기동 영웅편 4층 4다리.. 99% 쯤 봤던가... 거의 다 끝나가네요. 다리만 다 깨면 조종자는 뭐 금방 될거고..

일은 못했고... ㅜㅅㅜ  이제 이거 쓰고 밀린 일 해야합니다. 시무룩.

먹으면서 사진을 몇 번 찍은 것 같은데, 나중에 찾아보고 추가해야겠어요.

이번주도 파팅!


끝.



오오...! 1080이에요 1080!

메모리가 32GB!


프리미어도 돌릴 수 있겠어요...! 안돌릴거지만...

연구실 컴퓨터가 집 컴퓨터보다 좋아졌네요.


교수님께 Deep Learning 해보라고 새로운 컴퓨터를 받았습니다.

기존 컴퓨터에 있던 자료는 디스크를 재활용하는 것으로 간단하게 Migration을 완료.

그래서 별도의 윈도우 재설치 과정은 없었고 파판14의 벤치마크를 돌려봤더니 점수가 17,075점이었어요... 집 컴퓨터가 14,000점대였던 것 같은데!


이 좋은 컴퓨터로 유투브만 보는게 아니라 공부도 잘하길 (...)


끝.

저는 게임을 많이 하는 편인데요.

최근엔 파이널판타지14(이하 파판) 를 1년.. 넘게 했네요.

공대에 들어가서 레이드도 꽤 잘 진행한 편인데, 어젯밤 문득 생각이 났습니다.


게임을 그만 두면 다른 일을 더 많이 할 수 있지 않을까? 라는 (...)

운동이라던지, 피아노라던지...


파판에도 일일 퀘스트의 개념으로 짧은 시간에 득이 큰 시스템이 있는데,

이게 다 하면 사실상 3시간은 걸립니다.

접속하면 아까워서 다 하게 되는 편인데...

그 외에도 파판은 정-말 재밌어서 할게 너무너무 많아요.


게임 내 직업의 경계가 없어서... 정말 모든 컨텐츠를 다 즐기기엔 플레이 시간만 연 단위로 필요할 것 같아요.

그만 두고 싶지는 않은데 밀려들어오는 일들도 있고 점점 현실세계(?)에서도 하고싶은 일들이 생기네요.


게임 내에서 매달리고 있던 사항들을 하나씩 포기하다보면 자연스럽게 균형이 맞춰지지 않을까 싶습니다.

조금 우울하네요.


끝.

'Daygram' 카테고리의 다른 글

주말 먹부림 with 대구맨  (0) 2016.10.24
슈퍼컴 왔따 ーーー(^^)ーーー!!  (0) 2016.10.19
비가 주룩주룩...  (0) 2016.10.16
블로그에 들르는걸 메모해두지 않으면!!! (+)  (0) 2016.10.11
역시! 역시나-!  (0) 2016.09.27

오늘 미뤄둔 빨래도 하고 청소를 하려고 했는데..

비가 주룩주룩... (´・ω・`)

그래서 침대에서 깬 채로 스마트폰 보면서 뒹굴 뒹굴 거렸는데

가만히 누워서 감기 걸렸어요. 이게 뭐지!?


이만 일어나서 일하겠습니다.

끝.

+ Recent posts