프로그래밍

지각생 연습장

목차

기본

데이터 모델링

웹 신기술 키워드

시맨틱웹 Semantic Web

  • 사람뿐만 아니라 컴퓨터도 이해할 수 있는 웹을 만들자는 노력
  • 웹서비스(Web Services), RSS 같은 RDF(Resource Description Framework) 기술
  • 소셜 네트워크와 블로그와 같은 개인에 집중하는 네트워크와 커뮤니티가 활성화 되면서 오히려 개인과 개인, 개인과 기업에 대한 상호 운용성 문제가 더 커졌기 때문
  • 정보의 분산화와 개인 미디어의 강화는 결국 정보 접근을 시작하는 위치를 궁극적으로 포털에서 PC와 같은 개인으로 옮겨오게 될 것

참고

Rich Web Application

  • 선도적인 웹 기술을 수용하고 다룰 수 있는 파이어폭스(Firefox)라는 브라우저의 등장에 힘입은 바 크다. 새로운 웹 기술을 도입하고 브라우저를 확장할 수 없었던 평면적인 웹 브라우징 시대에서 확장 가능한 웹으로 발전하는 것이다.
  • 사용자 PC에서 실행되는 풍부한 웹 애플리케이션 등장
  • AJAX(Asynchronous JavaScript and XML)
웹 페이지 내에서 자바 스크립트로 xmlhttp를 통해 XML데이터 교환을 제어함으로서 사용자들이 웹 페이지를 새로 고침 하지 않고도 웹 기능을 이용할 수 있는 것이다. 구글맵이나 구글 서제스트 같은 기능이 AJAX를 이용하는 대표적인 기술이다.
Daum의 ‘한메일넷 주소록’은 순수한 AJAX와 DOM 기술을 이용해서 주소록 기본 관리를 한 페이지에서 모두 처리할 수 있는 애플리케이션 구조로 변경
  • 파이어폭스의 수백개의 확장 기능(Extensions)들은 개인들이 만든 것이다. 또한, 콘파뷸레이터나 매킨토시의 대시보드의 액서서리 들도 모두 브라우저 확장 기능을 이용하고 있다.
  • HTML, CSS, 자바 스크립트만 알아도 간단한 웹 애플리케이션을 만들 수 있는 시대가 오는 것이고, 이 때문에 그리스몽키(Greasemonkey) 같은 인기 애플리케이션이 만들어 질 수 있었던 것

Desktop Application

  • 독립적이고 요구된 기능만을 수행하는 프로그램이 아니라, PC를 기반으로 하는 정보 생산 및 취합, 관리 프로그램의 요구가 늘고 있다
  • 시맨틱 웹이라는 조류에 편승해 네트워크를 통한 개인을 위한 정보 조합 및 커뮤니케이션 도구
  • 구글, 야후, MSN, 라이코스 Hotbot 데스크탑 데스크탑 검색 소프트웨어
  • 스카이프와 야후에 인수된 다이얼패드 등과 같은 인터넷 전화 소프트웨어 업체, 구글에 인수된 포토 관리 프로그램인 피카사(Picasa)나 위성 사진을 기반한 키홀(Keyhole) 등은 여전히 데스크탑 애플리케이션이 유망하다는 것을 반증 해 주고 있다.

Ajax

프레임워크

RSS

PHP

참고

정규표현식 모음

  • 웹(ftp) 문서 패턴 : (http|ftp)://([0-9a-zA-Z./@~?&=_]+)
  • 이메일 : ([_0-9a-zA-Z-]+(\.[_0-9a-zA-Z-]+)*)@([0-9a-zA-Z-]+(\.[0-9a-zA-Z-]+)*)

가볼만한곳

유머

