2009년 12월 24일 목요일

아이폰 강좌

 

 

스프링노트에서 문서 올리기 테스트 중입니다. ..  이문서는 완료 되지 않았습니다.

Objective-C

 

 

참고

http://www.otierney.net/objective-c.html(영문)

 

 

이 글은 스프링노트에서 작성되었습니다.

2009년 12월 2일 수요일

git는 사용할만 한가? G..

git는 사용할만 한가?


Git는 cvs, svn 같은 프로젝트 관리 툴이다. 장단점이 있겠지만 둘 보다 좀더 나은 성능을 보인다고 한다.

svn 처럼 기본적으로는 커멘드 모드에서 명령으로 실행 되는 프로그램이다. 

편리하게 사용할수 있도록 대표적으로 아래의 둘과 같은 GUI Client 가 제공되고 있다.

windows 에는 tortoiseGit 가 있고 osx 에는 gitX 가 있다. 
tortoiseGit

gitX


Git 사용자 설명서(커멘드 명령어) 에는 한글로 설명된 자료들이 있고, gitX 매뉴얼 에는 영어로 된 설명 매뉴얼이 있다. 

로컬에서 커밋을 하고 서버와 동기화 되는 방식을 사용하므로 svn처럼 커밋하고 기다리지 않아서 좋고, 브랜치와 머지 방식이 좀 더 개선된것 같다. 

참고



2009년 11월 13일 금요일

Objective-C


iphone_hand-266x300.png



Objective-C의 기본적인 클래스 형태는 아래와 같다 .

[code]
//선언
@interface Song:NSObject
{
NSString *name; // 인스턴스 변수
NSString *age;
}
- (NSString*) name; // 인스턴스 메소드
- (NSString*) age;


//사용
Song mySong; //선언

[mySong name];

[/code]


Objective-C는 동적인 언어
런타임시에 객체가 변할수 있음.
id 라는 모든 객체를 포인팅 가능한 형이 있음 void와 유사함

Objective Messaging
메세지를 보낸다는 의미로 표현함

호출법
[receiver message]
받을 대상

비교
[myRect setWidth:10.0 height:17.0] <- 적용방법
- (void) setWidth:(float)width  height:(float) height  <- 메소드 형태

Polymorphism 다형성
연산자 오버로딩은 지원하지 않음



2009년 10월 16일 금요일

jing 스크린 캡쳐 프로그램 (mac)

맥에서도 사용이 편리한 동영상 캡쳐 프로그램



동영상을 찍어서 바로 올리는 기능도 있군요.
youtube 에 올리려면 pro버젼을 구매 해야 하는거 같습니다

2009년 9월 23일 수요일

파이썬에서 웹페이지 긁어 오기

php에는 아래와 같은 snoopy 라는 강력한 라이브러리가 있다.
[강좌] php용 강력하면서 쉬운 소켓(socket)클래스 , Snoopy

 

파이썬에는 없는 것일까? 찾아 보자.

1. BeautifulSoup 이라는 라이브러리가 있음.

2. 1.의 라이브러리는 느리다는 평이 있다.  아래는 직접 작업하기

[파이썬마을]특정 웹페이지의 링크의 일부 가져오기 (기본적인 답변)

[파이썬마을]urllib 모듈로 그림까지 가져오려면?? (쓸만한 답변코드 있음)

#! /usr/local/bin/python
# ex:ts=4
import urllib, urlparse
import re, os.path, os
urlfind1 = re.compile(r'[<](\w*)[^>]*[Ss][Rr][Cc]=([^"\' ]\S*)[^>]*[>]')
urlfind2 = re.compile(r'[<](\w*)[^>]*[Ss][Rr][Cc]=["\']([^"\']*)["\'][^>]*[>]')
def recurget(url, got=None, depth=0):
    if got is None: got = []
    print "   "*depth + "Getting %s ..." % url
    content = urllib.urlopen(url).read()
    urls = urlfind1.findall(content) + urlfind2.findall(content)
    filepath = urlparse.urlparse(url)[2][1:]
    try:
        os.makedirs(os.path.dirname(filepath))
    except OSError:
        pass
    open(filepath, "w").write(content)
    for tag, target in urls:
        turl = urlparse.urljoin(url, target)
        print "   "*depth + " + Tag found (%s to %s) => %s" % (tag, target, turl)
        if turl not in got:
            got.append(turl)
            recurget(turl, got, depth+1)
if __name__ == "__main__":
    import sys
    for url in sys.argv[1:]:
        recurget(url)

 

Python File Read Write with Urllib2

android 3D engine

동영상은 흐리다.  더 밝은 동영상이 youtube에도 아직 없다.
Video overcast. This youtube video has not yet even brighter.

http://rokon-android.blogspot.com/

http://code.google.com/p/rokon/

2009년 9월 19일 토요일

2009년 9월 11일 금요일

App Engine 기본구조 - 간단예제

 

기본 구조는 세 부분으로 구성되어 있다.

1. RequestHandler 클래스로 하나이상의 요청과 답변 처리

2. WSGIApplication 인스턴스로 URL을 통해 들어오는 요청을 처리

3. CGI Adapter로 WSGIApplication 메인루틴 실행

 

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app


class MainPage(webapp.RequestHandler): #클래스 선언
  def get(self): #함수의 선언
    self.response.headers['Content-Type'] = 'text/plain'
    self.response.out.write('Hello, webapp World!')
    #여기가 함수의 종료점(파이썬은 띄어쓰기로 구분)
 
#'/' 로 들어 오는 요청을 MainPage 클래스와 연결
application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)

def main(): #메인루틴 실행 함수
  run_wsgi_app(application) #위에서 선언한 application을 실행함.

if __name__ == "__main__":
  main()
 
결과:
 

[관련글]
Hello, World! - Getting Started: Python - Google App Engine 
파이썬 구글 엡엔진 이클립스 개발환경 
Google App Engine 

2009년 9월 2일 수요일

ARCHOS 안드로이드 타블렛 PMP

Archos 타블렛 PMP 안드로이드 버젼

Archos 안드로이드 테블릿 가격이 16GB ($293), 32GB ($369), 160GB ($319), 500GB ($419)로 결정

아래는 이전 버젼 리뷰 - 성능은 괜찮은것 같음
























