제가 사용중인 노트북 모델은 MSI GS60 2QE 모델입니다.


게이밍노트북이라 왼쪽 자판에 윈도우키가 없고 FN키만 있는 모델입니다.


MSI GS60 2QE 자판왼쪽에 FN 키 오른쪽에 윈도우키가 자리 잡고 있다.


게임할때는 유용하겠지만 일반 작업할때는 윈도우키가 없어 오히려 불편할때가 많습니다.


더군다나 윈도우10으로 업데이트 되면서 가상데스크탑 기능이 생겼고 "윈도우키+Ctrl+D" 형태의 단축키를 지원하게 되어 안 쓸 수 없게 되버린거죠.


그래서 FN 키와 윈도우키를 바꿔볼 생각에 BIOS를 가서 변경을 했는데....


MSI GS60 2QE BIOS 고급설정Fn/Win key 의 기능을 상호 교체 가능


변경 후 윈도우에서 Fn 키를 눌렀는데 윈도우 시작메뉴가 나오는게 아닌 마우스 우클릭 or 우측 Ctrl 의 기능인 기능메뉴가 펼쳐지는 겁니다.


그래서 MSI 포럼에 찾아보니 비슷한 사람도 있고 몇달러 주면 처리 해주겠다는 외국 사용자 글만 나타나고 국내서는 쉽게 찾을 수가 없었지만... 결국엔 찾았습니다.


MSI GS60 2QE BIOS 정보EC Build Version 확인


답은 EC Version 입니다.


위 화면은 업데이트 후 화면인데 Fn/Win key swap 이 안될때는 화면상의 버전보다 낮았습니다.


그래서 바이오스와 EC 까지 둘다 업데이트 하니 정상적으로 Fn 키가 Win 키로 사용가능해졌습니다.


다만 제 모델은 골드 에디션에 국내 판매 종료된 모델이라 쉽게 검색이 안 됐습니다.


그래서 혹시나 다른 분들은 구글에 정확한 모델명을 입력해서 MSI Global에 접속하거나 MSI Global에서 바로 검색 후 Service 의 Download - Firmware 에서 EC 업데이트를 다운로드 받고 적용하면 됩니다.


https://www.msi.com



IrfanView 4.44 업데이트 한글팩

컴글 2016. 12. 28. 23:34 posted by 배제군

IrfanView 4.44 업데이트

몇일전 IrfanView 가 4.44 버전으로 업데이트되었습니다. 

한글팩 작업 후 알게된 이번 업데이트에 적용된 큰 기능 하나를 적어보겠습니다.

IrfanView 및 한글팩은 공식홈페이지에서 다운받을 수 있습니다.

http://www.irfanview.com/

편집-부분 삽입/제거

편집메뉴에 추가된 기능입니다.

특정 영역을 선택하고 해당 부분의 세로전체/가로전체 부분을 제거하거나 세로전체/가로전체 만큼 빈영역을 추가하는 기능입니다.


다음의 화면을 보시면 바로 이해하실 수 있습니다.


↑ 위 토성사진의 중간을 마우스로 선택합니다.


↑ 가로부분 제거를 선택하면..


↑ 선택영역의 높이에 해당하는 가로부분이 잘려져 나갑니다.


↑ 반대로 세로부분제거는 선택영역의 넓이에 해당하는 세로부분이 잘려져 나갑니다.


↑ 삽입으로 살펴보면..


↑ 선택영역의 시작점 좌표에 높이만큼 가로부분에 빈영역이 추가됩니다. 


↑ 세로부분도 선택영역 시작좌표에 넓이만큼 세로부분에 빈영역이 추가됩니다.


*지금보니 "추가" 명칭을 "삽입"으로 해야 되는데.. 사용상 문제 없으니 다음번에 바꿔 놔야겠습니다. ;;


이런 기능은 어떻게 작업되는 걸 미리 알아야 써먹는데 이미지 뷰어로 주로 사용하는 분들에게는 전혀 필요없는 기능 같습니다.

Irfan Skiljan (IrfanView 개발자) 저분도 과연 쓸까? 란 의구심만..

저도 번역하면서 기능을 한번씩 다 눌러 보며 정말 생각지도 못한 온갖 신기방기한 기능이 많은 걸 봤지만 실제로 써먹는 건 그리 많지 않습니다.

