2011년도말 슬라이드이지만 아직도 Spring Framework3를 사용하는 곳이 많으므로 아직도 볼만한 자바 웹개발 시작하기 슬라이드 모음

(현재 2013년 12월경에 Spring Framework 4.0이 나왔지만 아직 4.0대로 완전히 넘어가지 않았고 3.0과 비슷한 점이 많으니 3.0쪽을 많이 보면 됨. 2.0에서 3.0으로 넘어갈때 @(annotation)으로 바뀌면서 완전 바뀌고 3.0에서 4.0으로 넘어갈때엔 xml를 가급적 피하고 java단에서 처리하려는 느낌이 많이 듦)


Buy me a coffeeBuy me a coffee

Python기반의 Flask Link정리

Summary Link Python-based Flask 


Flask 공식 문서 - http://flask.pocoo.org/docs/

Flask 공식 문서 한국어 번역 - http://kswa.codingstar.net:14705/html/index.html


Flask 테스트 해보기

Testing Flask Applications http://flask.pocoo.org/docs/testing/

Flask 어플리케이션 테스트하기(한국어번역)- http://kswa.codingstar.net:14705/html/testing.html

Flask는 아니지만 Flask에서 단위 테스트(Unit test)를 하기 위해서 Python의 unittest 모듈을 사용함.

The Python Standard Library: unittest — Unit testing framework http://docs.python.org/2/library/unittest.html


Flask-Testing 모듈

http://pythonhosted.org/Flask-Testing/


Flask tutorial for RESTful API

http://scriptogr.am/myevan/post/flask-tutorial-for-restful-api


Flask Pattern 심화

Advanced Flask Patterns https://speakerdeck.com/mitsuhiko/advanced-flask-patterns-1


Buy me a coffeeBuy me a coffee


아니 이게 뭐시당께? 이게 뭐꼬? 이게 뭐에유? 이게 뭐야? 這是什麼? 这是什么? 何それ? What is it? 


Psy(싸이)의 "강남스타일(GangNam Style)"에 영감을 얻어 만들어진 자바스크립트 프레임워크 Opa(오빠)가 있습니다

Opa(오빠)와 개발을 해보세요 :)

Opa framework는 이름으로 인기를 노린건가? -_-;;


추가. opa는 2011년도에 이미 있었다는데, 싸이의 강남스타일이 뜨면서 저렇게 변했다는 제보가 있었습니다


ps. 이거 뭐야! 싸이의 강남스타일이 서양인들에게 얼마나 강력하게 다가왔으면, 뇌리에 심하게 박혀있어! 

어튼 서양인들에게 강남스타일이 정말 인기가 있는건 확실함

Buy me a coffeeBuy me a coffee

웹 프레임워크의 역사

이 그림은 2010년 초에 제작되어 새로운 내용은 아니지만, 어떤 식으로 웹 프레임워크들이 생기거나 변화되었나를 볼수 있는 그림입니다.



History of Web Frameworks

ps. Spring 3.0으로 처음 개발을 하다보니 시행착오를 많이 겪은지라 정리를 해야하지만 차마 블로그에 올리긴 어려울듯. (누군가 C&P로 내용 도용하겠지 -_-;;)

Buy me a coffeeBuy me a coffee

스프링 프레임워크(Spring Framework)에서 빈(Bean)의 생활 주기(Life Cycle)


Java Bean을 자바섬의 커피콩으로 생각하면...... -ㅁ-

Buy me a coffeeBuy me a coffee

2011년 9월 5일~9월 8일간 미국에서 열린 DjangoCon US 2011 행사에서 사용한 슬라이드를 아래 링크에서 받을 수 있습니다.



Django는 Python기반의 웹 프레임워크로, 현재 저와 같이 스터디를 하고 있는분들끼리 열심히 작업하는 프로젝트에서 잘 쓰고 있습니다.



Buy me a coffeeBuy me a coffee

Android Platform의 기본 개념에 대해서 매우 깔끔하게 정리한 문서


Android Platform의 4부분인 Kernel, HAL(Hardware Abstract Layer), Libraries, Application Framework를 구분하여 설명을 하였음


Android Internals Reference

http://code.google.com/intl/ko/android/

http://groups.google.com/group/android-internals

http://www.android-internals.org/

http://groups.google.com/groups/profile?enc_user=_EKOshMAAADzFnauhYxa0ga8JtF8CI5fWMj6vob75xS36mXc24h6ww

http://groups.google.com/groups/profile?enc_user=lYDbNxEAAAD8uJiqPP7Wd-bc9b1O3waCkdEasx1kiYTQavV7mdW13Q


