'볼거리, 읽을거리, 놀거리'에 해당되는 글 236건

  1. 2004.12.30 캐럿보이넷 :: 실행시간 계산하는 코드..
  2. 2004.12.15 캐럿보이넷 :: 대한민국 언론 화이팅~!
  3. 2004.12.14 캐럿보이넷 :: 하루 24시간을 두배로 사는 20가지 조언
  4. 2004.12.10 캐럿보이넷 :: 컬러테라피 인테리어
  5. 2004.12.05 캐럿보이넷 :: 스펀지.. 지식..
  6. 2004.12.04 캐럿보이넷 :: Donkey kong Country
  7. 2004.12.02 캐럿보이넷 :: 작년 이맘때쯤 삽질했던거..
  8. 2004.11.30 캐럿보이넷 :: 먹는것이인성을 좌우한다
  9. 2004.11.30 캐럿보이넷 :: DirecDraw
  10. 2004.10.29 캐럿보이넷 :: 개발-넷) 자신만의 클래스를 정의하자.
  11. 2004.10.29 캐럿보이넷 :: 개발-하나) 개발 생산성을 높이기 위해 고민하자.
  12. 2004.10.23 캐럿보이넷 :: [리눅스] 네트웍/인터넷 관련 툴 사용법
  13. 2004.10.22 캐럿보이넷 :: 진정으로 잘 사는 도시인 10계명
  14. 2004.10.22 캐럿보이넷 :: Visual C++ 단축키(퍼옴)
  15. 2004.10.22 캐럿보이넷 :: 택배 화물추적 주소
  16. 2004.10.22 캐럿보이넷 :: Cannot find the definition (implementation) of this function 2
  17. 2004.10.22 캐럿보이넷 :: Gloomy sunday 스나이퍼가 중얼거리는 부분...
  18. 2004.10.22 캐럿보이넷 :: 웹에서 텍스트박스나 버튼등에 배경 넣기
  19. 2004.10.22 캐럿보이넷 :: 웹페이지를 열면 자동으로 연사람 IP를 메일로 알려주는 php소스..
  20. 2004.10.22 캐럿보이넷 :: 각 은행 고객별로 수수료 절약하는 법
  21. 2004.10.22 캐럿보이넷 :: 물고기게임
  22. 2004.10.22 캐럿보이넷 :: 마우스쫒아다니는 토끼
  23. 2004.10.22 캐럿보이넷 :: 제로보드 백업
  24. 2004.10.22 캐럿보이넷 :: 자신의 계정에 phpMyAdmin 설치하기
  25. 2004.10.22 캐럿보이넷 :: mysql백업
  26. 2004.04.05 캐럿보이넷 :: 클래스 맴버함수를 콜백함수로 사용하기

[CODE] #include<time.h> { .... clock_t start, stop; double duration; start = clock(); (시간잴소스 코드...) stop=clock(); /*CLK_TCK=초당 똑닥거리는 수 */ duration = ((double) (stop-start)) / CLK_TCK; ..... } [/CODE]

으.. 요즘 날씨가 많이 춥다...

따듯하게 입고다녀야지..



.
Posted by 장안동베짱e :



메신저에 뿌리기 : http://news.paran.com/scartoon/cartoonview.php?dir=518&id=5180045
블로그에 붙이기 : <img src="http://ntafile.paran.com/UPLOAD/Cartoon/nangam_045.jpg">



Posted by 장안동베짱e :
출처: http://www.jihyeon.net/blog/?no=21

1. 그날의 기분을 중요시한다.
2. 아침 일찍 일어난다.
3. 자는 시간에 관계없이 일어나는 시간을 일정하게 맞춘다.
4. 아침 일찍 일어나기 힘들다면 차 한잔 마시는 습관으로 시작한다.
5. 일어나서 맨 처음 할 일은 찬물로 세수하는 일이다.
6. 허둥대는 아침이 아닌 5분의 명상으로 아침을 시작한다.
7. 다음날의 계획은 전날 밤에 세운다.
8. 다음날 입을 옷은 미리 챙겨둔다.
9. 자정 전에 무조건 잘 수 있도록 노력한다.
10. 머리를 베개에 묻는 순간 모든 것을 잊어라.
11. 잠 안 오는 밤에 취할 수 있는 가장 좋은 방법은 독서다.
12. 일에 있어서나 사람에 있어서나 범위를 좁혀 선별하되 정해진 것에 집중 투자한다.
13. 10분의 낮잠은 밤잠 한시간의 차이가 있다.
14. 필요한 일과 필요치 않는 일을 구분한다.
15. 통근시간이 매우 생산적인 시간이 될 수 있음을 명심한다.
16. 여유 있는 계획을 세운다.
17. 모든 일에는 데드라인이 있다.
18. 모든 일에는 가 있다.
19. 모든 계획은 시작시간과 끝시간을 명시한다.
20. 항상 최상의 선택으로 시간을 낭비하지 않는다.

아놀드 베네트의 "아침의 차 한잔이 인생을 결정한다"에서
Posted by 장안동베짱e :
컬러테라피 인테리어
색으로 가족의 건강과 행복을 지킨다!
컬러는 건강과 심리상태에 많은 영향을 미친다. 컬러를 이용해 건강과 성격 변화에 도움을 주는 것이 컬러테라피.
고대 이집트에서는 색으로 질병을 치료했으며 현대에는 색상을 통해 성격과 심리상태를 파악하기도 한다. 가족들에게 필요한 컬러로 집안을 꾸미면 더욱 건강하고 화목해질 수 있다. 7가지 색상을 활용한 컬러테라피 인테리어 배우기.
편안한 기분과 안정감을 주는 핑크 & 바이올렛

클래식한 벽면과 로맨틱한 의자, 샹들리에로 꾸민 가족실이 화사하면서도 편안해 보인다.
핑크와 바이올렛의 매치는 달콤하면서도 로맨틱한 분위기를 연출한다.

 

 

Pink
마음을 안정시켜 주는 핑크색. 1980년 교도소 내의 폭력으로 고심하던 미국에서는 당시 회색이었던 교도소 내부를 핑크색으로 바꾸자 폭력사고가 눈에 띄게 줄어들었다고 한다.
자궁 내부의 색상이라 편안함과 안정감을 주는 핑크색은 따뜻하고 화사해 가족실이나 아이방에 활용하면 좋다.

Violet
우아한 느낌의 보라색은 식욕을 저하시키는 역할을 하기 때문에 다이어트에 도움이 되며 심장 활동을 편안하게 해준다. 불면증이 있다면 침구와 소품을 보라색으로 선택할 것! 편안한 휴식과 숙면을 취할 수 있도록 도와준다.

 

 

긴장 완화에 효과적! 블루 & 브라운

 

긴장을 풀어주는 블루와 브라운 색상을 활용하여 꾸민 침실은 세련되어 보이면서도 차가워 보이지 않는 것이 특징. 양한 톤의 블루 컬러를조화롭게 활용하여 색다른 분위기를 만들었다.

 

 

 

 

 

◀ Blue
파란색은 긴장이나 불안감을 가라앉히고 알레르기 및 피부개선, 피로 회복 등에 효과적인 것으로 알려져 있다.
색채 병리학에서 파란색은 두통, 신경성 고혈압, 불면증, 신경통, 히스테리 등의 치료에 사용된다.
마음을 차분히 가라앉히고 집중력이 향상되기를 원한다면 파란색으로 공간을 꾸미면 도움이 된다.

▶ Brown
아늑한 느낌을 주는 브라운 컬러는 가을과 울에 특히 많이 활용하는 컬러.
차분한 안정감과 따뜻함을 느끼게 해주기 때문에 거실 등 넓은 공간에 사용하면 좋다. 브라운을 활용해서 꾸민 공간은 긴장을 완화시켜 편안함을 느끼게 해준다.

기분 좋아지는 옐로· 오렌지 & 집중력을 높여주는 그린 컬러

바라보기만 해도 마음속까지 환해지는 기분 좋은 거실 풍경. 군데군데 그린 컬러를 사용해 차분함을 더했다.
오렌지 색상의 러그는 따뜻한 느낌을 주기에 안성맞춤.

 

 

 

 

 

 

◀ Yellow & Orange
노란색은 우울하거나 초조한 기분을 완화시켜 준다. 아이가 밥을 잘 먹지 않을 때 옐로와 오렌지로 주방을 꾸미면 식욕이 높아진다고. 욕실에 노란색 타일을 활용하거나 노란색 타월을 걸어두면 마음이 밝아지고 변비 해소에도 도움이 된다.
이밖에 노란색은 당뇨, 소화불량, 신장질환 등에 효과적이며 오렌지 색상은 호흡기 질환, 갑상선 기능장애, 의욕 저하 등에 치료효과가 뛰어나다.

