'프로그래밍'에 해당되는 글 34건

  1. 2011/05/14 [Android] 안드로이드에서 HTML 파싱하기 (1)
  2. 2011/03/06 [C/VC] 간단한 Critical Section 테스트
  3. 2011/03/06 콘솔 입출력
  4. 2011/03/05 기초문
  5. 2011/03/05 변수명


기존 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"));


저작자 표시 동일 조건 변경 허락
Posted by 체리

트랙백 주소 http://blog-kr.specialguy.net/trackback/130 관련글 쓰기

댓글을 달아 주세요

  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
Posted by 체리

트랙백 주소 http://blog-kr.specialguy.net/trackback/129 관련글 쓰기

댓글을 달아 주세요



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

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
Posted by 체리

트랙백 주소 http://blog-kr.specialguy.net/trackback/128 관련글 쓰기

댓글을 달아 주세요



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
Posted by 체리

트랙백 주소 http://blog-kr.specialguy.net/trackback/127 관련글 쓰기

댓글을 달아 주세요



일반적인 언어의 변수 명명 방법과 차이를 보이지는 않는다.
다른 언어도 마찬가지로 예약어는 사용할 수가 없는데 다음과 같이 예약어를 확인할 수 있다.
>>> 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
Posted by 체리

트랙백 주소 http://blog-kr.specialguy.net/trackback/126 관련글 쓰기

댓글을 달아 주세요

이전버튼 1 2 3 4 5 ... 7 이전버튼