본문 바로가기

프로그래밍

(357)
팩토리얼이 어떤 수로 나누어 떨어지는지 확인하기 어떤 정수 f의 팩토리얼이 다른 정수 n 으로 나누어 떨어지는지 확인하기. 1 x 2 x .. x f / n 를 손으로 계산할 때, 팩토리얼부터 구하지 않을 것. 분명 분모와 2를 약분하고, 분모와 3을 약분하고 ... 를 반복하는 방식으로 풀 것이다. 이 과정을 코드로 옮겨 봄. from functools import lru_cache @lru_cache(None) def gcd_r(b, s): if b < s: b, s = s, b b, s = s, b%s if s == 0: return b return gcd_r(b, s) def gcd(b, s): if b < s: b, s = s, b while True: b, s = s, b%s if s == 0: break return b def fac_di..
Kotlin 북마크 코틀린 학습자료 https://github.com/igorwojda/kotlin-coding-puzzle : 코틀린 코딩 퍼즐, android studio 프로젝트로 열어서 test 폴더 아래에 주어진 문제를 풀고, test 를 실행하여 확인한다.
ubuntu flask nginx 설정방법 테디노트| flask-aws-nginx-설정방법 nginx 과 uwsgi 를 연결해 주는 것이 무엇인지 궁금했음. nginx 서비스 사이트 설정파일 안의 uwsgi_pass unix:/tmp/myflask.sock 와 uwsgi 실행 설정파일 안의 socket = /tmp/myflask.sock 을 통해서 연결됨. graph LR nginx-service --sock--- uwsgi-process --- flask-app 추가참고 https://wikidocs.net/7387
[EP 050] 연속된소수의합이 다시 소수 무식한 방법으로 푼다. 루프를 빠져나오는 조건을 잘 줘야 빨리 끝난다. 소수를 구할 때, 나눌 수가 소수후보의 제곱근보다 크다면 빠져나오라는 조건을 빼면 시간이 하염없이 걸리고, 연속된소수의 합이 다시 소수인 모든 수를 구하는 것이 아니고, 그 소수 갯수의 최대값을 구한다는 조건을 for 루프에 잘 적용하면 또 시간을 더 단축할 수 있다. 물론 깔끔함은 훼손되지. /* * http://projecteuler.net/index.php?section=problems&id=50 Problem 50 15 August 2003 The prime 41, can be written as the sum of six consecutive primes: 41 = 2 + 3 + 5 + 7 + 11 + 13 This is t..
[Python] with 컨텍스트를 이용해서 다른 디렉토리에서 작업하고 오기. ref : https://stackoverflow.com/questions/299446/how-do-i-change-directory-back-to-my-original-working-directory-with-python 컨텍스트 매니저 함수를 다음과 같이 정의하고, from contextlib import contextmanager @contextmanager def cwd(path): oldpwd=os.getcwd() os.chdir(path) try: yield finally: os.chdir(oldpwd) 다음과 같이 쓰면 된다. print('current dir = `%s`'%(os.getcwd()) with cwd('./subdir'): # 여기서 하고 싶은 일들..
[Apache2] Apache2 에 wsgi 로 올린 Flask 웹사이트가 Ubuntu 19.10 업그레이드 이후 Invalid command 'WSGIDaemonProcess' 가 발생하며 동작하지 않음. apache2 서버에 mod-wsgi 를 이용하여 flask 웹사이트를 서비스하도록 설정하였었는데, ubuntu 19.10 으로 업그레이드 한 이후에 systemctl start apache2 을 하였으나 서비스 시작이 계속 실패했다. 에러 메시지는 다음과 같았다. 12월 10 17:31:48 DEMODEV apachectl[22260]: AH00526: Syntax error on line 4 of /etc/apache2/sites-enabled/001-wptextsearch.conf: 12월 10 17:31:48 DEMODEV apachectl[22260]: Invalid command 'WSGIDaemonProcess', perhaps misspelled or defined by a ..
[번역|Yolo|darknet] darknet 구현에 대한 비교 (ycombinator) from : https://news.ycombinator.com/item?id=18317879 joshvm on 2018-10-28 몇달동안 darknet 을 테스트 해 봄. 진지한 프로젝트에는 추천하지 않는다. 라즈베리파이에서 사용하거나, 매우 빨리 가져다 쓸려면 모를까. tiny yolo 면 1.2 FPS 성능이 나온다. 아니면 신경망스틱을 사는 게 낫다. yolo 자체는 매우 인상적이다. 빠르고 정확해서 여러 용도에 쓸 수 있다. 오리지널 레포 ( github pjreddie darknet ) 은 업데이트가 많지 않다. AlexeyAB 의 포크 ( github alexeyab darknet ) 에 개선사항이 많다. 하지만 여전히 괴로운 부분이 있다. 뭔가 실수했을 때, 아무 메시지 없이 실패한다. ..
[Python|LexRankr] 한국어 문서 요약 lexrankr 이라는 문서요약 패키지를 테스트 해 보았음. ( https://github.com/theeluwin/lexrankr ) 실행해 본 코드는 패키지 홈페이지의 예제코드이므로 별다를 것이 없다. 과거에는 설치시에 konlpy 를 설치해야 하고, scipy 와 numpy 설치에도 까다로운 부분이 있었기 때문에 윈도우에서는 약간 번거로운 점이 있었다. 하지만, 2019년 현재는 konlpy 설치는 konlpy 설치 가이드를 잘 따라하면 큰 무리가 없다. 자바sdk, 자바 홈 변수 설정 정도만 잘 신경쓰면 되고, jpype1 을 수동으로 설치할 필요가 없음. jpypye1 패키지도 pypi 에 윈도우용 바이너리가 잘 올라가 있음. lexrankr 의 설치시 jpype1-py3 충돌문제 (2019년 ..