목록전체 글 (277)
내 잡다한 노트
문제) https://www.acmicpc.net/problem/13913 13913번: 숨바꼭질 4 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 소스코드) from collections import deque n, k = map(int, input().split()) visited = [-1] * 100001 move = [0] * 100001 def path(x, k): ans= [] temp = x for _ in range(visited[k]+1): ans.append(temp) temp = ..
ORM : Object Relational Mapping 객체-관계 매핑의 줄임말이다. 객체라는 개념을 구현한 클래스와 RDB(Relational DataBase)에서 쓰이는 데이터인 테이블을 '자동'으로 매핑하는 것을 의미한다. 서로가 기존부터 호환가능성을 두고 만들어진 것이 아니라 불일치가 발생하는데, 이를 ORM을 통해 객체 간의 관계를 바탕으로 SQL문을 자동으로 생성해 불일치를 해결한다. ORM을 이용하면 따로 SQL문을 짤 필요없이 객체를 통해 간접적으로 DB를 조작할 수 있다. 데이터를 서로 교류하는 시스템간에 사용하는 언어가 다르거나 조금씩 데이터를 기술하는 방식이 다르기에 시스템이 변경되더라도 이를 하나의 코드로 통합해서 사용할 수 있는 기술이 필요했다. 이 개념을 기존의 Object의 ..
#개요 사용자 웹 인터페이스를 구성하는 것 중에서 Form은 사용자의 입력을 받기 위한 필드나 위젯들의 묶음을 의미한다. 우리가 자주 보는 로그인 화면이나, 글쓰기 화면 등에 데이터를 입력받는 입력 칸들과 버튼으로 이루어져 있다. #기본적인 형태
모델은 웹서비스에서 사용할 정보의 내용, 특성을 정의한 것을 의미. 어떤 정보들을 저장하기 위해 사용하는 개념이다. 맛집 사이트를 개발한다고 생각한다고 모델링을 하는 과정을 살펴보면 1) 취급할 정보의 대략적인 종류를 결정한다. 종류 각각이 모델 클래스가 된다. ex) 맛집, 평가, 회원 2) 각 취급할 정보의 속성을 정리한다. 맛집(주소, 위치, 명칭, 전화번호, 사진 등), 평가(별점, 글쓴 시각, 글쓴 회원 등), 회원(이메일, 닉네임 등) 3) 각 속성의 자료형을 결정한다. 데이터베이스는 데이터를 저장하고 관리하고 조회하기 위한 시스템을 의미한다. 이 데이터베이스에 새로운 데이터를 저장하고 다시 저장된 정보들을 표시한다. 모델 클래스를 파이썬 클래스를 선언해 정의한다. 이렇게 정의한 하나의 클래스..
url작업을 해줄 때 프로젝트의 url과 웹 앱의 url이 있다. 더 큰 개념인 프로젝트의 url에 path와 include를 import 해서 웹 앱의 url을 include해준다. 하나의 프로젝트 내에 여러 앱이 존재할 수 있으니 각 앱에 base path를 지정하고 유지보수를 용이하게 하기 위해 각 웹앱에 urls 라우팅 파일을 정의하고 그 파일을 base path에 맵핑되도록 한다. 웹 앱의 url에서 path로 지정해준다. ex) path('select.', views.select, name='select'), url맵핑을 정의할 때 일치하는 문자열을 그대로 해도 되지만 변수화를 통해 지정할 수도 있다. => select/1234 같은것이 해당된다 정규식을 사용해서 url 패턴을 정의할 수도 있..
장고만의 템플릿 언어를 사용한다. 주요 기능은 변수와 태그이다. 템플릿은 context와 함께 렌더링된다. 렌더링은 변수를 컨텍스트에서 조회되는 값으로 대체하고 태그를 실행한다. 다른 모든 것은 그대로 출력된다. #변수 변수는 키를 값으로 매핑하는 사전과 같은 객체인 Context에서 값을 출력한다. {{ 변수 }} 이런 문법으로 쓴다. 변수의 속성을 조회하기 위해선 . 으로 구현한다. #태그 태그는 콘텐츠를 출력하고, if나 for와 같은 제어 역할도 하고, db에서 콘텐츠를 가져오거나 등등 여러가지 역할을 가지고 있다. { % 태그 % } 이런 문법으로 쓴다. 대부분의 태그는 인수를 허용한다. {% if ~~~ %} {% endif %} #필터 필터는 변수 및 태그 인수의 값을 변환한다. {{ dja..
가상환경을 활성화시킨다. 해당 경로에 들어가서 django-admin startproject 프로젝트이름 . 명령어를 입력한다. . 까지 들어가야 하는 것에 주의 해당 경로까지 들어가서 했기 때문에 . 만 붙이면 된다. 이렇게 프로젝트를 만들었다. 파이참으로 들어가서 terminal에서 python manage.py startapp 폴더이름 을 입력해주면 폴더가 하나 생성이 된다. 이곳에서 이제 작업을 해주면 된다. 웹페이지를 실행 시키는 명령어는 python manage.py runserver 이다.
Django는 파이썬 웹 프레임워크이다. 가상환경을 통해 편하게 패키지들을 관리할 생각이다. 가상환경은 패키지 및 버전관리를 하기 위한 독립적인 가상환경이다. 다른 프로젝트와 다른 프로젝트의 충돌을 없애기 위해, 관리를 하기 위해 꼭 필요한 것이다. #가상환경 생성하기 conda create -n 가상환경이름 가상환경 설정이 완료되면 Anaconda3/envs/ 경로에 생성한 가상환경을 볼 수 있다. #가상환경 확인 conda info --envs #가상환경 활성화 conda activate 가상환경이름 활성화가 되면 맨 왼쪽에 ( ) 안에 들어있는 단어가 가상환경 이름으로 바뀔 것이다. 기본 상태는 (base) #가상환경 비활성화 conda deactivate #가상환경에 라이브러리 설치하기 가상환경을..