본문 바로가기

Dev

(72)
[Python] 랜덤으로 수 만들기 (Feat. 로또번호 만들기) 가끔 네이버 지식인을 보면 랜덤으로 수를 만들고 동일한 수가 있으면 처리 하지 않게 하는 로직을 원하는 분들이 많다. 저는 랜덤으로 만들고 6개의 수를 만들고 45개의 수에서 나오게 처리를 했다. 아래는 python으로 만든 소스이다. import random random_no = [] cnt = 0 while True: randomNumber = random.randint(1, 45) if randomNumber not in random_no: random_no.append(randomNumber) cnt +=1 if cnt == 6: break print(random_no) print("***********"*80) print(sorted(random_no)) 배열로 만들고 1부터 45까지 발생하는 ..
Python-library [ wordninja ] / 단어분리(영어) 앞서 compound word 분리 방법인 hyphenate 라이브러리를 작성했었다. 비슷하지만 다른 라이브러리라 정리합니다. 간단히 설명하면 hyphenate는 wordninja는 작성기준으로 2.0.0이며 릴리즈일은 2019.08.10 임. 1. 설치 pip install wordninja 2. 사용방법 import wordninja wordninja.split('smartwatch') 간단한 샘플로 smartwatch를 검색했을 때 결괏값은 ['smart', 'watch']로 분리가 된다. 상세히 보면 단어 형태로 사전이 정의되어 있어서 단어를 추가하여 커스텀 화가 가능하다. 기본 세팅 값에서 korea를 검색 시 hyphenate에서는 kor, ea로 구분되는 반해 wordninja는 korea로..
Python-library [ hyphenate] / 단어분리(영어) 단어 토큰화를 하면서 단어 분리를 해야 하는 경우가 많다. 또한 복합어가 있어서 분류가 되어야 하는데 어려운 점이 있다. 영어 단어를 분리할 때 사용한다. 만약 smartwatch라는 단어가 있다고 했을 때 단어를 smart watch 이렇게 분리해야 하는 경우가 있다. 라이브러리를 보면 패턴을 통해서 분류 하고 있다. 사용한 라이브러리는 hyphyphenate 작성기준으로 1.1.0 버전이며 최근 릴리즈된 날짜는 2016.12.21. 1. 라이브러리 설치 pip install hyphenate 2. 사용 방법 from hyphenate import hyphenate_word print( hyphenate_word("smartwatch")) 사용 방법은 간단하다. 라이브러리 임포트 후 실행 끝. 결과는 ..
Python-library[word2word]-단어번역 python 자연어를 하면서 알게 된 라이브러리입니다. word2word는 단어를 번역하여 표시하게 됩니다. word2words는 3,564개의 쌍으로 단어 번역을 쉽게 사용할 수 있습니다. - 62개 고유 언어의 3,564개의 언어 쌍에 대해 자유롭고 공개적으로 사용할 수 있는 2개 언어 어휘 모음 - 코퍼스를 커스텀화 해서 사용가능. - 멀티 프로세스 지원. 사용 가능한 언어는 아래에서 확인 가능해요. opus.nlpl.eu/OpenSubtitles2018.php OpenSubtitles Bottom-left triangle: download filesces = sentence alignments in XCES format leftmost column language IDs = tokenized co..
ios-Swift WebView 오류 프로젝트를 하게 됐는데.. 어떡하다 보니.. App개발을 해야 하게 됐다 ㅡ.ㅡ 그래서 공부중 오류가 발생 ㅜ.ㅜ 아.. 진짜.. ios 까지 하게 될줄이야... 암튼 머.. Swift를 사용해서 개발 공부중에 있다. 그중에 WebView를 사용하는데 문제가 발생한 부분을 정리해본다. ExceptionNSException *"Could not instantiate class named WKWebView because no class named WKWebView was found; the class needs to be defined in source code or linked in from a library (ensure the class is part of the correct target)"0x000..
Python 2차원 배열 데이터를 읽고 배열에 값을 넣는 방법입니다. 배열 초기화를 위해 선언 전역변수 선언시 사용 list = [] list = None 2차원 배열 값을 넣고 초기화시 num_cols = 행의 갯수 num_rows = 열의 개수 list = [[0 for i in range(num_cols)] for j in range(num_rows)] or list = [['' for i in range(num_cols)] for j in range(num_rows)] 이렇게 선언하게 되면 num_cols=5, num_rows=5라면 [[0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0], [0,0,0,0,0]] 이렇게 list의 변수에 2차원 배열로 사용가능하게 된다. 톱니바퀴형 리..
Python 엑셀파일 다루기(Feat.openpyxl & xlrd) 프로그램을 하면 엑셀 파일을 파싱하는 작업을 하는 경우가 종종 있다. java에선 poi를 통해서 하면 되지만.. 파이썬은 처음인지라.... 찾아보니 openpyxl 라이브러리를 알게 되었다 사용법도 간단한거 같아 사용했다. 1. 라이브러리 설치 pip install openpyxl 이후는 임포트해서 사용하면 된다. 사용법은 아래와 같다. from openpyxl import load_workbook def excel_test(request) : file = request.FILES['fileInput'] print("upload File", file) wb = openpyxl.load_workbook(filename=file, data_only=True) sheet_ranges = wb['Sheet1'..
Django-DATABASES init_command 멀티 설정 Django에서 DB 설정을 하게 되면 init_command를 사용해야 한다. init_command를 하나만 설정하는 경우는 적다. 여러 개를 입력해야 하는 경우가 발생한다. 그런 경우 아래의 코드처럼 하면 된다. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'share_res', 'USER': 'root', 'PASSWORD': 'apmsetup', 'HOST': '127.0.0.1', 'PORT': '3306', 'OPTIONS': { 'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"; set storage_engine=InnoDB;', 'autocommit': Fals..