배터리는 얼마나 가는지가 매우 궁금함.


[관련글]

요즘 안드로이드 개발에 푹빠지다 

안드로이드 API Demos : Views/Animation 

안드로이드에서 720P 비디오 구동화면 


2009년 8월 24일 월요일

Windows7 x64에서 안드로이드 드라이버 설치

64비트 윈도우7에서 안드로이드 개발을 하려고 하면 드라이버 설치가 문제가 되었다. 가상 XP mode를 깔아서 버벅대는 환경에서 작업을 하다가 드디어 해결 방법을 찾았다. ^^

 

아래의 사이트에서

http://www.junefabrics.com/android/index.php

64 bit build 라는 링크의 파일을 받아서 설치한다.

 

단말기는 연결하지 않고 설치 하다가 중간에 연결하라는 메세지가 나오면 그때 연결하면 된다.

 

폰위에 익스플로러 모양이 있는 실행 아이콘이 생긴다. 트레이에 실행 되어야 제대로 연결이 되는것 같다.

설치후 커멘트 창에서 'adb devices' 실행해서 디바이스 실행하면

image

설치된 디바이스가 보여진다.

 

그리고 이클립스를 실행하면 개발환경 완성.. ^^ 야호~

2009년 8월 23일 일요일

신종플루 대비 어떤 마스크 사는게 좋을까?

신종플루의 감염이 확산 되는 가운데 적어도 자신과 가족을 보호할 기본적인 대비를 해야 할것 같아 우선 인터넷에서 구매 가능한 마스크에 대해 알아 보았다.

 

뉴스에서는 N95 마스크를 사용하라고 하는데 N95 란 무엇일까?

N95마스크란 미국국립산업안전보건연구원(NIOSH)의 기준에 의거한 방진(바이러스 및 박테리아를 포함한 입자상 물질을 걸러주는 기능) 필터 등급 중 하나로, N은 Not resistant to oil(비 오일성 입자), 95는 필터 효율이 최소 95% 이상을 의미한다.

그러면 국내의 등급기준은 어떻게 되어 있을까?

한국에서는 한국산업안전보건공단(KOSHA)에서 등급을 승인, 미국식 분류체계가 아닌 유럽식 분류체계를 사용한다. 사용장소에 따라 2급, 1급, 특급 (유럽 등급 분류 FFP1, FFP2, FFP3에 해당)으로 나눠서 등급을 부여하고 있으며, 분진포집효율이 2급은 80.0%, 1급은 94.0%, 특급은 99.0% 이상 걸러낼 수 있어야 한다.

국내에는 어떤 제품이 있나?

N95 마스크로는 유한킴벌리 DIVA마스크 M10, 크린가드X-302, 3M 8210이 있으며 N95급 성능의 대체용으로는 한국산업안전보건공단기준 1급 이상이면 비슷한 효과를 볼 수 있다고 한다.

 

가격 비교 사이트를 보면 아직은 가격이 상대적으로 저렴한 황사 대비 인증 마스크들이 판매 상위에 올라 있다. N95라는 마크가 찍혀 있는건 아래 제품인것 같은데 벌써 품절이 되거나 가격이 올라 있는것 같다. image 

 

1급 이상의 제품이면 비슷한 효과를 볼수 있다고 하니,

구매를 할 때에는 제품의 등급을 잘 확인 해야 한다. 

 

필자는 제품분류가 잘 되어 있는 사이트가 3M이라서 3M사이트의 분류를 보고 가격이 오른  8210 보다  한등급 높은 1등급의 제품을 몇 개 구매를 했다. (3M을 광고 하는건 아님)

image

3M의 8822 마스크 같은 경우 직접 본사 직원에게 문의를 해보니, 미국국립산업안전보건연구원의 N95 승인을 받은 건 아니지만 용도도 같고 성능은 더 개선된 것이라고 한다.

 

너무 호들갑 떠는 것 이라 생각 할 수도 있지만

나중에 가격이 더 오르거나 없어서 구하지 못하는 것 보다는 대비를 하는게 나을 것 같다.

 

평소 손을 자주 씻고 양치하는 청결유지도 예방에 한목 한다고 하니 개인 위생에 주의 하자.

빨리 전염병이 잠잠해 졌으면 좋겠다.

2009년 8월 22일 토요일

Android Dev 폰 공장 상태로 만들기

http://www.htc.com/www/support/android/adp.html 아래 사이트에 가면 내용이 나온다.

혹시나 했더니 일반 G1폰은 되지 않는거 같다.

 

Android Dev Phone

Attention!
This update applies to the Android Dev Phone for developers only. The Android Dev Phone with its unique color and pattern can be seen here. This update will not work on the T-Mobile G1 or any other Android powered phone.

 

Android Dev Phone 만 되고

, 다른폰은 안된다는 경고 메세지가 보인다.

펌웨어는 어떻게 업데이트 해야 하는 것인지..  더 찾아 봐야 겠다..

.

2009년 8월 21일 금요일

파이썬 구글 앱엔진 이클립스 개발환경

 

 

pydev 업데이트 부터, 프로젝트 만들기, 디버깅, 업로드 까지 설명되어 있음.

2009년 8월 19일 수요일

Hello, World! - Getting Started: Python - Google App Engine

>Getting Started: Python > Hello, World!

 

Hello, World!

Python App Engine applications communicate with the web server using the CGI standard. When the server receives a request for your application, it runs the application with the request data in environment variables and on the standard input stream (for POST data). To respond, the application writes the response to the standard output stream, including HTTP headers and content.

파이썬 엡엔진 어플은 CGI 표준을 사용하여 웹서버와 통신을 한다. 서버가 어플의 요청을 받을 때, 지정된 값의 요청 데이터와 데이터 표준 입력 스트림(POST data)으로 어플을 실행한다. 응답시, 어플은 HTTP 헤더와 내용을 포함시켜 표준 외부 스트림으로 응답을 보낸다.

 

Let's begin by implementing a tiny application that displays a short message.

간단한 메세지를 보여주는 작은 어플을 시작해 보자

 

Creating a Simple Request Handler 간단한 요청 핸들 만들기

Create a directory named helloworld. All files for this application reside in this directory.

Inside the helloworld directory, create a file named helloworld.py, and give it the following contents:

