달력

3

« 2024/3 »

  • 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
Spring Tool Suite는 Eclipse기반의 Java 개발 환경 툴로, Spring Framework로 유명한 Spring Source사에서 제작 배포를 하고 있다. STS를 사용하는 이유는 자동화된 환경을 통해서 필수적인 부가 Plug-in의 설치가 쉽고, Grails와 스프링 프레임워크의 구성이 쉽기 때문이다.

최근까지도 Eclipse 3.6 기반의 STS 2.5.2를 설치한 이후로 자동 업그레이트롤 통해서 STS 2.7.1을 사용했는데, Eclipse 3.7기반의 STS 2.7.1을 설치하고, Grails 1.3.7을 설치하기로 하였다.
사실, STS 2.5.0은 Plug-In의 업그레이드 기능에 문제가 있어서, Grails Plug-in들과 번들의 설치가 안되는 이슈가 있었는데, 2.5.2 버전에서는 이러한 문제가 해결되어서 업그레이드를 하거나 다시 설치할 필요성을 느끼지 못했었다.  

간략히 설치 방법과 순서에 대해서 설명을 하면, 
http://www.springsource.com/ 로 웹브라우저를 통해서 이동을 하며 화면 하단에 아래 이미지와 같은 화면이 보일 것이다. 여기서 SpringSoruce Tool Suite를 클릭해 주거나,
직접 브라우저에서 http://www.springsource.com/downloads/sts 로 이동해서 다운을 받아도 된다.

■ Spring Tool Suite 다운로드


이번에 설치할 버전은 Eclipse 3.7 기반으로 구성되어져 있고, STS 2.7.1 버전이다.
다운로드 사이트로 이동하면, 아래와 같은 화면이 나오는데, 운영 환경에 맞추어서 설치를 하면 되다.
(화면에는 표시되지 않았는데, 하단에 다른 버전들오 이동할수 있는 링크가 있다.)
 

■ STS 설치
다운로드해서 압축을 풀고, 원하는 경로에 옮겨높고 JAVA SDK의 경로(PATH)를 설정하면 설치는 마무리된다. (다 알고 있다고 생각하기에 별도 설명은 하지 않는다.)

■ STS 실행
STS를 실행하기 위해서는 "설치경로/springsource/sts-2.7.1.RELEASE/sts.exe"를 실행해주면 된다.

■ Groovy와 Grails 설치
실행후 나타나는 dashboard를 하단을 보면 두개의 tab이 있다. 하나는 dashboard 텝이고 하나는 Extensions이라는 템이다. Extensions 탭은 개발에 필요한 Plug-in 들을 쉽게 설치하도록 도와 준다.

여기서는 Grails, Grails Support 그리고 Groovy Elipse를 설치할 예정이다.
아래와 같이 선택하고 하단 오른쪽에 있는 "Install" 버튼을 눌러서 설치츨 진행하면 된다.


설치한 플러그인들에 대한 설치에 대한 진행 화면이 아래와 같이 나오면, "Next"버튼을 눌러 설치를 진행하면 된다.


설치가 완료되면, STS를 재 시작을 해주어야 한다.

재 시작이 되면, Grails프로젝트를 시작할 수 있을 것이다.




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

GRails 2.3 Async 지원과 Servlet 3.0  (0) 2013.03.31
GRails 대한 나의 생각...  (2) 2011.09.10
:
Posted by 행복상자
2009. 10. 20. 06:36

Byte and Bit에 대해서... 공부하는 것2009. 10. 20. 06:36

최근에 지인과 같이 아야기 하다가, 이 기종시스템의 포팅에 대한 이야기가 나왔는데, 그 때 그 친구가 Byte에 대한 정확한 의미를 알지 못하면, 낭패를 볼수 있다는 말을 하였다.
나는 내 기억을 근거로 단지 1 Byte면 8 bit가 아니냐? 그런데 왜 어렵지? 라고 반문하였다.
그 친구는 1 Byte의 단위가 시스템마다 전혀 다른 의미로 사용 될 수도 있다는 것이었는데, 예전의 오래전 기억을 더듬으면서, 그런것도 같고 아닌것도 같고 확신은 하지 못했다. 그리고 나서 나에게 메일로 이에 대해 바로 알수 있도록 위키의 링크를 보내 주었다.