▶ Green
그린은 스트레스 해소, 집중력 강화, 안정, 혈액순환 등에 도움이 된다. 심리적으로 자극을 주지 않기 때문에 신경과 근육의 긴장을 완화시켜 주고 마음을 평온하게 해주는 컬러.
집중해서 일해야 할 때는 방안의 벽지를 그린 컬러로 선택하거나 녹색 식물, 소품 등을 놓아두면 효과적이다.   (끝)

Posted by 장안동베짱e :

⊙ 라면을 먹고 얼굴이 붓지 않으려면 (우유를 부어 먹으)면 된다. (★★★★☆)
: 우리가 잠을 자는 동안에는 일정량의 수분을 몸에서 배출되는데 라면을 먹고 잠을
자면

라면의 염분이 수분을 붙들어 놓아 얼굴이나 몸이 붓게 되는 것이다. 그러나 라면에

우유를 부어 먹으면 우유의 칼슘과 칼륨이 라면의 염분을 몸 밖으로 배출시켜

몸을 붓지 않게 해준다.


⊙ 딸꾹질은 (혀를 잡아당기면) 멈춘다. (★★★★)
: 딸꾹질을 일으키는 신경은 주로 혀에 분포되어있다.

그래서 혀를 잡아당겨 딸꾹질을 일으키는 신경에 다시 자극을 주면

딸꾹질을 멈추게 된다.

(혀 당기는 법 : 혀 아래 안쪽 깊숙이를 지압하듯 지긋이 잡아 준 다음

확 잡아 당기지 말고 부드럽게 뺀 뒤, 30초 정도 잡고 계시다가 놓으면 됩니다.)


⊙ 술에 취했을 때는 (계란 프라이를 먹으)면 깰 수 있다. (★★★★☆)
: 콜레스테롤은 위 내의 알코올을 분해시키는 기능을 한다.

그렇기 때문에 콜레스테롤이 많이 함유된 계란이 술 깨는 데 효과적이다.

좀 더 빠른 효과를 보기 위해서는 계란의 노른자를 덜 익힌 프라이나

날계란 상태로 먹는 것이 더 좋다고 한다.

스펀지에서 실험을 해 본 결과 계란 프라이를 먹은 1시간 후 혈중 알코올 농도를

측정해보니 수치가 떨어진 것으로 확인되었다.


⊙ 스펀지 연구소 : 남자는 모른다, 여자는 모른다.
: 영원한 미스테리 남과 여...
스펀지는 전국의 남녀 500명을 대상으로 남자들이 모르는 여자 여자들이 모르는 남
자에 대해 설문조사를 해 보았다.



§ 여자들은 모른다 1 - 남자 화장실 소변기는 자동이다.
: 자동 센서가 있어 변기 앞에 다가만 가도 물이 자동으로 나온다는 사실!


§ 남자는 모른다 1- 에티켓 벨!
: 자신의 용변보는 소리를 가리기 위해 물소리, 새소리 등의 벨소리가 나오는
기계가 있다는 사실!


§ 남자들은 모른다 2- 모든 여자들은 학창시절 기절하길 꿈꾼다.
: 조회시간, 체육시간에 졸도해 체육선생님께 업혀 양호실에 실려가는
간절한 소망을 품는다는 사실!


§ 여자들은 모른다 2 - 남자의 서류 가방은 비어있다.
: 정말 복잡한 여자들의 핸드백 속과는 달리 달랑 우산 하나, 볼펜 하나만
들어있을 정도로 남자들의 서류 가방은 비어있다는 사실!


⊙ (아킬레스건을 주무르) 면 몸이 주~욱 늘어난다. (★★★★☆)
: 허리를 숙여 손이 바닥에 닿는 유연성 테스트를 잘하려면 발목 뒤편의

아킬레스건을 주물러주면 된다.
약 10분간만 주물러주면 근육이 이완되어 최고 15cm 정도까지 몸이 늘어난다.
그러나 이것은 단 1회성 효과를 볼 수 있는 방법이지만 지속적으로 아킬레스건을
마사지 해주면 몸이 유연해지는데 많은 도움을 준다고 한다.


⊙ 아침에 얼굴이 부었을 때 (면봉) 하나면 된다. (★★★★)
: 지난 밤, 지나친 수분 섭취나 엎드려 잠을 자 부은 얼굴...
이렇게 부은 얼굴을 간단하게 가라앉히는 획기적인 방법은
바로 면봉으로 손 등 부분의 합곡혈을 10분간 눌러주는 것!!
엄지 손가락과 검지 손가락 끝이 만나는 움푹 파인 부분이 합곡혈인데,
이 곳을 지압해 주면 혈액 순환이 잘 돼 부은 얼굴이 금방 가라앉는 효과를
볼 수 있다.
Posted by 장안동베짱e :
어렸을때 오락실에서 했던게임중하나..


invalid-file

에뮬레이터 다운로드




invalid-file

1탄 다운로드





invalid-file

2탄 다운로드


Posted by 장안동베짱e :
일단,
c 와 자바의 구조체 타입이 틀립니다

에를 들어 C에서는 역word박식을 사용하고
(예)
258 ==> 0x01 0x02 이여야 되는데
실제로는 0x02 0x01 로 들어감

그래서 안됩니다.
그리고 float형도 마찬가지고요
자바는 point가없고 구조체가 없죠
그래서 C와 연동하기가 좀 어렵습니다

그래서 많은 분들이 C 와 JAVA 를 연동하는 방법을 물어오시는데

일단 C 와 JAVA에서 쓸수 있도록 공통된 Type은
없습니다

이유는 byteStream으로 전송하니까
(추가설명 할려면 너무길어서 생략)

그래서 일단 한번 가공해 조야되요

C의 Interger Stream을 Java의 형태로 바꾸는
예제를 한번 보겠습니다

파라메터로 소켓에서 읽은 4byte를
public int toInt( byte src[] )
{
try{
byte[] tmp = new byte[4];
tmp[0] = src[3];
tmp[1] = src[2];
tmp[2] = src[1];
tmp[3] = src[0];
DataInputStream dis = new DataInputStream ((InputStream)new ByteArrayInputStream(tmp));
return dis.readInt();
} catch(IOException e) {
return -1;
}
}

이런 형태로 쓰면 되고

C에서 구조체를 Stream으로 전송시엔
Java에서는 Class를 만들어 쓰면 편리 하지요..



ps. 아름이가 애플릿 예제 있나 물어 보길래 찾아 보다가 옛날에 몰라서 삽질했던거 생각나서 올림..
Posted by 장안동베짱e :
식생활을 어떻게 해 나가느냐에 따라 건강이 좌우된다는 사실은 모든 건강연구가들의 한결같은 결론이다. 질병은 어느날 갑자기 아무런 이유없이 생기는 것이 아니며, 오랫동안의 잘못된 생활, 그중에서도 잘못된 식생활이 미치는 영향이 가장 크다고 할 수 있다. 자기에게 맞지 않는 잘못된 식생활을 계속하다보면 신체에 이상이 생기고, 그 신체 이상에 대한 몸 안의 자연치유력의 경고가 바로 우리가 병이라고 일컫는 현상이라고 할 수 있다.

■ 먹거리가 건강을 좌우한다


■ 먹거리가 인성을 좌우한다.







.
Posted by 장안동베짱e :
DirecDrawsms 7.x버전까지만 사용되고 이후 버전에서는 DirectGraphic으로 통합되어 사용되고 있다.

BUT!!!

수업시간에 교수님께서 하라고 하시니.. 므.. 떫어도 해야지..;
교재도 GDI랩에서 만든 교재를 쓰는데..
당최 예제가 없는 책(?)이다..
오타도 많고.. 종민이 말로는 빠진부분도 있는것 같다던데..
교수님 수업스타일도 그냥 앉아서 휙휙 설명하셔서..
잘 알아 먹기 힘든 과목이다.
예제라도 있었으면 좋으련만...


_M#]



.
Posted by 장안동베짱e :
출처 : 데브피아(조휘경님 글)


실무에서 프로젝트를 수행하다 보면 매번 중복되는 작업을 하게 된다. 예를 들면 레지스트리의 값을 읽고 쓰는 작업, GDI를 이용한 그래픽 작업, 멋진 버튼 같은 컨트롤들의 구현 작업 등 프로젝트에서 중요한 위치의 일이 아니면서도 안 할 수도 없고, 시간은 많이 걸리고, 코드도 복잡해서 프로젝트 전체 코드를 읽는데 적잖이 부담을 준다.



