장고에서는 기본적으로 제공해주는 어드민이 있다. 처음에 봤을땐 그냥 데이터베이스 직접 보는거랑 이게 뭔 차이인가.. 하는 생각을 했었는데, 문서(Django Document link)를 읽어보니 제법 기능이 많았다. 간편하게 커스터마이징하기 쉬운 것은 아래와 같다. list_display 말 그대로 모델어드민의 리스트 상에서 어떤 목록이 보여질지를 정하는 것이다. 해당 모델의 컬럼 중에서 리스트 상에서 보여줄 컬럼을 정할 수 있다 list_display_links 리스트 상에서 해당 객체의 수정 페이지로 이동하는 링크를 어떤 컬럼에 걸지 정한다. 당연히 여기에서 지정하는 필드는 list_display에도 있어야 한다. list_filter 오른쪽 사이드바에 필터를 활성화하고, 어떤 컬럼값으로 필터링할지 ..
그동안 수많은 알고리즘 강의나 책을 사놓고 그대로 방치해놨는데.... 매주 마감일과 진도가 체크되니까 그래도 좀 하지 않을까 하는 생각에 등록했다. 특화과정의 첫 강의는 Algorithmic Toolbox고 해당 과정에선 탐욕알고리즘, 분할정복, 다이나믹 프로그래밍 등을 다루고 있으며 2주차까진 알고리즘적인 발상을 하는 방법에 대해서 다루고 있다. 첫 주에는 간단한 프로그래밍 문제를 통해 프로그래밍하는 방법에 대해 소개하고 있다. 첫번째 문제는 입력받은 숫자 두 개의 합이다. 이 강의에선 자바, C++, 파이썬 이렇게 세 개의 언어를 지원하고 있으며, 각 언어로 해당 문제에 대한 해답도 제공되어있다. 쉬운 문제이므로 직접 풀어도 되고, 제공된 파일을 그대로 제출해도 첫번째 과제는 통과된다. def sum..
원래 쓰던 테이블에 필드가 하나 더 있는 것이 좋을 것 같아서 필드를 추가하고, 들어온 값의 일부를 사용해서 해당 필드를 채우도록 save를 다음과 같이 오버라이딩했다. def save(self, *args, **kwargs): if not self.extension: self.extension = str(self.file).split(".")[-1] super(File, self).save(*args, *kwargs) 그리고 어드민에서 잘 동작하는 것 같아서 그냥 두고 잊어버리고 있었다. (사실 테스트코드만 있었어도 해결가능하지만......ㅎ) 그러던 와중 앱 테스트 도중에 파일 업로드가 안된다는 얘기를 들었다. 에러 메세지는 다음과 같다. ValueError: Cannot force both inse..
새로운 프로젝트를 맡아서 api 서버개발을 했다. 회사에 서버개발하는 사람이 나밖에 없어서 서버구축 - api 설계 - 코드 작성 - 배포 다 나 혼자 한다....리뷰도 셀프^^ ... 아무튼 django restframework로 api 개발을 마치고, 이 블로그를 참조하여 docker-compose를 사용해서 nginx, gunicorn을 사용하는 컨테이너를 만들었다. 테스트해보니까 로컬에선 venv + runserver 혹은 docker-compose up로 서버 띄워서 테스트시 양쪽 다 내가 의도한대로 잘 돌아가길래 이제 배포만 하면 되겠구나! 하고 배포했다. 배포의 경우엔 AWS ec2에 저장소 코드를 올리고, 여기에 어플리케이션 로드밸런서를 붙인 후, route53에서 이미 생성되어있는 호스팅..
에듀캐스트에서 이진석님의 강좌 '리액트와 함께 장고 시작하기 Complete'를 다 들었는데 막상 정리를 안 해놔서 강좌 내용을 바탕으로 장고 이론을 정리해보기로 했다. ORM이란? Object-Relational-Mapper의 약자로 프로그래밍언어의 OOP 스타일로 쿼리를 작성할 수 있게 해주는 것. 장: 어떤 디비를 사용하든지 이미 잘 알고있는 언어를 사용해 디비를 조작할 수 있으므로 매우 편리하다. 단: ORM을 사용함으로서 오버헤드가 발생하며, SQL을 통해 튜닝하는 것이 ORM을 통해서는 불가능할 경우가 많다. Django Models 장고 ORM은 RDB만 지원한다. (따라서 MongoDB 등의 NoSQL을 쓴다면 장고보다는 다른 파이썬 프레임워크를 쓰는 것이..) 상황에 따라 다르겠지만 되도..
웹사이트를 만들때 페이지마다 허용되는 유저가 같으면 곤란한 일이 많이 발생할 것이다. 예를 들어 관리자 페이지인데 일반 유저가 들어간다던가, 아니면 유료로만 이용이 가능한 페이지인데 로그인도 안한 유저가 사용한다던가 하는 경우 말이다. 이런 일을 방지하기 위해서 Django View 상에서 동작하기 전에 무조건 유저를 검사해주도록 하기 위해 장고 뷰의 기본 메서드중 dispatch와 데코레이터를 활용해보기로 했다. 우선 기본 뷰의 메서드 중에는 dispatch라는 녀석이 있다. 이 녀석이 뭐냐면 request와 기타 argument를 입력받고 HTTP Response를 리턴하는 놈인데, HTTP 메서드를 검사하고 해당 메서드와 일치하는 메서드로 연결을 해주는 녀석이다. GET은 get()으로, POST는..
사실 당연하게도 서버에 있는 데이터베이스를 가지고 테스트를 하진 않을거고, DEV서버가 따로 있겠지만 완전히 혼자서 갖고 놀 수 있게 로컬에 DB를 만들고 싶을때가 있다. 그럴 때를 대비해 작성해놓는 포스트. 일단 postgresql을 설치하자. - sudo apt-get install postgresql postgresql-contrib psql 서버를 시작한다 - sudo service postgresql start postgres의 경우에는 자동적으로 생성되는 유저이므로 이 계정으로 변경해보자. - sudo -u postgres -i 그 다음 postgresql로 접속! - psql 여기서 현재 상태를 확인해볼 수 있다. 대표적인 명령어는 아래의 것들이 있다. \du : 유저목록확인 \l : 데이터..
정말 피하고 싶었지만 어쩔수없이 React.js를 공부해야 하는 상황이 왔다. 프론트 안 내키는데.... 어쨌건 nodejs 와 npm을 설치하기로 했다. 나의 환경은 윈도우즈10의 wsl2, 우분투의 버전은 20.04다. 왜 그런지 모르겠는데 npm은 설치할때마다 매번 이슈가 생긴다. 한번에 깔끔하게 설치된 적이 없는듯... 아무튼 일단 nodejs부터 설치해보자. 나는 이 링크를 따라서 설치했다: github.com/nodesource/distributions/blob/master/README.md#debinstall nodesource/distributions NodeSource Node.js Binary Distributions. Contribute to nodesource/distribution..
여러 가지 방법이나 툴이 있는데 나는 DbVisualizer를 사용했다. 지원해주는 데이터베이스가 더 있는데 우선 난 postgreSQL을 사용하기도 하고, 급하니까 이거만 연결해서 뽑아보기로 하겠다. DBVisualizer은 여기서 다운받으면 된다. - www.dbvis.com/download/10.0 Download the old DbVisualizer 10.0.27 - For Windows, macOS, Linux We use cookies to ensure that we give you the best experience on our website. However you can change your cookie settings at any time in your browser settings. w..
깃허브 계정을 헷갈리는 바람에 잘못된 계정으로 커밋후 푸쉬까지 했는데 그 직후에 깨달았다. 덕분에 깃허브 계정의 잔디밭이 커밋이 있는 날임에도 회색을 띄고 있어서 영 거슬렸다. 이에 커밋의 author 수정하는 방법을 찾았는데 중간에 nano 에디터의 사용법을 몰라서 약간 헷갈렸어서 정리해본다. 근데...이게 일주일전 일이라 중간 과정이 좀 생각이 안 남 ㅠㅠ 우선 git log 로 커밋히스토리를 확인해본다. commit b0sdfsdf13dffdggdfgfg Author: wrong_user Date: Tue Sep 20 18:44:05 2020 +0900 second commit: commt msg2 commit b5783drtedrd2dfgdfgd Author: wrong_user Date: Tue..
- Total
- Today
- Yesterday
- askcompany
- 개발자리뷰어
- 한빛출판사
- BookDiscussion
- 리액트와함께장고시작하기
- 그래프QL인액션
- Docker
- 싱가포르
- 아토믹코틀린
- 나는리뷰어다2022
- 싱가폴여행
- 해외여행
- 파고다갓생후기챌린지
- django
- 혼자공부하는얄팍한코딩지식
- Singapore
- 파고다후기
- udemy
- 나는리뷰어다
- SQL기초구문
- 한빛미디어
- 길벗출판사
- 머신러닝파워드애플리케이션
- Python
- 다시미분적분
- 싱가폴
- 파고다강남후기
- 동남아
- SRE를위한시스템설계와구축
- 유데미강의
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |