Java, C, C++, Clojure, 등 여러 언어와 Dart 언어의 특징을 비교해서 설명합니다.



http://www.infoq.com/presentations/dart-introduction

http://localhost:8080으로 화면을 확인하면 이제 올릴 준비가 되었습니다.


app이 있는 폴더 상위에서 다음과 같이 명령을 입력합니다. 구글 계정 로그인하면 앱이 올라갑니다.

appcfg.py update helloworld/


explorer http://khcuweb.appspot.com 입력하면 IE가 뜨는데, 브라우저 인코딩을 UTF-8로 변경하면 제대로 보입니다. 크롬브라우저에서는 잘 보입니다.


관련: https://developers.google.com/appengine/docs/python/gettingstartedpython27/uploading

다음과 같은 에러 메시지를 만나면 당황하게 됩니다.

  File "C:\Program Files\Google\google_appengine\google\appengine\tools\devappserver2\wsgi_server.py", line 31, in <module>

    from cherrypy import wsgiserver

  File "C:\Program Files\Google\google_appengine\lib\cherrypy\cherrypy\__init__.py", line 70, in <module>

    from cherrypy import _cptools

  File "C:\Program Files\Google\google_appengine\lib\cherrypy\cherrypy\_cptools.py", line 245, in <module>

    from cherrypy.lib import cptools, encoding, auth, static, jsontools

  File "C:\Program Files\Google\google_appengine\lib\cherrypy\cherrypy\lib\static.py", line 7, in <module>

    mimetypes.init()

  File "C:\Python27\lib\mimetypes.py", line 358, in init

    db.read_windows_registry()

  File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry

    for subkeyname in enum_types(hkcr):

  File "C:\Python27\lib\mimetypes.py", line 249, in enum_types

    ctype = ctype.encode(default_encoding) # omit in 3.x!

UnicodeDecodeError: 'ascii' codec can't decode byte 0xb1 in position 9: ordinal not in range(128)



C:\Python27\Lib 폴더의 mimetypes.py 249번째 줄에서 발생한 에러입니다.


편집기로 열어서 지우거나 앞에 #을 붙여서 주석처리합니다.

끝!


추가로 메모장에서 한글을 사용하는 경우, 파일 > 다른 이름으로 저장 메뉴를 선택하고 인코딩을 UTF-8로 저장하는 것을 추천합니다.


안녕, World! 보기 쉽지 않네요.



관련 글: http://stackoverflow.com/questions/4237898/unicodedecodeerror-ascii-codec-cant-decode-byte-0xe0-in-position-0-ordinal/4238212#4238212



구글 앱엔진 시작하기 윈도우XP 편


구글 앱엔진 애플리케이션 업로드



윈도우에서 구글 앱 엔진을 돌려 봤습니다. 파이썬으로 작업을 하면서 삽질을 조금했기 때문에 기록을 남겨봅니다. 현재 구글앱엔진은 파이썬 2.7을 공식 지원합니다. python 3.x은 지원하지 않습니다. 때문에 python27을 다시 설치했습니다.(삽질1)


절차는 다음과 같습니다.

part 1 앱 엔진 등록

1.1 http://appengine.google.com/ 사이트에 구글 계정으로 등록을 합니다. 휴대폰인증이 있습니다.

1.2 앱엔진 애플리케이션을 만듭니다. Application Identifier(예, khcuweb)가 정해지면 http://khcuweb.appspot.com 로 접근하게 됩니다.


part 2 로컬 개발환경

2.1 구글앱엔진 SDK 파이썬 버전을 다운로드 받아서 설치합니다.

2.2 http://python.org 사이트에서 Python 2.7을 다운로드 받아서 설치합니다.

2.3 환경 변수 > 사용자 변수 Path에 C:\Program Files\Google\google_appengine\ 경로 추가된 것 확인

2.4 환경 변수 > 시스템 변수 Path에 C:\Python27;C:\Python27\Scripts; 경로를 추가합니다.


part 3

3.1 helloworld.py 만들기

3.2 app.yaml 만들기

3.3 dev_appserver.py helloworld.py 실행하기 

윈도우 XP에서 UnicodeDecodeError 발생하는데, 이에 관해서는 다음 글에 올리겠습니다.












http://api.jquery.com


  1. Ajax
  2. Attributes
  3. Callbacks Object
  4. Core
  5. CSS
  6. Data
  7. Deferred Object
  8. Deprecated
  9. Dimensions
  10. Effects
  11. Events
  12. Forms
  13. Internals
  14. Manipulation
  15. Miscellaneous
  16. Offset
  17. Properties
  18. Removed
  19. Selectors
  20. Traversing
  21. Utilities
  22. Version



