django orm 성능 튜닝

그 전에 작동원리를 정확히 확인을 못했었는데 오늘 새롭게 알게된 것이 있어서 공유합니다. 먼저 두개의 모델을 만들어주겠습니다. Book이라는 모델과 Author라는 모델 class Author(models.Model): name = models.CharField(max_length=150) age = models.IntegerField() class Book(models.Model): name = models.CharField(max_length=150) author = models.ForeignKey(Author, null=True, on_delete=models.DO_NOTHING) Book이라는 모델의 author는 Author모델을 연결시켜놓은 필드입니다. 여기에 테스트를 위해서 테스트 데이터를 입력하도록 하겠습니다. person_a = Author(name='person_a', age=20) … 계속 읽기 django orm 성능 튜닝

Line Blockchain signature 생성

기본적으로 라인 블록체인에 API요청을 보내기 위해서는 헤더에 timestamp, nonce, service-api-key, signature가 필요하다. timestamp, nonce, serivce-api-key는 쉽게 확인할 수 있는데 signature는 직접 만들어줘야 하는 값이다. (물론 timestamp, nonce도 직접 입력해야 하긴 하지만 그 자체로 무슨 의미이고 어떤 값을 입력해야되는지 알 수 있다) https://docs-blockchain.line.biz/api-guide/Authentication 문서를 보면 signature를 만드는 입력값은 api 요청에 따라 다르긴 하지만 모두 같은 흐름을 … 계속 읽기 Line Blockchain signature 생성

Git, 히스토리에서 파일 삭제

기존에 프라이빗이었던 레포나 커밋, 푸시를 잘못해서 깃에 올라가지 말아야할 파일들이 올라갔다면 단순히 파일을 삭제하는 것만이 아닌 히스토리에서도 삭제해 주어야 제대로 삭제했다고 할 수 있다. 단순 삭제만 하면 과거 커밋 체크아웃하면 해당 파일이 남아있기 때문에... 인터넷에서 몇번 찾아서 하다가 원래 커밋이 자꾸 남아서 방법 찾다보니 역시 공식문서가 짱이시다... 원하는 레포 폴더에 들어가서 변경된 파일 없게 깨끗하게 … 계속 읽기 Git, 히스토리에서 파일 삭제

확실히 알지 않으면 도구는 최소한으로

요즘 다시 공부하면서 Django Cookiecutter라는 도구를 알게되었다. 초기 프로젝트 구조를 잡아주고 사람들이 많이 쓰는 도구들을 기본적으로 세팅해주는 도구인데 이것때문에 생긴 문제가 있었다. 코드 다 짜놓고 이제 배포 준비를 하기위해서 새롭게 docker와 docker-compose를 사용해보기로 하고 세팅을 하고 접속 가능한 상태로 만들면서 제대로 되나 테스트를 해보고있었는데 인터넷에 있는 어떤 방법을 써도 잘 안되는거였다. nginx 화면까지는 뜨는데 그 … 계속 읽기 확실히 알지 않으면 도구는 최소한으로

데이터베이스 정규화

데이터 베이스 정규화란? 관계형 데이터베이스에서 중복을 최소화하게 데이터를 구조화하는 작업. 중복된 데이터가 많으면 데이터를 삽입/수정/삭제할 때 예상치 못한 문제가 발생할 가능성이 높기 때문에 이런 문제를 예방하는 목적도 있음. 정규화에는 1차 정규화, 2차 정규화, 3차 정규화 등등 여러가지 방법이 있는데 쉽게 생각해서 큰 테이블을 중복된 데이터가 만들어지지 않게 작은 테이블로 쪼개는 작업들이라고 이해하면 된다. 1, 2, … 계속 읽기 데이터베이스 정규화

기본적인 용어와 개념

https://youtu.be/qPMeuL2LIqY?list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm 머신러닝은 학습의 개념이다. 프로그램이 미리 짜여진대로 동작하는 것이 아닌 프로그램이 데이터를 가지고 학습! 방법에 따라서 supervised learning과 unsupervised learning으로 나뉜다. supervised learning은 데이터에 이미 답이 정해져있는 데이터를 가지고 프로그램이 학습을 한다. 예를들어 어떤 사진이 있으면 이 사진은 개, 저 사진은 고양이같이 정답이 있는 데이터들을 가지고 학습하는 것이다. unsupervised learning은 반대로 데이터에 답이 정해져 있지 … 계속 읽기 기본적인 용어와 개념

머신러닝 차근차근 시작해보기

요즘 컴퓨터과학에서 빠질 수 없는 머신러닝, 구글에서 머신러닝을 쉽게 접근하기 위해서 텐서플로라는 것도 제공하고 여러 머신러닝을 쉽게 접할 수 있게 해주는 라이브러리들이 많다. 나도 틈틈히 머신러닝 공부하기로... 작심삼일이 되지않게 블로그에다가 기록 남기기...ㅋㅋㅋ 공부는 유튜브에 있는 머신러닝 강좌로 시작하기로 했다. 다행히 한글이고 한 영상의 길이가 그렇게 길지 않으니 부담스럽지 않게 들을 수 있다. https://www.youtube.com/playlist?list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm 좋은 강의를 … 계속 읽기 머신러닝 차근차근 시작해보기

Python에서 ‘is’와 ‘==’의 차이

Python 자체가 쉽고 언어가 그렇게 어려운편이 아니어서 그런지 나도 쓸때마다 너무 겉핥기로 알고있다는 생각을 많이 한다. 이미 시작은 해버렸고 이제 모르는건 바로바로 찾아서 깊게 아는게 중요! 오늘은 코드 짜다가 if문에 is를 썼는데 갑자기 is와 ==의 차이점이 궁금하다. 그 전엔 그냥 튜토리얼이 있으면 그대로 썼는데 문득 의문이 생긴다. is와 ==의 차이가 뭘까 분명히 뭔가 차이가 있을텐데... … 계속 읽기 Python에서 ‘is’와 ‘==’의 차이

Python파일에서 Django설정 사용하기

웹 크롤링을 해서 Django에 데이터를 집어넣고 싶었다. 그런데 Python파일에서는 Django를 바로 못쓰네... 하던참에 해결방법 찾음! Django 프로젝트 맨위에 python파일을 하나 만들고 Python파일에 이렇게 하면 Django에서 사용하던 모델을 그대로 사용할 수 있고! 모델 인스턴스 만들어서 save하면 바로 DB에 저장이 가능하다

Windows에서 lexrankr 패키지 설치하기

Windows에서 lexrankr을 두번설치 시도했었는데 두번다 그냥 pip install lexrankr 을 사용하면 오류가 난다. 내가 격었던 오류는 먼저 scipy 설치 오류 scikit-learn 설치 오류 JPype1-py3 설치오류 세가지인데 일단 내 사양은 python 3.6버전이고 windows 10이다. 1, 2번 오류는 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 여기에 접속해서 scipy와 scikit-learn을 자신의 운영체제와 python버전에 맞게 다운로드한 뒤에 다운받은 경로에 들어가서 pip install 파일명 을 해주면 설치가 가능하다! … 계속 읽기 Windows에서 lexrankr 패키지 설치하기