책 - 전공서적2010. 1. 20. 16:26


<능률적인 프로그래머 / 닐포드, 김현수역 / 지앤선>

개발자로서 할 수 있는 생산성 향상의 팁을 알려주는 책

아래는 간단한 요약정리.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

템플릿 지원 - TextMate, E-Text



이클립스 내 소스검색 - Ctr+Sft+T, Ctr+Sft+R



VS 추가기능 플러그인 - Resharper(상용)



키 매크로 도구 - 윈도우용 : AutoHotKey



한주에 도구 하나씩 익혀보기



정숙시간 갖기 - 달력등에 회의로 표시 ex)오전 9~11까지, 오후 3~5시 까지



사용중인 창 외의 프로그램을 어둡게 하기(집중효과)

- 윈도용: Jediconcentrate, 맥용: Doodim



구글 데스크탑 서치 이용 검색 강화 - 구글을 이용한 내컴퓨터 검색



특정 디렉터리를 root로 보기 - RootedView



버전관리 - Tortoise



시작관리자(어플이름으로 검색 및 실행) - Launchy, Colibri, 뚜내



윈도우 파워토이 -

http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx



디렉토리간 연결 - Junction, Gnome : Alt+F2



클릭보드 - 윈도용: CLCL,  맥용: JumpCut    상용: JClip



명령 프롬프트 탐색 막대 - Command Prompt Explorer Bar -> Ctrl+M

-->탐색기에 cmd를 붙인다.



이클립스 단축키 목록 보기 - Ctr+Sft+L



단축키 적응하기 - KeyPrompter : 단축키 사용을 강제함

마우스로 기능 실행시 이를 되돌려 단축키로 3번씩 반복



작업공간 분리 - Virtual Desktop Manager

비스타용: Vista Virtual Desktops



자바용 CI - Buildix



웹사이트 상호작용 자동화 - CU기



RSS 피드 연동 - Pipes



Ant를 업무용으로 사용하기 - Ant, Gant



웹페이지 자동 사용자 동작 - Selenium, 플러그인: TestRunner, http://www.openqa.org



윈도 비스타 파워쉘 이용



로깅 프레임웍 - Log4J / Log4Net



정식 빌드 머신 두기

크루즈컨트롤 : Cruisecontrol.sourceforge.net

뱀부(Bamboo), 허드슨(Hudson), Teamcity, LuntBuild



이크립스 플러그인 관리 소프트웨어 - Pulse



비스타 심볼릭 링크 - mklink  윈도용: Junction



가상화 사용 프로그램 사용 - 개발 이미지 분리



코드관계 생성 - yDoc



DB 스키마 관계 생성 - SchemaSpy



버그 찾는 프로그램 - FindBugs, PMD + CPD : 코드체크인시마다 의무실행하기



측정지표 산출 - 파놉티코드 Panopticode



정보방열판 - 프로젝트 상태 정보를 눈에 잘 띄는 곳에 둔다.



동적언어 순환복잡성 도구 - 사이쿠로(Saikuro)



루비의 코드 질 측정 - Flog



YAGNI(You Ain't Gonna Need It) - 쓸데 없을 걸. 당장 필요한 것만 작성하라

-->투기성 코드는 복잡성을 더할 뿐이다.



복잡성이 낮다는 것은 리팩토링시 복잡하지 않다는 것이다.



DSL(Domain Specific Language)

--> Jaskell, Neptune



디미터의 법칙 - 가장 친한 친구하고만 소통할 것

--> 개체 자신의 메서드, 매개 변수로 넘어온 개체의 메서드, 메서드 내 생성 개체의 메서드



추천 필독서 - 맨먼스 미신, 실용주의 프로그래머, 스몰토크 최상의 방법 패턴



언어에 의존적인 관용코드 피하기 - 새로운 언어를 사용하면 새로운 언어법칙을 따르라



긴 변수에 밑줄로 구분하면 읽기 쉽다 - thisIsAnApple 보다 this_is_an_apple 가 읽기 쉽다.



유창한 인터페이스 DSL 양식을 사용하여 코드를 서술하라 - 비개발자 고려 인터페이스



반 객체를 고려하라 : 팩맨의 유령객체에 인공지능보다 미로에 인공지능을 넣는게 효율적.



그루비로 자바의 부족한 기능을 채워보자 - 언어의 성능 향상에 도움되는 언어 배우기



다종언어 프로그래밍 - 범용언어 이외에 하나 이상의 특수목적 언어를 사용한 App

-->Java + Jython + Groovy 등..



멀티프로세서를 위한 자바 책 - 자바 병렬 프로그래밍(에이콘)



함수언어(functional language)는 메모리 중심 언어(imperative languages)의 많은 결점에서 자유롭다. - 대표적인 함수언어 : Haskell, OCaml, erlang, SML

함수 언어는 스레드로부터 안전하고 견고한 코드 작성이 용이하다.



자스켈(Jaskell)은 자바 플랫폼에서 돌아가는 하스켈 언어 - 하스켈 코드로 자바 바이트 코드 생성



능률적인 언어 배우기 - 그루비, JRuby, Jython



최종사용자의 요구에 더 가깝게 조정하기 위해 도메인 특정언어를 사용하라



편집기 자격 조건

매크로 레코더 지원

명령줄에서 실행 가능할 것

정규식 검색 및 치환기능

추가 잘라내기, 복사하기 명령

다중 레지스터 지원

플랫폼 간 호환성

편집기 후보

VI, Emacs, JEdit, Textmate, eEditor



진짜 스크립트 언어는 루비, 파이썬, 그루비, 펄 등이다.



프로그래밍이란 공학과 기예가 고도로 결합되어 좋은 개발자가 되자면 대단히 폭넓은 기술이 필요하다. 분석적 사고, 다양한 수준의 세부에 이르는 극도의 고나심과 미 의식, 거시적 또는 미시적 문제, 동시 자각, 현업 사용자보다도 훨씬 저수준의 업무 흐름까지 이해해야 한다.



기초도구

1. 시그윈(CygWin) - http://www.cygwin.com

2. 유닉스 명령줄의 적응 및 활용

Posted by 퍼지기능