2006년 9월 28일 목요일

너~ 그거 알어 ?



너는 생각보다 괜찮아...좋은사람이야...^^
문스패밀리에서 퍼와봅니다...

개발링크 모음 [펌]

개발 부분
http://www.koders.com -> 각종 프로그램 소스를 검색
http://www.php.net -> php...
http://www.python.or.kr -> 파이썬 모임
http://www.javascript.com -> 자바스크립트
http://www.w3c.or.kr/ -> W3C
http://www.sourceforge.net -> 오픈 소스 프로젝트
http://expert.no-ip.org/ -> php 함수 및 클래스
http://planet-source-code.com -> planet source code
http://www.devpia.com/ -> 데브피아
http://www.bierkandt.org/beautify/index.php -> Beautify PHP
http://www.mojavi.org/ -> php 프레임워크
http://fckeditor.net/ -> FCK 에디터

디자인 부분
http://www.5day.co.kr/ -> 5데이
http://www.rpmfind.net/ -> RPM 검색
http://www.dll-files.com/ -> DLL 검색
http://www.nimiral.com/ ->욕검색
http://www.freebyte.com/ -> 프리웨어 등등 검색
http://database.sarang.net/ -> 데이타베이스 사랑넷
http://www.phpcs.com/ -> PHP Code Source
http://www.thefreecountry.com/php/index.shtml -> Free PHP Scripts
http://www.gnu.org/ -> The GNU Operating System
http://www.opensource.org/ -> Open Source
http://www.superuser.co.kr/home/ -> 리눅스 포털
http://www.1noooon.com/mystyle/ -> 엔젠드님의 개인블로그
http://qmail.org/ -> qmail mirror 
ftp://ftp.gnu.org/pub/gnu/ -> 각종 자료...(유닉스 계열)
http://www.naver21.com/ -> 새롭게 탄생한 naver21
http://people.kldp.org/~eunjea/qmail/ -> Qmail 임은재 메뉴얼
http://msdn.microsoft.com/ -> JS , CSS , 기타..
http://www.opensourcecms.com/ -> 오픈소스 CMS
http://www.phpbb.com/ -> php BB
http://www.opensourcescripts.com/ -> 오픈소스스크립트
http://mytechnic.com/ -> 마이테크닉
http://phpnuke.org/ -> php누크
http://www.needscripts.com/ -> 니드 스크립츠
http://www.flashkit.com -> 각종 플래시 소스 모음
http://www.php-editors.com/ -> php editors
http://www.php-editors.com/phpsearchtool.php -> php 부분 검색툴..
http://www.devshed.com/ -> Dev Shed
http://kldp.org/ -> KLDP
http://www.php.net/manual/kr/index.php ->php한글매뉴얼
http://www.tood.net ->투덜이
http://oops.org
http://www.webreference.com/ -> 웹레퍼런스
http://delmadang.com/
http://codeproject.com/
http://codeguru.com
http://feople.com 플래시
http://www.codelove.co.kr
http://kltp.kldp.org/ -> 리눅스 팁
http://www.delmadang.com <- 델마당
http://okjsp.pe.kr <- okjsp
http://phpschool.com <- PHP스쿨
http://database.sarang.net/php/doc/session/ <- Session Handling with PHP 4
http://www.phpclasses.org/ <- php class 모음
http://www.koreaphp.co.kr <- php 개발자 그룹
http://www.javaservice.net/ <- 자바 서비스
http://daisy.kwangwoon.ac.kr/~gslee/python/tutkr/ <- 파이썬
http://database.sarang.net/database/mssql/php/ <- MicroSoft SQL 2000 과 PHP 연동하기
한국펄사용자모임: http://www.perl.or.kr
[XHTML introduction]
http://www.w3schools.com/xhtml/xhtml_intro.asp
[How to study DESIGN PATTERS, REFACTORING, XP]
http://www.python.or.kr/pykug/HowToStudyDesignPatterns
[한글 Joel on S/W]
http://korean.joelonsoftware.com/
[unicode chart]
http://www.unicode.org/charts/
[javascript framework]
http://prototype.conio.net/
[리눅스 프로그래머를 위한 가이드]
http://users.unitel.co.kr/~sangeun5/linux/lpg.html
[Python 그리모아]
http://home.paran.com/johnsonj/grimoire/Python%20Grimoire.htm
[PHPs]
http://www.phppatterns.com/docs/start
http://www.zend.com/zend/art/index.php
http://www.phpdoc.org/
http://www.phpwact.org/ (Web Application Component Toolkit)
https://www.phrame.org/
http://www.lastcraft.com/simple_test.php (TDD)
pear.php.net
pecl.php.net
www.pcre.orgt
php.net
javascript framework 다큐먼트]
http://dev.conio.net/repos/prototype/doc/

2006년 9월 27일 수요일

아고라에서 퍼온글 - 10년 미국생활과 영어 - 작문 요령!!

아고라에서 퍼온글....작문 언젠가 해야하는데
회화도 않되니...나중에 언제한번 다시보고 확인해봐야겠다..


------------------------------------------------------------
몇일 전에 쓴 글이 후딱 대문에 걸려있어서 깜짝 놀랐습니다...^^


많은 분들이 잘 했다, 잘 한다 칭찬해주셔서 기분도 무척 좋았습니다... 감솨~~~


그래서 이왕 이렇게 된거 시간나는대로 틈틈히 유학/이민 생활에서 경험하고 느낀점을


하나 하나 적어 드리도록 하겠습니다... 하찮은 생각에 동의 해주신 분들이 너무 많으셔서....^^




저번 글에는 영어 공부 하는데 가장 기본격인 읽는 부분에 대하여 말씀드렸기에


이번에는 제가 나름대로 공부하며 터득한 작문 요령에 관해 말씀드리겠습니다.


회화를 생활의 기반으로 고생하시며 사시는 1세분들께서는 직접적으로 필요하시지 않은 부분일지도 모르지만,


지금 유학생활을 하며 중,고등학교나 대학교를 다니시는 분들께서는 굳이 강조하지 않아도


작문, 특히 에세이의 중요성에 대하여 아주 잘 알고 계실겁니다.


제가 살고 있는 캘리포니아 고등학교들의 경우 High School Exit Exam이 생겼다고 들었고,


많은 주립과 사립 대학교들의 경우 어느 정도의 작문 실력없이 졸업이란 거의 불가능한 실정입니다.


전반적인 미국 교육상황을 둘러봤을때도 모든 대학과 대학원 시험 (SAT, ACT, LSAT등등) 에서도


에세이의 비중이 점점 커진다는 것은 많은 전문가들의 칼럼을 통해 잘 알고계실겁니다..




하지만 나이를 불문하고 이민자의 입장으로서 자신의 주장을 원어민들처럼 유창하게 글로서 표현하기에는


그냥 막막하기만한 경우가 태반인 줄 알고있습니다.  원어민들 조차도 좋은 글 쓰기를 힘들어 하는 경우가 아주 많으니까요...


특히 에세이 등등의 과제를 제출 했을때 담당 선생님들이 빨간색 볼펜으로 크게 한 문단에 동그라미를 그려놓고,


옆에 큰 물음표를 여러개 그려놓아 무슨 뜻인지 이해 못한다는 표현을 한뒤,


본인 생각보다 터무니 없는 점수를 받았을때는 뭐 굳이 말로 표현하지 않아도 무슨 심정인지 잘 아실겁니다. 


중,고등학교 영어수업에서는 열심히 써오라고만 할뿐이지 어떻게 쓰라고 정확히 가르쳐 주지 않거든요.....


대학교수들은 물론 다 잘 쓸거라는 기대하에 수업을 진행하구요... (ESL 선생님들 제외..^^)


여러분들이 발전하는 방법을 직접 찾으셔야 합니다...





본론으로 들어가 말씀드리면, 제 생각에 작문에 가장 중요한 요소는 바로 자신이 하고싶은 얘기가 많은


올바른 주제 선택과 그 주제에 대한 확실한 본인의 생각의 정리입니다. 


