기타 공부 35

초급 7회차 이분탐색 & 분할정복

이분탐색과 분할정복 모두 문제를 쪼개어 해결하는 방식임. 쪼갠다는 것은 무엇인가 문제의 크기가 크면 어렵다. 문제를 작은 부분 문제들로 나누어 풀면 쉬워진다. 문제를 쪼개고, 부분 문제들을 풀고, 그 결과를 병합한다. 문제를 쪼개는 것 & 결과를 병합하는 것의 비용이 크지 않다면 쪼개어 푸는 게 이득이다. 이분탐색의 간단한 설명 주어진 값들을 오름차순으로 정렬했다고 하자. 이 정렬된 리스트 내에서 특정 값 N의 위치를 이분탐색법으로 찾아보자. 중앙값을 콕 찝는다. 중앙값이 N보다 큰지 작은지 확인한다. 중앙값이 N보다 작다면 중앙값의 다음부터 리스트 끝까지의 범위에 N이 있다. 반대로 중앙값이 N보다 크다면 리스트의 처음부터 중앙값 이전까지의 범위에 N이 있다. 이러한 점검을 반복해나가면서 N이 있을 수..

3강 장고 기본 파트 : 투표 사이트 만들기 - 템플릿

return HttpResponse() 의 괄호 안에 html 코드를 넣으면 그게 화면에 출력됨. html 코드를 미리 짜두고, 거기에 필요한 변수들을 정해둔 다음 그 변수만 장고를 통해 전달해주면 그 결과를 장고가 화면에 나타내줌. 장고가 화면에 나타내주는 것을 렌더링이라고 함. 그리고 서버 실행중일 때 Ctrl + C 누르면 서버 종료됨. html 파일 내에서 for, if 등 구문(문장)을 써넣을 때에는 {% 내용내용 %} 이렇게 씀! 그냥 변수를 쓸 때는 걍 쓰는데... 구문은 저러고 써야함 url urls.py 파일에서 url들마다 name을 지정해줄 수 있음. html 파일에서 url을 적을 때 url 그 자체를 적지 말고 urls.py에서 지정해준 name 문자열을 사용하는 것이 좋음. ht..

3강 장고 기본 파트 : 투표 사이트 만들기 - 서버 실행

저번에 만든 파이썬 프로젝트 밑에 장고 프로젝트 밑에 웹 앱을 만듦. 저번에 startproject라는 명령어를 썼는데 이번에는 startapp이라는 명령어로 만듦. python manage.py startapp votes votes라는 이름의 앱을 생성하는 커맨드. startapp manage.py라는 파일 안에 정의되어있는 명령어인 듯? 그리고 votes는 명령어 실행을 위해 넘겨주는 인자. 웹 앱의 이름만 겹치지 않는다면 한 장고 프로젝트 내에 여러 개의 웹 앱을 만들 수 있음.(startapp 명령어를 반복적으로 사용.) 서버를 실행하는 명령어 runserver runserver라는 명령어로 서버를 실행할 수 있음. python manage.py runserver url path 정의하기 웹 애플..

3강 장고 기본 파트 : 투표 사이트 만들기 - 장고 설치하기 및 구조

파이썬 기반이라서 파이썬 IDE를 설치해주어야 함. 초보자 대상 강의라서 그런지 자세한 설명은 해주시지 않았음. PIP, Vertualenv가 파이썬 개발을 돕는? 것들이라고 함. PIP를 이용해서 장고를 설치한다고 하심... 실제로 프로젝트 생성 후에 터미널 창을 열어 커맨드로 장고를 설치했음. 이 과정에 PIP가 관여하는 듯? 파이썬도 자바처럼 프로젝트 단위로 개발을 함. 파이썬 프로젝트를 새로 만들어서 엶. 그 다음에 커맨드를 이용해서 장고 프로젝트를 하나 만듦. django-admin startproject 프로젝트이름 위와 같이 입력하면 됨. 그러면 파이썬 전체 프로젝트 하위에 또 하나 폴더가 생김... 파이썬 프로젝트 'voteapp' 그 아래에 장고 프로젝트 'voteapp' 그 아래에 이 ..