이전에 개발의 생산성에 관한 주제를 다루면서 이미 누군가 고민한 사람이 있을 테니 찾아보라고 언급한적이 있다. www.devpia.com www.codeproject.com www.codeguru.com 등의 사이트가 존재해서 얼마나 고마운지 모른다. 만일 내가 세세하게 모두 구현하려 한다면, 정말 많은 시간이 필요할 것이다. 모두 그러하겠지만 이런 개발자 사이트에서 적정한 코드를 구했다면, 자신의 것으로 소화해내는 작업을 수행해야 한다.



MyMSNMessenger 에서도 여기 저기서 구한 몇 개의 클래스들이 사용되는 그 소스에 관한 자세한 설명은 배제하기로 한다. 각 부분에 대한 이해는 여러분의 몫으로 남기고, 클래스들의 목적 및 사용법만 설명한다.



MyMSNMessenger 에서 다음과 같은 함수와 클래스들이 있다.



1. RgMgr.h 에는 레지스트리에 데이터를 저장하고 읽어들이는 함수가 선언되어 있다.



#define MY_DEFAULT_KEY "SoftWare\\MyMSNMessenger"

BOOL TfcGetRegData (LPCTSTR lpszKey, CString& strData);

BOOL TfcSetRegData (LPCTSTR lpszKey, LPCTSTR lpszData);

BOOL TfcGetRegData (LPCTSTR lpszKey, int& nData);

BOOL TfcSetRegData (LPCTSTR lpszKey, int nData);



함수명에서도 알 수 있듯이 함수가 중복 정의 되어 문자열, 숫자의 값을 레지스트리에 입출력할수 있다.

CMainFrame:: OnCreate() 함수에서 윈도우의 크기를 레지스트리에서 읽어들이고,

CMainFrame::OnClose() 함수에서 윈도우의 크기를 저장하는 루틴이 구현되어 있다.



::TfcGetRegData (_T("General\\MainFrame\\nX"), nX);

::TfcSetRegData (_T("General\\MainFrame\\nX"), rcFrame.left);



저장되는 위치는 HKEY_CURRENT_USER\Software\MyMSNMessenger\General\MainFrame\nX 이다.



2. CListCtrl 에서 상속받아 CMagicList 를 구현하였다.

CListCtrl 을 확장하여 만든 클래스들이 많이 존재한다. 그 기능을 살펴보면 다음과 같다.

1) 컬럼의 SORTING (문자 및 숫자) 기능을 제공한다.

2) 배경색과 선택된 라인 색상을 조절할 수 있다.

3) 가로 세로 그리드라인을 넣을 수 있다.

4) 폰트를 지정할 수 있다.

5) 헤더 컬럼의 개수, 크기, 문자열을 쉽게 정의할 수 있다.

6) 플랫 헤더 컨트롤을 사용한다.

7) 데이터의 입출력을 String Array 로 쉽게 처리할 수 있다.

8) 특정 컬럼의 문자열을 쉽게 검색해 낼 수 있다.



여기 저기서 모은 팁들을 혼합해서 구현하였다. 다른 부수적인 기능들은 타 리스트 확장 클래스와 비슷할 것이다. 다만, 리스트의 컬럼 지정과, 데이터의 입출력이 상당히 복잡하고, 코드양이 많아짐을 불편하게 여겨 CStringArray 에 담아 처리하는 큰 특징이 있다.



CMyMSNMessengerView::InitUserListCtrl () 에서 다음과 같은 리스트 컨트롤 초기화 하는 작업을 수행한다.

1) List 속성 설정 및 Subclassing

2) 리스트의 배경색, 선택라인 색상, 폰트 지정

3) 리스트 컬럼 (MSN Contact 상태, FriendlyName, SigninName) 만들기

4) 리스트 첫째 컬럼을 이미지로 사용

5) 플랫 헤더 컨트롤을 생성하고 헤더에 이미지 넣기



다음은 리스트 컨트롤을 사용하는 루틴이다.

void CMyMSNMessengerView::OnInitialUpdate() 에 테스트용으로 구현해 놓았다.



CStringArray saContactInfo;

saContactInfo.Add (_T("0")) // 온라인 상태

saContactInfo.Add (_T("거북선")); // 대화명

saContactInfo.Add (_T("gobuksun@empal.com")); // SignIn



m_listUser.InsertDataToList (&saContactInfo);



CStringArrary 에 들어갈 데이터를 입력한 후 리스트 컨트롤에 추가하면 된다.



입력된 데이터를 얻는 방법은 void GetDataFromList (CStringArray* psaData, int nPos = -1); 함수를 사용하면 되는데 입력과는 반대로 CStringArray 에 담아온다. 얻고자 하는 행을 nPos 로 지정할 수 있는 지정되지 않으면 현재 선택된 행의 값을 얻어온다.

또다른 방법으로 void GetSpecificData (CString& strData, int nCol, int nPos = -1); 함수가 있는데 특정 컬럼의 문자열을 스트링으로 바로 얻어올 수 있다.



다음 코드는 현재 선택된 행의 SigninName 을 얻어오는 루틴이다.

CString strSigninName = _T("");

m_listUser.GetSpecificData (strSigninName, 2);



리스트컨트롤을 더블클릭할 경우인

void CMyMSNMessengerView::OnRclickListUser(NMHDR* pNMHDR, LRESULT* pResult) 에 예제를 구현해 놓았다.



기타 MyMSNMessenger 에 다른 유용한 클래스들이 사용되는데 이는 개발자 사이트에서 구한것으로 원 저작자에 대한 주석이 달려 있다. 자세한 구현방법은 각자 소스를 살펴보기로 하고 여기서는 간단하게 기능적으로 살펴본다.



1. NewMenu Author : Bruno Podetti

XP 스타일의 메뉴를 구현한 클래스로 작지만 강력하다.

사용법은 간단하다. CFrameWnd 를 찾아 CNewFrameWnd 로만 바꿔주면 된다.

CMainFrame::OnCreate() 에서 메뉴 설정에 관한 간단한 수정만 해주면 된다.



2. SystemTray Author : Chris Maunder

시스템 트레이를 구현한 클래스로 애니메이션을 지원하고 안정적이다.

// 시스템 트레이 아이콘 설정

m_TrayIcon.Create (NULL, WM_TRAYICON_NOTIFY, "Click here", ::LoadIcon(NULL, IDI_ASTERISK),

IDR_MENU_TRAY);

m_TrayIcon.SetMenuDefaultItem (2, TRUE);



m_TrayIcon.SetIconList(IDI_TRAY_ANI_1, IDI_TRAY_ANI_4);

m_TrayIcon.Animate (50); // 50 millisecond delay between frames, for Infinite



3. void DrawCorner(….)

모서리를 곡선으로 그려주는 함수.



소스는 여기에~ http://myhome.konetic.or.kr/UserUploadData/gobuksun/MyMSNMessenger.zip



실무에서 뛰시는 분들은 나름대로의 유용한 클래스들을 라이브러리로 보관하고 있을 것이다. 중요한 것은 필요할 때 매번 찾을게 아니라, 유용할 것으로 판단되는 클래스들을 정리 정돈해서 자신의 것으로 만드는 작업일 것이다.



이제 마지막 한 강좌만 남았네요. IMessenger 인터페이를 사용한 MSN 메신저에 접근하는 방법 사용자 리스트를 얻어오는 방법에 대해 나가겠습니다. 저도 일년전이라 알쏭달쏭한 부분이 있어서 잠시 정리할 시간이 필요하군요. 역시 구현하는것과 누군가에게 전달하는것은 많이 다르다는걸 느낍니다. 아무쪼록 많은분들께 도움이 되었으면 합니다.. *^^*
Posted by 장안동베짱e :
출처 : 데브피아(조휘경님 글)



소프트웨어 공학의 주된 주제다. 학자들이 먹고 살자고 구조적 프로그래밍, 객체지향 프로그래밍, 최근에 UML, CBD(콤포넌트 기반) 프로그래밍 말이 바꿔가며 머리 아프게 하지만, 목적은 효과적인 개발이 무엇인가에 대한 고민일 것이다.



학교서 공부도 하고, 서적도 뒤적여 보고 눈을 크게 뜨고 변화의 흐름을 읽어야 할 것이다. 그런데, 문제는 실무에서 정작 중요한 것은 학문적으로 다뤄지지 않는다는 것이다. 왜냐하면 그건 논문으로 발표할 수 있는 주제가 아니지 않은가 ? 그것들이 무엇일까 ?



