'Python'에 해당되는 글 5건

  1. 2010.05.24 구글 코드잼 2010
  2. 2010.04.03 마영전 (마비노기 영웅전) 거래소 시세 차트
  3. 2010.04.02 SQL injection on python+SQLite3
  4. 2010.02.26 O/R mapping
  5. 2009.11.04 오토 레포트 (3)

구글 코드잼 2010

일상 2010.05.24 17:35


최근 파이썬으로 코드잼이라는 프로그래밍 대회에 참가해서 재밌게 하고있다.

퀄리피케이션과 Round1 까지는 통과한 상태.


프로그래밍을 대학에 와서야 접한지라 프로그래밍 대회 같은거에서 별다른 성적이 없었는데

요즘 재밌게 배우던 내 파이썬 실력이 이런 국제대회 같은데서도 먹히는것 같아서 기분이 좋다.


워낙에 괴물 같은 실력을 가진 사람들이 많아서

다음 라운드에는 어떻게 될지 모르겠지만...

계산기하 알고리즘 연구하면서 틈틈히 이런 대회식의 문제풀이 같은것도 익히면

내년쯤에 다시 참가할때는 더 좋은 성적을 낼 수 있지 않을까?
저작자 표시
신고

'일상' 카테고리의 다른 글

구글 코드잼 2010  (0) 2010.05.24
티스토리로 블로그 이전  (0) 2010.05.11
AAAC2010  (0) 2010.04.18
일본여행  (0) 2010.02.08
귀국  (0) 2009.09.04
IEEE 인공지능 대회  (0) 2009.08.08
Posted by youknow04

마영전 거래소의 일주일간의 시세를 차트로 보여주는 사이트 입니다.


javascript에서 차트를 그려주는 jqplot과 python + django로 만들었습니다.

기존에 다른분이 만드신걸 잘 쓰고 있었는데,

기존 사이트가 계속 안돌아가는것 같아서 웹코딩 연습도 할겸 그냥 새로 만들었습니다. ㅎㅎ


혹시 버그라거나 사이트 관련해서 하실말이 있으시면 여기에 댓글로 남겨주시거나

메디A랭 찍어놓고 잉여ㅋ하고 있는 "편지왔어요" 라는 아이디로 말해주시면 됩니다.ㅋㅋ

신고

'프로그램 배포' 카테고리의 다른 글

마영전 (마비노기 영웅전) 거래소 시세 차트  (0) 2010.04.03
AliceIP v0.91  (0) 2009.07.30
ISEE v1.21  (0) 2009.07.30
Posted by youknow04
모처럼 약간 여유가 생겨서 웹코딩이나 좀 하고있는데

파이썬의 SQLite3 기본 라이브러리가 쿼리문의 테이블 이름에 있어서는

SQL injection 공격에 대한 방어를 안해주는것 같다.


예를들면 코드에 SQL문을 사용할때 포맷스트링을 사용하면 엄청난 문제가 발생할 수 있는데
cursor.execute("INSERT INTO tablename  VALUES (%s,%s)"%(value1,value2) )
이경우에 value1과 value2가 사용자에게 웹에서 받은 정보라고 해보면

value2
"2); DROP TABLE tablename; 아무거나~~"
이라고 하면 임의로 데이터를 다 날려버릴 수도 있는거잖아?

그래서 정석대로 안전하게 하면
cursor.execute("INSERT INTO tablename  VALUES (?,?)",(value1,value2) )
이렇게 하면 SQLite에서 안전하게 물음표를 value로 치환해주는데


cursor.execute("INSERT INTO? VALUES (?,?)",(value1,value2) )
이렇게 tablename에 해당하는 부분도 ?로 치환하면 에러가 나더라.
신고

'공부' 카테고리의 다른 글

NP, NP-COMPLETE, NP-HARD  (7) 2010.05.05
for문에서 j  (3) 2010.04.26
SQL injection on python+SQLite3  (0) 2010.04.02
Google Summer of Code2010 & CGAL  (0) 2010.03.30
O/R mapping  (0) 2010.02.26
Laplacian Pyramid on GPU  (1) 2010.01.13
Posted by youknow04

O/R mapping

공부 2010.02.26 16:14
최근에 앨리스 개발에 다시 손대면서 Django(파이썬기반의 웹프레임웍)에서 DB위에 씌운 레이어의 편리성에 다시한번 감탄하게 됐다.

일반적으로 데이터베이스에 엑세스를 할때에는 SQL을 사용하는데,
사실 웹코딩을 하다보면 이런 SQL형식으로 DB쿼리를 날리는게 여간 귀찮은 일이 아닐 수 없다.

하지만 Django에서는 SQL쿼리를 직접 날리는게 아니라
아래와 같이 그냥 일반적인 object에 엑세스 하는것처럼 DB를 관리할 수 있다.

SQL:
INSERT INTO  Blog (id, name, url) VALUES (12, 'youknow', 'http://youknow04.textcube.com')

Django:
b = Blog()
b.id = 12
b.name = 'youknow'
b.url = 'http://youknow04.textcube.com'

b.save() #실제로 DB에 저장하기 위한 함수. model에서 상속받으면 기본으로 있음.


이처럼 DB상의 한 데이터를 객체지향(Object-Oriented)언어의 한 객체로 변환하는것을 O/R mapping(Object-relational mapping) 이라고 한다.
특히 파이썬 같은 스크립트 언어의 객체로 변환을 하면, 파이썬 특유의 막강한 내장함수들을 활용하거나 유연한 코딩을 할 수 있기 때문에 월등한 생산성을 얻을 수 있다.
그냥 직관적으로 생각해봐도 DB안에 박혀있는 데이터를 다루는것과, 언어 자체의 객체를 다루는것에는 편리성 측면에서 엄청난 차이가 있으니까.

그래서 O/R mapping은 Ruby on Rails같은 다른 웹프레임웍들에서도 많이들 지원한다더라.


신고

'공부' 카테고리의 다른 글

SQL injection on python+SQLite3  (0) 2010.04.02
Google Summer of Code2010 & CGAL  (0) 2010.03.30
O/R mapping  (0) 2010.02.26
Laplacian Pyramid on GPU  (1) 2010.01.13
Block-based Web Search  (0) 2009.12.06
오토 레포트  (3) 2009.11.04
Posted by youknow04

오토 레포트

공부 2009.11.04 14:20
단순히 출석체크를 위해 매번 세미나마다 A4용지 한장을 만큼 보고서를 써가야하는데,
맨날 비슷한 내용 또 쓰는게 귀찮아서 파이썬으로 오토 레포트 빌더를 만들었다.

만들어놓고 보니 꽤나 쓸만하다 ㅋㅋ

실행화면(처음)


이정도만 입력해주면

완료만 누르면 바로 메모장이 뜨면서 결과를 보여주게 해놨다.

워드 등에 복사해서 붙이고 제목을 가운데 정렬하는 정도의 간단한 서식만 입히면 완료!


저정도 시드로 만들어낸 글이지만, 읽어보면 제법 그럴싸하다 ㅋㅋㅋㅋ

다짜는데 한시간정도 걸렸으니, 좀만 쓰다보면 금방 본전 시간 뽑을듯.
신고

'공부' 카테고리의 다른 글

Google Summer of Code2010 & CGAL  (0) 2010.03.30
O/R mapping  (0) 2010.02.26
Laplacian Pyramid on GPU  (1) 2010.01.13
Block-based Web Search  (0) 2009.12.06
오토 레포트  (3) 2009.11.04
Constructive Logic  (3) 2009.09.22
Posted by youknow04


티스토리 툴바