Buy me a coffeeBuy me a coffee

저는 SKT로 출시된 hTC Desire를 사용하고 있습니다.

그러나 hTC Desire에 SKT USIM대신 KT USIM을 넣고 사용중이였지요.

우연히 KT SHOW 홈페이지에 있는 SHOW Store(쇼스토어)에서 Google NexusOne용 쇼앱스토어 이벤트가 열리는 걸고 NexusOne과 쌍둥이 폰인 Desire에도 설치를 하면 되겠구나 해서 설치를 해보게 되었습니다.  


KT에서 Google NexusOne을 출시한 후에, KT에서 나온 WM폰인 삼성 쇼옴니아와 LG 라일라 2개만 지원하고 WM 어플만 있던 SHOW Appstore에서 Android용 앱도 지원을 하게 되었습니다.

안드로이드용 쇼 앱스토어가 나왔다는 이야기는 Android OS에서 KT의 과금 모델을 지원하는 프레임워크인 KAF(KT Application Framework)가 완성되었다는 이야기일수도 있겠군요.

 KT에서 나온 KAF는 악명이 자자한 SKT의 SKAF와는 다르게 쇼앱스토어에 접속할 수 있는 인터페이스 역할을 하고, 보통 앱처럼 다운로드 받아서 설치하는 식의 그냥 단순히 쇼앱스토어를 이용할 수 있게 해주는 앱일뿐입니다.


 http://appstoresupport.show.co.kr:8080/store.html 에서 안드로이드용 쇼앱스토어 파일을 받아 설치하게 되었습니다.

안드로이드폰에 쇼 앱스토어 한방에 설치해봅시다.


설치파일을 다운 받아 실행하면 아래와 같은 화면이 나오면서 설치가 됩니다.


설치가 끝난후, 메모리 차지 용량을 보니, SKAF와 다르게 용량을 작게 먹더군요. SKT의 SKAF는 뭔가 이상한 ㅎㄷㄷ 


참고로 SKAF의 용량은 아래와 같이 프로그램들어 여러개 깔리며 어마어마한 용량을 차지합니다 orz

SKAF를 설치하면 TStore관련 어플들이 여러개 설치되며 엄청난 용량을 차지합니다.


쇼 앱스토어를 설치하고 나서 실행하면 아래와 같은 화면이 나옵니다.

쇼앱스토어(SHOW Appstore) 초기화면


SHOW Appstore(쇼 앱스토어) 초기화면


앱을 선택할수도 있으며 앱 선택후에 다운로드도 가능합니다.


물론 앱을 구입할수도 있으며 앱을 구입을 위한 성인인증도 보입니다.

19세 미만 경고 - 성인인증

앱 구입 화면



안드로이드용 쇼앱스토어에 접속해본 결과, 아직 초기 단계라 경쟁업체인 SKT의 Tstore보다 앱이 매우 적습니다.

그러나 Tstore와 다르게 Show Store는 앱 단위에서 꼭 설치해야한다는 것이 별로 없다는게 단말기 개발자들에겐 장점? SKAF와 다르게 요구하는 수준이 적기때문에 휴대폰 폰 최적화 하는데에 문제점이 없을듯 합니다.
(참고로 SKT에서 처음으로 나온 안드로이드폰인 모토로이는 WIPI까지 지원하는 SKAF를 넣다 보니 휴대폰 용량중 90M가 SKAF를 차지하였고, 폰 최적화가 덜된 상태로 나와 엄청난 욕바가지를 먹었습니다)

KT에서 Android용 단말기를 많이 출시하면 Show Appstore(쇼앱스토어)도 많이 사용될것 같습니다.

이상으로 안드로이드용 KT Show Appstore(쇼앱스토어) 앱 리뷰였습니다^^

Buy me a coffeeBuy me a coffee

에이콘출판사 - 웹 개발 2.0 루비 온 레일스

웹 개발 2.0 루비 온 레일스
카테고리 컴퓨터/인터넷
지은이 황대산 (에이콘출판, 2007년)
상세보기

 예전에 루비가 대세라는 말이 뜨면서 작년인 2007년 12월 20일에 사본 책이다.

책에 있는 예제를 따라하면서 루비가 엄청 쉽구나를 알게 되었지만, 프레임워크(Framework)이라는 용어도 생소하고, MVC라는 용어도, Model, View, Controller[각주:1]의 역할에 대해 이해 못한채로 따라만 하고 덮은 책이였다.

