일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 보행자 천국
- 카카오 인턴
- Open API
- Spring Boot
- 징검다리 건너기
- 트라이 #trie #알고리즘
- 티스토리
- 가사 검색
- CleanCode
- 트라이
- 티스토리 open api
- 프로그래머스
- 호텔 방 배정
- pycon
- bulk update
- 불량 사용자
- Python
- 크레인 인형뽑기 게임
- Tistory
- trie
- jdbc
- 튜플
- 알고리즘
- Today
- Total
목록분류 전체보기 (153)
택시짱의 개발 노트
1편 - django 토이 프로젝트에 git action, code cov 적용해보기 (회고 느낌) - 1 오늘은 docker-compose를 이용하여 비동기 아키텍처를 구성해 보려고 합니다. (celery + rabbitmq + flower) 먼저 개념들에 대해 간단하게 알아보고 가시죠 비동기란? 비동기 방식은 현재 작업의 응답과 다음 작업의 요청이 동시에 진행되지 않아도 되는 것으로 응답에 관계없이 바로 다음 동작이 실행되는 것 celery란? celery는 분산 메시지 전달에 기반한 비동기 작업 queue로써 별도로 실행 중인 Worker Process가 Broker로부터 Message를 전달 받아 작업을 대신 수행해 주는 라이브러리이다. rabbitmq란? RabbitMQ는 AMQP(Advance..
인덱스란(index)? 인덱스는 쿼리 속도를 높이기 위해 데이터베이스의 백그라운드에서 사용되는 강력한 도구이다. 요청된 데이터를 빠르게 조회하는 방법을 제공하여 쿼리를 인덱싱 한다. 데이터 베이스의 인덱스는 책 뒷면의 색인과 매우 유사 하다. 인덱싱은 여러 필드에서 여러 레코드(record)를 정렬하는 방법이다. 테이블의 필드에 인덱스를 생성하면 필드 값과 관련된 레코드에 대한 포인터를 보유하는 또 다른 데이터 구조가 생성된다. 그런 다음 인덱스 구조가 정렬되어 이에 대한 이진 검색( 시간 복잡도 O(longN) )을 수행할 수 있다. 쿼리(query) 실행시 SELECT * FROM Employee WHERE Employee_Name = 'Abc' 인덱스 없이 쿼리 실행시 데이터베이스 소프트웨어는 말 ..
Object Oriented Programming(OOP) 데이터(data)를 추상화시켜 상태(속성)와 행위(method)를 가진 객체(object)로 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직(흐름)을 구성하는 프로그래밍 방법 프로그램을 실제 세상에 가깝게 모델링하는 기법 class 어떤 문제를 해결하기 위한 데이터를 만들기 위해 OOP 원칙에 따라 집단(현실 세계)에 속하는 속성과 행위(methods)를 변수와 메서드로 정의한 것 "로봇 설계도", "쿠키 틀" instance (object) class에서 정의한 것(설계도)을 토대로 실제 메모리상에 할당된 것(실제 사물, object)으로 실제 프로그램에서 사용되는 데이터이다. 하나의 class로 만들어진 여러 instance(objec..
https://www.facebook.com/dgtgrade/posts/3654195844639255 로그인 또는 가입하여 보기 Facebook에서 게시물, 사진 등을 확인하세요. www.facebook.com 초초초 기초 질문 20선: 1. 1바이트는 몇 비트인가요? *) 참고로 "옛날에는..." 이렇게 대답 시작하면 무조건 통과다. 그런 수준의 체크를 하고자 하는 것이 아니다. 2. 1픽셀은 몇바이트인가요? *) 마찬가지로 채널이 몇개냐에 따라서... 이렇게 대답하면 통과다. 이하 모든 질문 마찬가지 3. 2^10은 얼마인가요? 4. Stack과 Queue의 차이가 뭔가요? 5. Binary Tree의 시간 복잡도가 어떻게 되나요? 6. DNS의 역할이 무엇인가요? 7. HTTPS와 HTTP의 차이는..
결론 : decorator의 호출 순서는 아래에서 위로! django rest framwork에서 decorators method를 이용하여 view를 작성하고 있었다.이때 permission_classes, api_view decorator를 같이 사용하고 싶었고 나는 api_view -> permission_classes 순서로 호출되길 원했다. 이때 파이썬 코드는 절차적으로 진행 되니까 아래 코드 처럼 api_view를 위에, permission_classes를 그 다음으로 작성하니Server Error가 뜨는 것이다..# decorators의 순서가 올바르지 않음@decorators.api_view(http_method_names=['POST'])@decorators.permission_class..
처리율 제한 장치란? 처리율 제한 장비(Rate Limiter)는 클라이언트가 보내는 트래픽의 처리율(Rate)을 제어하기 위한 장치다. 일반적으로 정의된 임계치(Threshold)를 넘어가면 추가로 들어온 모든 호출은 처리를 중단한다. Ex) GET - api/v2/products는 초당 10회까지만 호출이 가능 하다 처리율 제한 장치를 사용할 때의 장점 Dos 공격에 의한 자원 고갈 방지 비용 절감 서버 과부하를 방지 처리율 제한 장치를 어디에 둬야 될까? 클라이언트 - 클라이언트의 요청은 쉽게 위변조가 가능하기 때문에 처리율 제한이 안정적이지 않다. 서버 or 미들웨어(middleware) 서버에 처리율 제한 장치를 둘 경우 미들웨어에 처리율 제한 장치를 둘 경우 이때 처리율 제한을 실현하는 알고리..
지금 재직중인 회사의 서비스 레이어가 어떻게 구성되어있을지 분석해봐라 지금 재직중인 회사의 서비스가 어떻게 배포하는지 얘기해봐라 도커의 원리 ( vm과 차이점 ) 더보기 - 가상머신(VM)과 Docker container의 차이 가상머신(VM)은 환경(os)를 가상화 하는 반면, 도커 컨테이터는 호스트의 os 커널을 공유하여 단순히 격리 되어있는 하나의 프로세스(process)로 동작한다. 멀티쓰레드/ 멀티프로세스 차이 더보기 프로세스란 ? 프로세스는 운영체제로부터 자원을 할당받는 작업의 단위, 스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위 멀티 스레드 VS 멀티 프로세스 - 멀티 스레드는 멀티 프로세스보다 적은 메모리 공간을 차지하고 문맥교환(context switching)이 빠른 장점, ..
집에 남는 데스크톱에 centos7를 설치하여 서버를 운영하고 있는데 어느날 갑자기 mysql로그인이 안됬다.. 아래와 같이.. 찾다보니 좋은 사이트를 찾았고 문제를 해결 했다. https://www.linuxquestions.org/questions/linux-newbie-8/mysqld_safe-command-not-found-4175642427/ [root@localhost ~]# systemctl stop mysqld [root@localhost ~]# systemctl set-environment MYSQLD_OPTS="--skip-grant-tables" [root@localhost ~]# systemctl start mysqld [root@localhost ~]# mysql -u root m..