(아주 짧은 요약) 나온지 오래된 녀석이지만, HTTP를 익히는 것은 기술이 넘쳐 혼란스럽기까지한 web 전반을 이해하고 정리하는데 많은 도움이 된다.
  IBM Petchakucha에서 2009.12.05 발표할(한?) 슬라이드 자료입니다. 발표가 워낙 짧아 다루지 못한 부분이 많은데, 나중에 틈틈히 보충해 보겠습니다.

 

저작자 표시 비영리 변경 금지
신고
 2월 7일 회사의 오픈 세미나에서 발표할 자료로 만든 것을 비상 대비용으로 올려놓습니다.
 요약하자면, Mylyn 사용 환경 소개 & 이슈 트래커(JIRA, Trac)의 사용 노하우 정도 되겠습니다.
 
 내용이 글로 정리되면 블로그에도 소개하겠습니다.




신고

Concept Map

Posted 2009.02.03 09:26

conceptmap01.png

 

 프로젝트에서 사용되는 도구에 Concept Map을 포함한다는 것이 생소할지 모르겠지만, 경험 상 Concept Map은 모든 프로젝트 일정에서 사용할 수 있는 강력한 도구이다. 예전에는 FreeMind와 같은 Mind Map 도구로 비슷한 일을 했지만, 지인의 소개로 Concept Map을 알게 되어 더욱 다양한 용도로 사용하게 되었다. Mind Map과 마찬가지로 생각의 흐름을 정리하고, 다음 단계의 생각으로 매끄럽게 연계해주는 것이 핵심인데, 개인이나 맵 하나를 같이 그릴 수 있는 정도의 소규모 그룹에서 진가를 발휘하는 것 같다. 돌이켜 보건데, 다음과 같은 상황에서 매우 유용했다.

  • 요구 사항 정의/분석 각주1
  • 소규모 회의 
  • 특정 문제 영역의 범위 및 잠재 이슈 파악, 이를 이용한 스케줄링 

특히 XP 방법론에서 협업의 방법 중 하나로 Pair Programming을 제시하는데, 이와 유사하게 아이디어나 문제 해결을 위한 회의에서 Concept Map 을 그리면서 Pair Concept-Map-Drawing(말이 좀... --;)을 해보길 바란다. 필자의 경우 전체 흐름이 엉뚱하게 전개되지 않게 해주고, 서로의 아이디어를 매끄럽게 발전시켜주는 것을 경험할 수 있다.

 

iep_issue_cmap_mini.jpg

 위의 Concept Map 은, 특정 application의 각종 요구 사항 및 이슈를 분석해 본 것이다. 마인드 맵을 사용해 보신 분들은 알겠지만 연결선에 둘의 관계가 서술되어 있다. 이 서술은 처음 제시된 그림과 같이 영어로 작성된 것을 보면 더욱 명확해진다. 서술의 대상(목적어나 보어)이 관계 서술 다음에 나오는데 이를 위에서 아래의 순서로 작성할 때는 화살표를 표시하지 않고, 다른 방향일 때는 표시한다는 규칙이 있다.

 이슈 분석을 통해, 구현 범위를 명확히 하고, 향후의 이슈를 예측할 수 있었다. 그리고 이를 검토해 항목을 그룹화함으로써, 이슈 관리 도구에서 이슈의 컴포넌트각주2를 정의할 수 있었다. 경험이 많은 필자는 아니지만, 프로젝트에 이슈 관리 도구를 처음 설치하고 컴포넌트를 설정할 때는 Concept Map(예전에는 Mind Map)이 매우 효과적인 도구였다. 주의할 점은 Concept Map 자체가 아이디어를 만들어 주는 것이 아니라, 개인이나 그룹이 가진 아이디어의 전개를 관리해주는 역활을 수행한다는 것!

  ThinkWise나 FreeMind 같은 마인드 맵 도구도 좋지만, 개인적으로 http://cmap.ihmc.us/ 에서 제공하는 훌륭한 무료 도구와 깔끔하고 직관적인 결과물에 매료되어, 최근에는 소개받은 Concept Map을 좀 더 자주 사용하고 있다.

(각주1) 고객과 함께 요구 사항의 전반적인 모습을 스케치할 때와 고객 없이 회의를 통해 요구 사항을 도출해야 할 때

(각주2) 컴포넌트는 특정 내용에 대한 이슈의 집합으로 이해하면 되며, 그림에서 주황색으로 강조한 부분이다

