'개발자'에 해당되는 글 16건

  1. 2012.02.06 한국자바 개발자 컨버런스
  2. 2008.04.10 Visual Studio Color Settings (Dark Side) (2)
  3. 2008.02.27 입문자에게... "프로그램 공부 어떻게 해야 하나요?"
  4. 2008.02.27 왜 자바개발자가 루비,레일스를 배워야할까?
  5. 2007.05.30 [질문] 개발자들 이거 없으면 못 만든다!!!~~~ (1)
  6. 2007.05.09 성공한 개발자와 행복한 개발자
  7. 2007.04.17 Prototype base multi-Selection API
  8. 2007.04.16 Prototype기반 벡터 그래픽 프레임웍 - PGF
  9. 2007.04.13 PHP, ASP, JSP.. 서버사이드 스크립트 언어의 차이점에 대해..
  10. 2007.04.13 자바스크립트가 그려낸 둥근 모서리 - Transcorners
2012.02.06 13:03

한국자바 개발자 컨버런스

신고
Trackback 69 Comment 0
2008.04.10 09:45

Visual Studio Color Settings (Dark Side)

개발 환경을 내 입맛에 맞게 쓰는것을 좋아하는지라...
관련 된 내용을 종종 찾고 한다. 얼마전에 외국에 유명한 블로그 주인에 font color을 보고 받아서
내 입맞에 맞게 수정하여 사용하고 있다.
검색 해 보면 정말 다양하고 재미있고 뭔가 있어 보인다고 해야 하나...멋진 설정들이 많타~~
^^;;
이렇게 하는것만으로도...왠지 코딩할때 즐겁다~!!!
개발 환경에도 변화을 주면 어떤지요.. ^^;;




사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지


내가 사용하는 Visual Studo 화면이에요~~ Font는 Bitstream Vera Sans Mono ...
사용자 삽입 이미지


참고 :
http://weblogs.asp.net/infinitiesloop/archive/2006/08/06/Join-the-Dark-Side-of-Visual-Studio.aspx

http://weblogs.asp.net/infinitiesloop/archive/2006/08/06/Join-the-Dark-Side-of-Visual-Studio.aspx

http://www.stefandidak.com/ramble/2008/01/09/visual-studio-dark-color-schemes-and-themes/

신고
Trackback 0 Comment 2
  1. BlogIcon 미친병아리 2008.04.12 19:48 신고 address edit & del reply

    저는 개발툴 환경은 디폴트 그대로 사용합니다.. ㅎㅎㅎ 게을러서리..
    모니터 환경은 쥑이네요.. 저는 공간만 되면 http://madchick.egloos.com/43839 이렇게 꾸밀겁니다.. ^^

  2. BlogIcon 투투아빠 2009.02.10 16:06 신고 address edit & del reply

    아, 이쁘네요^^; 괜찮으시다면 설정파일을 좀 얻고싶은데^^;;;;;
    ddugy98@nate.com 이쪽으로 쏴주시면 안될까요? ㅋ 수작업으로 설정하다 포기했거든요ㅠㅠ

2008.02.27 09:05

입문자에게... "프로그램 공부 어떻게 해야 하나요?"

몇몇 분들이 이제 .NET 을 시작하고 공부를 하면서 저에게 이런 문의를 하신 분들이 계셨습니다.
 
닷넷 공부를 어떻게 하세요?”
 
사실 공부하는 방법은 학창시절에서부터 사람마다 너무 다양하기 때문에, 마냥 “열심히 하세요”, “외우세요”, “직접 해보세요” 등등 의외로 성의 없는 답변이 될 수도 있을 것 같아요. 그도 그럴 것이, 달달 외워서 잘 하는 사람이 있기도 하는 반면, 매일 골목 뒷 편에서 같이 놀던 친구들도 시험 때면 성적이 상당히 좋은 사람도 있습니다(이런 친구는 수업 때만 잘 들으면 된다 라고 하더군요^^;).
 
부끄럽지만, 저는 사실 학창시설에 공부를 못했습니다. 공부를 어떻게 해야 하는지도 몰랐고, 더욱 중요한건 관심(?)이 없었습니다. 학업을 열심히 하는 것이 학생의 신분이라면, 전 좋은 학생은 아니였나 보네요. 그렇다고 너무 사춘기의 방황이 심해서 관심분야인 컴퓨터 공부도 내팽겨 쳐 버렸으니까요.
 
궁금해 하시는 분들도 계셔서 제가 지금까지 봤던 책을 나열해 봅니다. ( 프로그램과 관련 없는 책은 제외입니다 무작위 순서 )
 
l Taeyo’s ASP.NET V1.0 ( 영진출판사, 김태영 저 )
l ASP.NET 으로 구현하는 블로그 프로그래밍 ( 가남사, 장현희 저 )
l ASP.NET Website Programming ( 정보문화사, 김태역 역 )
l C# 을 이용한 ASP.NET 웹 프로그래밍 ( 크라운출판사, 황인균 저 )
l Effective C# ( 한빛미디어, 김영신 역 )
l 마이크로소프트 ASP.NET AJAX ( ITC, 이광수 역 )
l Visual C# .NET 2005 2nd Edition 실전 프로젝트 ( 영진출판사 최재규 저 )
l C# Programming Bible with .NET Framework 3.0 ( 영진출판사, 최재규 저 )
l XML For .NET ( 정보문화사, 김세현 역 )
l C# 디자인 패턴 ( 정보문화사, 전병선 역 )
l C# Web Sevices ( .NET 리모팅과 ASP.NET 으로 웹 서비스 구현하기 ) ( 정보문화사, 문건웅 역 )
l ASP.NET Distributed Data Application ( ASP.NET 분산 데이터 애플리케이션 ) ( 정보문화사, 강승규 역 )
l Professional ASP.NET Web Services ( 정보문화사, 송영덕 역 )
l 훈스닷넷과 함께하는 .NET Framework 3.0 ( 영진닷컴, 박경훈/서동진 저 )
l PROGRAMMING MICROSOFT WINDOWS WITH C# ( 정보문화사, 김태현/박한돌 역 )
l 찰스페졸드의 WPF ( 에이콘, 최세영/황상철/김인기/신희철 역 )
l Programming WCF Services(한글판) ( ITC, 박경훈 역 )
 
그리 많은 책은 아니지만, 제 경력에 일반적인 책 읽기의 권장량 정도를 본 것 같네요. E-Book(인터넷 PDF 도서)를 포함한다면 더 많은 양이 될 수 도 있습니다. 그렇다고, 이 책의 내용을 모두 독파하고 빠삭하게 마스터 한 것은 아닙니다. 언제나 옆에 끼고, 참고서 처럼 심심할 때 끄집어보고, 생각날 때 보고 하는 책들이 대부분 입니다.
 
1. 입문서는 반드시 마스터 하라.
 
그렇다면, 이 모든 책을 모두 이해하고 정독했느냐? 그렇지 않습니다. 이중에서 입문서 3권만을 6개월 이상 옆에 끼고 살았습니다. 워낙 닷넷에 대한 기초가 없었기 때문에, ASP.NET 과 OOP(객체지향)를 중심으로 공부를 했습니다. BASIC 이나 C 언어에 대해선 어느 정도 수준(?)이 되었으나, 처음 접해보는 OOP 는 내 머리 속을 가장 많이 혼란스럽게 하였고, 더 이상 다른 책들을 보지 못하고 덮어버리게 만든 장본이었답니다.
 
베스트셀러이자 최고의 입문서인 김태영님의 책을 본 후, 스스로 초급 탈출을 외치며 또 하나의 베스트셀러인 장현희님 책을 보았을 때, 너무나도 큰 좌절이었습니다. 장현희님의 책 중반부터 도저히 보고 또 봐도, 이해할 수가 없었기 때문입니다. 바로 이해할 수 없던 이유는, OOP 에 대한 텅 빈 지식 때문이었죠.
 
 
2. 입문서는 눈높이에 맞는 책을 직접 서점에서 골라라.
 
