달력

7

« 2025/7 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

'공부하는 것'에 해당되는 글 82

  1. 2009.05.31 iPhone SDK Study
  2. 2009.05.23 Junit 4 공부를 시작하면서...
  3. 2009.05.10 SpringSource Tool Suite is Now Free!
  4. 2009.05.04 Spring의 Roo Alpha 2에 대하여...
2009. 5. 31. 08:08

iPhone SDK Study 공부하는 것/iPhone Application2009. 5. 31. 08:08

작년부터 iPhone Application을 만들어 보겠다고, 책도 사고, Study Group 비슷한 것도 만들어보고, 관련된 책들도 몇권을 사서 보았지만, 내가 연 초에 세운 계획중에 하나인 iPhone Application을 1개라도 만들어 보겠다는 계획은 아직 실행되지 못하고 있는 사항이다.

이는 개인적으로 여러가지 많은 일에 관심이 많은 탓이기에, 주 중에는 Web 관려 기술에만 집중하고, 주말에는 iPhone에 대해서 공부하겠다고 시간을 나주어 사용하기로 결심했지만, 주말에는 가족과 같이 하는 일에 우선 순위가 높아서 결국 손을 대지 못하고 있었다.

이미 iPhone SDK를 설치해 본 사람드은 알겠지만, Apple에서는 많은 개발 관련 Resource를 개발자들에게 제공한다. 문서와 동영상으로 만들어진 자료들은 개발자로 하여금, 어떻게 시작을 해야 하는지 무엇을 다루고 공부해야 하는 지를 알려준다. 아쉬운 점이 있다면, 모든 자료는 영어로 되어 있기 때문에 모국어로 영어를 사용하는 사람들보다는 익히기 힘들지 모르겠다, 하지만 아직 한국에는 Apple이 제공하는 환경에서 개발할 수 있도록 만들어진 책은 2권정도가 전부이기때문에, 현재는 다른 길은 없다.

아래는 Apple에서 제공하는 Xcode IDE을 실행했을 때, 볼 수있는 화면준에 하나로, IPhone SDK를 설치하면 볼수 있다. iPhone Application을 개발할 수 있도록 도와주는 Resource 들에 쉽게 접근 할 수 있다.  (Apple에서 화면캡쳐해서 글을 올리는 것은 처음이다.)


최근에 김정현 책임으로 부터, iPhone Application 개발을 위해서 무료로 볼수 있는 자료들에 대해서 들었었다. 스테포드 대핵에서 진행하는 코스로, 이를 동영상으로 마들어서 일반인들도 강의 내용을 볼수 있다는 것이 었다.
어제는 토요일 이어서, googling을 하면서, 관련된 자료를 찾아보고, 아이튠즈를 이용하여 강의를 다운로드 받아서 보았다.



관련된 강의자료는 16개의 Lucture로 구성되어 있고, 이는 "CS 193P iPhone Application Programming" 이라는 제목으로 진행된다.

- 링크 주소: http://www.stanford.edu/class/cs193p/cgi-bin/index.php
- RSS 주소: feed://www.stanford.edu/class/cs193p/cgi-bin/rss.php

관련된 동영상 강의 자료들은 "Stanford on iTunes U "에서 다운로드 받을 수 있는데, 강좌들은 iTunes를 이용해서 다운로드 할 수 있다.




'공부하는 것 > iPhone Application' 카테고리의 다른 글

어떤 iPhone을 살것인가?  (2) 2009.06.24
iPhone Application Life Cycle  (0) 2009.06.01
:
Posted by 행복상자
2009. 5. 23. 08:35

Junit 4 공부를 시작하면서... 공부하는 것/jUnit2009. 5. 23. 08:35

내가 Unit 테스트를 위한 툴과 TDD(Test Driven development)를 공부하기 시작한 것은 2002년 부터이다.
내가 살아가면서 감사하게 생각하는 것은 내 주변에 좋은 개발자들이 있고, 이 들로 부터 개발을 위한 좋은 정보를 얻을 수 있었다는 것이다. TDD는 지금은 iPhone Application을 개발하는 연승훈이라는 분을 통해서 그 당시에 처음 접하게 되었다.  

TDD에 관한 책은 김창준, 강규영  두분의 번역으로 국내에 책이 출판되었는데, 이전에 내 블로그에 "Kent Beck의 Test-Driven Development by Example"라는 제목으로 언급하기도 했던 책으로, 이 책은 내가 프로젝트의 개발을 시작하기 전에는 꼭 한번씩 읽는 책이다. 조금더 TDD를 잘 써보고 싶은 마음에서 매번 새로운 마음으로 읽어본다.
하지만, 매번 사용의 어려움을 느끼고, 그러면서 새로운 방법과 접근 방법을 배워갈수 있도론 Hint를 준다.

