본문 바로가기

반응형

분류 전체보기

(137)
[HTML 기초] 0. 소개 1. 계기 안녕하세요 개발자고고입니다. 그동안은 필요한 부분만 선택적으로 골라 학습하고 프로젝트에 적용하는 방식으로 개발을 공부했습니다. 하지만 수많은 정보가 뒤엉켜 있는 느낌이 들어 처음부터 다시 정리해보고자 [프론트엔드 개발 가이드]를 작성하게 되었습니다. 사실 저를 위한 가이드라고 할 수 있지요. 성격상 순서대로, 스텝 바이 스텝으로 공부하는 것을 좋아하는데, 개발은 "여기서부터 여기까지 공부하면 된다"가 없어 처음에는 방황을 많이 했습니다. 하지만 그 과정에서 비효율적인 것은 있었을지 몰라도 불필요한 것은 없었다고 생각합니다. 오히려 다양한 시행착오들이 시야를 넓혀주었다고 생각합니다. 아직 제대로 된 실무를 경험했다고 할 수 없는 학생 신분이지만, 그러기에 더 왕초보들의 마음을 잘 이해할 수 있는..
[Springfield 대본 다운로드] 4. heroku 배포하기 (error: failed to push some refs to 'https://git.heroku.com/download-scripts.git) 참고 문서: https://wikidocs.net/83113 006 heroku에 호스팅해보기 # heroku에 호스팅해보기 pythonanywhere는 간편하지만 무료 버전은 제한이 있습니다. (02-5 참조). 특히 공공 데이터 API는 pythonanywhere ... wikidocs.net 1. 환경 준비 heroku 가입 (www.heroku.com) git 설치 (https://git-scm.com/downloads) heroku cli 설치 (https://devcenter.heroku.com/articles/getting-started-with-python#set-up) 2. 관련 파일 준비 vscode로 가서 관련 파일들을 준비한다. 1) gunicorn 설치 pip install gun..
[Springfield 대본 다운로드] 3. 예외 처리하기 (flash) & 파일 압축과 다운 (zipfile, send_file) 1. Python의 alert - flash springfield에 존재하지 않는 스크립트를 입력한 경우, 혹은 제목을 올바르게 입력하지 않는 경우 경고문이 필요하다. JS의 alert와 같은 기능을 Flask에서 찾아보니 flash라는 것이 있었다. 1) app.py import flash app.secret_key = "abcde" (시크릿 키를 설정해야 한다고 함) flash("에러 메시지") from flask import Flask, render_template, request, flash import download # Flak 앱 서버 인스턴스 app = Flask(__name__) app.secret_key = "abcde" # url 패턴 - 라우팅 - 데코레이터 @app.route('/..
[Springfield 대본 다운로드] 2. Flask 연동하기 웹으로 배포하면 누군가가 사용할 수도 있지 않을까?라는 마음으로 python 코드에 Flask를 연동해보려 한다. Flask에 관한 내용은 아래 문서와 영상을 참고했다. https://wikidocs.net/83097 000 동영상 강의 모음 # 이전 강의 - 01-1 ~ 01-3 : https://youtu.be/NJ6FrqVHHlE - 01-4 : https://youtu.be/BFRG8oIWpMY # 프로 ... wikidocs.net 1. Flask 프로젝트 세팅 1) 가상환경 및 패키지 설정 pip install virtualenv // 가상환경 virtualenv venv //venv 폴더에 가상환경 만들 것 -> venv 폴더 생긴다 venv|Scripts|activate //가상환경 활성화..
[Springfield 대본 다운로드] 1. 개요 & 대본 하나 다운받기 1. 개요 영어 스피킹을 공부하는 방법 중 하나로 쉐도잉이라는 것이 있다. 좋아하는 영화나 미드를 따라하며 스피킹 연습을 하는 것으로 꽤 보편적인 공부법으로 알려져있으며, 효율적인 쉐도잉 방법 또한 많은 유튜브나 블로그 등에서 소개되고 있다. 영어 공부를 할 겸 이런 저런 방법론을 찾아보던 중, 영어 대본이 필요하다는 것을 알게 되었고 스크립트를 제공하는 사이트를 발견하게 되었다. Springfield라는 곳으로 영화나 TV Show에 대한 대본을 제공한다. 제목을 통해 검색하면 해당하는 모든 에피소드가 나오고, 에피소드 하나를 클릭하면 스크립트를 볼 수 있다. 스크립트를 다운받기 위해 모든 글을 "선택 -> 복사 -> 원하는 파일로 붙여넣기" 작업을 하면 된다. 하나의 에피소드만 다운로드하는 것은 할 ..
[코딩 테스트 준비 - 기초] 10. BFS - 최단 거리, 최소 비용 1. BFS만으로 풀 수 있는 문제 DFS와 BFS의 목적은 임의의 정점에서 시작해서 모든 정점을 한 번씩 방문하는 것으로 동일하다. 따라서 모든 인접 정점을 방문하는 목적이라면 DFS와 BFS 중 아무거나 사용해도 상관없다. 하지만, BFS만을 사용해야 하는 문제들이 있다. 바로 모든 가중치가 1일 때, 최단 거리를 구하는 문제이다! cf. 가중치가 1이 아닌 경우 최단 거리를 구하는 문제는 Dijkstra로 푼다. BFS를 이용해 해결할 수 있는 문제는 아래 조건을 만족해야 한다. 최단 거리, 최소 비용 문제이어야 한다. 간선의 가중치가 1이어야 한다. 정점과 간선의 개수가 문제의 조건에 맞춰 해결할 수 있어야 한다. (O(V + E)내에 해결 가능해야 함) 간선의 가중치가 최소 비용의 의미와 일치해..
[코딩 테스트 준비 - 기초] 9. 그래프 - DFS & BFS 1. 그래프 G = ( V , E ) : 그래프는 정점(vertex)과 간선(edge)들의 집합이다. 방향 있는 그래프(유향 그래프) u -> v 방향 없는 그래프(무향 그래프) u - v 2. 그래프의 표현 다음 그래프를 표현하는 방법 세 가지를 알아보자. 1) 인접 행렬(Adjacency Matrix) 2차원 배열로 구현 장점: 임의의 두 정점 사이에 간선 존재 여부를 O(1)에 판단할 수 있다. 단점: 공간 낭비가 심하다 (O(V^2)) 효율성: O(V) 2) 인접 리스트(Adjacency List) 포인터 배열(vector)로 구현 장점: 공간을 효율적으로 쓴다. (O(E)) 효율성: O(정점의 차수) 3) 간선 리스트(Edge List) vector를 사용할 수 없는 환경에서 Linked Lis..
[코딩 테스트 준비 - 기초] 8. 다이나믹 프로그래밍(DP) 1. 다이나믹 프로그래밍 개념 아래 두 가지 속성을 만족하는 문제를 다이나믹 프로그래밍으로 풀 수 있다. 1) 문제들이 겹쳐야 한다. 문제를 작은 문제로 쪼갤 수 있어야 한다. 큰 문제와 작은 문제를 같은 방법으로 풀 수 있어야 한다. 2) 최적 부분 구조를 만족해야 한다. 문제의 정답을 작은 문제의 정답에서 구할 수 있어야 한다. 한 문제의 정답은 항상 일정하다. 즉, 각 문제는 한 번만 풀어야 하고 그 정답을 어딘가에 메모해 놓아야 한다. 즉, 우선 문제가 작은 문제로 나누어지는지 확인하고, 이후 작은 문제의 정답을 이용해서 원래의 정답을 구할 수 있는지 확인한다. 이 경우, 다이나믹 프로그래밍을 이용하면 된다. 구현 방식 Top-down 재귀를 통해 구현 큰 문제를 작은 문제로 나누어 함수를 호출한..

반응형