1. 문서를 잘 만드는 사람이 프로그래밍을 잘한다.

길지 않은 문장으로 쉽게 이해시킬 수 있는 능력, 남들이 쉽게 알아볼수록 문장을 잘 정리하는 능력, 눈에 띄게 문서를 만들 줄 아는 능력 등을 지닌 사람들이 프로그래밍을 잘한다. 결국엔 프로그램은 타이핑의 부산물이기 때문이다.

처음 코딩량이 적을 때는 쉽게 알 수 있지만 늘어나면 자기 자신도 못 알아보는게 다반사이다. 헝가리안 표기법을 반드시 지키며, 깔끔하고 알아보기 쉽게 만드는 것은 결국 미래의 자기 자신을 위해서다.

또 하나 중요한 것은 문서들을 잘 정리정돈 하는 것이다. 각 주제별로 잘 정리하는 시간을 절대 아까워해서는 안된다. 특히, 같은 문서는 중복되서 존재하지 않게 유지하는 것이 중요하다. DLL, LIB 파일들이 중복되어 난무해서 헤매게 되는 경우를 숫하게 봐왔기 때문이다.



2. 대부분의 문제는 누군가 고민했던 문제이다.

프로그래밍을 하다 보면 수많은 문제에 직면하게 된다. 그러한 문제 중 대다수는 이미 과거에 누군가 고민했던 문제이다. 따라서, 당면한 문제의 크기에 관계없이 혼자 삽질하지 말고 미리 찾아봐야 한다.

문제를 정확하게 파악하고 요구되는 사항을 분석하며 관련 자료를 개발하기 앞서 미리 수집해야 한다. 간과해서는 절대 안되는 것은 여기까지 즉, 자료 수집까지가 전부이다.

혹자는 그것이 문제를 해결해 줄 것처럼 착각한다. 후임에게 문제를 맡겼을 때 가장 깝깝한 대답이 인터넷에서 찾아봤는데 방법이 없다는 것이다. 온갖 다른 사람들이 고민한 흔적이 있는 자료는 삽질하지 않기 위한 참고일 뿐이다. 그 다음부터는 자신의 몫인 것이다.



3. 효율적인 프로그래밍 작업 환경을 구축한다.

다음 주제로 다뤄질 부분으로 하루 이틀 코딩할 것도 아닌데 미래를 위해 항상 가장 효율적이라고 생각되는 작업 환경을 구축해 놓아야 한다는 것이다. 참고로, 나의 Visual Studio 에는 툴바가 없다. 툴바는 시간을 빼앗는 가장 큰 적이다. 따라서, 모두 핫키 처리해야 한다. 또한, 스튜디오에서 제공하는 편리한 기능들, 디버그 기능들은 미리 숙지 해야 하고, 에디터도 자신이 좋아하는 스타일로 미리 바꿔 놓아야 한다.

프로젝트별로 각 기능별로 파일들을 분류하는 것도 중요하다. 예를 들어 헤더 파일은 include 폴더에, 라이브러리 파일은 lib 폴더에, 프로젝트를 위한 툴을 담은 구현파일들은 Tool 이라는 폴더에 위치시켜 척 보면 무엇을 위한 파일들인지 가늠되어야 한다. 특히 라이브러리에 관련된 위치는 분명하게 하여 라이브러리 소스를 변경해도 실행 파일에는 반영되지 않아 헤매는 일은 없어야 한다.



4. 잦은 컴파일과 실행을 통한 문제해결로 결코 문제는 해결되지 않는다.

개발자는 타이핑의 수고스러움을 결코 아껴서는 안된다.

가장 바보스러운 코딩은 클래스 뷰에서 멤버변수 만들고, 함수 만들고, 클래스 위자드에 있지 않은 메시지나 오버로드 함수 아니면 없다고 믿는 것이다. 개발자의 길을 걷겠다고 결심했다면 처음 해야 할 것은 개발자를 바보 만들기 위해 존재하는 스튜디오의 위자드 없이 조그마한 것이라도 직접 타이핑으로 작성해 보는 것이다.

다음으로 어떤 문제에 부딛히면 수없이 많은 컴파일과 실행을 남발하여 문제를 해결하려 해서는 안된다는 것이다. 변수 값을 하나 하나 바꿔가며 컴파일해서 문제를 해결했다면, 다음에 같은 문제에 부딛히게 되면 그 해결 방법은 컴파일뿐이다. 즉, 그 문제에 대한 해답을 모르는 것이다. 철저히 분석하고 원인을 규명하여 내 것으로 소화하고자 하는 노력이 요구되는 부분이다. 너무나 당연한 것이지만 어렵게 얻은 것은 결코 쉽게 잊혀지지 않는다.



5. 미래 지향적인 프로그래머가 되자.

프로그래밍의 기본 규칙 중에 하나가 “만들때는 어렵게, 사용할때는 쉽게” 이다. 어떤 기능을 수행하는 함수를 만들 때 이 함수를 사용하기 편리하게끔 만들어야 한다. 그냥 귀찮아서 코딩한 결과는 고스란히 다시 찾아와 더 귀찮게 만든다. 함수를 세분화 하고 명료화하는데 귀찮아해서는 안된다.

그리고 함수나, 클래스, 구조체, 프로토콜 등을 정의할 때 항상 미래를 염두에 두어야 한다. MS 의 코드들을 살펴보면 예약된 변수가 난무한다. 이러한 대비는 미래에 아주 유용하게 사용된다.

다음으로 굳이 성능에 연연할 필요가 없다는 점이다. 성능을 상당히 요구하는 복잡한 알고리즘이나 프로세스를 개발하지 않는 한 별로 신경 쓸 일이 아니다. 오히려 그 노력을 코드의 명료성, 확장성, 재사용성 등에 투자하는 것이 현명하다. 예전 도스시절 레지스터 변수, 재귀함수, GOTO문, 포인터에 포인터 등 온갖 알기 어렵게 구현해야 코딩 잘하는 사람으로 취급 받던 시절이 있었다. 하드웨어의 발전속도는 소프트웨어보다 월등히 빠르다. 그런 문제는 하드웨어가 해결해 줄 것이다.





이상으로 제가 개인적으로 실무에서 느끼는 점을 정리해 보았습니다. ^^

틀린 부분이나 개발 생산성과 관련된 여러가지 의견들 마구 마구 리플 달아주세요. 좋은 생각이나 경험은 서로 공유할 때 배가 됩니다. ^^*



다음엔 제가 알고 있는 효율적인 프로그래밍 환경 셋팅 방법에 대해 알아보겠습니다…
Posted by 장안동베짱e :
Posted by 장안동베짱e :
환경 문제가 화두로 떠오르면서 웰빙 마케팅에 대한 기업들의 관심이 고조되고 있다.
또한 지나치게 음식을 가려먹는 등 몸을 챙기는 사람들을 칭하는 이른바 ‘웰빙족’이란
신조어도 생겼다. 그러나 웰빙은 피트니스센터를 갖춘 고급 아파트에서 비싼 건강식품
을 먹고 자기 몸만 잘 가꾸며 살자는 뜻이 아니다.

교수직을 버리고 미국 버몬트의 한 낡은 농가에서 농사를 지으며, 저서로 세계인들에게
자연사랑을 깨우치며 100살까지 산 스콧 니어링의 삶은 이러한 자연친화적인 삶의
표본이다. 그는 건강하게 100살까지 살다가 삶에 집착하지 않고 스스로 음식을 서서히
끊음으로써 자신을 붙들고 있던 목숨과 작별을 고했다. 그에게 죽음은 공포와 단절이
아니라 유기적인 순환으로 자연스러운 삶의 일부를 의미했던 것이다. 미국 인디언들도
이런 가치관을 갖고 있어서 죽음을 자연의 품으로 돌아가는 성스러운 과정으로 여겼
다. 전투에서도 죽음을 두려워하지 않고 부족을 위해 용감히 싸워 백인 군인들을 공포
에 떨게 만들었다. 니어링 박사의 삶을 중심으로 현대 도시인들에게 꼭 필요한 건강한
웰빙 생활습관을 정리해보면 다음과 같다.


하나, 저지방 유기농 식품을 소식한다.

둘, 흡연이나 과음은 절대 금한다.

셋, 화장품, 세제 등 생활용품은 천연제품을 이용한다.

넷, 정기적인 환기로 실내 공기를 깨끗하게 유지한다.

