putty 설정 팁

Others 2009. 9. 1. 11:27
putty를 사용하다 보면 매번 설정 값이 초기화 되는 불편함이 있습니다.
아래는 putty 설정을 백업해서 다른 컴에서도 사용하는 방법은 아닙니다. (고건 다른 검색으로 찾아보시기 바랍니다.) 아래 방법은 한 컴에서 putty 사용시 레지스트 정보를 변경함으로서 
매번 재설정해야 되는 불편함을 줄이는 방법입니다. 


1. 한글쓰기 
1) window 레지스트 편집기를 연다
2) 내 컴퓨터>HKEY_CURRENT_USER>Software>SimonTatham>Putty>Sessions 중에 설정하고자 하는 세션선택 후 FontCharSet Key 값을 찾아 더블클릭한다.
3) 16진수 옵션 선택후 값데이터를 81로 입력한다.
4) putty를 재시작 한다.


2. 설정>이전화면 저장 줄수 수정
1) 1번 한글쓰기 방법중 1), 2) 와 동일하다 다만 키값을 ScrollbackLines 를 찾아 10진수 설정수 원하는 라인수를 입력한다.
2) putty 재시작 한다.

3. ANSI폰트 컬러변경 
본인경우 ANSI 기본 파랑 색이 잘 안보인다.;; 나이가 들어서인지;; 뚫어지게 가까이 봐야한다;
이경우 보라색으로 바꾸어보자
1) 1번 한글쓰기 방법중 1), 2) 를 참고한다.
2) 설정에서 색상 미세조정을 바꾸는 것과 매칭되는 레지스트 값은 Colour14를 140,140,255 로 설정한다.
3) putty 재시작 한다.
아.. 눈이 편하다.. 보라색 좋아하는 난.. 변태기질이 있는건가;;
  

Posted by 빈솔B
,

eclipse usage Tips

Java 2009. 8. 1. 09:49
1. File Associations : If you want to use new some EDITOR, Aftre installing that, Go to Window>Preferences>Genernal>Editors>File Associations. You can't miss it!

2. Language encoding setting : if you have some problem to read contents. you have to file encoding setting. Window>Preferences>Genernal>Content Types. and then Fill in the blank with the proper encoding setting like 'utf-8', 'euc-kr' and so on.
If you have same problem with other extention file. you have to add that extension file format to File associations list. For example, Choose HTML on Contens types, Push the 'Add' button, Enter content type association to add:(*.vm).
Posted by 빈솔B
,

eclipse more fast loading

Java 2009. 8. 1. 08:26
v3.1 이상버전은 eclipse.ini 에 설정을 해보자.

-vmargs
-Xverify:none
-XX:+UseParallelGC
-XX:PermSize=20M
-XX:MaxNewSize=32M
-XX:NewSize=32M
-Xmx96m
-Xms96m
Posted by 빈솔B
,
윈도우 환경
에서 알맞는 버전의 setuptools를 설치한다.
설치후

dateuti module를 다운받는다.

압축 푼 폴더에서
python setup.py build install
설치한후  
테스트 파일 성공적이면 설치 완료이다.
python test.py





리눅스 환경
http://pypi.python.org/pypi/setuptools#downloads
에서 알맞는 버전의 setuptools를 먼저 설치한다.
 wget http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c9-py2.5.egg
설치후
sh setuptools-0.6c9-py2.5.egg

dateuti module를 다운받는다.
wget http://pypi.python.org/packages/source/p/python-dateutil/python-dateutil-1.4.1.tar.gz
압축을 푼다.
tar -zxvf python-dateutil-1.4.1.tar.gz

모듈을 설치한다.
python setup.py build install

테스트 파일 성공적이면 설치 완료이다.
python test.py


Posted by 빈솔B
,

HTML5

Html 2009. 3. 10. 18:56
- WhatWG

- 새로운 것?
새 구조: aside, figure, section
새 인라인요소: time, meter, progress
새로운 내장요소:video, audio
새로운 대화형요소: details, datagrid, command

- HTML5 == Web Application 1.0

- namespace, schema 가 없다. 태그 안닫아도 된다. 브라우저 오류에 관대하다.

- 추가된 것?
( div + section ).append( header, footer, nav )
( em, code, strong ).append( meter, time, m )
(img, embed).append( video, audio )

- 브라우저가 html5를 지원하지 않는 경우 그레이스풀하게 자신의 버전을 낮춘다.

- 구조적 블록 요소
section : html의 heading 내용
header : 머리글, head 요소와 다름
footer : 바닥글, 전자편지 서명
nav : 링크 모음
article : 개별 항목
4에서는 div 남발로 복잡해보임 vs 5에서는 구조적
5에서는 더 이상의 div 필요없다. class 속성으로 구역종류 표시할 필요없다. 표준 이름이 구역을 나타내기 때문. 오디오, 모바일, 기타 비표준 브라우저에서 중요해질 수 있다.