아주 짧은 시간동안 고등학생들을 과외하며 대학원서에 가장 중요한 자신을 표현하는 에세이를 쓰는 모습을 본 결과,


괜찮은 주제를 가지고도 정리가 되지 않아 좋은 결과물을 만들어 내지 못하는 경우를 여러번 봤습니다.


벌써 만들어진 에세이를 바닥부터 뜯어고치는 일 만큼 고역은 없습니다...ㅠ.ㅠ


제가 권해드리고 싶은 방법은 메모하는 습관을 가지셔야 한다는 겁니다.


그렇다고 일상 생활에서 메모하는 습관을 굳이 가지실 필요는 없습니다.


다만, 에세이를 쓰실때, 특히 주제가 정해지고 머리속에서 오만가지 생각이 마구 떠오르실때는 전부는 아니더라도,


꼭 중요하다 생각하시는 건 반드시 적어두시는게 좋은 글을 쓰는데 큰 도움이 됩니다.


왜냐하면 생각하면 생각할수록, 또 찾으면 찾을수록 쓰고싶은 말들이 생각나기 마련이거든요....


생각나는데로 적어 두시면 나중에 글 쓰실때 아주 도움이 많이 될겁니다.


메모한 분량이 충분하시다고 생각되시면 이제 그 메모들을 깨끗한 종이에 차례대로 정리하시면 됩니다.


에세이를 쓸 경우 서론, 본론, 결론으로 나누는건 당연한 일이고, 그에 맞게 큰 주제의 범위에 벗어나지않는


작은 주제들을 결정하시면 됩니다. 정리를 하시면서 불필요한 부분은 삭제하시고, 더 좋은 생각이 나면 포함시키는 일을


반복적으로 하시면서, 차근차근 추려나가시면 어느 정도는 뼈대가 완성이 됩니다.




이제 열심히 영어로 쓰는 일만 남았는데요....


그런데 이 영어란 놈이 내용을 전개하기가 참 어렵게 만들어진 언어입니다....


더군다나 한국어와 영어는 구조가 완전히 정반대로 되어있기 때문에 더욱 더 어렵습니다... 문법은 말 할것도 없구요..


단어 활용력의 한계에 부& #46379;힘은 물론이고, 내 생각에는 옳은 문장이 남이 읽으면 이해못하는 경우가 아주 많습니다...


하지만 좌절하시지 마시고, 아시는 단어 모르시는 단어들을 사전에서 인터넷에서 찾아가며 뼈대에 살을 붙여야합니다....


비록 본인생각에 쓰시면서도 말이 안된다고 생각이 들지 몰라도 열심히 분량을 채우셔야합니다...


학교에서 내준 최소 분량이 5장이든 10장이든 메모하시고 정리해놓으셨던 작은 주제들에 관해 본인의 생각을 모두 표현하는게 좋습니다....


모두 표현하셨다고 생각이되면 이제 컴퓨터 안에 저장하신뒤, 주제들 정리해놓은 것과 함께 다음 날 다시 보시기 바랍니다...


처음부터 차근차근 읽으시면 아마 적어도 30%에서 70%가량의 내용을 본인의 손으로 고치시게 될겁니다...


물론 문법, 내용, 단어 선정 등등.... 말씀안드려도 아실겁니다....^^




윗 부분을 두 세번 정도 반복하시고 나면 어느 정도 만족을 느끼실겁니다... 제가 그랬었으니까요...^^


하지만 이 다음부터가 가장 중요합니다...


어느 정도 본인이 만족을 느끼신 에세이를 가지고 자신보다 영어를 잘 하는 사람을 찾아가십시요....


고등학교, 대학교를 막론하고 가장 좋은 사람이 과제를 쥐어 준 선생님입니다...


물론 영어, 역사 선생님들도 좋습니다....


스케줄을 방해하지 않는다는 느낌을 팍 팍 주면서, 나는 부지런하고 노력하는 학생임을 강조하듯이,


당당히 들고 찾아가십시요, 많은 한국학생들이 영어가 안되서 없어하는 자신감이 아주 중요한 부분입니다....


그리고 자신이 쓴 에세이에 Comment를 부탁한다고 말씀드려보세요... 예를 들어,


"Mr. Johnson, I know it is before the due date, so I brought my rough draft.. Do you mind going over it?"


아마 Deadline전에 먼저 써와서 읽어달라고 부탁하는 학생에게 싫다고 하는 선생님은 아마 없을겁니다....


제 경우에는 건성건성 보더라도 여기 놓고 언제 다시오라고는 했어도, 안된다는 말은 들은 적 없었습니다...


고등학교의 경우 차근차근 읽으신뒤 친절하게 문법과 내용에 대해 지적해 주셨던 경우가 많았고,


대학교에서는 학교 교칙상 직접 comment를 적어 줄 수는 없었기에,


제 에세이를 놓고 무슨 부분이 중요하다, 보충이 필요하다, 이 부분은 불필요하다는 토론형식의 도움을 받았습니다..


대학교에서는 이 과정동안 선생님이 하는 말을 메모하는게 아주 중요합니다...


과제를 내준 선생님과 상담이 끝났으면, 다른 선생님을 찾아가 보세요...


"Hi, Mr.______. I'm Shawn from Mr. Johnson's English class and writing a paper on something (topic)...


Could I get your comments on my rough draft?"


미국은 선생님들과 친해 지는게 아주 아주 중요합니다...


고등학생의 경우 나중에 대학교 추천서를 받을지도 모르고,


대학생의 경우 좋은 직장의 인턴쉽을 다른 학생들 몰래 가르쳐 줄 수도 있습니다... (제가 지금 그렇거든요...^^)


이렇게 선생님이 한번씩 읽으며 봐 줄때 마다 "C"에서 "B"로, "B" 에서 "A"로 변해갑니다....


물론 강조 안해도 자신이 뭘 잘못했구나 느끼는건 당연하구요....


이렇게 중요한 에세이 과제마다 반복을 하시면 본인도 모르게 엄청나게 늘어난 작문 실력을 피부로 느끼실 수 있을겁니다...


제 생각에 한국에서는 공부 잘 하는 학생을 선생님들이 아끼실지 몰라도,


미국에서는 열심히 노력하는 학생을 좋아합니다...


물론 여러 고등학생분들이 이렇게하면 Teacher's pet이다, Kiss Ass다 하실지도 모르겠지만,


그렇게 말씀하시는 분들은 대학교가시면 뼈저리게 후회하실겁니다...(이 부분은 제가 첨으로 장담합니다..^^)


뭐, 처음부터 글쓰기에 소질이 있으셨고, 항상 잘 하셨다면, 제가 얼른 꼬리 내리겠습니다......^^




모국어가 영어가 아니신 이민자 분들이 영어실력을 늘릴 수 있는 방법은 오직 반복 훈련뿐입니다...


물론 자신보다 더 잘하는 원어민에게 도움을 받았을때 그 효과는 월등히 증가합니다...


작문실력은 더 더욱 그렇구요.... 벌써 다 아실지도 모르는 얘기 읽어주셔서 감사합니다....


너무 저 혼자 FEEL 받아서 쓴건 아닌가 모르겠네요....^^

요즘 읽고 있는책...


아침출근때 마다 읽는책인데 요즘 말리의 장난과 재치, 충성
그런거에 빠져들고 있습니다.. ^^
여러분들도 읽어보세요.

하버드 MBA 학생들의 목표성취 기술


<하버드 MBA 학생들의 목표성취 기술>


하버드 MBA과정 재학생들을 대상으로 목표 설정에 관한 연구가 진행된적이 있었다. 재학시절 뚜렷한 목표를 세우고 그것을 달성하기 위한 구체적인 계획을 세운 학생은 전체의 3%였고, 13%목표는 뚜렷했지만, 구체적인 실천계획은 없었다.