다섯, 일주일에 1회 이상 땀 흘리는 운동으로 체력을 높인다.

여섯, 가족과의 화합으로 행복지수를 높인다.

일곱, 동료 간의 경쟁을 피하고 자신의 목표를 세워 자신과 싸운다.

여덟, 평소 일찍 일어나 독서나 명상을 즐기고 클래식 음악을 듣거나 공연을 관람하는 등 취미생활로 스트레스를 푼다.

아홉, 정기적인 자원봉사 활동으로 보람을 느껴 마음의 기쁨과 평화를 유지한다.

열, 식구들이 함께 주말농장에 가는 등 가능하면 도시보다는 숲이 많은 지역에서 시간을 많이 보낸다.





이기영/호서대 교수, singreen.com ⓒ 한겨레(http://www.hani.co.kr)
Posted by 장안동베짱e :
사용법에 대한 의문사항은 향긋한 커피한잔의 여유를 본인에게 제공한다면 언제든 환영이외다.
앞으로 몇가지 더 올릴 내용이 있지만 도배나 광고성 글로 오인될 가능성이 농후한지라 짬짬이 올릴랍니다.
그럼 스타ADT를 작성하러... 휘리릭~~


툴 사용법이라고 등한시 하지 마시기 바랍니다.
어떤 툴이든 편리한 사용법을 습득해놓으면
나중에 틀림없이 습득하지 못한 사람이랑 차이가 납니다.
닷넷도 마찬가지 일겁니다.
회사마다 자기들만의 사용법을 거의 유지하니까요.

Esc : Output 윈도우 닫기(커서가 어디있든지 한두번 누르면 틀림없이 닫깁니다)
(화면이 좁은분한테 유용함)
Ctrl+F4 : 현재 에디트창 닫기
Ctrl+F, Alt+F3 : 찾기(대화상자 뜸)
Ctrl+Tab, Ctrl+F6 : 에디트창 바꾸기(.cpp나 .h파일 여러게 열어놓고 써보세요, Alt+W/W를 하면 고를수가 있습니다)
Ctrl+Space : 자동완성(유용한 기능)
Ctrl+Shift+Space : 함수 인자 리스트 보여주기
Ctrl+D : Find 창으로 커서 이동(메뉴바 밑에) 검색할 단어를 쓰고 F3이나 엔터로 검색
Ctrl+F3 : 커서위치 단어가 Find 창에 쓰여짐. F3 아래로 검색, Shift+F3 위로 검색(엔터키는 안됨)(깔끔한 기능)
Ctrl+Shift+U : 커서위치 문자나 블럭선택된 단어를 대문자로 바꿈
Ctrl+U : 커서위치 문자나 블럭선택된 단어를 소문자로 바꿈
Ctrl+-> : 커서가 단어 단위로 오른쪽으로 이동
Ctrl+<- : 커서가 단어 단위로 왼쪽으로 이동
Ctrl+Shift+-> : 단어 단위로 오른쪽으로 블럭선택
Ctrl+Shift+<- : 단어 단위로 왼쪽으로 블럭선택
Ctrl+위쪽 화살표 : 커서는 같은 라인에 있고 에디트 윈도우가 위로 이동
Ctrl+아래쪽 화살표 : 커서는 같은 라인에 있고 에디트 윈도우가 아래로 이동
Ctrl+L : 커서 위치 한 라인이 지워지고 클립보드에 복사됨(블럭선택, Ctrl+X/Ctrl+V을 Ctrl+L/Ctrl+V로 단순화)
Ctrl+F8 : 커서 위치 한 라인이 모두 선택됨. 아래, 위 방향키로 선택 영역 넓힘(요거 응용많이 해보세요. 편합니다)
Ctrl+F2 : 위치 표시(왼쪽에 하늘색 네모생김), F2 위치로 가기, 다시한번하면 위치 표시 삭제(진짜 편함)
Alt+W/p : split기능인데 요거 재미있습니다. 해보시면 어떤기능인지 알수 있습니다.
ALT+ F8 : 문맥정렬

이것 외에도 많을꺼지만 일단 한번이라도 쓰는것을 정리했습니다.
같은 기능도 쓰는사람마다 더 기발하고 편리하게 씁니다.
각자 스타일에 맞게 응용해서 쓰면 되겠습니다.
이해가 안되는 사용법이나 질문이 있으면 메일주시면 수정해놓겠습니다.
새로운게 생기면 업데이트하도록 하겠습니다.

p.s
써놓고 확인해보니 정열이 엉망이네요
복사하셔서 불필요한말 빼고 정리해서 보세요.




추가...++;
----------------------------------------------------
ALT+ F8 : 문맥정렬
----------------------------------------------------
Ctrl+D : Find 창으로 커서 이동
Ctrl+F3 : 커서위치 단어가 Find 창에 쓰여짐
----------------------------------------------------
Ctrl+Space : 자동완성(유용한 기능)
Ctrl + t : type info
Ctrl+shift+space: parameter info
Ctrl+Alt+t : list members
----------------------------------------------------
Posted by 장안동베짱e :



CJ택배(xxx-yyy-zzzz)
http://www.cjgls.com/contents/gls/gls004/gls004_06_01_detail.asp?slipno=xxxyyyzzzz


한진택배(xxx-yyy-zzzz)
http://www.hanjinexpress.hanjin.net/customer/plsql/hddcw07.result?wbl_num=xxxyyyzzzz


로젠 택배(xxxxxxxxxx)
http://www.ilogen.com/customer/reserve_03_detail.asp?f_slipno=xxxxxxxxxx


옐로우캡(xxxxxxxxxx)
http://yellowcap.bizeye.co.kr/search.asp?slipno=xxxxxxxxxx


대한통운(xxxxxxxxxx)
http://www.doortodoor.co.kr/servlets/cmnChnnel?tc=dtd.cmn.command.c03condiCrg01Cmd&invc_no=xxxxxxxxxx


아주택배(xx-yyyy-zzzz)
http://www.ajuthankyou.com:8080/jsp/expr1/expr_view.jsp?sheetno1=xx&sheetno2=yyyy&sheetno3=zzzz
Posted by 장안동베짱e :

이런 메시지가 뜨면 프로젝트를 닫고

프로젝트명.ncd를 지워 준뒤

다시 프로젝트를 열면 되더라..


흠..



아니면 클래스 선언부를 주석 처리했다가 다시 풀어보던가..
Posted by 장안동베짱e :
************
시작 부분..
************
hey yo!
당신의 눈물이
음악이 될수 있다면
그 음악의 선율은 Gloomy sunday
yo.. 나의 시를읊네..





************
끝부분...
************
A yo 아직도 못다한 이야기들을
한편의 시로 담아 당신에게로 읊네
나의 mind 나의 (영어로 뭐라고 하는데 못알아 듣겠음..)
아직도 못다한 이야기들을 담아
당신의 목소리에 나의 귀가 멀었네
(..어느나라 말인지도 모르게 또 뭐라고 떠듬..)
Posted by 장안동베짱e :
〈INPUT TYPE=text style="background-image: url(이미지주소);" name=q size=31 maxlength=255 value=""〉


===============================================================================
COLOR:색명또는 RGB 값 ⇒버튼이나 텍스트 상자에 나타나는 글자 색깔을 지정
background-color:배경색 이름 ⇒버튼의 색깔이나 텍스트의 배경색을 지정합니다.
border-width:수치px ⇒버튼이나 텍스트 상자의 바깥 테두리 두께 지정
border-color:색 값 ⇒테두리의 색깔을 지정
rows="수치" ⇒텍스트 상자의 칸(줄) 수
background-image:url('이미지 URL') ⇒배경으로 이미지를 입력할 경우의 속성
Posted by 장안동베짱e :
invalid-file

(php파일은 업로드가 안돼서.. 압축해서 넣어놨음..)



$tomail = "mail@carrotboy.net";
$from = "보낸사람이름";
$frommail = "mail@carrotboy.net" ;
$html = false;
$subject="제목";

이부분을 수정해서 사용하세요.
Posted by 장안동베짱e :
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++사전 지식
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++무통장입금: 자기가 현재 손에 갖고 있는 돈을 통장 없이 자기 계좌 또는 남의 계좌에 집어넣는 것.
++계좌이체: 자기 계좌에 들어 있는 돈을 남의 계좌에 집어넣는 것, 방법에 따라 당행, 동행, 입금, 출금,
++     제3은행 이체로 나눈다.
++당행이체: 가 은행 기기로 가 은행 계좌에서 가 은행 계좌로 이체하는 것
++동행이체: 가 은행 기기로 나 은행 계좌에서 나 은행 계좌로 이체하는 것
++입금이체: 가 은행 기기로 가 은행 계좌에서 나 은행 계좌로 이체하는 것
++출금이체: 가 은행 기기로 나 은행 계좌에서 가 은행 계좌로 이체하는 것
++3은행이체: 가 은행 기기로 나 은행 계좌에서 다 은행 계좌로 이체하는 것
++당행인출: 가 은행 기기로 가 은행 계좌의 돈을 인출하는 경우
++타행인출: 가 은행 기기로 나 은행 계좌의 돈을 인출하는 경우
++지방은행: 각 지역을 기반으로 하는 전북은행(전북), 광주은행(광주, 전남), 대구은행(대구, 경북),
++     경남은행(경남, 울산), 부산은행(부산), 제주은행(제주)을 가리킨다.
++
++이체 수수료는 은행마다 다른데 기기가 속한 은행이나 돈을 받는 은행의 기준이 아니라 돈을 보내는 은행의
++ 기준을 따른다.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

산업은행

국내 은행(외국 은행의 한국 지점 제외) 중 유일하게 '영업시간외 수수료'란 개념이 없는 은행이다. 따라서 은행 문이 닫혔을 때도 영업 시간 중보다 수수료를 많이 내는 일이 없다.
산업은행은 우리은행과 업무 협약을 맺었으므로 산업은행 통장을 갖고 우리은행 창구에서 입출금을 할 수 있으며, 또한 산업은행 카드를 갖고 우리은행 자동화기기에서 입출금을 할 수 있다. 다만 우리은행 통장 정리기에서 산업은행 통장을 정리할 수는 없으며 우리은행 창구 직원에게 부탁하여야 한다. 그러나 산업은행 지점수가 적기 때문에 최초에 계좌를 만들기가 힘들다는 단점이 있다.
산업은행 고객이 우리은행 자동화기기를 이용하여 동행이체를 하는 경우는 수수료 면제지만 출금이체를 하는 경우는 수수료 면제가 아니다. 그러므로 산업은행 고객이 우리은행으로 이체할 경우는 계좌이체보단 차라리 인출한 뒤에 우리은행 자동화기기로 무통장입금을 하는 게 낫다. 그러므로 산업은행 고객은 우리은행 계좌도 같이 가지고 있는 것이 유리할 수 있다. 우리은행에서 거의 은행일을 봐야 하니까.
그리고 우리은행 이외의 다른 은행에서 돈을 뽑으면 수수료가 나가지만 다른 은행에 비해서 수수료가 싼 편이다. 게다가 영업시간외라고 수수료를 더 내지도 않는다.

기업은행

기업은행의 장점이라면 1만 원을 영업시간외에 뽑았을 경우 수수료를 안 낸다는 것이다. 만 원씩 여러 번 뽑아서 수수료를 면제받는 수법이 가능하다. 물론 다른 은행 기기에서 뽑을 경우에는 수수료 면제 아니다.

국민은행

'인터넷저축예금'이라는 엄청나게 강력한 예금 상품이 있다. 통장이 없이 카드만 주는 계좌이다. 통장이 없어서 불편한 점도 있지만 영업시간 내외를 막론하고 인출과 당행이체, 입금이체 수수료가 전혀 없다. 다만 다른 은행 기기를 이용할 경우는 수수료 내야 한다. 그리고 전화나 인터넷뱅킹을 이용한 다른 은행 계좌 이체도 수수료가 없다. 현재 국내 모든 은행 예금 상품 중 일반 고객도 자동화기기, 전화를 이용한 다른 은행 계좌 이체 수수료가 없는 유일한 상품이다.

외환은행

외환은행 고객은 흔히 있는 우체국을 얼마나 잘 활용하느냐에 따라 내는 수수료가 크게 달라진다. 외환은행 고객은 통장을 가지고 우체국에서 입출금을 할 수 있다(토요일 포함). 물론 수수료는 없지만 우체국 문이 열렸을 때만 쓸 수 있는 방법이라는 게 문제이다. 다만 우체국에서 외환은행 카드를 쓸 경우는 다른 은행에서 쓰는 것과 마찬가지로 똑같은 수수료가 나온다. 우체국을 자주 이용하는 외환은행 고객이라면 우체국 계좌도 있는 게 좋다. 우체국의 인터넷뱅킹 수수료가 은행보다 싸기 때문이다.

수협

일반 고객에겐 이렇다 할 수수료 면제 방법은 없다. 다만 인터넷으로 다른 은행으로 이체할 때 다른 은행보다 수수료가 싸다는 것에 위안을 삼을 수밖에 없다.

농협

은행 영업 시간 이외에도 자동화기기에서 만 원을 뽑을 경우 수수료 면제이다. 역시 만 원씩 여러 번 뽑는 방법이 매우 쓸모가 있다. 그리고 회원농협의 무통장 계좌인 365예금은 회원농협 기기를 이용할 경우 시간외 인출 수수료(만 원 뽑을 때는 원래 면제였으니 2만 원 이상 뽑을 경우에 해당한다)나 회원농협 계좌이체 수수료(농협중앙회 계좌이체는 제외)를 면제한다.
농협중앙회의 무통장 계좌 이뱅킹은 다른 은행의 일반 예금에 비해 금리가 높은 편이다(연 2.5%). 그리고 농협 중앙회와 회원(단위)농협은 다른 금융 기관이긴 하지만 전산망을 공유하고 있고 입출금 등 단순 업무는 서로 엇갈려서 볼 수 있다. 즉 중앙회에서 회원농협 통장이나 카드로 입출금이 된다는 말이다. 그 반대도 마찬가지. 물론 농협중앙회와 회원농협 사이의 이체는 타행 수수료를 받지 않는다.

우리은행

우리은행 또한 특별한 면제 방법이 없다. 다만 미성년자(기준 18세)는 하루 한 번 3만 원 이하를 뽑을 경우 시간외 수수료가 면제된다. 무통장 계좌인 우리닷컴통장이 있지만 특별한 수수료 면제는 하지 않고 있다. 다만 우리은행에서는 같은 계열사인 경남은행, 광주은행 관련 수수료가 면제된다는 장점이 있다. 즉, 영업 시간 중엔 경남은행이나 광주은행이 관련된, 입금, 출금, 3은행 이체 수수료가 전혀 없다(물론 3은행이체에서 경남, 광주 이외의 은행이 관련됐을 땐 수수료 면제 아님). 이를테면 우리은행 카드로 광주은행 기계에서 경남은행으로 이체하는 것도 수수료가 없다. 따라서 다른 지역에 사는 우리은행 고객이 경남, 광주, 전남 지역에 갔을 때 우리은행이 잘 보이지 않으면 경남은행이나 광주은행을 찾아서 돈을 뽑으면 수수료 없이 뽑을 수가 있다. 영업시간 외에 뽑더라도 시간외 수수료만 받고 타행인출 수수료는 받지 않는다. 광주은행 고객이나 경남은행 고객이 우리은행 기기를 이용할 경우도 마찬가지이다.

조흥은행

무통장 계좌인 이드림통장이 있다. 수수료를 면제해 주지는 않고 발생 전자금융 관련 수수료의 10%를 적립해 주어 1000원 이상이 쌓이면 현금처럼 쓸 수 있다.

제일은행

제일은행은 당행인출, 당행이체 때 시간외 수수료가 없다. 타행인출, 입금이체, 동행이체, 출금이체, 3은행이체에선 시간외 수수료가 나온다. 그리고 무통장 계좌는 인터넷뱅킹 타행이체 수수료가 없다. 또한 일반 계좌라 하더라도 인터넷뱅킹 수수료가 다른 은행보다 싼 편이다. 다만 제일은행 고객은 평균 잔액 10만 원(제일은행에 갖고 있는 모든 계좌 잔액 합산)을 유지하여야 하며 그렇지 못하면 월 2000원씩을 계좌유지 수수료로 내야 한다. 다만 이 제도 실시 전에 계좌를 만든 사람이나, 미성년자, 노인, 인터넷뱅킹 사용자 등은 수수료가 면제된다.

신한은행

무통장 계좌인 블루넷 예금이 있다. 올해 말까지는 인터넷뱅킹으로 타행 이체를 할 때 수수료를 받지 않는다. 그러나 올해가 얼마 남지 않았기 때문에 이 글을 보고 알게 된 사람은 '본전 뽑기'가 좀 힘들 것이다.

한미은행

한미은행에는 무통장 계좌인 굿뱅크인터넷통장이 있다. 그러나 특별한 이점은 없다. 한미은행 고객은 우체국에서 통장으로 입출금을 할 수 있다(외환은행 참조). 따라서 외환과 한미은행 모두와 거래하는 고객이라면 우체국에 가면 자기 외환은행과 한미은행에 들어있는 돈을 서로 옮길 수 있다.

대구은행

대구은행은 무통장 계좌인 네티즌예금이 있다. 인터넷뱅킹을 이용한 타행이체 수수료를 반으로 할인한다. 또한 이 계좌와 연결된 정기예금, 적금 계좌(100만 원 이상이어야 함)를 갖고 있는 경우 영업시간외 수수료가 면제된다. '독도사이버캐시(http://dokdo.dgb.co.kr/index6.html)'를 이용할 경우 수수료를 내지 않을 수 있다. 또한 계좌를 만들 때 통장을 뱅크라인통장으로 하면 다른 지방 은행에서 통장으로 입출금을 할 수 있다. 뱅크라인통장은 모든 지방은행에서 취급하며 계좌 소속 은행과 관계없이 모든 지방은행에서 통장에 의한 입출금이 가능하다.

부산은행

부산은행은 무통장 계좌인 사이버통장이 있다. 가입 후 1년 동안 인터넷뱅킹 타행 송금 수수료를 면제한다. 또한 가입 후 6개월 동안 영업시간외 수수료를 면제하고, 타행 기기 이용 수수료를 할인한다. 또한 수표 발행 수수료가 면제된다.
또한 계좌를 만들 때 통장을 뱅크라인통장으로 하면 다른 지방 은행에서 통장으로 수수료 없이 입출금을 할 수 있다.

광주은행

광주은행은 무통장 계좌인 이마이더스클릭예금이 있다. 광주은행 자동화기기를 이용할 경우 나오는 수수료의 50%를 할인한다. 또한 인터넷뱅킹으로 우리, 경남은행 이외의 은행으로 이체할 경우 수수료를 할인한다. 또한 농협중앙회의 이뱅킹을 제외하고 무통장 계좌 중 이율이 가장 높다.
우리은행, 경남은행 관련 수수료가 면제되는 경우가 있다(우리은행 참조).
뱅크라인통장이 있으면 다른 지방 은행에서 통장으로 입출금을 할 수 있다. 따라서 은행 영업 시간 중에는 수수료 없이 인출할 수 있는 다른 은행이 매우 많다. 경남은행(통장과 카드 모두), 우리은행(카드만), 전북, 대구, 부산, 제주은행(통장만)을 수수료 없이 이용할 수 있다.

제주은행

제주은행은 특별한 수수료 면제가 없다. 다만 영업 시간 중 신한은행에서 인출시 수수료가 없다. 다만 신한은행으로 계좌이체를 할 때엔 수수료가 나온다. 뱅크라인통장에 대해선 대구은행 참조. 뱅크라인 통장의 경우 다른 지방은행에서 영업시간 중에 카드로 인출할 때 수수료 면제.

전북은행

전북은행 또한 특별한 수수료 면제가 없다. 뱅크라인 통장에 대해선 대구은행 참조.

경남은행

무통장 계좌인 사이버예금이 있다. 영업시간외 당행현금인출과 당행이체 수수료가 면제된다. 영업시간외에 우리은행, 광주은행 기기를 이용할 경우 경남은행의 일반 계좌에 적용되는 수수료를 내면 된다.
우리은행, 광주은행 관련 수수료 면제는 우리은행, 광주은행 참조
뱅크라인 통장 관련은 대구은행, 광주은행 참조

새마을금고

새마을금고 인터넷뱅킹 타행이체 수수료는 0-500원이며 동네마다 다르다. 따라서 타행이체 수수료가 0원인 동네를 잘 찾아서 그 금고 계좌를 만들면 수수료 없이 여기저기로 보낼 수 있다. 새마을금고끼리 이체 수수료는 지역에 관계없이 면제이다.

씨티은행

자동화기기에 의한 타행기기 인출 수수료(무제한, 나이스, 한넷 지급기 포함), 동행이체, 입금이체, 출금이체, 3은행이체 수수료(모두 해서 한 달에 5번까지), 인터넷뱅킹 타행이체 수수료(자동화기기에 의한 타행이체가 한 달 5번을 넘지 않았을 경우에 한해서 무제한)가 면제된다. 다만 평균 잔액으로 100만 원 이상을 유지해야 하며 그렇지 못하면 매달 2000-5000원을 계좌유지 수수료로 내야 한다.

홍콩상하이은행

무통장 계좌인 이자유예금이 있다. 어느 은행, 어느 시간이든 관계없이 인출 수수료가 면제된다. 그러나 계좌이체 수수료는 면제되지 않는다. 다만 계좌를 만들 때 50만 원 이상을 넣을 것을 요구한다. 국민은행 인터넷저축예금과 같이 쓴다면 효과는 엄청나게 커진다.

우체국

농협과 마찬가지로 흔하다는 것이 장점이다. 그리고 인터넷뱅킹 수수료가 은행보다 싸다. 그리고 우체국과 연계된 엘지카드를 만들 경우 영업시간외 당행출금 수수료가 면제되고 3개월 동안 입금이체 수수료가 면제된다.

---------------------------------------
출처 :네이버 지식in 오픈백과 > 비즈니스, 경제 > 금융, 재테크 (등록 : 2003-11-11)
Posted by 장안동베짱e :

Posted by 장안동베짱e :
캐럿보이넷™ - http://www.carrotboy.net
Posted by 장안동베짱e :
1. DB백업
 

2. 스킨백업
 
 

3. 첨부파일 백업
@chmod("./data",0777);
@chmod("./data/my_memo",0777);
@chmod("./data/www_family_board",0777);
@chmod("./data/www_family_guest",0777); 
@chmod("./data/www_ver5_board",0777); 
@chmod("./data/www_ver5_diary",0777); 
@chmod("./data/www_ver5_link",0777); 
@chmod("./data/www_ver5_pic",0777);     
@chmod("./data/www_ver5_study",0777);
@chmod("./data/pic_etc_doc",0777);        
@chmod("./data/www_family_family",0777); 
@chmod("./data/www_family_pds",0777);   
@chmod("./data/www_ver5_cal",0777);   
@chmod("./data/www_ver5_guest",0777); 
@chmod("./data/www_ver5_pds",0777);  
@chmod("./data/www_ver5_project",0777);
?>
Posted by 장안동베짱e :
출처 : NZEO.COM ( 유용한 팁 공유 게시판 )
 
1. phpMyAdmin 다운로드

http://www.phpmyadmin.net/ 에서 phpMyAdmin-2.3.2-php.zip 을 클릭해 다운받습니다.

☞ 압축을 풀어 디렉토리 이름을 phpMyAdmin으로 합니다.



2. phpMyAdmin 의 설정 (DukeEYS님의 설정팁 보기)

☞ config.inc.php 파일을 에디터로 엽니다.

☞ 47번 라인과 71번 라인을 아래 그림과 같이 수정합니다.

47 $cfg['PmaAbsoluteUri DisableWarning']  = FALES; (TRUE로)
71 $cfg['Servers'][$i]['auth type']     ='cfhin'; (http로)


. 계정에 업로드

☞ FTP 프로그램을 이용해 phpMyAdmin을 업로드 합니다.



4. phpMyAdmin 작동여부 확인

http://홈주소/phpMyAdmin/index.php 를 호출

☞ 아이디와 비밀번호 입력, 암호 저장에 체크하고 확인버튼을 누릅니다.
 
Posted by 장안동베짱e :
질문자가 선택한 답변
re: mysql에서 데이타베이스을 백업받고 복구하는 방법좀
sgalaxy (2004-08-02 16:54 작성, 2004-08-02 16:56 수정)이의제기
질문자 평 
감사합니다. 그런데 제가 sql을 잘몰라서 그러는데 복구시 drop 하라고 하셨는데 drop이 데이타을 지우는것입니까? 지우고 mysql -u myhome -p myhome < 백업한파일명.sql이렇게 하면 다시 월래대고 복구가 되는거 ?/td>
mysqldump를 이용한 백업하는 법입니다.

1) 전체 DB를 백업
mysqldump -u myhome -p -A > mysql_backup_all.sql

