본문 바로가기

[내일배움캠프]스파르타코딩클럽 AI 웹개발

(82)
[내일배움캠프 34일차 TIL] 장고(Django) 기초 장고(Django)파이썬 기반의 프레임워크 프레임워크란 소프트웨어 개발을 위한 구조적인 틀이다. 특정한 작업이나 목적을 위해 여러 도구를 모아놓은 것이다. 장고는 파이썬 기반의 프레임워크로 MTV(모델-템플릿-뷰) 아키텍쳐 패턴을 따르고 있다. 웹 서버에 요청이 왔을 때 웹 서버는 요청을 받아들이고 요청에 대한 응답을 한다. 이때 웹 서버가 어떠한 것을 주기 위해는 내용이 있어야 한다. 장고는 이런 특정하 내용을 만드는 역할을 한다.  장고의 특징관리자 페이지를 기본적으로 제공한다자주 사용되는 로직을 묶어서 기본적으로 제공한다만들어진 엔터티에 따라 권한 목록을 알아서 제공한다    장고 프로젝트 생성하기  가상환경 생성들어가기에 앞서 먼저 가상환경을 생성해줄 것이다. 하나의 컴퓨터에서 여러 개의 프로젝트..
[TIL] 오답노트 면접 질문 [1] 배열과 링크드 리스트의 차이점은?배열은 크기가 고정되어있으며 메모리상에 연속적인 공간을 사용한다. 각각의 값을 요소라고 하고 각 요소들은 인덱스를 통해 접근이 가능하다. 데이터를 조회하는데 O(1)의 시간복잡도를 가지기때문에 조회에 유리하며 삽입과 삭제시에는 O(n)의 시간복잡도를 갖는다.링크드리스트는 각 요소가 데이터와 다음 요소를 가리키는 포인터로 구성되어 있다. 따라서 데이터를 동적으로 추가, 삭제를 조금더 쉽게 할 수 있다는 장점이 있지만 조회하는데는 어려움이 있다는 단점이 있다.  [2] TCP와 UDP의 차이점은?TCP는 연결지향적인 방식으로 높은 신뢰성을 보장하지만  속도가 느리다는 단점이 있다.UDP는 비연결형 방식으로 신뢰성이 낮지만 속도가 빠르다는 단점이 있다. 따라..
[내일배움캠프 33일차 TIL] python 정렬 - timsort 잘 알려진 정렬 알고리즘은 다음과 같은 종류가 있다 시간복잡도가 O(n^2)인 bubble sort와 Insert sort를 제외하면 Heap sort, Merge sort, Quick sort를 사용하는 것이 좋을 것이다.모든 정렬 알고리즘은 장단점이 있어 어떤 한 정렬이 탁월하게 좋다고 선택할 수는 없지만 추가 메모리를 많이 사용하지 않고, 최악의 경우에도 O(nlogn)으로 동작하는 정렬 알고리즘이 필요했다   Tim SortTim sort는 소프트웨어 엔지니어인 Tim Peters에 의해 등장하였다. 이 정렬 알고리즘은 Insertion sort(삽입정렬)와 Merge sort(합병 정렬)를 결합하여 만든 정렬이다최선의 시간 복잡도는 O(n), 평균은 O(nlogn), 최악의 경우는 O(nlogn..
[내일배움캠프 32일차 TIL] SQL - 서브쿼리(Subquery) 서브쿼리한 쿼리 내에 포함된 또 하나의 쿼리 서브쿼리는 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문을 말한다. 서브쿼리는 항상 괄호로 감싸서 표현된다.서브쿼리는 복잡한 연산을 간소화하여 코드의 가독성을 올려주기도 하고, 데이터를 필터링 하기 위해 사용하기도 한다.  다음의 문제를 살펴보자 문제는 여기!  문제를 풀기 위해 음식 종류별로 가장 많은 즐겨찾기를 알아야 한다. 따라서 해당 부분을 서브 쿼리로 만들어서 조건에 넣어주는 방식으로 풀 것이다. 먼저 서브쿼리를 다음과 같이 구성할 수 있다 SELECT FOOD_TYPE, MAX(FAVORITES)FROM REST_INFOGROUP BY FOOD_TYPE 출력결과는 다음과 같다  이 서브 쿼리를 이용하여 조건을 준 후에 원하는 컬럼과 정렬을 하..
[내일배움캠프 31일차 TIL] SQL GROUP BY ~ HEVING / WHERE SQL에서 HAVING과 WHERE 모두 조건문, 즉 필터링을 하는데 이용한다  WHERE SELECT 컬럼명 FROM 테이블명 WHERE 조건절 WHERE 뒤에는 조건절이 오게 된다순서는 항상 FROM 뒤에 위치하며 다양한 비교 연산자들이 사용되어 조건을 줄 수 있다  HAVINGSELECT 컬럼명 FROM 테이블명 GROUP BY 컬럼명 HAVING 조건절 HAVING 뒤에도 조건절이 오는데, WHERE과의 가장 큰 차이점은 HAVING은 항상 GROUP BY절과 함께 사용되며 항상 GROUP BY 뒤에 위치한다는 것이다. 즉, 그룹화가 되어진 테이블에 조건을 준다는 것이다.WHERE과 마찬가지로 조건절에 다양한 비교연산자를 사용하여 조건을 줄 수 있다  차이점 WHERE는 기본적인 조건절로 모든 필..
[내일배움캠프 06주차 WIL] 더보기The four Fs (참고링크)FACTS(사실, 객관) : 이번 일주일 동안 있었던 일, 내가 한 일FEELINGS(느낌, 주관) : 나의 감정적인 반응, 느낌FINDINGS(배운 것) : 그 상황으로부터 내가 배운 것, 얻은 것FUTURE(미래) : 배운 것을 미래에는 어떻게 적용할 지 제안, 글의 마무리는 스스로를 응원하는 말 한마디로때로는 힘들고, 좌절스러울 때도 있겠지만, 긍정적인 마무리로 스스로를 다독여주시면 좋겠습니다. 지난 일주일은 더 나은 다음주를 위한 발판이었으니까요!  TAKE1지난 조와는 사뭇 다른 분위기에 적응하는 중이었다. 프로젝트를 하지도 않고 개인적으로 공부를 하는 주차라 그런지 크게 서로에게 신경을 쓰는 듯한 분위기는 아니었다. 그래서 앞으로 프로젝트에서 만날 수도 있..
[TIL] global과 nonlocal with python 프로그래머스의 코딩테스트 문제 난이도가 올라가면서 함수 안에 함수를 작성하는 일이 생기기도 한다이때 global 변수를 선언해야 할 지 nonlocal 변수를 선언해야 할 지, 그리고 어떻게 변수를 사용할 지에 대한 의문점이 많이 들었다.오늘은 이에 대한 의문점을 해소하고자 한다    먼저 global과 nonlocal은 변수의 범위에 대한 개념을 알고 있어야 한다. 변수의 범위는 변수를 어디에 선언하는지에 따라 그 범위가 결정된다. 함수 내부에서 선언된 변수는 함수 내부에서만 유효하게되는 변수이다. 이때의 변수를 지역(local)변수라고 한다. 그리고 함수의 외부 지역에서 선언된 변수가 전역(global)변수가 된다.그렇다면 nonlocal은 언제 사용되는 것인가? nonlocal 변수, 즉 비지역 변..
[내일배움캠프 30일차 TIL] SQL - 날짜 및 시간 아래 내용은 MYSQL을 기준으로 작성되었습니다 1. Date("날짜")문자형 형식의 데이터를 날짜 형식으로 변환해준다날짜의 년, 월, 일 정보만 알려주고 시간은 표시하지 않는다 SELECT DATE("2024-8-2 15:45:20") 실행결과      2.  DAYOFWEEK("날짜"), WEEKDAY("날짜")날짜를 몇 번째 요일인지(무슨 요일인지) 숫자로 나타낸다 - DAYOFWEEK(1 = 일요일, 2 = 월요일, 3 = 화요일, 4 = 수요일, 5 = 목요일, 6 = 금요일, 7 = 토요일)- WEEKDAY(0 = 월요일, 1 = 화요일, 2 = 수요일, 3 = 목요일, 4 = 금요일, 5 = 토요일, 6 = 일요일) SELECT DAYOFWEEK("2024-08-02 15:45:20"), W..