개발 입문자를 위한 31가지 조언

  1. 처음에는 자신이 사용하는 개발툴이나 언어를 강력한 툴이자 언어로 생각하십시오
  2. 어느 정도 숙달되면 개발툴이 아닌 업무에 주의를 기울이십시오
  3. 처음에는 자신이 사용하는 개발툴이 갖고 있는 기능의 전체상을 획득하도록 하시고 그 다음에 하나하나 철저하고 자세하게 배우도록 하십시오. 그리고 중요한 지식과 기술을 중심으로 배우십시오.
  4. 프로젝트에서 대면하게 되는 새로운 요소 기술, 팁 그리고 노하우들을 하나하나 기록하고 정리하여 여러분의 지식체계로 발전시키십시오
  5. 자신이 사용하는 개발툴의 기능적 사용법, 요소 기술, 팁 및 노하우를 기록하고 정리하는 것 못지않게 이를 여러분의 것으로 내면화하는 것이 중요합니다
  6. 문제의 다양한 변화를 고려하고 다양한 해법을 모색하십시오
  7. 개발툴은 기능적인 툴이라는 점을 잊지 마십시오. 즉, 개발툴에 대한 감각을 익히십시오.
  8. 반복을 두려워하지 마십시오. 반복속에 변화가 있습니다. 그 미묘한 변화를 터득하십시오.
  9. 가끔씩 소프트웨어의 실체를 파악하는데 주의를 기울일 필요도 있습니다.
  10. 요긴한 한 줄의 코드가 허황된 말이나 장황한 이론보다 더 중요할 수 있습니다.
  11. 다양한 요소 기술을 마스터하십시오
  12. 문제의식을 가지십시오
  13. 자신이 사용하는 개발툴에 대한 전체적인 시야를 획득하도록 하십시오. 종종 예시적 사고(Predictive Thinking)가 도움이 될 때도 있습니다
  14. 단순성(Simplicity)을 최대한 활용하십시오
  15. 프로그래밍 그리고 프로젝트에서 즐거움을 찾으십시오
  16. 다른 프로그래머들과의 교류를 이루어가면서 개발문화의 흐름 및 휴먼네트워크와의 동시성을 유지하십시오
  17. 업무와 관련하여 인간관계를 원활하게 유지하십시오
  18. 팀웍을 유지하십시오
  19. 소프트웨어 장인정신을 본받으십시오
  20. 자신의 일에 긍지와 자부심을 가지십시오. 그리고 일에 몰입하십시오. 그 속에서 자유를 찾으십시오
  21. 연속적이고 지속적으로 일을 하십시오. 그리고 규칙적으로 일하십시오.
  22. 요소 기술을 익혀 하나의 완성된 제품을 만들어 내도록 하십시오
  23. 코드 가독능력과 작성능력을 향상시키십시오
  24. 어느 정도 실력이 향상되면 SQL과 데이터베이스 활용에 대해서 공부를 하십시오
  25. 남에게 가르침으로써 알고 있는 지식을 더 새롭게 하고 새로운 것을 배우는 기회를 얻으십시오
  26. 선임 개발자와 동료 개발자 그리고 후배 개발자의 진지한 모습과 개발에 몰입하는 자세를 배우도록 하십시오
  27. 변화에 적응하십시오
  28. 전산을 전공하지 않았다고 반드시 마이너스 요인이 되는 것은 아닙니다.
  29. 익스트림 프로그래밍, 디자인패턴, 리팩토링 등의 최신 소프트웨어 개발 기술에도 관심을 가지십시오
  30. 어느 정도 개발툴 실력이 확고하게 되면 영어, 경영지식 및 다양한 학문에 관심을 가지십시오
  31. 항상 자신을 성찰하고 반성하며 끊임 없이 배우도록 노력하십시오

프로그래머 10계명

  1. 정보모음에 소홀히 하지 말고 설명서를 읽음에 게을리 하지 말지어다. ==
  2. 너의 PC가 안전하다고 믿지 말지어다
  3. 변하는 수를 다룰 때는 늘 조심하라
  4. 무슨 일을 반복시킬 때는 처음과 끝에 유의할지어다.
  5. 항상 모든 경우의 수를 고려하고 섣불리 생략하지 말지어다
  6. 함수 안에서 매개 변수값은 결코 믿지 말지어다
  7. 오류를 알려 주는 기능은 있는대로 모두 활용할지어다
  8. 한번의 수정과 재컴파일만으로 연관된 모든 것이 저절로, 강제로 바뀌도록 할지어다
  9. 사용자가 알아서 잘 써 주리라고 희망하지 말지어다. 너의 프로그램은 항상 바보만이 쓰느니라
  10. 매사에 겸손하고 항상 남을 생각할지어다

http://www.beginninglinux.wo.to/

개인 도구