2) 데이타베이스별로 백업 (--databases 뒤에 myhome mysql 등 줄줄이 나열함)
mysqldump -u myhome -p --databases myhome mysql > mysql_backup.sql

3) 특정 테이블 백업 (myhome의 tablea만 백업)
mysqldump -u myhome -p --myhome tablea > mysql_backup_tablea.sql

-------

다음으로 복구하는 법입니다.
mysql -u myhome -p myhome < 백업한파일명.sql

간단하죠?

-------
추가답변입니다. 테이블이 이미 있다고 하는건

테이블이 있는 상태에서 복구를 했기 때문입니다.

만들어진 스크립트 보시면 아시겠지만,

create table 문부터 들어있습니다.

복구시 원래의 데이타를 drop 하신뒤에 복구 스크립트를 돌리세요.

참고로 create table 같은거 빼고 data만 백업하실때는 mysqldump시

옵션을 --no-create-info를 추가로 주시면 됩니다.
Posted by 장안동베짱e :
출처 : C++ 노트( http://cafe.naver.com/cnote/2 )
 
클래스 맴버함수를 콜백함수로 사용하기
(passing class member function as callback function)
 
 
---------------------------------------------------
이 문제는 윈도우즈 API 와 C++ 언어를 같이 사용할 때
 
부딫히는 문제이다.
 
콜백함수를 인자로 요구하는 API 에 클래스의 멤버함수를 넘겨 줄 수는 없는 것인가?
 
여기 그 해결의 가능성을 보여준다.
---------------------------------------------------
 
 
 
 
 
항상 고민해 왔던것.
마음속 깊은곳으로 부터, 나를 괴롭히던 문제.
DLGPROC 형 파라메터에 클래스의 맴버함수를 넘겨줄수는 없는것인가.
 

DialogBoxParam( hInst,
MAKEINTRESOURCE(IDD_MAIN),NULL,(DLGPROC)CMyApp::DlgProcMain,(LPARAM)&DlgClass );
 
 
 
INT_PTR DialogBoxParam(
  HINSTANCE hInstance,     // handle to module
  LPCTSTR lpTemplateName,  // dialog box template
  HWND hWndParent,         // handle to owner window
  DLGPROC lpDialogFunc,    // dialog box procedure
  LPARAM dwInitParam       // initialization value
);
 

typedef INT_PTR (CALLBACK* DLGPROC)(HWND, UINT, WPARAM, LPARAM);
 
 

C 로 작성된 API 에 C++ 클래스를 접목시킬때 부딧히는 문제이다.
application 의 기능을 하나의 클래스에 넣고, 그 클래스의 멤버함수중 하나를 message procedure 함수로 만드려는 시도는 제정신을 가진 프로그래머의 인지상정이다.
 
 
 
해봐서 알겠지만 메시지프로시저 함수의 포인터를 받는 함수에 클래스의 멤버함수를 넘겨주면 다음과 같은 에러가 발생한다.
 

: error C2440: 'type cast' : cannot convert from '' to 'int (__stdcall *)(struct HWND__
*,unsigned int,unsigned int,long)'
        None of the functions with this name in scope match the target type
 
 
 
 