처음으로 김태영님의 책을 인터넷으로 주문하고, 한달 동안 집에 처박혀 공부했습니다. 그리고 두 권의 책을 인터넷으로 주문을 하게 되었죠. 하지만, 이 책 두 권은 OOP 의 기초를 모르고선, 도저히 책의 마지막 장을 찍을 수 가 없었습니다. 바로, 책 한 권으로 모든 것을 마스터한양 자신의 실력을 망각했던 것입니다.
 
당장 서점으로 달려가서 직접 읽어보고 자신에게 맞는 책을 고르세요. 똑같은 수학문제를 놓고, 푸는 방법을 10분 동안 알려준 후, 숫자만 다른 문제를 제시했을 때, 풀지 못하는 사람도 분명 있을 거라고 생각합니다. 또한 응용 문제를 제시했을 때, 손도 대지 못하는 사람도 분명 있을 거라고 생각합니다. 이것은 문제의 답이 중요한 것이 아니라, 문제를 푸는 방법을 배운 10동안 자신에게 맞는 수준으로 배우지 못했기 때문입니다.
 
똑같은 입문서 일지라도, 자신에겐 어렵거나 너무 쉽거나 할 수 있습니다. 어떤 사람은, 책의 글자 크기나, 폰트, 또는 종이 재질, 두께가 마음에 안들 수 도 있습니다. 반드시 입문서는 직접 서점에서 보고, 꾸준히 볼 수 있을 지를 확인사살 후에 구입해도 늦지 않습니다.
 
 
3. 인터넷 검색을 최대한 활용해라.
 
인터넷은 분야를 가리지 않고 많은 정보로 가득차 있습니다. 이 인터넷을 활용하는 두 명의 개발자를 예를 들어 보겠습니다.
 
첫 번째 개발자 - 개발자로서 인터넷을 잘 활용하지 못하는 사람은, 검색을 통해 원하는 답을 찾지 못합니다. 때문에, 옆 사람에게 물어보거나, 커뮤니티 게시판으로 바로 달려가서 질문하는 유형이 되겠습니다.
 
두 번째 개발자 - 인터넷을 잘 활용하는 개발자는 다양한 검색엔진을 통해 자신이 궁금한 질문의 요점을 몇 가지 단어로 추스려내어 검색결과를 통해 문제를 해결합니다.
 
위 두 명의 개발자 중 누가 문제를 빨리 해결할까요? 바로 첫 번째 개발자일 가능성이 큽니다. 단, 옆 사람 또는 자신이 속한 집단의 사람이 그 문제의 해결방법을 알고 있거나, 자신보다 뛰어난 기술을 보유한 사람이어야 할 가능성이 큽니다. 더욱 위험한 것은, 소위 고만고만한 사람들이라면 오히려 잘못된 지식을 배우게 될 가능성이 더 클 수 밖에 없습니다.
 
그럼 인터넷 검색을 어떻게 해야 멋진 해결방법을 얻을 수 있을까요? 만약 “비쥬얼 스튜디오 2008이 제대로 설치가 되지 않습니다” 라는 문제를 얻었을 때, 다양한 단어를 조합하여 검색할 수 있습니다.
 
“visual studio 2008 install error”
“visual studio setup 2008 error”
“vs 2008 install error”
“vs 2008 setup error”
 
좀더 분명한 오류를 유추할 수 있다면, 연상되는(또는 명확한) 단어를 끼워맞춰서 검색하시면 됩니다. 이런 유형의 개발자는 문제 해결의 과정이 오히려 굉장히 느릴 수 도 있습니다. 하지만, 검색을 통해 직접 겪어보지 못한 다양한 문제유형을 간접경험을 할 수 있게 되어, 비슷한 다른 유형의 오류를 보았을 때, 오히려 첫 번째 개발자 보다 빠른 문제해결 능력을 갖출 수 있게 됩니다.
 
참고로 저는 자는 시간 빼고 3일 동안 검색해서 답을 얻은 기억이 있답니다… ㅠ_ㅠ
 
 
4. 관심분야의 RSS FEED 에 가입하라.
 
이쯤 되면, 자신이 어떤 분야에 관심이 있는지, 무엇을 해야 하는지 약간은 명확해 지셨는지요. 인터넷 검색을 통해 원하는 답을 얻는 과정이 반복 되면서 내용이 상당히 유용한 블로그를 자주 접할 수 있을 것입니다. 그러한 블로그는 반드시 즐겨찾기 또는 RSS FEED 를 구독하시기 바랍니다.
 

[그림1] HanRSS 를 카테고리별로 분류하여 사용중인 필자
 
즐겨찾기는 해당 사이트를 방문하기 전에 사이트의 컨텐츠를 확인 할 수 없기 때문에, RSS FEED 를 구독하는 것을 권장합니다. 이렇게 만들어진, RSS FEED 목록은 해당 사이트에 새로운 컨텐츠가 게시되면 자신에게 사이트의 컨텐츠를 통보해 주기 때문에 최신의 내용을 앉은 자리에서 받아 볼 수 있습니다.
 
참고로 저는, 연모를 쓰다가 불편한 감이 있어 HanRss 로 바꾸었답니다.
 
5. 커뮤니티 활동을 하라.
 
이것은 옵션입니다. 이것은 해도 그만, 안해도 그만입니다. 커뮤니티 활동에 적극 참여해도 그만, 눈팅만 해도 그만입니다. 절대 커뮤니티에 목매이지 않아도 됩니다. 오히려 커뮤니티 활동에 너무 적극적이다 보면, 회사 업무에 지장을 초래할 수도 있게 됩니다. 하지만, 커뮤니티 활동을 통해 어떤 이로운 옵션이 있는지 보겠습니다.
 
첫 번째, 커뮤니티 활동의 질문답변을 통해 개발자들이 어떤 문제를 겪는지 알 수 있습니다. 특히나, 취업을 앞둔 초보 개발자들이라면 눈여겨 볼 만 합니다. 저 또한 그러했듯이, 실무 개발자들이 부딪히는 문제를 간접 경험할 수 있고, 그것을 해결해 주는 답변 글을 통해 미리 오류 유형을 연습함으로써 미래의(취업후에) 삽질의 시간을 줄여 줄 수 있습니다.
 
두 번째, 온라인, 오프라인을 통해 인맥을 쌓을 수 있습니다. 온라인 게임을 보면, 오프라인이 현실세계라면, 온라인은 가상의 세계라고 합니다. 온라인 게임상 같은 마음으로 뭉친 자신의 집단이 오프라인 모임으로 종종 이어지는 경우가 많습니다. 개발자의 세계도 마찬가지입니다. 여러 사람을 만날 수 있는 기회가 많아질 수 있습니다. 인맥이 왜 중요한지는 더 말 안해도 아실 듯 해서 생략합니다.
 
세 번째, 자신을 PR 할 수 있습니다. 적어도 이 글을 적고 있는 저는, 이왕 이 바닥(?)에 뛰어든 이상 유명해 지고 싶습니다. 평범한 인생은 적어도 저에겐 의미가 없기 때문입니다. 자신이 평범한 개발자로 남길 원하지 않는다면, 반드시 커뮤니티나 블로그를 개설하여 활동하세요. 아마 지금 말한 자기 PR 이 위에 열거한 1~5 번 중에 가장 어렵고 힘들거라 생각합니다. 왜냐하면, 꾸준해야 하기 때문입니다.
 
 
그렇다면 나는 어떻게?
 