재미있는것은 그들의 졸업후 수입이다. 목표와 계획이 뚜렷했던 3%는 나머지 97%의 평균수입의 10배에 달하는 수입을 올리고 있었고 목표만 있던 13%는 나머지보다 평균 2배의 수입을 올리고 있었다. 목표와 계획이, 같은 강의실에 앉아있던 사람들의 운명을 바꾸어버린것이다.

대부분의 사람들은 지도도 표지판도 없이 낯선 세계를 여행하듯이 살아간다. 일에 파묻혀 시간은 하염없이 흘러가고 삶은 늘 불만족스럽다. 미래는 언제나 막연하고 자신감은 이미 나를 떠난지 오래이다.

IBM, 포드, 제록스, HP등을 담당했던 세계적인 경영컨설턴트이자 베스트셀러 저자인 브레이언 트레이시는‘목표는 막연한 꿈이 아닌 기술’ 이라고 강조한다. 그는 성공하려면 앞에서 조사된 상위 3%의 방식을 따라해야 한다고 말한다. 그가 전하는 목표 달성의 기술을 들여다보자.


1. 기한을 정하지 않은 목표는 총알 없는 총이다.
기한 없는 목표는 탁상공론이다. 기한이 없으면 일을 실행시켜주는 에너지도 발생하지 않는다. 당신의 삶을 불발탄으로 만들지 않으려면 분명한 기한을 정하라.


2. 독수리가 되고싶다면 독수리떼와 함께 날아라.
늘 교류하는 ‘준거집단’의 선택이 목표달성을 좌우한다. 칠면조 무리에 섞여있으면서 독수리를 꿈꾸지마라. 목표에 걸맞는 사람들과 교류하라.


3. 목표는 긍정문, 현재시제 1인칭
잠재의식은 긍정적인 명령처리와 현재시제에 잘 반응한다. 또한 목표는 개인적이어야한다. 개인적인 동기가 나를 움직이기 때문이다.


4. 목표는 간결해야한다.
목표달성을 이루려는 사람은 여기저기 총알을 퍼붓는 기관총 사수가 되어서는 안된다. 단 한번에 목표물을 날려버리는 저격병이 되어야한다.


5. 성공한 모습을 머릿속에 그리며 살아라.
육체는 신경 에너지의 명령에 따라 움직인다. 마음속에 성공을 그리는 행위는 자신의 중앙컴퓨터에 성공을 프로그래밍하는것과 같은 효과를 발휘한다.


6. 마무리 5%가 성공을 좌우한다.
많은 사람들이 95%까지는 열심히 일하다 막판에 목표달성을 포기한다. 포기하는것도 유혹이다. 마지막 5%가 남았을때 다가오는 포기의 유혹을 이겨내라.


7. 잘못을 인정하라. 그래야 문제를 통제할수 있다.
내가 변하지 않는한 아무것도 변하지 않는다. 삶에 대한 책임이 전적으로 나에게 있다는 사실을 인정하는 순간 우리는 비로소 목표의 주인이 될수 있다. 인정하지 않으면 행동도 할수 없다.


8. 목표달성을 의한 대가를 두려워하지 마라.
성공을 반드시 대가를 요구한다. 성공한 다음 대가를 치르면 된다는 생각을 버려라. 성공으로 가는 엘리베이터는 그때그때 대가를 치러야 움직이다.



* 출처: 목표 그 성취의 기술 - 브라이언트레시

외국어 고수들이 선택한 실속 외국어 학습 사이트

취직, 승진 시험 등 사회생활 성공의 당락을 좌우하는 외국어! 굳은 각오로 시작했다 매번 흐지부지 포기하고 마는 외국어 공부. 이제는 종지부를 찍자! 자신이 원하는 시간에 맞춰 자유롭게 공부할 수 있고, 오프라인보다 저렴한 수강료, 반복 학습을 통한 효과만점의 온라인 외국어 사이트. 영어, 중국어, 일본어 우리 생활에 꼭 필요한 외국어만 모았다.



part 1 국제적으로 경쟁력 있는 중국어

초보부터 고수까지 자신의 수준에 맞는 중국어를 배울 수 있는 곳. 무료강좌, 할인, 원어민 강사의 수업, 중국 음악듣기 등 학습 효과를 높이기 위해, 다양하게 구성된 학습 프로그램이 자신의 수준과 잘 맞는지 꼼꼼하게 체크할 것.


왕 초보 학습자를 위한
e4u 사이버 어학원(e4u.ybmsisa.com)

중국어를 처음 접하는 왕 초보 학습자를 위한 강좌로 중국어에 대한 개요와 중국어 발음, 한어병어까지 하나에서 열까지 차근차근 학습할 수 있는 곳. 수강 기간은 2개월 코스로 1개월 가격은 3만9천원이며, 2개월 동시 신청 시 8천원의 할인을 혜택을 받을 수 있다. 평균 학습 시간은 50분 강의로 되어 있고, 한국인 선생님과 중국인 선생님의 강의를 골라 볼 수 있는 매력이 있다, 오프라인 중국어 강좌 보다 60% 저렴한 것이 특징.


공짜로 배우는 중국어
이지로 중국어(www.eziro.com)

중국어 온라인 강의를 무료로 볼 수 있는 곳. 기초 회화부터, 분야별 어휘, HSK 학습 자료까지 다양한 영역을 공부할 수 있다. 중국 음악 듣기, 중국 문화 살피기 등은 자연스럽게 중국어를 익힐 수 있는 프로그램. 이지로의 학습 대상은 중급 수준의 학습자에게 초점을 맞춘 것이 특징이다. 학습을 무조건 길게 하기 보다는 짧게 집중 할 수 있는 프로그램을 만들어 효율적이다. 오프라인 방문 교육도 실시한다.




중국어 고수들만 모여라
하루에 한마디(1phrase.com)

중 ?상급 중국어 학습자를 위한 스터디 사이트로 온라인 강의는 없다. 하지만 단문 번역, 공동 번역, 회원들이 직접 출제한 문제 등을 매일 풀며, 참여만으로 실력을 향상 시킬 수는 곳. 매일 출제되는 번역과 작문 문제에 응모하면, 회원들 간의 채점을 통해 합산된 점수는 개인과 단체 순위 5위까지 사이트에 게재 된다. 같은 문제는 다시 풀 수 없으며, 95%가 중국어로 이뤄져 있기 때문에 초급과 중급의 학습자는 이용이 쉽지 않을 듯.



mini interview
저렴한 강좌, 빼먹지 않고 들을 수 있어요.
최보수 (27세, 회사원)

처음 중국어를 학원에서 배웠을 때 강의시간을 맞추는 것이 쉽지 않아, 학원을 자주 빠지게 됐어요. 그러다보니 점점 중국어에 소홀하게 돼 시간에 자유로운 온라인 강의를 선택했죠. 온라인 중국어 강좌는 많이 알려져 있지 않아 기대를 하지 못했는데, 기대이상으로 효과를 많이 봤어요. 오프라인 강좌보다 수강료가 반 이상 저렴하고, 모르는 부분은 언제든지 반복할 수 있어서 학습 효과가 컸죠. 온라인을 통해 꾸준히 HSK를 공부해 성적이 많이 올랐어요.


part 2 쉽고 빠르게 배우는 일본어

일본어는 우리말과 어순이 똑같아 조금만 공부해도 효과를 톡톡히 볼 수 있는 외국어다. 히라가나부터 JPT까지 단계별로 차근차근 배울 수 있는 유용한 사이트만을 일목요연하게 모았다. 무료샘플 강좌까지 꼼꼼하게 체크 할 것.


게임을 통한 기초학습
히라가나 공부방(www.shewas.com)

히라가나, 가타가나부터 시작하는 일본어의 왕 초보자가 즐겁게 공부할 수 있는 곳. 게임과 귀여운 플레시안을 즐기며, 자연스럽게 기초단어를 익힐 수 있다. 또 청음, 탁음, 촉음 등 원어민의발음을 직접 들으며, 발음공부까지 탄탄한 기초를 쌓을 수 있다. 사이트 이용료는 무료이며, 게임은 3단계의 난이도로 구성 되어 있다. 퍼즐게임, 창문열기 게임, 내놔 게임은 생각보다 쉽지 않아 반복이 필요. 매일 게임을 통해 언어의 감을 쌓는 것이 중요하다.


