전체 글 17

[Django] reverse와 reverse_lazy 함수

reverse와 reverse_lazy reverse 함수 호출 즉시 장고 URLConfig를 읽어서 URL을 찾는다. 따라서 장고 URLConfig가 로드된 이후 호출되어야 한다. ex) 함수 뷰에서 reverse를 사용한다. 뷰에서 함수는 클라이언트 요청이 있을 때 호출된다. 해당 시점은 URLConfig가 로드된 이후의 시점이므로 reverse를 사용한다. reverse_lazy 장고 URLConfig가 로드된 이후에 URL을 찾겠다고 미룬다. 장고 URLConfig가 로드되기 전에 호출되어야 하는 경우 사용한다. ex) 클래스 뷰에서는 reverse_lazy를 사용한다. 서버를 실행하면서 class가 로드되어 정의될 때는 URLConfig가 로드되기 전이다. 따라서 URLConfig가 로드되기 전..

개발/Django 2024.04.20

노트북 모니터 연결 끊기

외부 모니터 연결 시 노트북 모니터 연결 끊기윈도우11 환경에서 노트북 덮개를 닫고 별도의 모니터를 연결하여 사용할 때 간혹 노트북 디스플레이가 계속 연결된 상태로 유지되는 경우가 있다. 노트북 덮개를 닫았을 때 노트북 디스플레이 연결을 끊기 위해 제어판의 디스플레이 설정에서 해당 노트북의 디스플레이를 '연결 끊기' 해도 되지만 OS에서 디스플레이 자체를 인식하지 못하게 레지스트리를 수정하는 방법도 있다. 실행(win + R) >> regedit 컴퓨터\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238c9fa8-0aad-41ed-83f4-97be242c8f20\7bc4a2f9-d8fc-4469-b07b-33eb785aa..

카테고리 없음 2024.04.08

[백준] 2869번 달팽이는 올라가고 싶다 (Python3)