helloworld 디렉토리를 만든다. 이 어플의 모든파일은 이 디렉토리에 존재한다. helloworld 디렉토리 안에 helloworld.py 파일을 만들고, 아래 내용을 넣는다.

 

print 'Content-Type: text/plain'

print ''

print 'Hello, world!'

 

This Python script responds to a request with an HTTP header that describes the content, a blank line, and the message Hello, world!

이 파이썬 스크립트는 공백과 Hello, world! 를 보여주는 HTTP 헤더를  응답한다.

 

Creating the Configuration File 환경파일 만들기

An App Engine application has a configuration file called app.yaml Among other things, this file describes which handler scripts should be used for which URLs.

Inside the helloworld directory, create a file named app.yaml with the following contents:

응용 프로그램이 어느 파일을 사용해야 하는지 app.yaml 파일에 구성되어 있다. 그중에 이 파일은 URL을 사용에 따른 핸들러 스크립트를 포함하고 있다. (ㅡㅡ;)

helloworld 디렉토리 안에 app.yaml 파일을 만들고 아래 내용을 넣는다:

 

application: helloworld

version: 1

runtime: python

api_version: 1

handlers:- url: /.*

script: helloworld.py

 

From top to bottom, this configuration file says the following about this application:

처음 부터 끝까지, 이 구성 파일은 이 어플에 대해 아래에 이야기하고 있다.

 

  • The application identifier is helloworld. When you register your application with App Engine in the final step, you will select a unique identifier, and update this value. This value can be anything during development. For now, leave it set tohelloworld.
    어플 식별자는 helloworld. 마지막 단계에 엡엔진에 당신의 어플을 등록할 때, 유니크한 식별자로 업데이트 해야 한다. 이 값은 개발 중이기 때문에 지금은 helloworld로 설정해 놓았다.
  • This is version number 1 of this application's code. If you adjust this before uploading new versions of your application software, App Engine will retain previous versions, and let you roll back to a previous version using the administrative console.
    이 버젼의 어플 코드 번호는 1이다. 만약 전에 업로드한 당신의 어플의 새 버전을 조절하려고 하면, 앱엔진은 이전 버젼을 계속 유지할것이고, 관리 콘솔을 이용하면 이전 버전으로 돌릴 수 있다. (관리 콘솔은 http://appengine.google.com에 접속)

 

  • This code runs in the python runtime environment, version "1". Additional runtime environments and languages may be supported in the future.
    이 코드는 버젼 '1' 파이썬 런타임 환경에서 실행한다. 추가 런타임 환경과 언어는 차후 추가될 예정이다.
  • Every request to a URL whose path matches the regular expression /.* (all URLs) should be handled by the helloworld.py script.
    정규 표현 /.* (모든 URL)의 경로에 대한 모든 요청과 일치하는 URL은 helloworld.py 스크립트를 거쳐야 함을 명시.

 

The syntax of this file is YAML. For a complete list of configuration options, see the app.yaml reference.
이 파일의 문법은 YAML이다. 구헝옵션의 전체 목록을 보려면 the app.yaml reference을 보라

 

Testing the Application 어플 테스트 하기

With a handler script and configuration file mapping every URL to the handler, the application is complete. You can now test it with the web server included with the App Engine SDK.

Start the web server with the following command, giving it the path to the helloworld directory:

핸들러 스크립트와 설정파일은 핸들러로 모든 URL이 맵핑되고, 어플이 완성된다. 지금 앱엔진 SDK에 포함된 웹서버로 테스트 할수 있다.  주어진 helloworld 디렉토리의 경로를 아래의 명령어로 웹서버를 시작하자

 

google_appengine/dev_appserver.py helloworld/

 

The web server is now running, listening for requests on port 8080. Test the application by visiting the following URL in your web browser:

웹서버가 시작 되면, 포트8080 으로 요청을 대기중이다. 웹브라우저에서 아래 URL로 방문해서 어플을 테스트 하자.

 

 

For more information about running the development web server, including how to change which port it uses, see the Dev Web Server reference, or run the command with the option --help.

포트를 바꾸는 등의 개발 웹서버의 실행에 대한 더 많은 정보는, the Dev Web Server reference 를 참조 하거나, -help 옵션과 함께 명령어를 실행 해 보라.

 

Iterative Development 반복 개발

You can leave the web server running while you develop your application. The web server knows to watch for changes in your source files and reload them if necessary.

웹서버가 개발중인 동안에도 어플을  실행할수 있다. 웹 서버의 소스파일의 바뀐 내용을 보려면 새로고침 해야 한다.

 

Try it now: Leave the web server running, then edit helloworld.py to change Hello, world! to something else. Reload http://localhost:8080/ to see the change.

시도해 보자 : 서버를 실행 상태로 , helloworld.py 의 내용을 Hello, world! 처럼 바꿔 보자. http://localhost:8080 으로 새로고침 하면 바뀐걸 볼 수 있다.

 

To shut down the web server, make sure the terminal window is active, then press Control-C (or the appropriate "break" key for your console).

웹서버를 종료하려면, 터미널에서 Ctrl + C 를 입력 (또는 콘솔의 break 키를 입력)

 

You can leave the web server running for the rest of this tutorial. If you need to stop it, you can restart it again by running the command above.

 

Next...

You now have a complete App Engine application! You could deploy this simple greeting right now and share it with users worldwide. But before we deploy it, let's consider using a web application framework to make it easier to add features.

Continue to Using the webapp Framework.

앱엔진을 어플을 만들어 보았다. 간단한 배포로 웹세상에 공유할수 있다. 배포전에, 원하는 기능을 쉽게 추가 할수 있는 프레임 워크를 사용해 보자. 프레임워크 사용하기로..

.

2009년 8월 17일 월요일

The Development Enviroment - Getting Started: Python - Google App Engine

>Getting Started: Python > The Development Enviroment

 

The Development Environment 개발 환경

You develop and upload Python applications for Google App Engine using the App Engine Python software development kit (SDK).

당신은 앱엔진 파이썬 소프트웨어 개발킷(SDK)을 사용한 GAE로 파이썬 어플을 개발하고 업로드한다.

 

The Python SDK includes a web server application that simulates the App Engine environment, including a local version of the datastore, Google Accounts, and the ability to fetch URLs and send email directly from your computer using the App Engine APIs. The Python SDK runs on any computer with Python 2.5, and versions are available for Windows, Mac OS X and Linux. (The Python SDK is not compatible with Python 3.)

파이썬 SDK는 로컬 데이터저장소, 구글 계정, 그리고 앱엔진 API들을 활용하여 당신의 컴퓨터로부터 URL를 가져오고 직접 이메일을 보내는 앱엔진 환경을 시뮬레이션한 웹서버를 포함하고 있다.  파이썬 SDK 파이썬 2.5가 가능한 윈도우, 맥, 리눅스라면 어떤 컴퓨터에서도 실행 할수 있다.(파이썬3과는 호환되지 않는다.)

 

If necessary, download and install Python 2.5 for your platform from the Python web site. Mac OS X 10.5 Leopard users already have Python 2.5 installed.

만약 필요하면, the Python web site로 부터 당신의 플렛폼에 맞는 파이썬2.5를 다운 받아 설치하라. 맥 OS X 10.5 레오파드 유저는 이미 파이썬2.5가 인스톨 되어 있다.

 

Download the App Engine SDK. Follow the instructions on the download page to install the SDK on your computer.

다운로드 the App Engine SDK. 컴퓨터에 설치하려면 다운로드 페이지의 설명을 따르면 된다.

 

For this tutorial, you will use two commands from the SDK:

이 설명서는 SDK에서 두가지 명령을 사용할 것이다.

  • dev_appserver.py, the development web server 개발서버 실행
    ex) dev_appserver.py [프로젝트폴더]
  • appcfg.py, for uploading your app to App Engine 어플을 앱엔진에 업로드
    ex) appcfg.py update [프로젝트폴더]    -> 앱엔진 가입되어 있는 구글계정 입력요구

 

