전체
웹의 동작 방식
Client : 일반적인 웹 사용자의 인터넷이 연결된 장치들(컴퓨터, 스마트폰)과 이런 장치들에서 이용가능한 웹에 접근하는 소프트웨어(파이어폭스, 크롬과 같은 웹 브라우저)이다. Server : 웹페이지, 사이트, 또는 앱을 저장하는 컴퓨터이다. 클라이언트의 장비가 웹페이지에 접근하길 원할 때, 서버로부터 클라이언트의 장치로 사용자의 웹 브라우저에서 보여지기 위한 웹페이지의 사본이 다운로드 된다. TCP/IP : Transmission Control Protocol(전송 제어 규약)과 Internet Protocol(인터넷 규약)은 데이터가 어떻게 웹을 건너 여행해야 하는지 정의 하는 통신 규약이다. DNS : Domain Name System (도메인 이름 시스템)은 호스트의 도메인 이름을 호스트의 네..
인터넷 작동의 원리(Network)
Internet 전선 : 네트워크 전기를 흐르게 하는 기술 : 인터넷 왼쪽 처럼 컴퓨터간의 통신을 위해 비효율적인 연결을 쓰지않고 오른쪽 처럼 라우터라는 특수한 소형 컴퓨터에 연결하여 통신을 할 수 있다. 하지만 수백, 수천, 수십억 대의 컴퓨터를 연결하는 것은 어떨까? 그림처럼 컴퓨터와 라우터, 라우터와 라우터 이런 형식으로 무한히 확장할 수 있다. 하지만 이런 네트워크는 우리의 목적을 가지고 네트워크를 구축한 형태이다. 집과 다른 지역 사이에, 아주 먼 곳에 케이블을 연결할 수는 없다. 우리는 전력 및 전화와 같이 이미 집에 연결된 케이블이 있다. 전화기 기반의 시설은 이미 세계 어느 곳과도 연결되어 있으므로 우리가 필요로 하는 완벽한 배선이라고 할 수 있다. 우리의 네트워크를 전화 시설과 연결하기 ..
Python Flask 웹 페이지 제작(3) - Form
FlaskForm 계정에 로그인하고 상품을 주문하거나 설문조사를 하는 것과 같이 사용자로부터 정보를 입력받는 방식 Content - Flask에서 Form 활용을 위한 프로젝트 폴더 및 파일 관리 - form.py - run.py - register.py form.py pip install Flask-WTF Flask Framework의 폼 검증 모듈로서, 쉽게 폼을 생성 할 수 있으며 json 데이터 상호 작용을 위한 검증도구로도 사용 가능 #form.py #회원 가입을 위한 form을 구성하는 파일을 만듦 from flask_wtf import FlaskForm from wtforms import StringField, PasswordField, SubmitField from wtforms.valid..
Python Flask 웹 페이지 제작(2) - Jinja2 템플릿
Content - HTML 렌더링 - 템플릿 렌더링해서 URL에 연결하기 - 템플릿에서 변수 사용하기 - 템플릿에서 if, for 사용하기 - 템플릿 상속 HTML 렌더링 from flask import Flask app = Flask(__name__) @app.route('/') @app.route('/home') def home(): return ''' 이건 h1 제목 이건 p 본문 Flask 홈페이지 바로가기 ''' @app.route('/user//') def user(user_name, user_id): return f'Hello, {user_name}({user_id})!' if __name__ == '__main__': app.run(debug=True) return의 응답들은 텍스트, 데이..
Python Flask 웹 페이지 제작(1) - 구조, Route
Flask Python으로 웹 개발을 할 때 많이 쓰이는 프레임워크로는 Django이지만 너무 무겁고 기능이 많아서 복잡 라이트한 개발을 위해 사용되는 Flask에 대해 공부 및 정리를 해보려고 한다. Content - Route - URL에 웹페이지 연결하기(고정 URL) - Route - URL에 웹페이지 연결하기(동적 URL) - HTML 렌더링 Directory project └static └style.css └ ... └templates └index.html └ ... └run.py run.py from flask import Flask app = Flask(__name__) @app.route('/') def home(): return 'Hello, World!' if __name__ == '..
Coding Test(최단 경로 알고리즘)
최단 경로 알고리즘 - 가장 짧은 경로를 찾는 알고리즘 - 각 지점은 그래프에서 노드로 표현 - 지점 간 연결된 도로는 그래프에서 간선으로 표현 다익스트라 최단 경로 알고리즘 - 특정한 노드에서 출발하여 다른 모든 노드로 가는 최단 경로를 계산 - 매 상황에서 가장 비용이 적은 노드를 선택해 임의의 과정을 반복한다 - 그리디 알고리즘으로 분류 - 현실 세계에 사용하기 매우 적합한 알고리즘 - 인공위성 GPS S/W에서 많이 사용 1. 출발 노드를 설정한다. 2. 출발 노드를 기준으로 각 노드의 최소 비용을 저장한다. 3. 방문하지 않은 노드 중에서 가장 비용이 적은 노드를 선택한다. 4. 해당 노드를 거쳐서 특정한 노드로 가는 경우를 고려하여 최소 비용을 갱신한다. 5. 위 과정에서 3~4번을 반복한다...