언제 기회될때 기능 연재를 한번 해봐도 될정도..

아무튼 다음번엔 더 좋은 기능으로 업데이트 소개를 했으면 좋겠습니다.

프로그램 이름은 무려.. 밤소리키~!


게임할때 갑자기 소리가 안들린다거나 커진다거나..

유튜브, 팟플레이어등 영상에서 저질 소음?! 발생시..

등등 스피커에 손을 대지 않고 손이 올려져 있는 키보드에서 단축키로 사용할려고 개발했습니다.

(이미 키보드에 볼륨조절용 멀티키가 있다면?!?!?! ;;;;)

이미 여타 기능이 많은 단축키 프로그램이 많겠지만..


초저용량 - 실행파일 25Kb, DLL 32Kb, 아이콘 15Kb : 총합 71Kb

초단순 - 파일 3개, 기타 Runtime 설치파일 필요 없음


초단순, 저용량을 모티브로 몇일밤을 고생(정말?!?! *_*) 해서 만들었습니다.


평소 잘 쓰지도 않는 VisualStudio를 설치해서 이것저것 해보다 잘안되서 자주쓰는 MinGW로 컴파일,

Win32API 의 C로 작성해서 컴파일 했기때문에 위의 결과물로 나타났습니다.(C++ 사실 잘 모름.. ;;)


윈도우용 KeyHook DLL을 사용하기 때문에 각종 멀티키를 위한 단축키 및 한/영 전환 단축키등을 추가할 수 있지만 이미 목적을 달성했기 때문에 패쓰~!


필요한 사람이 있을까봐 올립니다.

사용법

프로그램 실행 후 우측 하단 트레이에   아이콘이 나타나면 다음의 단축키로 동작합니다.

 Ctrl+Shift+Alt+0 = Volumn On/Off

 Ctrl+Shift+Alt+Left/Down arrow key = Volumn Down

 Ctrl+Shift+Alt+Right/Up arrow key = Volumn Up

단지.. 그게 끝입니다. ;;

설치 파일은 MediaFire에서 다운 받을 수 있습니다.


http://www.mediafire.com/download/elxb5mb6qbhnsq7/BamSoryKeyInstaller.exe


* 설치프로그램은 윈도우 시작폴더에 단축아이콘을 생성합니다.

* 설치 경로에 관리자 권한이 필요한 경우 설치프로그램을 관리자모드로 실행할 필요가 있습니다.

* 설치제거는 폴더 및 시작프로그램 아이콘을 수동으로 지우면 됩니다. (자동 설치/삭제가 더 귀찮음 ㅠㅠ)


설치 자체가 찝찝하면 위 설치파일을 7-zip 압축해제 프로그램으로 푸시면됩니다.

전자정부프레임워크의 이클립스의 Subversion(정확히는 Subversive 플러그인, 이하 SVN)는 1.7 버전을 지원하지 않습니다.

그렇기 때문에 Checkout 받은 소스의 모든 폴더에는 항시 .svn 파일이 생성되어 있죠.(1.6 이하의 서버)

그것도 그렇지만 SVN 서버가 1.7 이라면 그 또한 이용할 수 없습니다.


An error occurred while accessing the repository entry 전자정부프레임워크의 기본 SVN 은 1.7 버전을 지원하지 않아 접속오류가 난다.


그래서 이클립스 플러그인을 업데이트 해야 하는데 매번 순서를 까먹어 기록으로 남깁니다.


적용 환경 : Win7,  eGovFrameDev-2.6.0-LightVer 배포판 (현 시점의 최신 버전, FullVersion 은 너무 느려서 못 씁니다. *_*)


1. 설치된 SVN 제거


1. 이클립스 구동후  Help - About Eclipse 를 선택합니다.




2. 팝업창이 나타나면 Installation Details 를 선택합니다.




3. 플러그인중 Subversive SVN Connectors 와 Subversive SVN Team Provider 를 선택 후 Uninstall 을 선택합니다.

(Team Provider 와 의존성이 걸려있기 때문에 Team Provider도 최신버전으로 업데이트 해야 합니다.)




4. 제거중 재부팅여부를 물어보면 Yes 를 눌러 재부팅합니다.





2. Subversive SVN Team Provider 설치