위의 5가지 방법은 저의 주관적인 방법입니다. 위의 방법이 도움이 될 사람도 있겠지만, 전혀 그렇지 못한 사람도 있을 겁니다. 자신의 스타일은 자신이 만들어 가는 것이 가장 좋은 공부 방법입니다. 억지로 하는 스터디는 차라리 안하는 것보다 못합니다.
 
무었을 해야할 때, 마음의 준비와 자세가 되어있고, 그것이 잘 되지 않을 때는, 왜 잘 안되는지.. 주변의 어떤 방해요소가 있는 것은 아닌지 살펴보시기 바랍니다. 참고로 어떤 유명하신 분은, 집에 가면 뻘짓을 하게 되어, 회사에 남아서 하고 싶은 것을 하고 막차를 타고 들어간다고 합니다.
 
읽어주시느라 고생 많으셨고요. 새해에 모두 어떤 계획이 있는지는 모르겠지만, 하시는 일 모두 잘 되길 바라면서 이만 줄입니다.

출처 : http://blog.powerumc.kr/article/2008/01/27/programming-study-ways.aspx
신고
Trackback 0 Comment 0
2008.02.27 08:42

왜 자바개발자가 루비,레일스를 배워야할까?

왜일까요? 시장의 주류로 확실히 자리 잡고 있는 자바 진영의 개발자들이, 왜 굳이 루비라는 낯설은 언어, 레일스라는 낯설은 프레임워크를 익혀야 할까요? 얼마 전에 출간된 ‘자바 개발자를 위한 레일스‘의 역자서문 내용을 바탕으로 제가 생각하는 그 이유를 간단히 풀어놓아보겠습니다.

왜 자바 개발자가 레일스를 배워야 할까요? - 변화하는 Java EE

  • Web 2.0 , 더 빠르게 변화하는 시장

시장은 점차 빠르게 변화하고 있습니다. 애플리케이션은 이제 사용자와 함께 성장해야 하고, 요구들은 실시간으로 추가됩니다. 좀 더 이런 변화에 빠르고 기민하게(agile) 대응할 수 있도록 해주는 것이 바로 레일스 프레임워크입니다.

  • 단순성과 생산성 , 즐거운 웹 프로그래밍

반면에, 웹/엔터프라이즈 프로그래밍은 그야말로 반복작업의 진수라는 인식이 팽배합니다. 왜일까요? 레일스는 단순성과 관례를 통해 개발자가 창조적인 작업에 집중할 수 있게 해줍니다. 아, 생산성과 즐거움은 덤이지요^^

  • Agile Java EE

자바 엔터프라이즈 플랫폼은 이미 그 자체로 너무 비대하고 복잡해져있습니다. 많은 이들이 이 문제를 거론하고, 자바진영에서도 좀 더 기민한 프로그래밍 모델과, 플랫폼을 고민하고 있습니다. Sun이 점차 JRuby에 대한 지원을 늘려가는 것이 그런 적극적인 반영이라고 할 수 있겠구요. 비대한 Java EE를 좀 더 가볍게 해줄 구원투수는 루비와 레일스 프레임워크가 되지 않을까 생각해봅니다.

rod.jpgdhh1.jpg

누가 더 매력적인 해커일까요? Java EE는 좀 더 매력적으로 바뀌어야 할 필요가 있습니다 (왼쪽은 Spring framework의 아버지 Rod Johnson, 오른쪽은 Rails의 아버지 David Heinemeier hansson)

왜 자바 개발자가 루비를 배워야 할까요? - 달라진 문제, 즐거운 도구

  • 레일스의 장맛의 비결 , 루비

사실, 레일스라는 웹 애플리케이션 프레임워크가 인기를 끌고, 그 세련됨을 자랑할 수 있는데는, 루비라는 언어의 특성이 큽니다. ‘간결성,일관성,유연성’이라는 루비의 원칙들이 군데군데 잘 녹아든 결과물이 바로 레일스이니까요.

  • 변하지 않는 것은 없다. 모든 것은 동적

루비는 동적 타입언어로써, 극도의 유연성을 제공합니다. 타입과 인터페이스에 대한 걱정과 부담을 덜 수 있지요. 필요하면 코어 클래스들도 수정할 수 있습니다. 자바로 구현하기 위해 한참을 돌아가야했던 길을, 간편하게 지름길을 이용해 갈 수 있는것이지요.

  • 관례를 지키면 모든 것이 즐겁다

자바는 기본적으로 다양한 선택의 여지에 기반해 확장성을 추구합니다. 인터페이스를 따른 다른 구현이나, 다양한 설정을 통해, 변화에 대응하려고 했던 시도였죠. 하지만, 아시다시피 이 설정들 자체가 큰 부담이 되는 경우가 많습니다. 루비는 기본적으로 ‘설정보다는 관례’를 추구합니다. 미리 약속해둔 기반에서 프로그램을 짜고, 정말 변화가 필요할때는 자유롭게 재정의(overriding)하자는 것이지요. 이런 접근 방식의 차이가, 개발상의 번거로움들을 크게 덜어 줍니다.

prag.jpgready.jpg

‘실용주의 프로그래머’에서는 1년에 한 가지씩 새로운 언어를 배우라고 말합니다. 올 해, 여러분의 지식 포트폴리오(Knowledge Portfolio)에는 어떤 새로운 언어가 들어있나요?

개발자 그리고 지식근로자

‘내 언어의 한계는 내 세계의 한계다’ 라는 비트겐슈타인의 말처럼, 개발자에게는 프로그래밍 언어와 프레임워크가, 세상을 인지하고 구축 하는데 쓸 수 있는도구라고 할 수 있겠습니다. 개발자는 프로그래밍언어로 의도를 표현합니다. 그리고 동시에, 그 언어를 통해 문제를 해결하는데 필요한 사고들을 습득하겠지요. 즉, 이렇게 더 다양한 개념들을 배워갈수록,개발자가 문제해결에 쓸 수 있는 도구들은 더 풍부해지는 셈입니다. 이번 문제는 닭잡는칼로, 다른 문제는 소잡는 칼로. ‘실용주의 프로그래머’란 책에서도 이런 맥락에서, 매년 새로운 언어를 하나씩 습득하라고 말합니다.

하지만, 단순히 도구를 늘리기 위해서가 아니라, 거기에는 한가지 필연적인 이유가 더 있습니다. 바로, 개발자는, 자신의 능력을 바탕으로 하는 지식근로자라는 것이 아닌가 합니다. 재화 대비 산출만이 아닌, 개발자 개인의 창조성과 지적 자산이, 조직의 그리고 자신의 유일의 경쟁력이 되는 무한 경쟁의 시대에 우리는 살아가고 있습니다. 이런 시대의 변화는 더 치열한 경쟁이라는 개개인의 위기를 의미하기도 합니다. 지금까지의 사회보다 더 많은 노력을, 일에 쏟아야 하지요. 동시에, 근로자 본인에게 더 많은 기회를 부여하기도 합니다. 자신의 경쟁력을 스스로 높일 수 있는 사회. 창조성의 발현을 통해, 자신의 일을 그자체로써 즐길 수 있는 사회 . 그리고 코드 하나에 희열을 느끼고 열정을 발산하는 그 모습에서, 저는 다름 아닌 우리 개발자들에게서야말로 가장 희망적인 지식근로자의 모습을 발견할 수 있는 것이 아닌가 생각해봅니다.

digital_rights.jpg

  ‘공돌이’나 ‘Geek’이 아닌, ‘지식근로자’로 거듭나야 하는 시대.

바로 지금 시작하세요

그렇다면 언제 배우면 좋을까요? 빠르면 빠를 수록 좋지 않을까요? 인사이트 블로그의 포스팅 제목처럼 ‘자바 개발자의 미래를 위한’ 작은 투자라고 볼 수 있을테니까요. 일단 가볍게 시작하실 수 있는 지름길을 몇가지 알려드리겠습니다.

