기존 Java에서 HTML 파서로 유명한 jericho 라이브러리라는게 있다고 한다.
하지만 이게 안드로이드에서는 의존 라이브러리가 존재해서 이용하기 곤란했다고 한다.
이걸 편하게 하기 위해서 jericho 라이브러리를 손봐 주시었다!

http://blog.naver.com/zeanz?Redirect=Log&logNo=110092582999

여기에서 jericho-android.jar 파일을 다운 받아 사용하자!
물론 감사함의 마음은 잊지 말고 표현하자 ㅎ

이제 라이브러리는 준비 되었다.
어떻게 사용하느냐!
또 다른 능력자분이 존재하신다 ㅎ

http://blog.naver.com/mysk4521?Redirect=Log&logNo=40093081572

위 포스트를 참고하기 바란다.
사용법은 그대로이니 잘 사용하자~
아쉬움이 있다면 이미 파일이 존재하고 그 파일에서 데이터를 가져 온다는 가정으로 함수를 설명해 주셨는데..
웹에서 직접 페이지를 읽는 방식으로는 어떻게 해야 할까?
약간의 수정만 가하면 된다.
바로 요거!
	URL nURL = new URL(url);
	InputStream html = nURL.openStream();
	Source source = new Source(new InputStreamReader(html, "euc-kr"));


  1. 2011.05.29 16:38

    비밀댓글입니다

테스트용
비록 올바른 사용 예는 아닐 수 있지만 사용법 숙달을 위해..

#include <stdio.h>
#include <windows.h>
#include <process.h>

// 쓰레드 함수
void threadTest1(void* param);
void threadTest2(void* param);

// 계산 함수
void cal(int num);

// 테스트 숫자
static int maxCnt = 20;

// 계산 결과를 저장
static int result = 0;

// Critical section Variable
CRITICAL_SECTION cs;

// 메인 함수
int main(void)
{
	// 초기화
	InitializeCriticalSection(&cs);

	int i;
	for(i = 0; i < 5; i++)
	{
		// 변수 초기화
		result = 0;

		// 쓰레드 시작
		HANDLE handles[2];
		handles[0] = (HANDLE)_beginthread(threadTest1, 0, NULL);
		handles[1] = (HANDLE)_beginthread(threadTest2, 0, NULL);

		// 쓰레드가 모두 종료될 때까지 대기
		WaitForMultipleObjects(2, handles, TRUE, INFINITE);

		// 결과 출력
		printf("계산 결과: %d\n", result);
	}

	return 0;
}

// 쓰레드 함수 구현
void threadTest1(void* param)
{
	int loopcnt = 0;

	do
	{
		cal(1);
		Sleep(1);
	} while(maxCnt > ++loopcnt);

	_endthread();
}

void threadTest2(void* param)
{
	int loopcnt = 0;

	do
	{
		cal(2);
		Sleep(1);
	} while(maxCnt > ++loopcnt);

	_endthread();
}

// 계산 함수
void cal(int num)
{
	int tmp = 0;

	EnterCriticalSection(&cs);

	// 연산
	tmp = result;
	tmp += num;
	Sleep(1);	// 일부러 Context switching 해버릴 수도 있도록
	result = tmp;

	LeaveCriticalSection(&cs);
}

'프로그래밍 > C/C++' 카테고리의 다른 글

[C/VC] 간단한 Critical Section 테스트  (0) 2011.03.06
struct 선언과 typedef  (0) 2007.03.31

표준 입출력인 콘솔을 통한 입출력을 알아본다.

1. 콘솔 입력

기존 2.x대 파이썬에서는 raw_input()함수를 통해 콘솔 입력을 받았지만 3.x에서는 input()함수를 통해 입력받을 수 있다. input()함수의 파라미터로 텍스트를 입력하면 해당 텍스트를 출력하면서 콘솔을 통해 입력을 받을 수 있다.
>>> birthday = input("생일 입력 ")
생일 입력 1999.01.01
>>> birthday
'1999.01.01'

2. 콘솔 출력

다른 포스트에서 처럼 print()함수를 이용하여 기본 출력을 한다.
>>> print(birthday)
1999.01.01

print()함수와 ,를 이용하여 다음과 같이 출력할 수도 있다.
,가 들어가면 공백으로 출력된다.
>>> print(a, b, c, d)
1 2 3 4

'프로그래밍 > Python' 카테고리의 다른 글

콘솔 입출력  (0) 2011.03.06
기초문  (0) 2011.03.05
변수명  (0) 2011.03.05
Python 기본  (0) 2011.03.05

1. 주석

주석은 #으로 한줄에 대한 주석을 할 수 있다.
C/C++나 Java에서 //와 같이 주석을 달 수 있다.
>>> print('test 입니다') #테스트입니다
test 입니다

2. 라인 변경

하나의 라인이 너무 길어 줄 바꿈을 하고자 할 때 다른 언어와 같이 \를 사용할 수 있다.
print('test \
입니다')
test 입니다

3. 치환과 참/거짓

이미 컴퓨터 프로그래밍을 경험한 사람이라면 =는 같다는 의미보다 치환의 의미를 갖는다는 것을 알 것이다.
파이썬에서도 =는 치환이다.
참 거짓 판단을 위해서는 Java와 같이 == 혹은 !=를 사용할 수 있다.
>>> a = 1
>>> print(a)
1
>>> 1 == 1
True
>>> 1 == 2
False
>>> 1 != 2
True

4. 확장 치환

치환을 반복해서 수행할 수 있다.
혹은 순서대로 치환할 수 있다.
>>> a = b = c = 1
>>> print(a,b,c)
1 1 1
>>> a, b = 1, 2
>>> print(a,b)
1 2

'프로그래밍 > Python' 카테고리의 다른 글

콘솔 입출력  (0) 2011.03.06
기초문  (0) 2011.03.05
변수명  (0) 2011.03.05
Python 기본  (0) 2011.03.05

일반적인 언어의 변수 명명 방법과 차이를 보이지는 않는다.
다른 언어도 마찬가지로 예약어는 사용할 수가 없는데 다음과 같이 예약어를 확인할 수 있다.
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
>>> len(keyword.kwlist)
33

예약어에 assign 하려 한다면 다음과 같은 오류를 볼 수 있다.
>>> False = '1'
SyntaxError: assignment to keyword
>>> False = a
SyntaxError: assignment to keyword
>>> False = 1
SyntaxError: assignment to keyword

단, 조심할 것이 있는데 내장 함수 이름을 모르고 변수명으로 이용하게 되면 해당 내장 함수를 사용할 수 없게 된다.
>>> str(123)
'123'
>>> str = 'test'
>>> str(123)
Traceback (most recent call last):
  File "<pyshell#18>", line 1, in <module>
    str(123)
TypeError: 'str' object is not callable

'프로그래밍 > Python' 카테고리의 다른 글

콘솔 입출력  (0) 2011.03.06
기초문  (0) 2011.03.05
변수명  (0) 2011.03.05
Python 기본  (0) 2011.03.05

+ Recent posts