1. Help - Install New Software 를 선택합니다.




2. Install 창이 나타나면 Work with 의 셀렉트 박스의 드롭다운 버튼을 눌러 Juno - http://download.eclipse.org/releases/juno 를 선택합니다.




3. 목록이 나타나면 Collaboration 의 Subversive SVN Team Provider (Version : 1.0~) 를 선택하고 Next 를 선택합니다.



4. 재부팅 여부를 물으면 Yes 를 선택합니다.




3. SVN 설치



1. Help - Install New Software 를 선택합니다.




2. 내용중 Available Software Sites 를 선택합니다.



3. 업데이트 사이트 목록에 나타나는데 이중 Location 이 http://community.polarion.com/projects/subversive/download/eclipse/2.0/helios-site/ 인 항목을 선택 후 Edit 버튼을 선택합니다.



4. Location 을 최신버전 주소인 http://community.polarion.com/projects/subversive/download/eclipse/3.0/juno-site 를 입력하고 수정창과 사이트 목록창까지 닫습니다.

 (주소확인 : http://www.polarion.com/products/svn/subversive/download.php )




5. Work with 의 셀렉트 박스의 드롭다운 버튼을 눌러 방금 수정 입력한 업데이트 사이트를 선택합니다. (주소가 변경됐는지 반드시 확인)



6. 업데이트 선택항목이 나타나고 JavaHL 1.7.5 Win32 Binaries (Optional), Subversive SVN Connectors, SVNKit 1.7.5.v1 Implementation (Option) 을 선택하고 Next 를 선택합니다.




7. Next 및 동의 버튼을 선택하여 설치를 진행합니다.





7. 재부팅 여부를 물으면 Yes 를 선택합니다




8. 설치 여부를 확인합니다. (1.3 참고)




4. 접속 확인 (저장소 설정 부분이므로 불필요시 패쓰)


1. Windows-Show View-Other 를 선택합니다.




2. SVN - SVN Repositories 를 선택하고 OK 를 선택합니다.




3. SVN Repositories 뷰에서 우측 상단에 New Repository Location 을 선택합니다.




4. URL 과 인증부분의 User, Password 값을 입력하고 Finish 를 선택합니다. (당연하겠지만 SVN 서버는 1.7 버전 입니다.)




5. 제대로 접속 되는 것을 확인 할 수 있습니다.




전자정부프레임워크의 개발환경은 쉽게 다운받아 개발환경을 구축할 수 있는 좋은 점이 있습니다.
더불어 이런 부분까지도 세세하게 개발가이드에 등록되면 좋겠다는 생각을 가져 봅니다.


레드마인 https SVN 저장소 연결 오류

컴글 2013. 4. 12. 11:55 posted by 배제군

레드마인에서 SVN 저장소 연결 정보를 입력하고 저장소 페이지를 가보면 404 오류가 계속 뜬다.

404 오류에 관한 레드마인의 로그를 살펴 보면..

No close tag for /lists/list

Line: 4

Position: 100

Last 80 unconsumed characters:


Output was:

 <?xml version="1.0" encoding="UTF-8"?>

<lists>

<list

   path="https://XXXXXXXX/svn/XX">

  Rendered common/error.html.erb within layouts/base (0.4ms)

처럼 No close tag for /lists/list 오류가 나타난다.


태그가 안 닫혔다규?!


이에 관련 이슈가 있어 확인해봤다.


http://www.redmine.org/projects/redmine/wiki/Error_parsing_svn_output


결론은 인증서 저장 여부였다.

redmine 이 접속하는 계정으로 콘솔에서 

svn list --xml 'https://XXXXXXXX/svn/XX'@HEAD

명령을 실행하니


<?xml version="1.0" encoding="UTF-8"?>

<lists>

<list

   path="https://XXXXXXXX/svn/XX">

Error validating server certificate for 'https://XXXXXXXX:443':

 - The certificate is not issued by a trusted authority. Use the

   fingerprint to validate the certificate manually!

 - The certificate hostname does not match.

Certificate information:

 - Hostname: xxxx

 - Valid: from Mon, 18 Mar 2013 02:22:40 GMT until Thu, 16 Mar 2023 02:22:40 GMT

 - Issuer: xxxx

 - Fingerprint: bd:75:a1:f0:a7:34:15:42:47:b2:27:d0:b4:ca:4f:7a:e4:0b:2a:73

(R)eject, accept (t)emporarily or accept (p)ermanently?


위 메세지 처럼 태그를 출력하다 인증서 처리 여부를 확인한다


레드마인에서 스크립트로 실행하려다 입력폼이 나타나니 저 상태에서 종료 되었던 것이고 태그가 열리다 닫혀 버렸으니 No close tag for /lists/list 오류가 날 수 밖에..


결론은 콘솔에서 저장소 접속을 직접 입력해서 위 처럼 P 를 눌러 인증처리 후 저장 여부에서 yes(필요시) 까지 눌러 한번 리스팅이 완료되면 레드마인에서는 올바르게 실행된다.







Irfanview v4.35 한글팩 업데이트

컴글 2012. 12. 9. 13:53 posted by 배제군


11월 9일에 업데이트 되었는데 바빠서 최근에야 작업을 했다.

변경사항은 각 설정창에 몇몇 옵션들이 추가되었다. (귀찮아서 이정도로.. ;;)


몇몇 분들이 인코딩 문제를 댓글로 물어보시던데 언어변경시에 Load Unicode PlugIn at program start  옵션을 선택해제 하기를 추천하고 변경후에 프로그램을 재시작하길 바란다.


언어변경영문판에서는 KOREAN이 깨져서 보일 수가 있지만 KOREAN을 선택하고 재시작하면 잘 나타난다. 이때 Load Unicode Plug In at program start 를 해제하고 사용하는게 경험상 문제가 없었다.


어떤 분들은 Irfanview/language 폴더의 Deutsch.dll 파일을 삭제후 재시작해서 정상적으로 나타난다는 경우도 있으니 참고하시길..

Flex 팝업창에 탭 키가 정상 작동 안할때

컴글 2012. 12. 4. 13:15 posted by 배제군

팝업된 객체의 입력창포커스에서 탭키를 누를때 부모의 입력창으로 포커스가 넘어갈때 처리

<s:Group implements="mx.managers.IFocusManagerContainer" ... >

<fx:Script>

  <![CDATA[

    import mx.core.IFlexDisplayObject;

    protected var _defaultButton:IFlexDisplayObject;

    public function get defaultButton():IFlexDisplayObject {

      return _defaultButton;

    }

    public function set defaultButton(value:IFlexDisplayObject):void {

      _defaultButton = value;

    }

  ]]>

</fx:Script>

</s:Group>


만든객체에 mx.managers.IFocusManagerContainer 인터페이스를 상속받게 만들고 Script 에 _defaultButton 변수를 재 구현


출처 : 구글링 http://blog.mediagreenhouse.com/?p=22

Irfanview v4.33 한글팩 업데이트

컴글 2012. 4. 12. 22:38 posted by 배제군




이번 업데이트는 Irfanview 의 막강한 기능중 하나인 일괄작업에 고급설정기능이 추가 되었다.

파일-일괄 변환 기능은 이미지를 일괄적으로 자동 변환할때 쓰이는 기능인데 내가 Irfanview 를 쓰는 계기가 된 기능이다.


아무튼 파일-일괄변환-고급설정을 보면 일괄변환시 작업들을 선택할 수 있는데 이 작업의 순서를 지정할 수 있는 기능이 추가되었다.



일괄변환-고급설정에 일괄변환-고급설정에 "순서 변경" 버튼이 추가되어 일괄변환 작업의 순서 지정이 가능


처리순서창처리순서창으로 기능들의 순서를 지정할 수 있다.


포토웍스란 이미지 변환프로그램이 갑자기 생각나는구나. ㅎㅎ


끄~읕~



Irfanview v4.32 한글팩 업데이트

컴글 2011. 12. 22. 00:46 posted by 배제군
Irfanview 가 v4.32로 업데이트 되었다.


한글 번역을 하다보니 세세한 메뉴부터 추가되는 기능까지 계속 쳐다 보게 된다는 놀라운 사실.. ㅇ_ㅇ;;

아무튼 이번에 업데이트 된 핵심(?)적인 기능중 하나는 워터마크를 추가하는 페이지가 생겼다는 건데 기존에는 텍스트만 추가 할 수 있었다. (주로 뷰어로만 활용해서 편집기능은 전혀 몰랐다능..)

두번째는 얼굴 검출(Face Detection) 기능이다.
이 기능은 v4.32 플러그인 설치시 동작하며 Irfanview의 폴더보기 기능인 "미리보기 상자" 에서 사용가능하다.
("미리보기 상자"라.. 그냥 발음 그대로 번역하는게 더 나았으려나.. 썸네일 박스.. *_*;;)

이건 좀 좋아 보이므로(?!) 잠시 설명 들어간다.

"미리보기 상자"를 누르면 탐색기처럼 좌측 폴더와 우측 사진파일이 나오는데 폴더 또는 이미지 파일을 여러개 선택했을 경우 "파일"-"선택된 파일 얼굴검출 시작" or "현재 폴더 얼굴검출 시작" 을 누르면 얼굴이 들어 있는 사진만 검색해서 목록을 만들어 주는 기능이다.

얼굴검출기능미리보기목록에서 얼굴검출 기능을 사용하면 새창이 떠서 얼굴이 들어있는 사진만 검색해준다.


전체 목록은 72개 인데 27개의 얼굴이 들어간 사진만 골라주었다.
그리고 얻어진 목록의 사진을 더블 클릭하면 우측란에 검출된 부위를 나타내준다.


검출되고 난 다음 기능은 사진을 분류해주는 기능으로 우측 목록중 하나를 눌러보면 아래쪽에 이름을 넣을 수 있는 란이 나온다.
처음엔 Unkown 이고 이름을 입력해 놓으면 다음에 비슷한 얼굴 검출시 이름을 자동으로 입력해준다.
이름은 그렇게 정하고 검출된 얼굴과 이름이 맞으면 Yes, 아니면 no 를 선택, 이때 Yes 일경우 처음 한번 폴더를 지정하며 다음번에 그 이름이 Yes 되면 사진이 그 폴더로 저장되는 방식이다.

이름으로 지정된 폴더 목록이름으로 지정된 폴더 목록

 
no 아래의 [...] 을 눌렀을때 팝업창이다.
위 화면을 보면 대략 이해가 될꺼다.

이 두가지가 핵심인듯 느껴지고 다른 소소한 기능까지 합하면 그래도 많은 변화 인듯 하다.

Irfanview v4.32 번역하고 올린 후 간만에 포스팅~ 끄~읕~ 
예전 Flex 2~3버전에서 데이터를 다운받기 위해서는 ByteArray 형식을 특정 웹페이지에 데이터를 업로드 시키고 해당 웹페이지에서 파일다운로드 시키는 방식을 이용했다.
파일데이터를 웹프로그램에서 HTTP 헤더를 바이너리로 지정해야만 했기때문.
하지만 4버전부터는 Flex의 ByteArray를 웹페이지를 거치지 않고 직접 다운로드 가능하다.
이는 ByteArray를 FileReference의 save 함수의 인자로 직접넣는게 가능해졌기 때문이다.

이를 응용하면 Flex에서 작성된 데이터를 ByteArray 형식으로 변환해 다운로드 할 수 있다.
아래는 화면을 캡춰해서 PC로 바로 저장하는 화면이다. 

캡춰후 다운로드

화면캡춰&다운로드 버튼을 누르면 파일을 저장하는 화면이 나타난다.

 
위 화면처럼 화면캡춰, PDF저장, 이미지 편집, 사운드 파일등 ByteArray로 데이터처리하는 모든 것들을 즉시 파일로 저장가능하다.

public function saveAsImage(obj:UIComponent, name:String = ''):void {
FileReference fileReference = new FileReference();
var pngSource:BitmapData = new BitmapData (obj.width, obj.height);
pngSource.draw(obj);
var pngEncoder:PNGEncoder = new PNGEncoder();
var pngData:ByteArray = PNGEncoder.encode(pngSource); 
if(name=='') {
name = 'capture.png';
} else {
name += '.png';
}
fileReference.save(pngData, name); // 핵심
}

위는 내가 쓰는 화면캡춰 후 다운로드 하는 함수로 UIComponent와 파일 명을 인자로 주면 다운로드 하게 하는 함수다.
화면캡춰 후 as3corelib.swc 의 PNG라이브러리를 이용하는 것만 빼면 별달리 어려운 점이 없는 예제다.