본문 바로가기

분류 전체보기

(110)
[내일배움캠프 36일차 TIL] 장고 기초 게시판 글 작성 및 세부사항 보기 기본 프로젝트 생성 필요한 모듈 설치django-admin startproject second_crudpython -m venv .venvpip install django==4.2pip install ipythonpip install django-extensionspip freeze > requirements.txt  앱 생성하기python mange.py startapp post   앱 생성 후엔 앱 등록하기settings.py 파일에서 추가하기INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django..
[내일배움캠프 07주차 WIL] 더보기The four Fs (참고링크)FACTS(사실, 객관) : 이번 일주일 동안 있었던 일, 내가 한 일FEELINGS(느낌, 주관) : 나의 감정적인 반응, 느낌FINDINGS(배운 것) : 그 상황으로부터 내가 배운 것, 얻은 것FUTURE(미래) : 배운 것을 미래에는 어떻게 적용할 지 제안, 글의 마무리는 스스로를 응원하는 말 한마디로때로는 힘들고, 좌절스러울 때도 있겠지만, 긍정적인 마무리로 스스로를 다독여주시면 좋겠습니다. 지난 일주일은 더 나은 다음주를 위한 발판이었으니까요!  TAKE1이번주엔 기술면접도 보고, 밍글데이도 있었고 스쿼드도 끝났다. cs&sql주차가 끝이 나고 django 기초 주차가 시작하기도 했다. 이번에도 새로운 팀원들과 어색한 첫 회의를 거쳤다. 이번주차는 조장 안..
[내일배움캠프 35일차 TIL] 장고(Django) 기초2 장고의 프로젝트를 생성한 후에는 앱을 만들어 기능을 추가해줄 수 있다. 앱은 각각의 기능 단위의 모듈이다. 하나의 프로젝트는 하나의 서비스이며 하나의 서비스에는 여러 기능이 있을 수 있으므로 장고의 프로젝트에는 여러 앱이 있을 수 있다. 물론 하나의 앱으로 모두 개발하는 것도 가능은 하나, 여러 개의 앱(기능 단위)으로 나누어 개발하는 것을 권장한다. 유지보수에도 여러 가지 앱으로 나누어 개발하는 것이 더 유리하기 때문이다.  app 생성하기 위해서는 두 가지의 과정이 필요하다. 먼저 app을 생성하는 것, 그리고 app을 등록하는 과정이 필요하다. 1. app 생성python manage.py startapp  article이라는 앱을 생성하면 my_project 디렉토리에 article 데릭토리가 생..
[내일배움캠프 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는 기본적인 조건절로 모든 필..