이에 대해서 간략하게 설명하면 다음과 같다.
한국 위키디피아 사이트에서 Byte로 검색을 하거나 "http://ko.wikipedia.org/wiki/바이트"로 링크를 찾아가면, 바이트에 정의에 대해서 다음과 같이 설명하고 있다.

일정한 개수의 비트로 이루어진 연속된 비트열. ‘일정한 개수’가 항상 정해진 건 아니지만, 최근에는 사실상 1바이트를 8비트로 간주하는 경우가 흔하다.

위에서와 같이 연속된 bit열를 Byte의 단위로 사용하는데, CDC 6000계열의 메인프레임은 6bit를 1 Byte로 사용하고 있으면, CDC의 경우 12bit를 1Byte로 부르기로 했다는 것이다.
최근에는 대부분 8bit를 1 Byte로 이용하고 있지만, 6bit, 7bit, 12bit가 1 Byte로 이용되고 있다.

여기까지는 한국 위키디피아에 정리되어 있는 내용을 정리한 것이고, 영문 위키디피아 사이트에서 정의된 것을 찾아보면 좀더 이해하는데 도움이 된다.
영문 사이트도 마찮가지로 "Byte"로 검색을 하거나, 다음의 "http://en.wikipedia.org/wiki/Byte" 의 링크를 이용해서 찾아가면 된다.

"byte"는 1956년에 Dr. Werner Buchholz에 의해서 사용되었고, 이는 IBM의 IBM scratch computer를 디자인하는 동안 사용되었다. 이때는 4bit를 1byte로 설계되었다고 한다. 전형전인 I/O장비는 6bit를 1byte로 사용하다가, 나중에 System/360에 8bit를 1byte를 사용하기 시작하면서, 규격이 정해지고 표준화 되었다.

사실상, byte는 computer에서 한번에 읽어 올수 있는 가장 작은 단위로 사용되었고, 그런 의미에서 bite가 제대로된 표현이며, bite는 "한입에 베어 물다"라는 의미를 담고 있다. 
byte의 단어의 변화는 초기에 과학자들이 규격을 정할때,  bit와 bite와의 혼돈을 피해서 사용시에 실수를 줄이려는 의도가 담겨져 있다. 그래서 bite 대신에 오늘날 byte를 사용하는 것이다.

한가지 더, 요즘은 저장장치가 테러바이트 단위로 나온다. 그 이상의 단위는 거의 생각해 보지 않았었는데, 이번 기회에 알아보았는데, 아래와 같은 단위로 정의되어져 있다. 메가에서 기가로 단위로 바뀔때도 엄청난 도약이라고 생각했었는데, 이제 테라를 거쳐 페타의 시대로 갈 것이라고 하니 기술과 정보의 양은 정말 놀랍도록 발전한다. 아마도 페타의 시대로 가려면 과거를 기준 삼아 약 5년이 걸릴것 같다. (이는 순전히 나의 예상임)

Prefixes for bit and byte multiples
Decimal
ValueSI
1000 k kilo
10002 M mega
10003 G giga
10004 T tera
10005 P peta
10006 E exa
10007 Z zetta
10008 Y yotta
Binary
ValueIECJEDEC
1024 Ki kibi K kilo
10242 Mi mebi M mega
10243 Gi gibi G giga
10244 Ti tebi
10245 Pi pebi
10246 Ei exbi
10247 Zi zebi
10248 Yi yobi

(위 표는 wikipedia에서 발췌했음.)

간단하게 bit와 byte에 대해서 알아보았다.

:
Posted by 행복상자
2009. 10. 4. 10:55

GRails 공부 자료들... 공부하는 것2009. 10. 4. 10:55

오늘 추석 연휴의 첫날, 새벅같이 일어났으면 좋으련만, 휴일이라는 핑계로 7시 경에 일어나서 어제 찾아 보던 자료를 마져 보았다.