출처 https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다. 달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오. 코드 import sys import math def solution(a, b, v): days = math.ceil((v - b) / (a -..

[백준] 22877번 가위바위보 버블 정렬 (Python3)

출처 https://www.acmicpc.net/problem/22877 22877번: 가위바위보 버블 정렬 이환이는 4차 산업혁명 시대에 살고 있는 천재 5살 아기이다. 가위바위보를 즐기는 이환이는 집에서도 혼자 가위바위보를 하고 싶어서 창의력을 발휘해 카드를 이용한 게임을 만들었다. 게임을 www.acmicpc.net 문제 이환이는 4차 산업혁명 시대에 살고 있는 천재 5살 아기이다. 가위바위보를 즐기는 이환이는 집에서도 혼자 가위바위보를 하고 싶어서 창의력을 발휘해 카드를 이용한 게임을 만들었다. 게임을 하려면 먼저 '가위', '바위' 또는 '보'가 그려진 카드 N장을 일렬로 나열해 놓아야 한다. 그러고 나서, 가장 왼쪽에 있는 카드부터 차례대로 보면서 만약 그 카드가 바로 오른쪽에 있는 카드를 이..

[Git] 자주 사용하는 git 명령어 정리

git 명령어 정리 프로젝트에서 사용하는 git명령어들을 여기에 정리해두고 꾸준히 추가할 예정이다. #로컬 레포지토리 생성(.git 폴더 생성) git init #원격 레포지토리의 프로젝트를 로컬 저장소에 복사 git clone https://github.com/{계정명}/{레포지토리명}.git #현재PC의 모든 저장소에 공통으로 사용할 {유저명}으로 설정 git cofing --global user.name "{유저명}" #현재PC의 모든 저장소에 공통으로 사용할 {유저메일}로 설정 git config --global user.email "{유저메일}" #설정 정보 보기 git config --global {설정명} #설정 제거 git config --global unset {설정명} #현재PC의 모든..

개발/Git 2024.03.24

[Django] MTV 디자인 패턴

MTV(Model - Template - View)장고 프레임워크에서 사용하는 디자인 패턴으로, 프로젝트를 데이터 처리(Model)와 UI처리(Template), 인터페이스 처리(View) 세 부분으로 나누어 개발하는 방법이다. 스프링 프레임워크에서의 MVC(Model - View - Controller)와 1대1 대응한다는 면에서 발음상 MVT라고 부르기도 하지만 여기서 View의 의미는 MVC에서 UI 처리를 맡는 View가 아닌 인터페이스 처리를 하는 Controller의 역할을 하므로 MTV패턴이라고 한다. URL conf URL과 호출할 View의 매핑 정보를 가지고 View를 호출하는 역할을 한다.View정의된 Model(데이터)와 Template(뷰)를 적절히 호출하여 결과물을 생성하고 호출..

개발/Django 2024.03.18

[Django] 장고 프로젝트 시작하기 3편

데이터베이스 생성 및 마이그레이션 + 관리자 페이지(admin) 1. 데이터베이스 생성 및 마이그레이션 - 이전 포스팅에서, 서버를 실행했을 때 아래 이미지처럼 SQLite DB가 기본경로에 생성되었을 것이다. (db.sqlite3) - DB가 없을 경우 서버를 실행하면 기본적으로 SQLite DB가 생성된다. 아래와 같은 에러가 발생하는 이유는 DB가 생성되었지만 관리자 페이지(admin)에서 사용할 데이터베이스가 없기 때문에 마이그레이션을 진행하라는 의미이다. You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contentty..

개발/Django 2024.03.11

[Django] 장고 프로젝트 시작하기 2편

장고 프로젝트 생성 및 서버 실행 1. 장고 프로젝트 생성 - 아래의 명령을 수행하여 프로젝트를 생성한다. 여기서 config는 생성할 프로젝트 폴더명, .(현재 디렉터리) 는 config를 생성할 위치를 나타낸다. django-admin startproject config . - config 디렉터리 및 manage.py가 생성된다. 2. 서버 실행 - 생성한 기본 프로젝트를 실행하기 위해서 아래 명령을 사용한다. python manage.py runserver #기본 포트는 8000 - 서버가 정상 실행되면 127.0.0.1:8000을 통해 브라우저에서 아래 페이지를 확인할 수 있다. - 참고로 포트를 변경하여 실행하고 싶을 경우 아래와 같이 실행한다. python manage.py runserver..

개발/Django 2024.03.04

CGI, WSGI, WAS 개념 정리

CGI, WSGI, WAS란? 개념을 설명하기에 앞서 전체적인 구조도와 여기서 말하는 Web Server의 정의는 아래와 같다. Web Server 여기서 웹 서버는 정적 웹 서버를 의미한다. 클라이언트(브라우저 등)의 요청으로 정적 리소스(html, 이미지 등)를 가공하지 않고 그대로 반환하는 역할을 하는 것이 정적 웹 서버이다. 웹 서버 종류 : Apache, Nginx 참고로 동적 웹 서버는 정적 웹 서버에 웹 애플리케이션과 데이터베이스가 추가된 개념으로 위 구조도의 Server를 지칭한다. 웹 애플리케이션과 데이터베이스의 데이터를 이용하여 리소스를 가공해서 클라이언트에 제공한다. CGI(Common Gateway Interface) 정적인 웹 서버에 데이터를 가공처리할 수 있는 어플리케이션을 연결..

개발/이론 2024.03.01

[Django] 장고 프로젝트 시작하기 1편

개발 환경 세팅 및 장고 패키지 설치 개발 환경(OS) : Windows11 사용한 개발 툴 : Visual Studio Code (VSCode) 1. 프로젝트 폴더 생성 - 프로젝트의 루트 폴더를 생성합니다. 저는 django_proj로 생성하였습니다. 2. 확장 프로그램 설치 - 장고(Django), 파이썬(Python) 확장 프로그램을 마켓플레이스에서 검색 후 설치합니다. 3. 파이썬 가상환경 세팅 - 아래 명령을 통해 파이썬에서 제공하는 가상환경을 구성합니다. - python -m venv {생성할 가상환경 루트 디렉터리} - 코드 실행 및 패키지 설치 등을 가상환경에서만 수행하여 다른 프로젝트와 독립된 환경을 구성할 수 있다. python -m venv venv_proj 4. 가상환경 활성화 -..

개발/Django 2024.02.27