집에서 쓰는 PC에는 귀찮아서 개발환경 하나 안깔려있다면, 이참에 위 패키지를 통해 Apache+Mysql까지 원샷에 설치해보세요

  • 자바 개발자를 위한 선택, JRuby 1.1

jirb를 실행시켜서, 대화형 콘솔에서 자바 라이브러리를 불러들여 마음껏 사용해보세요. 타입 없는 즐거움을 만끽해보는 겁니다

  • 자바 개발자를 위한 모든 준비를 하나로 , Netbeans

천대받던 IDE, Netbeans는 이제 가장 루비/레일스를 잘 지원하는 IDE로 거듭 태어났습니다. 패키지를 설치하시면 JRuby가 기본적으로 설치되고, Rails를 비롯해 각종 루비젬들을 간편하게 설치할 수 있습니다. 루비 커맨드요? 메뉴에 다 나와있습니다. 자동완성은 기본이죠~  Goldspike를 통해 war화일로 만든 JRuby/Rails 프로젝트를 Glassfish 서버에 배포하는 감동을 체험해보세요^^

ruby_irb_hello.png

자, 오늘 밤 자기 전에 일단 Hello Ruby , Hello Rails 3번씩 찍어보는 걸로 시작해보는 건 어떨까요? :)


출처: http://humbleprogrammer.net/blog/?p=296

신고
Trackback 0 Comment 0
2007.05.30 13:37

[질문] 개발자들 이거 없으면 못 만든다!!!~~~

질문 :
다들 어떤 스타일로 개발하는지 궁금하고..

이런 질문도 많이 올라오고..

그래서 투표 해보아용~~~


해당사항이 있으면 번호를 적어주시고.. 없으시면 글로 적어주세요.
(복수 선택 가능합니다.)

1. 복사신공~~~(내가 만들었거나 남들이 만든 프로그램을 보고 빼낀다.. citl+c,x,v 포함)

2. 메뉴얼신공~~~(기초적인 명령어 스펠링도 기억안나서 메뉴얼보거나. 명령어가 무엇인지 봐야 한다. 웹메뉴얼 기타 책를 봐야한다 포함. 잘 안쓰는 명령어들 보는거나 새로운 기술 보는것 제외.)

3. 암기신공~~~(남들 만든 프로그램이나 메뉴얼 조차 안본다. )

4. 기타신공~~~(글로~)



덧글 :
어떤관점으로 이 글을 쓰신지는 확실히는 알수 없지만, 제가볼땐 요소기술에대해 레퍼런스를
어떻게 해결하느냐에 주안점을 둔 것 같습니다.

개발이란게 머 요소 기술에 대한 숙지도 중요하겠지만, 문제는 골격을 만들어가는
설계가 더 중요하지 않나 싶습니다. 즉 ... 요소기술을 연결하다가 점점 확장시켜
큰 그림을 그리는게 아니라, 큰 그림을 그려놓고 그 그림에 맞는 요소기술을 선택 !!!
하는게 옳은 수순이라는겁니다.

물론 아무런 레퍼런스 없이 모든걸 설계하고 코딩 가능하다면 이것보다 좋은 건 없겠지만요.
언어에 능숙한, 툴에 능숙한 개발자는 그냥 "코딩속도가 빠른 코더"일 뿐입니다.

 creator 가 되기위해선 보다 큰 그림을 그릴 줄 알아야겠죠...
그건 요소기술에대한 이해도 중요하지만, 설계마인드가 바탕이 되어져야합니다.


산출물을 만들면서, 계속 수정하면서, 개발하는거랑,
그냥 에디터화면의 커서보고 코딩하는거랑 천지차이입니다.!!!

_---------

그런의미에서 제가 개발할때 꼭 필요한것을 말씀드리면,

일단, 저는 프로젝트 출발부터 현재까지 어떤 이슈가 있었는지 정리해놓은,
문서들을 소설책처럼 읽어봅니다....대충 이 플젝이 어떻게 흘러가고 있는지 가닥이 잡힙니다.
거기엔 회의록도 있겠고, 고객측에서 입찰결정을 하기위해 [제안요청서(RFP)]를 받아둔 문서들이
있습니다. 거의 그게 프로젝트의 뿌리입니다.

일단 플젝 첨 드가믄 그러한 것들을 기반으로, 정리를 합니다...
멀 만들것인지, 어떻게만들겄인지 왜 만들어야하는지 정리를 하다보면, 의문점이 생깁니다.
그 의문점을 토대로, 몇차례 고객이랑 업무협조 회의를 하고, 요청서를 정리해갑니다.

제안요청서, 회의록, 요청서 등을 정리하믄 이제 [펑션챠트]를 도출할 수 있습니다.
펑션차트는 거의 메뉴 구조와 비슷합니다.(웹의 특성때문에)
펑션차트를 열심히 만들어놓으면, 화면설계안까지 기대해볼 수 있습니다.

이제 화면설계안을 만듭니다.

펑션차트에 기록된 요소들에 넘버링을 하고, 그 넘버에 따라 [화면설계서]를 만듭니다.

그게 완성이되면, 이제 고객과 또 협의를 합니다... 이렇게 이렇게 만들었다..서로 한장씩
검토해보고 보안할 점이나, 누락된 점이나, 아니면 불필요한 것들에대해서 정리를 해보자구합니다.

여러차례 보완 수정을 하면 비교적 이제 완성도있는 화면설계서가 나옵니다.

그걸 기반으로 이제 ERD 작업을 들어가고, 각화면별로 ERD를 만들다보면, 공통적인 부분이
도출이 되고, 뭔가 그럴듯한 ERD가 만들어지기 시작합니다.
이렇게되면 이제 DB단에서도 어느정도 완성도 있는 그림이 나오기 시작합니다.

이게 나오면 저는 이제, 프로세스 논리 구조와 유즈케이스를 짬뽕한듯한 문서를 만듭니다.
이작업을 하면서 항상 ERD랑 같은 선상에서 수정을 해갑니다. 트랜잭션은 어떻게 걸것이며,
예측이 되는 집계로직을 어떻게 풀어나갈것인지 이제 점점 구체화됩니다.

요약하면, 저는
펑션챠트, 화면설계서, ERD, 프로세스 논리구조도 까지 나온다음, 프로그래밍을 시작합니다.
이 넷중 하나라도 없으면, 저는 무지 괴롭더군요..


저는 개발하는 틈틈히 고객의 요청서를 자주 읽어봅니다. 그건 개발과는 직접적으로
무관할 수 있겠지만, 개발 초기부터 개발이 완료될때까지, 일관성을 유지할수있게
저를 자극하는 수단이 되더군요.
신고

'소프트웨어 > PMP' 카테고리의 다른 글

팀장 딜레마…에 붙여  (0) 2007.06.27
[질문] 개발자들 이거 없으면 못 만든다!!!~~~  (1) 2007.05.30
[PMP강의정리] 1. 프로젝트 관리 개요  (0) 2007.05.30
PMBOK2000 한글 번역  (0) 2007.05.30
PMP  (0) 2007.05.30
PMP관련 Link  (0) 2007.05.30
Trackback 0 Comment 1
  1. 그야 그렇죠... 2007.07.02 13:10 신고 address edit & del reply

    하지만, 갑이 똘아이이면 어떻하겄습니까?
    1) 집에 간다. (집에 돈이 많다.)
    2) 기냥 한다. (뭘??!!)

2007.05.09 19:03

성공한 개발자와 행복한 개발자

행복은 미래에만 있다

우리는 성공이 꼭 행복의 필수조건은 아니라는 것을 머리로 믿고 있다. 복권에 당첨된 사람들의 행복 수준이 당첨 이전보다 못하다는 연구 결과 소식을 들으며 자신을 위로한다. 하지만 마음으로까지 믿지는 못하고 성공을 위해 오늘의 행복을 저당잡힌 채 산다. 그들에게 행복은 늘 미래시제 속에만 존재한다.