For Windows users: the Windows installer puts these commands in the command path. After installation, you can run these commands from a command prompt.

윈도우즈 유저 : 윈도우 설치 프로그램이 시스템 path에 위의 명령어의 설치 경로을 추가한다. 설치후 명령어창에서 위의 명령으로 실행가능하다.

 

For Mac users: Google App Engine Launcher includes these commands with the application. You can put these commands in the command path by selecting "Make Symlinks..." from the "GoogleAppEngineLauncher" menu. Alternatively, you can use the Launcher to run the development web server and deploy your application instead of running the commands.(난 맥이 없음.. ^^; 곧 구해야 할텐데..)

 

If you are using the Zip archive version of the SDK, you will find these commands in the google_appengine directory.

만약 Zip 버젼 SDK를 사용한다면, google_appengine 디렉토리에서 명령어를 찾아함. (시스템 path에 추가하면 됨)

 

Next...

The local development environment lets you develop and test complete App Engine applications before showing them to the world. Let's write some code.

Continue to Hello, World!

로컬 개발 환경은 엡엔진 어플을 세계에 보여주기 전에 개발하고 테스트 할 수 있다. 몇가지 코드를 작성해 보자, Hello, World! 로 가기 ^^

.

Introduction - Getting Started: Python - Google App Engine

>Getting Started: Python > Introduction

 

Introduction 서론

Welcome to Google App Engine! Creating an App Engine application is easy, and only takes a few minutes. And it's free to start: upload your app and share it with users right away, at no charge and with no commitment required.

Google App Engine(이하 GAE)에 온것을 환영한다. 앱엔진 어플리케이션(이하 어플) 만들기는 쉽고, 단지 몇분의 작업으로 가능하다. 그리고, 무료로 시작할수 있다.

 

Google App Engine applications can be written in either the Java or Python programming languages. This tutorial covers Python. If you're more likely to use Java to build your applications, see Getting Started: Java.

GAE 어플은 Java 또는 Python 프로그램언어로 개발 가능하다. 이 설명서는 파이썬용. 만약 자바를 원한다면 Getting Started: Java. 보기 바람.

 

In this tutorial, you will learn how to:

이 설명서에서 배울 것:

 

  • build an App Engine application using Python    파이썬으로 어플만들기
  • use the "webapp" web application framework    웹어플구조인 "webapp" 사용하기
  • use the App Engine datastore with the Python modeling API 
    파이썬 modeling API로 GAE 데이터저장소 사용하기
  • integrate an App Engine application with Google Accounts for user authentication
    유저인증을 위한 구글계정과 GAE 통합하기
  • use Django templates with your app   어플에 Djange 구조 사용하기
  • upload your app to App Engine   어플 업로드

 

By the end of the tutorial, you will have implemented a working application, a simple guest book that lets users post messages to a public message board.

설명서가 끝날무렵,  당신은 사용자가 메세지를 쓸수 있는 간단한 게시판을 구현할 것이다.

 

To get started developing Google App Engine applications, you download and set up the App Engine software development kit.

GAE 어플 개발 시작을 위해서는 GAE 개발킷을 다운로드 해야 한다.

 

Continue to The Development Environment.

 

.

구글 엡엔진 시작하기 : 파이썬 버젼

개발준비중인 엡엔진의 원문을 번역하려한다. 의역과 오역이 난무 하더라도 너그러이 봐주시길.. 하다 보면 나은 결과물이 나올지도.. ^^;

 

Getting Started: Python

구글 앱엔진 시작하기 :  파이썬

This tutorial describes how to develop and deploy a simple Python project with Google App Engine. The example project, a guest book, demonstrates how to use the Python runtime environment, and how to use several App Engine services, including the datastore and the Google user service.

이 예제는 Google App Engine에서  간단한 파이썬 프로젝트를 어떻게 개발하고 배포 하는지 묘사하고 있다.  guestbook예제는 파이썬 런타임 환경에서 어떻게 운영하는지 보여주고 , 데이터스토어와 구글 유저 서비스 같은 몇몇 서비스를 사용법을 보여준다.

 

This tutorial has the following sections:

이 설명서는 아래 부분으로 구성되어 있다.

 

.

Google App Engine