전문적인 단어 암기를 도와준다
맛있는 일본어(www.yamyamjpn.com)

기초 어휘부터, JPT의 어휘 시험까지 12단계의 폭 넓은 어휘를 빠른 시간 안에 암기할 수 있도록 도와준다. 1단계 무의식 공부부터 4단계 프린트 공부까지 4단계의 반복 학습으로 진행 된다. 1년 동안 자유롭게 이용하는 수강료는 7만5천원. 오프라인 강좌의 한 달 수강료보다도 저렴한 것이 특징이다. 또 JPT와 JLPT 자격증 시험 패키지가 3개월 과정으로 따로 구성되어 있으며, 각 단계별 단어 50개를 무료로 체험할 수 있어 선택이 효과적이다.


엄격한 회원관리
일본어 닷컴(www.ilbono.com)

기존 온라인 학습과는 전혀 다른 방식의 일본어 사이버 학교. 일본 애니, 드라마, 만화, 펜팔, 게임 등을 통한 일본어 교육 프로그램을 실시한다. 또 3일간 무단결석을 하면 경고장이 발부 되고, 경고장을 3회 이상 받을시 자동 제적 처리로 출?결석 관리가 철저하다. 온라인 레벨테스트를 통해 학습자의 수준에 맞는 능력별 학습을 하는 것이 특징. 수업 참여 전, 반드시 교재로 먼저 예습하는 것을 원칙으로 하며, 수강료는 월 1만8백원.

mini interview

계획적인 실천이 필요해요
류지엽(26.대학생)

일본여행을 다녀온 후, 일본어를 배워야겠다는 생각에 서점에서 교재를 샀죠. 그런데 혼자 공부하다보니 점점 흐지부지 돼, 수강료가 저렴한 온라인 강좌를 신청하게 되었어요. 재미있는 게임을 통해 히라가나와 기초적인 어휘를 익혔고, 회사를 다니면서도 꾸준히 온라인 일본어 번역 강좌를 들으며 일본어 번역 자격증까지 땄죠. 인터넷 강의는 언제든지 볼 수 있다는 장점 때문에 그날 할 분량을 미루다보면 나중에 포기할 수 있으니, 계획적인 실천이필요해요.


part 3 세계 공용어로 쓰여지고 있어 꼭 배워둬야 하는 영어
몇 십년간 공부해온 영어! 비즈니스 영어부터, 토익, 토플, 회화, 무역영어 등 영어 공부에는 끝이 없다. 이제 끝없는 영어공부에서 벗어나 꼭 필요한 부분만 집중 공략해서 배우자. 식상함을 채워줄 똑똑 사이트를 소개한다.


영어면접의 길잡이
원스탑 잉글리쉬(www.onestopeng.com)

영어면접 준비를 위한 다양한 실전연습을 할 수 있는 곳. 프리토킹, 토론영어, 프레젠테이션, 비즈니스 영어 등 영어회화의 다양한 표현이 구성되어 있다. 기존의 수동적인 동영상 강의를 탈피해 듣기, 쓰기를 반복하여 암기할 수 있도록 했다, 또 시사 뉴스 영어, 여행영어 등 유용한 표현들을 무료로 체험할 수 있어 들어보고 선택할 수 있다. 수강료는 월2만원.
효율적인 영어 학습 방법과, 영어 5형식의 다양한 응용표현을 무료로 볼 수 있다.



좋아하는 팝송으로 영어 공부 한다
와우팝스(www.wowpops.co.kr)

팝송으로 배우는 영어 학습사이트. 자신이 좋아하는 팝송을 익히며, 공부할 수 있어 학습 효과가 높은 편이다. 와우팝스에서는 어휘와 문법을 따로 공부할 필요 없이 팝송을 따라 부르며 영어를 자연스럽게 익힐 수 있다. 한 팝송에 20~30개의 어휘와 2~3개의 문법만을 간단하게 풀어 놓은 것이 특징. 온라인 수강료는 월1만원으로 저렴한 편이며, 정 회원은 모든 팝송을 무제한으로 이용할 수 있다. 무료로 체험할 수 있는 샘플 팝이 있어 효과적이다.


영어 리스닝 사이트만 모았다
공짜로 영어 귀 뚫기 (free.neunggule.com)

다양한 영어 동영상, 오디오자료를 무료로 들을 수 있는 곳. 2년간 인터넷 영어듣기를 공부하면서 축척해놓은 사이트들과 각 단계별 이용방법까지 자신의 노하우를 일목요연하게 정리해 놓았다. 왕 초보를 위한 1단계 기초 쌓기부터, 영화 드라마를 알아들을 수 있는 7단계 정상 정복단계까지. 토론, 영화, 정치, 종교, 스포츠 등 다양한 주제로 나눠져 있고, 130개의 영어방송, 오디오파일 사이트, 미국과 영국 뉴스를 청취할 수 있다.




분야별 영어가 한자리에 모였다
윈글리쉬닷컴(www.winglish.com)

토익, 토플, TEPS, 비즈니스 및 시사영어, 등 영어학습에 꼭 필요한 강좌가 한자리에 모였다. 수준에 맞는 동영상 강의를 다채롭게 준비해 학습자가 폭 넓게 골라 볼 수 있는 것이 특징. 강의 기간은 보통 2~3개월로 진행되며, 시간은 70분간 진행된다. 또 수강료는 8천원부터~ 5만원까지 다양하다. 프리 스터디는 토익 LC&RC, AP 통신의 뉴스 청취, 실용영어 등을 무료로 학습할 수 있고, 또 토익클럽은 토익에 관련된 뉴스를 발 빠르게 알 수 있다.

mini interview

반복 학습을 통해 암기가 쉬워요
전창경(29세, 회사원)

취업 전, 토익 점수를 올리기 위해 틈틈이 온라인 토익 들으며 공부한 덕에 지금 회사에 취업할 수 있게 됐죠. 취직 후에도 영어 프레젠테이션 등 업무상 영어를 많이 사용하기 때문에 영어 공부를 꾸준하게 해야 하는데, 회사일이 불규칙하다보니 학원 갈 시간도 없고 해서, 편리하게 들을 수 있는 온라인 비즈니스 강좌를 계속 듣고 있어요. 점심시간이나, 집에 돌아와 30분씩 공부하는데, 자주 쓰는 문장 표현을 반복해서 들을 수 있어 암기가 쉽죠.


진행/석지선(객원기자) 사진/이상민

2006년 9월 25일 월요일

벌써 2년전 호주이야기 - QVB 백화점

시계탑

전부옥으로제작했다네요.

많네요..사람..^^

빅토리아 여왕

접니다.^^



Queen Victoria Building (QVB라고 더 많이 알려져있죠.) 입니다..
숙소(백페커)에서나와서 시드니 시내구경할겸해서 왔습니다.
호주는 옛날건물을 신건물로 바꾼게 아니라 내부만 수리를 한다고 합니다. 외부 건물을 변경하는것도
나라에서 관리한다는 그래서 호주시내를 둘러봐도 옜날건물들이 많이 남아있었습니다.
비싼 명품이 있는관계로 그냥 Eye쇼핑만 했죠..

(그당시 스타일이 영 아니었습니다.. 여행에 치여서 뭘입어야할지..
원체가 스타일리스트가 아니라..^^)


벌써 2년전 호주이야기 - Circular Quay&Cadman의 오두막

시드니 항구(옆엔누굴까요?^^)

캐드맨 오두막집


숙소에 짐을 놓고 맨처음 온곳이 이곳 시드니의 항구 Circular Quay 입니다.
이 항구는 많은 관광객들이 구경오더군요. 오른쪽사진은 Cad맨의 오두막사진-
호주의 최초 원두막이랍니다.