이 글은 스프링노트에서 작성되었습니다.

신고

Gimp 2.6 간략 소개 및 시작화면

Posted 2009.01.20 12:05

 Gimp는 포토샵을 대신해 사용할 수 있는 이미치 처리 및 제작 프로그램이다. 무료이고 기능도 막강하다.

 

 
 사용방법은 사이트에서 제공하는 매뉴얼을 참고해도 되지만, 각종 국내 검색 사이트에서 Gimp를 입력하면 '사진 처리하기', '만화 그리기' 등 관련 강좌가 아주 많이 나온다.
 필자도 이미지 관련 보조 작업에 Gimp를 사용하는데, 윈도우 환경에서 본격적으로 사용한지는 1년 정도 되었다. 처음에는 주로 사용하던 포토샵과 달라 불편하다고 느끼기도 했으나 이내 익숙해져 무리 없이 사용하고 있다.  블로그 작성 및 회사에서의 ppt 작업 등에는 크기도 작고 기능도 특별히 부족함이 없어 강추다.

다운로드는 http://www.gimp.org 에서 가능하다.

 느닷없이 Gimp를 때늦게 추천하였는데, 사실은 Gimp 2.6에서의 시작화면을 보고, 일종의 유행 같은 현상을 발견하여 이 글을 쓰게되었다. 이 유행을 선도하는 각기 다른 분야의 이미지를 참고로 제시한다. 

  1. Java 프로그램의 대표적 개발 환경인 이클립스의 시작화면
  2. 미 NBC 방송국의 SF드라마 히어로즈의 시작화면

이 유행이 무엇인지는 굳이 설명하지 않겠다. -_-;





신고

 Eclipse를 일이 있어 -console로 실행했다가 매우 적나라 하다는 생각이 들면서, 순간 이 OSGi 콘솔화면을 노출해버리는 상황이 컴퓨터에게는 매우 부끄러울 수도 있겠다는  상상을 해보았다.

 화려한 겉모습의 GUI가 아닌 text 기반의 콘솔화면, 그럴 수도 있지 않을까? 아님 말구...
 

신고

http://www.manageability.org 에 올라온 내용이다. 참고 삼아 올리는 것이며 솔직히 본인도 두 리스트 모두 딴지를 걸고 싶은 부분이 있다. 그렇지만 이 리스트들이 꽤 많은 사람들의 블로그에서 이야기 되는 것 같아 올려본다.

2008년에 배워야 할 자바기술 5가지원문링크:http://www.manageability.org/blog/stuff/five-java-technologies-to-learn-in-2008
  • #5 OSGI - Reality check, monolithic containers carry too much baggage and Java libraries are so richly cross dependent. The trend is there, a lot of frameworks are moving towards OSGI to bring some sanity in their deployment. Projects that have employed OSGI in anger are Eclipse via Equinox , Nuxeo and BEA Event Server ,
  • #4 JCR - Reality check, not all data fits well within a relational database. In most cases, users want to store their own documents and have those properly managed (i.e. versioned). JCR with it's Jackrabbit implementation is becoming the de-facto standard for maintaining data other than the structured kind. Some examples of projects that have used this in unexpected and innovative ways are Drools BRMS for managing business rules, Apache Sling for universal resource storage and Mule Galaxy for SOA governance management.
  • #3 GWT - Reality check, AJAX is here to stay and Javascript is still a pain to work with. GWT is gaining traction like wildfire at the expense of other Java web technologies like JSF. A lot of projects have begun creating extremely cool products with it. Some impressive examples are Queplix a CRM, Compiere an ERP and GPokr a multiplayer Texas hold-em poker game.
  • #2 Groovy - Reality check, sometimes you have to write quick and dirty scripts to get your tasks done quickly. There's a lot of traction these days for dynamic scripting languages like Ruby. However if you want to truly leverage your existing skill set, then it's more efficient to take a evolutionary step. Groovy has come a long way since it's rocky beginnings. I believe Groovy is finally mature enough (it finally has a debugger) that it's safe to dip your toes in it. Furthermore, there's are a of books, books about frameworks (i.e. Grails ) and tools (i.e. IntelliJ) that help you from getting lost.
  • #1 Cloud Computing - Reality check, sometimes it just isn't worth it to setup your own physical servers. Amazon's services are going to be an extreme boon to development productivity. One of the most time consuming efforts, and one that is too often taken for granted, is the deployment of a load and performance testing harness. In a lot of rigid organization, it is sometime problematic to acquire so much hardware for use only for short time periods. There aren't many tools out there yet for the Java developer (see: " Grid Gain Distributed JUnit "), however it's ramping up pretty quickly. So just as we create our builds from the cloud via Maven repositories, one shouldn't be surprised to find cloud based testing resources to be part of every developer's tool chain in the future.