~ Google App Engine

  • 시작하기
    • ~ GAE는 무엇인가?
      • 트래픽이 늘어나더라도 구글이 모두 관리 함, 어플리케이션 개발에만 신경쓰도록 해줌
      • 어플리케이션 환경
        • 샌드박스(모레상자)
        • 자바 런타임 환경
        • 파이썬 런타임 환경
        • 데이터저장
        • 구글 계정
        • 앱엔진 서비스
        • URL 가져오기
        • Mail
        • Memcache
        • 이미지 처리
        • 작업 스케줄과 작업 대기열
      • 개발 흐름
      • 할당과 한계
    • Java
      • ~ 서론
      • Java SDK 인스톨하기
      • 프로젝트 만들기
      • 유저서비스 사용하기
      • JSP 사용하기
      • JDO와 데이타 스토어 사용하기
      • Static 파일 사용하기
      • 어플리케이션 업로드
  • 추가링크

2009년 8월 7일 금요일

Windows7 64비트 쾌적함이 맘에든다

비스타가 깔린 코어2듀오 노트북을 사용하던 중 그 불편함 때문에 xp로 다운그레이드 하고 노트북이 열을 엄청내면서 씩씩 거렸는데, 제 기능을 다할수 있는 64비트 윈도7을 설치후에는 노트북 아주 쾌적하고 조용해 졌다.

 

테마기능도 참 맘에 든다. 이번 윈도7은 쾌적하다는 느낌이 몸에 확 와닫는다. 가끔 은행권에서 승인 화면이 띵띵 뜨긴하지만, 쾌적함 때문에 그정도는 애교로 봐줄만 하다.. ㅎㅎ

 

자동으로 배경이 바뀌는 테마~ 아 테마를 쓰면서도 xp 최고 성능 모드 보다 쾌적함이란... 64비트의 힘인가.

image

image

(듀얼 모니터로 이클립스에 안드로이드 에뮬레이터 띄운화면.. )

요즘 안드로이드 개발에 푹빠지다

요즘 안드로이드 개발에 푹 빠져 있다.

중고 G1폰도 이베이에서 한대 구매 했다. 언제나 오려나.. 기다려진다.

 

 


[관련글]

Android Dev 폰 공장 상태로 만들기 

안드로이드 어플리케이션 개발의 기본 

안드로이드에서 720P 비디오 구동화면 

Windows7 x64에서 안드로이드 드라이버 설치 


2009년 7월 23일 목요일

안드로이드 어플리케이션 개발의 기본

Android

  • Application Fundamentals
    • Key classes 중요 클래스
      • - Activity
        • 시각적 인터페이스를 위한 기본 클래스
        • View:사용자와 Activity의 대화장소
        • ContentView
      • - Service
        • 백그라운드
        • ex)음악재생
        • 실행중일때 연결(바인딩) 가능
      • BroadcastReceiver
      • ContentProvider
      • Intent
    • Application Components
      • Activating components:intents
      • shutting down components
      • The manifest file
      • Intent filters
    • Activities and Tasks
      • affinities and new tasks
      • Launch modes
      • Clearing the stack
      • Starting tasks
    • Processes and Threads
      • Processes
      • Threads
      • Remote procedure calls
      • Thread-safe methods
    • Component Lifecycles
      • Activity lifecycle
      • Service lifecycle
      • Broadcast receiver lifecycle
      • Processes and lifecycles

 

 

작업중...

[관련글]

Windows7 x64에서 안드로이드 드라이버 설치 

요즘 안드로이드 개발에 푹빠지다 

안드로이드 어플리케이션 개발의 기본 

ARCHOS 안드로이드 타블렛 PMP 

2009년 7월 20일 월요일

32bit dll을 64bit 에서 사용 가능한가?

목적

windows7  x64 에서 현재 개발 하고 있는 32bit dll을 x64 에서 에러가 나지 않고 돌아가게 하고 싶다.

 

몇몇 프로그램이 실행 되지 않고 에러가 났다. 개발환경 호환을 위해서 가상 XP mode를 테스트 중이긴 하지만 가상 환경보다  windows7에서 직접 사용해 보고 싶다.

 

Windows on Windows64 (일명 WOW64)라는 명칭으로 몇가지 글들을 찾아 냈다.

우선 아래 링크들이 그나마 관련성이 높은 것 같다.

 

관련 링크

64비트 응용 프로그램

Accessing 32-bit DLLs from 64-bit code

32-bit and 64-bit Windows: frequently asked questions

 

---- 업데이트 ----

[해결]

문제가 다른 곳에 있었다.. ㅡㅡ; 

Microsoft Visual C++ 2005 재배포 가능 패키지(x86) 를 설치 하면 된다.

 

opencv dll이 에러가 난 것이 아니라 dll 부르는 warapper 코드가 2005에서 컴파일 된 버전이라서 생긴 문제 인 것 같다.  기본 개념이 부족한 탓  이였구나. ㅡㅡ; ㅋ

 

Windows7 이번엔 좀 잘 만든것 같다.

XP mode Beta on Windows7

코어2듀오 노트북에 64비트 윈도우즈7 테스트 버젼을 깔아서 테스트 중이다. 역시 속도는 빠르다.

 

문제는 개발환경이 그대로 돌아 가는지가 관건인데, 우선 이클립스는 돌아 간다. 하지만 visual studio 2008은 설치도 되고 개발도 되는데 , 영상처리 라이브러리인 opencv dll이 32비트로 되어 있는 관계로 실행시 dll를 부르는 부분에서 에러가 난다.

 

내 노트북이 64비트를 지원을 하기 때문에 64비트를 꼭 쓰고 싶은데 어떻게 할까 고민하다가 XP mode라는 걸 찾았다. VMWare 처럼 가상으로 xp를 돌리는 게 가능하다. 오… 이거다.. ^^

 

우선 아래 사이트에 가면 다운을 받을 수 있다. 개발환경으로 가능한지 더 테스트 해 봐야 겠다.

 

http://www.microsoft.com/windows/virtual-pc/download.aspx

2009년 7월 15일 수요일

아이팟 터치 당첨 되다 : AdobeRia 리뷰 이벤트

image

자화 자찬

adoberia.co.kr 에서 하는 이벤트에 3루타로 당첨 되어 아이팟 터치를 받게 되었다.

다른 글 잘 쓰는 쟁쟁한 분들도 있는데 되었다니,

베타 및 트라이얼 버젼으로 몇 일 밤을 새웠는데 당첨되니 기분 무지 좋다. ^^

 