개인적으로는, 집에서 내가 코드를 작성할 때, TDD를 이용하여 Code Coverage를 측정하면, 평균적으로 90%~94%정도의 Coverage를 측정할 수 있다. 상당히 높은 수치이다. 코드의 질적인 면과 효율적인 면에서도, 아무생각 없이 junit을 이용한 코드를 짤 때보다는 높다. 물론, 경험상 TDD를 위한 코드를 작성하기 전에 생각해야 하는 시간을 상대적으로 늘어난다. 그러나 이역시도 클라스와 함수에 대한 명세서가 정확하고 명확하게 정의되어 있는 상태에서 시작한다면 아무런 문제가 되지 않는다. 테스트 코드를 위한 시간이 더 많이 필요로 하지만, Refactoring을 해야 하거나, 시스템 적으로 build와 testing을 해야 할 때 이 코드들은 큰 이익을 안겨준다.

내가 이전까지 사용하던 방식들은 Junit 3.8에서 제공하는 방식으로 이용해 왔다. 4.x 제공하는 기능들에 대한 간단한 사용법들은 알고 있었지만, 이 전에 작성했던 코드들와 게으름으로 다른 기능들에 대한 공부를 안하고 이제까지 버티어 왔다. 이 번에 Google App Engine Java버전을 분석하면서, 짜 넣을 코드들에 대한 테스트를 작성하면, Junit 4.x 버전을 공부하기로 마음 먹었다.

이를 위하여 몇가지 공부를 위한 사이트를 검색하면서, 링크들을 찾아 보았는데,
- IBM의 Developer Networks에 올라와 있는 글이 이해에 도움이 주었다.
- 그리고, www.junit.org 에서 소개하고 있는 글들이 유용하다.
           . New JUnit 4.x Howto + updated JUnit 3.x Howto 
           . JUnit 4.x Quick Tutorial
           . JUnit 4 in 60 Seconds
           . An early look at JUnit 4
Junit 4는 최근에 4.6 버전의 Release를 끝 마쳤다.

테스트를 작성하는 것은 개발자에게 많은 노력을 요한다. 아마도 개발한 코드보다 더 많은 코드들을 작성해야 하는 수고들이 뒤 따라야 할 것이다. 남에게 보기기 위한 다면 적당히 해도 좋다. 그러나 자신을 위하고 자신이 만든 코드를 위한다면, 요율적이고 효과적인 방법을 찾도록 노력해야 한다.

결국, SW 개발자는 자신의 코드로 나를 드러내야 하기 때문이다.
최선이라 함은 열심히 하는 것을 의미하진 않는다, 좋은 결과를 얻을 수 있는 과정을 최선이라고 생각한다.


 
 
:
Posted by 행복상자
며칠전에 블로그를 통해서, SpringSource Tool Suite(STS)의 무료 공개에 대해서 언급했었는데, 이제 공식적으로 무료로 공개한다고, 지난 5월 7일자(미국 시간)로 블로그의 "SpringSource Tool Suite is Now Free!" 라는 제목의 글을 통해서 발표했다.

글의 내용을 잠시 읽어보면, Rod Jonson이 지난 SpringOne Europe에서 약속하였던 것을 이행한다는 이야기이다.
그리고 이제부터는 SpringSource Tool Suite (STS)의 정식버전을 무료로 사용할 수 있다는 내용이다.
또한, Christan Dupuis의 최근의 Blog에 추가된 새로운 Feature(2.1.0.M1)들을 소개한다고 한다.

지난 번에는 블로그를 통해서는 Roo가 STS의 한 Feaure로 들어가있고, Roo를 사용해보기 위해서는 STS를 설치해보아야 한다고 이야기한적이 있는데, 이는 2.1.0.M1 버전 부터 가능할 거라 생각된다.

내가 STS에 관심을 갖고 있는 것은 SpringDM과 OSGi번들로 되어 있는 프로젝트 또는 개발된 Application을 제대로 지원하고 있는 툴이 없기 때문이다. 내가 작년부터 진행하고 있는 프로젝트에 도움이 되지 않을까라는 기대 때문에 이전부터 관심을 두어 있었다.

하지만, 아직 설치와 테스틀 해보지 않은 상태이므로, 툴의 장점을 알아가야 하는 과정을 밟아야 한다.
개발에 직/간접적으로 많은 도움을 줄거라는 기대가 있기 때문에, 조만간 날 잡아서 설치해볼 생각이다.