2년전에 다녀온지라..역시 사진으로 남겨놔야 하는데.. 기억하기 힘드네요..
인터넷에서 찾아서..명칭올리고..간간히 기억나는거 짜집기 하고..ㅡㅡ;
거의 시드니에서만 있었습니다.계속 포스팅하죠^^


2006년 9월 23일 토요일

[HOWTO] ○ 행복해지는 법○




○행복해지는 법○

1. 나 자신을 위해서 꽃을 산다.
2. 날씨가 좋은 날엔 석양을 보러 나간다.
3. 제일 좋아하는 향수를 집안 곳곳에 뿌려 둔다.
4. 하루에 세번씩 사진을 찍을 때처럼 환하게 웃어본다.
5. 하고 싶은 일을 적고 하나씩 시도해본다.
6. 시간날때마다 몰입할수 있는 취미를 하나 만든다.
7. 음악을 크게 틀고 내맘대로 춤을 춘다.
8. 매일 나만을 위 한 시간을 10분이라도 확보한다.
9. 고맙고 감사한 것을 하루 한가지씩 적어 본다.
10. 우울할때 찾아갈수 있는 비밀장소를 만들어둔다.
11. 나의 장점을 헤아려 본다.
12. 멋진 여행을 계획해 본다.
13. 내일은 오늘보다 무엇이 나아질지 생각한다.

more..


티스토리 스킨 올리기..

http://sky4you.tistory.com/entry/티스토리-원하는-스킨-올리기

스킨만 올리고 이게 어디갔나 함참고민했다.. 예전스킨이 나오길래...ㅡㅡ;

이유인즉슨 skin.html, style.css를 복사해줘야하는것이다..(꼭꼭 주의를 하자)

포토샵 단축키

포토샵 단축키다..흐흐 공부 공부하자


렌즈에있는 글씨들의 뜻

Ⅰ. 캐논(Canon)

⑴ EF(Electric Focus)
전기적인 방식으로 초점을 맞춘다는 의미로 캐논의 AF 렌즈 앞에 붙는 이름이다. 참고로 EOS는 Electric Optical System의 약자이다. '에오스' 라고 발음되는 EOS는 그리스 신화에서 빛의 여신을 뜻한다고 한다.
EF 100mm F2 USM

⑵ USM(Ultra Sonic Motor)
초음파 모터, 렌즈를 구동시키는 모터로 대구경렌즈나 초망원렌즈에 적합한 링 USM과 렌즈의 소형화를 가능케 한 마이크로 USM 2종류를 사용했다. 초음파 모터를 이용하면 렌즈를 구동시키는 기어를 줄이거나 없앨 수 있고, 소음도 평균 43dB 정도로 최소화 할 수 있다. 또한 포커싱 속도도 무척 빠르다.
EF 200mm F1.8L USM

