본문 바로가기
728x90
SMALL

전체 글61

장고 기본 MTV 패턴이란 ? MTV 패턴은 장고의 디자인 패턴이다. 여기서 디자인 패턴이란, 코드를 작성할 때 효율적으로 작성하기 위한 규칙을 의미한다. MTV 패턴 - Model ▪︎ DB에 저장되는 데이터 ▪︎ Django에서 지원하는 ORM 기능을 이용 * ORM : Object-Relational Mapping의 약자로, SQL 대신 데이터베이스를 쉽게 연결해주는 방법. MTV 패턴 - Template ▪︎ 사용자에게 보여지는 화면으로, 요청에 대한 결과물을 화면에 보여주는 역할 ▪︎ Django 내의 Template 문법 사용 MTV 패턴 - View ▪︎ 모델과 템플릿을 연결하는 역할로, 데이터를 처리해서 가공 ▪︎ View는 웹 요청을 받고, 전달 받은 데이터들을 가공하여, 결과를 탬플릿에 보내준다... 2023. 3. 4.
장고 기본 세팅(Mac) 다음은 Mac 기준으로 작성한 장고 기본 세팅이다. 1. 프로젝트 시작하기 django-admin startproject [프로젝트 이름] 2. 프로젝트 폴더 들어가기 cd [프로젝트 이름] *여기서 ls 명령어를 치면 [프로젝트 이름] manage.py가 나오는게 정상이다. 3. 가상환경 생성 python3 -m venv [가상환경 이름] 4. 가상환경 실행 source [가상환경 이름]/bin/activate +) 가상환경 종료 deactivate 5. 장고 설치하기 pip install django 6. 앱 생성 django-admin startapp [앱 이름] 6. manage.py로 앱 생성 python manage.py startapp [앱 이름] *앱은 우리가 만드려는 서비스의 세부적인 기.. 2023. 3. 4.
[백준] 2075번 : N번째 큰 수 (파이썬) 우선순위 큐 문제 입력 5 12 7 9 15 5-> 15 12 9 7 5 13 8 11 19 6-> 19 13 11 8 6 21 10 26 31 16-> 31 26 21 16 10 48 14 28 35 25-> 48 35 28 25 14 52 20 32 41 49 -> 52 49 41 32 20 다음과 같은 5X5 입력이 주어졌을 때, 5번째로 큰 수를 찾기 위해서 일단 입력 받은 줄별로 내림차순 정렬을 진행해보았다. 하지만, 5번째로 큰 수를 찾기 위해선 맨 마지막 줄에 있는 수들끼리만 비교하면 될게 아니라 필요에 따라선 그 위에 줄의 숫자도 함께 비교하며 N번째로 큰 수를 찾아나가야 한다. 그렇다고 해서 세로 방향으로는 정렬된 상태로 입력 받은 수들을 몽땅 하나의 리스트에 넣고 재정렬시키는 방법은 비.. 2023. 2. 26.
SLAM과 내비게이션 SLAM 동시적 위치 추정 및 지도 작성 & 차량 자동 항법 장치 길 찾기에 필요한 것 1. 위치: 로봇의 위치 계측/추정하는 기능 ▪︎ GPS ▪︎ Indoor Positioning Seneor ▪︎ 데드레커닝 계산 ▪︎ Runge-Kutta 공식 이용 2. 센싱: 벽, 물체 등의 장애물의 계측하는 기능 ▪︎ 거리센서 : LRF, 초음파센서, 적외선 거리센서(PSD) ▪︎ 비전센서 : 스테레오 카메라, 모노 카메라, 전 방향 옴니 카메라 ▪︎ Depth camera : SwissRanger, Kinect-2, RealSense, Kinect, Xtion, Carmine(PrimeSense), Astra 3. 지도: 길과 장애물 정보가 담긴 지도 ▪︎ 로봇은 길을 찾아가기 위해 지도가 필요하다. ▪︎ S.. 2023. 2. 5.
[백준] 16953번 : A → B (파이썬) BFS 문제 (1) 처음에 내가 생각한 방식 #BFS from collections import deque import math a,b=map(int,input().split()) queue = deque() count=[] ans=0 queue.append(a) index=0 while queue: index+=1 q = queue.popleft() if q==b: ans=math.ceil(math.sqrt(index)) break queue.append(q*2) queue.append(int(str(q)+str("1"))) print(ans) 처음에 이 문제를 보자마자 나는 위와 같은 방식으로 풀었다. 하지만, 예제 입력 1이나 예제 입력 3처럼 공백을 기준으로 입력 받은 왼쪽 값에서 오른쪽 값으로 .. 2023. 2. 4.
[백준] 19941번 : 햄버거 분배 (파이썬) 그리디 알고리즘 문제 ex) input 12 2 HPHPHPHHPPHP output 6 (1) 처음 내 코드 (실패) a,b=map(int,input().split()) ham = list(input()) # H P cnt=0 for i in range(len(ham)): if ham[i]=="P": change=False for j in range(i-b,i,1): if j=a: continue else: if ham[j]=="H": ham[j]="O" change=True cnt+=1 break if change==False: for j in range(i+b,i,-1): if j=a: continue else: if ham[j]=="H": ham[j]="O" change=True cnt+=1 bre.. 2023. 2. 3.
320x100
LIST