티스토리

코딩 블로그
검색하기

블로그 홈

코딩 블로그

neulo.tistory.com/m

구독자
0
방명록 방문하기

주요 글 목록

  • Class Based View Class Based View 특징클래스형 뷰에서는 특정 Http Method에 대한 처리를 함수로 분리할 수 있습니다.→ GET요청에 대한 처리는 get()에서, POST 요청에 대한 처리는 post()에서 정의가 가능해요!클래스를 사용하기 때문에 코드의 재사용성과 유지보수성이 향상됩니다.기본 APIView외에도 여러 편의를 제공하는 다양한 내장 CBV가 존재합니다.Class Based View 종류APIView - DRF CBV의 베이스 클래스GenericAPIView일반적인 API 작성을 위한 기능이 포함된 클래스보통 CRUD 기능이 대부분인 상황을 위해 여러가지 기능이 미리 내장되어 있습니다.Mixin재사용 가능한 여러가지 기능을 담고있느 클래스말그대로 여러 클래스를 섞어서 사용하기 위한 클래스L.. 공감수 0 댓글수 0 2024. 5. 1.
  • Article 상세 조회 Article 목록 조회 (List)articles/urls.pyfrom django.urls import pathfrom . import viewsapp_name = "articles"urlpatterns = [ path("", views.article_list, name="article_list"),]  Article 상세 조회 (Detail)urls.pyfrom django.urls import pathfrom . import viewsapp_name = "articles"urlpatterns = [ path("", views.article_list, name="article_list"), path("/", views.article_detail, name="article_detail.. 공감수 0 댓글수 0 2024. 4. 30.
  • RESTful API RESTful API어플리케이션간 소통하는 방법에 REST적인 표현을 더한 것. ⇒ REST 원리를 따라 설계한 APIRESTful API로 작성하면 결과를 보지 않고 요청 형식만 보더라도 추론이 가능합니다.→ 새로운 article 생성→ article 목록 조회→ 1번 article 조회→ 1번 article 삭제DELETE /articles/1/GET /articles/1GET /articles/POST /articles/ 핵심 규칙자원 : URI로 표현행위 : HTTP Method로 표현표현자원과 행위를 통해 표현되는 결과물로 일반적으로 JSON 형식을 사용URI는 동사가 아닌 명사의 나열로 사용→ POST /articles/ (O)→ POST /articles/create/ (X)따르지 않더라도 .. 공감수 0 댓글수 0 2024. 4. 29.
  • URL의 구조 URI의 구조https://www.someone.dev:80/path/to/resource/?key=value#docs https://Scheme(Protocol)브라우저가 사용하는 프로토콜입니다.http, https, ftp, file, …www.someone.devHost(Domain name)요청을 처리하는 웹 서버입니다.IP 주소를 바로 사용할 수 있지만 도메인 이름을 받아서 사용하는 것이 일반적입니다.:80Port리소스에 접근할 때 사용되는 일종의 문(게이트)입니다.HTTP: 80 / HTTPS: 443이 표준 포트입니다./path/to/resource/Path웹 서버에서의 리소스 경로입니다.웹 초기에는 실제 물리적인 위치를 나타냈으나 현재는 추상화된 형태를 표현합니다.?key=valueQuer.. 공감수 0 댓글수 0 2024. 4. 25.
  • HTTP 그리고 HTTP Status Code 종류 Hyper Text Transfer Protocol⇒ Web에서 이루어지는 **데이터 교환의 기초(**약속)입니다.요청(Request)클라이언트 → 서버로 전송되는 메세지응답(Response)서버 → 클라이언트로 전송되는 메세지특성Stateless (무상태)→ 모든 응답과 요청은 독립적입니다.→ 서버가 클라이언트의 상태를 보존하지 않습니다.Connectless (비연결성)→ 연결을 유지하지 않으므로 서버 자원을 효율적으로 사용 가능합니다.→ 이후 HTTP1.1이 등장하면서 개선되었습니다.→ 요청 받고 응답을 주고나면 연결을 종료합니다.HTTP Message요청(Request)클라이언트가 서버로 전달해서 서버의 어떤 행동(action)이 일어나게 하는 것을 의미합니다.응답(Response)요청에 대한 서버.. 공감수 0 댓글수 0 2024. 4. 25.
  • [SQL 데이터에서 예상하지 못한 값이 나왔을 때 (이상한 값, 값이 없음 등) 5/5] 분명 있어야 하는데, 데이터가 없어요! 이럴 때 처리할 수 있는 방법이 있을까요? 보통 이럴때는 테이블에 잘못된 값이 들어있을 수 있습니다. [방법1] 없는 값을 제외해주기 Mysql 에서는 사용할 수 없는 값일 때 해당 값을 연산에서 제외해줍니다. → 0으로 간주 즉 평균 rating 을 구하는 쿼리를 아래와 같이 작성했을 때 실제 연산에 사용되는 데이터는 다음과 같습니다. select restaurant_name, avg(rating) average_of_rating, avg(if(rating'Not given', rating, null)) average_of_rating2 from food_orders group by 1 명확하게 연산을 지정해주기 위해 null 문법을 이용 select a.orde.. 공감수 0 댓글수 0 2024. 4. 23.
  • [SQL] Subquery 문 안을 수정해서, 음식 주문시간이 25분보다 초과한 시간을 가져오기 4/5 1. 문자변경과 조건문 👉 문자 변경 REPLACE : 지정한 문자를 다른 문자로 변경 SUBSTRING : 특정 문자만 추출 CONCAT : 여러 문자를 합하여 포맷팅 👉 조건문 IF : if(조건, 조건을 충족할 때, 조건을 충족하지 못할 때) CASE WHEN END : case when 조건1 then 값(수식)1 when 조건2 then 값(수식)2 else 값(수식)3 end 2. Subquery 문의 기본 구조 select column1, special_column from ( /* subquery */ select column1, column2 special_column from table1 ) a select column1, column2 from table1 where column1 =.. 공감수 0 댓글수 0 2024. 4. 22.
  • 파이썬 장고 키는 순서 python -m venv venv source venv/bin/activate pip install django==4.2 pip freeze > requirements.txt cd my_first_pjt python manage.py runserver python manage.py startapp 공감수 0 댓글수 0 2024. 4. 19.
  • Django MTV 사용하기 📢 데이터베이스에서 모든 아티클을 조회해서 /articles/에서 볼 수 있도록 해봅시다! view에서 model에 접근해 모든 아티클 가져오기 view에서 가져온 아티클을 template으로 넘기기 from .models import Article ... def articles(request): articles = Article.objects.all() context = { "articles": articles, } return render(request, "articles.html", context) ... 3. template에서 넘어온 context 보여주기 {% extends "base.html" %} {% block content %} Articles {% for article in artic.. 공감수 0 댓글수 0 2024. 4. 18.
  • 완전탐색기 코딩 (데이터 다 체크해서 원하는 최대값 찾기) max_number =0 #a 안에 한줄씩 들어간다 a= input() 최대로 큰 점수 찾고 그어느 행, 열에 있는지 찾기 max_number = 0 row = 1 column = #1-9순회할거라 마지막에 10으로 해줌 그러면 [1,2,3,4,5,6,7,8,9] 들어올 것 for r in range(1,10): input_list = list(map(int, input(), split) #최대값이 어디 열에 있는지 알려줘 그 안을 탐색할거야 #1을 줘서 0부터 세지 않게 enumerate 1부터 카운팅 해라 처음부터 선언하는 것 for c, num in enumerate(input_list,1): if num > max_number: max_number = num row = r column = c pr.. 공감수 0 댓글수 0 2024. 4. 17.
  • Django Form Class: 반복 작업을 줄여보자 django는 일부 반복되는 작업과 코드를 줄일 수 있는 django form을 제공한다. 1. Form 선언하기 ✔️ 내가 이 Form에서 입력받고자 하는 데이터에 대한 명세를 작성하는데 형식이나 속성도 일부 Model과 비슷하다. from django import forms class ArticleForm(forms.Form): title = forms.CharField(max_length=10) content = forms.CharField() 2. Form 적용하기 새 글 작성에 적용하기 (new) ... {{ form.as_p }} ... from.forms import ArticleForm ... def new(request): form = ArticleForm() context = { "fo.. 공감수 0 댓글수 0 2024. 4. 15.
  • 장고 에러 발생시 해결 방안 에러난 코드 읽는 법 코딩을 하다 보면 이와 같은 문제들을 종종 발견한다. 이때 문제를 해결하기 위해 우리가 봐야 할 것은 error during template rendering- 즉 템플릿을 렌더링 하면서 생긴 문제입니다 라며 밑에 어디서 문제가 생겼는지 경로를 알려주는데 그 안에를 자세히 보면 templates 안에 있는 articles.html에서 문제가 생기고 있는 것을 알 수 있다. 친절하게 에러가 난 라인까지 알려주는데 위에 예시에서 보면 line 5에서 문제가 생기고 있음을 알 수 있다. 대부분의 문제는 따옴표''를 제대로 안 해주었거나, 콤마를 안 찍어 주었거나, 단어를 틀리게 써서 못 찾는 경우가 많으니 그런 점을 유의해서 보면 쉽게 문제를 파악해서 해결할 수 있다. 처음부터 app_n.. 공감수 0 댓글수 0 2024. 4. 12.
  • [Python Algorithm] Installation of Base Station Installation of Base Station Suppose that N apartments are placed in a row. In some apartments among these, 4g base station is installed at the rooftop. As demand for 5g increases due to the advancement of technology, you want to replace 4g base station with 5g base station. But, since the coverage of 5g base station is smaller than 4g base station, some apartments cannot receive signal after re.. 공감수 0 댓글수 0 2024. 4. 9.
  • [SQL] REPLACE, SUBSTRING, CONCAT 3/5 REPLACE, SUBSTRING, CONCAT 특정 문자를 다른 문자로 바꾸기 replace replace(바꿀 컬럼, 현재 값, 바꿀 값) 식당 명의 ‘Blue Ribbon’ 을 ‘Pink Ribbon’ 으로 바꾸기 select restaurant_name "원래 상점명", replace(restaurant_name, 'Blue', 'Pink') "바뀐 상점명" from food_orders where restaurant_name like '%Blue Ribbon%' 주소의 ‘문곡리’ 를 ‘문가리’ 로 바꾸기 select addr "원래 주소", replace(addr, '문곡리', '문가리') "바뀐 주소" from food_orders where addr like '%문곡리%' 원하는 문자만 남기.. 공감수 0 댓글수 0 2024. 3. 29.
  • [알고리즘] 최빈값 구하기 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. from collections import Counter collections 모듈에서 Counter 클래스를 가져옵니다. 이 클래스는 주어진 시퀀스의 각 요소의 개수를 세는 데 사용됩니다. def solution(array): counts = {} for num in array: counts[num] = counts.get(num, 0) + 1 max_count = max(counts.values()) most_common = [num for num, count in counts.i.. 공감수 0 댓글수 0 2024. 3. 29.
  • [SQL] 데이터 필터링 표현 정리 1/5 1. 조건에 맞는 데이터로 필터링하기 (WHERE 이란) ✔️ 필터링의 기초 문법, WHERE 절을 배워보자 1 WHERE 절의 개념 데이터 중에 특정 조건을 필터링 해야할 때가 있습니다. ’나이가 21살인 사람’ 과 같은 경우, SQL 의 ‘WHERE’ 문법을 이용하면 전체 데이터 중 원하는 데이터만 필터링을 할 수 있습니다. 2 WHERE 의 구조 select * from 테이블 where 필터링 조건 (eg. 20살 이상) select * from 테이블 where 필터링 조건 (eg. 20살 이상) 기본 조건은 ‘=’ 을 통하여 줄 수 있습니다. 고객 (customers) 테이블에서 21살인 사람을 필터링을 하면 아래와 같습니다. select * from customers where age=21 .. 공감수 0 댓글수 0 2024. 3. 28.
  • [파이썬 정리] 조건문 & 반복문 IF & ELSE 내가 5000원이 있는데, 만약 3000원 이상이면 택시를 탈게 아니면 택시를 못타 라는 두개의 조건문 money = 5000 if money > 3000: `print('take taxi')` else: `print('cannot take taxi')` IF & ELIF & ELSE 내가 5000원이 있는데, 만약 3000원 이상이면 택시를 탈게, 만약 12000원을 넘으면 난 버스를 탈거야. 그 둘다 아니면 걷겠어 money = 5000 if money > 3000: print('take taxi') elif money > 1200: print('take bus') else: print('lets walk') 이렇게 4명의 사람이 있는데, 만약 20살 이상의 사람을 찾는다고 가정해보.. 공감수 0 댓글수 1 2024. 3. 28.
  • [파이썬 정리] 리스트와 딕셔너리 a라는 리스트가 있다고 하자 그 안에는 숫자도 들어갈 수 있고 단어도 들어갈 수 있고 false true 등도 들어갈 수 있다. a_list = [1,2,3,4,5,6] print(a_list) a_list = [1,'배', False] print(a_list) 그리고 리스트 안에 리스트를 넣을 수도 있다. 한 묶음으로. 만약 이중 3번 방안에 있는 1번째것이 보고 싶다고 하면 리스트 안에 (a_list [3][1]) 숫자방 번호를 넣어준다. a_list = [1,'배', False, ['사과', '감']] print(a_list [3][1]) 만약 추가하고 싶다 하면 리스트 밑에. append(더하고 싶은 내용) 넣고 5번 방 출력하면 99가 나온다. a_list = [1,5,6,3,2] a_list... 공감수 0 댓글수 0 2024. 3. 26.
  • [파이썬 정리] 변수 선언과 문자열 다루기 Python: Print number (숫자로 사칙연산) Print 란 출력을 해달라는 뜻이다. 그 안에 + - 와 같은 계산을 할 수 있는데 파이썬에서 %는 (나눈 나머지 값), **(제곱)과 같은 연산을 쓰면 값을 출력해 준다. a = 11 print(a) 이 경우 11이 출력될 것이다 a = 11 b = 7 print(a% b) 이 경우 11을 7로 나눈 값 중 나머지 4가 출력될 것이다 text = 'abcdefg' print(text) 이 경우 텍스트에 담긴 abcdefg 가 고스란히 출력될 것이다 text = 'abcdefg' result = (text) print(text) 여기서 단순히 result에 텍스 값을 담아도 똑같이 abcdefg 출력될 것이다. text = 'abcdefg' re.. 공감수 0 댓글수 0 2024. 3. 25.
  • Defining artificial intelligence: The-Age-of-AI-Has-Begun The-Age-of-AI-Has-Begun by Bill Gate With the advent of groundbreaking AI applications and technologies, humanity finds itself at the precipice of an unprecedented wave of innovation. The direction we choose to take, guided by our collective response to fundamental questions about our identity and future aspirations, will shape the trajectory of our development. In this section, let's delve into.. 공감수 0 댓글수 0 2024. 3. 20.
  • [알고리즘] tree 문제풀이 위 트리를 in-order 형식으로 순회할 경우 SOFTWARE 라는 단어를 읽을 수 있다. 아래 트리를 in-order 형식으로 순회했을때 나오는 단어를 출력하라. 위의 예시에서, 알파벳 ‘F’가 2번 정점에 해당하고 두 자식이 각각 알파벳 ‘O’인 4번 정점과 알파벳 ‘T’인 5번 정점이므로 “2 F 4 5”로 주어진다. 알파벳 S는 8번 정점에 해당하므로 “8 S” 로 주어진다. -출처 SW ACADEMY- [입력] 총 10개의 테스트 케이스가 주어진다. (총 테스트 케이스의 개수는 입력으로 주어지지 않는다) 각 테스트 케이스의 첫 줄에는 트리가 갖는 정점의 총 수 N(1≤N≤100)이 주어진다. 그 다음 N줄에 걸쳐 각각의 정점 정보가 주어진다. 정점 정보는 해당 정점의 문자, 해당 정점의 왼쪽 .. 공감수 0 댓글수 0 2024. 3. 19.
  • [파이썬] 코딩 중간값 구하기 중간값은 통계 집단의 수치를 크기 순으로 배열 했을 때 전체의 중앙에 위치하는 수치를 뜻한다. 입력으로 N 개의 점수가 주어졌을 때, 중간값을 출력하라 N이 9 이고, 9개의 점수가 아래와 같이 주어질 경우, 85 72 38 80 69 65 68 96 22 69이 중간값이 된다. 이를 풀기위해 총 4가지의 단계를 거쳐야 한다. 입력을 받습니다. 먼저 N을 입력받고, 그 다음 줄에 N개의 점수를 입력받습니다. 점수를 정렬합니다. 정렬된 점수에서 중간값을 찾습니다. 중간값을 출력합니다. # 1. 입력 받기 N = int(input()) # 항상 홀수로 주어진다고 했으므로, 홀수 개의 점수가 주어집니다. scores = list(map(int, input().split())) # 2. 점수를 정렬합니다. sc.. 공감수 0 댓글수 0 2024. 3. 18.
  • [파이썬] 홀수 짝수 배수 조건 따라 새로운 리스트 출력하기 리스트에서 n의 배수가 아닌 수 제거한 배열 Q. 정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return 하도록 solution 함수를 완성해 주세요. A. numlist 리스트 안에 n 배수(if num % n == 0)로만 채워지게 만들면 된다. 즉 들어있는 숫자를 for문으로 돌면서(for 숫자 in 리스트) n으로 나눴더니 0이 나온 숫자면 된다. def solution(n, numlist): return [num for num in numlist if num % n == 0] Another way of doing it is below. 새로운 리스트 만들어주고, 리스트 안에 넘버들 돌면서 만약 n으로 나눈 값이 0이면 새.. 공감수 0 댓글수 0 2024. 3. 15.
  • [파이썬] for x in range 홀수 짝수에 따라 다른 값 & 순회하며 계산하는 반복자(iterator) 홀짝에 따라 다른 값 반환하기 양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요. 먼저 주어진 조건부터 적어보자. 만약 n이 짝수라면 2로 나누어서 몫이 0이 될것이다if n % 2 == 0: . 홀수를 구해보자. if 만약 n%2 한 값이 0이 아니라면 if n % 2 != 0: 짝수가 아닐 것이다. !표를 넣어서 아니다를 만들어준다. 코드에서는 먼저 주어진 정수 n이 홀수인지 짝수인지를 판별하고, 그에 따라 적절한 계산을 수행하여 반환한다. 홀수인 경우에는 n 이하의 홀수의 합을, 짝수인 경우에는 n 이하의 짝수의 제곱의 .. 공감수 0 댓글수 0 2024. 3. 14.
  • [파이썬02] [:n] range 숫자를 차례로 담은 리스트 (오름차순,내림차순) 리스트와 아무 숫자(n) 주고, 주어진 n개수만큼 리스트 n개 출력 Q. 정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n 번째 원소까지의 모든 원소를 담은 리스트를 return 하도록 solution 함수를 완성해 주세요. A. 만약 5라고 하면 1,2,3,4,5를 모두 담은 리스트를 출력해야한다. 그러기 위해서 리스트[:숫자] 하면 그 숫자까지 출력해주고 리스트[숫자:] 하면 그 숫자 이후부터 출력한다. def solution(num_list, n): return num_list[:n] example 01. result = solution([1, 2, 3, 4, 5]) 오름차순 1,2,3,4,5를 출력하는 다양한 방식에 대해 배워보자. 먼저 1과 5를 주고 .. 공감수 0 댓글수 0 2024. 3. 14.
  • [파이썬] 붙여서 출력하기 문자열 붙여서 출력하기 두 개의 문자열 str1, str2가 공백으로 구분되어 입력으로 주어집니다. 입출력 예와 같이 str1과 str2을 이어서 출력하는 코드를 작성해 보세요. # 두 개의 문자열을 공백을 기준으로 입력 받음 str1, str2 = input().split() # 두 문자열을 이어붙여 출력 print(str1 + str2) str1, str2 = input().split(): 사용자로부터 입력을 받습니다. input() 함수를 통해 사용자가 입력한 값을 받고, .split() 메서드를 통해 문자열을 공백을 기준으로 분리합니다. 분리된 부분 문자열들은 리스트에 담겨 반환되는데, 이 리스트의 각 요소들이 str1과 str2에 순서대로 할당됩니다. print(str1 + str2): str1.. 공감수 0 댓글수 0 2024. 3. 14.
  • [파이썬] .upper() 소문자 -> 대문자 -> 소문자 .lower() 변경 소문자를 대문자로 변환해 보자 알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 대문자로 변환하여 return 하는 solution 함수를 완성해 주세요. def solution(myString): return myString.upper() 이 코드에서는 upper() 메서드를 사용하여 문자열 myString에 포함된 모든 알파벳을 대문자로 변환합니다. 따라서 주어진 문자열의 모든 알파벳을 대문자로 변환하여 반환합니다. 반대로 모든 대문자를 소문자로 변환할 때는 어떻게 할까? 대문자를 소문자로 변환하는 방법은 lower() 메서드를 사용하는 것입니다. 이 메서드는 문자열에 포함된 모든 대문자를 소문자로 변환합니다. 아래는 주어진 문자열의 모든 대문자를 소문자로 변환하는 함수입니다. .. 공감수 0 댓글수 0 2024. 3. 14.
  • [파이썬 문제풀이] 지그재그 숫자 1부터 N까지의 숫자에서 홀수는 더하고 짝수는 뺐을 때 최종 누적된 값을 구해보자. -출처: SW ACADEMY- [예제 풀이] N이 5일 경우, 1 – 2 + 3 – 4 + 5 = 3 N이 6일 경우, 1 – 2 + 3 – 4 + 5 – 6 = -3 # 테스트 케이스의 개수 입력 T = int(input()) # 각 테스트 케이스에 대해 처리 for t in range(1, T + 1): # 테스트 케이스 입력 N = int(input()) # 누적 값 초기화 total = 0 # 1부터 N까지 반복하면서 홀수는 더하고 짝수는 빼는 연산 수행 for i in range(1, N + 1): if i % 2 == 1: total += i else: total -= i # 결과 출력 print(f'#{t} .. 공감수 0 댓글수 0 2024. 3. 13.
  • [파이썬] 수 조작하기, 정수 찾기, 홀수찾기, 뒤에서 5등까지 수 조작하기 정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다. "w" : n이 1 커집니다. "s" : n이 1 작아집니다. "d" : n이 10 커집니다. "a" : n이 10 작아집니다. 위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요. def solution(n, control): for c in control: if c == "w": n += 1 elif c == "s": n -= 1 elif c == "d": n += 10 elif c == "a": n -= 10 return .. 공감수 0 댓글수 0 2024. 3. 13.
  • [파이썬 01] [:n] 오름차순 내림차순 정렬 sorted 반대로 reverse 리스트와 아무 숫자(n) 주고, 주어진 n개수만큼 리스트 n개 출력 Q. 정수 리스트 num_list와 정수 n이 주어질 때, num_list의 첫 번째 원소부터 n 번째 원소까지의 모든 원소를 담은 리스트를 return 하도록 solution 함수를 완성해 주세요. A. 만약 5라고 하면 1,2,3,4,5를 모두 담은 리스트를 출력해야한다. 그러기 위해서 리스트[:숫자] 하면 그 숫자까지 출력해주고 리스트[숫자:] 하면 그 숫자 이후부터 출력한다. def solution(num_list, n): return num_list[:n] 오름차순 정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 오름차순으로 담은 리스트를 return하도록 solution 함수를 .. 공감수 0 댓글수 0 2024. 3. 13.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.