최근에 웹기술들은 정말 눈부시게 발전하지만, 그 중에서 가장 눈에 띄는 것은 RIA쪽과 다양한 브라우져들 그리고 자바쪽의 Spring framework이다. 
Spring framework는 자바를 이용한 웹개발에 많을 변화를 몰고 왔는데, EJB를 반드시 써야한다는 국내 대규모 웹 개발 풍토에 많은 변화를 주었다. 단지 마케팅과 정치적인 주장에서 개발 효용성을 안전성과 성공사례를 통해서 바꿔버렸다. 

하지만, 개선은 어디서나 일어나나 보다. 자신의 아이디어이든 다른 이의 아이디어이든, 좀더 쉽고 빠르고 안정성있는 개발을 원하는 것은 개발자들의 희망이자 욕심이다.

그중에서 GRails와 Groove는 스프링 프레임워크의 적자는 아니었다. 하지만 로드존슨이 Dynamic Language에 대한 애정을 매 컨퍼런스마다 비추었었는데, 결국은 정확이 기억이 나지 않지만, 지난해에 Groove를 SpringSource에 합병시키고, 자신의 제품라인 중에 하나로 만들었다.

Grails를 공부하기 위해서는, 사실 이것은 어제 오늘 내가 찾아본 사이트들인데, 이미 RubyOnRails에 대한 겅험이 있는 사람이라면, 그 기본 Feature를 잘 알고 있기 때문에, 이해하가 어렵지 않을 것이다.

Grails Site
- Grails: http://grails.org/
- Grails Documents: http://grails.org/Documentation
- Grails Quick Start; http://www.grails.org/Quick+Start
- Grails Tutorials; http://www.grails.org/Tutorials

IBM Developers Network:


IBM의 개발자 네트웍스에 올라와 있는 자료들은 모두 한번씩 읽어 볼만 하다.
내용은 많을 지도 모르겠지만, 각 예제들이 연결되어 있어서 공부하는데, 많은 도움이 될거라 생각된다.

하지만, 가장 중요한 것은 자신의 PC에 환경을 구성하고, 하나 하나 실행해 보는 것만큼 큰 도움이 되는 것은 없을 것이다. 새로운 것을 아무런 부담없이 공부할 수 있다는 것은 즐겁다. 이것도 또한 일로 연결될 수 있다면, "이보다 더 좋을 수 없다" 이다. ^^

:
Posted by 행복상자
기다렸던 사람들이 많았을 것 같다. 이제야, 오늘에야 Spring 3.0.0 RC1이 나왔으니까 말이다. 물론 Toby(일민)이를 비롯한 몇몇 선행적인 개발자들이 이미 열심히 공부하고 있고, 이의 전달도 열심인 것에 비하면, 최근에 나는 크게 관심을 두려고 노력하지 않았다. 개인적으로는 다른 사업부로 옮겨와서, 새로운 일을 맡아서 관심이 적어진(?) 것도 있지만, 사실은 그것 보다도, 기존에 내가 만든 Framework는 스프링 2.5.5 또는 2.5.6을 기반으로 설계되어 있다. 그리고 이것을 이용하여 여러 솔루션들이 개발되고 있는 중이어서, 자체 개발한 Framework의 Minor 체인지가 아닌 Big 체인지를 결정하기 쉽지 않기 때문이다. 만약 그것을 결정해야 한다고 해도 2년 후가 될 것이다. (상품으로 그리고 서비스를 하고 있는 시스템을 변경하기란 많은 결정해야할 문제에 직면해야 하는 용기가 필요한다. 그러나 이것은 모험이 아니다.)

현재 Springframework에서 제공하고 있는 메이져 Branch는 2가지이지만 앞으로는 3가지가 될 것이다.
Springframework 1.2 와 2.5 그리고 향후 주축이될 3.0이다.
그리고 이제는 3.0 Release Candidate 1이 나왔다. 이제는 또 열심히 공부할 시점이 된 것이다.
여러가지 변경된 API라이브러리들도 있고, 추가된 라이브러리들이 있는데, 이중에서 가장 먼저 눈에 들어왔던 것은 Jackson JSON라이브러리이다. 이른 아침에 Jackson 투터리얼을 보면서 시간 가는줄 몰랐다.
앞으로 정식 버전이 나올날이 멀지 않았지만, 언제가 될지는 잘 모르겠다. 올해 안에는 나오지 않을지...