⑶ L(Luxury)
호화, 사치품이라는 뜻으로 이름 그대로 대단히 사치스러운 렌즈다. 각종 특수재료와 기법(예를 들면 비구면 렌즈라든가 초저분산 유리, 특수코팅, 초음파 모터 등)의 기술을 동원해 만든 고급렌즈다. 대단히 우수한 성능으로 전문가들의 절대적인 찬사를 받고 있다. (L 렌즈에는 광각과 광각계 줌렌즈에는 비구면을, 망원과 망원 줌에는 초저분산 유리(UD: Ultra-low Dispersion)를 쓰고 있다. 물론 초음파 모터도 함께 쓰인다.
EF 20mm F2.8L USM

⑷ IS(Image Stabilizer)
렌즈의 흔들림으로부터 안정된 이미지를 얻기 위하여 렌즈의 흔들림이 발생할 때 정교한 흔들림을 추적, 자이로스코프 센서가 작동하여 불안정성을 중화시키는 작용을 하는 렌즈를 말한다.
EF 75-300mm F4-5.6 IS USM

⑸ TS-E(Tilt & Shift for EOS)
대형 카메라의 틸트, 시프트 효과를 이용할 수 있는 특수렌즈다. EOS용 렌즈이긴 하지만 AF는 되지 않으며 광학적으로도 매우 우수한 렌즈로 현재 3가지가 발매되고 있다. ? TS-E 45mm F2.8

Ⅱ. 니콘(Nikon)
⑴ Ai(Automatic Indexing)
니콘 렌즈에 표기되어 있는 것으로 촬영 전까지 렌즈 조리개가 개방 상태를 유지하다가 촬영 순간 자동적으로 해당 조리개 수치만큼 자동적으로 움직이는 현상을 말하는 것으로 AF 카메라 출시 이후 나온 수동렌즈를 비롯한 모든 AF 렌즈에 이 이름이 따라다닌다.
Ai AF Nikkor 85mm F1.4D (IF)

⑵ Nikkor
니콜, 니콘에서 만든 렌즈에 따라붙는 이름으로 단순히 니콘에서 제작한 렌즈라는 의미의 상표라고 한다.

⑶ ED(Extra-low Dispersion)
초저분산의 의미로 망원렌즈에서 발생하는 색수차를 줄이기 위해서 수차가 매우 적은 특성을 가진 특수 유리를 가공하여 만든 렌즈를 말한다. 여기에 쓰이는 형석이라는 광물질이 이상적인 초저분산 특성을 가지고 있으나, 이것은 천연광물로 구하기도 쉽지 않고 견고하지 못해서 가공에 어려움이 많다. 때문에 현재는 형석의 광학적 특성을 모방한 인공형석으로 ED 렌즈를 제조하며 보통 망원렌즈 중 1∼4매 정도를 삽입하여 제조한다. 비슷한 용어로 AD(Anomalous Dispersion, 미놀타), UD(Ultra-low Dispersion, 캐논), LD(Low Dispersion, 탐론), SD(Super-low Dispersion, 토키나), ULD(Ultra Low Dispersion, 미미야) 등으로 제각기 다르게 부르는데 그 특성도 아주 조금씩 틀리다고 한다.
Ai AF Nikkor ED 180mm F2.8D (IF)

⑷ D(Dimension 차원)
니콘의 새로운 3차원 8분할 측광을 지원하는 렌즈의 명칭으로 니콘의 F5, F90기종에서 이 D렌즈를 사용할 경우 노출측정에 있어 거리정보를 읽어 노출값을 결정해주는 기능이 있다. 이전 렌즈는 비록 명칭하지 않기도 하지만 S 렌즈라고 말한다. 이것은 Segment의 약자로 기존 5분할 측광을 지원한다는 뜻이다.
Ai AF Nikkor 85mm F1.4D (IF)

⑸ AF-I(Auto Focus-Internal motor)
모터내장형 렌즈를 말하며, 캐논의 렌즈처럼 초점을 구동시키는 모터가 렌즈 내에 내장된 형태의 렌즈이다. 최근 니콘은 대구경 망원렌즈의 초점속도를 향상시키기 위해 모터를 내장한 렌즈를 선보이고 있다.
Ai AF-I Nikkor ED 400mm F2.8D (IF)

⑹ AF-S(Auto Focus-Silent motor)
저소음 모터내장형 렌즈로 역시 캐논의 렌즈처럼 소음이 극히 적은 모터(USM)를 내장한 렌즈이다. 기존의 AF-I형 렌즈에 소음이 극히 적은 초음파 모터로 대체시켰다. 현재까지 4종의 대구경 망원렌즈가 AF-S 형태의 렌즈로 개조되었으며, 앞으로 계속해서 늘어날 전망이다. 최신형 F5 와 100% 호환이 가능하다.
Ai AF-S Nikkor ED 400mm F2.8D (IF)

⑺ DC(Defocus Image Control)
일부 구성 렌즈의 이동으로 초점면을 제외한 전후 흐림을 조절할 수 있는 렌즈로 보통 렌즈에서 피사계 심도는 조리개를 통해서 그 범위를 조절하나 DC 렌즈는 범위뿐만 아니라 피사계 심도의 적용위치, 피사체 앞과 뒷 배경의 피사계 심도까지 지정해서 조절 할 수 있다.

Ⅲ. 펜탁스(Pentax)
⑴ SMC(Super Multi Coating)
다층막 코팅, 렌즈의 각종 수차와 왜곡, 난반사를 방지하고자 렌즈 표면에 7겹의 특수 코팅을 한 렌즈로 팬탁스의 거의 모든 렌즈들은 SMC 렌즈들이다.
SMC A 50mm F1.2

⑵ M(Manual)
전형적인 수동렌즈를 말하며 메뉴얼 노출과 조리개 우선 자동노출을 지원한다.
SMC M 50mm F1.4

⑶ A(Automatic)
메뉴얼과 조리개 우선은 물론 셔터 우선 자동노출과 프로그램 자동노출을 지원한다. 80년대 초반부터 A 시리즈 렌즈가 출시되었는데 Aperture 의 약자라고도 한다.
SMC A 50mm F1.4

⑷ FA
펜탁스의 신형 AF 렌즈 명칭이다. 이전 버전의 AF로 F형 렌즈가 있었다.
FA 50mm F1.4

⑸ *
* 표시는 펜탁스 렌즈 중에서도 고급형 렌즈에 붙는 표시다.
FA* 85mm F1.4 (IF)

⑹ AL(Aspherical Lens)
비구면 렌즈로 광각에서의 구면수차를 줄이기 위해 렌즈의 곡면을 비구면(구면이 아닌)으로 깍아서 만든 렌즈다. 다른 메이커에서는 AS(ASpheric)렌즈라고도 하며, 니콘은 별다른 명칭없이 사용하고 캐논은 L 렌즈에 속해있다.
FA* 28-70mm F2.8 AL

Ⅳ. 미놀타(Minolta)
⑴ xi zoom
미놀타의 xi 기종(7xi, 9xi)을 위한 자동렌즈로 모터에 의한 자동 줌과 자동 초점이 가능한 렌즈로 xi 시리즈 출시 당시 5종의 렌즈가 발표되었다.
AF Zoom xi 28-80mm F4-5.6

⑵ High Speed AF
말 그대로 고속 AF를 가능하도록 설계된 렌즈다. 보통 대구경 망원과 망원 줌 렌즈에 적용되고 있다.
High Speed AF 200mm F2.8G APO

⑶ G
어디에도 정확하게 G를 설명한 부분은 없으나 Gallant 혹은 Glorious로 말하는 사람들이 있으며, 렌즈의 금테 띠를 보고 Gold라고 추측하기도 한다. 아무튼 캐논의 L 렌즈와 마찬가지로 고급 렌즈를 통칭하는 말이다.
AF 85mm F1.4G

⑷ APO(Apochromatic)
색수차를 유발하는 주요색인 3색(빨강, 파랑, 녹색)의 색수차를 보정한 렌즈를 말한다. 비슷한 용어로 2색 보정 렌즈인 Achromatic이 있는데 하셀블라드용 칼 자이스 렌즈에 쓰이고 있다.
AF 200mm F2.8G APO

DC : Defocus Control 연초점 조절 기능이 있는 렌즈

Boost Libraries (일부번역...)

Boost Libraries

Boost 설치빌더

어느 라이브러리가 어느 컴파일러에서 동작하는가를 이해 하는 것에는Compiler Status의 페이지를 봐라.
어느 헤더가 다른 어느 boost 의 헤더를 포함 하고 있는 가를 이해 할려면Header Dependencies의 페이지를 봐라.
라이브러리의 다운로드와 인스톨에 대해서 이해 할려면Download and Installation의 페이지를 봐라.
필요 하다면라이브러리의 오브젝트 파일을 빌드 하는 방법을 이해 할려면Building Boost Libraries 의 페이지를 봐라.

개인가의Boost 라이브러리의 도큐먼트는아래의 형식으로 이용 가능하다.:

* 한글로번역된부분은번역이되었으며, 아직일본어로적혀있는것은번역을하지못한것입니다.


알파벳 순 라이브러리 리스트

  • any 다른형의하나의값을보관가능하며, 안전하므로범용적인보관물(C#박싱/언박싱과비슷함). Kevlin Henney .  예제
  • addressof buile-in 변수사용자정의변수의메모리주소를간단하게얻어있다.
  • array STL에 준거한 정수 사이즈의 배열의 랩퍼 컨테이너. Nicolai Josuttis 만듬.    예제
  • bind and mem_fn - 関数、オブジェクト、ポインタ、メンバ関数のための汎用的なバインダ。 Peter Dimov
  • call_traits 함수의인수, 반환값을위해적절한(type)정의한다. John Maddock, Howard Hinnant, et al 만듬
  • compatibility - 標準に準拠しないプラットフォームでのライブラリの利用に役立つ。Ralf Grosse-Kunstleve and Jens Maurer
  • compose - STL の為の関数合成アダプタ Nicolai Josuttis
  • compressed_pair - 空メンバを最適化する std::pair の拡張。John Maddock, Howard Hinnant, et al
  • concept check - ジェネリックプログラミングのためのツール群。 Jeremy Siek
  • config - boost ライブラリの開発者がコンパイラの特質に適応するのを助ける。 ライブラリのユーザのためのものではない。
  • conversion - 数学的、多相的、辞書的キャスト Dave Abrahams and Kevlin Henney
  • crc - CRC(巡回冗長コード) Daryle Walker
  • date_time - 日付/時間ライブラリ Jeff Garland
  • dynamic_bitset - std::bitsetの動的サイズ版。 Jeremy Siek and Chuck Allison
  • filesystem - 移植性のあるパス、 ディレクトリに対する繰り返し操作、その他の役立つファイルシステム操作。 Beman Dawes
  • format - 型安全な printf 風の書式化操作。Samuel Krempp
  • function 지연 호출 급 콜백을 위한 함수 오브젝트 랩퍼.Doug Gregor
  • functional - 機能強化されたファンクションオブジェクトアダプタ。 Mark Rodgers
  • graph - 汎用グラフコンポーネント及びアルゴリズム。 Jeremy Siek and a University of Notre Dame team
  • integer - 汎整数型を簡単に扱うためのヘッダ。
  • interval - 数字の範囲に対する通常の数学関数の拡張。Guillaume Melquiond, Hervé Brönnimann, Sylvain Pion
  • io state savers - 入出力の状態を保存して、データが化けるのを防ぐ。 Daryle Walker
  • iterator adaptors - 標準に準拠したイテレータの定義を手助けしたり、拡張したりする。 Dave Abrahams, Jeremy Siek, and John Potter
  • lambda - 実際の呼び出し時の、小さな無名関数オブジェクトの定義。, from Jaakko Jävi and Gary Powell.
  • math - 数学の領域での多くの貢献。様々な作者による。
  • math/common_factor - 最大公約数と最小公倍数。 Daryle Walker
  • math/octonion - 八元数。 Hubert Holin
  • math/quaterion - 四元数。 Hubert Holin
  • math/special_functions - 特殊な数学関数。atanh, sinc, sinhc など。 Hubert Holin
  • mpl - テンプレートメタプログラミングのフレームワーク。 コンパイル時アルゴリズム、シーケンス、メタ関数クラス。 Aleksey Gurtovoy
  • multi_array 메모리상에서배열을위한차원컨테이너와어댑터. Ron Garcia 만듬.   예제
  • operators - 算術クラスやイテレータに適切な演算子を簡単に定義できる要にするテンプレート。 Dave Abrahams and Jeremy Siek
  • optional - 追加の値のための、識別された union のラッパ。 Fernando Cacciola
  • pool 메모리 Pool 관리. Steve Cleary
  • preprocessor - 繰り返しと再帰を含むプリプロセッサメタプログラミングツール群。 Vesa Karvonen
  • property map - キーオブジェクトを値オブジェクトにマップする、コンセプトにより定義されたインタフェース。 Jeremy Siek
  • python - C++ クラスと関数を Python に反映する。Dave Abrahams
  • random 난수생성. Jens Maurer .                예제
  • rational - 有理数クラス。 Paul Moore
  • ref - 参照を汎用関数に渡すためのユーティリティライブラリ。 Jaako Järvi, Peter Dimov, Doug Gregor, and Dave Abrahams
  • regex - 正規表現ライブラリ。 John Maddock
  • signals - 管理されたシグナルとスロットのコールバックでの実装。 Doug Gregor
  • smart_ptr - 5つのスマートポインタクラステンプレート Greg Colvin, Beman Dawes, Peter Dimov, and Darin Adler
  • static_assert - 静的アサート(コンパイル時アサート) John Maddock
  • spirit - LL 構文解析器のフレームワーク。 インラインの C++ EBNF の文法を直接解析する。 Joel de Guzman and team
  • test - 単純なプログラムテスト、完全なユニットテスト、プログラム実行のモニタのサポート。 Gennadiy Rozental
  • thread - 移植性のある C++ マルチスレッド。 William Kempf
  • timer - イベントタイマ、プログラムタイマ、 進行表示クラス。 Beman Dawes
  • tokenizer - 文字列や他の文字シーケンスを、一連のトークンに分割。 John Bandela
  • tuple - 複数の値を返す関数の簡単な定義など。 Jaakko Jävi
  • type_traits - 型の基本的な特徴のためのテンプレート。 John Maddock, Steve Cleary, et al
  • uBLAS - 密行列、疎行列、圧縮された行列のための基本的な線形代数。 Joerg Walter and Mathias Koch
  • utility - クラス noncopyablechecked_delete(), checked_array_delete(), next(),, prior() 関数テンプレートと、成句: base-from-memberDave Abrahams and others

  • Japanese Translation Copyright (C) 2003 Kohske Takahashi

    라이브러리에링크된예제는 http://www.kmonos.net/pub/BoostBook/ 여기에소개하는책에있는예제입니다.

    한글번역 : 흥배 2003 jacking@korea.com(msn : jacking75@msn.com)

    프로그래밍 조각지식

    출처 : http://ngpiki.ngps.net/index.php?display=프로그래밍%20조각지식

    프로그래밍 조각지식

    malloc & calloc

    일반적으로 C++이 도입되면서 malloc 과 free라는 함수의 사용빈도는 많이 줄어들고 있지만 클래스 기반이 아닌 오리지널 C나 C/C++의 중간 개념적인 소스의 경우 여전히 malloc와 free에 의해 메모리 할당, 해제를 하게 됩니다.(개인적으로는 malloc가 더 편하다는 -_-;;)

    malloc라는 함수의 존재를 알고 있으면서도 calloc라는 함수에 대해선 모르고 지나치는 사람들이 많이 있는데 malloc와 calloc는 같은 맥락의 함수이지만 약간의 차이점을 가지고 있습니다.

    malloc는 지정된 크기만큼의 메모리를 할당하지만 그 메모리 자체가 초기화 되어지지 않은체로 그저 공간만이 할당되는 역할을 하는 반면 calloc는 malloc과 마찮가지로 지정된 크기만큼의 메모리를 할당하면서 할당된 메모리를 모두 0으로 체워서 반환합니다. 간단하게 말하면 malloc 와 memset 을 (또는 bzero ) 한번에 사용 해 놓은 것이죠.

    단, malloc 보다는 calloc 가 조금 더 느리다고 합니다.

    TODO 메크로

    헤더에 다음과 같은 메크로를 추가해 놓습니다.

    #define LINE1(x) #x  
    #define LINE(x) LINE1(x)
    #define TODO(msg)   message ( __FILE__"(" LINE(__LINE__)  "): [TODO] " #msg ) 
    #define NOTE(msg)   message ( __FILE__"(" LINE(__LINE__)  "): [NOTE] " #msg ) 

    소스 파일에서 메크로 사용은 다음과 같습니다.

    #pragma TODO( "여기에 적어 놓을 말을 적습니다." 

    그리고 소스 파일에 다음에 해야할 일이나 특이사항들을 적어 두면 컴파일시 output 창에 나타납니다. 그리고 output창에 나온 메시지를 더블클릭하면 해당 라인으로 이동합니다. 급하게 메모해야할 일이 있으면 유용한 메크로가 되지 않을까 합니다.

  • 관련링크VS.NET의 TODO 주석 기능을 이용하자. - http://jacking75.cafe24.com/Tip/VS_NET-TODO.htm
  • 파일읽기 버퍼 오버플로우 방지 팁

    fscanf()등 파일에서 읽기 작업을 할때 보통 이런식으로 많이 사용합니다.

    FILE * fp = fopen( "test.dat", "r" ); if( fp == NULL )         return; fscanf( fp, "%s", szBuf ); 

    이때 버퍼를 넘어서 입력값이 들어올 수 있습니다. 이는 입력수를 제한하여 오버플로우를 방지할 수 있습니다.버퍼의 크기가 256이라고 한다면,

    fscanf( fp, "%255s", szBuf ); 

    이런식으로 크기를 제한하여 사용하면 간단히 막을 수 있습니다.그러나 버퍼의 크기가 바뀐다면 하드코딩된 부분 또한 바꾸어야 합니다. 이를 좀더 편하게 하기 위해서 다음과 같이 합니다.

    char szFormat[128]; 
    sprintf( szFormat, "%%%ds", sizeof( szFormat )-1 );
    fscanf( fp, szFormat, szBuf );

    "%%%ds"를 간단히 설灼玖? 맨앞의 %%는 %로 만들기 위해 넣는 부분이고 다음의 %d는 사이즈 수를 받기 위한 부분입니다. 그리고 마지막 s를 넣어 format을 완성하는 것이죠. 위와 같이 하면 szFormat에는 "%255s"와 같은 값이 들어갑니다.이렇게 하여 보다 유연하고 안전한 파일읽기가 가능합니다.

    VC++ 프로젝트에서 Visual Source Safe 삭제 방법

    시작하기에 앞서 파일들이 읽기전용이면 이를 풀어줍니다.

    VC++ 6.0 프로젝트에서 Visual Source Safe 삭제 방법

    1) 프로젝트 폴더에 있는(하위폴더 포함) *.scc 파일을 모두 삭제 합니다.

    보통 프로젝트 메인 폴더에 mssccprj.scc 파일이 있고, 각 폴더마다 vssver.scc 파일이 있습니다. 하위 폴더까지 이 파일이 있으니 검색을 통해서 모두 삭제하세요.

    2) *.dsw 파일을 열어 Source Safe 정보를 삭제합니다.

    *.dsw 파일을 메모장으로 열어보면 아래와 같은 부분이 있습니다.

    begin source code control ....(중략) end source code control 

    이부분을 삭제합니다.

    3) 모든 *.dsp 파일을 열어 Source Safe 정보를 삭제합니다.

    *.dsp 파일을 메모장으로 열어보면 아래와 같은 부분이 있습니다.

    # PROP Scc_ProjName "(어쩌고저쩌고)" # PROP Scc_LocalPath "." 

    이 부분을 삭제합니다.

    VC++ .NET 2003 프로젝트에서 Visual Source Safe 삭제 방법

    1) 프로젝트 폴더에 있는(하위폴더 포함) *.scc 파일을 모두 삭제 합니다.

    VC++ 6.0과 동일합니다.

    2) *.sln 파일을 열어 Source Safe 정보를 삭제한다.

    *.sln 파일을 메모장으로 열어보면 아래와 같은 부분이 있습니다.

    GlobalSection(SourceCodeControl) = preSolution ...(중략) EndGlobalSection 

    이부분을 정확하게 찾아서 삭제합니다.

    3) 모든 *.vcproj 파일을 열어 Source Safe 정보를 삭제한다.

    *.vcproj 파일을 메모장으로 열어보면 아래와 같은 부분이 있습니다.

    SccProjectName="(어쩌고저쩌고)" SccLocalPath="." 

    이부분을 삭제합니다. 보통 뒤에 '>' 이게 있는데 이건 지우면 안됩니다. 정확하게 해당 부분만 지우세요.

    스트링의 해시 값 구하기

    배열크기(NHASH)와 해시 값에 곱해지는 값(MULTIPLIER)과 가능하면 데이터 값들이 서로 공통된 약수를 가지지 않도록 하여 균등하게 분산시킬 수 있게 한다. 그러므로 곱해지는 값을 소수로 잡는다. ASCII 스트링의 경우 31과 37이 좋다.

    enum { MULTIPLIER = 31 }; // or 37 
    unsigned int hash( char * str )
    {    
    unsigned int h = 0;    
    // 해시 값이 양수가 되게 하기위해 unsigned char로 변환    
    unsigned char * p = NULL;    
    for( p = ( unsigned char * ) str; *p != '\0'; p++ )        
    h = MULTIPLIER * h + *p;    
    return (h % NHASH); }

  • 관련링크http://www.gpgstudy.com/forum/viewtopic.php?t=795
    http://www.flipcode.com/cgi-bin/msg.cgi?showThread=Tip-HashString&forum=totd&id=-1
  • 2차원 배열 동적 할당

    이 내용은 게임 개발자를 위한 C++ (민프레스, 서진택 저)에서 가져온 것입니다.

    • 첫번째 방법

    int (*pArray1)[3]; pArray1 = new int[2][3]; 
    // ok delete [] pArray1; int (*pArray2)[3][4];
    pArray2 = new int[2][3][4];
    // ok delete [] pArray2;

    이렇게 할당하면 맨끝 인덱스가 고정되어야 하는 단점이 있다.

    참고

    int (* pointer)3 => 크기가 3인 정수 배열의 배열의 시작주소 :
    pointer + 1 == pointer1 int * pointer3 => int * 를 요소로 가지는 일차원 배열

    • 두번째 방법

    double ** pData =  NULL;
    pData = new double*[nSize1];
    for( int i = 0; i < nSize1; i++ )     pData[i] = new double[nSize2];
    // ... for( int j = 0; j < nSize1; j++ )     delete [] pData[j];
    delete [] pData;

    가장 일반적인 방법이다. 이 방법이 가장 이해하기 쉽다.

    • 세번째 방법

    하나의 일차원 배열을 렙퍼하는 형식의 클래스를 만들고 그 클래스를 또 일차원 배열로 만들면 관리하기 편하고 조금 더 직관적인 코드를 만들 수 있다.

    class CInt { public:     
    CInt( int nSize = 10
    { m_pArray = new int[nSize]; m_nSize = nSize; }    
    ~CInt() { delete [] m_pArray; }    
    int & operator[]( int nIndex ) 
    { return m_pArray[nIndex]; }
    private:     int * m_pArray;     int m_nSize; };
    // main CInt * pInt; pInt = new CInt[3];
    // ... pInt[i][j] 로 사용. delete [] pInt;

    참고기본 new 연산자를 이용하여 디폴트 생성자가 없는 클래스를 동적 배열 할당으로 만들 수 없다.

    크리티컬세션을 사용할때 기억해야할 한마디

    크리티컬세션을 사용할때 이말을 상기하자.

    "크리티컬세션은 코드에 거는 것이 아니라 리소스에 거는 것이다."

    "이중 크리티컬 세션은 되도록 사용하지 말라. 데드락의 위험이 있다. 혹시 사용하게 된다면 모든 곳에서 각 크리티컬 세션을 똑같은 순서로 Lock하고 UnLock하게 하라."

    예)
    csResource1.Lock();
    csResource2.Lock();
    ...
    csResource2.UnLock();
    csResource1.UnLock();

    ...

    /************
    csResource2.Lock();
    csResource1.Lock(); // 데드락 위험!!
    **************/
    csResource1.Lock();
    csResource2.Lock();
    ...
    csResource2.UnLock();
    csResource1.UnLock();

    typename 키워드

    typename 키워드는 다음에 나오는 식별자가 타입이라는 것을 명시하기 위해 사용된다. 예를 보면,

    template< class T >
    class MyClass {    
    typename T::SubType * ptr;
       // ... };

    여기서 typename은 SubType이 class T의 서브 타입이라는 사실을 명확하게 한다. 그래서 ptr 변수는 T::SubType 타입의 포인터가 된다. 물론 타입 T 안에 SubType가 정의 되어야 한다. typename 키워드를 빼버린다면, SubType는 static 변수로 간주된다. 그래서 붙이지 않을 경우

    T::SubType * ptr; 

    은 타입 T의 SubType static 변수와 ptr과 곱한 결과로 인식한다.

    말이 안되는 것 같지만 컴파일러는 typename이 없다면 값으로 판단하기 때문에 반드시 필요하다. VC 6.0에서는 크게 문제가 없었지만, VC.NET 2003에서는 반드시 typename을 적어주어야한다.

    C와 C++의 비용 모델

    The Practice of Programming 라는 책에 보면 각 C와 C++의 연산이나 함수의 비용을 수만번 실행해서 평균값을 적어 놓은 것이 있습니다. 테스트를 250MHz MIPS R10000이라는 컴퓨터 사양으로 했다고 합니다. 컴퓨터가 일반적으로 사용하는 Intel x86이 아니라서 아쉽지만, 일단 참고삼아 볼 수 있고 궁금하면 테스트를 해보면 되니 여기에 적어 봅니다. (단위는 nanoseconds 입니다.)

    Int operations

    i1++;8
    i1 = i2 + i3;12
    i1 = i2 - i3;12
    i1 = i2 * i3;12
    i1 = i2 / i3;114
    i1 = i2 % i3;114

    Float Operations

    f1 = f2;8
    f1 = f2 + f3;12
    f1 = f2 - f3;12
    f1 = f2 * f3;11
    f1 = f2 / f3;28

    Double Operations

    d1 = d2;8
    d1 = d2 + d3;12
    d1 = d2 - d3;12
    d1 = d2 * d3;11
    d1 = d2 / d3;58

    Numeric Conversions

    i1 = f1;8
    f1 = i1;8

    Integer Vector Operations

    v[i] = i;49
    v[v[i]] = i;81
    v[v[v[i]]] = i;100

    Control Structures

    if( i == 5 ) i1++;4
    if( i != 5 ) i1++;12
    while( i < 0 ) i1++;3
    i1 = sum1( i2 );57
    i1 = sum2( i2, i3 );58
    i1 = sum3( i2, i3, i4 );54

    Input/Output

    fput( s, fp );270
    fgets( s, 9, fp );222
    fprintf( fp, "%d\n", i );1820
    fscanf( fp, "%d", &i1 );2070

    Malloc

    free( malloc( 8 ) );342

    String Functions

    strcpy( s, "0123456789" );157
    i1 = strcmp( s, s );176
    i1 = strcmp( s, "a123456789" );64

    String/Number Conversions

    i1 = atoi( "12345" );402
    sscanf( "12345", "%d", &i1 );2376
    sprintf( s, "%d", i );1492
    f1 = atof( "123.45" );4098
    sscanf( "123.45", "%f", &f1 );6438
    sprintf( s. "%6.2f", 123.45 );3902

    Math Functions

    i1 = rand();135
    f1 = log( f2 );418
    f1 = exp( f2 );462
    f1 = sin( f2 );514
    f1 = sqrt( f2 );112

    MS VC++에서 __int64 값 출력하기

    만약 MS VC++에서 __int64를 printf() 등으로, 값을 출력하고자 할때 %d 로 출력을 하면 4바이트만 출력된다. 더욱 %d 뒤에 또 다시 %d 가 나왔을때 뒤 부분의 값은 올바르게 출력되지 않는다. 아마, %d 가 4바이트를 기준으로 끊어버리기 때문인 듯하다.

    그럼 __int64 를(unsigned __int64 도 마찬가지 이다.) 출력하고자 한다면 64비트라는 것을 알려줘야 한다. 이것을 해주는 것이 MS VC++에서는 %I64d 이다 I64 가 64비트라는 것을 알려준다.

    __int64 n64SumVal;
    ...
    printf( "Val: %I64d", n64SumVal );