STS는 "download SpringSource Tool Suite"에서 다운 받을 수 있다.


:
Posted by 행복상자
Spring Source에서 새로운 툴을 하나 발표하려는 것 같다.
미국 시간으로 어제 "Roo Alpha 2 is now available for download" 라는 제목으로 글이 하나 올라왔는데, 생소한 이름의 툴이 하나 올라왔는데, 기존에 진행되었던 프로젝트와는 많이 생소한 내용이었다.

"Roo Alpha 2" 라는 이름으로 이미 Relesed 된 상태로, 이미 국내에서도 여러 개발자들이 관심을 갖고 살펴보고 있는 듯하다. 이는 SpringSource의 Tool Suite(STS)에 Roo Plugin으로 포함되어져 있고, 이들은 "introduction to Roo" 라는 블로그의 글을 통해서 "Roo"에 대해서 간략하게 소개하고 있다.
간단하게 Roo는  SpringSouce 오픈 소스 프로젝트이고, TDD를 위한 툴이고 이를 위해서 Shell을 개발자에게 제공한다. 그리고 Roo는 개발자가가 새로운 언어를 배우지 않고 쉽고 빠르게 그들의 Application을 개발 할 수 있도록 설계되었다고 한다.

Roo는 무료로 사용할 수 있는 툴인데, 이번주, 즉 5월 7일자(미국시간)로 무료로 다운받아 사용할 수 있다는 것이다. 이에 대해서 시간 제약과 같은 규제는 따로 없다.
우리 시간으로 5월 8일에 다운 받아 쓸수 있다는 말이다. (참조: http://www.springsource.com/products/sts)

Roo는 나에게는 아주 생소한 주제이다. 그래서 잠깐 구글링을 해보 았는데, 국내의 여러개발자들이 벌써 이를 테스트하고 분석하고 있는 중이었는데, 그중 특이한 것은 이 Roo가 갑자기 하늘에서 떨어진 것은 아니라는 것이다.
이미 일민(Toby)이가 이를 대한 소개를 한 글이 있었다. 2006년도에 TES2006에 참석해서 배운 내용을 정리했던 것인데 "TSE2006 넷째날 두번째 세션 - ROO"를 보면 이해에 도움이 될거라 생각된다.
그가 2006년에 Roo에 대해 알았다면, 이는 참 오래된 감춰진 프로젝트의 하나일 것이다.

그리고, "Introducing Spring ROO: Part 1" 의 글을 보면, 현재의 Roo에 대한 간략한 소개와 설치에 대한 설명들이 있다. 이름 참조하면 설치에 무리가 없을 거라 생각되고, 참고로 여기서는 A1 버전을 사용하였다.

그리고 지난주에 유럽에서 열렸던 SpringOne에서 발료되었던 세션중에 "Presentation: "Extreme Productivity in Application Development"을 보면 좀더 새로운 Roo에 대한 정보를 얻을 수 있을 것이다.

최근에 Roo에 대한 새로운 이름에 대해서 투표를 진행했는데, Roo도 괜찮은 이름인것 같다. 어떤 이름으로 다시 공개될지 모르지만 현재는 Roo이고, 이는 당분간은 유지 될거라 생각된다.
(투표에 관심있는 사람은 http://cloud.springsource.com/vote 를 한번 찾아가 보시길... )
Roo 1.0 Release는 6월 중순에 발표될거고, 1.0 GA버전은 올해말에 공개될 예정이다.

Roo를 사용하게 되면 어떤식으로 프로그램 방법이 바뀔지는 아직 감은 없지만, 많은 사람들이 관시을 가지고 있었던 프로젝트 였던만큼, 큰 반향을 일으킬 소지는 충분히 있다. 간단하게 작성된 소스들을 보더라도, AspectJ와 많은 Anotaion들이 사용이 된다. 중요한 것은 새로운 것을 익히고 쓰기 위해서는 기본에 충실해야 한다는 것이다. 이를 쓰기 위해서도 역시 기본적인 개념과 사용법에 대해서 익숙해질 필요가 있다.

아무리 좋은 도구라도 사용하는 사람이 익숙하지 않다면, 좋은 인상을 주기 어렵다. 새로운 것을 배우는데 익숙하거나 즐기는 사람이라면 다르겠지만, 자기가 하고 있는 분야만이 전부라고 생각하는 소아적인 개발자와 관리자를 깨우치기는 정말로 어렵기 때문이다. 그래서 "돼지목에 진주"라는 말이 있나 보다.

:
Posted by 행복상자