목록Development (561)
컴공생의 다이어리
장고 데이터베이스 생성 [python manage.py runserver]로 서버를 실행을 하면 오류메시지가 중간에 아래와 같이 나온다. 이 오류는 '아직 18개의 적용되지 않은 마이그레이션이 있으며 이 마이그레이션을 적용하기 전까지 프로젝트가 제대로 작동하지 않을 수 있다'는 의미이다. 이때, 적용되지 않은 마이그레이션의 개수는 장고 버전에 따라 다를 수 있다. 장고에서 마이그레이션(migration)이란 데이터베이스에 적용시켜야 하는 변화에 대한 기록이다. 예를 들면 댓글 기능을 블로그에 추가하려면 댓글을 저장할 공간이 필요하다. 이를 데이터베이스에 반영해야 서버를 실행했을 때 웹 사이트에 추가한 댓글 기능을 제대로 사용할 수 있다. 과정 step1) 데이터베이스 생성하기 (혹시 서버가 돌아가고 있다..
깃에서 커밋(commit) 대상 제외하기 깃과 연결된 로컬 저장소에서 특정 파일이나 폴더를 커밋 대상에서 제외를 하려면 .gitignore 파일을 사용하면 된다. .gitignore 파일을 생성하는 방법으로는 GitHub에서 repository를 생성할 때, .gitignore 파일을 생성하는 옵션을 넣어놓거나 로컬 저장소에 .git 폴더가 위치한 디렉터리에 .gitignore 파일을 생성하면 된다. .gitignore 파일을 생성했으면 제외하고 싶은 폴더나 파일을 입력해주면 된다. devbirdfeet.tistory.com/31 Git(8) .gitignore 이란 GitHub를 사용하는 법 대한 깃 포스팅 순서이다. 1. Git(7) 원격저장소 생성하기 2. Git(8) .gitignore 이란 3...
크롤링(crawling) 가능 여부 확인 크롤링을 무작정 하다가 보면 맞게 작성한 것 같은 코드에서 아무 데이터도 못 얻고 있는 것을 확인할 수 있다. 이럴 때 크롤링 할 사이트가 크롤링이 가능한 사이트인지 확인해야 한다. 크롤링 가능 여부를 확인하는 방법은 사이트명 뒤에 /robots.txt를 붙여 확인하면 된다. Disallow라고 명시되어 있는 디렉토리 및 파일에 대해서는 크롤링을 할 수 없다. dailyoscar.tistory.com/49 크롤링 해도 되는 사이트인가? 흩어져있는 정보를 취합하고 서비스하기 위해 크롤링은 아주 좋은 기술이다. 만 흩어져 있다고 덮어놓고 크롤링하다간 큰 코 다친다.. 사이트들의 루트디렉토리에 있는 robots.txt 를 보면 이 사이 dailyoscar.tistory..
응답 코드(Response Code) 응답 코드는 서버가 클라이언트 요청을 처리하고 난 후 상태에 따라 반환하는 코드이다. 응답 코드는 아래와 같이 크게 다섯 가지 종류가 있다. 1xx : 조건부 응답 2xx : 성공 3xx : 리다이렉션 오류 4xx : 요청 오류 5xx : 서버 오류 1xx 조건부 응답 - 1xx는 클라이언트가 데이터를 일부만 포함해 보내어 서버가 데이터를 더 보내라고 하는 응답하는 코드 - 1xx는 100, 101, 102를 제공 - 하지만 1xx는 사용하지 않아야 함 2xx 성공 - 2xx 응답 코드는 서버가 클라이언트로부터의 요청을 성공적으로 처리한 후 반환하는 응답코드 - 많이 사용되는 응답 코드는 200, 201, 204번 200 - 서버가 클라이언트의 요청을 성공적으로 처리..
요청 메소드(method) 클라이언트가 서버에 데이터를 요청할 때 CRUD라는 4가지 타입이 있다. 이때 CRUD는 읽기(Read), 쓰기(Create), 수정(Update), 삭제(Delete)를 말한다. 게시판 사이트가 있다고 할 때를 예를 들어보자. 게시판의 모든 게시글 리스트를 가져오거나 특정 게시글에 대한 정보를 가져올 때는 Read이다. 게시글을 추가하면 Create, 게시글을 수정하면 Update, 게시글을 삭제하면 Delete라고 한다. 하지만 클라이언트와 서버는 Read, Create, Update, Delete라고 직접 명시하지 않는다. 이러한 요청을 헤더에 GET, POST, PUT, DELETE의 형태로 메소드를 정의한다. CRUD Read Create Update Delete 요청..
장고 앱 생성(django-admin startapp ~) 다음과 같은 구성으로 되어 있다고 하고 장고 앱을 생성하고 확인해볼 것이다! [django-admin startapp app1] 명령어를 입력하면 app1 앱을 생성할 수 있다. 장고 앱 실행 우선 [python manage.py runserver] 명령어를 입력해 개발 서버를 구동해보자. 서버를 구동했으면 "127.0.0.1:8000/app1"에 접속해보면 다음과 같은 화면을 발견할 수 있을 것이다. 'Page not found(404)'는 HTTP 오류 코드 중 하나로, 사용자가 요청한 페이지를 찾을 수 없는 경우 발생하는 오류이다. 장고는 오류 발생시 오류 원인을 웹브라우저 또는 명령 프롬프트에 자세히 보여준다. 이 오류가 발생한 이유에 대..
설치된 패키지 목록 requirements.txt 생성 가상 환경(venv) 혹은 현재 python에 pip로 설치된 패키지 목록에 대한 정보를 만들기 위해서는 freeze라는 명령어를 사용하면 된다. freeze 명령어를 통해 나온 출력 결과를 파일로 저장하려면 아래와 같이 입력하면 된다. requirements.txt 속 패키지 설치 반대로 requirements.txt라는 파일이 주어졌을 때, 그 안에 있는 패키지들을 모두 설치하기 위해서는 아래 명령어를 입력한다. docs.python.org/ko/3/tutorial/venv.html 12. 가상 환경 및 패키지 — Python 3.9.4 문서 12.1. 소개 파이썬 응용 프로그램은 종종 표준 라이브러리의 일부로 제공되지 않는 패키지와 모듈을 사용..
장고(Django) 설치 (파이썬 가상 환경에서 장고를 설치할 것이다!) [pip install django==3.1.3] 명령어를 입력해 장고를 설치한다. ([django==] 뒤에 붙어 있는 숫자는 장고의 버전이다.) 장고 프로젝트 생성 장고의 프로젝트는 하나의 웹사이트라고 생각하면 된다. 즉, 장고 프로젝트를 생성하면 한 개의 웹 사이트를 생성하는 것과 같다. 프로젝트 안에는 여러 개의 앱이 존재한다. 이 앱들이 모여 웹 사이트를 구성한다. 이때, 앱이란 관리자 앱, 인증 앱 등과 같이 장고가 기본으로 제공하는 앱과 개발자가 직접 만든 앱을 말한다. ▶ 프로젝트 디렉터리 생성 1. 장고 프로젝트는 여러 개가 될 수 있으므로 프로젝트를 모아 둘 프로젝트 루트 디렉터리 생성을 해야 함. 아래와 같은 명..
파이썬 가상 환경...? 파이썬 가상 환경은 파이썬 프로젝트를 진행할 때 독립된 환경을 만들어 주는 도구이다. 예를 들어 파이썬 개발자 김씨가 2개의 파이썬 프로젝트를 개발하고 관리한다고 가정한다. 그리고 파이썬 프로젝트를 각각 P1, P2라고 하자. 이때 P1과 P2에 필요한 파이썬 또는 라이브러리의 버전이 다를 수 있다. 예를 들어보면 P1에서는 파이썬 3.7이 필요한데 P2에서는 3.8버전이 필요할 수 있다. 이때 하나의 데스크톱에 서로 다른 버전의 파이썬을 설치해야 하는 문제가 발생한다. 이러한 개발 환경은 구축하기도 어렵고 사용하기도 무척 힘들다. 하지만 파이썬 가상 환경을 이용하면 하나의 데스크톱 안에 독립된 가상 환경을 여러 개 만들 수 있다. 파이썬 가상 환경 생성 1. 명령프롬프트(cmd..
실행파일 생성(PyInstaller) PyInstaller를 이용하면 파이썬과 PyQt5로 제작한 GUI 프로그램을 간단하게 실행파일 (exe)로 만들 수 있다. 실행파일은 파이썬이 설치되어 있지 않은 pc에서도 프로그램을 실행 가능하다. PyInstaller 설치 cmd(명령프롬프트)에 [pip install pyinstaller] 명령어를 통해 PyInstaller 패키지를 설치한다. 실행파일 생성하기 (이 방법은 실행파일을 실행시 콘솔창이 함께 출력됨) 1. 실행파일을 만들고자 하는 파이썬 파일(.py)이 있는 폴더로 이동한 다음, [pyinstaller 실행파일만들고자하는파일.py] 명령어를 입력한다. 명령어를 입력하면 해당 폴더에 실행 파일이 생성된다. 2. 생성된 폴더 중 dist 폴더로 들어..