2강 웹 개론 : 배경지식 - 데이터베이스의 이해

데이터베이스에 대한 기초적인 내용을 살펴보았다. 데이터베이스란? 서버에서 정보를 저장하고 관리하는 데에 쓰이는 것. SQL(쿼리)를 통해 정보를 관리하고 요청한다. 데이터베이스 관련 용어 정리 스키마: 데이터의 구조 및 데이터 사이의 관계. 서식이라고 생각하면 됨. 테이블: DB에서 데이터는 행과 열을 가진 2차원 표의 형식으로 저장됨. 각각의 표를 테이블이라 함. 컬럼: 테이블에서의 열, 즉 하나의 속성. 레코드: 테이블에서의 행, 즉 하나의 데이터 집합. 값: 테이블에서의 한 칸. 한 레코드의 하나의 속성의 값.

2강 웹 개론 : 배경지식 - 도메인과 주소

URI란? Uniform Resourse Identifier 즉 서버 식별자이다. 클라이언트는 외부에서 접근하는 데에는 쓰이지 못하고 개별 식별자로만 쓰이는 내부 IP를 할당받고 서버는 외부에서 인터넷을 통해 접근할 수 있는 외부 IP를 할당받는데, 서버의 IP는 클라이언트가 찾아올 수 있게 하는 네트워크 상의 고유한 주소이다. 111.222.123.22 와 같은 숫자 형태의 IP를 DNS 서버가 문자 기반 도메인(www.website.com)으로 변환해준다. (+) URL은 URI의 하위 집합으로, 식별자로서의 역할을 하는 것이 아니라 특정 웹 페이지의 위치를 명시한다고 함! URI의 구성 프로토콜 호스트 포트 경로 매개변수

2강 웹 개론 : 배경지식 - 웹의 구조

웹이란? 웹페이지와 같은 다양하고 많은 정보로 이루어진 것이 웹이다. 웹은 링크로 연결되어 있다. 서버와 클라이언트 웹에 저장된 정보는 정확히 어디에 있는 것일까? 바로 서버에 있다. 정보를 저장하고 있다가 사용자가 요청할 때 전송해주는 역할을 하는 것이 서버 인터넷을 통해 서버에게 정보를 요청하고, 받은 정보를 브라우저 상에서 해석하여 사용자에게 제공하는(보여주는) 것이 클라이언트 웹 페이지와 웹 사이트 두 개 이상의 웹 페이지로 구성된 묶음을 웹 사이트라고 부름 ex) 구글 = 웹사이트, 구글 메인화면 & 구글 검색 결과화면 등 = 웹 페이지 프론트엔드와 백엔드 서버 측에 저장된 데이터를 다루는 것이 백엔드! 클라이언트 측에서 정보가 어떻게 표현될지를 정하는 것이 프론트엔드!

1강 오리엔테이션

강사 약력, 장고에 대한 간략한 소개, 장고를 공부하는 것의 장점, 해당 수업의 커리큘럼에 대한 예고 등의 내용이 있었다. 두 가지 시즌 이 강의는 2가지 시즌으로 구성되어있다. 첫 번째 시즌에서는 개론 및 사이트 제작을 중심으로 공부하고 두 번째 시즌에서는 더 복잡한 응용, 서비스의 출시와 운영 측면에서 고려해야 하는 부분까지 배운다. 왜 장고인가? 자바 기반인 Spring 등, 자바와 C++이 실제로 많이 쓰이고 있기는 함. 그럼에도 불구하고 파이썬 기반의 프레임워크를 추천하는 것은 파이썬이라는 언어의 특성 때문이다. 파이썬은 범용적이다. 파이썬은 비교적 배우기 쉽다. 파이썬은 다른 직군에서 개발자로 전향할 때에 많이 공부하는 언어이다. 파이썬보다 자바에 더 익숙한 나로서는 살짝 겁이 난다... 그래..