몇 년 전 모 개발자 게시판에서 봤던 것으로 기억하는데, 어떤 여성 개발자가 결혼 후를 위해 가구나 전자 제품도 싼 것으로 사고, 여행도 가지 않고, 모두 결혼하고 나면 써야지 하면서 저축을 했다고 한다. 그렇게 서른이 넘고 어느날 문득 눈을 떠봤더니 글쎄 자신이 불행하다라는 생각이 들었다고 한다. 그래서 특히 여자 후배들에게는 “하고 싶은 거 있으면 바로 해라”고 조언을 했다. 아마 대다수의 개발자들이 공감하는 바일 것이라 생각한다. 대상이 결혼이 되었건 집이 되었건 간에.


행복해야 성공한다



습관의 심리학
(이미지 출처는 aladdin.co.kr)


서울대 심리학과 곽금주 교수가 최근 저술한 "습관의 심리학"이라는 책 5장 제목은 "성공습관보다 행복습관을 먼저 연습하라"이다. 앞부분에서 곽금주 교수는 다음과 같은 요지의 말을 하고 있다. 최근 심리학계의 연구 결과에 따르면, 상식과는 달리 성공과 행복의 인과관계가 반대라고 한다. 즉, 현재 행복하다고 느끼는 사람이 성공(예컨대 경제적 부, 사회적 위치 등)할 가능성이 훨씬 높다는 것이다. 따라서 심리학자들은 성공보다 행복에 집중하는 것이 오히려 행복과 성공 두 마리 토끼를 동시에 잡는 가장 효과적인 전략이라고 한다.

곽금주 교수는 긍정심리학의 대부라 불리는 마틴 셀리그만(Martin E. P. Seligman)의 보험설계사 연구를 인용하고 있다. 이 부분은 셀리그만의 원저 "Learned Optimism"(국내에 번역되었으나 절판된 것으로 보임)이라는 책의 "일에서의 성공"(Success at Work) 장을 참고하도록 하자. 훨씬 더 상세한 설명을 볼 수 있다.



위로



낙관적인 사람은 더 높은 실적을 낸다



LEARNED OPTIMISM
(이미지 출처는 amazon.com)


메트라이프(Met Life)에서 보험설계사를 뽑을 때 한 집단은 직무 수행 능력이라는 전통적 잣대로 뽑고, 다른 집단은 낙관적 태도를 기준으로 뽑았다. 사실 두 번째 집단은 한 가지 기준이 더 있었다. 직무 수행 능력 시험에서 낙제점에 가까워야 했다. 12점이 최저 통과 점수면, 11점이나 10점에 해당하는 사람들을 뽑았다. 전통적 방식에서는 떨어질 사람들이다. 셀리그만은 이 집단을 "특별팀"(Special Force)이라고 불렀다.

낙관적인 사람과 비관적인 사람이 섞여 있지만 직무 수행 능력 시험을 통과한 사람들과 낙관적이지만 직무 수행 능력 시험에 떨어진 두 개의 집단. 실적을 비교한다면?

우선 일반 집단의 경우를 보자. 첫 1년 동안에는 낙관적인 사람(평균보다 낙관성 정도가 높은 사람들)이 비관적인 사람(평균보다 낙관성 정도가 낮은 사람들)보다 단지 8%만 실적이 높았다. 하지만 두 번째 해에는 낙관주의자가 31% 실적이 높았다.

특별팀은 좀 더 극적이다. 첫 해에 특별팀은 일반팀의 비관주의자들보다 21% 높은 실적을 냈고, 두 번째 해에는 57%나 높은 실적을 냈다. 그렇다면 일반팀 전체와 비교한다면? 특별팀은 2년 동안 일반팀에 비해 27% 높은 실적을 냈다. 낙제점의 낙관주의자들은 합격점의 낙관주의자와 최소한 같은 수준의 실적을 냈다.

셀리그만의 최근 저작인 "긍정심리학"(Authentic Happiness)에는 비슷한 사례들이 좀 더 소개된다.



긍정 심리학
(이미지 출처는 aladdin.co.kr)


  
 ... 실제로 더 행복해하는 사람일수록 생산성이 높고 수입이 더 많다는 게 연구자들의 주장이다.
272명의 직장인을 대상으로 긍정적 정서를 측정하여 합계를 낸 다음, 그로부터 18개월 동안 그들의 업무
수행 능력을 조사한 연구가 있었다.
그 결과 더 행복한 사람은 상사의 업무수행 평점이 훨씬 높아졌으며, 봉급도 더 높아진 것으로 나타났다.
오스트레일리아 청소년들을 15년 동안 추적 조사한 대대적인 연구에서도 행복이 취업과 고수입의 가능
성을 훨씬 더 높여준다는 결과가 나왔다. 
실험을 통해 행복감을 유발한 다음 그들의 업무수행 능력을 살펴보면서 행복과 생산성 중에서 어느 것이 먼저인지를 밝히기 위한 연구를 한 결과, 기분이 좋아진 어른과 어린이는 훨씬 더 높은 목표를 설정하고, 과제 수행 능력도 더 우수하며, 철자의 위치를 바꾸어 새로운 단어를 만들어내는 게임 등을 할 때도 훨씬 더 끈기를 발휘한다는 사실이 드러났다.



위로



행복한 개발자를 뽑아라



37signals.com
(37signals.com의 첫 화면)


참신한 웹 2.0 서비스를 많이 만들고 있는 37signals라는 회사에서 지난 SxSW 2005에서 발표를 하나 했다. 제목은 How to Make Big Things Happen with Small Teams. 작은 팀으로 어떻게 큰 일을 이룰 수 있는가에 대한 흥미로운 발표이다. 발표자인 제이슨 프라이드(Jason Fried)는 작은 힘으로 큰 효과를 내려면 "잘 맞는 사람"(the right people)을 뽑는 것이 무척 중요하다고 강조하며, 그런 사람들은 다음과 같은 특징을 갖고 있다고 한다. 열정적이고 행복하다, 여러 방면에 걸쳐 균형이 잡혀있다(well rounded), 학습이 빠르다, 글을 괜찮게 쓴다(커뮤니케이션에 대한 것), 믿음직하다. 그리고는 다음 장에서 배경이 적색으로 바뀌면서 인상 깊은 문구가 드러난다.

  
"I'll take someone happy and average over a guru who is disgruntled and frustrated." 
"나는 뚱하고 불만스러운 고수보다는 행복하고 평균적인 실력을 가진 사람을 뽑겠다." 

필자는 컨설팅, 코칭업을 하면서 다양한 분야(임베디드부터 웹까지), 다양한 경력(신입부터 40년차까지)의 개발자들을 만나봤다. 흥미롭게도, 낙관적이고 현재 삶에 행복감을 느끼는 사람들일수록 성장 속도가 빠르다는 사실을 발견하게 되었다. 고수들 중에는 비관주의자도 있었다. 하지만 그 사람들은 정체하고 있다는 느낌이 들었다.

낙관주의는 개인의 성과에만 영향을 주지는 않는다. 비관주의는 보통 냉소주의를 수반하는데, 이 냉소주의는 전염 효과가 매우 강하다. 조직에 냉소적인 사람이 한 사람이라도 있으면 그 사람이 툭툭 던지는 한 두 마디에 다른 사람들은 마음과 열정이 흔들릴 수 있다. 게다가 냉소주의자들은 통상 낙관주의에 부풀은 신입들이 들어오면 "나이브"하다고 조소하며 그들에게 어떻게든 패배주의를 안겨주고 싶어한다. 실패한 사람들에게는 "그거 봐, 내가 실패할 거라고 했지!"라고 비웃으며 '냉소주의당'에 입당할 것을 권유한다. 조직에서는 이런 사람들을 빨리 찾아서 재교육을 하거나, 다른 위치로 옮기거나, 혹은 다른 직장을 찾도록 하는 것이 급선무이다.

