목록Python (173)
오답노트
1:1 관계 1:1 관계는 두 테이블의 row가 서로 1:1 관계를 의미한다. 이러한 관계가 되도록 model을 작성해보자. Test2라는 모델을 생성했다. test는 외래키로 Test 모델과 1:1관계를 나타내고 있다. ForeignKey로 다른 모델과 1:1 관계를 만들 수 있다. 이때 on_delete 관계는 참조하는 인스턴스가 삭제 되었을 때 처리방식을 지정한다. 위 화면은 Test2에서 데이터를 추가할 때, Test의 정보를 가지고 1:1 관계를 형성해 추가한다. M:N 관계 다대다 관계를 갖는 모델을 만들 수 있다 ManyToManyField 로 다대다 관계를 갖을 모델을 선택하면 서로 다대다 관계를 갖게된다. 참고로 아래는 다대다 관계를 갖는 모델이다. 1:M 관계 1:M 관계는 위 관계들과..
Template 사용자의 요청에 대해 View 함수에서 응답하는 HTML 파일을 장고에서는 템플릿이라고 한다. Template 환경설정 프로젝트 파일 아래 settings.py에 TEMPLATES를 확인하자. BACKEND는 템플릿을 만드는 엔진을 정의하는 곳이다. 여러 종류의 엔진이 존재하는데 스스로 찾아보자. 그리고 HTML 파일을 찾아가는 경로를 찾는 위치는 INSTALLED_APPS에 등록된 앱안에서 위에서부터 차례대로 들어가 templates 라는 폴더를 찾는다. 만약 앱안에 templates 라는 폴더가 없다면 다음 앱을 찾는 방식이다. 만약 모든 앱에 templates라는 폴더가 없다면 TEMPLATES에 DIRS에 위치를 지정한 곳에서 찾는다. 템플릿을 사용하려면 위 두 디렉토리중 하나에는..
View에서 Model 사용 모델은 테이블에 등록된 내용을 가져올 수 있는 object라는 객체가 존재한다. 이 object를 통해 view에 테이블 내용을 출력해보자. 우선 모델 객체를 반환할 때를 위해 다음과 같이 models.py에서 모델을 수정하자. 그리고 테이블에 등록된 항목을 받아오기 위해 views.py에 다음과 같이 함수를 생성하자. 이제 views.py에서 생성한 함수를 urls.py에 등록하여 접근할 수 있도록 하자. 주소창에 url을 통해 접속해 결과를 확인하자 Path 변수와 get()의 활용 저번 포스트에서 Path 변수를 통해 값을 받아올 수 있었다. 그리고 get()은 objects의 메소드로 테이블에서 id 기준으로 원하는 값만 조회할 수 있다. 우선 views.py 에서 P..
Model 설정 확인하기 Model은 쿼리를 사용하지 않고 테이블을 핸들링할 수 있다. 그러기 위해선 현재 장고가 어떤 DB를 사용하고 있는지 파악해야한다. 프로젝트 폴더 아래에 settings.py에서 DATABASES 를 확인하자. Django의 기본 데이터베이스는 sqlite이다. Django와 호환되는 다른 데이터베이스를 알고 싶다면 위 주석에 있는 링크를 찾아가보자 또한 INSTALLED_APPS 에도 앱이 추가되어 있는지 확인하자. Model 생성 모델은 앱 폴더 아래 models.py에서 아래와 같이작성하자. CharField 는 char형태로 250자 까지 사용 가능한 컬럼을 생성하고, TextField는 varchar형태로 제한없이 사용 가능한 컬럼을 생성한다. 컬럼을 생성하는 함수는 d..
기본적인 View 작성 View는 사용자에게 보여줄 화면에 대한 부분을 만드는 곳이다. 프로젝트 내의 앱 폴더의 views.py에 아래와 같이 작성해보자. 이제 이 View 연결된 Url에 접속하면 응답이라는 메세지가 출력될 것이다. 그렇다면 위 View에 연결된 Url을 정의 하도록 하자 이전 포스트에서 만든 앱의 urls.py에 다음과 같이 추가하자. 그리고 프로젝트의 urls에서 앱으로 연결되는 주소와 앱에서 View를 연결하는 주소를 연결하면 다음과 같은 화면이 출력된다. Path 변수 Path 변수는 URL 문자열 일부를 View 함수의 인자로 전달하기 위해 선언하는 변수이다. 이를 테스트하기 위해 아래와 같이 views.py에 함수를 만들었다. 여기서 num을 URL에서 받아 출력한다. 이 함..
설치 터미널을 열어 아래 와 같은 명령문을 입력하면 장고가 설치된다. pip install Django 장고 프로젝트 생성 터미널을 켜서 프로젝트를 생성할 폴더로 이동한다. 아래 커맨드를 입력해 프로젝트를 생성한다 django-admin startproject 프로젝트 파일로 이동해 프로젝트 생성을 확인한다. migrate 작업 python manage.py migrate 프로젝트 경로 내에서 위 커맨드를 입력한다. 장고 서버 실행 python manage.py runserver 프로젝트 경로 내에서 위 커맨드를 입력하면 장고 서버가 실행된다. 장고로 만든 결과를 확인하기 위해선 서버가 실행된 상태여야 한다. 장고 앱 생성 python manage.py startapp admin.py : 현재 앱의 모델..
Django Django는 파이썬 기반의 풀스택 프레임 워크다. 파이썬을 사용하기 때문에 배우기 쉽고, 많은 라이브러리와 프레임워크를 제공하여 쉽고 빠르게 개발할 수 있다. 또한 확장성이 뛰어나 복잡한 요구상하과 통합이 필요한 개발에 적합하다. 불필요한 중복을 없애고 많은 양의 코드를 줄여 유지보수가 쉽고 재사용하기 좋은 디자인 원칙과 패턴들을 사용한다. 리눅스, 윈도우 그리고 맥 OS 등등 다양한 운영체제에서 동작할 수 있고, 비밀번호, 세션, 크로스사이트 요청 위조등의 보안 취약점을 보완할 방법을 기본적으로 제공한다. Django의 서비스 처리 장고는 MVT 디자인 패턴으로 서비스를 처리한다. View 뷰는 사용자의 요청에 대한 서비스 처리를 담당하며, views.py 파이썬 스크립트에서 구현한다. ..
1. F12를 눌러 개발자 도구를 연다 2. Console 탭으로 들어간다. 맨 아래 ' > '를 클릭한다. 3. 아래 코드를 입력한다. function ClickConnect(){ console.log("Working"); document.querySelector("#toggle-header-button").click() } setInterval(ClickConnect, 10000) 4. 10분 마다 코랩 헤더가 열렸다 닫히면서 중지가 방지된다.
koBERT https://github.com/SKTBrain/KoBERT GitHub - SKTBrain/KoBERT: Korean BERT pre-trained cased (KoBERT) Korean BERT pre-trained cased (KoBERT). Contribute to SKTBrain/KoBERT development by creating an account on GitHub. github.com 기존 BERT는 140개의 언어셋으로 학습된 모델이다. 하지만 한국어에 대한 성능 한계를 극복하고자 한국어 위키백과를 학습시킨 모델이 바로 koBERT이다. 본 포스트는 koBERT를 불러와 사용하는 방법을 요약했다. 코드의 원본은 아래와 같다. 코드 원본 naver_review_classif..
N-gram N은 숫자를 의미하는데 문장에서 N개의 단어를 보고 다음에 나올 단어를 조건부확률으로 계산하는 방법이다. 1개의 단어를 선택하면 unigram 2개의 단어를 선택하면 bigram 3개의 단어를 선택하면 trigram 4개의 단어를 선택하면 4-gram 이고 4개 이상 단어는 숫자를 붙힌다. N이 너무 길면 다음 단어가 아예 없을 수 있다. N이 짧으면 다음 단어를 예측할 확률은 존재하지만 그게 원하는 예측값은 아닐 수 도 있다. 즉 적절한 N을 설정하는 것이 중요하다. N-gram 예시 I am a boy에서 am a 로 다음 단어를 예측하는 조건부 확률은 다음과 같다. P( w | am a) = count(am a w) / count(am a) w 에 boy를 대입 했을 때, 위 식을 풀어..