달력

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. 2011.09.14 Twitter REST API (1)
  2. 2011.09.10 GRails 대한 나의 생각... 2
  3. 2011.07.30 GRails 개발 환경 만들기 - Spring Tool Suite
  4. 2009.10.20 Byte and Bit에 대해서...
2011. 9. 14. 18:32

Twitter REST API (1) 공부하는 것/Twitter API & Twitter4j2011. 9. 14. 18:32

아주 오래전, 사실은 몇 년전(3~4년전?)인것 같다. 
Twitter를 처음 사용하면서, Twitter의 Open API와 정책들을 살펴보다가, Twitter4J라는 Twitter API를 자바에서 쉽게 사용할 수 있는 라이브러리를 접했었다.
그 당시 몇개의 Library를 검토하다가, 일본인이 만들었더 Twitter4J가 여러가지로 사용하기도 쉽고 적합하다고 판단했었는데, 최근에 개인적으로 다시 살펴볼 일이 있어서, 다시 코드를 분석하게 되었는데, 내가 이전에 기억하던 코드와 전혀 다른 코드들로 구성되어 있었다.

클라스와 메스드들은 모두 Interface로 정의하고, 이를 구현하도록 Class 들이 Re-factoring 되어져 있었다.
코드들도 깔끔하게 정리되어 있고, 정비되어져 있었고, 예제들도 모두 셈플 소스코드를 포함해서 기능별로 나주어져 있었다. (지난 몇년동안 개발자가 많은 노력과 수고를 했던것을 볼수 있었다. 고맙네...) 

아마도, 추측컨데 Twitter4J가 지원하는 플랫폼들이 다양화되면서, 인터페이스와 구현 클래스로 재 구성을 한것으로 보인다. 프레임워크의 패키지 구성을 보면, Google App Engine와 Android 단말을 지원하기 위해서 자바 Package등으로 나누어져 있다.

이를 분석하기 위해서는 먼저 Twitter의 REST API 정책을 다시 한번 살펴 볼 필요가 있다. 지난 2년동안 여러가지 정책이 바뀌고 새로운 기능들이 추가 되었을 것으로 보인다.
전체를 다 살펴보기는 힘들것이고, 개발자 가이드 먼저 살펴 봐야 겠다.


 

'공부하는 것 > Twitter API & Twitter4j' 카테고리의 다른 글

Twitter REST API (2)  (0) 2011.10.24
:
Posted by 행복상자
2011. 9. 10. 09:28

GRails 대한 나의 생각... 공부하는 것/GRails2011. 9. 10. 09:28

내가 RubyOnRails를 처음 알게된 것도 괘 오래전 이었던 것 같다.
2008년 이후로, ROR을 비롯해서, RedRails와 JRuby, Groovy를 개인적인 흥미로 인해서 설치해 보고 사용해 보기도 했지만, 그렇게 오래가지는 않았던 것 같다.

 왜냐하면, 내가 주로 하고 있는 업무는 JAVA 기반의 서비스이다보니, JAVA Virtual Machine위에서 동작해야 하고, 이를 보다 효율적인 측면에서 활용하기 싶었기 때문에, ROR을 직접 이용하기 보다는 다르지만 같은 환경에서 이용해 보고 싶었기 때문이다.

ROR의 쉽고 빠른 개발을 내가 하고 있는 프로젝트에 적용을 한다면, 생산성의 향상과 직관적인 관리를 통해서 보다 효과적이고 효율적으로 프로젝트를 진행할 수 있다고 생각했기 때문이다. (사실은 개발 시간을 줄여서 개발자들이 편해질까하는 순수한 의도와 흥미도 있었다.)
그러나, 개인적인 프로젝트라면 모를까, 팀 프로젝트와 실 운영을 위한 프로젝트 적용에는 많은 어려움들이 수반되고, 안정화와 검증되지 않은 부분에 대한 책임등을 고려할 때, 적용이 쉽지 않았기 때문에 프로젝트에서는 사용하지 못했었다.

GRails를 처음 접하게 된것은 2009년 상반기 였던것 같은데, ROR과 JRuby와 비교하면 굉장히 앞선 무엇이 있다라고 생각하지 않고, 또하나의 메이져는 아니지만, "흥미로운 프로젝트가 또 하나 나왔구나"라는 생각뿐, 큰 감흥은 없었던 프로젝트 였다.

그러가다, SpringSource에서 개발하고 있는 Eclipse기반의 개발툴인 Spring Tool Suite을 사용하다 보니, 
Grails와 Groovy를 쉽게 플러그인으로 설치할 수 있도록 되어 있어서, 설치해서 사용해 보게 되었는데, ROR과 같이 자동으로 Scaffolding해주고, Springframework를 사용할 수 있도록 해주고, groovy 대신에 java를 사용할 수 있다는 것이 마음에 들었다.
 

그리고, 기본 내장되어 있는 in-memory DB인 Hbase와 Tomcat를 통해서 Grails 프로젝트 생성과 동시에, Deploy해서 테스트 할 수 있는 환경이 바로 제공된다는 것이 무척 마음에 들었었다.

단, 새로운 파일들의 생성과 빌드를 위해서 HDD의 I/O가 많아서 불필요한 시간이 든다는 점과, Plug-in간의 
Dependency에 대한 문제가 있어서 인지, 일부 플러그인은 정상적으로 업데이트가 안되곤 했다.
특히, STS를 이용할 경우는 여러가지 편리한 점이 많지만, STS에 대한 Dependency로 인한 Plug-in의 업데이트가 정상적으로 진행되지 않았기 때문에, 문제점 해결에 많은 시간을 보내곤 했다.

그러다가, STS 2.7 버전이 나오면서, 기존에 2.5와 2.6버전에서 가지고 있던 Dependency 문제를 어는 정도 해결해 주었는데, 이직도 Plugin에 대한 Dependency문제가 있다. 특히, Hibernate와 Tomcat은 기본 프로그인으로 설치시 포함되어 있지만, Google App Engine SDK 설치를 위해시, 이들 플로그인들이 정상적으로 제거되지 않는 문제들을 가지고 있고, STS를 종료하고, 수동으로 삭제해주어야 한다.
 

사실, 이는 Grails의 문제가 아니라, STS와 윈도우즈7간의 권한의 취득에 대한 것이므로, 직접적인 책임은 없으나, 제대로된 IDE의 지원은 절실하다.

GRails는 STS의 지원 없이도 사용이 가능하지만, IDE를 이용하는 것은 생산성을 위해서 이기 때문에, 이를 이용하는 것이 사용하지 않는 것보다 이득이 크다.
Ggrils를 통한 개발에서 STS를 이용하지 않는 다는 것은 굉장히 불편한 길을 찾아서 걷는다라는 기분이 든다. 자바 개발에서 사용하던 라이브러리들도 그대로 이용이 가능하므로, 자바로 개발하던 개발자에게는 추가로 개발을 위해서 들여야 하는 학습 시간을 많이 필요로 하지 않기 때문에 이전에 Eclipse를 사용하던 개발자라면, STS를 설치하지 않고, Plug-in 만 설치해서 개발이 가능하다.
하지만, 나는 개인적으로 Eclipse를 설치하는 것보다는 STS를 설치하는 것이 낫다고 생각한다.

올 10월 정도에는 GRails 2.0이 새로 나온다.
여러가지 다양한 Featuer들의 변화가 였보이는데, 어제인가 보니 Grails 2.0 M2버전이 Release 가 되었던 것 같다.
 



 
:
Posted by 행복상자
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 행복상자