- 의미적 블록 요소
aside : 흐름에서 벗어나는 문장(참고, 팁, 사이드바, 독립인용, 괄호 삽입구등..)
4에서는 사이드바를 흔히 표로 구현 but 5에서는 aside 이용해 합리적 구현 가능
사이드 바가 놓일 위치는 css에서 힌트를 얻어 브라우저가 판단함.

figure : 이미지 블록과 제목 표현
5에서 figure 요소 사용시 브라우저는 (특히, 스크린 리더는) 이미지와 이미지 제목을 분명하게 연관짓게 된다.
이미지 외에도 audio, video, iframe, object, embed 요소 제목 붙일때도 사용하면 편리.

dialog : 여러 사람 간에 일어나는 대화 표현
5에서 dt는 연설자로 dd는 연설로 중복정의함. 정확한 문법은 아직 논의가 분분.

- 의미적 라인 요소
4에서는 var, code, kbd, tt, samp 라는 소스 코드 살짝 병경한 인라인 요소 5개 
기술자와 저작자 간의 불균형 해소.

mark : 강조는 아니지만 '주목' 정도. (예, 구글의 저장된 페이지)

time : 특정시간 표현, 요소 내용은 어떤 형식도 가능, but datetime 속성을 사용해 시스템이 인식하는 시각형식 지정해야 함. 검색엔진, 달력 프로그램과 같은 응용프로그램에서 시각을 인식 용이해진다.

meter : 특정 범위 숫자 값 표현. 속성은 value, min, low, high, max, optimum 사용하여 시스템이 인식하는 숫자 값을 지정해야 한다.

progress : 현재 진행 중 상태 표시, 속성은 value는 현재값, max는 최대 값

- 내장된 미디어
video : 비디오 재생 요소
현재의 웹 비디오 플레이어는 각각의 독점적 기술을 사용하낟. 유투브는 플래시, MS는 윈도우미디어, 애플은 퀵타임을 사용한다. 그래서 모든 브라우저에서 돌아가는 비디오 내장 마크업이 없다. 그래서 video 나옴.
특정 형식과 코덱 선호 여부는 아직 논의중. 결국 시장에 의해 판가름 될꺼라 판단됨.

audio : 음악 재생 요소, autoplay 속성은 사용자 요청없이 재생. loop는 반복횟수 

- 상호작용
HTML 5는 Web Application 1.0의 그늘에 속함. 다음의 새 요소의 추가로 웹페이지와 유저간의 상호작용을 높힌다. 아래 요소는 유저 선택과 동작에 따라 페이지 내용이 바뀌지만 새페이지를 읽기위해 서버와 통신하지 않는다.

details : 기본적으로 표시되지 않는 상세정보. 각주나 후주 용도이다. legend 요소로 상세정보 요약해도 좋다.
open 속성(디폴트 펼침) 지정 가능하다.

datagrid : 그리드 컨트롤 제어, 기존의 정적 자료 표현과 달리 스크립트가 동적으로 갱신하는 트리, 목록, 표에 사용. dataglid 초기 자료를 table, select 내용에서 가져온다. 행과 열셀 선택, 축소, 편집, 삭제등 자료를 직접 조작할 수 있는 인터페이스가 추가되었다. (DOM HTMLDataGridElemnt)
초기자료를 DataGridDataProvider 개체를 이용해 나중에 동적으로 추가해도 상관없다. db로 부터 ajax 통신할수 있는 어느 곳이든 가능하다. 

menu & command : menu가 4에서 없어졌다가 5에 다시 컴백했다. 대신 command를 달고 돌아왔는데 각 요소는 동작을 유발한다. checked 속성, radiogroup 속성을 지정할 수 있다.
위의 간단한 명령 목록 외에도 툴바나 팝업 컨텍스트 메뉴에도 menu요소를 사용한다. type속성을 toolbar, pop으로 지정한다. icon속성은 버튼에 이미지. label: 메뉴제목

- 결론
HTML5는 마크업을 더욱 간단하고 명료하게 만든다(유연성은 어떨지 잘 모르겠다..) 아마 div/span 사용이 줄어들 것이다. 구버전 htm만 지원하는 브라우저라도 HTML5를 읽기에는 무리가 없다. 왜냐면 인식하지 못하는 요소는 기본적으로 무시되는 HTML방식 때문이다. 모두가 사용하기 쉽도록 상호운영성을 충분히 고려하여 신중하게 요소를 정의했다고 한다.

자세한 내용은 아래 url을 참고하자.

refer to :














Posted by 빈솔B
,

싱글턴(Singleton) 패턴

Java 2009. 3. 5. 21:27
싱글턴(Singleton):자바 언어에서 JVM 내부에 생성되는 객체의 인스턴스 수를 하나로 국한시키고자 할 때 사용
private static MyObject instance = null;
public static MyObject getInstance ()
{
if (instance == null)
{
instance = new MyObject() ;
}
return instance;
}
private MyObject()
{
//객체생성에 필요한 초기화 작업을 여기서 수행...
}