Springframework 3.0 RC1의 변경 사항은 다음의 링크를 보면된다.

그리고, 아래는 이번에 RC1에 추가된 내용이다.

Changes in version 3.0.0.RC1 (2009-09-25)
-----------------------------------------

* upgraded to CGLIB 2.2, AspectJ 1.6.5, Groovy 1.6.3, EHCache 1.6.2, JUnit 4.7, TestNG 5.10
* introduced early support for JSR-330 "javax.inject" annotations (for autowiring)
* introduced early support for JSR-303 Bean Validation (setup and MVC integration)
* added default editors for "java.util.Currency" and "java.util.TimeZone"
* refined PathMatchingResourcePatternResolver's treatment of non-readable directories
* PathMatchingResourcePatternResolver understands VFS resources (i.e. works on JBoss 5.x)
* revised AccessControlContext access from BeanFactory
* AbstractBeanDefinitionParser can deal with null return value as well
* PropertyOverrideConfigurer's "ignoreInvalidKeys" ignores invalid property names as well
* PropertyPlaceholderConfigurer supports "${myKey:myDefaultValue}" defaulting syntax
* BeanFactory's default type conversion falls back to String constructor on target type
* BeanFactory tries to create unknown collection implementation types via default constructor
* BeanFactory supports ObjectFactory as a dependency type for @Autowired and @Value
* BeanFactory supports JSR-330 Provider interface as a dependency type for @Inject
* BeanFactory prefers local primary bean to primary bean in parent factory
* protected @Autowired method can be overridden with non-annotated method to suppress injection
* private @Autowired methods with same signature will be called individually across a hierarchy
* @PostConstruct processed top-down (base class first); @PreDestroy bottom-up (subclass first)
* ConfigurationClassPostProcessor detect @Bean methods on registered plain bean classes as well
* support for default "conversionService" bean in an ApplicationContext
* MBeanServerFactoryBean returns JDK 1.5 platform MBeanServer for agent id "" (empty String)
* changed NamedParameter/SimpleJdbcOperations parameter signatures to accept any Map value type
* refined logging in JMS SingleConnectionFactory and DefaultMessageListenerContainer
* introduced "ui.format" package as an alternative to PropertyEditors for data binding
* @RequestMapping annotation now supported for annotated interfaces (and JDK proxies) as well
* @RequestParam and co support placeholders and expressions in their defaultValue attributes
* @Value expressions supported as MVC handler method arguments as well (against request scope)
* JSR-303 support for validation of @MVC handler method arguments driven by @Valid annotations
* refined response handling for @ExceptionHandler methods
* @ResponseStatus usage in handler methods detected by RedirectView
* all @SessionAttributes get exposed to the model before handler method execution
* @Event/ResourceMapping uniquely mapped to through event/resource id, even across controllers
* MultipartRequest is available as a mixin interface on (Native)WebRequest as well
* removed outdated "cacheJspExpressions" feature from ExpressionEvaluationUtils
* introduced common ErrorHandler strategy, supported by message listener container
* Jpa/JdoTransactionManager passes resolved timeout into Jpa/JdoDialect's beginTransaction
* HibernateJpaDialect applies timeout onto native Hibernate Transaction before begin call
* Spring's Hibernate support is now compatible with Hibernate 3.5 beta 1 as well
* Spring's JPA support is now fully compatible with JPA 2.0 as in EclipseLink 2.0.0.M7
* SpringJUnit4ClassRunner is now compatible with JUnit 4.5, 4.6, and 4.7
* SpringJUnit4ClassRunner once again supports collective timeouts for repeated tests
* deprecated @NotTransactional annotation for test classes in favor of @BeforeTransaction








:
Posted by 행복상자