2013년 11월 25일 월요일

When the update or installing packages are too slow in Ubuntu Korea 우분투 소스리스트 업데이트나 패키지 다운로드가 느릴 때

소프트웨어 센터를 열어서 소프트웨어 소스의 메인 서버를 '다음'으로 변경


  1. Ubuntu Software Center
  2. Edit menu
  3. Software Sources
  4. On Ubuntu Software tab, click 'Download from:'
  5. select 'Other...'
  6. Select Korea
  7. Daum
  8. Close

Installing Ubuntu 13.10 Saucy in English and Setting up Korean environment 영어 우분투에서 한글 환경 (한글 입력) 설정


  • Download DVD-1 of Ubuntu 13.10 amd64 (64 bit) and burn the image
  • Boot from the DVD and install Ubuntu with English language but Korean location. (Choose the keyboard, don't go for just US english if yours is not an ordinary one, like my case with PFU Happy Hacking Professional 2)
  • System Settings - Language Support - Install/Remove Languages - Korean
  • Ubuntu Software Center - Search or Filter ibus-hangul and install it
  • Make or edit ~/.Xmodmap to activate 'Hangul' key (한/영 key)
  • Startup Applications - Add '/usr/bin/xmodmap /home/yours/.Xmodmap (and you may want to add a terminal also with a command like '/usr/bin/gnome-terminal --geometry=+480+90'
  • Run 'ibus-setup' on a terminal - Input Method tab - Add 'Korean Hangul' - Preferences - Select your own Hangul keyboard layout (Sebeolsik Final for me, but most people want Dubeolsik) - Set up a key for switching input method as 'Hangul' and decide a key for Hanja
  • Run 'ibus restart'
  • Hide the stupid defaut IBus icon from a tray

간단 한글 번역
  • '언어-영어, 위치-한국'으로 우분투를 설치
  • System Settings - Language Support - Install/Remove Languages - Korean
  • Ubuntu Software Center - ibus-hangul 설치
  • 터미널에서 'ibus-setup'으로 대화상자를 띄워 한글 입력기 설치, 설정 후 'ibus restart'

2013년 9월 13일 금요일

Setting up the color scheme of 256 colors on Vim

Put your 'My_Color_Scheme.vim' file in ~/.vim/colors/

Add the code below into your ~/.vimrc

if &term =~ "xterm"
  "256 color --
  let &t_Co=256
  " restore screen after quitting
  set t_ti=ESC7ESC[rESC[?47h t_te=ESC[?47lESC8
  if has("terminfo")
    let &t_Sf="\ESC[3%p1%dm"
    let &t_Sb="\ESC[4%p1%dm"
  else
    let &t_Sf="\ESC[3%dm"
    let &t_Sb="\ESC[4%dm"
  endif
endif

colorscheme My_Color_Scheme

learned from: http://vim.wikia.com/wiki/Using_vim_color_schemes_with_Putty, and you can also check http://www.vimninjas.com/2012/08/26/10-vim-color-schemes-you-need-to-own/

Setting up Korean (Unicode) Environment of Windows PuTTY

Go to 'Window - Translations' on Configuration Dialog and change 'Remote Character Set' to UTF-8
(This is about text stream that you get from a server; Linux/Unix machine.)

Run regedit
Go to 'HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions\'
Change the value of 'FontCharSet' to 81 (or your language. 81 is for Korean, hexa)
Change the value of 'Font' to Bitstream Vera Sans Mono (or your font)
Re-run PuTTY
(This is about a font you will use in PuTTY, the font should be installed in your computer.)


learned from http://crawl.develz.org/wordpress/prettify-putty, and http://mynsh.blogspot.kr/2008/11/putty-korean-language-configuation.html

2013년 8월 13일 화요일

Fixed: NVIDIA GTX 560 Ti crash randomly frozen screen (Free commander XE, nvinit.dll_unloaded closing crash)

I use ZOTAC's nvidia gtx 560 ti on Windows 7 x64 at work and it worked fine. After the graphics card driver update (to 314.22), 32-bit based apps like Free Commander XE have been crashed when closing with the dialog saying that nvinit.dll_unloaded and also my monitor screen has been frozen randomly for a few seconds.

The new official vga driver (320.18) was released a few month later and I updated but the problem was not fixed. I found the newest driver doesn't have any change for gtx 560 but only for 600 or 700 series, and also found this solution by googling later, 'downgrading' the driver to 296.10, as I remind myself "Upgrading is not always good."

Problem: nvinit.dll_unloaded error and screen freezing since upgrading gtx 560 ti driver to 3xx.xx version
Solution: downgrading the driver to 296.10
Source: https://forums.geforce.com/default/topic/528468/geforce-500-400-series/freezing-driver-failure-recovery-geforce-gtx-560-ti-twin-frozr/


조탁의 gtx 560 그래픽카드를 잘 쓰다가 드라이버 업데이트 이후 32비트 기반 앱 종료할 때 에러 + 간헐적 화면 멈춤 현상 발생

구글링 하여 296.10으로 다운그레이드 하니까 해결

소프트웨어에 있어서 업그레이드가 늘 좋은 것은 아니라는 사실을 상기함

2013년 6월 24일 월요일

PHPMyAdmin: cannot connect, invalid setting (XAMPP)

Open the 'config.inc.php' file in the phpmyadmin directory and type a right password in a line like the below.

$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPasswordRoot'] = false; // not 'true'

2013년 6월 10일 월요일

구글 드라이브 데스크탑 영어(한글)로 변경하기 How to change the language of Google Drive Desktop Client

Supported by Ine Hordvik

In order to set the sync client language to English, try the following:
  1. Open your control panel
  2. Go to System and Security
  3. Click on System
  4. Open Advanced system settings (in the left panel)
  5. Click on Environment Variables
  6. Click either the top (user) or bottom (system) New... button.
  7. For Variable name input LANG and for Variable value enter en_US.

If you want a different language instead of English than set the Variable value to your one by referring this table, with underline(_) not hyphen(-).

윈도우즈 7의 경우

시작 버튼 - 내 컴퓨터에서 우클릭 - 속성
왼쪽에 고급 시스템 설정 클릭
고급 탭 - 환경 변수 클릭
위 아래 아무 새로 만들기 클릭
변수 이름LANG, 변수 값en_US 입력

한글은 ko_KR, 다른 언어로 설정하고 싶은 경우 변수 값에 여기를 참고하여 하이픈(-)이 아닌 밑줄(_)과 함께 입력


구글은 이런 거 일 년도 넘게 안 고치고 뭐하나...

2013년 2월 7일 목요일

구글 앱스를 위한 OpenID 연동 로그인 서비스

(번역 중)
원문: https://developers.google.com/google-apps/sso/openid_reference_implementation

구글 앱스를 위한 OpenID 연동 로그인 서비스 (OpenID Federated Login Service for Google Apps)

구글 앱스는 최종 사용자가 제 3자의 웹 사이트에 사용자의 구글 앱스 계정을 이용하여 안전하게 로그인 할 수 있도록 해주는 OpenID API를 제공합니다. OpenID 표준은 사용자가 서로 다른 웹 사이트에 로그인 하기 위해 각기 다른 로그인 계정(ID, 비밀번호)을 이용해야 함으로부터, 또 역으로 웹 사이트 개발자가 로그인 정보와 보안 수단을 사이트 별로 각기 다르게 관리해야 하는 일로부터 해방시켜 줍니다. OpenID는 사용자가 구글 앱스 도메인과 같은 OpenID 제공자에게 하나의 계정을 개설하고, 그 계정으로 OpenID를 지원하는 어떤 웹 사이트에도 로그인 할 수 있도록 하는 구조를 제공함으로써 이것을 가능하게 합니다.

구글 앱스 API는 OpenID 제공자로서 OpenID 2.0 규약에 맞춰 어떤 도메인에도 계정 인증[1]을 지원합니다. 제 3자의 사이트에서 요청이 오면, 구글은 기존의 구글 앱스 계정으로 사용자를 인증하여, 제 3자의 사이트가 사용자를 알아보는데 사용할 수 있는 식별자를 해당 사이트로 보냅니다. 이 식별자는 일관성 있게, 여러 개의 세션을 통해서 제 3자의 사이트가 사용자를 알아볼 수 있도록 해줍니다. 구글은 또한 다음과 같은 확장기능을 지원합니다:

[1] 여기서 인증, 즉 authentication이란 사용자의 ID와 비밀번호를 서버에 이미 등록된 정보와 맞춰 보는 과정. 로그인 버튼을 클릭했을 때 로그인 된 페이지가 나오기까지 그 중간의 처리.


OpenID Attribute Exchange 1.0은 웹 개발자가 사용자의 허가를 받은 경우, 사용자ID와 이메일 주소를 포함하여 구글에 저장된 특정 사용자의 정보에 접근하는 것을 허용합니다.

OpenID+OAuth Hybrid protocol은 웹 개발자가 OpenID 요청과 OAuth 인증 요청을 결합할 수 있도록 해줍니다. 이 확장기능은 웹 개발자가 OpenID와 OAuth를 모두 사용하는 경우, 두 단계의 사용자 허가를 한 단계로 줄이는 데 있어서 특히 유용합니다.

기업과 공공기관을 위해, 구글 앱스 OpenID API는 전 세계적인 Single Sign-on 서비스를 가능케 합니다.  한 번의 구글 앱스 로그인으로, Salesforce.com과 추가적인 Saas 및 온디맨드 솔루션, B2B 파트너, 내부 애플리케이션과 소비자 웹 사이트에 안전하게 접근할 수 있습니다. 더 자세한 사항과 예제에 대해서는 우리의 블로그 포스팅을 참조하세요.


OpenID 프레임워크에 대한 더 많은 정보를 얻으려면, 다음 사항들을 참고하시기 바랍니다:

  • OpenID
  • OpenID attribute exchange
  • Step2 open-source project including complete Relying Party example code

또한 구글 계정 사용자를 위한 연동 로그인과 구글의 OpenID API 사용에 대한 토론인 연동 로그인에 대한 구글 그룹도 확인하십시오.


Note: 연동 로그인 서비스는 구글 앱스 Business 에디션과 Education 에디션에서 기본적으로 비활성화 되어 있습니다. 도메인 관리자는 제어판의 'http://www.google.com/a/cpanel/당신의도메인/Setupldp'에서 이를 활성화시킬 수 있습니다.

구글 앱스 마켓을 위한 SSO (Single Sign On)

OpenID 기반 SSO를 사용하는 애플리케이션은, 해당 애플리케이션이 구글 앱스 마켓에 등록 되어 있다면 OpenID 로그인의 허가 단계를 건너뛸 수 있습니다. 이는 애플리케이션 명부(applicatoin manifest) 내에서 OpenID realm을 지원함으로써 가능합니다.

OpenID 기반 SSO를 마켓의 애플리케이션에 구현하려는 개발자들을 돕기 위하여, 구글은 보안 모범사례 모음을 제공하고 있습니다.

구글 앱스를 위한 OpenID 기반 연동 로그인에 대한 이해

이 장은 OpenID 인증이 어떻게 동작하는지에 대한 고수준의 개요를 제공합니다.

상호동작 순서

웹 애플리케이션[2]을 위한 OpenID 로그인 인증은 제 3자의 웹 앱 애플리케이션, 구글 앱스 도메인, 구글 도메인, 구글의 로그인 인증 서비스, 그리고 최종 사용자 사이에서 일련의 상호동작을 통해 이루어집니다. 아래 그림은 구글이 추천하는 순서를 보여줍니다. 그림은 구글 도메인 상에서 discovery가 끝나기까지의 흐름만 단순하게 표시합니다. 전체 흐름과 사례를 보려면 구글 앱스 Relying Party Discovery Documentation를 (실험적) 참조하세요.

[2] 애플리케이션 또는 웹 애플리케이션이란, 여기서는 자바스크립트 코드 같은 작은 프로그램을 말한다. 사용자가 브라우저에서 로그인 버튼을 클릭한 후 로그인 된 페이지를 보기 전에, 입력된 로그인 정보를 구글 앱스 서버에 보내고 또 응답을 받는 일을 하는 브라우저의 백그라운드에서 동작하는 작은 프로그램을 뜻한다. 눈에 보이는 모바일 분야나 PC의 앱과는 의미가 다른 개념.

Note: 도메인 관리자는 Discovery Documentation에 설명된 host-meta filedocument를 포스트하는 것을 강력히 추천합니다.


이 이미지는 다음 단계들을 보여줍니다.

  • 웹 애플리케이션이 최종 사용자에게 구글 앱스 계정을 포함한 계정 선택 로그인 입력창에서 어떤 정보로 로그인 할 것인지 묻는다.
  • 사용자는 구글 앱스 계정을 사용할 것을 선택한다.
  • 웹 애플리케이션은 Discovery Documentation에 정의된 방법에 따라 XRDS 문서의 위치 검색을 수행한다.
  • 구글은 구글 앱스 도메인의 종점 주소를 가지고 있는 검색된 XRDS 문서를 보내준다.
  • 웹 애플리케이션은 제공된 종점 주소로 로그인 인증 요청을(필요한 경우 OAuth 파라미터들도 함께) 보낸다.
  • 이 동작은 사용자에게 구글 앱스 연동 로그인 페이지를 연결해(redirect) 준다.
  • 사용자는 그의 구글 앱스 계정으로 로그인 한다. 이때 구글 앱스는 로그인 완료 페이지를 보여준 후, 사용자가 웹 애플리케이션에 의한 인증 과정을 완료할 것인지 묻는다. 만일 웹 애플리케이션이 OpenID+OAuth 조합을 사용하고 있다면, 사용자는 특정 구글 앱스 서비스 모음으로의 접근을 허가할 것인지에 대한 물음에도 역시 답해야 한다.
    Note: 어떤 상황에서는 로그인 과정이나 허가 과정이 (또한 둘 다) 생략될 수도 있다.
  • 사용자가 인증을 허가한다면, 구글은 제어를 웹 애플리케이션에게 돌려주면서, 웹 애플리케이션이 사용자를 인식할 수 있도록 하는 (하지만 사람은 알아볼 수 없는) 식별자를 제공한다. OpenID+OAuth 조합에 대해서는 인증된 요청 토큰도 같이 보내준다.
  • 웹 애플리케이션은 구글에서 제공된 식별자를 이용하여 사용자를 알아본 후 애플리케이션의 기능과 데이터에 접근을 허가한다. OpenID+OAuth 조합에 대해서는, 웹 애플리케이션은 받은 요청 토큰을 사용하여 OAuth 인증 절차를(step 7 참조) 진행하고 사용자의 구글 앱스 서비스에 대한 허가를 얻는다.
의존













구글 계정 사용자를 위한 연동된 로그인


원문: https://developers.google.com/accounts/docs/OpenID

역자는 본 번역의 목적을 아직까지 "구글 앱스 계정을 위한 OpenID API"로 제한하므로 이 문서의 목차 이하 내용은 번역을 하지 않습니다.

구글 계정 사용자를 위한 연동된 로그인 (Federated Login for Google Account Uesrs)


현재 제 3자의 웹 사이트와 애플리케이션은 방문자가 그들의 구글 계정을 이용해 로그인 하도록 할 수 있습니다. OpenID 표준에 기초한 연동 로그인은, 사용자들이 서로 다른 웹 사이트들을 위해 각기 다른 계정을 이용해야 하는 것으로부터, 또 웹 사이트 개발자들이 로그인 인증 수단을 각각 구현해야 하는 작업으로부터 해방시켜 줍니다. OpenID는 사용자가 구글과 같은 OpenID 제공자에게 하나의 계정을 개설하고, 그 계정으로 OpenID를 지원하는 어떤 웹 사이트에도 로그인 할 수 있도록 하는 구조를 제공함으로써 이것을 가능하게 합니다. 이 페이지는 웹 사이트나 애플리케이션에 어떻게 구글의 연동 로그인을 적용하는지 설명합니다.

구글은 OpenID 제공자로서 OpenID 2.0 규약에 맞춰 계정 인증[1]을 지원합니다. 제 3자의 사이트에서 요청이 오면, 구글은 기존의 구글 계정으로 로그인하는 사용자를 인증하여, 제 3자의 사이트가 사용자를 알아보는데 사용할 수 있는 식별자를 해당 사이트로 보냅니다. 이 식별자는 항상 같은 데이터로, 여러 개의 세션을 통해서 제 3자의 사이트가 사용자를 알아볼 수 있도록 해줍니다. 구글은 또한 다음과 같은 확장기능을 지원합니다:

([1] 여기서 인증, 즉 authentication이란 사용자의 ID와 비밀번호를 서버에 이미 등록된 정보와 맞춰 보는 과정. 로그인 버튼을 클릭했을 때 로그인 된 페이지가 나오기까지 그 중간의 처리.)

OpenID Attribute Exchange 1.0은 웹 개발자가 사용자의 허가를 받은 경우, 사용자ID와 이메일 주소를 포함하여 구글에 저장된 특정 사용자의 정보에 접근하는 것을 허용합니다.

OpenID User Interface 1.0은 인증 과정에 적용 가능한 또 다른 사용자 경험(UX)을 지원합니다. 기본 UX는 로그인 페이지가 해당 사이트에서 구글의 인증 페이지로 자동으로 넘어가도록(redirect) 되어 있습니다. 이 확장기능은 웹 개발자가 구글 인증 페이지를 팝업창으로 열 수 있도록 해주며, 파비콘을 지원합니다.

OpenID+OAuth Hybrid protocol은 웹 개발자가 OpenID 요청과 OAuth 인증 요청을 결합할 수 있도록 해줍니다. 이 확장기능은 웹 개발자가 OpenID와 OAuth를 모두 사용하는 경우, 두 단계의 사용자 허가를 한 단계로 줄이는 데 있어서 특히 유용합니다.

PAPE (Provider Authentication Policy Extension)는 사용자 비밀번호 입력을 위한 페이지를 다시 요청해야 할 때와 같은 경우 등, 웹 개발자가 인증 과정 속에서 구글에 수정을 다시 요청할 수 있도록 해줍니다.

OpenID 프레임워크에 대한 더 많은 정보를 얻으려면, 다음 사항들을 참고하시기 바랍니다:

  • OpenID
  • OpenID attribute exchange
  • OpenID user interface
  • Hybrid "Step2" open-source project/Draft of OpenID OAuth extension
  • PAPE specification

또한 구글의 OpenID API 사용에 대한 토론을 위해 연동 로그인에 대한 Google Group을 참조하세요.

노트: OpenID 인증은 현재 구글 앱스 계정을 지원합니다. 구글 앱스 계정을 위한 OpenID API를 보세요.

대상 독자

이 문서는 웹 애플리케이션에 구글 로그인을 적용하려는 개발자를 대상으로 합니다. 독자가 OpenID 규약에 대해서 이미 읽고 숙지했으며, OpenID에 "관련한 부분(relying party)"을 설정하기 위한 요구사항과 전문용어들에 대해 친숙하다고 가정합니다.

목차

(하략) ...

Xubuntu: Installing a Printer (Canon G3060 PIXMA)

$ sudo apt install system-config-printer Download the proper driver for linux from Canon website. Turn on the printer and set up its WiFi. C...