🚀 들어가며... pypi서버를 관리하는 도중에 갑자기 서버에 접근이 안되어서 문제를 해결하는 동안 겪었던 착오들과 명령어 위주로 정리해보았습니다. 📑 내용 원인 docker 컨테이너가 중지되어 있을 경우 접속되지 않음. 명령어 1. 컨테이너 목록 확인 현재 실행중인 컨테이너 목록을 확인 docker ps 정지되어 있는 컨테이너를 포함한 모든 컨테이너를 확인 docker ps -a 결과값 정의 CONTAINER ID 컨테이너에게 자동으로 할당되는 고유한 ID 출력은 고유 ID의 12자리만 나오지만, 전체 정보를 확인하기 위해서 docker inspect를 사용하면 전체 ID를 확인할 수 있습니다. IMAGE 컨테이너를 생성할 때 사용된 이미지 이름 [이미지 이름]:[이미지 버전] 형식으로 출력됩니다. C..
🚀 들어가며... 금일 포스팅에서는 .gitignore 파일을 통해 Git으로 프로젝트의 버전 관리를 할 경우 특정 파일이나 디렉토리를 제외시키는 방법에 대해 알아보겠습니다. 📑 내용 # .gitignore 파일 .gitignore 파일은 git에서 관리하지 않을 파일들을 지정해두는 파일 입니다. 프로젝트를 진행하다 보면 자동으로 생성되는 로그파일이나 외부 패키지, 깃에 공유되어서는 안되는 api키와 같은 내용이 작성된 .env 와 같은 파일들이 있을 수 있는데, 이러한 경우에는 .gitignore 에 원격 저장소에 commit 하고 싶지 않은 내용을 작성해두면 git에서 그 내용을 읽어 해당하는 디렉토리 또는 경로 패턴에 위치한 파일들을 버전관리에서 무시합니다. 이 때 주의할 점은 .gitignore ..
🚀 들어가며... 미들웨어를 공부하다가 장고에서 미들웨어는 request는 순서대로 들어오나 response는 역순으로 리턴되는 부분에서 왜 이렇게 설계를 했을까 하는 궁금증이 들어서 간단히 site-packages/django/core/handlers/base.py에 있는 소스를 분석해 보았습니다. 📑 내용 우선 저의 궁금증을 해결해줄 소스를 먼저 보여드리겠습니다. def load_middleware(self): """ Populate middleware lists from settings.MIDDLEWARE_CLASSES. Must be called after the environment is fixed (see __call__ in subclasses). """ self._view_middlewar..
🚀 들어가며... 금일 포스팅에서는 장고에서의 Cross site scripting / Cross site request forgery protection 을 알아보도록 하겠습니다. 📑 내용 Cross site scripting (XSS) protection 웹 어플리케이션에서 웹사이트 관리자가 아닌 이가 웹 페이지에 악성 스크립트를 삽입할 수 있는 취약점입니다. 주로 게시판이나 방명록 등 여러 사용자가 보게 되는 곳에 악성 스크립트가 담긴 글을 올리는 형태로 이루어집니다. 이 취약점은 웹 어플리케이션이 사용자로부터 입력받은 값을 제대로 검사하지 않고 사용할 경우 나타납니다. (ex) Hello! I am a hacker. 장고의 템플릿은 특별히 위험한 문자인 , ', '', & 등을 그들만이 알아볼 수..
🚀 들어가며... 금일 포스팅에서는 SQL에서 흔히 쓰는 DROP, TRUNCATE, DELETE의 차이점들을 알아보겠습니다! 📑 내용 차이점을 서술하기에 앞서 각각의 명령어의 특징을 알아보겠습니다. 1) DELETE - WHERE절을 사용하여 테이블에 있는 데이터를 하나하나 선택하여 제거하는 방식 - WHERE절을 사용하지않고 테이블의 모든 데이터를 삭제하더라도, 내부적으로는 한줄 한줄 일일히 제거하는 과정을 거칩니다. - 처리속도가 늦고, 퍼포먼스에 좋지않은 영향을 줄 수 있습니다. - 원하는 데이터만 골라서 삭제할 때에는 DELETE 사용 / 전체 데이터 삭제할 때에는 TRUNCATE 사용합니다. - 데이터를 삭제하더라도 데이터가 담겨있던 Storage는 Release 되지 않습니다. - DELET..
🚀 들어가며... 이번 포스팅에서는 postgresql에서 cursor.execute로 쿼리를 실행한 결과를 json 형식으로 만들어 반환해주는 방법에 대해 소개해보도록 하겠습니다. 📑 내용 저같은 경우에는 리스트안에 딕셔너리 형태로 표현을 하였고, cursor.description을 이용하여 쿼리결과의 컬럼값들을 뽑은 후 만들고자 하는 딕셔너리형식의 키값으로 넣어주고, cursor.fetchall()을 이용하여 나온 결과값을 딕셔너리의 벨류값으로 넣어줘서 최종적으로는 원하는 결과를 Json형식으로 만들어줍니다. def name_to_json(cursor): """ cursor.fetchall() 함수로 받아온 쿼리 결과를 json 형식으로 만들어 반환해주는 함수입니다. :param cursor: SQL..
- Total
- Today
- Yesterday
- data formatting
- SQL
- django ORM
- Master & Slave
- 탐욕법
- Default export
- Linux
- ORM
- django
- Algorithm
- container
- Named export
- programmers
- generator expression
- MVT
- lv2
- static files
- list
- Python
- uSWGI
- JavaScript
- react
- This
- docker
- PostgreSQL
- db
- JS
- Greedy Algorithm
- lv1
- union-find
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |