분류 전체보기
-
Django 비즈니스 로직을 분리하는 4가지 방법💻 프로그래밍/Django 2021. 2. 13. 06:07
안녕하세요! 오늘은 Django에서 비즈니스 로직을 분리하는 방법들에 대해 말해보려고 합니다! 최근에 개발을 하면서 비지니스로직에 대한 고찰을 해보게 되었고. 여러 블로그들을 참고하면서 그 블로그들을 통해 배운 내용들과 제 생각들을 함께 정리해보겠습니다. 0. 들어가기전 Django 는 완벽한(?) MVC 패턴의 프레임워크입니다. Model, View, Controller 로 나누어져 있으며 정확히는 Model, Template(View), View(Controller) 입니다. (살짝 용어가 다름) MVC 패턴 덕분에 Django 뿐만 아니라 여러 프레임워크에서 코드 재사용, 프로젝트 구조 파악 등을 쉽게 할 수 있습니다.(이하 MTV) 간단히 Django의 MTV에 대해 설명해보면 Model: 데이터..
-
[Gunicorn] SystemExit 1💻 프로그래밍/네트워크 2021. 1. 25. 00:10
토이프로젝트를 진행하면서 API 테스트를 하는데 Sentry에 이런 메세지가 떴다... 그리고 포스트맨(postman)에는 502(Bad Gateway) 오류가 떴다. 보통 502하면 커넥션이 끊어지거나 하는이유였고, 센트리 오류로는 사실 최근에 회사 센트리로 미리 접해본 오류였다. 일단 상세한 내용을 위해 센트리를 들어가서 오류가 난 부분을 확인해보았다. 센트리를 보면 이부분에서 오류가 났다고 한다. 일단 경험 + 감으로 커넥션 오류가 Gunicorn 에서 난것 같은데, 정확한 내용을 확인하기 위해 구글링을 해보았다 ㅋㅋㅋㅋ 구글링 결과 이경우 Gunicorn TimeOut 보다 커넥션 시간이 길어져서 끊긴 경우라고 한다. 현재 진행하고 있는 토이프로젝트 서비스 특성상 꽤 많은 응답시간이 걸리는 경우가..
-
Django, Nginx CORS 설정💻 프로그래밍/Django 2021. 1. 17. 21:51
친구와 토이프로젝트를 진행하던 도중 CORS문제를 만났다. Web에서 서버로 API를 호출했는데 아래와 같은 오류를 만났다. Access to XMLHttpRequest at '{target url}' from origin '{current url}' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 아마 웹개발을 하는 사람들이라면 종종 마주친 오류였을 것이다. 간단히 말하자면 CORS 정책을 지키지 않았기 때문에 api호출이 금지 되었다는 것이다. 오류를 보면 Access-Control-Allow-Origin 가 헤더에 업기 때문에 CORS 정책에 의해 B..
-
최악의 상황이라 생각될때 맥주한잔 하면서 생각정리🍺👨🏻💻 개발자 제이의 이야기 2021. 1. 17. 04:42
시계는 4시 13분을 가리키는 새벽에 나는 개인 프로젝트를 배포한 후, 맥주 한잔을 하고 있다. 개인적으로 어제까지 정말 최악이라고 생각할 정도의 상황이라 느껴졌고, 오늘까지의 그 상황에 대해서 생각하고 나의 느낀점과 생각을 정리해보려고 한다. 내가 개인적으로 최악인 상황이라 느꼈던 이유는 크게 이렇게 나눌 수 있을 것 같다. 1. 코로나로 인해 친구들을 못 만나다는 점 2. 5년째 솔로인 점 3. 개발자로서 성장에 대한 갈증과 불안함 뭔가 다들 내뜻대로 되는 일이 하나도 없다고 느껴질 때가 있지 않나? 어제까지가 딱 그런 상황이였다. 뭔가 하나라도 만족되는게 없을때... 지금의 상황에서 그려본 나의 미래에 대한 불안감... 나보다 앞서 나가는 사람들을 바라보는 나.... 이 모든것들이 겹쳐지다보니 엄청..
-
'운동하는 (2년차)개발자'의 2020년 회고👨🏻💻 개발자 제이의 이야기 2021. 1. 2. 08:46
조금 늦은 감이 없지 않아 있지만...(지금은 2021년 1월 2일;;) 매년 써오던 회고라 안 쓰기도 찝찝해서 쓴다. 2020년이 가기 전에 회고를 쓰려고 했지만 늘 그렇듯 연말부터 바빠진 프로젝트에 피로와 귀차니즘이 더해져 미루고 미루다 지금 쓰게 되었다. 2020년은 코로나로 인해 시간도 빨리가고 못해본 것도 많지만, 그 와중에 나름 재밌는 일도 많았고 내면의 화😡가 치밀어 오르는 일도 많았던 것 같다. 30대의 시작이였던 2020년 한 해를 마무리하면서 몇 가지 키워드를 통해 2020년을 정리해보려고 한다. 1. 성장 👨💻 첫번째 키워드는 '성장'이다. 이건 모든 개발자... 아니 직장인들에게 중요한 키워드이기도 하다. 나는 2020년 한 해 내 성장에 대해 많은 고민과 스트레스를 받았다. 지금..
-
update_or_create()하는데 갑자기 Dead Lock 너는 왜나오냐?! (feat. transaction)💻 프로그래밍/Django 2020. 10. 26. 20:01
안녕하세요! 운동하는 개발자 제이입니다! 오늘은 Dead Lock과 Transaction에 대해서 알아보려고 합니다! 회사에서 종종 위 이미지와 같은 센트리 리포팅을 볼 수 있었는데, Deadlock (교착상태)에 대해서 개념은 알고 있었지만 실제로 코드상에서 왜 Deadlock이 나는지 정확한 이유를 알진 못했습니다. 시니어 개발자분께서 transacion log를 보여주시면서 설명은 해주셨는데, 그냥 그렇구나 하고 넘어갔던 것 같아요(이러면 안 됩니다 여러분 ㅎㅎ) 최근에 DB에 대해서 좀 더 관심이 생겨서 이 Deadlock에 대해서 실제 django orm을 보면서 알아보려고 해요. 1. Dead-lock 그리고 Transaction 일단 간단히 Deadlock이 뭔지 transaction이 뭔지..
-
📝 글또 4기를 마치며👨🏻💻 개발자 제이의 이야기 2020. 8. 16. 21:14
안녕하세요! 운동하는 개발자 JAY입니다! 어느덧 반년(?) 정도의 글또 4기 기간이 이 글로 마치게 됐네요 ㅎㅎ 올해도 4개월 반(?) 정도밖에 남지 않았고... 정말 시간은 빠르게 흘러가는 것 같습니다! (글또와 함께 늙어가는 이 기분 ㅋㅋ) 마지막을 어떻게 마무리 할까 생각하다가, 작년 하반기에 했던 글또 3기 때의 저와 현재 글또 4기를 마무리하고 있는 저의 달라진 점(?) 발전한 점, 그리고 더 노력해야 하는 점 등을 정리해보려고 합니다. 글또니까 글을 얼마나 썼을까? ✏️ 매번 글또를 시작할 때마다 다짐글을 작성하는데, 다짐글 기준으로 시작과 끝을 정했을 때 글들을 정리해 보면 - 3기때 작성한 글은 13개 - 4기에 작성한 글은 21개 무려 8개나 더 많은 글을 썼습니다! ㅋㅋㅋ 추가로 예치..
-
filter() + lambda VS list comprehension💻 프로그래밍/Python 2020. 8. 10. 19:39
안녕하세요! 운동하는 개발자 Jay입니다!! 오늘은 list의 내용을 필터링해서 새로운 list로 반환하는 두 가지 방법에 대해서 알아보겠습니다! 1. filter, lambda 함수를 이용 filter함수와 lambda 함수로 list를 입력받아 조건으로 필터링하는 간단한 코드를 보겠습니다. # python2.x test_list = [1, 2, 3, 4, 5] filter(lambda a : a > 2, test_list) filter(lambda 값 : 조건문, 리스트) 문법은 굉장히 간단합니다. lambda 함수를 정의하고 filter로 감싸주면 됩니다. 결과를 확인해 보겠습니다. 오 상당히 쉽습니다. 하지만 이렇게 쉽게 끝나면 글을 쓰지 않았겠죠? filter함수의 return값이 python3..