Programming/C Win32 MFC2017. 10. 23. 15:46

한국어 코드 페이지를 대상으로 하는 랜섬웨어 라는데

CP949 / CP437로  코드 페이지 기억을 했는데

웬 뜬금없는 1042 / 0x412 인가 했더니


LANGID와 ASCII codepage 라는게 따로 있었나 보네..


[링크 : http://v.media.daum.net/v/20171023093516376]

[링크 : https://msdn.microsoft.com/en-us/library/windows/desktop/aa369771(v=vs.85).aspx]



LANGID GetSystemDefaultUILanguage(void); 

[링크 : https://msdn.microsoft.com/en-us/library/windows/desktop/dd318123(v=vs.85).aspx]


Language Identifiers

[링크 : https://msdn.microsoft.com/en-us/library/windows/desktop/dd318691(v=vs.85).aspx]


LANGID SetThreadUILanguage(

  _In_ LANGID LangId

); 

[링크 : https://msdn.microsoft.com/ko-kr/library/windows/desktop/dd374053(v=vs.85).aspx]


Posted by 구차니
개소리 왈왈/블로그2017. 10. 23. 13:28




공지하란 말이야!

모르고 깠자나!!


(알았어도 이제 늘리다니 검토도 안했냐 하고 깠을듯)

Posted by 구차니

응? 좀 심하게 위험한

통로형 미끄럼틀 위에 올라간거고

남자애라도 올라가면 위험한건 같긴한데..


엄마가 딸에게 하는 소리..

남자애도 아닌데 왜 올리가?


내가 안그럴수 있을진 모르겠지만

그래도 내 아이에게는 성별에 상관없이 해보고 싶으면 하는거고

그러다가 떨어지면 훅 가는거지 머~ (동심파괴?!) 해줘야 하는걸려나...?

Posted by 구차니

산지 일주일도 안되서 갑자기 초음파를 뿜어 내는 바람에 분해해보니

핵심 칩은 이 녀석인듯?


cm8600 ccmic 3W Audio Power Amp

[링크 : http://www.datasheetspdf.com/mobile/815878/CM8600A.html]


출력만 따지면 LM386보다 세네?




 +

2017.10.25

8옴 1와트 스피커다

Posted by 구차니
Programming/C Win32 MFC2017. 10. 20. 15:52

WM_HSCROLL은 스크롤바에서 생성되는 이벤트를 처리하는데

슬라이더바에서 생성된 이벤트 역시 이쪽으로 전송이 된다.

void CtestDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 


nSBCode는 마우스의 이동방향이나 이동이 완료된 시점의 값이라던가 이런게 넘어 오는데

SB_THUMBTRACK은 마우스를 누른채 이동시(WM_MOUSEMOVE 이벤트 발생시)

SB_THUMBPOSITION은 마우스를 뗄 때 (WM_LBUTTONUP 발생시, 마지막 이동 위치)

SB_ENDSCROLL은 마우스를 뗄 때(WM_LBUTTONUP, nPos 값이 0으로 옴) 발생을 한다.


#define SB_THUMBTRACK       5

#define SB_THUMBPOSITION    4

#define SB_ENDSCROLL        8


SB_THUMBTRACK   Drag scroll box to specified position. The current position is specified by the nPos parameter.

SB_THUMBPOSITION   Scroll to absolute position. The current position is specified by the nPos parameter.

SB_ENDSCROLL   End scroll.

[링크 : https://msdn.microsoft.com/en-us/library/aa249894(v=vs.60).aspx]

[링크 : http://www.tipssoft.com/bulletin/tb.php/FAQ/419]


다만, SB_THUMBPOSITION와 SB_THUMBTRACK 외에는 nPos를 통해서 위치 값이 날아 오지 않으며

슬라이더를 클릭해서 이동시에는 SB_PAGEUP/SB_PAGEDOWN + SB_ENDSCROLL만 발생하므로

별도의 루틴을 통해 위치값을 받아와야 한다.


드래그와 클릭시 스크롤바 이동할때

이 경우에 대해서 제외하면 중복되게 오진 않는 것으로 파악된다.

if(nSBCode == SB_THUMBPOSITION || nSBCode == SB_ENDSCROLL) return; 


Posted by 구차니

대학교 때 까지만 해도 상당히 한컴과 HWP에 호의와 애착을 가졌지만

직장생활 하다 보니, 저 망할 HWP가 애증을 넘어서 증오의 대상? 이렇게 변해 버렸다.


일단 정책이 바뀌어서 한글 뷰어가 예전과 다르게 광고도 빠지고 나름 쓸만해 졌지만

용량은 acrobat에 비하면 큰 편은 아니지만, 느린 느낌? 이런걸 많이 주게 된다.


일단.. word 뷰어랑 비교를 하지 않는 이유는..

word 자체가 MS 제품으로 Windows에 많은 부분을 포함하고 있을 것이기에

굳이 비교 하자면 OS와 의존성이 없는 멀티플랫폼을 지원해야 하는 녀석을 봐야 하는데

가장 만만(?)한게 바로 acrobat/PDF 이다.


아무튼.. 예전 HWP 포맷 발표회 때도 갔었지만

2010/06/30 - [프로그램 사용/한글(HWP)] - 한글 포맷 공개 - 블로그 간담회


발표하시는 분도 멋쩍어 하면서 대답할 정도로

정리되지 않은 채 포맷을 공개 한거고, 포맷 만으로는 뷰어를 만들기 힘들테니

업체에서 요청이 오면 같이 하도록 하겠다 정도 였는데

그 결과 hwp 뷰어 외에는 네이버 클라우드에 포함된 레이아웃 전부 깨지는 수준으로 보는 것 정도 뿐이다.


그러다 보니, 공공부분에서만 강제적으로 사용하고(차라리 국가에서 소유하는 식으로 하면 어땠을까 싶기도 하고)

점점 일반에서 멀어지니 버려질수 밖에 없는 상황이다.


아무튼.. word 대신에 ODT를 쓰겠다는건 환영할 만한 일이지만

먼가 꽁기꽁기한 뒷끝이 쓴 이유는 무엇일까...



+ 링크 업데이트(한글 포맷)

[링크 : https://www.hancom.com/board/noticeView.do?artcl_seq=6453]

[링크 : http://www.hancom.com/etc/hwpDownload.do]



정부, 공문서에 HWP 대신 ODT 쓴다

[링크 : http://v.media.daum.net/v/20171019165004075]

Posted by 구차니

진짜 5년 이내에 인간급 지능을 지닌 cpu 원칩이 나오는거 아냐? 라는 생각..


일단 인공신경망의 경우, 행동을 통한 학습을 하고

그걸 통해서 최적화 된 값을 찾아 내지만, 과거의 신경망 학습의 경우

local minima에 빠져서 진짜 최적화 값이 아닌, 최적 근사값을 찾는 경우가 많았는데

딥 러닝에서 이러한걸 해결했는지 모르겠고..

반대로 우리가 살아감에 있어서 이게 정말 최적의 답인지 알 방법이 있나?

최적에 근사한 값으로도 충분하다면 그게 해답이 아닐까? 이런 생각도 든다.


local minima 값 자체가 사람보다 뛰어난 결과를 가져온다면 된거 아닌가?

그런데 결과만 중요시 하는 학습에서 과정을 도외시 한다면.. 

지금까지 인간이 추구해온 결과를 내야 하지만, 과정도 중요하다 라는게 깨지는 순간

AI는 인간의 적이 될 수 밖에 없지 않을까?



아무튼.. 진짜로 적고 싶은건

AI 기술이 발전하면서, 과학자들이 왜 그게 성능이 잘 나오는지 알 수 없다.

일부에서는 기계님의 뜻을 어찌 한낱 인간이 이해할까. 인간의 이해를 넘어서 있다. 이러고 있지만

정작 인간역시 자기의 경험적 행동으로, 이유는 모르겠으나

이게 더 좋다 라는걸 체험적으로 하는 경우도 많은데(베르누이 정의 처럼?)

그게 항상 이론으로 뒷받침 되는것도 아니고

이론 역시 이러한 체험을 바탕으로 구체화 하면서 수학 수식으로 내는 것이다 보니


우리가 AI에 비판을 하는 "왜 이런 결과를 도출해 내는지 알 수 없다"라는 것에

어떤식으로 생각을 해야 할지 모호해진다.

그게 옳지 않다고 하면.. 인간의 직관이나 경험에 의한 선택 조차도 부정하게 되는 것이니..

그렇다고 해서 모든 인간이 경험으로 이룬걸 항상 말로 설명해서 타인에게 전수할 수 있는 것도 아니니..



그런 이유를 찾아내고 그걸 타인에게 전수할 수 있는 능력을 갖춘 사람들 역시 일부이니

이정도면 AI도 충분한게 아닌가 싶다라는 생각이 든다.


참 역설적이게도 AI를 개발하면서, 그들이 마주쳐야 할 것은 바로 인간 자신이라는 건가..

그리고 피조물이 창조자를 뛰어넘어 신이 되었을때

이는 패륜으로 이어질 것인가, 효도가 될 것인가.

(이거.. 무슨 에일리언/프로메테우스 이런 내용이 되냐..)


자식과 부모로서, 부모가 자식이 자신을 뛰어넘는걸 쉽게 인정할 수 없는 상황이 오면

어떻게 될까?


36시간 만에 알파고 넘은 '알파고 제로'의 뇌, TPU란?

[링크 : http://v.media.daum.net/v/20171019161623565]

Posted by 구차니
Programming/C Win32 MFC2017. 10. 19. 15:06

MFC에서 슬라이더 컨트롤을 더블클릭하면

조금은 심하게 생뚱맞은 핸들러가 생성되는데 문제는.. 값이 변하는데 나오는 값이 아닌

슬라이더를 그리는데 필요한 핸들러가 호출되도록 연결된다.. -_-

ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER1, &CtestDlg::OnNMCustomdrawSlider1) 


void CtestDlg::OnNMCustomdrawSlider1(NMHDR *pNMHDR, LRESULT *pResult)

{

// optical zoom slider

LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR);

// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.

*pResult = 0;


아무튼.. 여기다가 억지로 코드를 구겨 넣어서 값을 넣어두니..

실행하면 창이 뜨기도 전에 에러가 발생하는 사태가 발생..


클래스 위저드에서 "메시지 - WM_HSCROLL" 을 택해서 추가한 후

원하는 슬라이더 컨트롤의 스크롤바인지 확인하고 처리를 해주어야 한다.

void CtestDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)

{

// TODO: 여기에 메시지 처리기 코드를 추가 및/또는 기본값을 호출합니다.


CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);


[링크 : http://system.tistory.com/entry/MFC슬라이더-컨트롤-사용법]


void CMyDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 

{

    CSliderCtrl *ACSliderCtrl = (CSliderCtrl *)pScrollBar;

    int nID = ACSliderCtrl->GetDlgCtrlID();

    int NewPos = ((CSliderCtrl *)pScrollBar)->GetPos();

    CWnd *ACWnd = GetDlgItem(nID);



    switch (nID)

    {

        default:

            break;


        case IDC_SLIDER1:

            m_edit1.Format( "%d", NewPos );

            UpdateData(FALSE);

            break;

    }

    CDialog::OnHScroll(nSBCode, nPos, pScrollBar);

}

[링크 : https://stackoverflow.com/questions/7269834/event-when-a-particular-slider-is-changed]

[링크 : https://msdn.microsoft.com/ko-kr/library/xzkasz2y(v=vs.100).aspx]

'Programming > C Win32 MFC' 카테고리의 다른 글

한글 코드 페이지  (0) 2017.10.23
CSliderCtrl OnHScroll() 주의사항  (0) 2017.10.20
MFC CMenu  (0) 2017.10.16
MFC 다이얼로그 창 크기 변경 못하도록 하기  (2) 2017.10.11
MFC 버튼에 아이콘 표시 관련  (0) 2017.10.11
Posted by 구차니
하드웨어/Storage2017. 10. 19. 11:16

음.. 별도의 프로그램을 통해서 File Station을 대체 하는 용도로 쓰는건가?

우분투나 Mac에서는 dav://로 접속을 하는데 윈도우에서는 netdrive써서 하드로 인식시키는 식으로

사용이 가능 한 듯


[링크 : https://www.synology.com/.../How_to_access_files_on_Synology_NAS_with_WebDAV]

[링크 : https://openwiki.kr/tech/webdav]

[링크 : http://www.netdrive.net/]

'하드웨어 > Storage' 카테고리의 다른 글

시놀로지 2베이 하드 백업하기  (0) 2018.02.02
synology DS215+ 하드 복구  (0) 2017.12.22
sata gen3 mode ?  (0) 2017.02.02
시놀로지 https / ssl 인증서 적용하기  (0) 2017.01.25
NAND flash 관련 내용  (0) 2016.10.21
Posted by 구차니

스피커를 샀는데 뒤로 나오던게 옆으로 나오는 수준이라 조금 아쉽고..

자꾸 손에 잡고 눈앞에서 보려고 해서 집게로 된 고정기구를 사려고 했더니

마음에 드는게 없다 ㅠㅠ


아무튼 원래 계획은

1. 갤 S2 HD LTE 젤리 케이스 사고

2. 뒷면 스피커의 소리를 앞으로 나도록 문닫힘 방지패드를 잘 달고(글루건 사야지...)

3. 케이스 채로 집게로 잡아 어딘가 고정하는건데


배송비가 케이스보다 비싼 녀석들인데다

막상 집게로 된녀석들은 자바라에 70cm 이상 긴거라 고민하다 보니..



어!??! 자전거 탈때 쓰던 핸드폰 케이스!??!

아무튼 현재 쓰고 있던 노트2를 넣던 녀석이니 그냥 넣고

이번에 새로산 스피커 달아주고 하니 그럭저럭 쓸만해진다 ㅋㅋ

[링크 : http://itempage3.auction.co.kr/DetailView.aspx?ItemNo=A909210194]



이러다가 나중에 유모차에 스피커 달린 녀석 나올지도 모르겠네

Posted by 구차니