프로그래밍
-
php $_POST 에서 일부 변수 값만 전달 안되는 오류프로그래밍/PHP 2022. 10. 8. 22:03
서버 이전을 하면서 동일한 php 스크립트인데 오류가 나는 케이스를 발견하였다. post 방식으로 전달한 일부 변수의 값이 설정되어 있지 않아서 나는 오류였는데 같은 스크립트에서 같이 전달된 변수 중 일부 변수의 값만 비어있어서 생각보다 원인을 파악하는데 시간이 걸렸다. 원인은 php.ini 파일의 max_input_vars 의 설정 값이 다른 것이였다. max_input_vars 는 GET/POST/COOKIE 의 값을 각각 몇 개를 받을 지 설정하는 변수인데 기본값이 1000이라 $_POST로 전달되는 배열이 그 값을 넘었던 것이였다. 이 설정값을 넘을 경우 E_WARNING 이 발생하지만 그 스크립트에서는 마침 error reporting 라인이 없어서 원인 파악도 하기 힘들었던 것이다. max_i..
-
fasttext 사용하여 임베딩 하기프로그래밍/자연어처리 2022. 9. 24. 16:14
word embedding으로 word2vec을 주로 사용하다 fasttext가 괜찮다고 해서 사용해 보았다. word embedding은 비정형화된 text를 숫자로 바꿔주는 방법으로 텍스트를 기계 학습에 사용하기 위해서는 word embedding 과정을 거쳐야한다. word2vec은 희소한 단어를 임베딩 하기 어렵고 out-of-vocabulary(oov)를 처리하기 어렵다는 단점이 있었는데 fasttext는 단어 단위가 아니라 n-gram을 임베딩함으로써 각 단어는 embedding된 n-gram의 합으로 나타나서 빠르고 좋은 성능을 가진다고 한다. 그리고 oov 문제도 없다고 한다. fasttext 설치하기 리눅스(ubuntu) 기준으로 아래와 같이 설치를 하였다. root# git clone ..
-
python에서 mysql db 사용하기프로그래밍/python 2022. 9. 13. 15:45
pymysql이 설치가 안되어있다면 pip install pymysql 로 설치를 한다. #pip install pymysql import pymysql conn = pymysql.connect(host='localhost', user='아이디', password='암호', db='디비이름', charset='utf8') 클라이언트의 charset이 제대로 명시되어 있지 않을 경우 한글이 깨질 수 있다. # SQL문 실행 sql = "SELECT * FROM `테이블이름` limit 10" with conn: with conn.cursor() as cur: cur.execute(sql) result = cur.fetchall() for data in result: print(data) print(data..