no image
[Vue] CORS
목차 Cross-Origin Resource Sharing How to set CORS 1. Cross-Origin Resource Sharing What Happened? 브라우저가 요청을 보내고 서버의 응답이 브라우저에 도착 Server의 log는 200(정상) 반환 즉 Server는 정상적으로 응답했지만 브라우저가 막은 것 보안상의 이유로 브라우저는 동일 출처 정책(SOP)에 의해 다른 출처의 리소스와 상호작용 하는 것을 제한 함 SOP(Same - Origin Policy) "동일 출처 정책" 불러온 문서나 스크립트가 다른 출처에서 가져온 리소스와 상호작용 하는 것을 제한하는 보안 방식 잠재적으로 해로울 수 있는 문서를 분리함으로써 공격받을 수 있는 경로를 줄임 https://developer.m..
2022.11.14
no image
[Vue] Vue with DRF
1. Again DRF lab.ssafy의 Skeleton code 확인 Model 구조 확인 요청 경로 확인 미리 준비해둔 Dummy data 확인 및 데이터 삽입 서버 실행 후, 전체 게시글 조회 Browser에서 serve에 전체 게시글 조회 요청 => 데이터 반환 확인 Postman에서 올바른 방법으로 요청 => 데이터 반환 확인 2. Back to Vue Skeleton code 확인 front-server 폴더 구조 확인 및 서버 구동 준비 컴포넌트 구조 확인 메인 페이지 구성 views/ArticleView.vue component 확인 및 route 등록 src/App.vue router-link 주석 해제 및 결과 확인 components/ArticleList.vue 확인 전체 게시물을 ..
2022.11.14
no image
[Vue] Server & Client
목차 Server & Client 1. Server & Client 서버(server)란 ? 클라이언트에게 정보와 서비스를 제공하는 컴퓨터 시스템 서비스 전체를 제공 == Django Web Service 정보를 제공 == DRF API Service 서비스 전체를 제공 == Django Web Service Django를 통해 전달받은 HTML에는 하나의 웹 페이지를 구성할 수 있는 모든 데이터가 포함 즉, 서버에서 모든 내용을 렌더링 하나의 HTML 파일로 제공 정보를 포함한 web 서비스를 구성하는 모든 내용을 서버 측에서 제공 정보를 제공 == DRF API Service Django를 통해 관리하는 정보만을 클라이언트에게 제공 DRF를 사용하여 JSON으로 변환 Client Server가 제공하..
2022.11.14
[백준 12015번] 파이썬 - 가장 긴 증가하는 부분 수열2
http://www.acmicpc.net/problem/12015 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net # 조건 수열 A가 주어졌을 때 가장 긴 증가하는 부분 수열을 구하라 # 접근 방법 이전의 하위 문제처럼 DP를 이용하여 이전 값들을 모두 순회한다면 수열 A의 크기 1,000,000 이하 이므로 시간초과가 난다. 따라서, 현재 값들을 dp테이블에 추가해주며, dp에서 가장 큰 수보다 크다면 append, 아니라면 들어갈 수 있는 자리를 찾아서 넣어준다. 찾는 모듈은 bisect를 이용해준다. im..
2022.11.10
[백준 11053번] 파이썬 - 가장 긴 증가하는 부분 수열
http://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net # 조건 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하라 A = {10, 20, 10, 30, 20, 50} 인 경우 가장 긴 증가하는 부분 수열은 10, 20, 30, 50 이고 길이는 4이다. # 접근 방법 dp를 이용해준다. 현재 인덱스의 숫자를 기준으로 이전의 숫자를 모두 훑어 준다. 1번부터 채워가..
2022.11.10
[백준 15657번] 파이썬 - N과 M(8)
http://www.acmicpc.net/problem/15657 15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net # 조건 N개의 자연수와 자연수 M이 주어질 때 아래 조건 만족하는 길이가 M인 수열 모두 구하라. N개의 자연수 중에서 M개를 고른 수열 같은 수를 여러 번 골라도 된다. 고른 수열은 비내림차순 # 접근 방법 자기 자신과의 선택도 가능하므로 중복조합 이용해준다. combinations_with_replacement from itertools import combinations_with_r..
2022.11.09
no image
[Vue] Articles with Vue
지금까지 배운 내용들을 종합하여 Django에서 만들었던 게시판 만들어보자 구현기능 Index Create Detail Delete 404 컴포넌트 구성 목차 Index Create Detail Delete 404 Not Found 사전 준비 프로젝트 시작 vue create articles cd articles vue add vuex vue add router App.vue는 아래 코드만 남김 (CSS 코드 유지) 1. Index 구현 state 게시글의 필드는 id, 제목, 내용, 생성일자 DB의 AUTO INCREMENT를 표현하기 위해 article_id를 추가로 정의해줌 (다음 article의 id로 사용 예정) IndexView 컴포넌트 및 라우터 작성 state에서 불러온 articles 출..
2022.11.09
no image
[Vue] Navigation Guard
목차 전역 가드 라우터 가드 컴포넌트 가드 404 Not Found 네비게이션 가드 Vue router를 통해 특정 URL에 접근할 때 다른 url로 redirect를 하거나 해당 URL로의 접근을 막는 방법 ex) 사용자의 인증 정보가 없으면 특정 페이지에 접근하지 못하게 함 https://v3.router.vuejs.org/guide/acvanced/navigation-guards.html 종류 전역 가드 애플리케이션 전역에서 동작 라우터 가드 특정 URL에서만 동작 컴포넌트 가드 라우터 컴포넌트 안에 정의 1. 전역 가드 Global Before Guard 다른 url 주소로 이동할 때 항상 실행 router/index.js에 router.beforeEach()를 사용하여 설정 콜백 함수의 값으로 ..
2022.11.09
no image
[Vue] Router
목차 Routing Router 실습 1. Routing 네트워크에서 경로를 선택하는 프로세스 웹 서비스에서의 라우팅 유저가 방문한 URL에 대해 적절한 결과를 응답하는 것 예시 /articles/index/ 에 접근하면 articles의 index에 대한 결과를 보내줌 Routing in SSR Server가 모든 라우팅을 통제 URL로 요청이 들어오면 응답으로 완성된 HTML 제공 Django로 보낸 요청의 응답 HTML은 완성본인 상태였음 결론적으로, Routing(URL)에 대한 결정권을 서버가 가짐 Routing in SPA / CSR 서버는 하나의 HTML(index.html) 만을 제공 이후에 모든 동작은 하나의 HTML 문서 위에서 JavaScript 코드를 활용 DOM을 그리는데 필요한 ..
2022.11.09