form 태그를 이용한 간단한 제출란을 만들어보자 ! second 웹 앱 폴더에 forms.py를 만들어서 PostForm 클래스를 만든다. models.py와 forms.py를 따로 구분하는 이유는 다음과 같다. model 클래스를 가져와서 필드명을 바탕으로 Input값을 입력하도록 한다. django의 models, forms 모듈을 사용한다는 것이 가장 큰 차이점이고, label 즉 input 창에 이름을 정하고 있으며 widget 옵션으로 보여질 input 창의 형태도 제시해준다. create url로 이동하면 create 함수를 만나게 되고, PostForm()의 반환값이 저장된 form 변수에 의해 create.html파일에 form 변수가 넘어와 렌더링된다. CSRF 공격을 방어하기 위해 c..
저장, 처리되는 정보의 개념이며, 스키마라고도 부른다. 이러한 모델의 규칙에 따라 만드는 저장 공간을 데이터베이스라고 한다. 즉, 데이터베이스는 모델링 된 테이블들의 집합을 의미한다. 장고에서 모델을 구현하면 자동으로 데이터베이스가 생성될 수 있다. python manage.py makemigrations database의 엔진에 맞는 형태로 코드를 생성해준다. migration 이란, https://docs.djangoproject.com/en/3.2/topics/migrations/ Migrations | Django documentation | Django Django The web framework for perfectionists with deadlines. Overview Download Do..
Server : 정보를 제공하기 위해 고정된 주소를 가지고 있음. Client의 요청에 따라 적절한 정보를 전달할 수 있다. Client : 정보를 제공받기 위하여, 서버를 찾아 접속하는 컴퓨터. 고정된 주소가 필요하지 않아 유동 IP를 사용한다. Front-end : 사용자가 보는 화면 (HTML, CSS, JS) UI, Back-end와의 상호작용 Back-end : DB와의 통신을 담당 Server와 Client의 통신 방향 Client는 Server에 Request를, Server는 Client에 Response Python 3.9.7 Pycharm IDE Django virtualenv를 사용해, 이후에 다른 프로젝트를 만들기 위해 이 프로젝트의 버전을 유지할 수 있도록 한다. virtualen..
sql text 문서를 다운 받아, MariaDB에 세팅을 해보았다. 기존에 설치하였을 때 utf8 설정 란에 체크하지 않았으면 'latin1'이라는 캐릭터 셋에 맞추어져 있을 것이다 이를 utf8로 세팅을 바꾸어서 sql문을 DB에 실행해 보았다. 문제는 한글 입력에서 ???? ???댁?紐? 이렇게 표시되는 깨짐 오류가 발생하였다. 거의 반나절동안 이 문제를 해결한 과정을 기록하려 한다. 1. 현재 캐릭터 셋 확인 show variables like 'c%'; 이런 창이 뜰 것이다. 'euckr' 설정이 되어있지 않다면 set names euckr 위 명령어로 설정할 수 있다. 2. 외부 파일 인코딩 설정하기 cmd에서 직접 넣은 데이터는 한글이 잘 출력되었는데, 외부 파일을 통해서 생성한 데이터들은 ..
0. 과제 설명 아래는 프로젝트 기능의 주요 키워드이며, 각각의 키워드마다 해결해야하는 과제, 모르겠는 부분을 적어놓았다. 1. Virtual (다형성) 상속 관계에서 play()함수에 virtual을 사용해 객체마다 다른 출력문이 나오도록 static 변수 count가 LegalDVD가 생성될 때 DVD도 거쳐서, count++ 코드가 두 번 실행되었다. 그래서 만들어진 객체의 개수보다 더 많아지는 것을 알 수 있었고, count 의 증가는 가장 상위 클래스에 한번만 해주면 되는 것이었다. 2. 연산자 오버로딩 ** (1) ostream 오버로딩 (2) = 오버로딩 (3) + 오버로딩 오버로딩 시 delete 과정에서 Dangling Pointer 관련한 에러가 나올 수 있다. 3. 클래스 상속 UML..
Item 클래스의 도메인부터 서비스, Test 코드까지 작성 후 Swagger와 연동하여 Request를 요청해보았다. 처음으로 뜬 에러는 ItemPhoto에 대한 flushing문제 Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - ..
웹 프레임워크 Django 개념 정리 MVC(Model, View, Control) : Model에 있는 데이터를 View에 사용자가 원하는 형태로 보여준다. Model과 View를 사용자의 입력에 따라 이벤트에 반응하는 역할을 Controller가 수행 그래서 Django는 무엇인가? Database와 model을 연결하는 Manager 덕분에, SQL 쿼리를 작성하지 않아도 데이터를 가공할 수 있다. Template에 들어가는 html 파일들에서 작성된 폼들은 forms.py에 의해 관리된다. settings.py : 프로젝트 환경 설정 파일 Debug Installed_apps Middleware_classes : 인증, 보안 관련 Templates : 실제 뷰 Databases Static_URl..
정답률 높은 문제라 쉽게 생각했는데 생각보다 복잡한 문제였다 ;-; 처음에는 0이 나온 인덱스의 앞의 것만 0으로 바꿔주면 된다고 생각했는데, 0이 나온 갯수만큼 최근의 나온 숫자(0과 인접하지 않더라도)를 모두 없애줘야 했고 #include using namespace std; // 3 0 4 0 // 0 // 1 3 5 4 0 0 7 0 0 6 // 7 int current = -1; void pop(int *arr, int cur) { if (current == -1) { } else { arr[current] = 0; } } void sol(int *arr) { int length = _msize(arr) / sizeof(arr[0]); for (int i = 0; i < length; i++) ..