Ruby라는 언어라는 것을 처음 알게 된 책이면서, 책을 열심히 보면서 Ruby란 언어가 예전에 써보았던 Perl의 강력한 정규표현식처리, Prolog의 함수형 프로그래밍언어의 내용, C++, JAVA에서 볼 수 있는 객체지향성을 통합시킨 것을 알게 되었다.

Perl을 써보면서 강력한 문자 처리에 감동하고 이번 학기 프로그래밍 과제하는데 Perl을 가지고 파일 옮기고 유사도 검사를 해보았던 생각을 해보면서 루비로도 해볼까라는 생각을 해보았다. Prolog와 같이 다른 함수를 정의하는 함수를 정의하는 함수를 작성하는 프로그래밍기법을 사용하여 다양한 종류의 함수 정의를 자동화 시키는 기법에 대해서도 신기하게 느꼈다.
(프로그래밍언어 시간에 Prolog로 과제 하다 함수정의하다 이해안되는 부분때문에 몇일동안 고생한 기억이 나서 Prolog에 대해서 기억이 안좋다만, Ruby를 다뤄보니 Prolog과 유사한 부분이 많아서 신기했음)

프로그래밍 언어인 Ruby의 문법을 보면서 일본사람이 정말 Ruby란 언어 잘만들었다는 생각이 들었다.

이분이 Ruby를 만드신 마츠모토 유키히로(松本 行弘, Yukihiro Matsumoto)

이번에 다시 루비언어를 다시 기억을 다시 되살린다고 책을 다시보게 되었다. (루비를 써봐야 하는 입장이 되어서 급하게 책을 펼쳐보았다.)

책에 있는 예제를 그대로 따라하는데에 오류가 생긴 것이다. ㅠㅠ

책에 있는 내용대로 따라해서 ruby 1.8.4를 설치한 다음에 rails를 gem으로 설치하는 것인데 gem으로 rails를 설치하면 책에서 설치하는 것 같은 rails-1.2.2가 설치되지 않고 rails-2.0으로 설치되는 것이다.
rails-2.0으로 설치가 되니 rails-1.2에서 없는 문제가 생겼다.

그것은 책에서 쓰는 scaffold가 rails-2.0에는 없다는 치명적인 에러이다.

그래서 책의 예제를 따라하기 위해서는 책에 있는 내용을 아래와같이 수정을 해야할 것 같다.

c:\> gem install rails --include-dependencies

현재 위에서 같이 쓰여진 책의 내용을 쓰면 rails-2.0이 깔려져서 책의 예제를 따라하기 어렵다. 책의 예제를 따라하기 위해서 (특히 scaffold 부분의 경우) 레일스 1.2.3을 다시 설치해야 한다.

c:\> gem uninstall rails
c:\> gem install rails --version '= 1.2.3' --include-dependencies

위의 설치명령어로 설치를 하면 책에 있는 예제가 잘 될 것이다.

책은 잘 써진 것 같은데 버전 문제가 껄끄럽긴 합니다. 책 쓸 당시에는 이렇게 바뀔줄은 몰랐기 때문이라고 생각됩니다.

Ruby on Rails를 프로그래밍을 해야할 상황인데 Ruby를 빠르게 배우고 싶다면 이 책을 추천하긴 한데 책의 내용을 약간 바뀌어서 내야 할것 같다.

아래는 Rails Framework에 대한 출판사의 설명이다.

[ 레일스 프레임워크에 대해 ]

레일스는 루비 프로그래밍 언어로 만들어진 웹 개발 프레임워크로 덴마크의 데이빗 해너마이어 한슨(David Heinemeier Hansson)에 의해 2004년 7월 처음 공개되었다. 지난 3년간 레일스는 전 세계적으로 빠르게 확산되어 왔으며, 현재까지 레일스로 구축된 B2C 사이트만도 수백여개에 이르고 있다.

레일스가 이처럼 빠른 성공을 거둘 수 있었던 데에는 몇 가지 이유가 있다. 첫째로 오늘날의 웹 개발은 너무나도 복잡해져서 수많은 개발자들이 웹 개발에 넌더리를 내고 있었다. 자바, PHP, .NET 등 개발 환경을 막론하고 많은 웹 개발자들은 뭔가 새로운 것을 시도해 볼 마음의 채비를 하고 있었다.

