Tuesday, January 22, 2013
Sunday, January 20, 2013
damn Google Chrome
5년간 FreeBSD 를 얹어서
온갖 잡다한 일을 다 처리한 조용한 r32 가
뻑~!
한순간에 갔다. LCD에 희멀건 google chrome 화면만 남긴체..
백업, DNS, Mail, 프로젝트 세팅이 그대로 있건만..
왜 OS에서 어플 건드리면 싫어하는지 또 절감한다.
욕지기 확 올라오다가 김이 확 빠진다.
허탈하다. 늘 그런식이다.
부랴부랴,
a20m 으로 옮겨 급한대로 띄우니..
mysql 버전이 낮아서 어플이 걸린다..
v5.x 로 올리니... php 가 걸려서 5.x 올리니 swap 부족..
5.x 소스 패치해서 돌리니..
너무 느려... 한번 돌릴때 마다 swap 부족
다시 조용히 선반에 올리고, a20m 도 올려 놨다.
온갖 잡다한 일을 다 처리한 조용한 r32 가
뻑~!
한순간에 갔다. LCD에 희멀건 google chrome 화면만 남긴체..
백업, DNS, Mail, 프로젝트 세팅이 그대로 있건만..
왜 OS에서 어플 건드리면 싫어하는지 또 절감한다.
욕지기 확 올라오다가 김이 확 빠진다.
허탈하다. 늘 그런식이다.
부랴부랴,
a20m 으로 옮겨 급한대로 띄우니..
mysql 버전이 낮아서 어플이 걸린다..
v5.x 로 올리니... php 가 걸려서 5.x 올리니 swap 부족..
5.x 소스 패치해서 돌리니..
너무 느려... 한번 돌릴때 마다 swap 부족
다시 조용히 선반에 올리고, a20m 도 올려 놨다.
Thursday, January 17, 2013
xfce4 설치 - 사용하기
pkg_add -r xfce4 ...
Menu > Configigure > Desktop > Image Background None
show sticky windows only in activity workspace
Desktop > Change windows size
Appearance - Style and Icon to "Crux" style
Workspace - change to 4 -> 2
* Help Introduction
** move between workspace: ^+@+Arrow_Key
** xfce4-mixer: a volume changer plugin for the panel available. Its name is
**
There is an "Always on top" option available in the window titlebar
menu. Select this option if you want a window to always appear above all
other windows.
* Menu
** Change Panel Size: 20
** Session-Start
- prompt logout
- Application: uncheck if need.. pulse audio, ...
- software update and preferences--> never, nothing
.xinitrc
--
#!/bin/sh
## Ami
export XMODIFIERS="@im=Ami"
wmami &
xsetroot -solid '#056'
# /usr/local/fvwm/bin/fvwm
# xfce4-session
# exec startxfce4
exec ck-launch-session startxfce4
Menu > Configigure > Desktop > Image Background None
show sticky windows only in activity workspace
Desktop > Change windows size
Appearance - Style and Icon to "Crux" style
Workspace - change to 4 -> 2
* Help Introduction
** move between workspace: ^+@+Arrow_Key
** xfce4-mixer: a volume changer plugin for the panel available. Its name is
**
There is an "Always on top" option available in the window titlebar
menu. Select this option if you want a window to always appear above all
other windows.
* Menu
** Change Panel Size: 20
** Session-Start
- prompt logout
- Application: uncheck if need.. pulse audio, ...
- software update and preferences--> never, nothing
.xinitrc
--
#!/bin/sh
## Ami
export XMODIFIERS="@im=Ami"
wmami &
xsetroot -solid '#056'
# /usr/local/fvwm/bin/fvwm
# xfce4-session
# exec startxfce4
exec ck-launch-session startxfce4
[보안] 아.. 때리고 싶다.
메일로 ㄱㅈㄹ
"보안 영수증" 이라고 받았다.
일단, ActiveX 설치하고 인증하고 확인하란다.
이런 되먹지 않는 보안 인증이나 방식을 몇년째 하고 있다니...
정말 때려.. 아니 패주고 싶다.
newsticker
; ------ start of newsticker > newsticker-start, newsticker-show-news -------
;(setq load-path (append load-path (list "C:/Emacs/lib/newsticker")))
(autoload 'newsticker-start "newsticker" "Emacs Newsticker" t)
(autoload 'newsticker-show-news "newsticker" "Emacs Newsticker" t)
(add-hook 'newsticker-mode-hook 'imenu-add-menubar-index)
(setq newsticker-groups-filename
"~/newsticker/conf/newsticker-groups")
(setq newsticker-imagecache-dirname
"~/newsticker/images")
(setq newsticker-dir "~/newsticker/ticker")
(setq newsticker-automatically-mark-items-as-old t)
(setq newsticker-automatically-mark-visited-items-as-old t)
(setq newsticker-retrieval-interval 600)
(setq newsticker-html-renderer (quote w3m-region))
(setq newsticker-retrieval-method (quote extern))
(setq newsticker-treeview-treewindow-width 20) ; 30
(setq newsticker-treeview-listwindow-height 12) ; 30
(setq newsticker-wget-arguments (quote ("-q" "-O" "-"
"--user-agent" "testing")))
(custom-set-variables
'(newsticker-display-interval 15.3)
'(newsticker-keep-obsolete-items nil)
'(newsticker-scroll-smoothly nil)
'(newsticker-sort-method (quote sort-by-time))
'(newsticker-url-list
(quote
(
("codeproject" "http://www.codeproject.com/webservices/articlerss.aspx?cat=3" nil nil nil)
("codeplex" "http://www.codeplex.com/rss.ashx" nil nil nil)
("codeguro csharp" "http://feeds.feedburner.com/codeguru/csharp" nil nil nil)
("경향신문" "http://www.khan.co.kr/rss/rssdata/total_news.xml" nil nil nil)
("연합뉴스" "http://www.yonhapnews.co.kr/RSS/sokbo.xml" nil nil nil)
("구글" "http://news.google.com/news?pz=1&ned=kr&hl=ko&output=rss" nil nil nil)
("다음전체" "http://media.daum.net/rss/today/primary/all/rss2.xml" nil nil nil)
("오마이뉴스" "http://rss.ohmynews.com/rss/ohmynews.xml" nil nil nil)
; ("조선" "http://www.chosun.com/site/data/rss/rss.xml" nil nil nil)
("BBC News" "http://www.bbc.co.uk/syndication/feeds/news/ukfs_news/front_page/rss091.xml" nil nil nil)
("The Inquirer" "http://www.theinquirer.net/inquirer.rss" nil nil nil)
("zdnet All" "http://feeds2.feedburner.com/ZDNetBlogs" nil nil nil)
("zdnet screen" "http://i.zdnet.com/xml/zdnet.xml?tag=nl.e550" nil nil nil)
("zdnet whitepaper" "http://whitepapers.zdnet.com/?mode=rss" nil nil nil)
("zdnet review" "http://reviews-search.zdnet.com/index.php?k=1&mode=rss" nil nil nil)
("zdnet opnsrc" "http://www.zdnet.com/topics/open+source?o=1&mode=rss" nil nil nil)
("zdner-kr" "http://feeds.feedburner.com/zdnet_kr_news" nil nil nil)
("slashdot Dev" "http://developers.slashdot.org/developers.rss" nil nil nil)
; ("bbs.kldp" "http://kldp.net/export/rss_sfnews.php" nil nil nil)
; ("emacs help" "http://rss.gmane.org/gmane.emacs.help" nil nil nil)
; ("msdn Forum" "http://www.microsoft.com/feeds/msdn/en-us/rss.xml" nil nil nil)
)
)
)
'(newsticker-url-list-defaults
(quote
(
("LWN (Linux Weekly News)" "http://lwn.net/headlines/rss")
("Quote of the day" "http://www.quotationspage.com/data/qotd.rss" "07:00" 86400)
("The Register" "http://www.theregister.co.uk/tonys/slashdot.rdf")
("slashdot" "http://slashdot.org/index.rss" nil 3600)
("Wired News" "http://www.wired.com/news_drop/netcenter/netcenter.rdf")
; ("Emacs Wiki" "http://www.emacswiki.org/cgi-bin/wiki.pl?action=rss" nil 3600)
; ("database sa" "http://database.sarang.net/rss.php")
)
)
)
'(newsticker-use-full-width nil)
'(transient-mark-mode t)
)
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
;'(newsticker-feed-face ((t (:foreground "red" :slant normal :weight bold :height 1.3 :family "helvetica"))))
'(newsticker-feed-face ((t (:foreground "red" :slant normal :weight bold :height 1.2 :family "나눔고딕"))))
'(newsticker-new-item-face ((t (:foreground "blue" :weight bold))))
'(newsticker-old-item-face ((t (:weight bold))))
)
; --------------- end of newsticker ---------------
;(setq load-path (append load-path (list "C:/Emacs/lib/newsticker")))
(autoload 'newsticker-start "newsticker" "Emacs Newsticker" t)
(autoload 'newsticker-show-news "newsticker" "Emacs Newsticker" t)
(add-hook 'newsticker-mode-hook 'imenu-add-menubar-index)
(setq newsticker-groups-filename
"~/newsticker/conf/newsticker-groups")
(setq newsticker-imagecache-dirname
"~/newsticker/images")
(setq newsticker-dir "~/newsticker/ticker")
(setq newsticker-automatically-mark-items-as-old t)
(setq newsticker-automatically-mark-visited-items-as-old t)
(setq newsticker-retrieval-interval 600)
(setq newsticker-html-renderer (quote w3m-region))
(setq newsticker-retrieval-method (quote extern))
(setq newsticker-treeview-treewindow-width 20) ; 30
(setq newsticker-treeview-listwindow-height 12) ; 30
(setq newsticker-wget-arguments (quote ("-q" "-O" "-"
"--user-agent" "testing")))
(custom-set-variables
'(newsticker-display-interval 15.3)
'(newsticker-keep-obsolete-items nil)
'(newsticker-scroll-smoothly nil)
'(newsticker-sort-method (quote sort-by-time))
'(newsticker-url-list
(quote
(
("codeproject" "http://www.codeproject.com/webservices/articlerss.aspx?cat=3" nil nil nil)
("codeplex" "http://www.codeplex.com/rss.ashx" nil nil nil)
("codeguro csharp" "http://feeds.feedburner.com/codeguru/csharp" nil nil nil)
("경향신문" "http://www.khan.co.kr/rss/rssdata/total_news.xml" nil nil nil)
("연합뉴스" "http://www.yonhapnews.co.kr/RSS/sokbo.xml" nil nil nil)
("구글" "http://news.google.com/news?pz=1&ned=kr&hl=ko&output=rss" nil nil nil)
("다음전체" "http://media.daum.net/rss/today/primary/all/rss2.xml" nil nil nil)
("오마이뉴스" "http://rss.ohmynews.com/rss/ohmynews.xml" nil nil nil)
; ("조선" "http://www.chosun.com/site/data/rss/rss.xml" nil nil nil)
("BBC News" "http://www.bbc.co.uk/syndication/feeds/news/ukfs_news/front_page/rss091.xml" nil nil nil)
("The Inquirer" "http://www.theinquirer.net/inquirer.rss" nil nil nil)
("zdnet All" "http://feeds2.feedburner.com/ZDNetBlogs" nil nil nil)
("zdnet screen" "http://i.zdnet.com/xml/zdnet.xml?tag=nl.e550" nil nil nil)
("zdnet whitepaper" "http://whitepapers.zdnet.com/?mode=rss" nil nil nil)
("zdnet review" "http://reviews-search.zdnet.com/index.php?k=1&mode=rss" nil nil nil)
("zdnet opnsrc" "http://www.zdnet.com/topics/open+source?o=1&mode=rss" nil nil nil)
("zdner-kr" "http://feeds.feedburner.com/zdnet_kr_news" nil nil nil)
("slashdot Dev" "http://developers.slashdot.org/developers.rss" nil nil nil)
; ("bbs.kldp" "http://kldp.net/export/rss_sfnews.php" nil nil nil)
; ("emacs help" "http://rss.gmane.org/gmane.emacs.help" nil nil nil)
; ("msdn Forum" "http://www.microsoft.com/feeds/msdn/en-us/rss.xml" nil nil nil)
)
)
)
'(newsticker-url-list-defaults
(quote
(
("LWN (Linux Weekly News)" "http://lwn.net/headlines/rss")
("Quote of the day" "http://www.quotationspage.com/data/qotd.rss" "07:00" 86400)
("The Register" "http://www.theregister.co.uk/tonys/slashdot.rdf")
("slashdot" "http://slashdot.org/index.rss" nil 3600)
("Wired News" "http://www.wired.com/news_drop/netcenter/netcenter.rdf")
; ("Emacs Wiki" "http://www.emacswiki.org/cgi-bin/wiki.pl?action=rss" nil 3600)
; ("database sa" "http://database.sarang.net/rss.php")
)
)
)
'(newsticker-use-full-width nil)
'(transient-mark-mode t)
)
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
;'(newsticker-feed-face ((t (:foreground "red" :slant normal :weight bold :height 1.3 :family "helvetica"))))
'(newsticker-feed-face ((t (:foreground "red" :slant normal :weight bold :height 1.2 :family "나눔고딕"))))
'(newsticker-new-item-face ((t (:foreground "blue" :weight bold))))
'(newsticker-old-item-face ((t (:weight bold))))
)
; --------------- end of newsticker ---------------
XBAP 배포를 위한 Visual Studio 테스트 인증서 등록
구글검색: how to solve xbap problem cannot trust
찾은 페이지 제목: How to run WPF - XBAP as Full Trust Application
링크: http://blogs.microsoft.co.il/blogs/maxim/archive/2008/03/05/wpf-xbap-as-full-trust-application.aspx
오랜만에 Isreal 도메인에서 검색한 결과.... XBAP 배포를 해보지 않은 관계로 버벅 거렸다. 여튼...
* XBAP 배포
** IIS 에서 HTTP 헤더에 MIME를 추가
1. 시작-> 실행 -> inetmgr 로 iis manager로 이동
-> 기본 웹사이트에서 오른쪽 마우스 클릭으로 팝업창을 열어서 속성창 연다.
2. HTTP 헤더 탭 에서 -> MIME 형식 선택 -> 새형식 추가
Extension MIME Type
.manifest application/manifest
.xaml application/xaml+xml
.application application/x-ms-application
.xbap application/x-ms-xbap
.deploy application/octet-stream
.xps application/vnd.ms-xpsdocument
** Apache 사용하는 경우 httpd.conf 에 추가
아파치 설정 파일 httpd.conf에서 VirtualHost 영역에 다음을 추가
AddType application/manifest .manifest
AddType application/xaml+xml .xaml
AddType application/x-ms-application .application
AddType application/x-ms-xbap .xbap
AddType application/octet-stream .deploy
** IIS 에서 HTTP 헤더에 MIME를 추가
1. 시작-> 실행 -> inetmgr 로 iis manager로 이동
-> 기본 웹사이트에서 오른쪽 마우스 클릭으로 팝업창을 열어서 속성창 연다.
2. HTTP 헤더 탭 에서 -> MIME 형식 선택 -> 새형식 추가
Extension MIME Type
.manifest application/manifest
.xaml application/xaml+xml
.application application/x-ms-application
.xbap application/x-ms-xbap
.deploy application/octet-stream
.xps application/vnd.ms-xpsdocument
** Apache 사용하는 경우 httpd.conf 에 추가
아파치 설정 파일 httpd.conf에서 VirtualHost 영역에 다음을 추가
AddType application/manifest .manifest
AddType application/xaml+xml .xaml
AddType application/x-ms-application .application
AddType application/x-ms-xbap .xbap
AddType application/octet-stream .deploy
** 테스트 인증서 설치
Visual Studio : Project 의 속성창의
--> [Security] 탭
"Enable ClickOnce Security Settings > This is a full trust application 선택
-->[Publiish] 탭
Publish Location 에서 폴더 위치를 명시한다.
ex. http://localhost/XBAP/
(또한, 해당 폴더는 IIS에서 응용 프로그램 폴더로 지정한다)
"Publish Now" 버튼을 클릭해서 바로 Publish 하고 웹을 통해 해당 프로젝트를 실행
** 웹브라우저
화면에서 "Run" 을 시키고 에러 메시지를 launch 한다.
--> "Trust Not Granted" 라는 메시지가 나오는다. 영문메시지와 한글 메시지다.
이는 해당 Source 가 로컬에 접근하거나 local sql server에 접근할때 발생한다.
"User has refused to grant required permissions to the application."
" ...
* 트러스트를 확인하는 동안 예외가 발생했습니다. 다음 실패 메시지가 발견되었습니다.
+ 사용자가 필요한 권한을 응용 프로그램에 부여하기를 거부했습니다. ... "
+ 사용자가 필요한 권한을 응용 프로그램에 부여하기를 거부했습니다. ... "
Visual Studio - [Signing] 탭에서
"Sign the ClickOnce manifests" 항목의 [Create Test Certificate] 를 클릭한다.
만약, 프로젝트가 "Test Certificate" 을 포함하고 있지 않을 경우 Create Test Certificate 를
만들라고 지시한다. 만약 배포되어 있었는데, 임의로 삭제를 했거나, 등록하지 않았다면 다시 등록한다.
그러면, Create Test Certificate 팝업 메뉴가 뜨고 "Enter password for new file XBapBrowser...애플리케이션의 키.pfx 파일의 패스워드를 물어본다.
temporary certificate 를 만들어 난 이후 "More Details" 버튼을 클릭해서 인증서 세부화면을 보도록
한다. 인증서 세부화면에서는 [General], [Details], [Certification Path] 세개의 탭이 있는데,
이중 Details 탭 하단에 "Copy to File" 버튼을 클릭해서 인증서를 하드디스크에 저정해 둔다.
일단 저장한 다음 File Export wizard 과정을 수행한다.
Export Private key 에서 개인키를 인증서와 같이 내보낼 것이냐고 물으면 yes 로 하고 다음으로 넘어간다. "export the private key with the cetificate"
인증서는 개인 인증서 교환포멧으로 하는 것이 좋다. 만약 활성화가 되지 않으면 "Base-64... " 로 그냥 한다.
웹 브라우저에 내보낸 인증서를 등록한다.
IE 에서 옵션 > Content > Certificates 에서
[신
뢰할 수 있는 루트 인증기관] , [신뢰할 수 있는 게시자에 내보냈던 인증서를 Import [가져오기] 해서 각각 등록한다.
Import Cetification for Trusted root Certification Authories and Trusted
Publisher each tap which was create/export/saved file.
Printer Driver for Image and PDF
* PDF Printer
PDFCreator - 현재 설치해서 쓰고 있음
dopdf - 설치해서 사용하고 있지는 않음
CuteWriter - PDF Virtual Printer Driver
FreewarePrimoPDF - PDF Virtual Printer Driver
* Image Printer
ImagePrinter (64bit Driver 에서는 에러 발생) - Source 배포됨
PDFCreator - 현재 설치해서 쓰고 있음
dopdf - 설치해서 사용하고 있지는 않음
CuteWriter - PDF Virtual Printer Driver
FreewarePrimoPDF - PDF Virtual Printer Driver
* Image Printer
ImagePrinter (64bit Driver 에서는 에러 발생) - Source 배포됨
Google Storage for Developers (Labs)
* Register
....
Google Storage for Developers pricing is based on usage.
- Storage—$0.17/gigabyte/month
- Network
- Upload data to Google
- $0.10/gigabyte
- Download data from Google
- $0.15/gigabyte for Americas and EMEA
- $0.30/gigabyte for Asia-Pacific
- Upload data to Google
- Requests
- PUT, POST, LIST—$0.01 per 1,000 requests
- GET, HEAD—$0.01 per 10,000 requests
2009년 개정 교육 과정에서 고등학교 국사를 선택과목으로 전환
교과부(교육과학기술부) - 고등학교 교과과정에서 국사를 역사, 세계사로 쪼개고 동아시아사를 신설...
2008년 2010년부터 서울의 고x,서x,연x,이x,중x,한x.. 대학들이 모여 국사를 선택과목으로 지정하기로 합의.. 2010년 서x 대는 국사를 고등학교때 이수 의무화 한다고 하고지만 실상은 뒷구멍을 가장 많이 팠다고 한다.
몇달전 그말을 들었을땐, '설마...' 했다.
참 무심한 나를 탓했고 생각없는 사람들과... 그 말을 하면서도 망연자실해 하는 사람에게 할말을 잃었다.
2008년 2010년부터 서울의 고x,서x,연x,이x,중x,한x.. 대학들이 모여 국사를 선택과목으로 지정하기로 합의.. 2010년 서x 대는 국사를 고등학교때 이수 의무화 한다고 하고지만 실상은 뒷구멍을 가장 많이 팠다고 한다.
몇달전 그말을 들었을땐, '설마...' 했다.
참 무심한 나를 탓했고 생각없는 사람들과... 그 말을 하면서도 망연자실해 하는 사람에게 할말을 잃었다.
한반도 근대사에서의 전쟁
임진왜란 (壬辰倭亂,1592) ★ 분로쿠의역(文祿の役)
정유재란 (丁酉再亂,1597) ★ 게이초의역(慶長の役)
(7년전쟁, 1598년 도요토미 히데요시 사망)
정묘호란 (丁卯胡亂,1627) ★ 후금(後金)지전
병자호란 (丙子胡亂,1636) ★ 대청(大淸)의전
정유재란 (丁酉再亂,1597) ★ 게이초의역(慶長の役)
(7년전쟁, 1598년 도요토미 히데요시 사망)
정묘호란 (丁卯胡亂,1627) ★ 후금(後金)지전
병자호란 (丙子胡亂,1636) ★ 대청(大淸)의전
IBM Thinkpad A20m - Activate Sound
* IBM Thinkpad A20m - Activate Sound
** Reference site
http://www.freebsd.org/doc/handbook/sound-setup.html
http://www.freebsd.org/releases/6.1R/hardware-i386.html#SOUND
http://www.freebsd.org/cgi/man.cgi?query=snd_csa&sektion=4&manpath=FreeBSD+6.1-RELEASE
SND_CSA(4) FreeBSD Kernel Interfaces Manual SND_CSA(4)
http://www.freebsd.org/cgi/man.cgi?query=sound&sektion=4
SOUND(4) FreeBSD Kernel Interfaces Manual SOUND(4)
** startup messagge
csa0: \
mem 0xf4100000-0xf4100fff,0xf4000000-0xf40fffff irq 5 at device 5.0 on pci0
csa: card is Thinkpad 600X/A20/T20
csa0: [GIANT-LOCKED]
pcm0: on csa0
pcm0:
pcm0: [GIANT-LOCKED]
drm0: port 0x2000-0x20ff \
mem 0xf5000000-0xf5ffffff,0xf4200000-0xf4200fff irq 5 at device 0.0 on pci1
info: [drm] AGP at 0xf8000000 64MB
info: [drm] Initialized mach64 1.0.0 20020904
pcm0:virtual:0:dsp0.2: play interrupt timeout, channel dead
pcm0:virtual:0:dsp0.2: play interrupt timeout, channel dead
* /boot/device.hints
hint.pcm.0.at="isa"
hint.pcm.0.irq="5"
hint.pcm.0.drq="1"
hint.pcm.0.flags="0x0"
hint.pcm.0.vol="50"
** /boot/loader.conf
hw.cbb.start_32_io="64512"
#hint.pcm.0.at="isa"
hint.pcm.0.irq="5"
hint.pcm.0.drq="1"
hint.pcm.0.flags="0x0"
hint.pcm.0.vol="50"
** /boot/loader.conf
ltmdm_load="NO"
# I'll use with loading the kernel module snd_csa.ko kldload snd_csa.ko
snd_csa_load="YES"
#uscanner_load="YES"
#
kern.ipc.semmni=256
kern.ipc.semmns=512
kern.ipc.semmnu=256
#
# Mono project --
#kern.ipc.semmni=40
#kern.ipc.semmns=300
#
accf_http_load="YES"
# gamin
kern.maxfiles="25000"
** Kernel Configuration
add
,----
| device sound
| device snd_csa
`----
/ftp:wjsro@alex:/usr/src/sys/i386/conf/
machine i386
# cpu I486_CPU
# cpu I586_CPU
cpu I686_CPU
ident KYSXY
......
# FireWire support
#device firewire # FireWire bus code
#device sbp # SCSI over FireWire (Requires scbus and da)
#device fwe # Ethernet over FireWire (non-standard!)
** Ok!!!
Time to chek "Volume Button" on think function KEY!!!!!! <======
** Reference site
http://www.freebsd.org/doc/handbook/sound-setup.html
http://www.freebsd.org/releases/6.1R/hardware-i386.html#SOUND
http://www.freebsd.org/cgi/man.cgi?query=snd_csa&sektion=4&manpath=FreeBSD+6.1-RELEASE
SND_CSA(4) FreeBSD Kernel Interfaces Manual SND_CSA(4)
http://www.freebsd.org/cgi/man.cgi?query=sound&sektion=4
SOUND(4) FreeBSD Kernel Interfaces Manual SOUND(4)
** startup messagge
csa0: \
mem 0xf4100000-0xf4100fff,0xf4000000-0xf40fffff irq 5 at device 5.0 on pci0
csa: card is Thinkpad 600X/A20/T20
csa0: [GIANT-LOCKED]
pcm0: on csa0
pcm0:
pcm0: [GIANT-LOCKED]
drm0: port 0x2000-0x20ff \
mem 0xf5000000-0xf5ffffff,0xf4200000-0xf4200fff irq 5 at device 0.0 on pci1
info: [drm] AGP at 0xf8000000 64MB
info: [drm] Initialized mach64 1.0.0 20020904
pcm0:virtual:0:dsp0.2: play interrupt timeout, channel dead
pcm0:virtual:0:dsp0.2: play interrupt timeout, channel dead
* /boot/device.hints
hint.pcm.0.at="isa"
hint.pcm.0.irq="5"
hint.pcm.0.drq="1"
hint.pcm.0.flags="0x0"
hint.pcm.0.vol="50"
** /boot/loader.conf
hw.cbb.start_32_io="64512"
#hint.pcm.0.at="isa"
hint.pcm.0.irq="5"
hint.pcm.0.drq="1"
hint.pcm.0.flags="0x0"
hint.pcm.0.vol="50"
** /boot/loader.conf
ltmdm_load="NO"
# I'll use with loading the kernel module snd_csa.ko kldload snd_csa.ko
snd_csa_load="YES"
#uscanner_load="YES"
#
kern.ipc.semmni=256
kern.ipc.semmns=512
kern.ipc.semmnu=256
#
# Mono project --
#kern.ipc.semmni=40
#kern.ipc.semmns=300
#
accf_http_load="YES"
# gamin
kern.maxfiles="25000"
** Kernel Configuration
add
,----
| device sound
| device snd_csa
`----
/ftp:wjsro@alex:/usr/src/sys/i386/conf/
machine i386
# cpu I486_CPU
# cpu I586_CPU
cpu I686_CPU
ident KYSXY
......
# FireWire support
#device firewire # FireWire bus code
#device sbp # SCSI over FireWire (Requires scbus and da)
#device fwe # Ethernet over FireWire (non-standard!)
** Ok!!!
Time to chek "Volume Button" on think function KEY!!!!!! <======
FreeBSD .cshrc, others
** FreeBSD Disable Bell / Beep ( Hardware beep )
sysctl hw.syscons.bell=0
or
echo "hw.syscons.bell=0" >> /etc/sysctl.conf
** Emacs
alex# emacs-23.2 >./configure
--without-sound --without-jpeg --without-tif- --without-gif --without-png --without-rsvg --without-toolkit-scroll-bars --with-x-toolkit=no --without-xim
** login .cshrc
# $FreeBSD: src/etc/root/dot.cshrc,v 1.25.2.2 2001/03/05 13:36:53 asmodai Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
#
# no screensaver
# xset s noblank
# 5 minute for blank
# xset s 300 2
alias h history 25
alias j jobs -l
alias la ls -la
alias ls ls -alC
alias lf ls -FA
# alias ll ls -alh
alias LS LS
alias ll ls -alAGFh
alias xl xloadimage -quiet -slideshow
alias cdcontrol cdcontrol -f /dev/acd0
alias eject cdcontrol -f /dev/acd0 eject
alias fm fetchmail
alias rdate_go rdate -s time.bora.net
# Terminal
setenv TERM xterm-color
# if ("$term" == dumb) set TERM=xterm
# if ("$term" == dumb) set TERM=xterm-color
if ($?EMACS) then
if ($EMACS == "t") then
unset edit
stty -icrnl -onlcr -echo susp ^Z
endif
endif
# test
if ("$term" == emacs) set term=xterm-color
setenv ORACLE_BASE /home/oracle
setenv ORACLE_HOME /home/oracle/product/9.2.0.4
setenv ORACLE_SID ORACLE
setenv ORACLE_TERM xterm
setenv NLS_LANG AMERICAN_AMERICA.KO16KSC5601
setenv LANG C
# A righteous umask
umask 22
set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin /usr/X11R6/bin /usr/local/kde4/bin $HOME/bin /usr/local/mozilla /var/qmail/bin /usr/local/pgsql/bin /usr/local/mysql/bin /usr/local/samba/bin)
if ($?prompt) then
# An interactive shell -- set some stuff up
set prompt = "`hostname -s`# "
set filec
set history = 1000
set savehist = 1000
# set mail = (/var/mail/$USER)
set mail = (/usr/home/$USER/mbox)
if ( $?tcsh ) then
bindkey "^W" backward-delete-word
bindkey -k up history-search-backward
bindkey -k down history-search-forward
endif
endif
# Here goes youngsu defined
set prompt='[%n@%m %.]'
#set prompt="%m[%{^[[34m%}%~%{^[[00m%}]%% "
# set prompt="%B%m%b:%~%# " # from cjh@kr.freebsd.org
# set prompt="%B%n@%m%b %.#"
# set prompt="[%n@%m%b %.]"
# set prompt="%B${USER}@%m#%b "
set dspmbyte=euc
set autolist
set autoexpand
set autocorrect
set correct=cmd
alias sshwjsro /usr/local/bin/ssh2 -p 689 -l wjsro 218.145.160.204
alias sshalpha /usr/local/bin/ssh2 -p 689 -l wjsro localhost
alias sshqesdes "xhost +qesdes; /usr/bin/ssh -l wjsro qesdes"
alias sshalex "xhost +alex; /usr/bin/ssh -l wjsro alex"
# /usr/bin/ssh -p 689 -l wjsro 221.145.7.188
#
alias sshmybsd /usr/bin/ssh -p 689 -l wjsro mybsd.info
#alias scp /usr/local/bin/scp -P 689 -d -r
# alias scp /usr/bin/scp -P 689 -d -r
#alias scp /usr/local/bin/scp2 -P 689 -d -r
#alias ssh /usr/local/bin/ssh2 -P 689
# alias cu cu -l /dev/cuaa0
alias cu cu -l /dev/cuad0
alias ulocate /etc/periodic/weekly/310.locate
alias a2ps h2ps -H
#alias w3m w3m -B
#alias du du -h --max-depth=0
alias du du -h -d 1
alias df df -h
# alias hanterm hanterm -fg white -bg black ; stty -istrip
alias hanterm hanterm -fg white -bg black
# alias rxvt rxvt -bg black -fg white
# alias mozilla /usr/X11R6/bin/mozilla
# alias rdesktop rdesktop -n test -u administrator -l 192.168.0.2
# alias netstat netstat -na -p tcp
# alias wget2 wget --wait 1 --no-parent --timestamping --continue --tries=10 --recursive --level=2 --mirror --convert-links -N -X cgi-bin -o ~/tmp/bar/mirror_wget.txt
alias wget1 wget --wait 1 --no-parent --timestamping --continue --tries=10 --recursive --level=1 --mirror --convert-links -N -X cgi-bin
alias wget2 wget --wait 1 --no-parent --timestamping --continue --tries=10 --recursive --level=2 --mirror --convert-links -N -X cgi-bin
alias wget3 wget --wait 1 --no-parent --timestamping --continue --tries=10 --recursive --level=3 --mirror --convert-links -N -X cgi-bin
alias wget4 wget --wait 1 --no-parent --timestamping --continue --tries=10 --recursive --level=4 --mirror --convert-links -N -X cgi-bin
# alias emacs env LANG=C emacs
# alias emacs LANG=C LC_ALL=C emacs
alias emacs env LANG=C LC_ALL=C emacs
alias emacsq emacs -batch -f batch-byte-compile
alias emacsn -no-site-file
alias emacsno -no-site-file -nw
alias browseemail w3m ~/tmp/email.html
# alias lynx lynx -dump -nolist -image_links=off -width=180
# setenv LANG ko_KR.EUC
setenv LANG ko_KR.UTF-8
# setenv LC_CTYPE ko_KR.EUC
setenv LC_CTYPE ko_KR.UTF-8
# stty cs8 -istrip parenb
# setenv LANG ko_KR.eucKR
#setenv LC_NUMERIC ko_KR.eucKR
#setenv LC_MONETARY ko_KR.eucKR
#setenv LC_MESSAGES ko_KR.eucKR
#setenv LC_ALL ko_KR.eucKR
setenv LC_ALL ko_KR.UTF-8
#setenv LC_CTYPE ko_KR.eucKR
setenv XMODIFIERS @im=Ami
#setenv XMODIFIERS @im=hanIM
setenv EDITOR vi
setenv PAGER more
setenv BLOCKSIZE K
setenv mailbox ~/mbox
setenv CGI /usr/local/apache/cgi-bin/
# set prompt='[%n@%m %.]'
# set prompt = '%n@%m:%~%# '
# set prompt = "%m:%B%/%b%# "
# Here goes youngsu
setenv NNTPSERVER news.shinbiro.com
# setenv NNTPSERVER "binnews.hananet.net"
#setenv IRCSERVER "kornet.hanirc.org"
#setenv IRCSERVER "holywar.hanirc.org"
#setenv IRCSERVER "holynet.hanirc.org"
#setenv IRCSERVER "linuxstart.hanirc.org"
#setenv IRCSERVER "zzzbb.hanirc.org"
#setenv IRCSERVER "wdb.hanirc.org"
#setenv IRCSERVER "pwn.hanirc.org"
setenv IRCNICK "asukasummer"
setenv IRCNAME "asuka"
setenv IRCREALNAME "kys"
setenv PACKAGEROOT "ftp://ftp.kr.FreeBSD.org"
# CVS
#setenv CVS_RSH ssh
#setenv CVSROOT :ext:rtxctx@alpha:/home/cvs
#setenv CVSROOT :pserver:anoncvs@alpha:/home/cvs
#setenv CVSROOT :pserver:rtxctx@alpha:/home/cvs
#setenv CVSROOT :pserver:anonymous@cvs.namazu.org:/storage/cvsroot
# set beep off
# xset b off
# xset b 10 48 100
#if ($?MANPATH) then
# setenv MANPATH "$MANPATH":/usr/X11R6/man:/usr/compat/linux/usr/man:/usr/local/man:/usr/local/openssl/man:/usr/share/man/cat1:/usr/share/perl/man:/usr/src/lib/libc/db/man:/usr/src/lib/msun/man:/var/qmail/man
# else
# setenv MANPATH /usr/X11R6/man:/usr/compat/linux/usr/man:/usr/local/man:/usr/local/openssl/man:/usr/share/man/cat1:/usr/share/perl/man:/usr/src/lib/libc/db/man:/usr/src/lib/msun/man:/var/qmail/man
endif
## postgresql .cshrc env block start
setenv POSTGRES_HOME /usr/local/pgsql
setenv PGLIB $POSTGRES_HOME/lib
setenv PGDATA $POSTGRES_HOME/data
#if ($?MANPATH) then
# setenv MANPATH "$MANPATH":$POSTGRES_HOME/man
#else
# setenv MANPATH $POSTGRES_HOME/man
#endif
if ($?LD_LIBRARY_PATH) then
setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":"$PGLIB"
else
setenv LD_LIBRARY_PATH $PGLIB
endif
## postgresql block end
# for file in *.jpg; do tar cvf "$file".tar "$file"; done
#alias xloadimage xloadimage -fit -fullscreen -slideshow
# alias img-convert convert for file in *.jpg; do convert -size 640x480 "$file" RR_"$file"; done
# -- Here goes for qt
setenv QTDIR /usr/local/qt
setenv PATH $QTDIR/bin:$PATH
# setenv MANPATH $QTDIR/man:$MANPATH
setenv LD_LIBRAR_PATH $QTDIR/lib:$LD_LIBRARY_PATH
# -- Here goes tmake for qt
setenv TMAKEPATH /usr/local/tmake/lib/linux-g++
setenv TMAKEDIR /usr/local/tmake
setenv PATH $TMAKEDIR/bin:$PATH
# setenv EDITOR emacsclient
# setenv EDITOR /usr/local/emacs/etc/emacsclient
# EDITOR=emacsclient ; export EDITOR
setenv ICONPATH /home/root/.wm-icons/old_pixmaps
setenv wjh /mnt/nfs/usr/home/wjsro
# echo "ssh-agent tcsh then ssh-add"
stty cs8 -istrip parenb
#
# mixer pcm 80 vol 80 cd 80
#setenv JAVA_HOME /usr/local/jdk1.6.0
#setenv JRE_HOME /usr/local/jdk1.6.0/jre
# PHP
setenv PHP_HOME /usr/local/php
# exporting
alias alexenv setenv DISPLAY alex:0.0
alias qesdesenv setenv DISPLAY qesdes:0.0
# alias emacs env LANG=C LC_ALL=C emacs
sysctl hw.syscons.bell=0
or
echo "hw.syscons.bell=0" >> /etc/sysctl.conf
** Emacs
alex# emacs-23.2 >./configure
--without-sound --without-jpeg --without-tif- --without-gif --without-png --without-rsvg --without-toolkit-scroll-bars --with-x-toolkit=no --without-xim
** login .cshrc
# $FreeBSD: src/etc/root/dot.cshrc,v 1.25.2.2 2001/03/05 13:36:53 asmodai Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
#
# no screensaver
# xset s noblank
# 5 minute for blank
# xset s 300 2
alias h history 25
alias j jobs -l
alias la ls -la
alias ls ls -alC
alias lf ls -FA
# alias ll ls -alh
alias LS LS
alias ll ls -alAGFh
alias xl xloadimage -quiet -slideshow
alias cdcontrol cdcontrol -f /dev/acd0
alias eject cdcontrol -f /dev/acd0 eject
alias fm fetchmail
alias rdate_go rdate -s time.bora.net
# Terminal
setenv TERM xterm-color
# if ("$term" == dumb) set TERM=xterm
# if ("$term" == dumb) set TERM=xterm-color
if ($?EMACS) then
if ($EMACS == "t") then
unset edit
stty -icrnl -onlcr -echo susp ^Z
endif
endif
# test
if ("$term" == emacs) set term=xterm-color
setenv ORACLE_BASE /home/oracle
setenv ORACLE_HOME /home/oracle/product/9.2.0.4
setenv ORACLE_SID ORACLE
setenv ORACLE_TERM xterm
setenv NLS_LANG AMERICAN_AMERICA.KO16KSC5601
setenv LANG C
# A righteous umask
umask 22
set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin /usr/X11R6/bin /usr/local/kde4/bin $HOME/bin /usr/local/mozilla /var/qmail/bin /usr/local/pgsql/bin /usr/local/mysql/bin /usr/local/samba/bin)
if ($?prompt) then
# An interactive shell -- set some stuff up
set prompt = "`hostname -s`# "
set filec
set history = 1000
set savehist = 1000
# set mail = (/var/mail/$USER)
set mail = (/usr/home/$USER/mbox)
if ( $?tcsh ) then
bindkey "^W" backward-delete-word
bindkey -k up history-search-backward
bindkey -k down history-search-forward
endif
endif
# Here goes youngsu defined
set prompt='[%n@%m %.]'
#set prompt="%m[%{^[[34m%}%~%{^[[00m%}]%% "
# set prompt="%B%m%b:%~%# " # from cjh@kr.freebsd.org
# set prompt="%B%n@%m%b %.#"
# set prompt="[%n@%m%b %.]"
# set prompt="%B${USER}@%m#%b "
set dspmbyte=euc
set autolist
set autoexpand
set autocorrect
set correct=cmd
alias sshwjsro /usr/local/bin/ssh2 -p 689 -l wjsro 218.145.160.204
alias sshalpha /usr/local/bin/ssh2 -p 689 -l wjsro localhost
alias sshqesdes "xhost +qesdes; /usr/bin/ssh -l wjsro qesdes"
alias sshalex "xhost +alex; /usr/bin/ssh -l wjsro alex"
# /usr/bin/ssh -p 689 -l wjsro 221.145.7.188
#
alias sshmybsd /usr/bin/ssh -p 689 -l wjsro mybsd.info
#alias scp /usr/local/bin/scp -P 689 -d -r
# alias scp /usr/bin/scp -P 689 -d -r
#alias scp /usr/local/bin/scp2 -P 689 -d -r
#alias ssh /usr/local/bin/ssh2 -P 689
# alias cu cu -l /dev/cuaa0
alias cu cu -l /dev/cuad0
alias ulocate /etc/periodic/weekly/310.locate
alias a2ps h2ps -H
#alias w3m w3m -B
#alias du du -h --max-depth=0
alias du du -h -d 1
alias df df -h
# alias hanterm hanterm -fg white -bg black ; stty -istrip
alias hanterm hanterm -fg white -bg black
# alias rxvt rxvt -bg black -fg white
# alias mozilla /usr/X11R6/bin/mozilla
# alias rdesktop rdesktop -n test -u administrator -l 192.168.0.2
# alias netstat netstat -na -p tcp
# alias wget2 wget --wait 1 --no-parent --timestamping --continue --tries=10 --recursive --level=2 --mirror --convert-links -N -X cgi-bin -o ~/tmp/bar/mirror_wget.txt
alias wget1 wget --wait 1 --no-parent --timestamping --continue --tries=10 --recursive --level=1 --mirror --convert-links -N -X cgi-bin
alias wget2 wget --wait 1 --no-parent --timestamping --continue --tries=10 --recursive --level=2 --mirror --convert-links -N -X cgi-bin
alias wget3 wget --wait 1 --no-parent --timestamping --continue --tries=10 --recursive --level=3 --mirror --convert-links -N -X cgi-bin
alias wget4 wget --wait 1 --no-parent --timestamping --continue --tries=10 --recursive --level=4 --mirror --convert-links -N -X cgi-bin
# alias emacs env LANG=C emacs
# alias emacs LANG=C LC_ALL=C emacs
alias emacs env LANG=C LC_ALL=C emacs
alias emacsq emacs -batch -f batch-byte-compile
alias emacsn -no-site-file
alias emacsno -no-site-file -nw
alias browseemail w3m ~/tmp/email.html
# alias lynx lynx -dump -nolist -image_links=off -width=180
# setenv LANG ko_KR.EUC
setenv LANG ko_KR.UTF-8
# setenv LC_CTYPE ko_KR.EUC
setenv LC_CTYPE ko_KR.UTF-8
# stty cs8 -istrip parenb
# setenv LANG ko_KR.eucKR
#setenv LC_NUMERIC ko_KR.eucKR
#setenv LC_MONETARY ko_KR.eucKR
#setenv LC_MESSAGES ko_KR.eucKR
#setenv LC_ALL ko_KR.eucKR
setenv LC_ALL ko_KR.UTF-8
#setenv LC_CTYPE ko_KR.eucKR
setenv XMODIFIERS @im=Ami
#setenv XMODIFIERS @im=hanIM
setenv EDITOR vi
setenv PAGER more
setenv BLOCKSIZE K
setenv mailbox ~/mbox
setenv CGI /usr/local/apache/cgi-bin/
# set prompt='[%n@%m %.]'
# set prompt = '%n@%m:%~%# '
# set prompt = "%m:%B%/%b%# "
# Here goes youngsu
setenv NNTPSERVER news.shinbiro.com
# setenv NNTPSERVER "binnews.hananet.net"
#setenv IRCSERVER "kornet.hanirc.org"
#setenv IRCSERVER "holywar.hanirc.org"
#setenv IRCSERVER "holynet.hanirc.org"
#setenv IRCSERVER "linuxstart.hanirc.org"
#setenv IRCSERVER "zzzbb.hanirc.org"
#setenv IRCSERVER "wdb.hanirc.org"
#setenv IRCSERVER "pwn.hanirc.org"
setenv IRCNICK "asukasummer"
setenv IRCNAME "asuka"
setenv IRCREALNAME "kys"
setenv PACKAGEROOT "ftp://ftp.kr.FreeBSD.org"
# CVS
#setenv CVS_RSH ssh
#setenv CVSROOT :ext:rtxctx@alpha:/home/cvs
#setenv CVSROOT :pserver:anoncvs@alpha:/home/cvs
#setenv CVSROOT :pserver:rtxctx@alpha:/home/cvs
#setenv CVSROOT :pserver:anonymous@cvs.namazu.org:/storage/cvsroot
# set beep off
# xset b off
# xset b 10 48 100
#if ($?MANPATH) then
# setenv MANPATH "$MANPATH":/usr/X11R6/man:/usr/compat/linux/usr/man:/usr/local/man:/usr/local/openssl/man:/usr/share/man/cat1:/usr/share/perl/man:/usr/src/lib/libc/db/man:/usr/src/lib/msun/man:/var/qmail/man
# else
# setenv MANPATH /usr/X11R6/man:/usr/compat/linux/usr/man:/usr/local/man:/usr/local/openssl/man:/usr/share/man/cat1:/usr/share/perl/man:/usr/src/lib/libc/db/man:/usr/src/lib/msun/man:/var/qmail/man
endif
## postgresql .cshrc env block start
setenv POSTGRES_HOME /usr/local/pgsql
setenv PGLIB $POSTGRES_HOME/lib
setenv PGDATA $POSTGRES_HOME/data
#if ($?MANPATH) then
# setenv MANPATH "$MANPATH":$POSTGRES_HOME/man
#else
# setenv MANPATH $POSTGRES_HOME/man
#endif
if ($?LD_LIBRARY_PATH) then
setenv LD_LIBRARY_PATH "$LD_LIBRARY_PATH":"$PGLIB"
else
setenv LD_LIBRARY_PATH $PGLIB
endif
## postgresql block end
# for file in *.jpg; do tar cvf "$file".tar "$file"; done
#alias xloadimage xloadimage -fit -fullscreen -slideshow
# alias img-convert convert for file in *.jpg; do convert -size 640x480 "$file" RR_"$file"; done
# -- Here goes for qt
setenv QTDIR /usr/local/qt
setenv PATH $QTDIR/bin:$PATH
# setenv MANPATH $QTDIR/man:$MANPATH
setenv LD_LIBRAR_PATH $QTDIR/lib:$LD_LIBRARY_PATH
# -- Here goes tmake for qt
setenv TMAKEPATH /usr/local/tmake/lib/linux-g++
setenv TMAKEDIR /usr/local/tmake
setenv PATH $TMAKEDIR/bin:$PATH
# setenv EDITOR emacsclient
# setenv EDITOR /usr/local/emacs/etc/emacsclient
# EDITOR=emacsclient ; export EDITOR
setenv ICONPATH /home/root/.wm-icons/old_pixmaps
setenv wjh /mnt/nfs/usr/home/wjsro
# echo "ssh-agent tcsh then ssh-add"
stty cs8 -istrip parenb
#
# mixer pcm 80 vol 80 cd 80
#setenv JAVA_HOME /usr/local/jdk1.6.0
#setenv JRE_HOME /usr/local/jdk1.6.0/jre
# PHP
setenv PHP_HOME /usr/local/php
# exporting
alias alexenv setenv DISPLAY alex:0.0
alias qesdesenv setenv DISPLAY qesdes:0.0
# alias emacs env LANG=C LC_ALL=C emacs
mono winform compile
http://www.mono-project.com/WinForms_Getting_Started_Guide
To build Windows.Forms from source, you need:
* The latest Mono (http://www.go-mono.com/download.html) package.
* The latest libgdiplus (http://www.go-mono.com/download.html)
library. Not needed on Windows XP since it includes gdiplus.dll
and for Windows 2000 it can be downloaded from MSDN.
[Paul Johnson provides a nice writup on how to build from source here
(http://www.all-the-johnsons.co.uk/mono/mono-compiling.shtml)]
Winforms Example
As there are plenty of great articles and books on Windows Forms
programming, the topic will not be covered in-depth. The following
is just a simple Winforms program to test with.
using System;
using System.Drawing;
using System.Windows.Forms;
public class HelloWorld : Form
{
static public void Main ()
{
Application.Run (new HelloWorld ());
}
public HelloWorld ()gpp
{
Button b = new Button ();
b.Text = "Click Me!";
b.Click += new EventHandler (Button_Click);
Controls.Add (b);
}
private void Button_Click (object sender, EventArgs e)
{
MessageBox.Show ("Button Clicked!");
}
}
If you save this code as hello.cs, you would compile it like this:
mcs -pkg:dotnet hello.cs
Using mcs to compile produces a .Net 1.1 assembly. To create a .Net 2.0 assembly, use gmcs:
gmcs -pkg:dotnet hello.cs
Either compiler will create "hello.exe", which you can run using:
mono hello.exe
To build Windows.Forms from source, you need:
* The latest Mono (http://www.go-mono.com/download.html) package.
* The latest libgdiplus (http://www.go-mono.com/download.html)
library. Not needed on Windows XP since it includes gdiplus.dll
and for Windows 2000 it can be downloaded from MSDN.
[Paul Johnson provides a nice writup on how to build from source here
(http://www.all-the-johnsons.co.uk/mono/mono-compiling.shtml)]
Winforms Example
As there are plenty of great articles and books on Windows Forms
programming, the topic will not be covered in-depth. The following
is just a simple Winforms program to test with.
using System;
using System.Drawing;
using System.Windows.Forms;
public class HelloWorld : Form
{
static public void Main ()
{
Application.Run (new HelloWorld ());
}
public HelloWorld ()gpp
{
Button b = new Button ();
b.Text = "Click Me!";
b.Click += new EventHandler (Button_Click);
Controls.Add (b);
}
private void Button_Click (object sender, EventArgs e)
{
MessageBox.Show ("Button Clicked!");
}
}
If you save this code as hello.cs, you would compile it like this:
mcs -pkg:dotnet hello.cs
Using mcs to compile produces a .Net 1.1 assembly. To create a .Net 2.0 assembly, use gmcs:
gmcs -pkg:dotnet hello.cs
Either compiler will create "hello.exe", which you can run using:
mono hello.exe
G20 과 노인요양시설 화재 사건
아침 운동하면서 늘 TV와 컴퓨터 보는데...
RSS에서 "노인요양시설에 화재, 십수명 사망에 부상이 또 십수명"이란다.
해서 TV를 보는데, 자막으로 노인요양시설 화재... 이렇게 나오고,
계속 앵무새는 심수강산 고목 쪼는 딱다구리 소리만 한다.
코엑스에 뭘 둘러치고, 주위 카메라에 같은 말만 되뇌이
영양가 없는 저런 얘기 보다는 노인요양시설 얘기가 궁금했다.
얼마전 칠레 광부들의 매몰 생환 소식 얘기가 문득 머리를 스쳐간다.
아, "우리"는 감동이 없다. "우리"라는 말이 낯설게 느껴진다.
비온 후가을 아침의 단풍은 분명 예전과 같은데...
인간들은 예전과 한참이나 다르구나
RSS에서 "노인요양시설에 화재, 십수명 사망에 부상이 또 십수명"이란다.
해서 TV를 보는데, 자막으로 노인요양시설 화재... 이렇게 나오고,
계속 앵무새는 심수강산 고목 쪼는 딱다구리 소리만 한다.
코엑스에 뭘 둘러치고, 주위 카메라에 같은 말만 되뇌이
영양가 없는 저런 얘기 보다는 노인요양시설 얘기가 궁금했다.
얼마전 칠레 광부들의 매몰 생환 소식 얘기가 문득 머리를 스쳐간다.
아, "우리"는 감동이 없다. "우리"라는 말이 낯설게 느껴진다.
비온 후가을 아침의 단풍은 분명 예전과 같은데...
인간들은 예전과 한참이나 다르구나
[책] Unto This Last, and Other Writings
"Unto This Last, and Other Writings",John Ruskin,1986
나중에 온 이사람에게도/생명의 경제학, John Ruskin, 곽계일역, 아인북스, 2010.4
link: http://www.kyobobook.co.kr/product/detailViewEng.laf?ejkGb=BNT&mallGb=ENG&barcode=6614209259691&orderClick=LAI
나중에 온 이사람에게도/생명의 경제학, John Ruskin, 곽계일역, 아인북스, 2010.4
link: http://www.kyobobook.co.kr/product/detailViewEng.laf?ejkGb=BNT&mallGb=ENG&barcode=6614209259691&orderClick=LAI
[책] 열하일기
열하일기는 1780년 청나라 사신으로 다녀온 연암 박지원이 정조4년께 정리한 일기이다. 정확한 년도는 몇년 차이는 있겠다.
근래에도 공무원들이 해외에 갔다오면 쓰는 공식보고서 같은 것이 있는데... 그런 영양가 없는 것은 아니고 개인의 보고 듣고 정리한 일기다.
연암이 국경을 막 넘어 섰을 때였다.
옛말에 "옹기장이를 만나면 산이 벌거숭이가 된다" 말이 무슨 말인가 싶었다. 나무 불소시개가 된다는 건 알겠는데, 그 "왜"라는 꼬리가 가물 거렸다.
문득 열하일기를 읽다 옹기장이 얘기가 나와 '아~, 그렇구나'
실은 옹기장이가 아니라 벽돌 얘기다. 벽돌을 구워 삶아 건축물에 쓰임이 다양하고 우수함을 보여준다.
연암은 다음과 같이 쓰고 있다.
벽돌이 일반화 되기 위해서는 가마를 제대로 만들어야 한다.
조선의 가마는 낯고 길죽하고 효율이 좋지 못해 화력좋은 소나무가 필요하지만 북방의 가마는 원추형으로 설계되 여러 불쏘시개로 좋은 결과를 본다. 해서 많은 나무를 필요치 않으며 벽돌을 쉽게 만들고 이를 다양하게 쓸 수 있다.
방
구들만 해도 그렇다. 조선의 방구들은 진흘과 돌로 땅에 골을 내고 흙으로 돌의 일정치 않은 곳을 메운다. 때문에 불필요하게 구들의 목이 커지고 아궁이와 굴뚝에 이르는 길이 불규칙해진다. 해서, 굴뚝에 조그만 균열만 가도 연기가 역류하고, 시간이 흐르면 벽과 구들의 틂이 벌어져 연기가 매케하게 새어 나오게 된며, 아궁이 쪽은 자리가 탈 정도이고 방의 곳곳이 온도가 천차만별이다.
북방의 벽돌 구들은 좁은 벽돌 구들로 일정하게 만든다. 그리고, 아궁이에 항아리 만큼 땅을 파 공기를 데우고 여기서 공기를 온도차를 발생시켜 단숨에 구들을 통과 시킨다. 그리고 방고래에 가면 겨우 손이 드나들만 곳이 나오는데 여기에 재가 쌓이게 된다. 3년에 한번 방고래르 뜯고 재를 꺼내면 구들의 재를 꺼낸다.
근래에도 공무원들이 해외에 갔다오면 쓰는 공식보고서 같은 것이 있는데... 그런 영양가 없는 것은 아니고 개인의 보고 듣고 정리한 일기다.
연암이 국경을 막 넘어 섰을 때였다.
옛말에 "옹기장이를 만나면 산이 벌거숭이가 된다" 말이 무슨 말인가 싶었다. 나무 불소시개가 된다는 건 알겠는데, 그 "왜"라는 꼬리가 가물 거렸다.
문득 열하일기를 읽다 옹기장이 얘기가 나와 '아~, 그렇구나'
실은 옹기장이가 아니라 벽돌 얘기다. 벽돌을 구워 삶아 건축물에 쓰임이 다양하고 우수함을 보여준다.
연암은 다음과 같이 쓰고 있다.
벽돌이 일반화 되기 위해서는 가마를 제대로 만들어야 한다.
조선의 가마는 낯고 길죽하고 효율이 좋지 못해 화력좋은 소나무가 필요하지만 북방의 가마는 원추형으로 설계되 여러 불쏘시개로 좋은 결과를 본다. 해서 많은 나무를 필요치 않으며 벽돌을 쉽게 만들고 이를 다양하게 쓸 수 있다.
방
구들만 해도 그렇다. 조선의 방구들은 진흘과 돌로 땅에 골을 내고 흙으로 돌의 일정치 않은 곳을 메운다. 때문에 불필요하게 구들의 목이 커지고 아궁이와 굴뚝에 이르는 길이 불규칙해진다. 해서, 굴뚝에 조그만 균열만 가도 연기가 역류하고, 시간이 흐르면 벽과 구들의 틂이 벌어져 연기가 매케하게 새어 나오게 된며, 아궁이 쪽은 자리가 탈 정도이고 방의 곳곳이 온도가 천차만별이다.
북방의 벽돌 구들은 좁은 벽돌 구들로 일정하게 만든다. 그리고, 아궁이에 항아리 만큼 땅을 파 공기를 데우고 여기서 공기를 온도차를 발생시켜 단숨에 구들을 통과 시킨다. 그리고 방고래에 가면 겨우 손이 드나들만 곳이 나오는데 여기에 재가 쌓이게 된다. 3년에 한번 방고래르 뜯고 재를 꺼내면 구들의 재를 꺼낸다.
우리 동네 구제역 방역 풍경
얼마전 시골 집에 갔다.
뉴스로 듣고 '설마...' 했는데, 마을 입구에 들어서자마자 놀랬다.
마을입구 옆에 벙커를 쳐 놓고 앞에는 문을 달아놨다.
문 옆에는 약통과 약장대가 있고 추위로
약물이 얼지 않도록 불을 피워 놓았다.
출입이 띄엄한 곳이라 약은 반 수동으로 작동한다.
그나마 전기가 들어와서 차가 오면 모터를 키고 약을 뿌리는데,
혹시 약장대의 물이 얼어 있기라도 한다면 녹이는 게 쉬운 것만은 아닌 듯 싶다.
아침 7시부터 밤 9시까지 5~6명이 모여 5일 교대로 지킨다.
우회 도로는 아얘 대형 차로 막아 놨다.
세상이 어수선하다는 말이 생각난다.
동내를 나서 마을 입구에 방역복을 입은
칠순을 훌쩍 넘기신 아버지 사진을 차마 찍지 못하겠더라..
' 아, 내가 새상을 잘못 살고있는 건 아닌가...'
누가 정치를 잘못한 건 알겠는데,
뜨아한건 아무도 누구 잘못인지 왜 라는 말조차 잊고 있다.
뉴스로 듣고 '설마...' 했는데, 마을 입구에 들어서자마자 놀랬다.
마을입구 옆에 벙커를 쳐 놓고 앞에는 문을 달아놨다.
문 옆에는 약통과 약장대가 있고 추위로
약물이 얼지 않도록 불을 피워 놓았다.
출입이 띄엄한 곳이라 약은 반 수동으로 작동한다.
그나마 전기가 들어와서 차가 오면 모터를 키고 약을 뿌리는데,
혹시 약장대의 물이 얼어 있기라도 한다면 녹이는 게 쉬운 것만은 아닌 듯 싶다.
아침 7시부터 밤 9시까지 5~6명이 모여 5일 교대로 지킨다.
우회 도로는 아얘 대형 차로 막아 놨다.
세상이 어수선하다는 말이 생각난다.
동내를 나서 마을 입구에 방역복을 입은
칠순을 훌쩍 넘기신 아버지 사진을 차마 찍지 못하겠더라..
' 아, 내가 새상을 잘못 살고있는 건 아닌가...'
누가 정치를 잘못한 건 알겠는데,
뜨아한건 아무도 누구 잘못인지 왜 라는 말조차 잊고 있다.
Using the Emacs Keyboard Layout
Link From: http://visualstudiogallery.msdn.microsoft.com/09dc58c4-6f47-413a-9176-742be7463f92/
** General Shortcut Keys
Edit.EmacsExtendedCommand is ALT + X
Places the cursor in the Find/Command box on the Standard toolbar.
Edit.EmacsFindReplace is SHIFT + ALT + 5
Displays the replace options in the Quick tab of the Find and Replace dialog box.
Edit.EmacsPasteRotate is ALT + Y
Pastes an item from the Clipboard Ring tab of the Toolbox to the file
and automatically selects the pasted item. Press ALT + Y again to
paste the next item to the Clipboard Ring.
Edit.EmacsQuit is CTRL + G
Stops the current command or code and deactivates the region.
Edit.EmacsUniversalArgument > CTRL + U
Prompts for an integer, returns negative if the first character
entered is a hyphen. When a non-digit character is entered, the prefix
for the command is set to the entered integer. If no integer is
entered, the default value is 4. Repeatedly invoking the command
multiplies the current value entered by the previous accumulated
value.
** Text Manipulation
- Edit.EmacsBreakLine: ENTER
Inserts a new line.
- Edit.EmacsBreakLineIndent: CTRL + J
Inserts a new line and indents it.
- Edit.EmacsCharTranspose: CTRL + T
Transposes the characters on either side of the cursor. For example,
Ed|n Sub would be changed to read End| Sub.
- Edit.EmacsDeleteSelection: CTRL + DELETE
Deletes the current selection.
- Edit.EmacsDeleteToEOL: CTRL + K
Deletes from the cursor to the end of the current line.
- Edit.EmacsLineOpen: CTRL + O
Inserts a new line after the cursor. The cursor stays in the current line.
- Edit.EmacsQuotedInsert: CTRL + Q
Reads another key and inserts the key into the buffer. Keys must be
8-bit ASCII characters. Use this command to insert control characters,
meta characters, or graphics characters into the buffer.
- Edit.EmacsWordCapitalize: ALT + C
Capitalizes the character to the right of the cursor or the first
character of the next word if the cursor is between words.
- Edit.EmacsWordDeleteToEnd: ALT + D
Deletes the characters to the right of the cursor to the end of the word.
- Edit.EmacsWordDeleteToStart
ALT + BACKSPACE
—or—
ALT + DELETE
- Deletes the characters from the left of the cursor to the start of the word.: ALT + L
Changes the selected text to lowercase characters.
- Edit.EmacsWordTranspose: ALT + T
Transposes the words on either side of the cursor. For example, |End
Sub would be changed to read Sub End|.
- Edit.EmacsWordUppercase: ALT + U
Changes the selected text to uppercase characters.
Text Navigation
Command
Keys
Description
Edit.EmacsCharLeft
CTRL + B
Moves the cursor one character to the left.
Edit.EmacsCharRight
CTRL + F
Moves the cursor one character to the right.
Edit.EmacsDocumentEnd
END
—or—
SHIFT + ALT + . (period)
—or—
SHIFT + END
—or—
CTRL + X, ]
Moves the cursor to the bottom of the current document.
Edit.EmacsDocumentStart
HOME
—or—
SHIFT + ALT + , (comma)
—or—
SHIFT + HOME
—or—
CTRL + X, [
Moves the cursor to the top of the current document.
Edit.EmacsGoToLine
ALT + G
Displays the Go To Line dialog box, which allows you to navigate to a specific line of code in the current document.
Edit.EmacsLineDown
CTRL + N
Moves the cursor down one line.
Edit.EmacsLineEnd
CTRL + E
Moves the cursor to the end of the current line. If you use word wrap, the cursor moves to the physical, not the displayed, end of the current line.
Edit.EmacsLineStart
CTRL + A
Moves the cursor to the beginning of the current line. If you use word wrap, the cursor moves to the physical, not the displayed, beginning of the current line.
Edit.EmacsLineUp
CTRL + P
Moves the cursor up one line.
Edit.EmacsPopMark
CTRL + X, CTRL + SPACEBAR
—or—
CTRL + X, CTRL + SHIFT + 2
Moves the cursor to the current mark and then removes the mark for the location stack.
Edit.EmacsScrollLineCenter
CTRL + L
Scrolls the document so that the current line is now in the center of the viewable area in the editor.
Edit.EmacsScrollLineTop
SHIFT + ALT + 1
Scrolls the document so that the current line appears at the top of the viewable area in the editor.
Edit.EmacsScrollPageDown
CTRL + V
Scrolls down within the document.
Edit.EmacsScrollPageUp
ALT + V
Scrolls up within the document.
Edit.EmacsSetMark
CTRL + SHIFT + 2
—or—
CTRL + SPACEBAR
Adds a mark to the location stack for the current cursor.
Edit.EmacsSwapPointAndMark
CTRL + X, CTRL + X
Moves the cursor to the current mark in the location stack and moves the current mark to the location where the cursor mark was when the command was invoked.
Edit.EmacsWordNext
CTRL + RIGHT ARROW
—or—
ALT + F
—or—
ALT + RIGHT ARROW
Moves the cursor to the first character in the next word.
Edit.EmacsWordPrevious
CTRL + LEFT ARROW
—or—
ALT + B
—or—
ALT + LEFT ARROW
Moves the cursor to the first character in the previous word
** General Shortcut Keys
Edit.EmacsExtendedCommand is ALT + X
Places the cursor in the Find/Command box on the Standard toolbar.
Edit.EmacsFindReplace is SHIFT + ALT + 5
Displays the replace options in the Quick tab of the Find and Replace dialog box.
Edit.EmacsPasteRotate is ALT + Y
Pastes an item from the Clipboard Ring tab of the Toolbox to the file
and automatically selects the pasted item. Press ALT + Y again to
paste the next item to the Clipboard Ring.
Edit.EmacsQuit is CTRL + G
Stops the current command or code and deactivates the region.
Edit.EmacsUniversalArgument > CTRL + U
Prompts for an integer, returns negative if the first character
entered is a hyphen. When a non-digit character is entered, the prefix
for the command is set to the entered integer. If no integer is
entered, the default value is 4. Repeatedly invoking the command
multiplies the current value entered by the previous accumulated
value.
** Text Manipulation
- Edit.EmacsBreakLine: ENTER
Inserts a new line.
- Edit.EmacsBreakLineIndent: CTRL + J
Inserts a new line and indents it.
- Edit.EmacsCharTranspose: CTRL + T
Transposes the characters on either side of the cursor. For example,
Ed|n Sub would be changed to read End| Sub.
- Edit.EmacsDeleteSelection: CTRL + DELETE
Deletes the current selection.
- Edit.EmacsDeleteToEOL: CTRL + K
Deletes from the cursor to the end of the current line.
- Edit.EmacsLineOpen: CTRL + O
Inserts a new line after the cursor. The cursor stays in the current line.
- Edit.EmacsQuotedInsert: CTRL + Q
Reads another key and inserts the key into the buffer. Keys must be
8-bit ASCII characters. Use this command to insert control characters,
meta characters, or graphics characters into the buffer.
- Edit.EmacsWordCapitalize: ALT + C
Capitalizes the character to the right of the cursor or the first
character of the next word if the cursor is between words.
- Edit.EmacsWordDeleteToEnd: ALT + D
Deletes the characters to the right of the cursor to the end of the word.
- Edit.EmacsWordDeleteToStart
ALT + BACKSPACE
—or—
ALT + DELETE
- Deletes the characters from the left of the cursor to the start of the word.: ALT + L
Changes the selected text to lowercase characters.
- Edit.EmacsWordTranspose: ALT + T
Transposes the words on either side of the cursor. For example, |End
Sub would be changed to read Sub End|.
- Edit.EmacsWordUppercase: ALT + U
Changes the selected text to uppercase characters.
Text Navigation
Command
Keys
Description
Edit.EmacsCharLeft
CTRL + B
Moves the cursor one character to the left.
Edit.EmacsCharRight
CTRL + F
Moves the cursor one character to the right.
Edit.EmacsDocumentEnd
END
—or—
SHIFT + ALT + . (period)
—or—
SHIFT + END
—or—
CTRL + X, ]
Moves the cursor to the bottom of the current document.
Edit.EmacsDocumentStart
HOME
—or—
SHIFT + ALT + , (comma)
—or—
SHIFT + HOME
—or—
CTRL + X, [
Moves the cursor to the top of the current document.
Edit.EmacsGoToLine
ALT + G
Displays the Go To Line dialog box, which allows you to navigate to a specific line of code in the current document.
Edit.EmacsLineDown
CTRL + N
Moves the cursor down one line.
Edit.EmacsLineEnd
CTRL + E
Moves the cursor to the end of the current line. If you use word wrap, the cursor moves to the physical, not the displayed, end of the current line.
Edit.EmacsLineStart
CTRL + A
Moves the cursor to the beginning of the current line. If you use word wrap, the cursor moves to the physical, not the displayed, beginning of the current line.
Edit.EmacsLineUp
CTRL + P
Moves the cursor up one line.
Edit.EmacsPopMark
CTRL + X, CTRL + SPACEBAR
—or—
CTRL + X, CTRL + SHIFT + 2
Moves the cursor to the current mark and then removes the mark for the location stack.
Edit.EmacsScrollLineCenter
CTRL + L
Scrolls the document so that the current line is now in the center of the viewable area in the editor.
Edit.EmacsScrollLineTop
SHIFT + ALT + 1
Scrolls the document so that the current line appears at the top of the viewable area in the editor.
Edit.EmacsScrollPageDown
CTRL + V
Scrolls down within the document.
Edit.EmacsScrollPageUp
ALT + V
Scrolls up within the document.
Edit.EmacsSetMark
CTRL + SHIFT + 2
—or—
CTRL + SPACEBAR
Adds a mark to the location stack for the current cursor.
Edit.EmacsSwapPointAndMark
CTRL + X, CTRL + X
Moves the cursor to the current mark in the location stack and moves the current mark to the location where the cursor mark was when the command was invoked.
Edit.EmacsWordNext
CTRL + RIGHT ARROW
—or—
ALT + F
—or—
ALT + RIGHT ARROW
Moves the cursor to the first character in the next word.
Edit.EmacsWordPrevious
CTRL + LEFT ARROW
—or—
ALT + B
—or—
ALT + LEFT ARROW
Moves the cursor to the first character in the previous word
비쥬얼 스튜디오 에서 이맥스 키 사용하기 / Using Emacs Keyboard Layout for Visual Studio
10년전 Emacs 를 첨 사용할 때 들었던 생각이 있다.
"왜 이리 두번, 세번 자꾸 눌러야 돼"
vi 에 익숙 해져서.. 정확히는 적응이 된 사람이 Emacs를
또 쓴다는 것은 번거로운 에디터를 또하나 더 사용하는
꼴이였다.
몇년이 지나니 vi 는 터미널모드에서 Emacs 는 유닉스/리눅스,
Xwindow 의 기본 에디터로 쓰는 곳이 나뉘어졌다.
그러다, 2,3년 후엔 터미널에서도 Emacs 와 vim 을 같이
쓰게 됐다.
2005년 중반쯤인가 Visual Studio 를 사용하기 시작했는데,
한동안 키보드에서 갈팡질팡했다.
그러나 Visual Studio 에 Emacs 키 바인딩이 있는 걸 알게 됐다.
헐~... 진작 사용할 것을..
위치는 단지 Key Mapping 을 Emacs 로 바꿔주기만 하면 된다!!!
것도 모르고 인터넷에서 잠깐 찾다. 다시 쓰다를 반복했었다.
Visual Studio 2008 은 아래 링크를 참조한다.
링크: http://msdn.microsoft.com/en-us/library/ms165528(VS.90).aspx
Tools > Options >
Environment > Keyboard >
Apply Following Aditional Key Mapping...
참고로, Visual Studio 2010은 같은 곳에 있는데..
Bug Report 가 있어서 보이지 않을 수도 있다.
패치된 매핑 파일 하나를 아래 링크에서 다운로드 받아 설치하면 된다.
[Emacs emulation]
http://visualstudiogallery.msdn.microsoft.com/09dc58c4-6f47-413a-9176-742be7463f92/file/32713/1/EmacsEmulations.vsix
http://visualstudiogallery.msdn.microsoft.com/09dc58c4-6f47-413a-9176-742be7463f92/
"왜 이리 두번, 세번 자꾸 눌러야 돼"
vi 에 익숙 해져서.. 정확히는 적응이 된 사람이 Emacs를
또 쓴다는 것은 번거로운 에디터를 또하나 더 사용하는
꼴이였다.
몇년이 지나니 vi 는 터미널모드에서 Emacs 는 유닉스/리눅스,
Xwindow 의 기본 에디터로 쓰는 곳이 나뉘어졌다.
그러다, 2,3년 후엔 터미널에서도 Emacs 와 vim 을 같이
쓰게 됐다.
2005년 중반쯤인가 Visual Studio 를 사용하기 시작했는데,
한동안 키보드에서 갈팡질팡했다.
그러나 Visual Studio 에 Emacs 키 바인딩이 있는 걸 알게 됐다.
헐~... 진작 사용할 것을..
위치는 단지 Key Mapping 을 Emacs 로 바꿔주기만 하면 된다!!!
것도 모르고 인터넷에서 잠깐 찾다. 다시 쓰다를 반복했었다.
Visual Studio 2008 은 아래 링크를 참조한다.
링크: http://msdn.microsoft.com/en-us/library/ms165528(VS.90).aspx
Tools > Options >
Environment > Keyboard >
Apply Following Aditional Key Mapping...
참고로, Visual Studio 2010은 같은 곳에 있는데..
Bug Report 가 있어서 보이지 않을 수도 있다.
패치된 매핑 파일 하나를 아래 링크에서 다운로드 받아 설치하면 된다.
[Emacs emulation]
http://visualstudiogallery.msdn.microsoft.com/09dc58c4-6f47-413a-9176-742be7463f92/file/32713/1/EmacsEmulations.vsix
http://visualstudiogallery.msdn.microsoft.com/09dc58c4-6f47-413a-9176-742be7463f92/
Visual Studio - Print Shortcut binding => MSDN How to: List Current Keyboard Shortcuts
http://msdn.microsoft.com/en-us/library/ms247076.aspx
To list current keyboard shortcut mappings
To list current keyboard shortcut mappings
- On the Tools menu, point to Macros, and then click Macros IDE.
- In Project Explorer, double-click MyMacros.
- Right-click Module1 and then click Rename.
- Type KeyboardShortcuts as the new name for the module.
- Double-click KeyboardShortcuts to open the file in the editor.
- Paste the following code in the file after Public Module KeyboardShortcuts:
Sub GetAllCommands() Dim cmd As Command Dim ow As OutputWindow = DTE.Windows.Item(Constants.vsWindowKindOutput).Object Dim owp As OutputWindowPane Dim exists As Boolean Dim i As Integer Dim sArray() As String sArray = New String() {} i = 1 exists = False For Each owp In ow.OutputWindowPanes If owp.Name = "Macro Output" Then exists = True Exit For End If i = i + 1 Next If exists Then owp = ow.OutputWindowPanes.Item(i) Else owp = ow.OutputWindowPanes.Add("Macro Output") End If owp.Clear() ' Output 1 line per command For Each cmd In DTE.Commands Dim binding As Object Dim shortcuts As String shortcuts = "" For Each binding In cmd.Bindings Dim b As String b = binding If Not shortcuts = "" Then shortcuts += "--OR-- " End If shortcuts = shortcuts + b + " " Next shortcuts = shortcuts.Trim() If Not cmd.Name.Trim().Equals("") And Not shortcuts.Equals("") Then sArray.Resize(sArray, sArray.Length + 1) sArray(sArray.Length - 1) = cmd.Name + vbTab + shortcuts End If Next Array.Sort(sArray) owp.OutputString(String.Join(vbCrLf, sArray)) End Sub
- On the File menu, click Save MyMacros.
- Switch back to Visual Studio.
- On the Tools menu, point to Macros and then click Macro Explorer.
- Expand MyMacros and then expand KeyboardShortcuts.
- Right-click GetAllCommands and then click Run.
The macro generates a list of all possible commands in the IDE and any keyboard shortcut mappings these commands have in the current keyboard mapping scheme. - On the View menu, click Output.
Commands and their shortcut key combinations appear in the Output window. You can copy this information and paste it into another application, such as Microsoft Office Excel, for additional formatting and printing options.
침묵의 댓가
여름 휴가 기간이라 계곡 어디든 개미굴마냥 사람들이 북적였고, 그 옛날 티비속에서나 봤던 바캉스 분위기들이다. 그리고 충주호를 지난날 댐건설로 수몰된 자들의 기리는 탑이 청승맞게 서 있다.
고향 봉화와 영주엔 댐.. 소수력 발전한다고 또 수몰 된다고 한다. 그리고 거리는 조금 떨어졌지만 1박2일에 나왔던 강이 굽이쳐 흐르는 곳은 파헤쳐 진다고 한다.
솔직히 강을 파고, 막아서 별반 이득 될건 없다고 나빠지는 것만 쭉 있다.
파먹을 거 없다고 집 버리고 간 사람들이 남겨 놓은 곳... 그런 곳에 누구 좋고 편리하고 잘된다고 하는 짓들이 아니라 나쁜 목적이 있음에 틀림 없다.
조금의 불편을 감수하면 더 많은 이득이 있는데, 왜들 그럴까...
뻔한 답이지만 얘기하는 사람이 없다.
"한다고 하니, 놔두는 수밖에.."
그말이 전부다.
때문에 환갑, 진갑 넘은 노인네들이 5일에 14시간씩 추위에 떨어야 현실의 고통과 연결짓지 못한다. 당연한 삶의 하나로 받아들여지고 있다. 힘들고 어려웠던 시절을 살아온 이들의 삶이다.
살아오면서 아버지와 정치적 얘기를 해본적이 없었지만, 댐 얘기 나와서 나도 모르게 얘기가 나왔다.
"잘못된 댐을 왜 자꾸 만드는지 모르겠어요.
이번에 안동댐도 트고...
동내 옆 소수력 발전한다는 그 댐도 허물었으면 좋겠어요"
적잖게 놀라는 눈치였지만 내색도 않고 가타부타 말도 없다. 황급히
"좋아진거 보다는 나빠진것 밖에 없으니 뭐... " 하고 얼버무렸다.
어릴적... 동내사람들이 강에서 잡은 고기를 나눠 주던 시절이 생각난다. 그때는 넓디넓은 강을 따라 사람들이 놀러 다녔고, 지금의 동내 사람들보다 2~3배는 많았었다. 4계절 어느때고 사람들이 가는 곳이 였다.
지금은 여름엔 지정된 곳만 갈 수 있다. 왠지 그런 여름 모습을 보면 아직도 좋은 곳이건만 똥뚜깐 파링가 웽웽거리는 모습이 떠오른다.
분명 내가 잘못 살아온 듯 싶다.
나 편한데로 살면 된다고 생각했는데... 벌써 너무 늦어버린 것 같은 후회가 든다.
Wow!!! Inhabitant of Seoul
Total: 10,039,000 Person that mean inhabit 16,586 Person in 1 ㎢ area
2010년 서울시 인구는 약 1천 3만 9천 명이고 1㎢당 16,586명이 살고 있음
출처: http://www.index.go.kr
http://www.index.go.kr/egams/stts/jsp/potal/stts/PO_STTS_IdxMain.jsp?idx_cd=1007
구제역 - 소 닭 보듯 하다
십년쯤 전이다. 봉화 산골 소귀에도 꼬리표가 달렸다.
'세상이 변하나..' 했다.
작년말을 지나면서 그막그막했던 구제역이 작은 섬나라를 쓸어버렸다.
역시 세상은 그대로 인가..
옛날부터 농가에 묶인 몇마리 소는 노동력이고 식구였다.
소가 몇마리가 더 되면 마음이 바빠지고 이웃 같아진다.
소가 십수마리가 되면 목축업자가 되는데, 방목지가 없는 소는 땅위의 양식어장 물고기 같은 모습이 된다.
소가 십수마리를 훌쩍 넘어서 부터는 공장이 된다. 해서 업자화된다.
수십년 한두마리의 소를 키워온 사람은 그것이 전부인 보수가 되고, 십수마리를 넘어서는 사람은 뿌띠브루주아가 되기위해 바늘귀를 통과하는 힘겨운 삶을 살아야 하는 사람들이다. 이를 지난 사람은 비로소 그 땅을 뒤쳐나와 업자가 된다.
... 이런 얘기는 이젠 지겹다..
소 귀에 붙인 생산자, 유통 태그를 정말 이폼인가 저폼인가
(Not a form but a gesture!)
구제역이 창궐할때 "이젠 할것 다했다"고 하던 것이 지나고 나서는 "메뉴얼이 없었다" 고 한다.
소에 붙인 태그는 오로지 고기 먹는 관리만 있었지,
병이나 품종 관리는 없었다는 것은 거짓일 것이다.
결국 관리를 잘못 했다는 말인데, 농가.. 아니 업자의 해외 이력관리라고 한다면
이 관리라는 것이 누구가 잘못한 것인지 명확해 진다.
문제가 계속 커지고 있었는데도 바로 잡기는 커녕 이를 이용하는 자가 있다고 한다면 정말 큰 문제가 아닌가
이 섬 나라는 아직도 이런 사람들이 득세하고 있다.
'세상이 변하나..' 했다.
작년말을 지나면서 그막그막했던 구제역이 작은 섬나라를 쓸어버렸다.
역시 세상은 그대로 인가..
옛날부터 농가에 묶인 몇마리 소는 노동력이고 식구였다.
소가 몇마리가 더 되면 마음이 바빠지고 이웃 같아진다.
소가 십수마리가 되면 목축업자가 되는데, 방목지가 없는 소는 땅위의 양식어장 물고기 같은 모습이 된다.
소가 십수마리를 훌쩍 넘어서 부터는 공장이 된다. 해서 업자화된다.
수십년 한두마리의 소를 키워온 사람은 그것이 전부인 보수가 되고, 십수마리를 넘어서는 사람은 뿌띠브루주아가 되기위해 바늘귀를 통과하는 힘겨운 삶을 살아야 하는 사람들이다. 이를 지난 사람은 비로소 그 땅을 뒤쳐나와 업자가 된다.
... 이런 얘기는 이젠 지겹다..
소 귀에 붙인 생산자, 유통 태그를 정말 이폼인가 저폼인가
(Not a form but a gesture!)
구제역이 창궐할때 "이젠 할것 다했다"고 하던 것이 지나고 나서는 "메뉴얼이 없었다" 고 한다.
소에 붙인 태그는 오로지 고기 먹는 관리만 있었지,
병이나 품종 관리는 없었다는 것은 거짓일 것이다.
결국 관리를 잘못 했다는 말인데, 농가.. 아니 업자의 해외 이력관리라고 한다면
이 관리라는 것이 누구가 잘못한 것인지 명확해 진다.
문제가 계속 커지고 있었는데도 바로 잡기는 커녕 이를 이용하는 자가 있다고 한다면 정말 큰 문제가 아닌가
이 섬 나라는 아직도 이런 사람들이 득세하고 있다.
네가 하는 것이 죄!
부산지역 저축은행 영업정지와 불안감이 커지고 있다.
...
해당 은행 앞은 돈 찾으려 줄선 사람들이 장사진이다.
...
은행 관계자 김모씨, 은행 앞에서 확성기 들고 왈,
"여러-분~~ 계속 돈 찾아 가시면 망한다니까요"
"문 닫고 망하게 할꺼라니까요!"
줄선 이가 한말 한다.
"바보아냐... 그러니깐 빨리 찾을려고 줄 섰지."
...
해당 은행 앞은 돈 찾으려 줄선 사람들이 장사진이다.
...
은행 관계자 김모씨, 은행 앞에서 확성기 들고 왈,
"여러-분~~ 계속 돈 찾아 가시면 망한다니까요"
"문 닫고 망하게 할꺼라니까요!"
줄선 이가 한말 한다.
"바보아냐... 그러니깐 빨리 찾을려고 줄 섰지."
레노보의 트랙포인트가 있는 Ultranav usb 키보드 사용
레노보의 노트북 키보드는 독특하게 트랙포인트가 키보드 중간에 있다.
첨엔 생소하고 한동안 불편하다.
요즘, Visual Studio 와 Emacs 를 오가다 정신 사나워 질렀다.
(이게 핑계인지는 한달이면 답이 나올 것이다)
사실 Apple 의 트랙패드(Trackpad)가 책상 구석에 세워 있지만,
여테 써본건 몇번 안된다. 데스크탑에 맞는 64bit 컴퓨터 드라이버가
없는 것도 있고 마음같이 손에 익지 않아서도 있다.
사실 multi touch 를 개발하면서 샀는데... 생각만큼 프로젝트 여건에
안맞다. 그 보다는 코딩의 손에 더 신경써야 할 판국이라 대신 트랙볼이
중간에 있는 thinkpad 키보드를 구원투수로 쓰고 있다.
여튼...
키보드와 마우스를 각각 나눠들고 작업하는 사나운 꼴과
덕분에 책상위가 한결 깔끔해 졌다.
Lenovo 의 키보드/트랙패드 일체형으로 노트북과 장착 이외의 모델로 나온 것이
USB (55Y9025) 와 Bluetooth 모델(31P9516) 이 있는데, 가격 차이가 많이 난다.
블루투스 모델은 국외 모델이고 국내에는 재고가
있는 USB 모델을 구입했다. 그것도 용산 센터에 직접가서..
첨엔 생소하고 한동안 불편하다.
요즘, Visual Studio 와 Emacs 를 오가다 정신 사나워 질렀다.
(이게 핑계인지는 한달이면 답이 나올 것이다)
사실 Apple 의 트랙패드(Trackpad)가 책상 구석에 세워 있지만,
여테 써본건 몇번 안된다. 데스크탑에 맞는 64bit 컴퓨터 드라이버가
없는 것도 있고 마음같이 손에 익지 않아서도 있다.
사실 multi touch 를 개발하면서 샀는데... 생각만큼 프로젝트 여건에
안맞다. 그 보다는 코딩의 손에 더 신경써야 할 판국이라 대신 트랙볼이
중간에 있는 thinkpad 키보드를 구원투수로 쓰고 있다.
여튼...
키보드와 마우스를 각각 나눠들고 작업하는 사나운 꼴과
덕분에 책상위가 한결 깔끔해 졌다.
Lenovo 의 키보드/트랙패드 일체형으로 노트북과 장착 이외의 모델로 나온 것이
USB (55Y9025) 와 Bluetooth 모델(31P9516) 이 있는데, 가격 차이가 많이 난다.
블루투스 모델은 국외 모델이고 국내에는 재고가
있는 USB 모델을 구입했다. 그것도 용산 센터에 직접가서..
수돗물 불소 섞기
불소가 물에 일정량 들어가면 보약이라하는 자가 있는 반면
근거가 없는 소리이기 신체 이상을 유발할 수 있다고 하는 자도 있다.
뭐라해도 좋다.
하지만 수돗물에 불소 넣는다는 생각은 잘못됐다.
불소가 충치를 예방하면 불소를 사 먹으면 된다.
위험하고 유통에 애로가 있다면 처방을 해 주면 된다.
약국, 보건소, 반상회, 슈퍼, 민방위대.... 유통 경로.. 아주 많다.
나눠주고 복용자들 건강도 쭉 파악하고 얼마나 좋은가!!!
상수시설에 불소 뿌리고 관리하는 비용보다 싸고 쉽고 일자리도 많아진다.
다만 기존 사업의 부가사업이 아니라 그것이 문제일 뿐이다.
당장 충치가 걱정인 이들에겐 치약을 나눠줘라.
아무리 좋다고 해도 싫다면 어쩔 수 없는 것이 세상사인데...참말 한심타
삼국유사에 비류가 인천지역에 자리를 잡아 나라를 도모했다고 한다..
그러다 땅이 질척하고 소금끼가 있어 여의치 않아 온조이 정착한
지금의 한강 유역으로 세력이 합쳐졌다한다.
불소하고는 별 상관없는 얘기인데, 인천지역 상수도에 불소를 섞는다니
생각이 났다.
상식이지만 말 만들어 가다 보면 상식이 어리해 진다.
사회비용만 늘어나는 곳...
근거가 없는 소리이기 신체 이상을 유발할 수 있다고 하는 자도 있다.
뭐라해도 좋다.
하지만 수돗물에 불소 넣는다는 생각은 잘못됐다.
불소가 충치를 예방하면 불소를 사 먹으면 된다.
위험하고 유통에 애로가 있다면 처방을 해 주면 된다.
약국, 보건소, 반상회, 슈퍼, 민방위대.... 유통 경로.. 아주 많다.
나눠주고 복용자들 건강도 쭉 파악하고 얼마나 좋은가!!!
상수시설에 불소 뿌리고 관리하는 비용보다 싸고 쉽고 일자리도 많아진다.
다만 기존 사업의 부가사업이 아니라 그것이 문제일 뿐이다.
당장 충치가 걱정인 이들에겐 치약을 나눠줘라.
아무리 좋다고 해도 싫다면 어쩔 수 없는 것이 세상사인데...참말 한심타
삼국유사에 비류가 인천지역에 자리를 잡아 나라를 도모했다고 한다..
그러다 땅이 질척하고 소금끼가 있어 여의치 않아 온조이 정착한
지금의 한강 유역으로 세력이 합쳐졌다한다.
불소하고는 별 상관없는 얘기인데, 인천지역 상수도에 불소를 섞는다니
생각이 났다.
상식이지만 말 만들어 가다 보면 상식이 어리해 진다.
사회비용만 늘어나는 곳...
eglish word
asylum [silm] (정신 병자•고아•노인 등의) 보호소, 수용소, 양호 시설.
delineation [dilniin] 외형[윤곽]을 그리기; 스케치, 소묘(素描); 묘사.
tidbit [tdbt] 맛있는 음식의 한 입[조각].
provoke [prvuk] …을 화나게 하다, 약올리다.
deduct [didkt] …을 빼다, 공제하다[from].
relinquish [rilkwi] [소유물 따위]를 포기[양도]하다[to ]; [계획•희망 따위]를 버리다, 단념하다; [지위•직 따위]를 사퇴하다, 양도하다.
preemptively [primptivli] 선매하여 ; 예방적으로 ; 우선적으로.
elide [ilid] (어미의) [모음•음절]의 발음을 생략하다(예 …을 묵살하다; …을 무시하다, 생략하다.
crappy [krpi] <속어> 더러운, 불결한; 불쾌[지독]한.
convoluted [knvltid / kn-] 회선형의, 둘둘 말린[감긴]; 포선형의.
convolute [knvlt / kn-] …을 감아 넣다, 둘둘 말다.
myriad [mrid] 무수; 매우 많은 사물[사람].
crux [krks] 가장 중요한 점, 핵심, 급소.
with much ado 야단 법석을 떨며; 애써서.
once for ado 딱 한 번만.
much ado about nothing 공연한 법석.
dead for ado 죽어 버려서.
Much Ado About Nothing 거짓 소동.
ado [d] 법석, 소동(fuss); 수고, 노고, 곤란.
per se [p() si,-s] 스스로, 그 자체는; 본질적으로.
cucumber [kjkmb] 오이(의 열매).
qualm [kwm,kwm] (…에 대한/…의 점에서의) 거리낌, 양심의 가책[about/in]. (…에 대한) (갑작스러운) 불안감, 염려, 걱정[about]..
fuzzy matching <컴퓨터> 퍼지 매칭(2가지 것을 비교할 때 완전히 동일한가가 아니라 비슷한가의 여부를 판단하는 방법).
fuzzy-headed [-hdid] 머리가 멍한; 경박한, 생각이 모자라는.
fuzzy [fzi] 보풀[솜털]같은; 보풀이 인.
mouthful [mufl] 한 입 가득, 한 입(의 분량).
phew [fju] 체!, 참!, 저런!(whew)(불쾌•초조•놀람 따위를 나타낸다).
mind-set [st] <구어> 마음가짐, 정신 자세; 사고 방식, 심적 경향; 태도, 버릇.
Epiphany [ipfni] <기독교> 예수 공현일(公顯日)(그리스도 탄생 때 동방의 3박사(Magi)가 찾아간 날을 축하하는 1월 6일 또는 1월 2일 뒤의 일요일). (e- ) (신 등의) 출현, 현현(顯現).
harangue [hr] <경멸적> (열렬한) 연설, 열변; (호언장담하는) 장광설(長廣舌); (장황한) 설교, 질책.…을 향해 열렬한 연설을 하다, 열변을 토하다.
digressive [digrsiv,dai-] 여담으로 흐르기 쉬운, 주제를 벗어나기 쉬운; 탈선하기 쉬운, 지엽적인.
extradite [kstrdit] [도망범]을 (본국•관할지에) 인도하다, 송환하다[to]. …을 (…으로부터) 인도(引渡)받다, 인수하다[from].
reemerge [rimd] 다시 나타나다, 재출현하다.
denote [dinut] …의 표시[상징]이다, …의 이름[명칭]이다.
conduit [kndwit,-dit / kndit] (물•가스 따위의) 도관(導管), 수도관, 홈통.
rigorous [rgs] 엄격한, 엄한.
intimate [ntmt] 친밀한, 친한, 사이가 좋은[with]; 친한 사람들의.
rally [rli] …을 다시 모으다, 규합하다, 다시 결속시키다..
be[or get] bogged down with[in] ~으로[에 빠져] 꼼짝 못하게 되다.
bog down ① 가라앉다. ② 늪[수렁]에 빠지다, 꼼짝 못하게 되다.
bog [bg,bg / bg] 소택지, 습지, 늪.
ammunition [mjunn] 탄약, 총탄 (폭탄류 포함); (뇌관•퓨즈 따위) 폭파 장치.
fussy [fsi] 법석을 떠는, 까다로운; 신경질적인[about].
trawl [trl] 트롤망(網), 저인망(底引網).
slew <미국> 늪지대, 습지.
slew [slu] slay의 과거.
parlor [pl] 응접실, 거실(living room).
parlor trick <비꼬아>숨은 재주.
ail [eil] …을 괴롭히다, 고민하게 하다, 번거롭게 하다.
ailing [ili] 앓고 있는, 병든; 고민하고 있는.
figment [fgmnt] 상상의 산물, 공상, 환상.
imploring [impli] 탄원[애원]하는.
overachieve [uvtv] 기대 이상으로 좋은 성적을 올리다.
grenade [grinid] 수류탄; 소화탄, 최루탄.
occlude [kld / k-] [구멍•통로 따위]를 막다, 메우다.
vertigo [vtigu] <병리> 현기증.
redundant [ridndnt] (문체 따위가) 장황한, 용장한.
damnation [dmnin] 매도(罵倒), 비난, 혹평; 저주; 매도[비난, 저주]의 원인[이유].
bout [baut] (권투•레슬링 따위의) 한판 승부, 시합.
hunch [hnt] [등 따위]를 활처럼 구부리다(up).
exempt [igzmpt] …에게 (의무•책임 따위를) 면제하다; (고통 따위를) 덜어주다[from].
fumble [fmbl] 더듬다, 여기저기 찾(아다니)다(about, around)[for]; …을 모색하다[after]; …을 (서투르게) 만지작거리다[at, with].
warily [wrili] 조심성 있게, 주의깊게, 신중하게.
flail [fleil] (보리 따위를 터는) 도리깨.
lunge [lnd] (칼 따위로 갑자기) 푹 찌르기; <펜싱> 찌르기.
perpendicular [ppndkjul] 수직의, 연직(鉛直)의, 직립한.
somersault [smslt] 공중제비, 재주넘기.
pallet [plit] 짚자리, 짚이불
palette [plit] 팔레트, 조색판
conviction <법률> 유죄 판결[평결][ for ].
exhilaration 기분을 북돋우기, 활기를 불어넣기.
ascertain ~을 확인하다, 규명하다, 확정하다.
penmanship 습자, 서법; 필적
pimple <병리>뾰루지; 여드름
scowl 얼굴을 찡그리다, 언짢은 낯을 하다; 노려보다, 쏘아보다
diaphanous 속이 비치는, 투명한; 반투명의.
ascetic 수행자, 고행자, 행자.
intonation 억양, 어조, 음조, 인토네이션
fudge 퍼지.
rut 바퀴 자국, 차가 지나간 자국
groove 홈, 홈줄; 홈; 홈; 강선.
electorate <집합적> 선거민, 유권자.
chitchat 간단한 대화, 잡담.
embark ~을 태우다, 싣다, 적재하다, 탑승[승선]시키다.
dysfunction <병리> 기능 장애, 기능 이상[부전]; 기능 장애를 일으키는 부분.
vault 둥근 천장
pester ~을 괴롭히다, 성가시게 굴다, 귀찮게 애먹이다
squirm 꿈틀거리다, 몸부림치다; 꿈틀거리며 나아가다
depict ~을 그리다, 표현하다, 묘사[시술]하다[as].
practitioner 개업자, 전문가; 개업의, 변호사
parishioner 소교구민
grueling, 《英》 -elling 기진맥진케 하는; 심한, 엄한.━ <英구어> 엄벌; 가혹한 처사, 심한 봉변.
gruel 묽은 죽, 오트밀 죽.
subjugate ~을 정복하다; ~을 복종시키다; 〔감정 등〕을 억누르다
blurt ~을 불쑥 말하다; ~을 부지중에 말하다, 무심코 말하다, 누설하다.━ 불쑥 말하기, 부지중에 누설하기.
gut 소화기관, 장.
hygiene 위생학; 위생법, 건강법; 위생, 청결
imperative 피할 수 없는, 부득이한, 필수적인; 긴급한, 중요한
litigate 〔문제〕를 법정으로 넘기다, 법정에서 다투다
insipid [inspid] 재미없는, 무미건조한, 활기없는, 지루한
sedative [sdtiv] 진정시키는, 누그러뜨리는; <의학> 진정 작용이 있는
tenacious [tnis] 꽉 쥐고 놓지 않는, 단단히 잡고 있는
dike [daik] 둑, 제방; 둑길.
gnaw [n] a) ~을 갉아먹다, 쏠다, 씹다; ~을 깨물다; ~을 물어 끊다.b) 〔구멍 따위〕를 갉아서 만들다.
jade [deid] 비취, 옥; 비취 제품
jade 야윈 말
penalize [pnliz,pn-] ~을 벌하다, 형에 처하다; ~에게 유죄를 선언하다
succumb [skm] 굴복하다, 복종하다, 지다
pretense [pritns,prtens / pritns] 거짓 꾸미기, 겉치레, 위장, ~인 체하기
berate [birit] 〔남〕을 호되게 꾸짖다, 욕을 퍼붓다[for]. ▷REPROACH
badger [bd] ( ~1 오소리; 오소리 모피.
indigent [ndidnt] 가난한, 빈곤한
obnoxious [bnks / -nk-] 아주 싫은, 불쾌한, 역겨운, 추악한, 미움받고 있는
bigot [bgt] 고집스레 믿고 있는 사람; 광신자; 편협[완고]한 사람.
credence [krdns] 믿음, 신용, 신뢰; 신임.
deprecating [dprikiti] 강력히 반대하는, 비난조의; 면하고자 하는, 애원조의.-ly
deprecate [dprikit] ~을 옳지 않다고 역설하다;〔계획 따위〕에 반대하다.
replete [riplt] <서술용법> 가득한, 충만한
quid pro quo [kwd prou kwu] 대상, 보수, 보상품
curry [kri,kri / kri] 카레 ; 카레 소스.
coercion [koun] 강제, 억압, 위압, 강압; 강제력, 권력.
clout [klaut] <구어> 한 대 치기, 손바닥으로 때리기.
malleable [mlibl] <야금> 두들겨 펼 수 있는, 가단성의
impasse [mps,- / mps] 궁지, 난국; 막다름; 막다른 골목
travail [trvil,trveil / trveil] 노고, 고생, 신고; 노작
extricate [kstrkit] ~을 구해내다, 해방시키다; 이탈시키다[from, out of].2<화학>~을 유리시키다.
adroit [drit] 능숙한, 교묘한; 영리한, 재치있는[in, at]. ▷ SKILLFUL -ly -ness
adroitly [dritli] 능숙하게; 영리하게
haggle [hgl] 값을 깎으려고 조르다
one [wn] 하나의, 한 개의; 한 사람의; 단일의
pinpoint [pnpint] 핀 끝, 뾰족한 끝
hefty [hfti] <구어> 크고 무거운, 중량이 있는
barrelhead [brlhd] 통의 뚜껑[바닥].
proprietor [prprit] 소유자, 소유자 단체; 소유자
prong [pr / pr] 뾰족한 끝
analogy [nldi] 유사, 비슷함[between, to, with]. ▷ LIKENESS
BYOB, B.Y.O.B. bring your own booze[or bottle, beer] (.
karaoke [kriuki] 가라오케, 노래방
citadel [stdl,-dl] 1. (도시를 지키는) 성채, 요새. 2. 성, 아성; 견고한 장소. 3. 최후의 피난처. 4. (군함의) 포대, 포탑(砲塔).
citadel [stdl,-dl] 1. (도시를 지키는) 성채, 요새. 2. 성, 아성; 견고한 장소. 3. 최후의 피난처. 4. (군함의) 포대, 포탑(砲塔).
primeval [praimvl] 원시 시대의, 원시의, 태고의. ~·ly
delve [delv] 1. (문제·정보 따위를/사실 따위를 찾으려) 파고들다, 철저히 조사하다, 깊이 탐구하다 《into, among/ for》. 2. (서랍 따위를) 샅샅이 뒤지다. 3. 《시·고어》 파다[for].
betide [bitid] 《문어》 (…에게) 일어나다, 생기다.
delineation [dilniin] 외형[윤곽]을 그리기; 스케치, 소묘(素描); 묘사.
tidbit [tdbt] 맛있는 음식의 한 입[조각].
provoke [prvuk] …을 화나게 하다, 약올리다.
deduct [didkt] …을 빼다, 공제하다[from].
relinquish [rilkwi] [소유물 따위]를 포기[양도]하다[to ]; [계획•희망 따위]를 버리다, 단념하다; [지위•직 따위]를 사퇴하다, 양도하다.
preemptively [primptivli] 선매하여 ; 예방적으로 ; 우선적으로.
elide [ilid] (어미의) [모음•음절]의 발음을 생략하다(예 …을 묵살하다; …을 무시하다, 생략하다.
crappy [krpi] <속어> 더러운, 불결한; 불쾌[지독]한.
convoluted [knvltid / kn-] 회선형의, 둘둘 말린[감긴]; 포선형의.
convolute [knvlt / kn-] …을 감아 넣다, 둘둘 말다.
myriad [mrid] 무수; 매우 많은 사물[사람].
crux [krks] 가장 중요한 점, 핵심, 급소.
with much ado 야단 법석을 떨며; 애써서.
once for ado 딱 한 번만.
much ado about nothing 공연한 법석.
dead for ado 죽어 버려서.
Much Ado About Nothing 거짓 소동.
ado [d] 법석, 소동(fuss); 수고, 노고, 곤란.
per se [p() si,-s] 스스로, 그 자체는; 본질적으로.
cucumber [kjkmb] 오이(의 열매).
qualm [kwm,kwm] (…에 대한/…의 점에서의) 거리낌, 양심의 가책[about/in]. (…에 대한) (갑작스러운) 불안감, 염려, 걱정[about]..
fuzzy matching <컴퓨터> 퍼지 매칭(2가지 것을 비교할 때 완전히 동일한가가 아니라 비슷한가의 여부를 판단하는 방법).
fuzzy-headed [-hdid] 머리가 멍한; 경박한, 생각이 모자라는.
fuzzy [fzi] 보풀[솜털]같은; 보풀이 인.
mouthful [mufl] 한 입 가득, 한 입(의 분량).
phew [fju] 체!, 참!, 저런!(whew)(불쾌•초조•놀람 따위를 나타낸다).
mind-set [st] <구어> 마음가짐, 정신 자세; 사고 방식, 심적 경향; 태도, 버릇.
Epiphany [ipfni] <기독교> 예수 공현일(公顯日)(그리스도 탄생 때 동방의 3박사(Magi)가 찾아간 날을 축하하는 1월 6일 또는 1월 2일 뒤의 일요일). (e- ) (신 등의) 출현, 현현(顯現).
harangue [hr] <경멸적> (열렬한) 연설, 열변; (호언장담하는) 장광설(長廣舌); (장황한) 설교, 질책.…을 향해 열렬한 연설을 하다, 열변을 토하다.
digressive [digrsiv,dai-] 여담으로 흐르기 쉬운, 주제를 벗어나기 쉬운; 탈선하기 쉬운, 지엽적인.
extradite [kstrdit] [도망범]을 (본국•관할지에) 인도하다, 송환하다[to]. …을 (…으로부터) 인도(引渡)받다, 인수하다[from].
reemerge [rimd] 다시 나타나다, 재출현하다.
denote [dinut] …의 표시[상징]이다, …의 이름[명칭]이다.
conduit [kndwit,-dit / kndit] (물•가스 따위의) 도관(導管), 수도관, 홈통.
rigorous [rgs] 엄격한, 엄한.
intimate [ntmt] 친밀한, 친한, 사이가 좋은[with]; 친한 사람들의.
rally [rli] …을 다시 모으다, 규합하다, 다시 결속시키다..
be[or get] bogged down with[in] ~으로[에 빠져] 꼼짝 못하게 되다.
bog down ① 가라앉다. ② 늪[수렁]에 빠지다, 꼼짝 못하게 되다.
bog [bg,bg / bg] 소택지, 습지, 늪.
ammunition [mjunn] 탄약, 총탄 (폭탄류 포함); (뇌관•퓨즈 따위) 폭파 장치.
fussy [fsi] 법석을 떠는, 까다로운; 신경질적인[about].
trawl [trl] 트롤망(網), 저인망(底引網).
slew <미국> 늪지대, 습지.
slew [slu] slay의 과거.
parlor [pl] 응접실, 거실(living room).
parlor trick <비꼬아>숨은 재주.
ail [eil] …을 괴롭히다, 고민하게 하다, 번거롭게 하다.
ailing [ili] 앓고 있는, 병든; 고민하고 있는.
figment [fgmnt] 상상의 산물, 공상, 환상.
imploring [impli] 탄원[애원]하는.
overachieve [uvtv] 기대 이상으로 좋은 성적을 올리다.
grenade [grinid] 수류탄; 소화탄, 최루탄.
occlude [kld / k-] [구멍•통로 따위]를 막다, 메우다.
vertigo [vtigu] <병리> 현기증.
redundant [ridndnt] (문체 따위가) 장황한, 용장한.
damnation [dmnin] 매도(罵倒), 비난, 혹평; 저주; 매도[비난, 저주]의 원인[이유].
bout [baut] (권투•레슬링 따위의) 한판 승부, 시합.
hunch [hnt] [등 따위]를 활처럼 구부리다(up).
exempt [igzmpt] …에게 (의무•책임 따위를) 면제하다; (고통 따위를) 덜어주다[from].
fumble [fmbl] 더듬다, 여기저기 찾(아다니)다(about, around)[for]; …을 모색하다[after]; …을 (서투르게) 만지작거리다[at, with].
warily [wrili] 조심성 있게, 주의깊게, 신중하게.
flail [fleil] (보리 따위를 터는) 도리깨.
lunge [lnd] (칼 따위로 갑자기) 푹 찌르기; <펜싱> 찌르기.
perpendicular [ppndkjul] 수직의, 연직(鉛直)의, 직립한.
somersault [smslt] 공중제비, 재주넘기.
pallet [plit] 짚자리, 짚이불
palette [plit] 팔레트, 조색판
conviction <법률> 유죄 판결[평결][ for ].
exhilaration 기분을 북돋우기, 활기를 불어넣기.
ascertain ~을 확인하다, 규명하다, 확정하다.
penmanship 습자, 서법; 필적
pimple <병리>뾰루지; 여드름
scowl 얼굴을 찡그리다, 언짢은 낯을 하다; 노려보다, 쏘아보다
diaphanous 속이 비치는, 투명한; 반투명의.
ascetic 수행자, 고행자, 행자.
intonation 억양, 어조, 음조, 인토네이션
fudge 퍼지.
rut 바퀴 자국, 차가 지나간 자국
groove 홈, 홈줄; 홈; 홈; 강선.
electorate <집합적> 선거민, 유권자.
chitchat 간단한 대화, 잡담.
embark ~을 태우다, 싣다, 적재하다, 탑승[승선]시키다.
dysfunction <병리> 기능 장애, 기능 이상[부전]; 기능 장애를 일으키는 부분.
vault 둥근 천장
pester ~을 괴롭히다, 성가시게 굴다, 귀찮게 애먹이다
squirm 꿈틀거리다, 몸부림치다; 꿈틀거리며 나아가다
depict ~을 그리다, 표현하다, 묘사[시술]하다[as].
practitioner 개업자, 전문가; 개업의, 변호사
parishioner 소교구민
grueling, 《英》 -elling 기진맥진케 하는; 심한, 엄한.━ <英구어> 엄벌; 가혹한 처사, 심한 봉변.
gruel 묽은 죽, 오트밀 죽.
subjugate ~을 정복하다; ~을 복종시키다; 〔감정 등〕을 억누르다
blurt ~을 불쑥 말하다; ~을 부지중에 말하다, 무심코 말하다, 누설하다.━ 불쑥 말하기, 부지중에 누설하기.
gut 소화기관, 장.
hygiene 위생학; 위생법, 건강법; 위생, 청결
imperative 피할 수 없는, 부득이한, 필수적인; 긴급한, 중요한
litigate 〔문제〕를 법정으로 넘기다, 법정에서 다투다
insipid [inspid] 재미없는, 무미건조한, 활기없는, 지루한
sedative [sdtiv] 진정시키는, 누그러뜨리는; <의학> 진정 작용이 있는
tenacious [tnis] 꽉 쥐고 놓지 않는, 단단히 잡고 있는
dike [daik] 둑, 제방; 둑길.
gnaw [n] a) ~을 갉아먹다, 쏠다, 씹다; ~을 깨물다; ~을 물어 끊다.b) 〔구멍 따위〕를 갉아서 만들다.
jade [deid] 비취, 옥; 비취 제품
jade 야윈 말
penalize [pnliz,pn-] ~을 벌하다, 형에 처하다; ~에게 유죄를 선언하다
succumb [skm] 굴복하다, 복종하다, 지다
pretense [pritns,prtens / pritns] 거짓 꾸미기, 겉치레, 위장, ~인 체하기
berate [birit] 〔남〕을 호되게 꾸짖다, 욕을 퍼붓다[for]. ▷REPROACH
badger [bd] ( ~1 오소리; 오소리 모피.
indigent [ndidnt] 가난한, 빈곤한
obnoxious [bnks / -nk-] 아주 싫은, 불쾌한, 역겨운, 추악한, 미움받고 있는
bigot [bgt] 고집스레 믿고 있는 사람; 광신자; 편협[완고]한 사람.
credence [krdns] 믿음, 신용, 신뢰; 신임.
deprecating [dprikiti] 강력히 반대하는, 비난조의; 면하고자 하는, 애원조의.-ly
deprecate [dprikit] ~을 옳지 않다고 역설하다;〔계획 따위〕에 반대하다.
replete [riplt] <서술용법> 가득한, 충만한
quid pro quo [kwd prou kwu] 대상, 보수, 보상품
curry [kri,kri / kri] 카레 ; 카레 소스.
coercion [koun] 강제, 억압, 위압, 강압; 강제력, 권력.
clout [klaut] <구어> 한 대 치기, 손바닥으로 때리기.
malleable [mlibl] <야금> 두들겨 펼 수 있는, 가단성의
impasse [mps,- / mps] 궁지, 난국; 막다름; 막다른 골목
travail [trvil,trveil / trveil] 노고, 고생, 신고; 노작
extricate [kstrkit] ~을 구해내다, 해방시키다; 이탈시키다[from, out of].2<화학>~을 유리시키다.
adroit [drit] 능숙한, 교묘한; 영리한, 재치있는[in, at]. ▷ SKILLFUL -ly -ness
adroitly [dritli] 능숙하게; 영리하게
haggle [hgl] 값을 깎으려고 조르다
one [wn] 하나의, 한 개의; 한 사람의; 단일의
pinpoint [pnpint] 핀 끝, 뾰족한 끝
hefty [hfti] <구어> 크고 무거운, 중량이 있는
barrelhead [brlhd] 통의 뚜껑[바닥].
proprietor [prprit] 소유자, 소유자 단체; 소유자
prong [pr / pr] 뾰족한 끝
analogy [nldi] 유사, 비슷함[between, to, with]. ▷ LIKENESS
BYOB, B.Y.O.B. bring your own booze[or bottle, beer] (.
karaoke [kriuki] 가라오케, 노래방
citadel [stdl,-dl] 1. (도시를 지키는) 성채, 요새. 2. 성, 아성; 견고한 장소. 3. 최후의 피난처. 4. (군함의) 포대, 포탑(砲塔).
citadel [stdl,-dl] 1. (도시를 지키는) 성채, 요새. 2. 성, 아성; 견고한 장소. 3. 최후의 피난처. 4. (군함의) 포대, 포탑(砲塔).
primeval [praimvl] 원시 시대의, 원시의, 태고의. ~·ly
delve [delv] 1. (문제·정보 따위를/사실 따위를 찾으려) 파고들다, 철저히 조사하다, 깊이 탐구하다 《into, among/ for》. 2. (서랍 따위를) 샅샅이 뒤지다. 3. 《시·고어》 파다[for].
betide [bitid] 《문어》 (…에게) 일어나다, 생기다.
Consolas Font Pack for Microsoft Visual Studio 2005 or 2008
Consolas also work with VS2010
Consolas 폰트가 설치만으로 사용가능하지만
이름 선택을 "Consolas "로 하고 싶다면 아래와 같이 한다.
다운로드 링크: http://www.microsoft.com/downloads/en/details.aspx?familyid=22e69ae4-7e40-4807-8a86-b3d36fab68d3&displaylang=en
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"Win31FileSystem"=dword:00000000
"Win95TruncatedExtensions"=dword:00000001
"SymlinkLocalToLocalEvaluation"=dword:00000001
"SymlinkLocalToRemoteEvaluation"=dword:00000001
"SymlinkRemoteToRemoteEvaluation"=dword:00000000
"SymlinkRemoteToLocalEvaluation"=dword:00000000
"NtfsAllowExtendedCharacter8dot3Rename"=dword:00000000
"NtfsBugcheckOnCorrupt"=dword:00000000
"NtfsDisable8dot3NameCreation"=dword:00000000
"NtfsDisableCompression"=dword:00000000
"NtfsDisableEncryption"=dword:00000000
"NtfsDisableLastAccessUpdate"=dword:00000001
"NtfsDisableVolsnapHints"=dword:00000002
"NtfsEncryptPagingFile"=dword:00000000
"NtfsMemoryUsage"=dword:00000000
"NtfsMftZoneReservation"=dword:00000000
"NtfsQuotaNotifyRate"=dword:00000e10
"UdfsCloseSessionOnEject"=dword:00000001
"UdfsSoftwareDefectManagement"=dword:00000000
"NtfsAllowExtendedCharacterIn8dot3Name"=dword:00000001
----------------------------- After -------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"Win31FileSystem"=dword:00000000
"Win95TruncatedExtensions"=dword:00000001
"SymlinkLocalToLocalEvaluation"=dword:00000001
"SymlinkLocalToRemoteEvaluation"=dword:00000001
"SymlinkRemoteToRemoteEvaluation"=dword:00000000
"SymlinkRemoteToLocalEvaluation"=dword:00000000
"NtfsAllowExtendedCharacter8dot3Rename"=dword:00000000
"NtfsBugcheckOnCorrupt"=dword:00000000
"NtfsDisable8dot3NameCreation"=dword:00000001
"NtfsDisableCompression"=dword:00000000
"NtfsDisableEncryption"=dword:00000000
"NtfsDisableLastAccessUpdate"=dword:00000001
"NtfsDisableVolsnapHints"=dword:00000002
"NtfsEncryptPagingFile"=dword:00000000
"NtfsMemoryUsage"=dword:00000000
"NtfsMftZoneReservation"=dword:00000000
"NtfsQuotaNotifyRate"=dword:00000e10
"UdfsCloseSessionOnEject"=dword:00000001
"UdfsSoftwareDefectManagement"=dword:00000000
"NtfsAllowExtendedCharacterIn8dot3Name"=dword:00000001
Consolas 폰트가 설치만으로 사용가능하지만
이름 선택을 "Consolas "로 하고 싶다면 아래와 같이 한다.
다운로드 링크: http://www.microsoft.com/downloads/en/details.aspx?familyid=22e69ae4-7e40-4807-8a86-b3d36fab68d3&displaylang=en
--
한국어는 Consolas 와 같이 표지 되지 않아서 레지스터리를 변경해 줘야 한다.
----------------------------- Before -------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"Win31FileSystem"=dword:00000000
"Win95TruncatedExtensions"=dword:00000001
"SymlinkLocalToLocalEvaluation"=dword:00000001
"SymlinkLocalToRemoteEvaluation"=dword:00000001
"SymlinkRemoteToRemoteEvaluation"=dword:00000000
"SymlinkRemoteToLocalEvaluation"=dword:00000000
"NtfsAllowExtendedCharacter8dot3Rename"=dword:00000000
"NtfsBugcheckOnCorrupt"=dword:00000000
"NtfsDisable8dot3NameCreation"=dword:00000000
"NtfsDisableCompression"=dword:00000000
"NtfsDisableEncryption"=dword:00000000
"NtfsDisableLastAccessUpdate"=dword:00000001
"NtfsDisableVolsnapHints"=dword:00000002
"NtfsEncryptPagingFile"=dword:00000000
"NtfsMemoryUsage"=dword:00000000
"NtfsMftZoneReservation"=dword:00000000
"NtfsQuotaNotifyRate"=dword:00000e10
"UdfsCloseSessionOnEject"=dword:00000001
"UdfsSoftwareDefectManagement"=dword:00000000
"NtfsAllowExtendedCharacterIn8dot3Name"=dword:00000001
----------------------------- After -------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"Win31FileSystem"=dword:00000000
"Win95TruncatedExtensions"=dword:00000001
"SymlinkLocalToLocalEvaluation"=dword:00000001
"SymlinkLocalToRemoteEvaluation"=dword:00000001
"SymlinkRemoteToRemoteEvaluation"=dword:00000000
"SymlinkRemoteToLocalEvaluation"=dword:00000000
"NtfsAllowExtendedCharacter8dot3Rename"=dword:00000000
"NtfsBugcheckOnCorrupt"=dword:00000000
"NtfsDisable8dot3NameCreation"=dword:00000001
"NtfsDisableCompression"=dword:00000000
"NtfsDisableEncryption"=dword:00000000
"NtfsDisableLastAccessUpdate"=dword:00000001
"NtfsDisableVolsnapHints"=dword:00000002
"NtfsEncryptPagingFile"=dword:00000000
"NtfsMemoryUsage"=dword:00000000
"NtfsMftZoneReservation"=dword:00000000
"NtfsQuotaNotifyRate"=dword:00000e10
"UdfsCloseSessionOnEject"=dword:00000001
"UdfsSoftwareDefectManagement"=dword:00000000
"NtfsAllowExtendedCharacterIn8dot3Name"=dword:00000001
주유소 가맹점 카드 수수료율
현재 주유소 가맹점 카드 수수료율은 1.5%다.
휘발유 1ℓ를 2000원에 팔면 1.5%인 30원을 카드사가 수수료가 된다.
[0303/목, 11:38:35,2011]
원가:
정유사 세전 공급가: 796 원 > 44%
유류세: 900 > 50%
(고통세, 30%, 교육세 4.5%, 주행세 7.5%, 부가세 8.5%)
주유소 유통비용: 110 (6%)
휘발유 1ℓ를 2000원에 팔면 1.5%인 30원을 카드사가 수수료가 된다.
[0303/목, 11:38:35,2011]
원가:
정유사 세전 공급가: 796 원 > 44%
유류세: 900 > 50%
(고통세, 30%, 교육세 4.5%, 주행세 7.5%, 부가세 8.5%)
주유소 유통비용: 110 (6%)
변하지 않는 사람들
몇달 전 "그"는 전 재산을 어디 환원 한다 했다.
'겸연쩍지만 좋은 일'이라 생각했고 신문방송이 떠들석 했다.
20년전 외딴 "그"의 별장에서 일주일이나 기였던 때가 있었다.
그때가 모두 헛된 시간만은 아니었나 싶었다.
"그"의 무식함에 놀랐던 일화가 생각났다.
한달 됐나... "그"의 혼외정사로 나온 이와의 소송에 졌다는 짧막한 기사가 나왔고,
몇일전엔 "그"의 아내가 행복하다는 얘기가 나왔다.
아, 역시 변하지 않는 것도 있구나!!
'겸연쩍지만 좋은 일'이라 생각했고 신문방송이 떠들석 했다.
20년전 외딴 "그"의 별장에서 일주일이나 기였던 때가 있었다.
그때가 모두 헛된 시간만은 아니었나 싶었다.
"그"의 무식함에 놀랐던 일화가 생각났다.
한달 됐나... "그"의 혼외정사로 나온 이와의 소송에 졌다는 짧막한 기사가 나왔고,
몇일전엔 "그"의 아내가 행복하다는 얘기가 나왔다.
아, 역시 변하지 않는 것도 있구나!!
Outlook 에서 메일 수신 및 읽음 표시 / 중요도 표시 옵션
내가 메일 받았을 때 확인 메시지
기본설정 > 전자메일 옵션 > 도착 시 요청 메일 및 담장 처리, 도착 및 확인 메일 처리
내가 보낸 메일에 대한 읽음&배달 확인
... > 내가 보낸 모든 메시지에 대한 다음을 요청함 > 읽은 / 배달 확인
기본 설정 > 전자메일 옵션 > 전자메일 고급 옵션 > 메시지를 보낼때 > 중요도 설정 > 높음
기본설정 > 전자메일 옵션 > 도착 시 요청 메일 및 담장 처리, 도착 및 확인 메일 처리
내가 보낸 메일에 대한 읽음&배달 확인
... > 내가 보낸 모든 메시지에 대한 다음을 요청함 > 읽은 / 배달 확인
기본 설정 > 전자메일 옵션 > 전자메일 고급 옵션 > 메시지를 보낼때 > 중요도 설정 > 높음
* Simple Mail Transfer Protocol: http://www.ietf.org/rfc/rfc2821.txt
* Registration of Mail and MIME Header Fields: http://www.ietf.org/rfc/rfc4021.txt
Visaul Studio Keybinding - Summary
* keybinding
** Editing
Smart Tag for using statement: Ctrl + Period
Exception Window Open: Ctrl + Alt + e
Format Idenet File: Ctrl + k + e
Format Idenet Selection Area: Ctrl + k + e
Yank to Clipboard in Current line: Shift + Del
Ctrl + L
Ctrl + Shift + L
Comment Region: Ctrl + k + c
UnComment Region: Ctrl + k + u
Expanding/Collapsing: Ctrl + m + m
Generate get & set method for member: Ctrl + r + e
Move start / end bracelet: Ctrl + } or ]
Ctrl + ~ + Ins: Cycleing Clipboard Ring
Outline: Ctrl + M + O
out outline: Ctrl + M + L
: Ctrl + M + P
Long Line Wrap: Ctrl + E + W
Find: Ctrl + F (Find Before: Shift F3, Find Next: F3)
** File
flips between last two accessed files: Ctrl + Tab
** Navigation
Goto definition current object marker: F12
move the editing cursor last/next position: Ctrl + Shift + "-"
** Debuging
add/Remove marker: F9
quick watch window while debug: Ctrl + Alt + q
** Intellisense
Code snippets dialog: Ctrl + k + s
Intelli list members: Ctrl + j
list parameter info: Ctrl + Shift + Space
open intellisense: Ctrl + Space
Navigate To: Ctrl + Comma
Insert Buffer: Ctrl + Shift + Ins
** Windows Moving
View.SolutionExplorer Global::Ctrl+Alt+L
View.PropertiesWindow Global::F4
View.Toolbox Global::Ctrl+Alt+X
View.ClassView Global::Ctrl+Shift+C
Data.ShowDataSources Global::Shift+Alt+D
View.DocumentOutline Global::Ctrl+Alt+T
Window.ActivateDocumentWindow Global::Esc
Window.CloseDocumentWindow Global::Ctrl+F4 / Work Item Editor::Esc
Window.CloseToolWindow Global::Shift+Esc
Properties: F4 Alte + Enter
Full Screen: Shift + Alt + Enter
** Refactoring
** Build
Build Solution: Ctrl + Shift + B
** Other
- Solution Explore 에서 현재 열린 파일 표시
Tools -> Options -> Projects and Solutions
-> General -> "Track Active Item in Solution Explorer"
** Editing
Smart Tag for using statement: Ctrl + Period
Exception Window Open: Ctrl + Alt + e
Format Idenet File: Ctrl + k + e
Format Idenet Selection Area: Ctrl + k + e
Yank to Clipboard in Current line: Shift + Del
Ctrl + L
Ctrl + Shift + L
Comment Region: Ctrl + k + c
UnComment Region: Ctrl + k + u
Expanding/Collapsing: Ctrl + m + m
Generate get & set method for member: Ctrl + r + e
Move start / end bracelet: Ctrl + } or ]
Ctrl + ~ + Ins: Cycleing Clipboard Ring
Outline: Ctrl + M + O
out outline: Ctrl + M + L
: Ctrl + M + P
Long Line Wrap: Ctrl + E + W
Find: Ctrl + F (Find Before: Shift F3, Find Next: F3)
** File
flips between last two accessed files: Ctrl + Tab
** Navigation
Goto definition current object marker: F12
move the editing cursor last/next position: Ctrl + Shift + "-"
** Debuging
add/Remove marker: F9
quick watch window while debug: Ctrl + Alt + q
** Intellisense
Code snippets dialog: Ctrl + k + s
Intelli list members: Ctrl + j
list parameter info: Ctrl + Shift + Space
open intellisense: Ctrl + Space
Navigate To: Ctrl + Comma
Insert Buffer: Ctrl + Shift + Ins
** Windows Moving
View.SolutionExplorer Global::Ctrl+Alt+L
View.PropertiesWindow Global::F4
View.Toolbox Global::Ctrl+Alt+X
View.ClassView Global::Ctrl+Shift+C
Data.ShowDataSources Global::Shift+Alt+D
View.DocumentOutline Global::Ctrl+Alt+T
Window.ActivateDocumentWindow Global::Esc
Window.CloseDocumentWindow Global::Ctrl+F4 / Work Item Editor::Esc
Window.CloseToolWindow Global::Shift+Esc
Properties: F4 Alte + Enter
Full Screen: Shift + Alt + Enter
** Refactoring
** Build
Build Solution: Ctrl + Shift + B
** Other
- Solution Explore 에서 현재 열린 파일 표시
Tools -> Options -> Projects and Solutions
-> General -> "Track Active Item in Solution Explorer"
미소짓다
나 이사장님을 뵌지 벌써 2년이 넘었다. 생각만 하다 기회가 왔다.
대학졸업하던 그해 인턴 시절의 마음을 느끼게 했던 것은 아마도 나 이사장님이 있었기 때문일 것이다.
솔밭 공원을 지나 올라가면 몽양 여운형의 무덤이 있다. 전환기의 몽양을 생각해 본다..
아무 생각이 안난다.
글과 타인의 기억은 있으되 마음은 전해지지 않는 회색 세계의 모습니다.
오늘 이 봄날의 상큼한 공기와 옅게 색칠한 푸른 빛깔 하늘은 느껴지지 않는다.
하지만 살아있는 나 이사장님은 물에 푼 물감처럼 그렇게 퍼져 흘러가는 모습니다.
오래전 아버지는 사계절과 운명의 짐을 보게 해 줬다.
어제 나 이사장님은 몸이 내것이 아님과 이윽고 마음 또한 내것이 아니 됨을 얘기해 줬다.
그리고, 아버지의 바람보다 더 멀어진 자식의 마음을 얘기해 줬다.
"투자에 대한 기대가 커서 그렇다"
자식 투자가 적고 기대가 많아졌다는 것인지
불필요한 투자에 쓸데 없는 기대가 많다는 것인지는 사람마다 다를 것이다.
별로 마시지 않았는데 공복아주의 수수향이 너무 짙다.
오랜만에 아니... 살면서 앞과 뒤를 보도록 만드는 날이 몇일이나 될까.
언젠가 동료에게 그런 사람이 되고픈 오만과 욕심은 없어졌다. 다만 아직 다른 사람이 말하는 걸 잘 듣고 싶은 마음만 남았다.
공리 주연의 "붉은 수수밭" 영화가 생각난다.
개인의 욕망과 운명과 갈등...
술이란 그런 것이 아니겠는가. 해서 수수향기 공복아주를 생각할땐 붉게 술독이 붙여진 모습이 생각난다.
시간이란 그런 것이다.
재물을 모으고 싶은 사람이여 시간에 투자해라.
대학졸업하던 그해 인턴 시절의 마음을 느끼게 했던 것은 아마도 나 이사장님이 있었기 때문일 것이다.
솔밭 공원을 지나 올라가면 몽양 여운형의 무덤이 있다. 전환기의 몽양을 생각해 본다..
아무 생각이 안난다.
글과 타인의 기억은 있으되 마음은 전해지지 않는 회색 세계의 모습니다.
오늘 이 봄날의 상큼한 공기와 옅게 색칠한 푸른 빛깔 하늘은 느껴지지 않는다.
하지만 살아있는 나 이사장님은 물에 푼 물감처럼 그렇게 퍼져 흘러가는 모습니다.
오래전 아버지는 사계절과 운명의 짐을 보게 해 줬다.
어제 나 이사장님은 몸이 내것이 아님과 이윽고 마음 또한 내것이 아니 됨을 얘기해 줬다.
그리고, 아버지의 바람보다 더 멀어진 자식의 마음을 얘기해 줬다.
"투자에 대한 기대가 커서 그렇다"
자식 투자가 적고 기대가 많아졌다는 것인지
불필요한 투자에 쓸데 없는 기대가 많다는 것인지는 사람마다 다를 것이다.
별로 마시지 않았는데 공복아주의 수수향이 너무 짙다.
오랜만에 아니... 살면서 앞과 뒤를 보도록 만드는 날이 몇일이나 될까.
언젠가 동료에게 그런 사람이 되고픈 오만과 욕심은 없어졌다. 다만 아직 다른 사람이 말하는 걸 잘 듣고 싶은 마음만 남았다.
공리 주연의 "붉은 수수밭" 영화가 생각난다.
개인의 욕망과 운명과 갈등...
술이란 그런 것이 아니겠는가. 해서 수수향기 공복아주를 생각할땐 붉게 술독이 붙여진 모습이 생각난다.
시간이란 그런 것이다.
재물을 모으고 싶은 사람이여 시간에 투자해라.
Websocket in HTML5
* Websocket
- 간단한 채팅
- 화이트 보드
- 메시지 동기화 및 모니터링
HTML5 Draft 의 Websocket 의 기능은 마음에 들지만
'이제 와서는 사족 같다' .
소켓으로 만들든 Json 같은 javascript 로 하든 구동이 되는데 굳이 브라우저에 다 넣을 필요가 있는가다. 여튼 잠재된 보안 문제로
** Internet Explorer
- Internet Explorer 9.0.8080.16414 256-bit, RC Version 에서는 기능을 막아 놨다.
** Firefox
- 3.4x 이후 버전은 기본 옵션으로 Enabled 됨
- Firefox 4.0 Beta... 12 인가 14인가... 에서는 다음과 같이 활성화 시켜야 한다.
Browse to about:config
- Set network.websocket.enabled value to true (Default Enabled)
- Set network.websocket.override-security-block preferences to true(Default Not Enabled)
; 재시작 없이 작동 함
** Google Chrome
10.648.133 - Enabled
참고로,
http://blog.chromium.org/2009/12/web-sockets-now-available-in-google.html
자바스크립트로 보기
javascript:alert("WebSockets are " + (window.WebSocket ? "" : "not ") + "supported");
;;; 링크
----------------
A Silverlight client (and a JavaScript client, via the HTML bridge)
can only communicate using the proposed WebSocket protocol using ports
in the range 4502-4534.
- 간단한 채팅
- 화이트 보드
- 메시지 동기화 및 모니터링
HTML5 Draft 의 Websocket 의 기능은 마음에 들지만
'이제 와서는 사족 같다' .
소켓으로 만들든 Json 같은 javascript 로 하든 구동이 되는데 굳이 브라우저에 다 넣을 필요가 있는가다. 여튼 잠재된 보안 문제로
** Internet Explorer
- Internet Explorer 9.0.8080.16414 256-bit, RC Version 에서는 기능을 막아 놨다.
** Firefox
- 3.4x 이후 버전은 기본 옵션으로 Enabled 됨
- Firefox 4.0 Beta... 12 인가 14인가... 에서는 다음과 같이 활성화 시켜야 한다.
Browse to about:config
- Set network.websocket.enabled value to true (Default Enabled)
- Set network.websocket.override-security-block preferences to true(Default Not Enabled)
; 재시작 없이 작동 함
** Google Chrome
10.648.133 - Enabled
참고로,
http://blog.chromium.org/2009/12/web-sockets-now-available-in-google.html
자바스크립트로 보기
javascript:alert("WebSockets are " + (window.WebSocket ? "" : "not ") + "supported");
;;; 링크
----------------
A Silverlight client (and a JavaScript client, via the HTML bridge)
can only communicate using the proposed WebSocket protocol using ports
in the range 4502-4534.
BAD
Recentaly there spread a "NEWS" who was killed by someone who is asserted conservervative group mon over three weeks.
Well, my foreign friend said "Is it ture? or she is a actor... hu?"
I said,
"JUST IGNORE IT"
"They always sucking around there, and don't say anything like that"
My friend said,
"Well, they are worse than traitor!"
Well, my foreign friend said "Is it ture? or she is a actor... hu?"
I said,
"JUST IGNORE IT"
"They always sucking around there, and don't say anything like that"
My friend said,
"Well, they are worse than traitor!"
[책] 행복한 집구경 : 31년 동안 세상의 핸드빌트 집을 찾아다니다
촘이나 shelter 형태의 집을 좋아하진 않았다.
하지만 영국의 바닷가의 나무더미 집이라던지 다층 촘의 모습은 정말 인상 깊었다.
로이드 칸 저/이한중 역 | 시골생활 | 원서 : Home work : Handbuilt shelter
Lioyd Kahn
하지만 영국의 바닷가의 나무더미 집이라던지 다층 촘의 모습은 정말 인상 깊었다.
로이드 칸 저/이한중 역 | 시골생활 | 원서 : Home work : Handbuilt shelter
Lioyd Kahn
[책] FreeBSD
만약 Mac 을 진작에 사용했었으면 시스템 프로그래머로 완전히 몰빵했을 것이다.
잘한 건지 못한건지... 모르겠지만 맥이라기 보다는 BSD 맛이다.
FreeBSD가 역시 최고!!!
잘한 건지 못한건지... 모르겠지만 맥이라기 보다는 BSD 맛이다.
FreeBSD가 역시 최고!!!
[책] 권력의 법칙 : 사람을 움직이고 조직을 지배하는 48가지 통찰
로버트 그린, Robert Greene 지음 | 안진환, 이수경 옮김 | 웅진지식하우스 | 2009년 3월
이것도 다니면서 읽기 좋은 책이다.
참 아쉬운 점은 책 테두리 부분에 쓰는 거... 안했으면 좋겠다.
원서도 그럴려나... 불어판도 있는 것 같고 해서 영문판을 일단 구입했다.
이것도 다니면서 읽기 좋은 책이다.
참 아쉬운 점은 책 테두리 부분에 쓰는 거... 안했으면 좋겠다.
원서도 그럴려나... 불어판도 있는 것 같고 해서 영문판을 일단 구입했다.
여전히 세상은 살만하다.
뉴스는 예능이 되고,
예능은 다큐가 되고,
다큐는 개그 되고,
역적은 애국자되고...
개는 사람이 되고
사람은 개의 부모형제가 된다.
하지만... 세상은 여전히 살만하고 좋은 일들로 가득하다!!!
일할 것도 많고, 봐야할 책도, 찾아야 할 사람도 많고 가고 싶은 곳도 많다.
예능은 다큐가 되고,
다큐는 개그 되고,
역적은 애국자되고...
개는 사람이 되고
사람은 개의 부모형제가 된다.
하지만... 세상은 여전히 살만하고 좋은 일들로 가득하다!!!
일할 것도 많고, 봐야할 책도, 찾아야 할 사람도 많고 가고 싶은 곳도 많다.
요즘 웹 프로그래밍
1998년 첨 c 로 Web CGI 를 할땐 별 대안이 없었다.
하긴 cgi 를 fortran, basic, lisp 로 할 순 없는 노릇이니(물론 가능하다)
한 번은 3천만원짜리 IBM 워크스테이션에서 cgi 를 돌리려는데 컴파일러가 없었다. 3천짜리 워크스테이션이다. 옆엔 1억2천짜리 F50 ibm 서버도 있는데 이놈도 컴파일러가 없다. 개발 팩키지를 구입하지 않아서 컴파일러가 없었다.
해서 쓰지 않던 데스크탑에 리눅스를 설치하고, 네트웍 Bridge를 구성한다고 일주일 동안 커널 컴파일 하고, apache 에 붙여 cgi 를 돌렸다.
그리고, php, python, aspx,c# 를 쓴다.
최근 Ruby on Rails를 보다 이젠 프레임워크와 패턴의 세상이 왔다는 생각이 들었다. 솔직히, 그냥 interactive 하려면 굳이 패턴이나 프레임워크 까지 갈 필요가 있겠는가...
여튼 요즘은 C#, Java 이런걸로 웹을 한다! 한때는 asp, php 도 무겁다고 느꼈었던 걸 보면 장족의 발전 아닌가
하긴 cgi 를 fortran, basic, lisp 로 할 순 없는 노릇이니(물론 가능하다)
한 번은 3천만원짜리 IBM 워크스테이션에서 cgi 를 돌리려는데 컴파일러가 없었다. 3천짜리 워크스테이션이다. 옆엔 1억2천짜리 F50 ibm 서버도 있는데 이놈도 컴파일러가 없다. 개발 팩키지를 구입하지 않아서 컴파일러가 없었다.
해서 쓰지 않던 데스크탑에 리눅스를 설치하고, 네트웍 Bridge를 구성한다고 일주일 동안 커널 컴파일 하고, apache 에 붙여 cgi 를 돌렸다.
그리고, php, python, aspx,c# 를 쓴다.
최근 Ruby on Rails를 보다 이젠 프레임워크와 패턴의 세상이 왔다는 생각이 들었다. 솔직히, 그냥 interactive 하려면 굳이 패턴이나 프레임워크 까지 갈 필요가 있겠는가...
여튼 요즘은 C#, Java 이런걸로 웹을 한다! 한때는 asp, php 도 무겁다고 느꼈었던 걸 보면 장족의 발전 아닌가
Disable Install Missing Plugins Message In Firefox
* about:config
- Default
plugins.hide_infobar_for_missing_plugin : false
plugins.scan.plid.all : true
- Change
plugins.hide_infobar_for_missing_plugin : true ; stop agnony to install flash and other plugins
plugins.scan.plid.all : false ; it will not automatically scan and use Internet Explore's plugins
- Default
plugins.hide_infobar_for_missing_plugin : false
plugins.scan.plid.all : true
- Change
plugins.hide_infobar_for_missing_plugin : true ; stop agnony to install flash and other plugins
plugins.scan.plid.all : false ; it will not automatically scan and use Internet Explore's plugins
Bitstream Vera Sans Mono
http://insidexino.tistory.com/2757281
http://insidexino.net/entry/%EC%BD%94%EB%94%A9%EC%9A%A9-%ED%8F%B0%ED%8A%B8-Bitstream-Vera-Sans-Mono
http://insidexino.net/entry/%EC%BD%94%EB%94%A9%EC%9A%A9-%ED%8F%B0%ED%8A%B8-Bitstream-Vera-Sans-Mono
김정일 방중시 열차를 고집하는 이유
주말엔 Emacs 나 아리한 c# 이나 java 에 빠지면 세상 가는 줄 모른다.
지루한 틈을 타 인터넷 뉴스를 보다. 아... 또 삼천포로 빠지나...
플래쉬와 광고가 넘 많다. 플래쉬 하는 분들 좋아하지 않으시겠지만,
어쩌랴 CGI 세대는 Native 가 더 땡기는 것을.
여튼 기사에 "김정일 방중시 열차를 고집하는 이유"라는 얼핏 보는데, 고소 공포니, 사건이나 일화니...
도대체 기사가 뭔 삼천포 가는 말인가 싶다. 나야 노니 개팬다고 이리저리 빈둥거린다지만, 한심타.
그 열차는 한반도가 극동아시아 끝 반도에서 왔음을 보여주고 있으며,이념과 경계를 각성시키기 연출이다.
어 쩌면 영불 해저터널이 뚫릴때의 모습을 상상할수도 있겠지만 그것과는 차원이 다르다. 영불터널은 편의에의한 변화, 수익과 편익 이외의 의미는 없다. 만약 섬사람의 기질을 모르고, 프랑스의 역사를 모르는 사람들이라면 프랑스 측 터널 구간-노르망디가 TVM에 의해 허물어 지는 모습을 기억할 것이다. 하지만 그뿐이다.
열차는 다르다. 아주 분명하고 뚜렷한 모습을 지시하고 있다. 편의의 따른 변화가 아니라 아니라 과거를 상기시키고 현실을 비추게 하는 거울이다. 반대로 비치는 백설공주의 거울처럼. 웃기는 건 그 거울 속에 우리도 있다는 것이고 덕도 많이 받았다. 웃긴다는 말은 냉소가 아니고 희화겠지만..
중 국이나 러시아연방에서 얼마나 많은 사람이 늘어서든 그들의 문제일뿐이다. 화석같은 모습으로 비춰지는 게 결코 즐거운 것도 불쾌한 것도 아니다. 즐길려고 하는 짓이 아니라 모두 어쩔 수 없어 할 뿐이다! 유기체화되는 사회에서 주변의 관심이 내부 집약과 각성을 불러오지 않는다면 결과는 반대 일뿐이다.
해서... 가만히 있던지 재대로 하든지 웃기지도 않아요..
그게 머리로만 굴리고 심장으로 데우지를 않아서 그래요.
지루한 틈을 타 인터넷 뉴스를 보다. 아... 또 삼천포로 빠지나...
플래쉬와 광고가 넘 많다. 플래쉬 하는 분들 좋아하지 않으시겠지만,
어쩌랴 CGI 세대는 Native 가 더 땡기는 것을.
여튼 기사에 "김정일 방중시 열차를 고집하는 이유"라는 얼핏 보는데, 고소 공포니, 사건이나 일화니...
도대체 기사가 뭔 삼천포 가는 말인가 싶다. 나야 노니 개팬다고 이리저리 빈둥거린다지만, 한심타.
그 열차는 한반도가 극동아시아 끝 반도에서 왔음을 보여주고 있으며,이념과 경계를 각성시키기 연출이다.
어 쩌면 영불 해저터널이 뚫릴때의 모습을 상상할수도 있겠지만 그것과는 차원이 다르다. 영불터널은 편의에의한 변화, 수익과 편익 이외의 의미는 없다. 만약 섬사람의 기질을 모르고, 프랑스의 역사를 모르는 사람들이라면 프랑스 측 터널 구간-노르망디가 TVM에 의해 허물어 지는 모습을 기억할 것이다. 하지만 그뿐이다.
열차는 다르다. 아주 분명하고 뚜렷한 모습을 지시하고 있다. 편의의 따른 변화가 아니라 아니라 과거를 상기시키고 현실을 비추게 하는 거울이다. 반대로 비치는 백설공주의 거울처럼. 웃기는 건 그 거울 속에 우리도 있다는 것이고 덕도 많이 받았다. 웃긴다는 말은 냉소가 아니고 희화겠지만..
중 국이나 러시아연방에서 얼마나 많은 사람이 늘어서든 그들의 문제일뿐이다. 화석같은 모습으로 비춰지는 게 결코 즐거운 것도 불쾌한 것도 아니다. 즐길려고 하는 짓이 아니라 모두 어쩔 수 없어 할 뿐이다! 유기체화되는 사회에서 주변의 관심이 내부 집약과 각성을 불러오지 않는다면 결과는 반대 일뿐이다.
해서... 가만히 있던지 재대로 하든지 웃기지도 않아요..
그게 머리로만 굴리고 심장으로 데우지를 않아서 그래요.
rm 과 dd
요즘 농협 네트웍 장애로 말이 많다. 유닉스가 편하고 익숙한 나에게 "rm과 dd로 뭐가 어찌 됐다"는 말이 본질을 왜곡하고 문제를 회피하려는 것으로만 보인다.
누구 말처럼 달은 보지 않고 손톱에 낀 때만 쳐다보는 꼴이다.
rm 은 지우고, dd는 주로 플로피나 CD롬 처럼 가상 파일 시스템을 만들때나 law level 로 복사할때 쓴다. dd에 지우는 명령이 있었나... 물론 pipe 쓰면 당연히 지우고 덮어쓰까지 된다. 근데.. RTFM 이나 참고할 사항이 왜 이리도 많이 회자 되는가. 그말 하면 뭐 쫌 있어보이나. 아니다, 내용은 모르는 어떻게든 튀어보려는 이들이 써먹는 말일게다. 예전에 윤모씨 그런말로 온갖 먹튀짓을 다했더랬다
어찌됐건 문제의 핵심은 2가지다. 뻔하지 않는가. 돈에 눈이 어두었거나 복수일 것이다. 후자라면 주변정황이 쉽게 나타날 것이다. 아니라면.. 말해 무엇하겠는가 삼척동자도 다 알 것을..
1999 년 밀레니엄을 앞둔해, 당시 한번에 관리했던 서버 대수가 개략 10대 내외였다. IBM Aix, F50, G40, Sun, HPUX.. 금액으로 따지면 7~8억 정도였고.. 그외 10여대는 로그인 계정이 없고 전원과 외부 출입만 통제했다. 속에 뭐가 들었는지 얼마인지는 모르겠다.
주 작업 워크스테이션이 IBMG40 이였는데, 웹서버겸 해서 쓰고 있었다. 시스템 관리를 열심히 하다보면 서버 근처만 가도 상태를 알수 있는 상태가 온다. 말 그대로 희안한 현상이다.
한 번은 열린 가상 터미널이랑 포트 체크하면서 닫다가... 콘솔까지 잠궈 버렸다. 정말 웃기는 당시 '콘솔이 잠기진 않겠지. 잠겨도 껐다 키면 될거야 ...' 그리고 잠겨도 로그아웃하지 않으면 되겠지 하고 잠그고 메뉴얼 보는데... 정말 잠겼다. 로그아웃되고 잠긴 것이다!
도대체 콘솔까지 잠기면 어떻게 풀라는 것인가... 속에 rootkit 이나 뭐 그딴 걸 심으란 소린가.. 1시간을 헤메다가 업체를 불러서 콘솔을 풀었다. 메뉴얼 찾다 시간 다 갔다.
...
요 즘 윈도우즈를 보면 당시의 느낌이 난다. 어떤 사람은 유닉스를 어렵다, 뭐가뭔지 모르겠다고 한다. 하지만 실상은 유닉스(BSD계열)와 리눅스는 속이다 보이는 소스를 가지고 있지만 윈도우즈는 그렇지 않다. 해서 윈도우가 편한 것이 아니라 단지 정해진 루틴을 따르고 정해진 아웃풋을 가지기를 기대할 뿐이다. 윈도우즈에서 프로그래밍을 하다보면 가끔 API와 COM+ 를 보다보면 머리에 지진이 날 것 같다.
유닉스에선 언제나 프로세스와 CPU와 IO가 발가락과 손가락에 있지만 윈도우즈의 프로세서는 뱃속에 있는 것 같다.
윈도우즈가 됐건 유닉스, 리눅스가 됐건 자신이 믿을 수 있고 속속들이 신뢰할 수 있는 시스템을 쓰면 된다.과연 그럴 수 있을까 노트북에서 윈도우를 사용하다 보면 저도 모르게 CPU가 올라가고 쿨링팬이 돈다.
누구 말처럼 달은 보지 않고 손톱에 낀 때만 쳐다보는 꼴이다.
rm 은 지우고, dd는 주로 플로피나 CD롬 처럼 가상 파일 시스템을 만들때나 law level 로 복사할때 쓴다. dd에 지우는 명령이 있었나... 물론 pipe 쓰면 당연히 지우고 덮어쓰까지 된다. 근데.. RTFM 이나 참고할 사항이 왜 이리도 많이 회자 되는가. 그말 하면 뭐 쫌 있어보이나. 아니다, 내용은 모르는 어떻게든 튀어보려는 이들이 써먹는 말일게다. 예전에 윤모씨 그런말로 온갖 먹튀짓을 다했더랬다
어찌됐건 문제의 핵심은 2가지다. 뻔하지 않는가. 돈에 눈이 어두었거나 복수일 것이다. 후자라면 주변정황이 쉽게 나타날 것이다. 아니라면.. 말해 무엇하겠는가 삼척동자도 다 알 것을..
1999 년 밀레니엄을 앞둔해, 당시 한번에 관리했던 서버 대수가 개략 10대 내외였다. IBM Aix, F50, G40, Sun, HPUX.. 금액으로 따지면 7~8억 정도였고.. 그외 10여대는 로그인 계정이 없고 전원과 외부 출입만 통제했다. 속에 뭐가 들었는지 얼마인지는 모르겠다.
주 작업 워크스테이션이 IBMG40 이였는데, 웹서버겸 해서 쓰고 있었다. 시스템 관리를 열심히 하다보면 서버 근처만 가도 상태를 알수 있는 상태가 온다. 말 그대로 희안한 현상이다.
한 번은 열린 가상 터미널이랑 포트 체크하면서 닫다가... 콘솔까지 잠궈 버렸다. 정말 웃기는 당시 '콘솔이 잠기진 않겠지. 잠겨도 껐다 키면 될거야 ...' 그리고 잠겨도 로그아웃하지 않으면 되겠지 하고 잠그고 메뉴얼 보는데... 정말 잠겼다. 로그아웃되고 잠긴 것이다!
도대체 콘솔까지 잠기면 어떻게 풀라는 것인가... 속에 rootkit 이나 뭐 그딴 걸 심으란 소린가.. 1시간을 헤메다가 업체를 불러서 콘솔을 풀었다. 메뉴얼 찾다 시간 다 갔다.
...
요 즘 윈도우즈를 보면 당시의 느낌이 난다. 어떤 사람은 유닉스를 어렵다, 뭐가뭔지 모르겠다고 한다. 하지만 실상은 유닉스(BSD계열)와 리눅스는 속이다 보이는 소스를 가지고 있지만 윈도우즈는 그렇지 않다. 해서 윈도우가 편한 것이 아니라 단지 정해진 루틴을 따르고 정해진 아웃풋을 가지기를 기대할 뿐이다. 윈도우즈에서 프로그래밍을 하다보면 가끔 API와 COM+ 를 보다보면 머리에 지진이 날 것 같다.
유닉스에선 언제나 프로세스와 CPU와 IO가 발가락과 손가락에 있지만 윈도우즈의 프로세서는 뱃속에 있는 것 같다.
윈도우즈가 됐건 유닉스, 리눅스가 됐건 자신이 믿을 수 있고 속속들이 신뢰할 수 있는 시스템을 쓰면 된다.과연 그럴 수 있을까 노트북에서 윈도우를 사용하다 보면 저도 모르게 CPU가 올라가고 쿨링팬이 돈다.
crontab
많은 사람들이 man 에 user과 system 부분이 따로 관리되고 보여준다는 것을 잊을 때가 있다. 그도 그럴 것이 맨날
같은 UI에 익숙한 사람들이 man 을 볼때 다른 섹션을 봐야 한다고 생각하겠는가. 물론 가끔은 정말 끝까지 헤집어 보고
싶을때가 있다. 금요일 밤이나 토요일에 컴퓨터 할때는 그렇겠지만..
농협 얘기가 나와서 말이지 .. 그 노트북 ...
난 그 노트북이 ibm unix 인가 리눅스 인가 뭔지 궁금하다. 스케쥴러 얘기가 나왔으니 crontab 일 것이다. 물론 다른 스케쥴러도 있다. 언젠가 crontab 은 너무 오래됐고 범위도 넒고 구닭다리 스타일이라 좀더 산듯한 ... 말하자면 참한 뭔가..
호스팅 업체를 보면 속에 꼭 필요 한 몇개 명령만 놔두고 바이너리를다 지워둔다.참..운영에 필요한 파일이 아니면 라이브러리도 다 지운다. 첨에 호스팅 서버를 보고.. 닭장 같은 느낌이 들었다.
아... idc 서버 빼와야 하는데, 내 서버... 아직도 파워없이 자고있다.
언제는 1년내도록 켜져 있었는데.. 7년 돌고 3년은 자고 있다.
농협 얘기가 나와서 말이지 .. 그 노트북 ...
난 그 노트북이 ibm unix 인가 리눅스 인가 뭔지 궁금하다. 스케쥴러 얘기가 나왔으니 crontab 일 것이다. 물론 다른 스케쥴러도 있다. 언젠가 crontab 은 너무 오래됐고 범위도 넒고 구닭다리 스타일이라 좀더 산듯한 ... 말하자면 참한 뭔가..
호스팅 업체를 보면 속에 꼭 필요 한 몇개 명령만 놔두고 바이너리를다 지워둔다.참..운영에 필요한 파일이 아니면 라이브러리도 다 지운다. 첨에 호스팅 서버를 보고.. 닭장 같은 느낌이 들었다.
아... idc 서버 빼와야 하는데, 내 서버... 아직도 파워없이 자고있다.
언제는 1년내도록 켜져 있었는데.. 7년 돌고 3년은 자고 있다.
Git, 분산버전관리 시스템
몇일째 Git 을 보고 있다.
CVS 가 오래되었다고 생각 됐을쯤 SVN 을 기웃거렸고, 사람들은 CVS와 SVN으로 두고 이제는 버전관리를 해야지 라는 생각이 점차 많아졌다.
몇년전 누가 "형상관리" 가 뭐냐고 물는데, 옆에 있던 고수 왈... "아... 지금 하시는 모든 것이 형상 관리의 범주에 들어간다고 보시면 됩니다".
이름만큼이나 형상이란 말이 거시기하지만, 버전의 흐름이 1~3개월의 주기로 바뀌는 경우가 아니라면 툴 적용을 제고해야 한다. 쉽게 말해 툴을 도입이 분산환경이고, 도입으로 얻는 이익도 분명하며 상응하는 관리자가 있어야 한다.
년 전에 웹사이트 보완하는 경우가 있었는데 프로그래머 2명, DBA, 디자이너가 한명 맡았다. 이 경우 선임 프로그래머와 선임 DBA가 있었고, 디자이너 또한 경력이 있어서 별도의 지시가 필요없고 협의와 의사전달만 필요한 상황이었다. 헌데, CVS 를 써보겠다고 선임 프로그래머가 말한다.
사실 전체 프로젝트를 보면 CVS 가 필요없는 상황이었고 그렇다면 SVN이나 Git 도 마찬가지다. 하지만 이력을 보고 Milestone 을 설정한다면 필요한 내용이다. 프로젝트 끝날 지점에 지나가는 말로 CVS인지 SVN인지 중간에 소스 날려먹고 한주 버렸다고 한다. 정말 소스를 버린 눈치는 아니고 다른 프로젝트 기웃거리느라 말아먹은 시간을 변명하는 말이였다.
...
몇개월 아니 6개월이든 1년이든 형상관리가 개발자들 관리하는 용도로 사용된다면 안하느니만 못하다. 개발자들이 수십명이상 모여 있으면 하루에 몇줄 일주일에 얼마분량의 코드가 양산되도록 하려면 개발의 전과정이 완전히 분화되어 있어야 한다. "조엘온소프트웨어"의 엑셀 개발과 같이 기획과 테스터가 다 배치되어 있고 버전관리하는 이가 배치되어 있어야 한다. 누구 말처럼 최소한 버그를 양산한 사람이 다음번 버그를 만들어 내는 사람에 대해 책임을 전가하는 방편이라도 마련되어 있어야 한다.
"Git, 분산버전관리 시스템"에는 책임있는 개발자가 로컬에서 버전관리하고, "공유"를 위해 서버에 올려 놓는다. 이말은 농땡이 치고 소스코드 날짜만 수정해서 넣는 맹랑한 사람들 잡아내는건 시간 문제도 아니다. 책에는 그런 말이 없지만 분명한 통계와 관리가 가능하다. 사실 개발자를 우대해 주는 것은 좋지만 그에게 다른 일을 시킬때는 분명히 고려해야할 사항들이 있다. 해서 안시키는 것이 좋다.
그리고 개발자에게 버전관리를 맏기돼 분명 시작은 개발자가 아니라 관리자가 해야 한다.
CVS 가 오래되었다고 생각 됐을쯤 SVN 을 기웃거렸고, 사람들은 CVS와 SVN으로 두고 이제는 버전관리를 해야지 라는 생각이 점차 많아졌다.
몇년전 누가 "형상관리" 가 뭐냐고 물는데, 옆에 있던 고수 왈... "아... 지금 하시는 모든 것이 형상 관리의 범주에 들어간다고 보시면 됩니다".
이름만큼이나 형상이란 말이 거시기하지만, 버전의 흐름이 1~3개월의 주기로 바뀌는 경우가 아니라면 툴 적용을 제고해야 한다. 쉽게 말해 툴을 도입이 분산환경이고, 도입으로 얻는 이익도 분명하며 상응하는 관리자가 있어야 한다.
년 전에 웹사이트 보완하는 경우가 있었는데 프로그래머 2명, DBA, 디자이너가 한명 맡았다. 이 경우 선임 프로그래머와 선임 DBA가 있었고, 디자이너 또한 경력이 있어서 별도의 지시가 필요없고 협의와 의사전달만 필요한 상황이었다. 헌데, CVS 를 써보겠다고 선임 프로그래머가 말한다.
사실 전체 프로젝트를 보면 CVS 가 필요없는 상황이었고 그렇다면 SVN이나 Git 도 마찬가지다. 하지만 이력을 보고 Milestone 을 설정한다면 필요한 내용이다. 프로젝트 끝날 지점에 지나가는 말로 CVS인지 SVN인지 중간에 소스 날려먹고 한주 버렸다고 한다. 정말 소스를 버린 눈치는 아니고 다른 프로젝트 기웃거리느라 말아먹은 시간을 변명하는 말이였다.
...
몇개월 아니 6개월이든 1년이든 형상관리가 개발자들 관리하는 용도로 사용된다면 안하느니만 못하다. 개발자들이 수십명이상 모여 있으면 하루에 몇줄 일주일에 얼마분량의 코드가 양산되도록 하려면 개발의 전과정이 완전히 분화되어 있어야 한다. "조엘온소프트웨어"의 엑셀 개발과 같이 기획과 테스터가 다 배치되어 있고 버전관리하는 이가 배치되어 있어야 한다. 누구 말처럼 최소한 버그를 양산한 사람이 다음번 버그를 만들어 내는 사람에 대해 책임을 전가하는 방편이라도 마련되어 있어야 한다.
"Git, 분산버전관리 시스템"에는 책임있는 개발자가 로컬에서 버전관리하고, "공유"를 위해 서버에 올려 놓는다. 이말은 농땡이 치고 소스코드 날짜만 수정해서 넣는 맹랑한 사람들 잡아내는건 시간 문제도 아니다. 책에는 그런 말이 없지만 분명한 통계와 관리가 가능하다. 사실 개발자를 우대해 주는 것은 좋지만 그에게 다른 일을 시킬때는 분명히 고려해야할 사항들이 있다. 해서 안시키는 것이 좋다.
그리고 개발자에게 버전관리를 맏기돼 분명 시작은 개발자가 아니라 관리자가 해야 한다.
국사, 한국사... 일반상식
"국사가 임용고시때 일정 수준을 넘어서도록 하도록 한다"
이런말이 나오고 있다.
그럼 다른 과목들도 그렇게 해야지. 유독 국사만 "일반 상식" 수준으로 취급하느냐 말이다.
우리가 다른 나라에서 이민와 있단 말인가.
아니 "아버지, 할아버지 얘기는 상식수준에서 하시죠' 이런 말이 되는 건가.
국사를 한국사라고 폄훼할때부터 짐작했다.
사실 뚜렷한 역사 인식을 가지고있는 사람 조차..
만주족, 한족, 몽골족... 토박이..
이런 말들에 성씨니.. 외자성씨니 이런 말을 했었다. 나또한 예외는 아니였다.
하지만 그 못난 얘기도 끝이 있고 경계가 있다.
마땅히 그래야 하고.
요즘 "보수" 라고 하는 것이 어느 한쪽만 보수라고 생각하는 뫼양인데...
그건 보수가 아니라 정체성이라는 항목이다.
다들 섬나라에서 오래 살더니만 정신이 어떻게 된 모양이다.
이런말이 나오고 있다.
그럼 다른 과목들도 그렇게 해야지. 유독 국사만 "일반 상식" 수준으로 취급하느냐 말이다.
우리가 다른 나라에서 이민와 있단 말인가.
아니 "아버지, 할아버지 얘기는 상식수준에서 하시죠' 이런 말이 되는 건가.
국사를 한국사라고 폄훼할때부터 짐작했다.
사실 뚜렷한 역사 인식을 가지고있는 사람 조차..
만주족, 한족, 몽골족... 토박이..
이런 말들에 성씨니.. 외자성씨니 이런 말을 했었다. 나또한 예외는 아니였다.
하지만 그 못난 얘기도 끝이 있고 경계가 있다.
마땅히 그래야 하고.
요즘 "보수" 라고 하는 것이 어느 한쪽만 보수라고 생각하는 뫼양인데...
그건 보수가 아니라 정체성이라는 항목이다.
다들 섬나라에서 오래 살더니만 정신이 어떻게 된 모양이다.
泛亞高鐵(범아고철)
중국이 유럽이나 중동이 아닌 동남 아시아 철도를 계획한 것은 오래된 일이다.
사실 유럽이나 중동 노선을 깐다면 당장 이익을 가져다 주겠지만, 내/외 통합과 집중을 위해선 동남아 노선이 우선이다. 이는 엄청난 비용과 시간을 들여 티벳을 향한 칭장철도에서도 나타난다. 칭장노선은 문화혁명 당시부터 시작되었고 같은 맥락에 있다.
물론 나는 중국이 아프리카 공장과 시장에서 자행했던 일을 잊지 않고있고 기억해야 할 일이다. 중국은 언제나 역사 속에서 양면 정책을 추진해 왔었고 준비와 대응 방식에 따라 이익과 침탈이 상응하게 따라왔다.
철 도 얘기가 나와서 말인데, 베이징-상하이 고속철는 엄청난 비용이 들어갔다. 기존 철도가 있음에도 1시간정도의 시간절약을 위해 놓여졌다. 1,300Km 가 결코 가까운 거리는 아니다. 하지만 시간보다는 다른 의미가 더 강하다. 그것은 중국 본토 중심의 응집과 확산을 이끌어 내기 위한 일종의 시작점이였다. 또한 수많은 사람들의 생산과 발전을 위한 큰 발걸음이다. 소위 말해 "사회적 비용"을 절약하고 "발전"을 위한 초석이라 할 수 있다.
분명히 말하지만,
"발전이란 소나 말대신 차동차를 타는 것 자체가 발전이 아니다."
"자동차를 타고 더 적은 비용과 빠른 시간에 이동할 수 있기 때문이다. 쉽게 말해 시간과 비용의 이득이 발전이라는 의미다".
그리고, 발전은
"특정 부류가 아니라 사회 전체 비용으로 측정되어 더 나아졌을때 비로서 발전" 이란 말을 쓴다.
왜냐하면 발전이란 심리적 안정, 여가증가, 환경개선, 건강이익 등도 함께 계산되기 때문이다.
미국은 자동차 문화의 나라이다. 중국과는 비교할 수 없다. 드라이브 좋아하는 건 모든 사람들이 비슷하지만 자식이 일찌감치 독립하는 미국인과 동아시아 가족관계와는 비교할 수 없는 구조다.
요즘도 세계 1등, 2등 하면서 중국과 미국을 비유하는 사람들이 있는데, 구상유치하다. 말하는 사람이 아니라 틀에 맞지 않다는 것이고 더 이상 중국과 미국을 비교하지 말라는 말이다.
사실 유럽이나 중동 노선을 깐다면 당장 이익을 가져다 주겠지만, 내/외 통합과 집중을 위해선 동남아 노선이 우선이다. 이는 엄청난 비용과 시간을 들여 티벳을 향한 칭장철도에서도 나타난다. 칭장노선은 문화혁명 당시부터 시작되었고 같은 맥락에 있다.
물론 나는 중국이 아프리카 공장과 시장에서 자행했던 일을 잊지 않고있고 기억해야 할 일이다. 중국은 언제나 역사 속에서 양면 정책을 추진해 왔었고 준비와 대응 방식에 따라 이익과 침탈이 상응하게 따라왔다.
철 도 얘기가 나와서 말인데, 베이징-상하이 고속철는 엄청난 비용이 들어갔다. 기존 철도가 있음에도 1시간정도의 시간절약을 위해 놓여졌다. 1,300Km 가 결코 가까운 거리는 아니다. 하지만 시간보다는 다른 의미가 더 강하다. 그것은 중국 본토 중심의 응집과 확산을 이끌어 내기 위한 일종의 시작점이였다. 또한 수많은 사람들의 생산과 발전을 위한 큰 발걸음이다. 소위 말해 "사회적 비용"을 절약하고 "발전"을 위한 초석이라 할 수 있다.
분명히 말하지만,
"발전이란 소나 말대신 차동차를 타는 것 자체가 발전이 아니다."
"자동차를 타고 더 적은 비용과 빠른 시간에 이동할 수 있기 때문이다. 쉽게 말해 시간과 비용의 이득이 발전이라는 의미다".
그리고, 발전은
"특정 부류가 아니라 사회 전체 비용으로 측정되어 더 나아졌을때 비로서 발전" 이란 말을 쓴다.
왜냐하면 발전이란 심리적 안정, 여가증가, 환경개선, 건강이익 등도 함께 계산되기 때문이다.
미국은 자동차 문화의 나라이다. 중국과는 비교할 수 없다. 드라이브 좋아하는 건 모든 사람들이 비슷하지만 자식이 일찌감치 독립하는 미국인과 동아시아 가족관계와는 비교할 수 없는 구조다.
요즘도 세계 1등, 2등 하면서 중국과 미국을 비유하는 사람들이 있는데, 구상유치하다. 말하는 사람이 아니라 틀에 맞지 않다는 것이고 더 이상 중국과 미국을 비교하지 말라는 말이다.
부산발 저축은행 파장
루비콘 강을 건너다 - 부산발 저축은행 파장
- 루비콘 강
로마 일화에 "루비콘 강"은 당시엔 갈리아의 총독으로 있던 케이사르가
반대 세력이던 폼페이우스를 제거하기 위해 건넜다고 한다.
당시 폼페이우스와 로마 원로원은 케이사르를 견재하고 있었기 때문에
그는 군사를 동원해 폼페이우스를 치기 위해 군사 동원해
폼페이우스의 경계지역인 루비콘 강에 다다랐다.
강가 야영지에서 부관 몇명이 주저하며 케이사르 눈치를 살피고 있는데
케이사르 왈 "저 피리 소리는 뭔가"
옆에 군사 왈 "우리 군사가 불고 있는데, 강너머에 있습니다."
케이사르 왈 "그럼 이미 강을 건넜구나"
은행이 대부업체와 다른 것은 비단 이자율이나 앞에 붙은 "공"이나 "사"
같은 말 차이 때문이 아니다. 이번 부산에서 터진 건은 많이 심각하다. 자꾸
꼬리를 자르고 나누고 있지만, 과연 어떤 상처를 남길 것인지는 미지수다.
지금은 베트남으로 이민간 친구가 있는데, 술에 취하면 가끔 과거시절
"평화의 댐" 성금을 자기가 대표해서 서울까지 와서 성금을 냈었다는 말을
하곤 한다.. "참 당시에는 뿌뜻하고 자부심이 생겼어".
현대의 금융제도와 운용에서 은행이 파산할때 남아 있는 돈은 당연히 거기
맏긴 모든 사람들의 비율대로 들어가 있는 것이다. 심정적으로야 그 궁한
마음의 비율이겠지만..
사회적 통합과 다원화를 이끌어 내기 위해서는 스포츠, 연예, 소설, 영화
이런 것들이 모두 상호작용한다. 그래서 "우리"가 있고 "세금"이 있다.
지금 돌아가는 형상은 법대로 하자는 둥 어쩌는 둥 하는데, 이미 루비콘강을
건넜다.
내일은 현충일이다.
- 루비콘 강
로마 일화에 "루비콘 강"은 당시엔 갈리아의 총독으로 있던 케이사르가
반대 세력이던 폼페이우스를 제거하기 위해 건넜다고 한다.
당시 폼페이우스와 로마 원로원은 케이사르를 견재하고 있었기 때문에
그는 군사를 동원해 폼페이우스를 치기 위해 군사 동원해
폼페이우스의 경계지역인 루비콘 강에 다다랐다.
강가 야영지에서 부관 몇명이 주저하며 케이사르 눈치를 살피고 있는데
케이사르 왈 "저 피리 소리는 뭔가"
옆에 군사 왈 "우리 군사가 불고 있는데, 강너머에 있습니다."
케이사르 왈 "그럼 이미 강을 건넜구나"
은행이 대부업체와 다른 것은 비단 이자율이나 앞에 붙은 "공"이나 "사"
같은 말 차이 때문이 아니다. 이번 부산에서 터진 건은 많이 심각하다. 자꾸
꼬리를 자르고 나누고 있지만, 과연 어떤 상처를 남길 것인지는 미지수다.
지금은 베트남으로 이민간 친구가 있는데, 술에 취하면 가끔 과거시절
"평화의 댐" 성금을 자기가 대표해서 서울까지 와서 성금을 냈었다는 말을
하곤 한다.. "참 당시에는 뿌뜻하고 자부심이 생겼어".
현대의 금융제도와 운용에서 은행이 파산할때 남아 있는 돈은 당연히 거기
맏긴 모든 사람들의 비율대로 들어가 있는 것이다. 심정적으로야 그 궁한
마음의 비율이겠지만..
사회적 통합과 다원화를 이끌어 내기 위해서는 스포츠, 연예, 소설, 영화
이런 것들이 모두 상호작용한다. 그래서 "우리"가 있고 "세금"이 있다.
지금 돌아가는 형상은 법대로 하자는 둥 어쩌는 둥 하는데, 이미 루비콘강을
건넜다.
내일은 현충일이다.
IT의 그늘
지난 2005년을 뒤로 SM을 전담 한건 5년만이다.
당시엔 '그러려니..' 했었는데, 지금은 하루에도 몇번이나 "멧돌손잡이 없다"는 말이 입을 맴돈다.
전엔 전산하는 사람이나 SM하는 사람들의 특수성으로만 생각했다. 그러나 지난달 조금씩 감이오다 오늘에서야 이유 하나를 알았다.
문제는 관리쪽에 있었다. 아무리 기술이 좋고 잘 만든다고 해도, 곧 탱자화 될 풍토를..
잠 깐 연봉제 얘기를 해보면, 연봉제라는 것은 평가를 한다는 것이고 평가는 성과를 측정하고 성과를 올리기 위한 방법이다. 또한 이를 가능케 하기 위해서는 안식년과 휴가와 측정이 있어야 한다. 우리의 정서는 어떤가.. 한국의 노조와 연봉제라는 건 어떻게 보면 섞이기 힘든 구조체이다. 이것이 IT와 묶이면 더 가관이 된다.
IT에서 개발자는 관리자들에게 더 못한 개념과 관리체계로 관리되어진다. 특히나 그들을 대하고 관리하는 방법이 서툴고 엉망이다. 해서 IT기술이 발전해도 그 Core 는 늘 뒷걸음질 치고 있다.
물론 다른 나라도 마찬가지지만 유독 우리에게 특수한 상황이 있다. 바로 관리자 능력이 부족하다.
유명한 '황..모' 사장은 업무의 메뉴얼화와 프로세서를 주구장창 주장했다. 마치 국민학교때 국민체조 시키듯 했다. 하지만 늘 부족함을 느끼는 건 사람이였다.
IT에서 늘 문서화 예기를 한다. 그 문서라는 게 '뒷사람 맛쫌봐라'가 된다.
쉽게 말해 '갑'이란 사람은 성과를 제시하는데 급급하다. 정작 중요한건 개발품이나 메뉴얼도 아닌, '갑' 당사자라는 사실을 모른다. 그 말은 프로젝트를 참여한 사람 그 자체가 중요하다는 말이다.
그 것을 잘 모르기 때문에 문서화를 하는 것이다. 문서화보다 더 중요한 것이 개발을 시키고 용역을 주는 그 사람이라는 걸 본인도, 기업도 모른다. 아무리 좋고 크고 획기적인 프로젝트라 해도 개발품이나 문서화로 끝나면 곧 사라질 운명이다.
여 러 IT기업이 자주 문을 닫지만, 덩치도 크고 기술도 있는 모별정 사업체의 마지막 도산 순간을 목도한 적이 있다. 나또한 관련(?)이 있었기에 남달랐다. 그 회사의 수많은 개발품과 코드와 문서와 매뉴얼이 있음에도 붕괴를 막을 수 없었다. 왜 그랬는지 기억하는지.. 아는 사람은 다 알것이다. 왜 그런지..
바쁘고 다양한 환경을 지원하기 위해서는 수많은 문서나 메뉴얼도 중요하지만 특히나 사람에 대한 교육과 훈련이 중요하다. 해서... 하이텍 보다는 원초적 텍이 더 강한게 아닐까..
나 또한 '갑' 이 되었을때 성과를 내고 제시하기에 급급했고, 그렇게 위로, 밖으로 돌았다. 하지만 그렇게 위로 밖으로 돌아서 무엇을 남겼는가.. '독한 녀석 하나 사라져 시원하다' 였을까..
당시엔 '그러려니..' 했었는데, 지금은 하루에도 몇번이나 "멧돌손잡이 없다"는 말이 입을 맴돈다.
전엔 전산하는 사람이나 SM하는 사람들의 특수성으로만 생각했다. 그러나 지난달 조금씩 감이오다 오늘에서야 이유 하나를 알았다.
문제는 관리쪽에 있었다. 아무리 기술이 좋고 잘 만든다고 해도, 곧 탱자화 될 풍토를..
잠 깐 연봉제 얘기를 해보면, 연봉제라는 것은 평가를 한다는 것이고 평가는 성과를 측정하고 성과를 올리기 위한 방법이다. 또한 이를 가능케 하기 위해서는 안식년과 휴가와 측정이 있어야 한다. 우리의 정서는 어떤가.. 한국의 노조와 연봉제라는 건 어떻게 보면 섞이기 힘든 구조체이다. 이것이 IT와 묶이면 더 가관이 된다.
IT에서 개발자는 관리자들에게 더 못한 개념과 관리체계로 관리되어진다. 특히나 그들을 대하고 관리하는 방법이 서툴고 엉망이다. 해서 IT기술이 발전해도 그 Core 는 늘 뒷걸음질 치고 있다.
물론 다른 나라도 마찬가지지만 유독 우리에게 특수한 상황이 있다. 바로 관리자 능력이 부족하다.
유명한 '황..모' 사장은 업무의 메뉴얼화와 프로세서를 주구장창 주장했다. 마치 국민학교때 국민체조 시키듯 했다. 하지만 늘 부족함을 느끼는 건 사람이였다.
IT에서 늘 문서화 예기를 한다. 그 문서라는 게 '뒷사람 맛쫌봐라'가 된다.
쉽게 말해 '갑'이란 사람은 성과를 제시하는데 급급하다. 정작 중요한건 개발품이나 메뉴얼도 아닌, '갑' 당사자라는 사실을 모른다. 그 말은 프로젝트를 참여한 사람 그 자체가 중요하다는 말이다.
그 것을 잘 모르기 때문에 문서화를 하는 것이다. 문서화보다 더 중요한 것이 개발을 시키고 용역을 주는 그 사람이라는 걸 본인도, 기업도 모른다. 아무리 좋고 크고 획기적인 프로젝트라 해도 개발품이나 문서화로 끝나면 곧 사라질 운명이다.
여 러 IT기업이 자주 문을 닫지만, 덩치도 크고 기술도 있는 모별정 사업체의 마지막 도산 순간을 목도한 적이 있다. 나또한 관련(?)이 있었기에 남달랐다. 그 회사의 수많은 개발품과 코드와 문서와 매뉴얼이 있음에도 붕괴를 막을 수 없었다. 왜 그랬는지 기억하는지.. 아는 사람은 다 알것이다. 왜 그런지..
바쁘고 다양한 환경을 지원하기 위해서는 수많은 문서나 메뉴얼도 중요하지만 특히나 사람에 대한 교육과 훈련이 중요하다. 해서... 하이텍 보다는 원초적 텍이 더 강한게 아닐까..
나 또한 '갑' 이 되었을때 성과를 내고 제시하기에 급급했고, 그렇게 위로, 밖으로 돌았다. 하지만 그렇게 위로 밖으로 돌아서 무엇을 남겼는가.. '독한 녀석 하나 사라져 시원하다' 였을까..
Friday, January 11, 2013
CES 2013 - 모니터
CES 2013 휘어지는 모니터 의견..
2011년 3D TV 보고 "우와~!!" 했다.
'좋은 기술이야. 하지만 이딴 상품을 왜 만들어!'
'세금 퍼 먹는, 대책없는 상품'이라
신부장님한테 열변을 토했었다.
.
.
.
2년 후, 이번엔 휘어지는 모니터다.. 된장!
'저걸 상품이라고...' 한심타.
아무리 "궁~민~" 이 밀어 준다지만,
'장님 문고리 잡다' 식으로 계속가는 거 넘 하다.
생각난 김에 직접 문고리 만들고
"매번" 속 썩히는 파워 스위치 올린다.
디자인은 실용이여야 한다는 말은 회귤이 되었다!
[파워는 딱 켜지고 딱 꺼져야 함]에도
이건 마술램프 문지르듯이 문질러 대야 한다니, 아..
2011년 3D TV 보고 "우와~!!" 했다.
'좋은 기술이야. 하지만 이딴 상품을 왜 만들어!'
'세금 퍼 먹는, 대책없는 상품'이라
신부장님한테 열변을 토했었다.
.
.
.
2년 후, 이번엔 휘어지는 모니터다.. 된장!
'저걸 상품이라고...' 한심타.
아무리 "궁~민~" 이 밀어 준다지만,
'장님 문고리 잡다' 식으로 계속가는 거 넘 하다.
생각난 김에 직접 문고리 만들고
"매번" 속 썩히는 파워 스위치 올린다.
디자인은 실용이여야 한다는 말은 회귤이 되었다!
[파워는 딱 켜지고 딱 꺼져야 함]에도
이건 마술램프 문지르듯이 문질러 대야 한다니, 아..
Subscribe to:
Posts (Atom)
Pranten
Pranten
-
* Cinnamon shortcut The Complete List Of Linux Mint 18 Keyboard Shortcuts For Cinnamon by Gary Newell Updated March 23, 2017 1. Toggle...
-
* postgres - pgmodelear ** new version > download: https://github.com/pgmodeler/pgmodeler sudo apt-get install qt-sdk sudo apt-get ins...
-
how to connect postgres in openoffice --> https://wiki.openoffice.org/wiki/Base/connectivity/PostgreSQL Base/connectivity/PostgreS...