## 소스

http://code.jquery.com/jquery-1.11.0.js


http://jsbeautifier.org 에서 정리


## 전체 구조

(function(g, f){console.log(g + f)}(3, 4));
7


## functions and prototypes



### init

    // Give the init function the jQuery prototype for later instantiation

    init.prototype = jQuery.fn;

### Tween.prototype.init

    Tween.prototype.init.prototype = Tween.prototype;


### Sizzle



### setFilters



### jQuery.fn.init



### jQuery.Event



### Tween






자바스크립트에서 어렵다고 생각하는 개념이 hoisting 입니다.




function abc() {
    var a = 'bbb';
    console.log(a) //  ---- 1
    function c() {
		console.log(a); // --- 2
		(function() {
             console.log(a); // --- 3
	         a = 'ccc';
        })();
        var a;
        console.log(a) // ---4
    }
    function d() {
	    console.log(a); // --- 5
//	    var a = 3;
    }
    c();
    a = 'ddd';
    d();
};
MacBook-Pro:~ kenu$ node --version
-bash: node: command not found
MacBook-Pro:~ kenu$ brew link node
Linking /usr/local/Cellar/node/0.10.24... Warning: Could not link node. Unlinking...

Error: Could not symlink file: /usr/local/Cellar/node/0.10.24/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/zlib.js
Target /usr/local/lib/node_modules/npm/node_modules/sha/node_modules/readable-stream/zlib.js already exists. You may need to delete it.
To force the link and overwrite all other conflicting files, do:
  brew link --overwrite formula_name

To list all files that would be deleted:
  brew link --overwrite --dry-run formula_name
MacBook-Pro:~ kenu$ brew link --overwrite node
Linking /usr/local/Cellar/node/0.10.24... 1190 symlinks created
MacBook-Pro:~ kenu$ node --version
v0.10.24
MacBook-Pro:~ kenu$ npm --version
1.3.21


http://blog.jquery.com/2014/01/24/jquery-1-11-and-2-1-released/


하이라이트

1. 클래스 변경 시 성능향상

2. 세세하게 모듈화된 jQuery 커스텀 빌드

3. 시작 오버헤드 낮춤

4. npm 통해서 배포 https://npmjs.org/package/jquery/

  npm install jquery 로 설치 가능

  npm install jquery@1.11

5. bower 통해서 배포

  bower install jquery 로 설치 가능

6. 기본 배포시 map 호출 제거



image from: http://teerapuch.wordpress.com/2011/09/13/intro-jquery-วิธีเริ่มต้นกับ-jquery/


일간워스트가 오늘 핫이슈입니다. 일워( http://ilwar.com ) 사이트는 일베처럼 놀지 말자고 만든 일종의 패러디 사이트입니다. 제로보드로 뚝딱 만들어서 올렸다가 레이니걸님은 트위터를 주로 이용하는 것으로 알고 있는데, 15분만에 호스팅의 트래픽을 넘어섰다고 합니다.

우여곡절을 일간워스트 개장기(http://blog.rainygirl.com/?p=1266)라는 블로그 글로 올리셨는데, 여기에서 기술적으로 배울 점이 아주 많이 있다고 생각합니다.


블로그의 기술적인 내용을 요약해 봅니다.

1. "어짜피 XE 로 사이트 만드는거 10분이면 끝나는데 간단히 해볼까"

2. "15분만에 접속자가 몰리며 호스팅업체의 CPU제한이 초과되어 호스팅이 정지"

3. "유료호스팅으로 일단 옮겨보았습니다. 민영화버튼도 넣고, 일베로고를 그대로 본딴 로고도 적용"

4. "30일 아침, 파이낸셜뉴스에 첫 기사가 나갔습니다.

그리고 네이버 실시간급상승검색어에 이틀 가까이 올라가 있었습니다."

5. "순방문자 백만명은 진작에 돌파했고, 앞자리까지 계속 바뀌며 동시접속자까지도 폭발하고 있었으니 저로서는 황당할 수 밖에 없었습니다."


6. "유료호스팅에서도 결국 트래픽 초과로 사이트가 내려갔습니다. 결국 고민끝에, 자체서버로 돌리기로 결심했죠."

7. "둘쨋날인 12월 30일, 그 트래픽에서 정확히 3배가 늘어났습니다"

8. ...


이하 기술적인 이야기들은, 오늘 저녁 방송에서 특집으로 꾸며집니다.

http://afreeca.com/kenuheo



레이니걸님 새해 복 많이 받으시기 바랍니다.

존경합니다.

+ Recent posts