블로그 활성화와 이벤트를 겸해야 겠다고 생각해서 참가 했던 건데 결실이 생겼다.

예전에 봤던 로또보다 온라인 게임 보다 블로깅이 더 좋다[footnote]아마 애드센스의 붐이 생겼을때 쯤 봤던 글로 기억을 한다. 애드센스를 달면서 블로깅을 하면 로또보다 확률이 높고 온라인게임보다 훨씬 중독성 있으면서도 유익하다는 내용이었던 듯[/footnote]는 글이 문득 생각난다.

티스토리 있을 때 보다 텍스트큐브 넘어 와서 방문자도 늘고 댓글도 달리는 것이 점차 내 블로그가 활성화 되고 있는 듯 하다.(혹시 텍스트큐브 초대장 필요한 분은 비밀글로 메일 남겨 주세요^^ 13장 남았음)

 

글 솜씨를 더 늘려야

아래 이벤트 관련 글을 보면 동영상으로 만들었는데 이유는 도통 글쓰기가 쉽지 않다는 거다.

내가 쓰고도 다시 보면 왠지 이상한 것 같고 어법도 친근감 없는 거 같고[footnote]이렇게 생각하는 이유는 댓글 들이 잘 안 달려서 혼자 생각한 이유 중 하나[/footnote]

그래서 글읽기 및 쓰기 공부를 좀 더 해야 하겠다. 기술문서 아닌 책을 본지가 꽤 된 거 같다.

 

이벤트 당첨글

Flash Builder4 Beta에서 Google Map 구현하기

코딩없는 플래쉬 디자이너 Adobe Flash Catalyst

Flex4 SDK 이전 버젼에서 마이그레이션하기

 

[당첨자 발표]플래시 플랫폼 툴 베타 버젼 리뷰

 

 

[각주]

2009년 7월 7일 화요일

C#용 OpenCV

OpenCV란 영상 처리를 위한 라이브러리 오픈 소스이다.

 

그것을 C#에서 사용할 수 있도록 만들어 놓은 자료와 카페를 찾았다.

http://cafe.naver.com/opencvsharp.cafe

 

image

갖가지 영상 효과를 빠른 시간에 구현 가능하게 되었다.

 

OpenCV는 오래 전에 알게 되었지만

세부적인 것을 잘 기억 못하는 성격 때문인지 개발 해야 하는 것들 보다

포인터들이나  메모리 관리, 형 변환 들에 시간을 더 보내야 하는 상황이었는데..

 

C#이나 ActionScript은 C++ 보다 개발이 아주 유쾌하다.  ^^

 

아무튼 C# 으로 나름 편안한 영상처리를 한번 해보고 싶은 사람은 위의 카페를 추천한다.

 

Flash용 OpenCV도 한번 찾아 봐야겠다.

2009년 7월 1일 수요일

오~ 90달러 짜리 가정용 야간 투시경

 

90달러에 가정용 야간 투시경을 판매 하고 있군요

 

방범용이나 야간 등산이나 낚시에는 활용할 수 있을듯 시 왠지 하나 구매 하고 싶은데요.. ^^

EyeClops Night Vision Goggles

  • See up to 50 feet in complete darkness!  어둠 속에서 15 미터
  • Uses IR technology for monocular (right eye) night vision
  • Adjustable head strap - good for kids (ages 8+) and adults
  • Fits over many small frame glasses
  • Flip up eye piece (so you can see when the unit is turned off)
  • Green and B/W selectable viewing screen
  • Two sensitivity levels:
    • Stealth Mode - goggles operate at partial power for close proximity viewing
    • Surveillance Mode - goggles operate at full power and emit a barely visible ring of red light to let you see up to 50 feet away.
  • Batteries: Uses 5 AA (not included)  5개의 AA 건전지

 

 

 

 

이 제품을 판매 하는 출처 :

http://www.thinkgeek.com


[관련글]

h264 재생가능 haptic AMOLED phone 

테그라 플렛폼에서 증강현실 실행 화면 

안드로이드에서 720P 비디오 구동화면 

스키틀즈가 폭탄으로 - 증강현실 게임

테그라 플렛폼에서 증강현실 실행 화면 에 나왔던 증강현실 게임

 

헬리콥터에 타고 있다는 설정, 나중엔 스키틀즈 사탕이 폭탄으로 변함.. ^^

 

NVIDIA 테그라 플렛폼에서 실행한 화면

2009년 6월 30일 화요일

h264 재생가능 haptic AMOLED phone

햅틱 AMOLED 폰 영상

삼성의 앱스토어가 활성화가 된다면 좋은 어플리케이션들이 많아 지겠지만.

단말기의 가격이 너무 비싼 관계로 글쎄… 아무튼 하드웨어는 좋은 것 같다.

 

 


소개 자료

 

‘자체발광, 햅틱을 밝히다’라는 슬로건과 함께 소개된 햅틱 아몰레드(모델명 W850/W8500/W8550)는 180도의 넓은 시야각과 자연색감을 100% 가까이 표현하는 WVGA(800×480) 3.5인치형 AMOLED를 탑재한 제품이다. 한다.


‘햅틱 UI 2.0’(해외 터치위즈 UI 2.0)'이 새롭게 탑재되어 본체 하단의 육각형 버튼을 디빅스(DivX) 재생 기능을 탑재했으며,, H.264, MPEG4, AC-3 등 고화질 동영상 포맷도 지원 누르면, 3D 큐브가 나타나 앨범, 뮤직, 비디오 등 원하는 멀티미디어 기능 6개를 바로 구현할 수 있다.


손가락 하나만으로 화면 확대와 축소가 가능한 ‘원 핑거 줌’ 기능을 탑재해 앨범에 저장된 사진을 최대 10배까지 확대해서 볼 수 있으며, 메인메뉴 편집 기능을 통해 메뉴는 6페이지, 위젯은 3페이지를 사용빈도에 맞게 설정해 사용할 수 있다.

 

AMOLED

밝기의 핵심, 소비전력도 작아 졌는지 궁금함?

 

Divx 재생

H264 재생 지원이 기존의 기기들 보다 발전

 

원 핑거 줌

