Thursday, May 28, 2015
MS-Word 에서 Emacs Key 지정
Word Option > 왼쪽창 [사용자 지정]
> 오른쪽 창 아래 [사용자 지정]
> 창 [키보드 사용자 지정]
> 좌측 범주 [모든 명령] 선택
--> 오른쪽 창 --> (아래 선택) -> 새 바로가기 키 지정 -> 지정
C-b – CharLeft 현재키: 추가 Ctrl+B
C-f – CharRight ->
C-e – EndOfLine
C-p – LineUp
C-n – LineDown
C-a – StartOfLine
;; 붙여넣기는 키 중복으로 윈도우즈에서 보류한다. -> C-v – PageDown
2. 글자 하나 지우는 것과 라인 끝까지 지우는 건 매크로 지정으로 처리
Word Option > 좌측창 [기본설정] > 우측창 - Word에서 갖아 많이 사용하는 옵션
> [리본 메뉴에 개발 도구 탭 표시] 체크 함
> 화면 상단 우측에 [보기] 메뉴 우측에 [개발 도구] 메뉴가 표시 됨
화면상단 [매크로 기록] 클릭 ->
매크로 이름 지정 -> "DeleteCharacter"
매크로 할당 위치 -> 키보드 클릭 -> (작업수행) -> 화면상단 -> [매크로 기록 중지] 클릭
Here’s the procedure, in MS Word 2011 for Mac.
Tools → Macros → Record Macro
Give it a name with no spaces
Click the keyboard button to assign a keystroke to it
Select OK
Type the set of key strokes
Tools → Macros → Stop Recording
C-d – [DeleteCharacter] (as a macro)
C-k – [KillLine] (as a macro)
한글 & 중국어 입력 -- dot/init-multi.el
;;;; ----------------------------
;;;; key define
;; Input method and key binding configuration.
;; http://stackoverflow.com/questions/12032231/is-it-possible-to-alternate-two-input-methods-in-emacs
(setq alternative-input-methods
'(
("korean-hangul" . [?\C-\\])
("chinese-py-punct" . [?\C-|])
; ("chinese-py-punct" . [?\M- ])
("korean-hangul" . [?\M- ]) ;; m-spc > hangul
("chinese-py-punct" . [?\S-\M- ]) ;; m-s-spc > chinese
; ("russian-computer" . [?\C-\M-|])
; ("german-postfix" . [?\C-\\])
))
(setq default-input-method
(caar alternative-input-methods))
(defun toggle-alternative-input-method (method &optional arg interactive)
(if arg
(toggle-input-method arg interactive)
(let ((previous-input-method current-input-method))
(when current-input-method
(deactivate-input-method))
(unless (and previous-input-method
(string= previous-input-method method))
(activate-input-method method)))))
(defun reload-alternative-input-methods ()
(dolist (config alternative-input-methods)
(let ((method (car config)))
(global-set-key (cdr config)
`(lambda (&optional arg interactive)
,(concat "Behaves similar to `toggle-input-method', but uses \""
method "\" instead of `default-input-method'")
(interactive "P\np")
(toggle-alternative-input-method ,method arg interactive))))))
(reload-alternative-input-methods)
;;;; ----------------------------
;;;; ----------------------------
;;;; set font
;(if (not (member '("-*-courier new-normal-r-*-*-13-*-*-*-c-*-fontset-chinese" . "fontset-chinese") fontset-alias-alist))
; (progn
; (create-fontset-from-fontset-spec ; chinese fontset
; "-*-Courier New-normal-r-*-*-14-*-*-*-c-*-fontset-chinese,
; chinese-gb2312:-*-MS Song-normal-r-*-*-12-*-*-*-c-*-gb2312*-*,
; chinese-big5-1:-*-MingLiU-normal-r-*-*-12-*-*-*-c-*-big5*-*,
; chinese-big5-2:-*-MingLiU-normal-r-*-*-12-*-*-*-c-*-big5*-*" t)
; (setq default-frame-alist
; (append
; '((font . "fontset-chinese"))
; default-frame-alist))
; )
;)
(set-fontset-font "fontset-default" 'han '("Microsoft YaHei". "unicode-bmp"))
;;(frame-parameter nil 'font)?????fontset-default???
(set-fontset-font (frame-parameter nil 'font) 'cjk-misc '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'bopomofo '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'symbol '("Microsoft YaHei". "unicode-bmp"))
;;;; ----------------------------------------
;;;; -- eim
;(load (concat emacs-lib-path "dot/init-china.el"))
;;;; -- use eim input
(setq load-path (append load-path (list (concat emacs-lib-path "eim"))))
(autoload 'eim-use-package "eim" "Another emacs input method")
;; Tooltip 暂时还不好用
(setq eim-use-tooltip nil)
(register-input-method "eim-wb" "euc-cn" 'eim-use-package "五笔" "汉字五笔输入法" "wb.txt")
(register-input-method "eim-py" "euc-cn" 'eim-use-package "拼音" "汉字拼音输入法" "py.txt")
;; 用 ; 暂时输入英文
(require 'eim-extra)
;(global-set-key ";" 'eim-insert-ascii)
(set-frame-font "Inconsolata 12")
;(set-face-attribute 'default nil :height 100)
;;;; end of chinese
;;;; --------------------------------------------------------------------------------
Wednesday, May 20, 2015
Audacity - Tutorial - Recording Computer Playback on Windows
Tutorial - Recording Computer Playback on Windows
Choosing the recording device in Audacity
Choose "MME" or "Windows DirectSound" in the Audio Host box of Device Toolbar and the sound device's input for recording computer playback in the third (Recording Device) box of Device Toolbar. You can also choose this recording device at Recording Device in Devices Preferences.Transport > Software Playthrough (on/off) should be off when recording computer playback, so if Software Playthrough has a check mark, click that item to turn it off. Otherwise you will hear and record echoes or distorted sound. |
Windows WASAPI loopback recording
On Windows Vista, Windows 7 or Windows 8 only you can choose the Windows WASAPI Audio Host and then the (loopback) input in the Recording Device box. Choose the loopback input for the computer playback device you will be listening to (for example, "Speakers (loopback)" ). The loopback input records computer playback even if your sound device lacks its own stereo mix or similar input:Playback and Recording sliders
The behavior of the Audacity playback and recording sliders may vary according to the sound device you are recording from.....
http://manual.audacityteam.org/o/man/tutorial_recording_computer_playback_on_mac.html
Tutorial - Recording Computer Playback on Mac
Use Soundflower
Soundflower is a free open source system add-on for Mac computers that allows you to route what is playing on the computer digitally back to the input without using a cable. Set Soundflower as your system output device, then in Audacity, set Soundflower as your recording device.- Download the latest version of Soundflower. It is possible that older versions of Soundflower may work better on older versions of OS X. Older versions of Soundflower may be obtained if necessary at https://code.google.com/p/soundflower/downloads/list.
- If the downloaded zip file does not extract automatically, double-click it to extract the DMG file it contains, or use your favorite extraction utility. To install the extracted DMG file, double-click it to mount it. In the DMG itself, double-click the PKG file.
- After opening the PKG file, you may see a warning that the certificate for the installer has expired. Press "Show Certificate" to review the certificate then choose "Continue".
- Then run through the standard installer steps. Save your work in other applications, then press the button in the installer to restart your Mac.
- Choose Apple Menu > System Preferences and select the Sound preferences panel.
- In the Sound preferences panel, choose the Output tab, then
select "Soundflower (2ch)" from the "Select a device for sound output:"
list and turn the Output volume up.
- In the same panel, choose the Input tab, select "Soundflower (2ch)" and and turn the Input volume up.
- At this point you will no longer be able to hear what is playing on the computer. The sound output of the computer is being sent to Soundflower.
- Click on the "Sound Effects" tab, and from the "Play sound
effects through" dropdown menu choose "Line Out", "Headphones" or
"Internal Speakers" (whichever is appropriate for your system).
- This will route some system alert sounds (such as Mail
alert sounds) to the Line Out or Internal Speakers and not to
Soundflower. Thus these sounds will not be recorded by Audacity.Some
Macintosh applications are better behaved than others when it comes to
alert sounds. Tests on a recent iMac running 10.7.2 show that Mail and
TextEdit alert sounds will not be recorded with the above setup, but
iCal and Yahoo Messenger alert sounds will be recorded. To be
safe you should disable the sound on any iCal alerts that may occur
while you are recording, and quit any other program that may make an
alert sound.
- This will route some system alert sounds (such as Mail
alert sounds) to the Line Out or Internal Speakers and not to
Soundflower. Thus these sounds will not be recorded by Audacity.Some
Macintosh applications are better behaved than others when it comes to
alert sounds. Tests on a recent iMac running 10.7.2 show that Mail and
TextEdit alert sounds will not be recorded with the above setup, but
iCal and Yahoo Messenger alert sounds will be recorded. To be
safe you should disable the sound on any iCal alerts that may occur
while you are recording, and quit any other program that may make an
alert sound.
- Close the System Preferences window.
- Start Audacity.
- In Audacity's Device Toolbar, select Built-in Output
or similar as Playback Device and Soundflower (2ch)
as Recording Device.
- Click on the Transport menu and make sure that "Software Playthrough" is checked.
- Go to the application that will be playing the sound you want to record. For example, start Safari and go to a website that plays sound clips. Start some audio playing.
- Click on the recording level meters (beside the microphone symbol) to begin monitoring:
- You should now be able to hear the sound playing on your computer.
- Now click Record to record anything playing on your computer.
To set things back to "normal" so you can hear audio playing on your computer without running Audacity
1) Click on Apple Menu > System Preferences then the Sound panel, and select the Output tab. Select "Line Out", "Internal Speakers" or "Headphones" in the output device list. See step 3 above for an illustration.2) In Audacity, if you want to record from a different source (such as the Line Input or an external USB device), click on Audacity > Preferences then the Devices section and select the input you want to record from in the Recording section. See step 7 above for an illustration.
Tuesday, May 12, 2015
Emacs - Chinese setting
;;;; 1. load with default (with hangul)
;;;; 2. load chinese setting -> chinese ==> f10
;;;; 3. change chinese -> korean ==> M-SPC = change font in english mode with chinese
;;;; 4. change korean -> chinese ==> f2 = my-inconsolata-hangul
(defun my-inconsolata-china ()
(interactive) "set font"
(set-frame-font "Inconsolata 12")
; (set-face-attribute 'default nil :height 100)
(load "d:/Pkg/emacs/lib/dot/init-china.el"))
(global-set-key [f10] 'my-inconsolata-china)
;(my-inconsolata-china)
(defun my-inconsolata-hangul ()
(interactive) "load set hangul"
; (set-frame-font "Inconsolata 12")
; (set-face-attribute 'default nil :height 100)
(activate-input-method "korean-hangul"))
(global-unset-key (kbd "M-SPC"))
(global-set-key (kbd "M-SPC") 'my-change2-chinese)
(defun my-change2-chinese ()
(interactive) "set hangul input"
; (set-keyboard-coding-system 'chinese-iso-8bit) ; input
; (set-language-environment "Chinese-GB18030")
(load "d:/Pkg/emacs/lib/dot/init-china.el")
(toggle-input-method)
)
;(global-unset-key [f2] 'my-inconsolata-hangul)
(global-set-key [f2] 'my-inconsolata-hangul)
;;;; init-china.el --------------------------------
;;;; --------------------------------------------------------------------------------
;;;; -- Chinese
;;;; -- chinese language
(set-keyboard-coding-system 'chinese-iso-8bit) ; input
;(set-selection-coding-system 'chinese-iso-8bit) ; copy/paste
;(setq w32-enable-synthesized-fonts t)
(if (not (member '("-*-courier new-normal-r-*-*-13-*-*-*-c-*-fontset-chinese" . "fontset-chinese") fontset-alias-alist))
(progn
(create-fontset-from-fontset-spec ; chinese fontset
"-*-Courier New-normal-r-*-*-14-*-*-*-c-*-fontset-chinese,
chinese-gb2312:-*-MS Song-normal-r-*-*-12-*-*-*-c-*-gb2312*-*,
chinese-big5-1:-*-MingLiU-normal-r-*-*-12-*-*-*-c-*-big5*-*,
chinese-big5-2:-*-MingLiU-normal-r-*-*-12-*-*-*-c-*-big5*-*" t)
(setq default-frame-alist
(append
'((font . "fontset-chinese"))
default-frame-alist))
)
)
(set-language-environment "Chinese-GB18030")
;(setq file-name-coding-system 'gb18030)
;;set font
; Microsoft JhengHei / ???? /
; (set-fontset-font "fontset-default"
; 'gb18030 '("Microsoft YaHei" . "unicode-bmp"))
;;?????????????? :pixelsize=18:foundry=monotype:weight=medium:slant=i:width=normal
;;????????M-x describe-char??????
;; (if (eq system-type 'windows-nt)
;; (set-default-font "Courier New")
;; (set-default-font "Bitstream Vera Sans Mono"))
;(set-frame-font "YaHei Consolas Hybrid-12")
(set-fontset-font "fontset-default" 'han '("Microsoft YaHei". "unicode-bmp"))
;;(frame-parameter nil 'font)?????fontset-default???
(set-fontset-font (frame-parameter nil 'font) 'cjk-misc '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'bopomofo '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font "fontset-default" 'gb18030 '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'symbol '("Microsoft YaHei". "unicode-bmp"))
;;;; ----------------------------------------
;;;; -- eim
;(load (concat emacs-lib-path "dot/init-china.el"))
;;;; -- use eim input
(setq load-path (append load-path (list (concat emacs-lib-path "eim"))))
(autoload 'eim-use-package "eim" "Another emacs input method")
;; Tooltip 暂时还不好用
(setq eim-use-tooltip nil)
(register-input-method "eim-wb" "euc-cn" 'eim-use-package "五笔" "汉字五笔输入法" "wb.txt")
(register-input-method "eim-py" "euc-cn" 'eim-use-package "拼音" "汉字拼音输入法" "py.txt")
;; 用 ; 暂时输入英文
(require 'eim-extra)
;(global-set-key ";" 'eim-insert-ascii)
(set-frame-font "Inconsolata 12")
;(set-face-attribute 'default nil :height 100)
;;;; end of chinese
;;;; --------------------------------------------------------------------------------
Thursday, April 23, 2015
How to use SQL Query in emacs org-mode
- How to use SQL Query in emacs org-mode
(org-mode 에서 Postgres SQL 사용)
* Install Postgres
- omitted
* set up for SQL-mode
- not always necessary
;; (load (concat emacs-lib-path "dot/init-sql.el")) ; postgres v.1
#+begin_src emacs-lisp
;;
;; usage: M-x sql-connect --> "if fail" --> retry again!
;; M-x sql-postgres
;; sql-send-region : C-c C-r
;; sql-send-buffer : C-c C-b
;;
;-- 1. Open sql file ( chagne buffer sql-mode )
;-- 2. M-x sql-connect --> emacsdb
;-- input buffer *SQL-postgres* or *SQL*
;-- C-c C-r : send region
;-- C-c C-b : send buffer
;-- output is --> *SQL* buffer
;-- DB:emacsdb / Table:headers
;select title, sender, receiver, datetime_txt, size, sent_received from headers where datetime_txt like '%12-10%';
;select title, sender, receiver, datetime_txt, size, sent_received from headers where title like '%체크%';
;-- DB:emacsdb / Table:phonebook
;SELECT d_project, string_agg(fullname, ', '), string_agg(email, ',') AS title_list FROM phonebook where d_project like '%cctv%' GROUP BY 1 ;
;SELECT d_project, string_agg(fullname, ', ') AS title_list FROM phonebook GROUP BY 1 ;
;SELECT d_project, string_agg(email, ', ') AS title_list FROM phonebook GROUP BY 1 ;
;SELECT d_project, string_agg(email, ', ') AS email_list FROM phonebook where d_project like '%drone%' GROUP BY 1 ;
;SELECT fullname, email FROM phonebook where d_attend='y' order by fullname;
;select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'phonebook';
;-- quit --> \q
(setq sql-postgres-login-params
'((user :default "kys")
(database :default "emacsdb")
(server :default "localhost")
(port :default 5432)))
;; call toggle-truncate-lines in sql-interactive-mode-hook.
(add-hook 'sql-interactive-mode-hook
(lambda ()
(toggle-truncate-lines t)))
(setq sql-connection-alist
'((emacsdb (sql-product 'postgres)
(sql-port 5432)
(sql-server "localhost")
(sql-user "kys")
(sql-database "emacsdb")
)
(kysdb2 (sql-product 'postgres)
(sql-port 5432)
(sql-server "localhost")
(sql-user "kys")
(sql-database "kysdb")
)
)
)
(defun my-sql-server1 ()
(interactive)
(my-sql-connect 'postgres 'server1))
(defun my-sql-server2 ()
(interactive)
(my-sql-connect 'postgres 'server2))
(defun my-sql-connect (product connection)
;; remember to set the sql-product, otherwise, it will fail for the first time
;; you call the function
(setq sql-product product)
(sql-connect connection))
(defun my-sql-connect (product connection)
;; load the password
(require my-password "my-pass")
;; update the password to the sql-connection-alist
(let ((connection-info (assoc connection sql-connection-alist))
(sql-password (car (last (assoc connection my-sql-password)))))
(delete sql-password connection-info)
(nconc connection-info `((sql-password ,sql-password)))
(setq sql-connection-alist (assq-delete-all connection sql-connection-alist))
(add-to-list 'sql-connection-alist connection-info))
;; connect to database
(setq sql-product product)
(sql-connect connection))
#+end_src
* enable sql mode with org-mode initial file
- init-org.el
#+begin_src emacs-lisp
(org-babel-do-load-languages
'org-babel-load-languages
'(
(css . t)
; (dot . t)
(emacs-lisp . t)
(js . t)
(gnuplot . t)
; (latex . t)
(ledger . t)
; (makefile . t)
(sh . t)
(python . t)
(ruby . t)
(R . t)
(sh . t)
(sql . t) ;; <-- this is for SQL-MODE
; (sqlite . t)
))
#+end_src
* org file - ex. sample.org
** Method-1. All of sql will be setted by the header Properties
단락 헤더 아래에 모든 쿼리가 Property 에 속성에 대입되어 처리 된다.
* Postgres
:PROPERTIES:
:LANGUAGE: sql
:engine: postgresql
:exports: result
:cmdline: -p 5432 -h localhost -U kys -d emacsdb PGPASSWORD=my-pass
:END:
#+END_SRC sql
SELECT d_project, string_agg(email, ', ') AS email_list FROM phonebook where d_project like '%drone%' GROUP BY 1 ;
#+END_SRC
** Method-2. Property is will be setted by per src
개발 src 속성으로 처리 된다.
#+BEGIN_SRC sql :engine postgresql :exports results :cmdline -p 5432 -h localhost -U kys -d emacsdb PGPASSWORD=my-pass
select fullname, email from phonebook limit 3;
#+END_SRC
#+RESULTS:
| fullname | email |
|----------+-------------------|
| 임--K | bin--@--lus.co.kr |
| 방--D | yhb--@--us.co.kr |
| 엄--S | syo--@--\.com |
#+BEGIN_SRC sql :engine postgresql :exports results :cmdline -p 5432 -h otherhost.com -U kys -d emacsdb PGPASSWORD=my-pass
select fullname, email from phonebook limit 3;
#+END_SRC
#+RESULTS:
| fullname | email |
|----------+-------------------|
| 임--K | bin--@--lus.co.kr |
| 방--D | yhb--@--us.co.kr |
| 엄--S | syo--@--\.com |
* UTF-8
International Language support
** MS-Windows - UTF-8 with Msys+MinGW
- Hangul with org-mode babel
http://www.iac.es/sieinvens/siepedia/pmwiki.php?n=SIEminars.EnvironmentVariables
** ruby check
- plan text
#+begin_src ruby :exports both :results output
puts "Howdy!"
#+end_src
#+RESULTS:
: Howdy!
- hangul
#+begin_src ruby :exports: both :results output
puts "Howdy!"
puts "한글로처리해라"
#+end_src
evalute
(setenv "LANG" "ko_KR.UTF-8")
(setenv "LC_ALL" "ko_KR.UTF-8")
or
(setenv "LANG" "C.UTF-8")
(setenv "LC_ALL" "C.UTF-8")
#+BEGIN_SRC ruby :exports both :results output
puts RUBY_VERSION
puts __ENCODING__
#+END_SRC
-- shell test
(setenv "LANG" "cp949")
(setenv "LC_ALL" "cp949")
#+BEGIN_SRC ruby :exports both :results output
puts RUBY_VERSION
puts __ENCODING__
#+END_SRC
#+RESULTS:
: 1.9.3
: UTF-8
(setenv "LANG" "EUC-KR")
(setenv "LC_ALL" "EUC-KR")
#+BEGIN_SRC ruby :exports both :results output
puts RUBY_VERSION
puts __ENCODING__
#+END_SRC
#+name:
: 1.9.3
: UTF-8
- shell test
#+begin_src sh :exports both :results output
printenv |grep LANG
#+end_src
#+RESULTS:
: NLS_LANG=KOREAN_KOREA.KO16MSWIN949
: LANG=ko_KR.UTF-8
> check filename
#+begin_src sh :exports both :results output
ls ~/download/*.txt
#+end_src
#+RESULTS:
: /d/home/download/set_var.txt
: /d/home/download/test.txt
- .cshrc
#+begin_src
setenv LANG C.UTF-8
setenv LC_ALL C.UTF-8
setenv LC_CTYPE C.UTF-8
setenv LC_NUMERIC C.UTF-8
setenv LC_TIME C.UTF-8
setenv LC_COLLATE C.UTF-8
setenv LC_MONETARY C.UTF-8
setenv LC_MESSAGES C.UTF-8
#+end_src
- .emacs_bash
#+begin_src
export TERM=msys
# gettext
export OUTPUT_CHARSET=UTF-8
export TZ=KST+9
#export LANG=ko_KR.UTF-8
#export LANG=C.UTF-8
export LC_ALL='C'
export TPUT_COLORS=256
export HOSTNAME=msys-bash
#export PATH=~/.packer:$PATH:/c/Program\ Files\ \(x86\)/Git/bin
alias open="explorer"
export MSYSTEM=MSYS
export PATH=.:/usr/local/bin:/bin:/mingw/bin:$PATH
#+end_src
.bashrc
#+begin_src
# .bashrc
export SHELL='d:/Pkg/MinGW/msys/1.0/bin/bash.exe'
export LANG="C.UTF-8"
export LC_CTYPE="C.UTF-8"
export LC_NUMERIC="C.UTF-8"
export LC_TIME="C.UTF-8"
export LC_COLLATE="C.UTF-8"
export LC_MONETARY="C.UTF-8"
export LC_MESSAGES="C.UTF-8"
export LC_ALL="C.UTF-8"
#+end_src
How to use SQL Query in emacs org-mode (org-mode 에서 Postgres SQL 사용)
org-sql-blog
- How to use SQL Query in emacs org-mode (org-mode 에서 Postgres SQL 사용)
Install Postgres
- omitted
set up for SQL-mode
- not always necessary
;; (load (concat emacs-lib-path "dot/init-sql.el")) ; postgres v.1
;; ;; usage: M-x sql-connect --> "if fail" --> retry again! ;; M-x sql-postgres ;; sql-send-region : C-c C-r ;; sql-send-buffer : C-c C-b ;; ;-- 1. Open sql file ( chagne buffer sql-mode ) ;-- 2. M-x sql-connect --> emacsdb ;-- input buffer *SQL-postgres* or *SQL* ;-- C-c C-r : send region ;-- C-c C-b : send buffer ;-- output is --> *SQL* buffer ;-- DB:emacsdb / Table:headers ;select title, sender, receiver, datetime_txt, size, sent_received from headers where datetime_txt like '%12-10%'; ;select title, sender, receiver, datetime_txt, size, sent_received from headers where title like '%체크%'; ;-- DB:emacsdb / Table:phonebook ;SELECT d_project, string_agg(fullname, ', '), string_agg(email, ',') AS title_list FROM phonebook where d_project like '%cctv%' GROUP BY 1 ; ;SELECT d_project, string_agg(fullname, ', ') AS title_list FROM phonebook GROUP BY 1 ; ;SELECT d_project, string_agg(email, ', ') AS title_list FROM phonebook GROUP BY 1 ; ;SELECT d_project, string_agg(email, ', ') AS email_list FROM phonebook where d_project like '%drone%' GROUP BY 1 ; ;SELECT fullname, email FROM phonebook where d_attend='y' order by fullname; ;select column_name, data_type, character_maximum_length from INFORMATION_SCHEMA.COLUMNS where table_name = 'phonebook'; ;-- quit --> \q (setq sql-postgres-login-params '((user :default "kys") (database :default "emacsdb") (server :default "localhost") (port :default 5432))) ;; call toggle-truncate-lines in sql-interactive-mode-hook. (add-hook 'sql-interactive-mode-hook (lambda () (toggle-truncate-lines t))) (setq sql-connection-alist '((emacsdb (sql-product 'postgres) (sql-port 5432) (sql-server "localhost") (sql-user "kys") (sql-database "emacsdb") ) (kysdb2 (sql-product 'postgres) (sql-port 5432) (sql-server "localhost") (sql-user "kys") (sql-database "kysdb") ) ) ) (defun my-sql-server1 () (interactive) (my-sql-connect 'postgres 'server1)) (defun my-sql-server2 () (interactive) (my-sql-connect 'postgres 'server2)) (defun my-sql-connect (product connection) ;; remember to set the sql-product, otherwise, it will fail for the first time ;; you call the function (setq sql-product product) (sql-connect connection)) (defun my-sql-connect (product connection) ;; load the password (require my-password "my-pass") ;; update the password to the sql-connection-alist (let ((connection-info (assoc connection sql-connection-alist)) (sql-password (car (last (assoc connection my-sql-password))))) (delete sql-password connection-info) (nconc connection-info `((sql-password ,sql-password))) (setq sql-connection-alist (assq-delete-all connection sql-connection-alist)) (add-to-list 'sql-connection-alist connection-info)) ;; connect to database (setq sql-product product) (sql-connect connection))
enable sql mode with org-mode initial file
- init-org.el
(org-babel-do-load-languages 'org-babel-load-languages '( (css . t) ; (dot . t) (emacs-lisp . t) (js . t) (gnuplot . t) ; (latex . t) (ledger . t) ; (makefile . t) (sh . t) (python . t) (ruby . t) (R . t) (sh . t) (sql . t) ;; <-- this is for SQL-MODE ; (sqlite . t) ))
org file - ex. sample.org
Method-1. All of sql will be setted by the header Properties
단락 헤더 아래에 모든 쿼리가 Property 에 속성에 대입되어 처리 된다.
- Postgres
#+END_SRC sql SELECT d_project, string_agg(email, ', ') AS email_list FROM phonebook where d_project like '%drone%' GROUP BY 1 ; #+END_SRC
Method-2. Property is will be setted by per src
개발 src 속성으로 처리 된다.
fullname | |
---|---|
임–K | bin–@–lus.co.kr |
방–D | yhb–@–us.co.kr |
엄–S | syo–@–\.com |
fullname | |
---|---|
임–K | bin–@–lus.co.kr |
방–D | yhb–@–us.co.kr |
엄–S | syo–@–\.com |
UTF-8
International Language support
MS-Windows - UTF-8 with Msys+MinGW
- Hangul with org-mode babel
http://www.iac.es/sieinvens/siepedia/pmwiki.php?n=SIEminars.EnvironmentVariables
ruby check
- plan text
puts "Howdy!"
Howdy!
- hangul
puts "Howdy!" puts "한글로처리해라"
evalute (setenv "LANG" "ko_KR.UTF-8") (setenv "LC_ALL" "ko_KR.UTF-8") or (setenv "LANG" "C.UTF-8") (setenv "LC_ALL" "C.UTF-8")
puts RUBY_VERSION puts __ENCODING__
– shell test (setenv "LANG" "cp949") (setenv "LC_ALL" "cp949")
puts RUBY_VERSION puts __ENCODING__
1.9.3 UTF-8
(setenv "LANG" "EUC-KR") (setenv "LC_ALL" "EUC-KR")
puts RUBY_VERSION puts __ENCODING__
1.9.3 UTF-8
- shell test
printenv |grep LANG
NLS_LANG=KOREAN_KOREA.KO16MSWIN949 LANG=ko_KR.UTF-8
> check filename
ls ~/download/*.txt
/d/home/download/set_var.txt /d/home/download/test.txt
- .cshrc
setenv LANG C.UTF-8 setenv LC_ALL C.UTF-8 setenv LC_CTYPE C.UTF-8 setenv LC_NUMERIC C.UTF-8 setenv LC_TIME C.UTF-8 setenv LC_COLLATE C.UTF-8 setenv LC_MONETARY C.UTF-8 setenv LC_MESSAGES C.UTF-8
- .emacs_bash
export TERM=msys # gettext export OUTPUT_CHARSET=UTF-8 export TZ=KST+9 #export LANG=ko_KR.UTF-8 #export LANG=C.UTF-8 export LC_ALL='C' export TPUT_COLORS=256 export HOSTNAME=msys-bash #export PATH=~/.packer:$PATH:/c/Program\ Files\ \(x86\)/Git/bin alias open="explorer" export MSYSTEM=MSYS export PATH=.:/usr/local/bin:/bin:/mingw/bin:$PATH
.bashrc
# .bashrc export SHELL='d:/Pkg/MinGW/msys/1.0/bin/bash.exe' export LANG="C.UTF-8" export LC_CTYPE="C.UTF-8" export LC_NUMERIC="C.UTF-8" export LC_TIME="C.UTF-8" export LC_COLLATE="C.UTF-8" export LC_MONETARY="C.UTF-8" export LC_MESSAGES="C.UTF-8" export LC_ALL="C.UTF-8"
Tuesday, April 14, 2015
Disable Windows Media Player
Thursday, January 15, 2015
여적 .. 몰아서 하기 - 취미생활 끝
test
emacs
png, jpeg view in emacs-24.4
ELISP> (emacs-version) "GNU Emacs 24.4.1 (i686-pc-mingw32)\n of 2014-10-25 on LEG570"
DONE popup menu in emacs key
- State "DONE" from "TODO" [2015-01-16 금 10:08]
lacarte.el (global-set-key "\C-xrp" 'replace-rectangle) ; menu command lacarte-execute-… (global-set-key "\C-xrn" 'insert-number-rectangle) ;if not block insert descedent order
DONE image in emacs-24.4
- State "DONE" from "TODO" [2015-01-16 금 10:08]
iimage-mode: M-i (Meta+shift+i)
이미지 => 파일://위치/파일이름.확장자
(org-display-inline-images) ;iimage-mode (defun my-epresent-run () "epresent-run start with org-display-inline-images or iimage-mode" (interactive) ; (require 'epresent) (org-display-inline-images) ; or iimage-mode (epresent-run) )
DONE shell command in ruby
- State "DONE" from "TODO" [2015-01-16 금 10:09]
7z a -tzip d:\home\download\emacs_20150116f.zip d:\pkg\emacs
#+Title 간단한 설명
dir d:/home/download/
#+Title 쉘 압축하기
7z a -tzip d:\\home\\download\\emacs_20150116f.zip d:\\pkg\\emacs
echo "test" echo "only work with sh.exe"
test | |||
only | work | with | sh.exe |
DONE presentation
- State "DONE" from "TODO" [2015-01-16 금 10:10]
(load-library "d:/pkg/emacs/lib/dot/epresent") ;open org > M-x epresent-run > ;;;; t:top_level > "n", "p", "t" and quit with "q"
(defun my-epresent-run () "epresent-run start with org-display-inline-images or iimage-mode" (interactive) ; (require 'epresent) (org-display-inline-images) ; or iimage-mode (epresent-run) )
DONE org-mode sql
- State "DONE" from "TODO" [2015-01-16 금 10:13]
Meta + F11 keybindg :* Heading
SELECT d_project, string_agg(fullname, ', ') AS title_list FROM phonebook GROUP BY 1 ;
d_pa | titl |
---|---|
a | aa성 |
tesa | aa스 |
appa | aa성 |
droa | aa범 |
pcva | aa채 |
quaa | aa현 |
droa | aa성 |
ccta | aa영 |
ccta | aa종 |
cctawc | aa경 |
STARTED Project Journal.org
SELECT d_project, string_agg(fullname, ', ') AS title_list FROM phonebook GROUP BY 1 ;
CREATE TABLE countries ( code CHAR(2) NOT NULL, year INT NOT NULL, gdp_per_capita DECIMAL(10, 2) NOT NULL, govt_debt DECIMAL(10, 2) NOT NULL );
select version();
version |
---|
PostgreSQL 9.3.2, compiled by Visual C++ build 1600, 32-bit |
org export to html
- menu bar add (define-key menu-bar-mytools-menu [org-html-export-to-html] '("org2htm" . org-html-export-to-html))
- css tag add
DONE ruby install & test
- State "DONE" from "TODO" [2015-01-16 금 10:18]
- d:\Devs\row.bat
set PATH=c:\windows\system32\;c:\windows set PATH=%PATH%;d:\Devs\Ruby193\bin start "Ruby on Windows" /D d:/Devs
- download http://rubyinstaller.org/downloads Ruby 1.8.6 to 1.9.3: tdm-32-4.5.2 <- install Ruby 1.8.6 to 1.9.3: tdm-32-4.5.2 <- install
- install
> Ruby-1.9.3-p551 (32bit) ==> d:\Devs\Ruby193\ <- install Ruby home > DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe ==> D:\Devs\Ruby193\Ruby_193_DevKit<- install Development kit
- install ruby development kit
cd d:\Devs\Ruby193\Ruby_193_DevKit ruby dk.rb init
- test installation
> gem install json –platform=ruby –no-ri –no-rdoc > ruby -rubygems -e "require 'json'; puts JSON.load('1').inspect"
- check
ruby -v
D:\Devs\Ruby193\Ruby_193_DevKit>ruby -v ruby 1.9.3p551 (2014-11-13) [i386-mingw32]
- install mysql interface
mysql –user root -p mysql-connector-c-noinstall-6.0.2-win32.zip -> extract => d:\Devs\mysql-connector-c-noinstall-6.0.2
get install mysql2 –no-ri –no-rdoc – –with-mysql-dir=d:\Devs\mysql-connector-c-noinstall-6.0.2
. test
mkdir d:\Devs\test\mysql
cd d:\Devs\test\mysql
https://github.com/lakelse/row => test.rb
– test.rb
require 'mysql2' client = Mysql2::Client.new(host: 'localhost', username: 'root', password: 'mypass') sql = 'select NOW() as timestamp' result = client.query(sql) result.each do |row| puts row['timestamp'] end
- row.bat ; add path
set PATH=c:\windows\system32;c:\windows set PATH=%PATH%;D:\Devs\Ruby193\bin set PATH=%PATH%;D:\Devs\mysql-connector-c-noinstall-6.0.2-win32\lib start "Rails on Windows" /D D:\Devs\
> select emails group by d_project
SELECT d_project, string_agg(email, ', ') AS email_list FROM phonebook where d_project like '%drone%' GROUP BY 1 ;
- test connection
require 'pg' conn=PGconn.connect( :hostaddr=>"127.0.0.1", :port=>5432, :dbname=>"emacsdb", :user=>"kys", :password=>'mypass') # or for a non IP address :host => 'my.host.name.com' instead of hostaddr # run the query res = conn.exec("SELECT * FROM phonebook") # Ran only once in order to get field Name fieldArray=res.fields() fieldArray.each do |elem| print "elem="+elem+"\n" end # print data from the query res.each{ |row| puts "Code="+row["code"] +" title="+row["title"] +" did="+row["did"] +" date_prod="+row["date_prod"] +" kind="+row["kind"] +" len="+row["len"] }
org-mode languge
def hello(str): return "Hello, " + str + "!" return hello ("dude")
Hello, dude!
Footnotes:
DEFINITION NOT FOUND.
Tuesday, January 13, 2015
Sunday, December 28, 2014
how to enable UTF-8 encoding
1. how to enable UTF-8 encoding
In order to be able to use Unicode characters (in strings or comments) in your init file, visit the init file, then invoke the commandadd-file-local-variable-prop-line
to add the file local variable coding
with utf-8
as its value.M-x add-file-local-variable-prop-line RET coding RET utf-8 RET
=> ;;; -*- coding: utf-8; -*-
Wednesday, December 03, 2014
Making Gnus behave like other mail readers
- http://www.emacswiki.org/emacs/GnusTutorial
Making Gnus behave like other mail readers
FIXME: This section is very incomplete! I hope that somebody will provide us with settings that might be desirable.Don't hide messages that have been read
Gnus operates in a newsreaderly fashion and thinks that most of the time you don’t want to read messages twice. So it hides from you the messages that you have read already. It does not, however, delete these messages! They are still on disk.If you want to see old messages, use C-u <RET> to enter a group, or type C-u M-g from within the group. If you always want to see old messages for a specific group, hit G c (not g c) on it and frob the display parameter. If you want to see old messages for several groups, you can also set the parameter on a topic. If you want to do it by group name, see the variable gnus-parameters (in recent Gnusae only).
But I advise against this, because showing a lot of messages in the summary buffer is quite slow in Gnus, and you can tell Gnus to show you the interesting ones. For example, I use
(setq gnus-fetch-old-headers t)and this means that when a new followup arrives in a thread, I see the previous messages from that thread, too. Of course, from time to time, I want to look at old messages and use C-u <RET> or C-u M-g, as described above.
Friday, November 28, 2014
You can edit the registry to add the Command Prompt item to the context menu. Here are a couple of .reg files that I use.
Cmdhere.reg - for WinNT/2000/XP/Vista/7:
-- start of here
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\shell\OpenNew]
@="Command Prompt"
[HKEY_CLASSES_ROOT\Directory\shell\OpenNew\Command]
@="cmd.exe /k cd %1"
[HKEY_CLASSES_ROOT\Drive\shell\OpenNew]
@="Command Prompt"
[HKEY_CLASSES_ROOT\Drive\shell\OpenNew\Command]
@="cmd.exe /k cd %1"
-- end of here
Doshere.reg - for Win9x:-- start of here
REGEDIT4
[HKEY_CLASSES_ROOT\Directory\shell\OpenNew]
@="MS-DOS Prompt"
[HKEY_CLASSES_ROOT\Directory\shell\OpenNew\Command]
@="command.com /k cd %1"
[HKEY_CLASSES_ROOT\Drive\shell\OpenNew]
@="MS-DOS Prompt"
[HKEY_CLASSES_ROOT\Drive\shell\OpenNew\Command]
@="command.com /k cd %1"
-- end of here
Copy this into an empty text file and change the extension to .reg.
Double-clicking on this in Windows Explorer will add these key to the
registry.Sunday, October 12, 2014
Switch between two input method in windows hot key
- 101key default value registery
--
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\i8042prt\Parameters]
"LayerDriver KOR"="KBD101A.DLL"
"OverrideKeyboardIdentifier"="PCAT_101AKEY"
"OverrideKeyboardType"=dword:00000008
"OverrideKeyboardSubtype"=dword:00000003
"LayerDriver JPN"="kbd101.dll"
* change with two input method with toggle key shift+space
-> 103key default value registery
--
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\i8042prt\Parameters]
"LayerDriver KOR"="KBD101C.DLL"
"OverrideKeyboardIdentifier"="PCAT_101CKEY"
"OverrideKeyboardType"=dword:00000008
"OverrideKeyboardSubtype"=dword:00000005
"LayerDriver JPN"="kbd101.dll"
Java Variable in windows
PATH=%PATH%;JAVA_HOME\bin\
CLASSPATH=.;%JAVA_HOME%\lib\tools.jar;
Wednesday, April 16, 2014
Heartbleed bug in OpenSSL
Check if Heartbleed-Patched OpenSSL is installed
openssl version -a
|
– OpenSSL 1.0.1g is NOT vulnerable
– OpenSSL 1.0.0 branch is NOT vulnerable
– OpenSSL 0.9.8 branch is NOT vulnerable
Patching Heartbleed Vulnerability is not enough!
...if an attacker has already exploited the Heartbleed bug to steal your SSL private keys they can continue to decrypt all past and future traffic even after the vulnerability has been patched – using the existing stolen keys.
Monday, January 27, 2014
37 Things You’ll Regret When You’re Old
-
* postgres - pgmodelear ** new version > download: https://github.com/pgmodeler/pgmodeler sudo apt-get install qt-sdk sudo apt-get ins...
-
Consolas also work with VS2010 Consolas 폰트가 설치만으로 사용가능하지만 이름 선택을 "Consolas "로 하고 싶다면 아래와 같이 한다. 다운로드 링크: http://www.microsof...
-
how to connect postgres in openoffice --> https://wiki.openoffice.org/wiki/Base/connectivity/PostgreSQL Base/connectivity/PostgreS...