Python
⌜미국 주식으로 시작하는 슬기로운 퀀트투자⌟ 서평
⌜미국 주식으로 시작하는 슬기로운 퀀트투자⌟ 서평
2021.10.25한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 미국 주식과 Python 주식은 계속 오르고 올라서 돈을 얼마 벌었는지와 같은 이야기는 늘쌍 내 곁을 매번 머물면서 이야기를 해준다. 누구는 몇배를 벌었으며, 저점에 사서 고점에 팔았다. 와 같은 이야기들은 내 귓속으로 때려박히긴한다. 그런 점에서 한국 주식, 미국 주식과 같은 이야기들은 이제는 프로그래밍의 영역까지 내려왔는데, 최근 프로그래밍 매수, 매도를 도와주는 자동화 프로그램들을 만들 수 도 있으며, 이 책에서 이야기하는 퀀트투자와 같은 분석과 투자를 동시에 가능하게 하는 영역까지 내려왔다. 현시점에 와서는 코딩으로 투자하는 시점까지도 왔으며, 그런 투자를 위해서 여러 종목들의 분석을 하기 위해서 여러가지 전략과 여러가지 오픈소스의 도움이..
구글 코랩에서 텐서플로우 버젼 변경하기
구글 코랩에서 텐서플로우 버젼 변경하기
2020.10.14구글 코랩은 다양한 라이브러리가 깔려있다. 구글 코랩은 텐서플로 및 여러가지 딥러닝과 관련된 여러가지 라이브러리가 설치되어있습니다. 그래서 그것을 선택해서 사용하기는 쉽습니다. 하지만 대부분 이 텐서플로우를 사용하기 위해서 코랩에서 직접 코드를 만지는 경우가 많습니다. 텐서플로우는 버젼이 많다. 그리고 오류도 많다. 이 딥러닝 모델을 설계 혹은 실행시키기 위해서는 텐서플로우를 사용해서 코드를 건드는 방법이 많이 있는데, 문제는 텐서플로우는 버젼 별로 그 코드의 변경 사항이 너무 상이해서 코드가 버젼별로 돌아갈 수 도 혹은 안돌아갈 수도 있다. 하위 버젼에서는 돌아가던 코드가 상위버젼에서는 돌아가지 않는 경우가 생길 수 도 있다는 뜻이다. 즉, 코드의 버젼이 큰 영향을 끼친다고 볼 수 있다. 실제로 여러가..
구글 콜랩에서 구글 드라이브 공유 폴더 사용하기
구글 콜랩에서 구글 드라이브 공유 폴더 사용하기
2020.10.07구글 콜랩을 모두 공유하면서 사용한다면... 개인 프로젝트로 진행하는 것이라면 굳이 콜랩을 선택하는 것은 사실상 컴퓨터 성능의 문제로 선택하는 경우를 제외하면 없을 것 같다. 하지만, 단체로 개발하는 경우(특히, 학교에서 진행하는 딥러닝 프로젝트나 졸업 작품 프로젝트)에는 코드 공유나 노트북 형식으로 아예 코드를 구성해서 단체로 한 개의 파일로 코드를 만질 수 있게 하는 것이 오히려 효율적으로 일하는 방법이 될 수 있다. 그리고 구글 드라이브 자체를 연동해서 사용하고 거기에서 사용하는 Data 파일을 싱크를 맞추는 작업을 동시에 할 수 있어서 좋다고 생각합니다. 구글 콜랩에서 구글 드라이브를 연결하는 방식 구글 코랩에서는 아래와 같은 코드만 작성하더라도 from google.colab import dri..
장고에서 머신러닝을 사용하는 방법
장고에서 머신러닝을 사용하는 방법
2020.10.04장고에서 머신러닝을 돌리는 게 좋은 이유 장고 웹프레임워크를 사용하는 것에는 여러가지 이유가 있겠으나 장고의 메인 언어인 Python을 쓴다는 점은 엄청난 메리트가 있습니다. 왜냐하면 Python에는 ML,AI와 관련된 여러가지 툴이 있기때문입니다. 그래서 실제로 프로젝트를 진행할때 장고안에 머신러닝 모델을 직접 이식하는 방식을 통해서 굳이 따로 서버를 두는 것이 아니라, 실제로 장고 서버가 돌아가는 와중에 머신러닝이나 신경망을 통한 모델이 바로 제가 넣은 값을 통해서 바로 예측값을 출력해낸다면 저희는 두가지의 일을 동시에 하지 않아도 되죠.( 예를 들면 뭐 머신러닝 서버를 또 따로 만든다던가..) 일단 마주쳤던 문제점 신경망이든 머신러닝이든간에 일단 모델을 불러서 값을 넣은 후에 그것을 예측값을 받는 ..
AWS Linux에서 FFMPEG 설치하기 (ElasticBeanStalk)
AWS Linux에서 FFMPEG 설치하기 (ElasticBeanStalk)
2020.07.31이런 주제를 사용하게 된 이유도 사실 내가 이전에 했었던 프로젝트가 DeepLearning을 사용했다. 그리고 그 딥러닝을 Django 백엔드에서 딥러닝 모듈을 돌리는 터라, 이 딥러닝을 실행시키기 위해서는 FFMPEG이 필요했다. 문제는 FFMPEG이 AWS Linux에서는 일반적인 방법으로 설치가 재대로 안된다는 점이 큰 문제이다. 분명히 Red-hat 계열의 설치방법을 사용하기도 하고 Yum이나 Apt-get을 통해서 패키지 설치를 하고 싶었는데 기존 방법으로는 설치가 안됬다. 아마 Apt-get이나 Yum을 통한 링크가 이미 죽은것 같았다. 재대로 설치가 안되서 실행이 안됬기때문에 다른 방법을 찾아내야 했었다. 실제로 나 같은 경우는 Django를 AWS Beanstalk을 통해서 배포하였기 때문..
특정 확장자만 파일 업로드 가능하게 만들기 (mp3)
특정 확장자만 파일 업로드 가능하게 만들기 (mp3)
2020.07.26백엔드에서 파일을 전달 받을때 특정 값의 파일만 전달 받게 유효성 검사를 통해서 내가 받고 싶은 파일만 업로드 가능하게 할 수 있다. 즉, 그런 작업을 위한 유효성 검사툴이 각 프레임 워크별로 존재한다. 역시나 장고는 vaildator가 역시 내장되어 있었다. 하지만 재대로 사용하는 방법을 정확하게 몰라서 찾아봤다. Django에서 model에서 validators를 사용하는 방식 from django.core.validators import FileExtensionValidator from django.db import models class MyModel(models.Model): pdf_file = models.FileField(upload_to='foo/', validators=[FileExten..
Django 테이블 지우고 난 후 다시 마이그레이션 하는 방법!
Django 테이블 지우고 난 후 다시 마이그레이션 하는 방법!
2020.07.26Web framework에서 DB는 아주 큰 중요한 요소이다. 최근 Web Framework의 추세상 ORM을 적용하는 많은 프레임워크가 많은데요. 그러다보니까 내가 프로그래밍을 하고 SQL문을 장고에서 자동으로 ORM을 통해 생성되게 된다. 물론, 내가 생각한대로 table이 잘 생성되면 좋겠지만.. 예상치 못한 상황으로 table을 바꿔야하거나, 혹은 table 자체를 다시 설계해야하는 상황이 생겼다. 출처: (http://www.analyticaweb.com/desarrollo-web/aprende-ya-que-es-un-orm) 그리고 장고에서 DB table이 꼬이면, 어디서부터 table이 생긴건지, 어디서부터 없는건지 파악할 수 없기때문에 진짜 말그대로 sqlite3에 직접들어가서 확인해보는..
git에 가져온 Django가 pycharm에서 서버실행이 되지 않을때
git에 가져온 Django가 pycharm에서 서버실행이 되지 않을때
2020.07.24깃에서 바로 git clone을 하면 다음과 같은 오류가 발생한다. django is not importable in this environment와 같은 에러를 발생시킨다. 즉, interpreter가 없다는 식으로 말해버리는데 이때는 project interpreter를 통해서 가상 환경을 만든 폴더를 적용하는 방식을 통해서 해결해야한다. 1. 일단 파이참의 Preferences에서 project Intepreter를 들어간다. 2. 여기서 가상환경을 등록하면 알아서 run configuration에서 잡아준다. 다음과 같이 문제해결이된다. 근데 pycharm CE버젼에서는 django Run이 없기때문에 Python으로 돌리는 방식말고는 없다. https://blueshw.github.io/2016..
장고 URL html 템플릿 URL 설정시 참고사항
장고 URL html 템플릿 URL 설정시 참고사항
2020.07.24{{ post.title }} board:post_detail 이부분 대충 보면 url -> 의 주소로 이동하겠다는 뜻인데 이게 먹힐려면 장고걸스 듀토리얼에는 요런식으로 적혀져있다. {{ post.title }} 문제는 이러면 재대로 출력이 안되고 reverse문제가 발생하는데, 이 url.py에서 post_detail의 를 재대로 찾아주지 못해서 발생하는 문제 같았다. 어디에서 이 url을 찾아야하는지 못하는 문제가 발생하므로 앞에 이함수를 들고 있을 범직한 곳으로 가서 전달해줘야하는 문제가 발생하는 것같다. 즉, 그 app의 이름 : url의 def이런식의 구조를 만들어놔야지 되는 듯했다. 결론 URL 규칙은 url,py의 name ='~~' 의 String값을 알아서 mapping시켜주는 것 같다...
Django에서 파일 업로드 구현시 파일이 안올라갈때..
Django에서 파일 업로드 구현시 파일이 안올라갈때..
2020.07.24Django 파일 업로드시 분명히 model Form도 다 만들고 했는데 안올라가는 상황이 있다. ?? 왜 안되나했드니만 enctype에서 multipart/form-data를 하지 않았기 때문. 파일 저장이 안되서 실제로 보여줘야할때 재대로 보여줄 수 없었다 . 즉, 저 enctype을 추가하지 않은 경우 파일 자체는 넘어가지지 않는다.
파이썬에서 리스트 안 리스트를 집합으로 만들때 해결방법
파이썬에서 리스트 안 리스트를 집합으로 만들때 해결방법
2020.03.18[Python] - 웹 크롤링으로 강원대학교 컴퓨터공학과 공지사항 텔레그램 봇 만들기에서 저는 한가지 기능을 만들어내고 있었는데요. 그 기능은 바로 최근 크롤링한 리스트와 이전 크롤링한 리스트를 비교해서 최신 게시물이 있으면 그 최신 게시물만 뱉어낼수 있게끔 처리하는 작업을 만들어내고 있었습니다. 이런 방식을 위해서는 list를 Set으로 만들어줘야했는데요. 저는 list안에 크롤링한 데이터들을 List로 가지고 있어서 Set으로 만들어주는데 문제가 발생했습니다. ㅠ TypeError: unhashable type: 'list' 파이썬을 많이 접해보지 않은 나로써 좀 당황하고 얼좀 탔는데 해결법은 예상보다 단순했는데요.. 파이썬에서 List는 변동가능하기때문에, 만들어지지 않는 것인데요. 즉, List를..
파이썬에서 CSV파일을 읽는 방법들. reader(),genfromtxt(),.readcsv()
파이썬에서 CSV파일을 읽는 방법들. reader(),genfromtxt(),.readcsv()
2019.10.13안녕하세요. 요즘에 파이썬을 공부중이라서 정리겸 포스팅을 합니다. 최근 주변에 Python을 하는 사람이 많아졌고, 그리고 저도 최근 인공지능 공부때문에 파이썬을 쓰다보니 좀 유용하게 쓸 정보들이 많은 것 같아서 정리를 해야겠습니다. 파이썬에서 CSV파일을 읽는 방법들 사실 파이썬은 툴이고 자료를 가져오는 방식은 특정 라이브러리를 통해서 함수로 읽어오는 방식을 택합니다. 뭘 통해서 가져와야할지를 해매는 경우가 많기 때문에 한번 제가 여기저기 몸으로 고생했던 이야기를 해봅니다. 파이썬에서 읽는 방법은 3가지가 있습니다 . 1. CSV 라이브러리 2. Numpy 라이브러리 3. Pandas 라이브러리 들어가기에 앞서서... 간단한 csv파일을 만듭시다 . 1. CSV 라이브러리 ( csv.reader() )..