한 손으로 줌이 가능 하다고 하지만, 클릭을 한 뒤 잠시 기다려야 하는 상황이 좋아 보이진 않음.

모바일 어플을 위한 구글 애드센스

안드로이드와 아이폰용 모바일 어플리케이션을 위한 구글 애드센스가 베타 테스트 중이다.

 

모바일 수익 모델을 구상 중 모바일 웹 페이지로 구현을 해야 하나 고민 중 어플리케이션에 바로 달 수 있는 아이템이 생겨 선택의 폭이 더 넓어 졌다.

 

 

베타에 필요한 사항은

1. 최소 100k 하루 페이지뷰

2. 무료 어플리케이션만 가능

3. 안드로이드 또는 아이폰 어플

4. 지금 구현해서 4주 이내에 만들어 낼 수 있는

5. 최소 3개월 동안 참여 해야 함.

 

세부 사항을 살펴 보면

옵션이긴 하지만 타켓을 입력 하는 부분도 있다.

 

 

아이폰인지 안드로이드인지 선택 하도록 되어 있다.

Other가 있는걸 보니 베타 테스트 후에는 다른 플렛폼에서도 사용 가능 할듯.

 

 

확인은 여기에서

http://www.google.com/ads/mobileapps/index.html

.

2009년 6월 29일 월요일

구글 앱엔진 학습 - GWT예제

GAE(Google App Engine) 학습 하기

Google App Engine Java 시작하기 문서 의 내용만으로는 구조가 잘 이해가 안되던 상황에 Google Web Tookit - Getting Started 예제를 보게 되었다. 생각보다 쉽게 잘 되어 있다. ^^

 

Google Web Tookit - Getting Started 예제

 

예제 문서의 장점

제작 순서와 구조에 대한 설명이 짧은 영어 실력으로도 따라 하다 보면 숙지 할 수 있을 만큼 잘 만들어진 예제 같다. eclipse에서 plugin으로 작업가능하고 그냥 에디터로도 가능하도록 설명 되어있다.

 

제공하는 내용은 아래와 같다.

 

GWT에서 AJAX 어플리케이션 제작 프로세스

1. GWT 프로젝트 만들기

2. 어플리케이션 디자인하기

3. 유저인터페이스 만들기

4. 이벤트 제어

5. 클라이언트에서 코드 상관관계

6. 디버깅

7. 스타일 적용

8. 컴파일

 

따라 하다 보니 어느덧 구조가 이해가 되고 있다.. (금방 잊어 버리면 안 되는데…^^;)

테그라 플렛폼에서 증강현실 실행 화면

하드웨어의 성능발전에 힘입어 휴대용 단말기에서 증강현실을 실행 할 수 있는 시대가 다가 왔다.

소비 전력 1W 에 음악 재생이 25일 이라고 하니 놀만한 성능 및 효율을 갖추고 있는듯 하다.



테그라 기반 MID는 아래와 같은 성능을 갖추고 있다.

- 720p, 1080p 비디오 플레이백
- 한번 충전으로 며칠 동안 사용
- 완전한 Wi-Fi 및 3G 접속 가능
- 데스크탑 수준의 인터넷 경험을 위한 웹 2.0 어플리케이션을 지원하는 최적화된 하드웨어
- 윈도우 CE, 어플리케이션 뷰어, 풀 인터넷 브라우징, UI 프레임워크, 보드 서포트 패키지(BSP), 소프트웨어 개발 킷(SDK), 웹 메일 클라이언트 등을 포함한 완전한 소프트웨어 솔루션


출시 되는 단말기가 100달러 대를 형성하도록 할것이라고 하니 정말 기대가 된다.

 

테크라 플렛폼에서 증강현실 실행 화면

 

 

참고

증강 현실, 가상과 실재의 혼합 세계

 

증강현실을 잘 표현한 동영상

2009년 6월 25일 목요일

구글 AppEngine에서 이미지 파일 업로드

AppEngine 에서 파일 업로드 테스트

App Engine 에서는 파일 쓰기가 아닌 데이타베이스에 저장되어야 한다.

최대 사이즈 1메가바이트 까지 업로드 됨

 

분석하고 싶은 것

http://vladysla-vtserman.appspot.com/ 와 같은 파일 업로드 만들기

image 

참고 : gruops.google.com에 올라온 해당 토론

구글 그룹스 :

http://groups.google.com/group/google-appengine-java

 

QnA :

여러 형태의 데이터를 어떻게 처리 하나요?

내 애플 리케이션에 업로드 파일을 어떻게 처리 하나요?

http://code.google.com/intl/ko-KR/appengine/kb/java.html#fileforms

 

GWT (Google Web Toolket) 예제

http://gwt.google.com/samples/Showcase/Showcase.html#CwFileUpload

안드로이드에서 720P 비디오 구동화면

http://kandroid.org 에서 발견한 안드로이드에 관한 정보 하드웨어 DSP만 어느 정도 잘 구성하면

720P 동영상도 무난히 돌리는 군요.(당연한 얘기인가.^^;) 

아무튼 무료 이기 때문에 각종 단말기에서 활약 할 것으로 예상 되는 안드로이드 OS 입니다 .

 

image

http://www.youtube.com/watch?v=ERK6ETRytFM

 

 

TI OMAP3 Platform에서 Android1.5 를 올려서 H.264 720p 데모를 하는 동영상

OMAP3는 ARM CortexA8 600Mhz + DSP + 3D(10MPoly/s)가 내장된 CPU 라고 해요.  
 

“디코딩을 ARM에서 sw로하는걸까요?아님DSP에서 처리할까요” 라는 질문에

“DSP에서 처리 합니다. ARM 만으로는 720p급을 Decoding 할수는 없습니다. 단 Cortex에 있는 Neon을 사용해서는 가능하지만 아직 Neon Compiler가 완성되지 않았습니다. “ 라는 답변이 있습니다.

 

작은 단말기로 HD 영상을 즐길 날이 멀지 않았군요.. ^^

2009년 6월 23일 화요일

Flash Builder4 Beta에서 Google Map 구현하기

Google Map Flash에서 구현하기


이번 테스트의 주제 :  
    1. Illustrator 와 Flash Catalyst 와 Flash Builder4 Beta와의 협업 방법을 알아 본다.
    2. Goole Map 코드가 SDK3으로 되어 있으니 SDK4 용으로 마이그레이션 하기.