그리고 배우지 말아야 할 5가지원문링크:http://www.manageability.org/blog/stuff/top-five-java-that-did-not-make-the-list
  • #5 Android - Google's attempt to turn the telco space on its head. This is expected to be not only game changing but disruptive. I of course will like to wait for (a) an actual hardware device to play with (b) Google winning the 700Mhz spectrum and (c) the deployment of 700Mhz cell towers across the states. The problem I have with Android is the problem the plagues J2ME devices. How do I keep my sanity as the variety of mobile devices increases exponentially? I have yet to have heard a compelling story (OSGi perhaps?) in this area. That's plain unfortunate because it's the biggest pain point for mobile developers.
  • #4 JRuby - Rails is certainly getting a lot of attention; JRuby channels that attention towards the JVM. The Ruby job market has grown to a stunning 3.3% of the size of the Java market. If you need something new (don't ever try this with legacy code) then possibly the quickest route to a working application is via Rails (use Streamlined while your at it). However, not all applications consist only of CRUD screens, you'll need to add more mojo into it. That's when you have to question Rails viability. Convention over configuration only works well if you're building something conventional.
  • #3 Scala - Scala is a brilliant well thought out language. It's a language that is not only extremely expressive but one that doesn't have the performance baggage of a dynamically typed language. In short, you could use it to build bleeding edge infrastructure stuff. The kind of stuff you would never dream of building using slow as molasses languages like Ruby. Sure, you have to subscribe to the static typing religion, it's an unfortunate trade-off you have to make if you want to build really tight systems. It however didn't make the list because I would only recommend it to 'rocket scientists' building serious heavy lifting infrastructure. Web front end developers need not apply.
  • #2 Seam - Gavin King (Hibernate's creator) is an accomplished developer. So when he builds another framework, it behooves you to take notice. Seam is his latest creation and it merges JSF and EJB3 into a seamless workable framework that's all hangs together with Annotations. Unfortunately, its strength is also its weak spot. All that annotation work is going to be a nightmare to debug. Personally, I think Spring is good enough, however if you must have an overarching framework then Seam would be it.
  • #1 Flex - If anything should have been on the list, this would be it. If you want to build rich applications on a browser then plain DHTML and Javascript isn't going to cut it. The most innovative desktop like applications on the web are unfortunately built on Flash. GWT isn't going to help you build applications like YouTube, Mindomo, Buzzword, Sketchcast or Pandora but Flex will. The bad news is that Flex isn't Java, however the good news is that Adobe's soon to be open sourced server (BlazeDS) is thankfully in Java.
신고

가니메데 등장-

Posted 2008.07.04 09:06



"가니메데"가 나왔다. 개인적으로는 목성의 위성 중에서는 (다큐 Alien of the deep의 영향으로) "이오"가 제일 좋은데-

후기 내용을 7월5일에 추가하였다.

잠깐 써보고 확- 느낌이 온 특징은 다음과 같다. 당연하지만 '느낌'이니 다른 입장의 사람들이 중요시하는 것과 조금 다를 수도 있겠다.

JavaScript IDE 추가! (JSDT)
Ajax를 이용한 RIA 개발에 상당한 힘을 실어줄 것으로 예상된다. SWT 웹 포팅 등.. 다음 버젼에나 가능하지 않을까 했던 것들까지 상당히 반영되어 있다.
Remote OSGi 를 이용한 분산환경
이제는 분산환경이구나 하는 생각이 들게 했다. OSGi 는 시간이 갈 수록 진한 사골이 우러나오는 프레임워크인 듯.
Issue(Task) 관리
거의 자리를 잡았다. 이전보다 더욱 자연스럽게 Issue와 구현 코드가 연계된다.


신고
사용자 삽입 이미지

인터넷 서버의 연결 관계를 나타낸 지도


 인터넷의 연결을 나타낸 지도.
신고

티스토리 툴바