리턴타입, 파라메터리스트가 완전히 일치하는 멤버함수에서 발생하는 위와 같은 에러메시지는
프로그래머를 좌절시키기에 충분하다.
 

멤버함수라는게 클래스의 인스턴스가 존재해야 호출할 수 있음을 알고는 있지만
위와 같은 코드를 쓰고 싶은것이다.
 

그래서, 클래스의 인스턴스가 없어도 호출할 수 있는 멤버함수를 찾게된다.
그래서 찾은 것이 static 멤버함수. 이것이다.
 

심장이 두근 거린다. 드디어 매끈한 코드를 만들수 있는것이다.
 

멤버함수를 static 으로 선언한다.
 

static LRESULT CALLBACK DlgProcMain (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
 
 
 
이상과 실제는 언제나 다르지만, 프로그래밍에서는 그 정도가 더욱 처절하다.
메시지 프로시저 기능을 하는 멤버함수를 다음과 같이 작성하였다.
 
 
 
LRESULT CALLBACK CMyApp::DlgProcMain(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{   
    switch(uMsg)                                                   
    {
        case WM_INITDIALOG:
        return OnInitDialog( hwnd );
    }
    return FALSE;
}
 
 
 
위에서 OnInitDialog 함수는 분명 클래스의 멤버함수이다.
 
 
 
멤버함수에서 멤버함수를 호출하는것은 당연한 일이고, 언제나 권장되는 일이고, 꼭필요한 일이기도 하다.
 

그러나, 컴파일러는 아직도 뭔가 할말이 있다.
 

: error C2352: 'CTTSApp::OnInitDialog' : illegal call of non-static member function
: see declaration of 'OnInitDialog'
 
 
 
 

static 함수에서 non-static member 함수를 호출할 수 없다는 얘긴데,
여기서 프로그래머는 속으로 중얼거린다. "역시 안되는구나."
 

문제는 OnInitDialog 이다.
 

static 함수에서 호출가능한 함수의 적법한 형태는 이렇다.
 

<1> static 함수내에서 static 함수를 호출하는것은 적법하다.
<2> static 함수내에서 객체의 인스턴스를 통한 멤버함수 호출은 적법하다.
 
 
 
 

<1> 의 방법을 사용하면 클래스의 모든 멤버를 static 으로 만들어야 한다.
물론 이것은 프로그래머가 의도한 바는 아니다.
<2> 방식으로 할경우, 머리에 먼저떠오르는 한줄의 코드는 바로 이것이다.
 

this->OnInitDialog( hwnd );
 
 
 
흐믓한 미소를 지으며 멋지게 한줄을 수정하고 컴파일을 하면
다음과 같은 컴파일러의 답변을 들을 수 있다.
 

: error C2671: 'DlgProcMain' : static member functions do not have 'this' pointers
 

static 멤버 함수는 this 포인터가 없다는 얘긴데.
첩첩산중, 사방이 막혀있는 곳에서 분투하는 프로그래머는 오늘도 고달프다못해 외롭기까지하다.
 

<2> 방식으로 할 경우, 또다시 머리에 떠오르는 한줄의 코드는 이것이다.
 

    CMyApp* pThis = 0;
    switch(uMsg)                                                   
    {
        case WM_INITDIALOG:
            return pThis->OnInitDialog( hwnd );
    }
 
 
 
컴파일이 된다. 멋지다.
물론 실행되지는 않는다. 그러나 컴파일이 된다는 사실이 중요하다.
실행이 되게 하려면
 

    CMyApp* pThis = 0;
 

에서 변수 pThis 에 뭔가 의미있는 값을 넣어주면 실행이 된다.
 

바로 생성된 CMyApp 객체의 주소를 넣어주면 된다.
 

변수 pThis 에 의미있는 값을 넣어주는 방법은 여러가지가 있을것이다.
프로그래머 마음대로 하면될것이다.
 

여기서는 그중에서 한가지 예를 보인다.
 
 
 
CTTSApp DlgClass( hInst ); // 객체를 생성한다.
 

// 생성된 객체의 주소를 넘겨준다.
DialogBoxParam( hInst,
MAKEINTRESOURCE(IDD_MAIN),NULL,(DLGPROC)CMyApp::DlgProcMain,(LPARAM)&DlgClass );
 

// WM_INITDIALOG 메시지에서 lParam 인자를 통해 전달된 주소를 받는다.
LRESULT CALLBACK CMyApp::DlgProcMain(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    CTTSApp* pThis = (CTTSApp *)::GetWindowLong( hwnd, GWL_USERDATA );
   
    switch(uMsg)                                                   
    {
        case WM_INITDIALOG:
            ::SetWindowLong( hwnd, GWL_USERDATA, lParam );
            pThis = (CTTSApp *)lParam;
            return pThis->OnInitDialog( hwnd ); 
 

        case WM_HSCROLL:
            pThis->HandleScroll( (HWND) lParam );
            return TRUE;
    }
    return FALSE;
}
 
 
 
 

위에서 사용한것은
DialogBoxParam 함수의 dwInitParam 인자가
WM_INITDIALOG 메시지의 lParam 으로 전달된다는 사실이다.
 

WM_INITDIALOG 메시지에서 lParam 으로 전달된 객체의 포인터를 저장하는 모습을 볼수있다.
다른 메시지를 처리할때는 저장된 포인터를 GetWindowLong 함수로 다시 가져와 사용하는 모습을 볼수 있다.
 

이것은 다이얼로그 박스에서 사용할 수 있는 방법이다.
위에서 사용한 아이디어로 다른 컨스텀 컨트롤에도 적용할 수 있다.
 

오오.. 이런식으로 쓰면되는군..
Posted by 장안동베짱e :