일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- bulk update
- jdbc
- 티스토리
- Spring Boot
- 불량 사용자
- 카카오 인턴
- 가사 검색
- 알고리즘
- trie
- 크레인 인형뽑기 게임
- Python
- 프로그래머스
- CleanCode
- pycon
- 보행자 천국
- Open API
- 징검다리 건너기
- 트라이 #trie #알고리즘
- 튜플
- Tistory
- 트라이
- 호텔 방 배정
- 티스토리 open api
- Today
- Total
목록분류 전체보기 (153)
택시짱의 개발 노트
토이프로젝트 시작 이유로는 회사를 다니면서 배운 기술( django code 작성법, test code, CI, elasticsearch, swagger 등등..)을 복습 및 잊어 버리지 않기 위해 시작하게 되었다. 토이 프로젝트는 간단한 API를 설계 하였고 API를 혼자 설계 및 테스트하면 재미가 없기 때문에 나의 api를 사용해줄 android 개발자도 섭외 했다. ( 아래는 현재 진행 중인 토이 프로젝트 github 링크 ) https://github.com/taxijjang/django_shopping_mall_api_project GitHub - taxijjang/django_shopping_mall_api_project: django로 쇼핑몰 API 프로젝트 django로 쇼핑몰 API 프로..
29.1 유틸리티들을 위한 코어 앱 만들기 조금이라도 연관이 있는 앱 하나를 찾아 그곳에 무작위로 유틸리티들을 무작위로 넣었다가는 훗날 유틸리티가 필요할때 찾기 어려운 상황에 봉착할 수 있다. 프로젝트 전반에 걸쳐 쓰이는 함수들과 객체들을 넣어 두는 코어(core)라는 장고 앱을 이용하여 유틸리티들을 보관한다. 예를들어 여러 앱에서 공통으로 이용하는 커스텀 모델 매니저와 custom view mixin 등등 core/ __init__.py # 커스텀 모델 매니저 포함 models.py views.py # 커스텀 뷰 믹스인 포함 - 이때 코어 앱의 구조는 일반 장고 앱의 구성을 따르는게 좋다. 코어 앱 안에 위치한 커스텀 모델 매니저나 뷰의 믹스인을 임포는하는 것은 다른 일반 장고앱을 임포트하는 방법과 같..
classmethod classmethod는 instance에 독립적이다 classmethod는 instance에서도 실행이 되고 class 자체에서도 실행 가능 instance마다 값이 변하지 않음 class에 종속적 이다 classmethod는 클래스를 통해 호출 할 수있다. 그래서 클래스에 종속적 이다. classmethod는 클래스 변수에 접근(변경)이 가능하다. python에서 help(classmethod)를 입력시 class classmethod(object) | classmethod(function) -> method | | Convert a function to be a class method. | | A class method receives the class as implicit fi..
21년은 20대 마지막이었고 회사를 다니면서 개발에 대한 새로운 지식, 다양한 사람들과 협업하는 방법 등등 새로운것을 배웠다. 지난 1년을 돌아보기 위해 쓰는 회고록 이지만 요번 회고록은 졸업 후 지금까지의 내용을 담아 보려 하기에 이 회고록을 통해 개발자로 취업을 생각하고 계신 분들에게 조금이나마 도움이 되길 기원하며 작성하려 한다. 19년 2월 ~ 20년 2월 ( 무지성 알고리즘 ) 졸업 후 막연히 대기업에 들어가고 싶다는 생각에 코딩테스트를 무지성으로 준비하며 학교 사람들과 알고리즘 스터디를 진행하며 알고리즘 준비를 계속 해 나아갔다. https://github.com/algo-gzua/AlgorithmGzua GitHub - algo-gzua/AlgorithmGzua Contribute to al..
비동기 태스크 큐(asynchronous task queue)란 태스크가 실행되는 시점이 태스크가 생성되는 시점과 다르고 태스크의 생성 순서와도 연관 없이 실행되는 작업을 의미한다. 💡 - 태스크 큐 vs 비동기 태스크 큐 장고에서는 이 두가지 비동기 태스크 큐를 의미한다. 장고를 다루면서 태스크 큐(task queue)를 썼다면 일반적으로 이는 비동기 태스크 큐를 의미한다. 브로커(broker) 태스크들이 보관되어 있는 장소. 데이터를 지속적으로 보관할 수 있는 도구라면 무엇이든지 이용할 수 있으나 장고에서는 RabbitMQ와 Redis가 가장 일반적으로 쓰인다. 프로듀서(producer) 나중에 실행될 태스크를 큐에 넣는 코드. 장고 프로젝트를 구성하는 애플리케이션 코드다. 워커(wocker) 태스크..
24.1 정말 (성능이란 것이) 신경 쓸 만한 일일까? 서툰 최적화는 오히려 해가 될 수 있다. 사이트가 아직 종소규모이고 페이지 로딩 속도에 문제가 없다면 이 장을 건너 뛰어도 무방하다. 24.2 쿼리로 무거워진 페이지의 속도 개선 느리게 반응하는 쿼리 때문에 생긴 문제를 해결하는 방안을 다룰 예정 ( 링크 참조 ) 24.2.1 django-debug-toolbar를 이용하여 문제가 되는 쿼리 찾아내기 django-debug-toolbar를 이용하면 쿼리의 출처를 대부분 찾아낼 수 있다. 아래와 같은 병목구간 또한 발견할 수 있다. 페이지에서 중복된 쿼리들 예상한 것보다 많은 양의 쿼리를 호출하는 ORM 호출( call ) 느린 쿼리 여러분의 장고 프로젝트에서 대강 어느 URL부터 해볼지 머릿속에 감이..
장고가 다른 프레임워크에 비교해서 장점은 바로바로 "어드민" 19.1 어드민 기능은 최종 사용자를 위한 것이 아니다 장고 어드민은 사이트 관리자를 위한 기능이지, 최종 사용자를 위한 기능은 아니다. 19.2 어드민 기능의 커스터마이징 대 새로운 뷰 기능 일반적으로 장고의 어드민 기능은 깊은 수준까지 커스터마이징할 필요가 없다. 고객을 위한 고객용 관리 대시보드를 구현하는 것이 어드민 기능을 수정하는 것보다 항상 고객의 요구를 더 충족 시킨다. 19.3 객체의 이름 보여 주기 모든 장고 모델에 대해서 항상 str()메서드를 구현하자. from django.db import models class IceCreamBar(models.Model): name = models.CharField() shell = m..
18장. 장고 코어 모듈을 고체할 때 주의점 장고 코어 부분을 자신만의 것으로 교체했다고 자랑하는 경우가 있는데 굳이 "그럴 필요가 없다" BUT 아래와 같은 경우에는 교체를 할 만한 가치가 있다. 일부 또는 모든 장고 서드 파티 패키지를 포기할 수 있다면 장고 어드민의 강력한 기능을 포기해도 문제가 없다면 장고의 기능을 기반으로 프로젝트를 제작하기 위해 이미 부단히 노력했으나 더는 해결할 수 없는 거대한 장벽에 부딪혔을 때 문제의 원인을 찾기 위해 코드 분석을 끝냈을 경우, 예를 들면 템플릿에서 쿼리를 줄이기 위한 작업을 다했을 경우 캐잇과 비정규화 등 가능한 모든 옵션을 다 고려했을 경우 많은 사용자가 이용하는 상용으로 서비스 중인 프로젝트인 경우, 다시 말해 성급하게 최적화하는 단계가 아닌 경우 S..