둘째로 레일스는 개발자의 생산성을 획기적으로 높여 준다. 레일스는 ORM(객체/관계 매핑, Object/Relational Mapping), 코드 생성(Code Generation), 메타프로그래밍 등 최신 프로그래밍 기법을 사용해 개발자가 코딩에 들이는 시간을 현저히 줄여주고 있다. 비슷한 코드를 계속해서 반복적으로 작성하는 일은 개발자의 사기를 떨어뜨리는 일이다. 레일스는 위에서 언급한 프로그래밍 기법을 활용하여, DRY(반복적인 코딩 작업은 피하시오, Don’t Repeat Yourself) 원칙을 적극적으로 장려하고 있다.

셋째로 레일스는 웹 2.0 애플리케이션의 개발에 최적화된 프레임워크이다. 레일스에는 Ajax와 웹 서비스 개발을 위한 컴포넌트가 포함되어 있어서 웹 2.0 서비스를 구축하는 작업을 매우 편리하게 해준다. 실제로 레일스에서는 Ajax 애플리케이션을 개발하기 위해 자바스크립트를 직접 코딩하는 일은 하지 않아도 된다.

마지막으로 레일스를 사용한 웹 개발은 즐겁다. 지금 이 글을 읽는 독자는 다소 회의적인 생각이 들지도 모르겠지만, 이는 레일스를 접해본 수많은 웹 개발자들의 공통된 반응이다. 이 책을 통해 독자 여러분이 레일스가 선사하는 즐거운 웹 개발의 세계를 발견하게 된다면 필자는 그보다 더 큰 보람이 없을 것 같다.
  1. MVC에 대해서는 소프트웨어공학시간에 나오는 개념이다. Model, View, Controller의 약자로서 애플리케이션 코드를 기능별로 분산하여 관리하는 프로그래밍을 말한다. 코드를 분산해서 관리하는 이유는 용도에 따라서 코드의 형태나 구성이 달라지기 때문이다. 결국 이렇게 코드를 나눠 작업함으로써 코드를 좀더 효율적으로 관리하게 되면서 프로그래밍 개발이 효율적으로 진행된다. 자세한 내용은 소프트웨어공학책에 나옵니다. (뇌이버 검색하면 MVC패턴에 대해서 나옵니다.) [본문으로]
Buy me a coffeeBuy me a coffee

NHN UIT Center Ajax UI Lab 에서 만들었다는 아이언맨 패러디 동영상 이라고 하더군요

저는 Firefox유저, Opera유저에 Windows와 Linux를 같이 쓰는 유저라 Naver에 접근하기가 엄청 힘들어요.
Firefox에서 Naver서비스를 접속할 때에 제대로 화면을 안보여줄때마다 정말 즐!이라는 말까지 했을 정도니까요.
Naver Blog같은 경우는 화면이 제대로 나오지 않아서 짜증냈던 적이 한둘이 아니군요.
(Daum같은 경우는 웹표준 준수하면서 Firefox에서도 보이게끔 해줘서 Daum을 많이 쓰긴 합니다만 ;;)

동영상을 보니깐 아이언맨 패러디에 웃고 Naver에서 야심차게 웹표준을 준수하겠다는 의지를 볼수있군요.
이번에 네이버가 Firefox, Safari까지 지원한다니까 기대하겠어요.

동영상을 보니깐, 네이버에서는 야근하면 80만원준다고 하군요. (우리가 아는 S기업에서는 야근비 80찍는사람이 널렸다고 하더군요 -_-;;)
그런데 야근비를 80만원까지 받을려면 야근을 하루종일 밥먹듯 일상이 되어야 받는 걸로 알고 있는데 네이버 직원분들은 야근을 밥먹듯 하여 프로젝트 결과를 낸 것 같은 느낌이 들군요.

Jindo/Jindo2는 네이버에서 사용하는 자체 개발한 JavaScript Framework 이라고 하네요. (요즘 Project로 하고 있는 Open Source Project인 Sakai Project에서 쓰는 struts Framework와 Spring Framework를 분석하면서 머리가 돌이 된 것처럼 사람 죽이던데 Naver에서 Jindo/Jindo2 Framework를 만든 사람들은 정말 야근비 80만원찍어났을듯 ㄷㄷㄷ)
죽어라 야근을 했을 Naver직원분들께 대단하다고 생각됩니다.

ps. 네이버 취직해서 돈 많이 벌어보고픈 생각이 들군요 ㅎㅎ

'끄적거림' 카테고리의 다른 글

Norton Fighter  (0) 2008.07.29
휴대폰으로 과연 통화만 할까요?  (0) 2008.07.11
내 이름은 성대현.  (1) 2008.05.27
클라나드(CLANNAD) 오염도 체크  (1) 2007.11.15
추석엔 방에 콕 박혀있다.  (3) 2007.09.22
Buy me a coffeeBuy me a coffee

+ Recent posts