| 백번 올으신 말씀! 마땅히 비교라 함은 여러 측면에서의 측정이 필요하죠. 그런데 저렇게 단순 연산이라니! 이따금씩 외국 블로거들이 포스팅한 글들을 보면 굉장히 전문적이고 상세하게 제대로 되어있다는 느낌을 받는데 그럴때마다 스스로 반성이 ㅡㅜ |
'2009/12'에 해당되는 글 14건
- 2009/12/29 Nginx에 대한 제대로 된 평가
- 2009/12/29 i386, i586, i686, x86, x86_64의 차이점
- 2009/12/29 조언이란 ( Advice )
- 2009/12/28 쩌리짱 인형(Chuckle Buddies Plush - Dog)
- 2009/12/23 로보코드 ( Robocode )
- 2009/12/22 phpQuery
- 2009/12/19 PHP 템플릿 엔진 스마티 ( PHP Template Engine Smarty )
- 2009/12/19 호오 터치
- 2009/12/13 아마존 상품 광고 API ( Amazon Product Advertising API ) (1)
- 2009/12/10 구글 스피드 트레이서 ( Google Speed Tracer )
Posted on 2009/12/29 12:20
Filed Under Development
Posted on 2009/12/29 10:54
Filed Under 분류없음
| 리눅스 패키지 깔때마다 궁금했는데 먼가 풀리는, 잘못깔면 의존성에러까지 난다는... 아 어려운 리눅스의 세계여~ |
Posted on 2009/12/29 09:40
Filed Under It's my life
| 조언이란... 배움이나 경험, 지식이 있는 사람이 없는 사람에게 도움을 주는 말이다. 우리는 이따금식 어떤 유명한 교수들의 강의를 TV, 혹은 강당에서 보고는 한다. 우리는 어째서 그들의 말을 믿을까? 그들은 '교수'라는 타이틀로 해당분야에 많은시간을 할애해 많으 배움이 있는 사람들이기 때문이다. 우리는 흔히 아랫사람, 주변인들에게 마치 내가 배움이 많은 사람처럼 조언한다. 하지만 잘 생각해보자. 내가 과연 그사람보다 나은 사람인가? 더 많이 배우고 더 많이 경험하였으며 충분히 조언이라는것을 할만한 사람일까? 그렇지않다면 그것은 다만 잔소리일 뿐이다. 잔소리를 네이버 국어사전에서 찾아보면
|
Posted on 2009/12/28 16:58
Filed Under 분류없음
| 어째서 이런이름이 붙었는지는 모르겠지만, 귀옆다... 사고싶다 ㅠ_ㅠ 그렇지만 가난한 인생... 인형따위로 사치부릴수 없어! |
Posted on 2009/12/23 18:25
Filed Under Development/Java
로보코드란 자바코드로 로봇을 만들어 경쟁하는겁니다. 그 과정에서 자바에 대해서 배울수도 있고 창의력도 키울수 있다고 하는군요 -_-실제 구동화면![]() 이렇게 저 로봇 하나하나가 클래스 입니다. robocode.Robot을 상속해서 구현해주시면 되는데요 우리 홍만님의 코드를 보면 import robocode.Robot; import robocode.ScannedRobotEvent; public class HongManChoi extends Robot { public void run() { while (true) { ahead(100); turnGunRight(360); back(100); turnGunRight(360); } } public void onScannedRobot(ScannedRobotEvent e) { fire(1); } } 간단하죠? 설명을 드리면 run 메소드안의 코드는 로봇의 움직임입니다. ahead는 앞으로~ trunGunRight 총을 우측으로 back은 뒤로 등입니다. 그리고 onScannedRobot은 적이 발견되었을경우 fire! 이구요 저 단순한 동작을 반복하면서 상대 로봇과 전투하게 됩니다.
최종 승자는 터미네이터 -_- 3위한 로봇은 다운로드 받은녀석인데 올해 최악의 로봇 머 이런건가 전혀 힘을 못쓰네요 ㅋㅋ 다운 받으셔서 바로 실행하면 됩니다. 후후 |
||||||||||||||||||||||||||||||||||||
Posted on 2009/12/22 16:57
Filed Under Development/PHP
| phpQuery는 jQuery를 PHP로 포팅한것입니다. jQuery의 거의 모든 기능이 가능하며 가장 좋은것은 CSS3 셀렉터가 있다는 겁니다. 해서 이걸로 사이트를 파싱하는 작업을 할수 있죠 간단하게 예제를 보면
my-xhtml.html에서 태그 p를 찾고 또 ul를 찾아 배열로 만들고 그 내용을 출력하는겁니다. GWT에서 동작하는 GQUERY라는 프로젝트도 있던데 jQuery는 정말 여기저기 잘도 퍼져있군요 ㅋㅋ |
Posted on 2009/12/19 12:11
Filed Under Development/PHP
| 이번에는 PHP의 템플릿 엔진인 스마티가 실제 페이지에서 어떻게 쓰일지 예제로 한번 봅시다 에서 다운로드 받을수 있고 메뉴얼도 구할수 있습니다. 변수의 출력기본적으로 $smarty라는 변수로 스마티 객체를 만들었다면 다음과 같이 할수 있습니다. PHP 코드$smarty->assign('subject', "제목");템플릿{$subject} 이렇게 하면 '제목' 이 해당 위치에 출력됩니다. 리스트의 출력보통 가장 많이 쓰이는게 게시판의 리스트 출력이나 상품들의 리스트 출력입니다. '배열'도 위에서 처럼 어싸인 할수 있습니다. PHP코드$rows = $db->fetchAll("SELECT * FROM product LIMIT 0, 20"); $smarty->assign("products", $rows); 템플릿{foreach from=$products item=$i key=$k} <tr> <td>{$i.subject|truncate:40}</td> <td>{$i.price|number_format}</td> </tr> {/foreach} 위에서 truncate는 글자수까지 자르는 스마티 플러그인입니다. 밑에 number_format 은 눈치채셨겠지만 3자리마다 , 를 찍어주는 함수구요 |
Posted on 2009/12/19 12:10
Filed Under Development/Flash
| 어여 나오면 멋진걸 많이 만들수 있을텐데요!! 기대하고 있는중!! 빨리 CS5가 나오기를... |
Posted on 2009/12/13 18:07
Filed Under Development/Java
|
간만에 제대로된 기술적인 포스팅이네요 ㅡㅜ 이번에는 아마존 상품 API를 다뤄볼까 합니다.
우리나라의 오픈마켓 쇼핑몰들 처럼 아마존도 API를 제공하는데요 아무래도 우리나라에는
관련문서가 없더군요. 해서 이번 포스팅에서 한번 다뤄볼까 합니다.
라이센스 얻기
아마존 상품 API를 이용하려면 아마존에 가입하여 Access Key ID 와 Secret Access Key가 있어야 합니다. 우측 상단에 Create an AWS Acount 를 클릭하여 계정을 만듭니다. 계정만드는건 복잡하지 않습니다. 아이디는 이메일로 입력합니다. 가입후 로그인을 합니다. 우측 상단의 Your Acount > Security Credentials 로 들어갑니다. Access Credentials 밑에 보면 Access Keys 라고 해서 액세스 키들이 있습니다.Secret Access Key 에서 show를 해보면 Secret Access Key를 볼수 있습니다. 현재는 한 계정에 2개를 생성할수 있습니다. 물론 가입절차가 간단하여 여러 이메일로 생성할수 있습니다. 한 KEY당 하나의 아이피에서만
사용할수 있기 때문에 더 필요하다면 계정을 생성하거니 돈을 지불해야 합니다. 이렇게 Access Key ID 와 Secret Access Key 를 기억해둡니다. 물론 외울수는 없으니 C&P!
요청 분석 웹서비스에는 많은 오퍼레이션들이 있지만 오늘 예제로 쓸 ItemSearch 와 ItemLookup에 대해 살펴보겠습니다. ItemSearch는 흔히 쇼핑몰들에서 '리스트'페이지 역할을 합니다. 한번에 10개의 상품을 가져올수 있고
총 400페이지까지 진행이 가능합니다. ItemLookup은 상세페이지라고 보시면 되구요
많은 인자들이있지만 기본적인 인자로는 Keyworlds, Title 등의 '검색 속성'으로 보시면 되겠습니다. 이걸 지정해야
실제로 검색이 됩니다. 또 ItemSearch와 ItemLookup 공통으로 쓰이는 ResponseGroup 는 받을 데이터를 지정하는것입니다. 아무것도 지정하지 않을경우 최소의 정보가 리턴됩니다.
ItemLookup에서 가장 중요한 인자는 ItemId 입니다. 여기에는 ASIN이라는 코드가 들어가는데 아마존에서 상품을 구분하는 유일한 값입니다. 이것을 지정해줘야 정상적으로 상품의 정보를 가져옵니다.
샘플코드 얻기
샘플코드로 가보시면 Java, PHP, Ruby, C#, Perl 등 다양한 언어로 된 코드들이 존재합니다. 각자 구미에 맞는 언어를 선택하시면 되는데 각 언어별로 특성이 좀 있을뿐 기본적은 동작방법은 비슷합니다. 제가 실무 작업할때는
PHP를 주로 사용했지만 이번에는 자바로 작업해보다록 하지요.
아 그리고 Product Advertising API Signed Requests Helper 는 Access Key ID와Secret Access Key로 실제 서비스 요청 URL를 만들어주는 페이지입니다. 여기서 먼저 테스트 해보셔도 좋습니다.
제가 사용한 코드는 이겁니다. 그런데 2009년 12월 12일 현재 이 코드는 제대로 동작하지 않습니다. SignedRequestsHelper.java 에서 183 줄
Base64 encoder = new Base64(0); 처럼 바꿔야 제대로 동작합니다.
또 위 코드는 org.apache.commons.codec.binary.Base64 를 사용하기때문에 아파치 라이브러리중에 다운받아 세팅해야합니다.
에서 바이너리를 다운로드하여 프로젝트에 세팅합니다.
ItemLookupSample.java 에서
private static final String AWS_ACCESS_KEY_ID = "AKIAJVTU6YAIEJI26SGA";
/*
* Your AWS Secret Key corresponding to the above ID, as taken from the AWS
* Your Account page.
*/
private static final String AWS_SECRET_KEY = "CbLiKWY8ycHdNMWQ2eoVi12oE6ISxiJcFbFK6R0O";
/*
* Use one of the following end-points, according to the region you are
* interested in:
*
* US: ecs.amazonaws.com
* CA: ecs.amazonaws.ca
* UK: ecs.amazonaws.co.uk
* DE: ecs.amazonaws.de
* FR: ecs.amazonaws.fr
* JP: ecs.amazonaws.jp
*
*/
private static final String ENDPOINT = "ecs.amazonaws.com";
/*
* The Item ID to lookup. The value below was selected for the US locale.
* You can choose a different value if this value does not work in the
* locale of your choice.
*/
private static final String ITEM_ID = "B001666E4I"처럼 바꿉니다. 실행하면
처럼 나오면 성공입니다. 위상품은 우리 소녀시대의 1집 입니다. ㅎㅎ
위에서 Operation=ItemLookup 부분을 보시면 오퍼레이션이 ItemLookup입니다. 즉 상품 하나의 정보를 보는것이지요 쇼핑몰로치면 상품 상세페이지 정도가 되겠네요. 그럼 상품 리스트 페이지를 해봐야겠죠? 그런데 몇가지 제한사항이 있습니다. 첫째 한번에 불러올수 있는 리스트의 수가 10개입니다. 또한 최대 400페이지까지 호출 가능하지요 머 제한사항이라고 보기도 민망하지만, 여튼 해봅시다!
샘플코드에 리스트를 부르는 부분은 없으니 만들어야 합니다. 일단 ItemLookupSample.java 를 C&P하여 ItemSearchSample.java 로 만듦니다.
다른부분은 다 똑같지만
요청하는 부분이 다릅니다. 오퍼레이션이 ItemSearch 로 바뀌고 SearchIndex 는 일종의 카테고리 개념으로 보시면 되구요 Keywords 가 소시입니다. 후후 TotalPage 값도 주고 Page값을 요청할수 있기때문에 일반적으로 하는 페이징 처리도 아마존 서비스로 가능합니다.
위와 같이 나온다면 성공입니다!
다른언어들도 각 언어의 특성을 따를뿐 요청하고 XML을 처리하는 방법으로 진행됩니다. 단순히 상품 정보뿐만아니라 장바구니 API도 제공하고 있어 실제로 아마존 사이트에 들어가지 않고도 주문까지 구현할수 있습니다. 재미있겠죠~
아래는 지금까지 진행한 예제입니다. 라이브러리도 넣어놨으니 바로 실행해보실수 있지만 키값들을 넣으셔야 합니다.
by takeone |
Posted on 2009/12/10 13:44
Filed Under Development
| 웹 계발을 하다보면 확실히 '분석툴'이 적다고 느낀다. 응용 프로그램들은 IDE수준에서 지원해주고 또 분석까지 해줘서 병목지역이나 리소스를 많이 잡아먹는곳을 쉽게 잡을수 있다. 해서 그간 파이어버그와 YSLOW 로 분석하곤 했다. 헌데 최근에 구글에서 Spped Tracer 라는 웹페이지 성능 분석 툴이 나와서 설치해봤다. 에서 설치를 하고 위 문서에 들어가보면 알겠지만 chrome 을 실행할때 --enable-extension-timeline-api 옵션이 뒤에 붙어야 한다. 위에서는 바로가기 문서의 속성에 지정했다. 이미 크롬 4에서부터는 개발자를 위한 툴( 파이어버그 같은 )이 존재하므로 이 둘을 이용하면 파이어버그 & YSLOW 콤비를 대체할만 할것이다. |

Terminator.7z