이런 연유로 필자 역시 사람을 뽑을 때 낙관적인가, 현재 행복한 삶을 살고 있는가 등을 살핀다. 그런 요소가 단기에 성과로 전환되지는 않는 경우가 종종 있다. 하지만 피드백 주기가 짧고 빠른 학습이 이루어지는 환경에서는 단기간에 큰 차이를 보이기도 한다. 필자가 일하는 환경에서는 장기간의 경험을 단기에 압축적으로 하기 때문에, 일반적인 상황에서는 장기 이자율이 좋은 사람이 단기간에도 뛰어난 성과를 낼 수 밖에 없다 -- 반대로 단기간의 이득만 보고 사람을 뽑았다가는 "단기간에" 후회하는 경우가 꽤 있었다.



위로



난 어쩌라고

자, 독자들은 여기까지 보고 이런 질문을 할 수 있겠다. 낙관주의면 더 행복하고, 성공확률도 높다는 것을 이해할 수 있다. 하지만 난 비관주의자로 30년을 살았다. 지금 행복하지도 않다. 그렇다면 나는 어쩌라고? 앞에서 언급한 셀리그만의 책 이름이 Learned Optimism이다. 바꿔 말하면 낙관주의를, 행복을 학습할 수 있다는 뜻이다. 이것이 최근 들어 돌고 있는 긍정심리학의 실천적 테제이다. 자세한 내용은 최근 쏟아져 나오는 긍정심리학 서적들을 참고하기 바란다. 여기에서는 일상에서 간단히, 오늘 당장 실행해 볼 수 있는 방법을 소개하고 마치도록 하겠다.

의외로 행복해지기 쉽다. 필자는 지난 3월 블로그에 즐거운 경험이란 글을 썼다.

  
그렇다고 꼭 동참할 사람이 있어야, 혹은 윗사람이 허락해줘야 이런 즐거운 경험을 할 수 있는 건 아닙니다.
나 자신를 위해 즐거운 경험을 주기적으로 마련해보세요. 내가 속한, 혹은 나라는 시스템 속에 스스로 위로
해주고 토닥여 주는 요소를 만들어 넣으세요.
뭐 대단한 건 아닐지라도 말이죠. 수고한 자신을 위해 작은 상을 주세요. 즐거워지는 것 의외로 쉽습니다. 

   소셜 북마크

   mar.gar.in mar.gar.in
    digg Digg
    del.icio.us del.icio.us
    Slashdot Slashdot

오늘은 점심 시간에 샌드위치를 사서 일이십분 거리로 산책을 떠나보자. 길가에 피어난 꽃들도 구경해 보자. 퇴근할 때에는 포도주 한 병을 사가지고 들어가서 분위기를 내보면 어떨까(아직 독신일지라도 말이다)? 하루 종일 일한 상으로 값비싼 아이스크림을 자기에게 선물하는 건 어떨까? 소소한 행복 습관을 당장 실행해 보라. 의외로 쉽다는 것에 놀랄 것이고, 일하는 스트레스도 금방 줄어드는 것을 느낄 것이다. 그런 작은 행복을 만들다보면 좀 더 큰 행복을 만들기도 쉬워진다.

성공한 개발자가 되고 싶은가? 오늘 당장 행복한 개발자가 되도록 하자. 하지만 명심하자. 행복의 부재를 외부 여건으로만 돌리지 말자. 회사가 나의 행복을 책임지지 않는다. 결국 내 행복은 내 책임이다. 내 행복은 결국 내가 관리해야 한다. 오늘 당장부터.

출처 : http://www.ibm.com/developerworks/kr/library/dwclm/20070424/

신고
Trackback 0 Comment 0
2007.04.17 07:50

Prototype base multi-Selection API

자바스크립트로 구현한 Prototype.js 프레임웍 기반 다중 선택기 API를 소개합니다.(API라고 하기에는 좀 부끄럽군요) 최초 올라로그 오픈베타 프로젝트에 사용되었습니다. 데스크탑 애플리케이션 못지않은 UI를 구현하겠다는 욕심에 조금은 억척 스럽게 만들어진 녀석입니다. 유저가 익숙하지 않다는 이유로 존속여부는 희박하지만, 라이브러리 형태로 공개하고 계속 발전시켜 나가볼 생각입니다. 조금더 다듬고 기능을 확장하여 여러환경에 적용할 수 있도록 손보았습니다. 웹 특성상 컨트롤 키를 조합하는 방식이 아닌 기본으로 활성화 되어 있는 상태입니다.(추가 예정)

토글 모드
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
Selected : --


Width: 75px
드래그 다중선택 활성 모드
  • 01
  • 02
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
  • 09
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
Selected : --


download JS : http://firejune.com/javascripts/multiselect.js
download CSS : http://firejune.com/stylesheets/multiselect.css

사용방법


적용대상이 되는 엘리먼트는 리스트 아이템(UL)의 부모이며, 부모 엘리먼트는 다중선택 활성화 영역(parent)이 됩니다. 리스트 아이탬은 고유한 ID값를 지니고 있어야 합니다.(수정됨) 드래그 사용여부와 스타일 시트에서 지정한 스타일을 별도로 설정 할 수도 있습니다, 자세한 사용방법은 아래와 같습니다.(슬라이드 바는 포지션 리셋 테스트용 입니다.)
new MultiSelect('testElement');

// CSS 시각효과 설정
new MultiSelect('testElement', {
  dragSelect: false, // 드래그 사용 여부
  rectangleCN: 'MS-rectangle', // 선택영역 스타일 이름
  selectCN: 'MS-select', // 선택된 아이탬 스타일 이름
  unselectCN: 'MS-unselect', // 선택되지 않은 아이탬 스타일 이름
}});

// 예제에 사용한 코드
var selector = new MultiSelect('testElement', {
  // 변화가 생기면 이벤트 발생
  onChange: function(){
  var debug = $('debug2'), point = '';
  debug .innerHTML = 'Selected : ';
  selector.items.each(function(a){
    if(a.success) {
       debug .innerHTML += point + a.element.innerHTML;
       point = ', ';
    }
  });
}});

selector.setOffset(true); // 포지션 다시 계산하기
selector.selectAll(true); // 모두 선택하기
selector.selectAll(false); // 모두 선택 해제하기


추후 추가될 기능


- 윈도우 컨벤션을 따르는 UI 모드 추가(컨트롤 키 조합)
- 메모리 릭현상 제거
- 더블 클릭 이벤트 추가
- 아이템의 ID값 없이도 사용할 수 있도록 수정(수정됨)
- form 엘리먼트 지원


출처 : Fire Jun's
신고
Trackback 0 Comment 0
2007.04.16 08:40

Prototype기반 벡터 그래픽 프레임웍 - PGF

Prototype Window 컴포넌트를 만든 Sebastien Gruhier씨는 프로토타입 그래픽 프레임웍(PGF)이라는 매우 흥미로운 프로젝트를 진행합니다. 모든 브라우저에서 사용할 수 있는 Prototype.js 기반 벡터(vector) 그래픽 프레임웍을 구현하는 것입니다. 이 프레임웍은 SVG(Firefox, WebKit, Opera), VML(IE), Canvas (Firefox, Safari, WebKit, Opera)등 브라우저마다 서로다른 벡터기술을 통합 사용하여 크로스-브라우즈 한다는 이론입니다.(매우 훌륭합니다!)

// Create an SVG renderer
var renderer = new SVGRenderer("whiteboard");