MyObject 라는 이름의 객체를 만들기 위한 클래스를 정의하고 있다. 클래스의 생성자(constructor)가 프라이빗(private) 으로 선언되어 있기 때문에 MyObject의 인스턴스가 필요한 코드는 반드시 public으로 선언되어 있는 getInstace 메소드를 통해 접근해야 한다. getInstance 메소든 static으로 선언되어 있기때문에 MyObject.getInstace()처럼(객체 생성할 필요없이) 클래스에 대한 참조를 이용해서 접근 할수 있다.

연습문제: 위의 코드는 Thread-safe 일까?

패턴은 '생성적' '구조적' '행위적'으로 세 개의 범주로 구분되어진다.
- 프로그램의 '완성도'와 '미학'은 '패턴' 자체에 있는 것이 아닌 그 패턴을 이용하는 프로그래머의 능력과 자세에 달려있다.




refer to '프로그래밍은 상상이다'-임백준




Posted by 빈솔B
,
"설계 패턴은 객체지향 시스템 안에서 반복해서 등장하는 설계와 관련된 문제를 해결하기 위한 일반적인 기법에 이름을 붙이고, 동기를 부여하고, 설명을 한다. 그것은 문제를, 해결책을, 그리고 그 해결책을 언제 적용해야 하는지, 적용한 결과는 무엇인지를 설명한다. 그것은 또한 실직적인 구현에 대한 힌트와 예제도 제공한다. 해결책은 대게 문제를 해결하기 위해서 필요한 객체와 클래스를 일반적인 방식으로 배치한다. 해결책은 주어진 문제를 특정한 문맥(context) 안에서 해결하기 위해서 다음어지고 구현된다." - 1991년 OOPSLA에서 네 명의 일당들(에리히 감마, 리처드 햄, 랄프 존슨, 존 블리시데스 등..)이 한 자리에 모여 여러 개의 패턴을 집대성한 책 [Gof의 디자인패턴] 중에서..

- 패턴은 외워선 아무 소용없다.
- 패턴이 필요한 '동기'
- 패턴이 제공하는 해결책 사용 '시점'
- 해결책 사용한 '결과' 를 이해하는 것이 핵심
- 예, 싱글턴(Singleton):자바 언어에서 JVM 내부에 생성되는 객체의 인스턴스 수를 하나로 국한시키고자 할 때사용, 팩토리(Factory)


Posted by 빈솔B
,

디버깅

Java 2009. 3. 5. 21:06
'안정적인 소프트웨어를 만드는 일은 프로그래머들이 세부사항에 대한 문서를 자세하게 기술하지 않았다는 사실 때문에 어려움에 자주 봉착하게 된다. 따라서 소프트웨어에 대한 문서는 대개 불완전하거나 낡은 것이 된다. 게다가 복잡한 소프트웨어는 덩치가 너무나 커서 한 사람이 시스템의 모든 부분을 파악하는 것이 실질적으로 불가능하다.'

'소프트웨어 시스템'은 흔히 여러 개의 컴포넌트로 구성되어 있다. 이러한 컴포넌트들은 서로 독립적인 별개의 조직에 속해있는 사람들이 서로 다른 개발과 테스팅 방법론을 이용해서 개발한 경우가 많다. 이러한 시스템의 모퉁이에서 발생하는 버그를 잡는 일은 며칠 혹은 몇 주의 시간이 요구될 수 있다.'

- '완벽한' 소프트 웨어는 세상에 존재 하지 않는다. 사람의 '직관'으로 풀어야 할 문제이다. 하지만 그 '직관'을 과학적 방법론과 결합시키려는 노력은 필요하다. 디버깅은 '내공'이다.


refer to 
'프로그래밍은 상상이다'-임백준
Posted by 빈솔B
,
* 우선 가볍게 키보드를 두드리면서 코드의 전체 윤관을 잡고, 다시 처음으로 돌아가 조금씩 각 부분의 디테일을 살려나가는 방식  - 그레이엄

* 프로그래밍이 '예술성' vs '생산성'

* 예의를 잃지 않는 논쟁은 프로그래밍 실력을 키우는 가장 큰 지름길!

* 서로에게 영향을 주고 받는 변증법적인 과정으로, 서로에게 자극이 되고 자신의 논리를 강화시키는 단계를 밟자.

*  '코딩 컨벤션'을 지키자. 

* '소설처럼 읽히는 프로그램' 작성하자.(요건 3가지, '구조', '코딩 관습', '설명문')

* 다른 사람이 작성한 프로그램 관리하기 = 남이 키우던 강아지 키우기

* 코드의 '가독성(readability)'는 코딩습관을 통한 겉모습만 치중된 것만을 말하는 것이 아니다. '소설처럼 읽히는 프로그램'의 가장 큰 덕목은 프로그램의 '구조'가 잘 짜여져 있는 것이다.

* 양심적으로 주석 달자

refer to 
'프로그래밍은 상상이다'-임백준

Posted by 빈솔B
,
http://java.sun.com/docs/books/tutorial/information/resources.html

Java Developer's Journal 
http://www.sys-con.com/java/
An online subset of a print magazine. Includes source code and selected articles.


Posted by 빈솔B
,