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 성능 튜닝

2020 회고

올해로 30살이 되었고 그 전까지는 뭔가 30살 전까지는 인생 튜토리얼이라는 생각으로 아무생각 없이 살았는데(지금도 아무생각 없는건 똑같다) 그래도 뭔가 종종 회고를 해보면 좋겠다는 생각이 들어서 올해 처음으로 회고를 적어본다. 일본 생활과 귀국 올해 상반기는 일본 생활과 귀국으로 얘기하면 될 것 같다. 작년 9월 말에 워킹홀리데이를 가게 되었고. 올해 6월에 귀국을 했다. 3달정도의 시간이 남아있었지만 코로나때문에 … 계속 읽기 2020 회고

제발 로직 파편화는 그만

회사에서 새로운 서비스 작업에 들어간지 1개월하고도 반이 지나갔다. 회사에 입사하기 전부터 어떤 데이터를 계산하는 것이 있는데 이걸 mysql내에서 돌아가게 해달라는 요청이 있어서 회사에 입사하자마자 mysql에서 쿼리를 짜는 작업을 하고있다. 그런데 나는 db컨트롤을 전부 ORM을 통해서 하고있었기 때문에 쿼리문을 만드는데 익숙하지 않았고 db에 있는 내부 기능들에 익숙하지 않았다. 굳이 db내에서 이 작업을 할 이유가 있을까? db에서 … 계속 읽기 제발 로직 파편화는 그만

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 생성

LOL팀 ELO랭킹 만들기 도전

추석 전 취업도전에 다 실패하고 집에서 LOL 2020 월드 챔피언십을 보고있었다. 종종 ESPN이나 여러 언론에서 선수들이나 팀 파워랭킹 순위를 만들어서 기사가 나올때가 종종있고 나도 재미있게 보고있었는데 주관적인 파워랭킹말고 객관적인 점수로 보여주는 랭킹이 있으면 재밌을 것 같다고 생각했다. ELO 포인트는 그 전에도 있는걸 알고있었기 때문에 만들어보면 재밌겠다 싶었다. 제일 문제는 경기 데이터가 어딘가에 있냐 하는건데 lol관련 … 계속 읽기 LOL팀 ELO랭킹 만들기 도전

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

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

커뮤니티 운영에서 애로사항

커뮤니티를 배포하고 올려놓은지 3주? 한달정도 된 것 같다. 이 중간에 커뮤니티를 배포해놓고 어려웠던 점을 알아보자 일단 사용자, 사용자가 없다. 커뮤니티는 운영자가 모든것을 만드는 사이트가 아니다. 기본적으로 사용자들이 모여서 정보 공유하고 잡담하고 그런 공간인데 사용자가 없다. 사용자가 커뮤니티의 필요성을 느끼지 못하거나 혹은 다른 커뮤니티보다 들어올 메리트가 없을 수도 있겠지. 사용자가 없다보니 뭘 업데이트해야 좋아할지 전혀 감이 … 계속 읽기 커뮤니티 운영에서 애로사항

8월 첫째주 업데이트 예정

8월 첫째주에는 지도부분에서 업데이트가 들어갈 예정인데요 지도에 카테고리를 나눠서 핀 색을 나눠주고 그 카테고리를 보여줄지 아닐지 사용자가 선택할 수 있게 만들었습니다. 그리고 화면에 보이는 핀만 가져오게 해 쓸모없는 데이터를 줄이는 작업을 했습니다. https://videopress.com/v/qIZFwlg5?preloadContent=metadata 개발 단계에서는 단순히 이 핀을 가리고 보여주는건 쉬웠지만 화면에 있는 핀만 가져와서 업데이트를 할 경우 기존에 있던 핀과 중복되버리는 부분이 있어서 어떻게 … 계속 읽기 8월 첫째주 업데이트 예정

첫 배포

처음 시작할때 목표가 7월에 배포해보자여서 7월이 끝나기 1주일 전부터 배포준비를 하고 작업하기 시작했다. 일단 최대한 많은 것을 써보자 해서 백엔드쪽은 docker-compose를 이용해 배포하기로 하였고 aws의 EC2나 EB쪽을 생각했고, 프론트는 S3를 이용해 정적호스팅을 하기로 계획했다. 미리 언급하면 하면서 정말 많은 문제가 발생하였다. 먼저 프론트쪽 작업을 위해 S3에 정적호스팅 세팅하고 react build해서 올려놓고 접속되는 것 까지 확인했다. … 계속 읽기 첫 배포

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

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