// Create a rectangle with some attributes like color and bounds
var rect = new Graphic.Rectangle(renderer);
rect.setFill({r: 255, g: 0, b: 0, a: 128});
rect.setStroke({r: 255, g: 255, b: 0, a: 128, w: 5});
rect.setBounds(10, 20, 200, 300);
rect.setRoundCorner(10, 10);
rect.translate(10, 20);
rect.rotate(30);

renderer.add(rect);

주목할만한 프로젝트입니다. 플래시에 대적할만한 인터넷 그래픽 솔루션이 될지도 모를일입니다. 현재 공식으로 배포한 상태는 아니지만 서브버전 트렁크에서 다운로드 가능합니다. Sebastien씨는 dojo.gfx에서 아이디어를 얻었다고 말하고 있군요. 그의 최근 프로젝트인 neomeeting에 PGF을 실제로 사용한다니 이 또한 기대해볼만합니다.

출처 : 파이어준
신고
Trackback 0 Comment 0
2007.04.13 08:25

PHP, ASP, JSP.. 서버사이드 스크립트 언어의 차이점에 대해..

처음에 선택을 했던 언어는 ASP였습니다.

아주 초급적인 단계여서 값이 오고 가고의 이해만 있을 정도에서 PHP로 넘어왔었는데,

사실 3가지 언어의 차이점(장점 또는 단점)에 대해서 아직도 인지하고 있지 못합니다.

한가지만 다루다 보니 어떤 사이트를 구축할때는 특정언어를 사용하는게 이점이 많다, 또는 어떤 DB를 사용하는것이 이점이 많다는 말을 들을때 이해가 하기가 힘듭니다.

PHP가 좋다 나쁘다 MYSQL이 좋다 나쁘다를 떠나서,

다른 개발자 분들의 의견이 궁금하여 글을 남겨봅니다.

각각 갖는 특성이나 장단점에 대해서 설명을 해주시면 많은 도움이 될 것 같습니다.

타 언어에 대해서 많은 시간 다뤄보지 못한 부분이 가장 크겠지만, HTML을 기준으로 하여 저장된 정보의 재가공 또는 사용자에게 보여주는 목표가 가장 큰것이라고 생각합니다

많은 의견 부탁드립니다 ^^



덧글 :
우선 어떤언어가 좋다 나쁘다고 할 수는 없습니다.
각각의 언어마다 장점과 단점이 있기 때문입니다.


1. ASP

asp 같은 경우에는 스크립트 자체가 그리 강력하다고 볼 수 는 없지만
컴포넌트를 만들거나 지원할을 수 있다는 것입니다.

ASP는 하나 이상의 스크립트(작은 내장 프로그램)을 담은 HTML페이지로 사용자에게 보내지기 전에
웹서버에서 처리합니다.

웹기반 어플리케이션 개발도구가 개발하기 쉽고, 간편하고 성능이 우수합니다.
ActiveX 라는 컴포넌트, DLL등의 객체지향성의 향상 및 코드 재사용이 가능 합니다.

---------------------------------------------------------------------

장점 : Client의 자료요청 시 한개의 Dll로 모든 처리가 가능하므로 운용이 빠르다.

단점 : 윈도우 시스템에서만 작동하는 IIS(Internet Information Server),
PWS(Personal Web Server)에서만 작동한다.

---------------------------------------------------------------------


2.PHP

php 같은 경우에는 원래부터 웹전용으로 만든 언어이기 때문에 말할것도 없구요.
또한 php는 c를 기반으로 하는 웹언어입니다. c를 기반으로 하기때문에 표현도 자유롭구요.

하지만 asp에서 지원되는 컴포넌트 같은 것은 모두 직접 만들어야 한다는
단점이 있지만 php.net 에서 이러 한점을 계속 지원함으로 어느 정도 해소가 됩니다.