순서 :
    1. Adobe Illustrator 에서 디자인을 한다.
    2. Adobe Flash Catalyst 에서 ai 파일을 불러와 프로젝트 파일로 만든다.
    3. Flex Builder4 Beta에서 프로젝트 파일을 불러와 Google Map 코드를 추가 한다.

Flash4 Builder Beta에서 구현한 Google Map


Flash Builder4 Beta에서 Google Map 구현하기 동영상

(풀스크린 및 HD으로 보시면 텍스트가 잘 보입니다)



[관련글] 코딩없는 플래쉬 디자이너 Adobe Flash Catalyst

[관련글] Flex4 SDK 이전 버젼 에서 마이그레이션하기

2009년 6월 22일 월요일

구글 날씨용 open api

http://www.google.co.kr/ig/api?weather=seoul

구글에서 날씨를 넣기 위한 api 입니다.

지역명을 영어로 넣어야 하는군요.

한글로 사용하려면 비교 테이블을 따로 하나 만들어 써야 할 것 같습니다.

 

아래는 넘어 오는 결과 값입니다.

 

지역명 영어 단어 확인은

http://translate.google.com/?hl=ko# 여기서 하시면 됩니다.

2009년 6월 21일 일요일

Flex4 SDK 이전버젼 에서 마이그레이션하기

Flex3 에서 Flex4 beta로 마이그레이션 할 때 어떤 것들이 필요할까?

    

http://www.adobe.com/devnet/flex/articles/flex3and4_differences_02.html

테마의 변경에 따른 마이그레이션 방법에 대해 둘러 보았습니다.

위의 글에는 네임스페이스에 의해 유형을 선택하도록 되어 있다고 나와 있습니다.

    

Adobe 사이트의 Flex3와 Flex4 builder beta 시험버젼을 설치 후 비교해 보았습니다.

디자인에서 버튼 하나를 올려놓고 비교를 해보면

Flex3 에서는 xmlns (XML NameSpace)가 http://www.adobe.com/2006/mxml 을 mx로 선언하여 사용합니다.

    

    

Flex4 에서는 네임스페이스를 새로운 spark를 s로 선언해서 기본 테마로 사용하고 이전 버젼인 halo는 mx로 사용하도록 설정 되어 있으므로 모양과 사이즈가 다르게 나올것이라고 합니다.

    

이전 버전 halo 테마와 호환되도록 컴파일 하고 싶으면 –compatibility-version=3.0으로 설정을 하거나 halo.swc 파일을 소스 폴더에 복사를 하고 아래 –theme 옵션을 추가 해도 됩니다.

(처음엔 그냥 –theme=halo.swc만 추가 해 컴파일하니 에러나서, 폴더에 halo.swc 파일을 복사해 넣으니 되네요^^;)

 

기존의 <mx:Script> 같은 경우 <fx:Script>로 사용하면 되는 군요..

 

    

아래는 라이브러리 비교 화면 입니다.

추가된 라이브러리들과 테마 관련sparkskins.swc 가 보이는 군요.

    

기존의 코드를 사용하려고 할 때 테마 변경에 따른 마이그레이션 방법에 대해 알아 보았습니다.

다음에는 Catalyst와의 협업 방법에 대해 글을 써볼까 합니다.

 

[관련글] 코딩없는 플래쉬 디자이너 Adobe Flash Catalyst

[관련글] Flash Builder4 Beta에서 Google Map 구현하기

2009년 6월 18일 목요일

Rewind City

순간 순간 열심히...

코딩없는 플래쉬 디자이너 Adobe Flash Catalyst

코딩이 필요없는 Adobe Flash Catalyst 의 베타 버젼이 나왔습니다.
(아예 코드를 건드릴수도 없네요^^)

Flex SDK가 버젼 4 까지 나오면서 Flex Builder 가 Flash Builder 4로 명칭이 바뀌면서
이제 디자이너는 코딩에 신경쓰지 않고 기본적인 디자인을 할 수 있습니다.
코딩없이 간단히 만든 상호작용 Flash 예제


아래는 위의 Flash를 만든 과정을 동영상으로 만들어 보았습니다.
HD와 풀스크린으로 보면 텍스트가 잘 보입니다. ^^;


[관련글] Flash Builder4 Beta에서 Google Map 구현하기

2009년 6월 16일 화요일

Flex Builder가 Flash Builder로 바뀌는군요.

Flex가 Flash 와 통합 되고 있습니다.

30일 테스트 가능한 베타 버젼을 다운 받을 수 있습니다.
http://labs.adobe.com/technologies/flashbuilder4/

베타 버젼을 가지고 또 뚝딱 거려 봐야 겠네요.. ㅎㅎ



2009년 6월 6일 토요일

MSI WIND U100 키보드

MSI WIND U100 키보드

오른쪽 Shift 키도 큼직한게 3벌식을 쓰는 사람에게도 편리 할것 같습니다.

무료로 svn+trac 버젼관리시스템 사용하기

무료로 사용할수 있는 svn+trac 버젼관리시스템 사이트를 검색 하던 중 http://unfuddle.com/ 란 사이트를 찾았습니다.  Private 은 Free로 사용할 수가 있습니다. 두명의 개발자가 접속가능하고 아주 기본적인 기능만 제공하지만 아주 쓸만한 거 같습니다. 

프로젝트를 등록(오픈아이디 사용가능)하면 xxxx.unfuddle.com 처럼 도메인으로 바로 접근이 가능합니다. 전체 정보를 간략히 보여주는 dashboard와 projects 화면으로 나뉩니다. 

projects로 들어오면 project를 만들수 있고 trac과 연동하서 사용할수 있습니다. svn을 연결하는 주소도 생성됩니다. 서버가 해외 이므로 약간의 딜레이가 있지만 그래도 무난히 사용할만합니다. 공짜라서 모두 감수 해야죠.. ^^  
처음 프로젝트를 시작 할 때 한번 사용해 보기에 딱 좋은것 같습니다. unfuddle.com 이 원하는 것도 써보고 괜찮으면 유료로 전환해서 사용하는 것이 겠죠.. ^^ 

그럼 즐거운 프로젝트 들이 되시길 바래요~