일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- iOS14
- 프레임워크와 라이브러리의 차이
- 시간복잡도
- vscode
- 입/출력
- scanf
- 표준 입출력
- double ended queue
- 자료구조
- Django란
- Django Nodejs 차이점
- 매크로
- getline
- 입출력 패턴
- correlation coefficient
- 구조체와 클래스의 공통점 및 차이점
- 백준
- c++
- 알고리즘 공부방법
- 엑셀
- 연결요소
- string 메소드
- 장고란
- EOF
- 이분그래프
- Django의 편의성
- k-eta
- 2557
- UI한글변경
- string 함수
- Today
- Total
목록웹개발 (87)
Storage Gonie
# 상속을 사용하지 않은 경우 - 각각의 고양이 클래스를 작성할 때, 중복되는 내용을 또 작성해야함 class Cat(): legs = 4 eyes = 4 nose = 1 class BritishCat(): legs = 4 eyes = 4 nose = 1 bread = 'british' # 상속을 사용하여 정의한 경우 - 부모의 속성을 물려받음 . 즉, 상위 클래스의 속성을 다 가져오는 것. class Cat(): legs = 4 eyes = 4 nose = 1 class BritishCat(Cat): breed = 'british' BritishCat.legs // 4 BritishCat.breed // british class Cat(): legs = 4 eyes = 4 nose = 1 class B..
# SQL - 데이터베이스와 대화를 하기위해 사용하는 언어로, 데이터베이스로부터 데이터를 얻기 위해 사용한다. - 이때 콘솔에 작성하는 문장들은 "SQL statement"라고한다. - SQL database는 relational databases이다. ( non-relational databases) SELECT * FROM users WHERE country="colombia" ORDER BY created_date # ORM(Object-relational mappers) - Python과 SQL사이의 통역사 같은 것이다. - 아래의 문장을 사용하면 장고는 알아서 SQL로 번역한다. - 프론트는 Javascript, 백엔드는 Python 까지는 괜찮은데 SQL까지 공부하려면 수고가 더 많이 들어갈 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cP4ZHw/btqwhgSHG85/5PfgE4bekGkxJcKV5a94q1/img.png)
장고의 앱 - 장고에서 앱이 의미하는 바는, 매우 특정한 기능을 가진 장고 프로젝트의 기능 중 작은 부분이다. 장고 앱의 구성요소 @ Models @ Urls @ Views * urls에는 장고의 urls, 앱의 urls두가지 종류가 존재하며, 장고의 urls는 단 1개만 존재하는 반면, 앱의 urls는 여러개가 존재한다. 장고의 urls는 전체 어플리케이션의 urls를 import하며, 앱의 urls는 url과 view function을 매칭시킨다는 차이점이 존재한다. Models - 모델은 DB에 저장할 데이터의 모습 및 형태라고 할 수 있다. - 무엇이든 DB에 저장을 해야하는 것은 모델이 필요하다. - 모델에 포함된 것들은 테이블의 필드라고 보면 된다. ex) 쇼핑몰 @ Products app 1..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/uCv6T/btqwflVanKf/QmKpNk7vIfyuj72PC64951/img.png)
Cookiecutter를 이용해 프로젝트를 생성했다면 디폴트로 users앱이 추가되어 있을 것이다. 이외에 추가로 image앱을 추가해주려고 한다. * 앱은 view, models, admin등을 가진다. 1. IDE의 터미널에서 nomadgram/nomadgram/ 의 위치로 이동하여 다음 명령어를 이용해 앱을 추가로 생성한다. - users 이외에 images 앱을 추가로 생성하는 이유는 사용자들이 이미지를 업로드하고 댓글을 달 것이므로. cd nomadgram // nomadgram/nomadgram/ 의 위치로 이동 django-admin startapp images // image 이름을 가지는 앱을 추가로 생성 2. config/settings/base.py의 내용을 수정한다. - config..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/phVdR/btqwf1PqAy5/wl0pyxZXshv4sFzQjkItk0/img.png)
IDE의 터미널에서 다음의 명령어를 입력해보면 데이터베이스가 존재하지 않는다는 오류를 만나게 될 것이다. pipenv shell // 가상환경 실행 python manage.py runserver 이를 해결하기 위해 다음의 것들을 시행한다. 1. Postgres database 설치 2. 실행후 initialize 버튼 클릭 3. start 버튼 클릭 4. 맨 왼쪽 것을 더블 클릭해서 터미널 실행 5. 실행된 터미널에서 다음의 명령어를 입력하여 DB 생성 - 생성될 DB의 이름은 장고 프로젝트의 이름인 nomadgram으로 해줘야함. CREATE DATABASE nomadgram; // 데이터베이스 제거는 DROP DATABASE DB이름; 6. IDE에서 다시 다음의 명령어를 입력해보면 정상적으로 작동..
사람들은 장고를 'database agnostic'라고 부른다.(agnostic : 사용 방법을 몰라도 사용하기 쉬운) 그 이유는 adapter를 알맞게만 설치해준다면 원하는 모든 데이터베이스를 사용할 수 있기 때문이다. (SQL database, NoSQL database, Graph database 등) 이 강의에서는 SQL database인 Postgres를 사용할 예정이다. 많은 사람들이 사용하기도 하고, 업데이트도 자주되기 때문에 강사님은 MySQL보다 선호한다고 한다. 원한다면 MySQL 혹은 SQLite 등 무엇을 사용해도 상관없다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bmHiQN/btqwhMpX6kv/P7XGuR6C3ETKt5xDb7rbMK/img.png)
바로 이전 게시글에서 Cookiecutter를 이용해 프로젝트를 생성하면, 로컬 컴퓨터에 필요한 requirements 와 서버에 필요한 requirements가 각각 다르게 존재한다는 것을 확인했다. 이것은 setting관련된 파일도 동일하다. 로컬 컴퓨터용 settings파일인 local.py 와 서버 컴퓨터용 settings파일인 production.py가 각각 따로 존재한다. 나는 로컬환경에서 프로젝트를 진행할 것이므로 base.py와 local.py를 사용하게 될 것이다.(base.py는 글로벌한 설정내용) 세팅 파일에 포함된 각각의 요소에 대해 여기서는 설명하지 않을 것이다. 각 요소에 대한 설명은 파일내의 주석으로 추가되어 있는 링크에 접속하면 확인할 수 있다.
현재 상태는 cookiecutter로 커스터마이징된 프로젝트를 생성했으나, 생성된 프로젝트에 종속된 모듈은 설치되어있지 않은 상태이다. 필요한 모듈을 한번에 설치해보도록 하자. 1. 가상환경에 모듈 설치 - requirements 디렉토리가 위치한 곳에서 실행해야함 - 생성된 프로젝트 내용물을 살펴보면 requirements 폴더가 보일 것이다. 그 안에는 다음의 3개의 파일이 존재한다. 이 파일들은 각각의 환경에서 필요한 모듈에 대한 정보를 가지고 있다. - base.txt(서버에 있든 로컬에 있든 디폴트 값으로 필요한 모듈에 대한 정보) - local.txt(로컬환경에 필요한 모듈) - production.txt(배포시 서버에 필요한 모듈에 대한 정보) pipenv install -r requirem..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JVbZh/btqv7QNZtL9/Vv5gKohLx9sJTLDiHnfMK1/img.png)
1. 깃허브에서 새로운 리포지토리를 생성한다. 2. Pycharm이나 VScode의 terminal 상에서 다음의 명령어를 입력하여 프로젝트를 깃허브에 업로드한다. - Pycharm의 경우 왼쪽 아래에 있는 Terminal 버튼을 클릭하면 된다. - VScode의 경우 View - Integrated terminal을 클릭하면 된다. git init // 현재 위치를 로컬 리포지토리로 지정 git remote add origin 깃헙리포지토리URL // 나의 로컬 리포지토리가 클라우드를 향할 수 있게 됨 git add . // 모든 파일을 로컬 리포지토리에 추가 git status // 변경된 내역 출력 및 확인(생략가능) git commit -m "Cookiecutter + cleanup" // 코멘트..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bxg8dC/btqv7CbmdN8/0kuiigRFTiazdgktWPVr9K/img.png)
# Cookiecutter란 무엇인가 - 직접 다음의 명령어를 이용하여 장고 프로젝트를 생성할 수 있긴 하지만 "django-admin startproject 폴더명" 이 방식을 사용한다면 프로젝트를 생성한 뒤, 코드에서 수정해야할 것들이 많이 있다. - Cookiecutter란, 이러한 번거로움을 덜 수 있는 즉, 프로젝트 시작을 빠르게 할 수 있도록 도와주는 오픈소스 프레임워크이다. 프로젝트를 클론해와서 내가 원하는대로 커스터마이즈 할 수 있다. - https://github.com/pydanny/cookiecutter-django # Cookiecutter 설치 - 다른 프로젝트에서도 사용할 것이기에 글로벌하게 설치해주자. - 글로벌한 설치는 pip를, 가상환경 한정 설치는 pipenv를 이용한다...