또한 php가 많이 확산되면서 php의 소스 보안이 필수로 되고 또 어플리케이션과 같이
솔루션화로 판매할 수 있도록 개발된 것이 zend(http://www.zend.com) 입니다.

zend 로 엔코딩이 되면 php를 해석할 수가 없어 소스보안과 판매용 솔루션개발로는
가장 최적의 모델이라고 볼 수 있습니다.

또 Delphi에서는 델파이 for php를 금년에 발전시켜 php의 개발자들에게
웹어플리케이션에 접근할 수 있도록 한층더 업그레이드 시켜주었지요.

캐나다 온타리오에 소재한 개발툴 기업인 조미테크(JomiTech)의 오너인 조나단 베네딕토는,
"코드기어의 개발툴들은 시장에서 가장 훌륭하며, 델파이 for PHP도 예외가 아닙니다" 라고 평가했구요.

php 는 날로 발전해하고 있어 언젠가는 php Mobile 도 나오지 않을까 하는 생각이 듭니다.


---------------------------------------------------------------------

장점 : 프로그램이 간결하면서도 DB와 쉽게 연동되고 속도가 빠르다.

단점 : 모든 필요한 것을 PHP가 해결해주어야 한다. PHP가 제공하지 않는 것은 해결방법을 찾을 수 없다.


현재 베타 버전 4까지 출시된 PHP 5에는 몇 가지 약점이 존재하고 있습니다.
그 중 하나로 예외(exception) 처리 기능의 부재, 즉 프로그램의 정상적인 흐름을 중단하고
에러 핸들링 코드로 점프하기 위한 이벤트 기반 에러 핸들링 인스턴스가 존재하지 않는다는 점을
지적할 수 있습니다. Java의 경우 에러 핸들링을 위한 예외 처리 기능을 제공하며,
C++는 try-catch-throw 형식의 예외 처리 기능을 제공합니다. 물론 PHP 코드에서 에러를 관리하는 것은
얼마든지 가능합니다. 하지만 표준화된 구조가 제공되지 않으므로 에러 핸들링을 구현하는 방식은
전적으로 프로그래머의 재량에 따를 수 밖에 없고, 이는 일관성의 저하라는 문제를 초래하게 됩니다.

또한 PHP가 일부 영역에서 취약한 것은 사실이지만,
PHP의 장점이 발휘되는 영역에서는 단연 돋보이기도 합니다.
먼저 비용이 저렴하며 라이센싱 이슈로 고민할 필요가 없습니다.
PHP는 오픈 소스 언어이며, 전체 개발자 커뮤니티가 합심하여 개발 및 버그 해결 작업을 추진하고 있습니다.
또 마음에 들지 않는 기능이 있다면 얼마든지 수정이 가능합니다.
PHP는 Apache와 기본적으로 연동하며, 별도의 모듈로 또는 Apache 바이너리 내부에 직접 컴파일할 수 있습니다.

---------------------------------------------------------------------


3. JSP

jsp를 알기전에 먼저 자바란 무엇인가?

1995년 제임스 그즐링이 자바언어를 발표한 이후 자바는 눈부신 발전을 거듭해왔습니다.
전세계 수많은 프로그래머가 자바의 매력에 흠뻑 빠졌으며, 자바의 강력한 객체 지향성과
다양한 기능에 이용자가 급속도로 늘어가고 있는것이 사실입니다.

객체 지향언어로써 특정 플랫폼(운영체제)에 구애 받지 않기 때문에 앞으로도 그 인기는
더욱 높아져만 갈것이라고 생각됩니다. 또한 그동안 등장했던 모든언어의 장점을 거의 완벽하게 복합시켰으며
C 에서 사용해온 포인터와 동적 메모리 관리등을 없애 개발자들의 부담을 덜어주고 있다고 합니다.
자바 코드는 어느 운영체제에서도 JVM(Java Virtual Machine)만 있다면 코드 수정없이
똑같이 가동시킬 수 있는 장점이 있습니다.

jsp

썬 마이크로시스템즈(Sun Microsystems) 사에서 동적인 컨텐트를 작성하기 위해 만든 기술입니다.
'서버+애플릿(Server+Applet!)' 이라는 단어를 조합하여 만든합성어입니다.
자바 서블릿은 자바의 모든 특성을 그대로 물려 받습니다.
CGI와 달리 요청이 있을 때마다 프로세스 대신 자바 스레드(Thread)를 만듭니다.
생성된 스레드는 부모 스레드를 통해서 자원이 공유가 가능하기 때문에 불필요한 자원 낭비가 없습니다.

이 스레드들의 최상단에는 자바 가상 머신(Java Virtual Machine. JVM) 이라는 프로세스가 존재합니다.
이와 같은 자바 서블릿은 상대적으로 오버헤드가 적고 자원을 효과적으로 사용하기 때문에 대규모서버에서 상대적으로 우수한 성능을 보이고 있습니다
HTML(정적인 컨텐트)문서가 서블릿자바코드 안에 포함되는 형식으로 간단한 HTML문서에도
서블릿에 대한 지식이 있어야 하고 재컴파일해야 하는 등 큰 결점이 있습니다 .


---------------------------------------------------------------------
장점 :

특정 하드웨어 플랫폼이나 운영체제 혹은 서버소프트웨어에 의존하지 않는다.

자바 가상머신이 설치된 어떠한 운영체제에서도 플랫폼에 독립적으로 실행 가능 (리눅스, 윈도우)
자바기반의 언어이므로 자바에서 제공하는 풍부한 API 와 멀티스레드 개념,
객체지향프로그래밍의 기법을 그대로 사용 가능.

보여주는 표현부와 내부적인 로직을 나타내는 구현부를 분리하여 각각의 영역에서 효율적으로 작업 가능.
작성한 컴포넌트(일을 할수있는 프로그램 요소)는 언제든지 재사용 가능.


단점 :

배우기가 가장 어렵고 DB연동이 까다롭다.
소규모인 경우 속도가 타 언어에 비해 느리다.

---------------------------------------------------------------------


4. ASP.NET

ASP의 새로운 진화를 의미하는 ASP.NET은 이전 버전의 ASP에 대해 완전한 하위호환성을 제공하지 않습니다.
실제로, 이전의 ASP 테크놀로지는 (웹 애플리케이션 구현을 위한 완전한 형태의 프레임워크인)
ASP.NET보다는 PHP와 더 많은 유사성을 갖습니다.

ASP.NET 모델은 프로그래밍 언어를 자유롭게 선택할 수 있는 유연한 환경을 제공한다는
매우 중요한 장점을 갖습니다.

ASP.NET은 VBScript, JScript, Perlscript, Python과 같은 스크립트 언어뿐 아니라
VB, C#, C, Cobol, Smalltalk, Lisp와 같은 컴파일 언어를 함께 지원합니다.
새로운 프레임워크는 CLR(Common Language Runtime)을 사용하며,
언어 소스를 먼저 Microsoft Intermediate Language 코드로 컴파일한 후 CLR이 이를 실행하는 형태로 동작합니다.

ASP.NET 프레임워크는 진정한 의미의 객체지향형 프로그래밍(OOP)과 상속, 폴리모피즘,
인캡슐레이션을 지원합니다.

.NET 클래스 라이브러리는 다양한 태스크(XML과의 연동, 이미지 조작 등)를 기반으로 하는 상속 가능한
클래스로 조직화됩니다.

프로그래밍 언어와 방법론을 제외했을 때 가장 중요한 이슈는 바로 데이터베이스 액세스입니다.
ASP.NET으로 프로그래밍하는 경우, 데이터베이스와의 통합은 ODBC를 통해 수행됩니다.
ODBC는 타겟 데이터베이스에 접근하기 위해 일관성 있는 함수 호출을 사용합니다.


---------------------------------------------------------------------
장점 :

명쾌한 설계와 구현 방식에 근간을 두고 있다.

언어 유연성, 정교한 오브젝트 지향형 기능을 지원하는 ASP.NET은 객체지향형 프로그래머의 꿈과도 같다.

이러한 점에서 볼 때 ASP.NET은 프로그래머의 기존 스킬과 완벽한 호환성을 제공한다고 평가할 수 있다.

또 다른 장점으로 개발 환경을 꼽을 수 있다.
예를 들어, 개발자는 WebMatrix, Visual Studio .Net, 또는 Delphi, C++ Builder와 같은 Borland 툴을
사용할 수 있다.

Visual Studio는 브레이크포인트의 설정, 코드 섹션의 트레이스, 콜 스택의 리뷰 등
매우 뛰어난 디버깅 환경을 지원합니다. 그 밖에도 ASP.NET을 위한 다양한 써드 파티 IDE 솔루션이 조만간
출현하게 될 것이 분명해 보인다.



단점 :

유연성과 안정성 면에서의 이점은 효율성 면에서는 단점으로 변한다.

ASP.NET은 긴 코드 경로를 가지며, 따라서 메모리 사용량과 실행 시간의 측면에서 많은 리소스를 사용한다.

매 초당 수 천, 수 만 명의 사용자를 동시에 지원해야 하는 웹 기반 애플리케이션에서는
이러한 문제가 심각한 결과를 초래할 수 있습니다. 메모리 사용량의 문제 또한 웹 서버에 심각한 부담을
가져올 가능성이 높다.

---------------------------------------------------------------------


위의 각 웹언어들의 내용과 장단점들의 내용은 일부 인용되어 작성된 것 임을 알려드립니다.

출처 : phpschool
신고
Trackback 0 Comment 0
2007.04.13 07:58

자바스크립트가 그려낸 둥근 모서리 - Transcorners

계속해서 미루어 오다가 이제서야 소개합니다. Transcorners는 대상 엘리먼트의 모서리에 라운드(또는 대각선) 효과를 부여하는 자바스크립트 효과입니다. 가볍기로 잘 알려진 mootools 자바스크립트 프레임웍을 기반으로 만들어 졌으며, 모든 브라우저에서 사용할 수 있도록 제작되었습니다. 아래는 Transcorners 사용해서 직접 그려본 라운드 효과와 예제입니다.
    예제1
    //모든 코너에 반지름(radius) 30
    new Transcorner( 'example1', { radius: 30 });
    //background:#fee; border:1px solid #a00; 스타일 속성을 지님


    예제2
    //모든 코너에 반지름 10 (기본값)
    new Transcorner( 'example2');
    //background:#4ff; border:2px solid #4bb; 스타일 속성을 지님

    예제3
    //상단 왼쪽 코너에만 반지름 20
    new Transcorner( 'example3', 'top left', { radius: 20 });

    예제4
    //상단 코너에만 반지름 10
    new Transcorner( 'example4', 'top');

    예제5
    //상단, 하단 오른쪽에 코너에 반지름 10 라인(cornerslinear transition)
    new Transcorner( 'example5', 'top, bottom right', { transition: Effect.Transitions.linear});

보시다시피 실시간에 가까운 라운딩이 가능하며 이미지로 디자인한 라운드에 버금가는 디테일을 보여줍니다. 무엇보다도 이미지의 로드를 줄여 한결 가벼운 웹사이트를 구축할 수 있다는 것이 가장 큰 장점이라 하겠습니다. 매우 탐나는 확장기능이라 Prototype.js에서 사용할 수 있도록 포팅하였으며, 손 댄 김에 기능을 조금 확장했습니다. 1픽셀 이상인 보더의 처리가 가능하도록 하였으며(예제2와 같은 결과), 투명한 라운드를 사용할 수 있도록 했고, 어설픈 그림자 효과도 만들어 보았습니다. 잘 응용하면 드래그앤 드롭이 가능한 멋진 다이얼로그 윈도우도 만들수도 있겠습니다. 참고로, 위에서 실행 된 예제는 Prototype.js기반으로 돌린 것 입니다.

윈도우 테스트

Download Prototype base Transcorners:
transcorners.js (5.5 KB)



출처 : 파이어준

신고
Trackback 0 Comment 0


티스토리 툴바