본문 바로가기

2012/02

[HTML5 프로그래밍의 기초] 스마트폰용 HTML5의 기본 형태 [HTML5 프로그래밍의 기초] 스마트폰용 HTML5의 기본 형태 스마트폰의 화면 크기 스마트폰으로 HTML을 실행해보면 각 스마트폰마다 화면의 표시 영역 크기가 제각각인 것을 느낄것입니다. 스마트폰 별 화면크기는 다음과 같습니다. 기종 화면 크기(px) iPhone 3G/3GS 230*480 iPhone 4G 960*640 iPad 1024*768 삼성 갤럭시S 480*800 HTC 구글 넥서스 원 480*800 뷰포트 뷰포트(ViewPort)는 화면사이즈를 고려하지 않아도 자동으로 크기를 조절할 수 있습니다. 태그로 뷰포트를 설정할 수 있습니다. 표시 화면의 크기, 확대/축소 허용, 초기 표시 배율 등을 설정할 수 있습니다. 기본적인 형태는 다음과 같습니다. 더보기
[HTML5 프로그래밍의 기초] HTML 작성법 [HTML5 프로그래밍의 기초] HTML 작성법 가장 기본적인 HTML5는 다음과 같습니다. 작성한 코드가 HTML5라는 것 을 나타내기 위해 로 선언합니다. 그 후 문자 코드를 지정하고 제목과 내용을 입력합니다. 다음 코드를 Aptana Studio3에 작성하고 디버깅해 봅니다. HTML test 오늘은 맑음 디버깅한 주소로 iBBDemo2에서도 실행해 봅니다. 그럼 스마트폰에서 HTML5가 어떻게 표시되는지 볼 수 있습니다. 더보기
[HTML5 프로그래밍의 기초] 웹 기반 기술 [HTML 프로그래밍의 기초] 웹 기반 기술 HTTP 웹은 HTTP(HyperText Transfer Protocol)라는 프로토콜에 따라 서버와 클라이언트 간의 통신을 수행합니다. HTTP 통신은 클라이언트는 서버에 접속하여 필요한 파일을 요청하고 서버는 이 요청에 대해 응답을 한 후 접속을 끊는 형태를 가집니다. HTML HTML은 웹 페이지 기술을 위한 마크업(Markup) 언어로, HTML 태그를 통해 정보를 구조화 합니다. 정보를 구조화 한다는 것은 제목, 본문 등 각 부위가 어디에 해당하는지 지정한다는 것입니다. 태그는 자식 요소로 포함시킬 수 있기 때문에 계층구조로 문장을 표현할 수도 있습니다. 다음과 같은 태그를 계층구조 그림으로 나타내면... 과일 바나나는 노랗다 사과는 빨갛다 오렌지는 .. 더보기
[HTML5] Android SDK 설치 [HTML5] Android SDK 설치 Android SDK는 Android 스마트폰용 시뮬레이터 입니다. http://developer.android.com/sdk/ 에서 다운로드합니다. JDK를 설치하지 않은 경우 [Visit java.oracle.com]을 클릭해 JDK 설치 파일을 설치합니다. [NEXT]버튼을 계속 누르며 넘어갑니다. 설치가 완료됩니다. 설치 완료 후 Android SDK Manager에서 Install 할 Packages를 선택해 Install packages를 누릅니다. [Tools]-[Manage AVDs...]-[New] 버튼을 눌러 생성할 AVD 옵션을 지정하고 [Create AVD]버튼을 클릭합니다. 생성 후 우측에 있는 [Start]버튼을 눌러 실행합니다. 설치완료!! 더보기
[HTML5] iBBDemo2 설치 및 사용법 [HTML5] iBBDemo2 설치 및 사용법 웹 서버에 저장한 HTML5 웹 응용 프로그램이 실제 스마트폰에 어떻게 동작하는지 Windows 시뮬레이터를 통해 쉽게 확인합니다. iBBDemo2는 Windows용 iPhone/iPad 시뮬레이터 입니다. iBBDemo2 설치 http://www.puresimstudios.com/ibbdemo/에서 다운로드하고 실행합니다. iBBDemo2를 실행하면 iPad용 시뮬레이터가 활성화 됩니다. [Ctrl] + 2를 누르면 iPhone 시뮬레이터로 전환됩니다. 그리고 [Ctrl] + [ 더보기
[HTML5] Aptana Studio3 설치 및 사용 [HTML5] Aptana Studio 활용법 저는 Aptana Studio를 활용하여 HTML5에 대해 공부하려고 합니다. 로컬 웹 서버 접속 테스트에서 메모장으로 HTML 작성할 필요가 없습니다. Aptana Studio는 웹 응용 프로그램을 개발하기 위한 통합개발환경입니다. HTML 태그 체크 기능 및 JavaScript의 문법을 해석해 필요한 메서드를 자동으로 추가해줍니다. Window/Mac OS X/Linux를 지원합니다. Aptata Studio 3 부터 정식으로 HTML5를 지원합니다. 설치 먼저 해보도록 하죠. 1. http://www.aptana.org/ 에서 다운로드를 합니다. 2. 다른 과정 필요없이 [NEXT]를 계속 눌러주시면 설치가 완료됩니다. 첫 실행화면은 다음과 같습니다. .. 더보기
[Computer] 사진 및 이미지 미리보기 이미지나 사진을 미리보기를 해놓는다면 찾고자하는 사진을 한눈에 쉽게 찾을 수 있습니다. 아래의 모습은 사진 미리보기가 되지 않은 상태입니다. 구성>>폴더 및 검색 옵션 으로 들어갑니다. 보기에서 '아이콘은 항상 표시하고 미리 보기는 표시하지 않음'의 체크박스를 해제하세요 확인을 누릅니다. 바로 사진 미리보기가 되는 것을 확인하실 수 있습니다. 매우 간단하죠. 더보기
[데이터 처리] 다양한 형태로 리스트 변환 [데이터 처리] 다양한 형태로 리스트 변환 분 리스트를 초 리스트로 변환 >>> mins=[1,2,3] >>> secs=[m*60 for m in mins] # 분 값에 60을 곱해주면 초 값이 나옵니다. >>> secs [60, 120, 180] 미터를 피트로 변환 >>> meters=[1,10,3] >>> feet=[m*3.281 for m in meters] >>> feet [3.281, 32.81, 9.843] 소문자를 대문자로 변환 >>> lower=["I", "don't", "like", "spam"] >>> upper=[s.upper() for s in lower] # upper() 메서드를 사용합니다. >>> upper ['I', "DON'T", 'LIKE', 'SPAM'] sanitize.. 더보기
[데이터 처리] 지능형 리스트 [데이터 처리] 지능형 리스트 리스트를 다른 리스트로 변환 할 때 4단계를 따릅니다. 1, 변환된 데이터를 보관할 리스트를 새로 만듭니다. 2. 원래 리스트의 모든 데이터 항목을 나열합니다. 3. 나열하면서 각 데이터 항목을 변환합니다. 4. 변환된 데이터를 새 리스트에 추가합니다. >>> clean_sarah =[] # 새 리스트 만듬 >>> for each_t in sarah: # 원래 리스트 'sarah' 나열 clean_sarah.append(sanitize(each_t)) # 함수를 사용해 데이터 항목 변환(함수를 만들어 적용해 보세요.) 리스트를 지능화 해보겠습니다. 한 줄이면 됩니다. >>> clean_sarah=[sanitize(each_t) for each_t in sarah] 지능형 리.. 더보기
[데이터 처리] 정렬 파이썬에서 데이터는 원본정렬(In-place sorting)과 사본정렬(Copied sorting) 이 두 가지 방법으로 정렬할 수 있습니다. 원본 정렬은 데이터를 가져와서 지정한 순서대로 정렬하고, 원래의 데이터를 정렬된 버전으로 변경합니다. 원래의 데이터를 정렬된 버전으로 변경하는 것입니다. 리스트의 sort() 메서드가 원본 정렬을 합니다. 사본 정렬은 데이터를 가져와서 지정한 순서대로 정렬하고, 정렬된 버전을 반환 합니다. 즉, 원래 데이터는 그대로 남아있고 사본만 정렬 됩니다. sorted() 내장 함수가 사본 정렬을 지원 합니다. >>> data=[9, 6, 3, 5, 7, 1, 4, 2, 8] # 정렬되지 않은 리스트 변수에 대입 >>>data [9, 6, 3, 5, 7, 1, 4, 2, 8.. 더보기
[파일에 데이터 저장하기] 핵심정리 [파일에 데이터 저장하기] 핵심정리 strip() 문자열에서 불필요한 앞뒤 공백 제거 print() 내장함수 file 인자 : 데이터를 출력할 장치 지정 예외 객체 except 스위트에 전달, as 키워드로 선언한 식별자에 대입 str() 문자열로 변환할 수 있는 어떠한 데이터 객체라도 문자열 형태로 변환. in 연산자 데이터가 집합 객체 안에 포함되어 있는지 확인 with 문 예외가 발생하더라도 열려 있는 모든 파일을 자동으로 닫아 줌 as 키워드와도 사용가능 피클링 영구 저장소에서 데이터 객체를 저장하는 처리 언피클링 영구 저장소에 저장된 데이터 객체를 읽어 오는 처리 pickle 모듈 모든 파이썬 데이처 객체를 파일에 쉽고 효과적으로 쓰고 읽게 함 pickle.dump() 데이터를 파일에 저장 pi.. 더보기
[파일에 데이터 저장하기] 피클링(pickling) [파일에 데이터 저장하기] 피클링 파이썬은 피클(pickle)이라는 표준 라이브러리를 제공합니다. 데이터를 파일에 피클링하면, 데이터는 영구적으로 존재하게 되고, 나중에 다른 프로그램이 읽을 수도 있습니다. 피클링은 필요한 모듈을 임포트하고, dump()로 저장하고 load()로 읽습니다. ※ 피클 파일로 작업할 때는 파일을 이진 접근 모드로 열어야 합니다. 형태는 다음과 같습니다. import pickle # 피클 모듈 임포트 . . . with open('mydata.pickle', 'wb') as mysavedata: # wb의 b는 파이썬이 데이터를 이진모드로 열도록 합니다. pickle.dump([1, 2, 'three'], mysavedata) # dump()를 사용해서 데이터를 저장합니다... 더보기
[파일에 데이터 저장하기] 디스크에 저장하기 [파일에 데이터 저장하기] 디스크에 저장하기 '데이터 처리와 출력' 편에서 분리한 Man과 Other Man의 대사를 man_data.txt, other_data.txt로 각각 디스크에 저장해볼 것 입니다. 먼저 알아야 하는 것이 있습니다. 디스크 파일을 사용하기 위해 open() 내장함수를 사용합니다. open() 내장함수 사용시 파일에 대한 접근 모드를 지정할 수 있는데 읽기모드(r)는 파일에 대한 접근 모드 지정 필요가 없습니다. 쓰기 를 위해 열 때에는 w모드를 사용합니다. 데이터 파일 객체 = open(" 쓸파일 이름 ", "사용할 접근 모드") print() 내장함수는 표준 출력 장치(화면)를 사용해서 데이터를 출력합니다. 이 때 file 인자에 데이터 파일 객체를 지정해야 합니다. print.. 더보기
[파일에 데이터 저장하기] 데이터 처리와 출력 [파일에 데이터 저장하기] 데이터 처리와 출력 데이터를 저장하기 전에 데이터를 먼저 처리 합니다. 대사가 들어있는 txt파일에서 누가 무슨 대사인지 구분하는 처리를 해보겠습니다. >>> man=[] # 빈 리스트를 man과 other에 대입 >>> other=[] >>> try: data=open('hellow.txt') for each_line in data: try: (role, line_spoken)=each_line.split(':',1) line_spoken=line_spoken.strip() # 앞뒤 공백을 제거한 문자열을 다시 자신에게 대입 if role=='Man': # 누구의 대사인지에 따라 해당 리스트에 추가 man.append(line_spoken) elif role=='Other M.. 더보기
[파일과 예외] 특정 예외만 처리 [파일과 예외] 특정예외만 처리 프로그램을 개발할 때 실제로 일어나는 에러는 IOError와 ValueError 두 종류입니다. 만약 예외 처리 코드가 특정한 에러만을 고려하여 처리하도록 되어 있다면 except 문에 에러종류를 지정합니다. 에러 종류를 지정하면 예외 처리 코드가 범용적이지 않고 특정형이 됩니다. >>> try: data=open('hellow.txt') for each_line in data: try: (role, line_spoken)=each_line.split(':',1) print(role) print('said:') print(line_spoken) except ValueError: # 처리하고 있는 런타임 에러를 지정 pass data.close() except IOError.. 더보기
[파일과 예외] 파일이 없어진 경우 예외 처리 #2 [파일과 예외] 파일이 없어진 경우 예외 처리 처리 1 hellow.txt 파일을 삭제하고 아래의 코드를 실행해보세요. >>>import os >>> if os.path.exists('hellow.txt'): #파일이 존재하는지 확인 data=open('hellow.txt') for each_line in data: if not each_line.find(':')==-1: (role, line_spoken)=each_line.split(':',1) print(role) print('said:') print(line_spoken) data.close() else: print('The data file is missing!') #파일이 없을 시 출력됨 The data file is missing! 이 코는 .. 더보기
[파일과 예외] try/except [파일과 예외] try/except 코드가 잘못될 경우 파이썬 인터프리터가 다음과 같은 traceback이라는 메세지를 출력하는 것을 본 경우가 있을 것입니다. 역추적(traceback) : 발생한 런타임 에러에 대한 상세한 설명 예외는 런타임 에러에 의해 발생하며, 역추적하게 만듭니다. 예외 처리 메커니즘은 일단 에러가 발생하도록 놔두고, 에러가 발생하면 발견해서 복구할 수 있도록 합니다. 코드를 수행하다가 문제가 발생하면 예외적으로 실행되는 복구 코드가 작동하고, 계속 정상 처리할 수 있도록 합니다. 이때 try/except 메커니즘을 사용합니다. >>>try: 런타임 에러를 발생시킬 수도 있는 코드 except: 여러분이 정의한 에러 복구 코드 >>> data=open('hellow.txt') >>.. 더보기
[파일과 예외] 데이터 가져오기 - find() 메서드 [파일과 예외] 데이터 가져오기 - find() 메서드 find() : 어떤 문자열 안에 다른 하위 문자열리 들어 있는지 확인할 수 있는 메서드 하위 문자를 찾지 못할 시 -1 값을 반환 하위 문자를 찾았을 시 문자열 안에 있는 하위 문자열이 시작하는 색인값을 반환 each_line 변수에 콜론을 갖지 않은 문자열을 대입한 수 find() 메서드를 사용해서 콜론의 위치 찾아보겠습니다. 문자열에 콜론(:)이 없어서 -1이 출력 됩니다. 하위문자(콜론)를 찾지 못 해서 -1 값이 반환된 것 입니다. 하지만 문자열에 콜론을 추가 해서 find()메서드를 사용하니 11이 출력됩니다. 11번째에서 콜론이 시작되므로 11이 출력 된 것 입니다. 더보기
[파일과 예외] 데이터 가져오기 [파일과 예외] 데이터 가져오기 데이터 처리 : 입력 - 처리 - 출력 데이터를 읽으려면 open() 함수를 사용합니다. open() 내장함수를 사용해서 파일에 있는 데이터를 접근할 때는 나열자(iterator)가 만들어져서 파일에서 코드를 한 번에 한 라인씩 데이터를 보내줍니다. 표준적인 열기 - 처리- 닫기 코드입니다. the_file=open('hellow.txt') # Do something with the data # in "the_file". the_file.close() IDLE을 사용해서 파이썬의 파일 입력 메커니즘을 사용해 보겠습니다. 데이터를 가져왔습니다. 이 데이터는 대부분 '사람>>콜론>>대사'형식의 데이터를 가지고 있습니다. Man : Is this the right room fo.. 더보기
[코드공유하기] 함수 모듈 #2 함수 모듈 #2 모듈을 공유하기 위해서 배포를 합니다. 배포 : 유틸리티는 파이썬에서 모듈을 빌드하고, 패키지를 만들고, 배포할 수 있게 해 주는 일련의 파일들 배포 준비 1. nester라는 이름의 폴더명을 만들어 nester.py 모듈 파일을 복사합니다. 2. 새로 만든 폴더에 아래 코드가 입력된 setup.py라는 파일을 만듭니다. from distutils.core import setup setup( name = 'nester', version = '1.0.0', py_modules = ['nester'], author = ' ', author_email = ' ', url = ' ', description = ' ', ) 빈칸은 헤드 퍼스트 랩의 메타데이터입니다. 알맞게 입력하세요. 3.배포 패.. 더보기