전체 글
-
게시판 검색 기능 구현 과정 정리Backend/Projects_report 2023. 12. 15. 11:39
점프투장고를 따라 게시판 개발 중 유독 헷갈렸던 검색 기능의 구현 과정을 정리해 보았다. 참고: https://wikidocs.net/71806 3-14 검색 * `[완성 소스]` : [github.com/pahkey/jump2django/tree/3-14](https://github.com/pahkey/jump2django/tree/… wikidocs.net 구현 목표 검색어를 입력할 입력 Bar와 검색 Button 추가 검색 버튼 클릭 시 Get 방식으로 페이지 요청 질문 제목, 내용, 작성자, 답변 내용, 작성자 중 검색어가 포함된 질문 글은 검색 결과에 포함 검색 결과는 질문 목록을 Paging 처리하여 화면에 출력 구현 과정 검색은 Get 방식의 Request를 사용하는 것이 좋다. '뒤로 가기..
-
[MySQL] Partition 과 Unique KeyBackend/DB 2023. 12. 14. 23:50
Partitioning 실습 도중 강의 내용과 다르게 Primary key를 설정했다가 다음의 Error 를 맞닥뜨렸다.ERROR 1503 (HY000): A PRIMARY KEY must include all columns in the table's partitioning function (prefixed columns are not considered).원인을 찾던 중 MySQL 공식 문서에 해당 문제화 관련된 글을 발견하여 해석 및 정리해 보았다.https://dev.mysql.com/doc/refman/8.0/en/partitioning-limitations-partitioning-keys-unique-keys.html MySQL :: MySQL 8.0 Reference Manual :: 24.6..
-
filter() - fields loopkups(**kwargs), Q objects(**args)Backend/Django 2023. 12. 3. 17:12
Clone Coding을 하다가 생각없이 사용 중이던 filter() 함수의 사용법을 좀 더 깊게 파보고자 공식 문서를 살펴 보았다. filter() https://docs.djangoproject.com/en/4.2/ref/models/querysets/#filter QuerySet의 Member method 로 lookup parameter를 충족하는 객체들만 모아 새로운 QuerySet 을 생성하여 반환한다. 즉 DB에서 특정 조건(lookup parameter)들로 조회하여 나온 결과를 다시 Model Instance로 생성하여 QuerySet에 담아 반환한다고 볼 수 있다. 조건을 지정하는 방식으로는 field lookups(kwargs에 대입) 와Q object(args에 대입) 가 있다. 여..
-
[Ubuntu16.04][Python3] Python3 버전 복구Today_I_Learned/Python 2023. 12. 1. 15:13
[환경] Ubuntu 16.04 Python3.8 ( -> Ubuntu 16.04 의 기본 버전인 Python3.5 로 복구가 목표) [요약] pyhon3 링크 변경 python3 경로의 하위 파일을 python3.5의 파일들로 교체 특정 버전의 python 제거 (선택사항) 필요한 Package들 재설치 pyhon3 링크 변경 python3 명령어로 python 기본 버전이 실행되도록 하고 싶다면 python3 명령어에 연결된 링크 설정을 변경해야 한다. 단순히 update-alternatives 로 변경했을 경우 update-alternatives 로 다시 원래 버전을 지정해주면 된다. sudo update-alternatives --config python3 -> 원하는 python 버전의 번호 입..
-
[MariaDB] 원격 접속 허용하기Backend/DB 2023. 11. 28. 14:29
[환경] Ubuntu 16.04 MariaDB 10.0.38 - localhost로 동작 중 [요약] 원격 접속용 계정 생성 MySQL 설정에서 원격 접속을 허용할 IP 지정 변경 사항이 잘 도록 DB Server 재실행 또는 Node Reboot (택 1) 원격 접속 설정 적용 확인 클라이언트에 원격 접속용 계정 정보 입력. [상세 설명] 1. 원격 접속용 계정 생성 (SQL 지식 필요) GRANT ALL PRIVILEGES ON {db_name}.{table_name} TO "{username}"@"{host_type}" IDENTIFIED BY "{password}"; 위 명령어는 계정에 권한을 부여하는 명령어이다. 만약 계정이 없을 시 계정 생성 후 생성한 계정에 지정한 권한을 부여한다. (부여할..
-
[Django] runserver 실행 시 ModuleNotFoundError: No module named '{project_name}'Backend/Projects_report 2023. 11. 23. 16:01
[요약] Project 를 다시 생성하여 해결 봄. Project 초기 단계였으므로 가능했던 해결 법.. [환경] Ubuntu 22.04 Python 3.8 Virtualenv, Virtuelenvwrapper, Django PyCharm Git [프로젝트 구조] ~/{project_name}/ ㄴ config/ ㄴ settings.py ㄴ ...... ㄴ manage.py [발생] python manage.py runserver 입력하자 다음의 Error 발생. Traceback (most recent call last): File "~/venvs/{project_name}/lib/python3.8/site-packages/django/core/management/base.py", line 412, i..
-
[사용법] virtualenvwrapperToday_I_Learned/Python 2023. 11. 21. 15:41
virtualenv 만 달랑 사용해오다가 virtualenvwrapper 란 패키지를 알게되어 사용법을 기록한다. 간단 설명 virtualenvwrapper 는 virtualenv 모듈의 확장팩 격인 패키지이다. virtualenv로 생성한 가상 환경을 보다 편리하게 사용할 수 있도록 이것 저것(ex. 가상환경 생성/삭제, 실행, 조회 등을 한 줄의 명령어로 제공, 여러 개의 가상환경들을 한꺼번에 관리할 수 있는 기능 등)을 제공하는 패키지이다. 전제 조건 ubuntu 22.04 이상 (필자의 환경) python3.8 ~ 3.11 python3-pip 설치 완료 virtualenv 모듈 설치 완료 설치 python3 -m pip install virtualenvwrapper 이 때 설치 Log를 잘 확인..
-
[DB][SQL][DML] JOIN, ALIAS, VIEW, SELECT INTO, INSERT INTO, CASE WHEN ~Backend/DB 2023. 11. 7. 00:19
6강 SQL - DML (4) JOIN 2 개의 서로 다른 Table들을 공통 컬럼을 기준으로 합한 후 select 질의를 수행하는데 사용. select {column_name} from {table1} JOIN {table2} ON {table1.column}={table2.column} where {conditions}; 이 때 두 Table 간 동일한 컬럼명을 구분하기 위해 table.column 의 형식을 사용한다. Inner Join: 기본 수행되는 JOIN. JOIN의 기준이 되는 column 값이 NULL일 때 질의 결과에 포함하지 않는다. = 사용된 두 Table에 모두 NULL을 허용하지 않는다. left/right Join: Outer Join 이라고도 하며 left 는 JOIN 연산 ..