no image
[Vue] Vue with DRF (feat.CORS)
1. Article Read 응답 받은 데이터 구조 확인 'data Array'에 각 게시글 객체 각 게시글 객체는 다음으로 구성 id title content store/index.js 수정 기존 articles 데이터 삭제 Mutations 정의 응답 받아온 데이터를 state에 저장 2. Article Create views/CreateView.vue 코드 확인 게시글 생성을 위한 form을 제공 v-model.trim을 활용해 사용자 입력 데이터에서 공백 제거 .prevent를 활용해 form의 기본 이벤트 동작 막기 views/CreateView.vue 코드 확인 title, content가 비었다면 alert를 통해 경고창을 띄우고 AJAX 요청을 보내지 않도록 return 시켜 함수를 종료 ..
2022.11.14
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
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
no image
[Vue] Todo with Vuex2
목차 상태별 todo 개수 계산 Local Storage 1. 상태별 todo 개수 계산 전체 todo 개수 allTodosCount getters 작성 state에 있는 todos 배열의 길이 계산 getters에 계산된 값을 각 컴포넌트의 computed에서 사용하기 완료된 todo 개수 completedTodosCount getters 작성 isCompleted가 true인 todo들만 필터링한 배열을 만들고 길이 계싼 filter를 활용하여 완료 여부에 따른 새로운 객체 목록을 작성 후 길이 반환 getters에 계산된 값을 각 컴포넌트의 computed에서 사용하기 미완료된 todo 개수 미완료된 todo 개수 === 전체 개수 - 완료된 개수 getters가 두번째 인자로 getters를 받는..
2022.11.07
no image
[Vue] Todo with Vuex1
위와 같은 컴포넌트 구성을 이루는 Todo 프로젝트를 만들어보자. 목차 사전준비 Read Todo Create Todo Delete Todo Update Todo 1. 사전준비 Init Project 프로젝트 생성 및 vuex 플러그인 추가 HelloWorld 컴포넌트 및 관련 코드 삭제 App.vue의 CSS 코드는 남김 컴포넌트 작성 TodoListItem.vue TodoList.vue TodoForm.vue App.vue 2. Read Todo State 세팅 출력을 위한 기본 todo 작성 Vue 개발자 도구에서 state 데이터 확인 state 데이터 가져오기 컴포넌트에서 Vuex Store의 state에 접근($store.state) computed로 계산된 todo 목록을 가져올 수 있도록 ..
2022.11.07