묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
ExceptionHandler가 AccessDeniedHandler(Http403Handler)를 먹어버리는 현상
안녕하세요 호돌맨님 강의 항상 잘보고있습니다. 다름이 아니라 실습 중 의도치 않게 동작하는 부분이 있어 질문드립니다. 상황회원 가입 후 로그인이 때 유저의 Role 은 ADMIN메소드 시큐리티로 아래와 같이 자원의 권한 제한@RestController class HomeController { @GetMapping("/user") @PreAuthorize("hasRole('ROLE_USER')") fun user(): String { return "user 접근 가능👁" } @GetMapping("/admin") @PreAuthorize("hasRole('ROLE_ADMIN')") fun admin(): String { return "admin 접근 가능 👨💼" } }이 때ExceptionHandler로 Runtime예외를 캐치해 응답을 주고 있습니다.동시에 커스텀한 403핸들러를 HttpSecurity에 끼워 넣어주었습니다.// ControllerAdvice @ExceptionHandler(Exception::class) fun handleRuntimeException(ex: Exception): ResponseEntity<ErrorResult> { logger.error("ex", ex) return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) .body( ErrorResult( code = "500", message = ex.message, ) ) } // SecurityConfig @Bean fun securityFilterChain(http: HttpSecurity): SecurityFilterChain { return http // .. other config.. .exceptionHandling { e -> e.accessDeniedHandler(Http403Handler(objectMapper)) e.authenticationEntryPoint(Http401Handler(objectMapper)) } .build() } 기대하는 동작ADMIN으로 로그인한 유저가 USER 자원에 접근하면 아래와 같이 응답{ "code": "403", "message": "접근할 수 없습니다.", "validation": null }실제 동작{ "code": "500", "message": "Access Denied", "validation": null } ControllerAdvice에서 Runtime예외를 처리하지 않는다면 의도대로 403이 응답되는데, ControllerAdvice에서 예외를 포괄적으로 처리하게 되면 403이 응답되지 않습니다. 혹시 이런경우를 겪으신적이 있는지? 따로 해결방법이 있을지 궁금해 여쭙습니다.감사합니다.
-
미해결쉽고 빠르게 배우는 Vue 3 기본 (Composition API)
Emit관련 질문이용!
제가 잘 이해가 안 가서 그렇습니만;;provide/Inject 1:17에 카테고리를 클릭하면 name=List로 수정되서 List쪽이 렌더링 되야 하는데 왜 name이 Post로 계속 남아있는 걸까요?? change-id는 클릭을 했을 때만 수정 되야 하는 거 아닌가요??
-
미해결Vue로 Nodebird SNS 만들기
해당 강의는 리뉴얼 예정은 따로 없나요?
React는 리뉴얼된 자료가 있던데 Vue NodeBird는 따로 없는것같아서요! 감사합니다.
-
미해결퀘이사(Quasar) 완벽 마스터: Vue 프론트 웹을 빠르게 만들고 싶다면! (Based Vue3)
npm run build 시 오류 발생합니다
[vite:load-fallback] Could not load D:\quasar\quasar-project\src\pages/IndexPage.vue (imported by src/router/routes.js): ENOENT: no such file or directory, open 'D:\quasar\quasar-project\src\pages\IndexPage.vue' 오류에 보면 경로 pages/youtube/Indexpage.vue에 youtube가 빠져있습니다. 실제 파일 경로는 정상인 상태인데 왜 youtube가 빠져서 읽히는 건가요?
-
미해결Vue 강의 끝판왕 : Nuxt 3 완벽 마스터
npm run build error
안녕하세요 extends 강의에서는 viola를 사용하라고 했으나 공식문서 내용에는 office-vue를 사용하라고 해서 설치후 강의를 보며 진행하던중 npm run build 명령어 실행시 아래와 같은 에레를 확인하게 되었습니다. =======================================Nuxt Build Error: Cannot find module 'vue-tsc/out/index' Require stack:- /workspace/nuxt/learn-nuxt-3/node_modules/vite-plugin-checker/dist/esm/checkers/vueTsc/prepareVueTsc.js======================================현재 package.json 은 아래와 같습니다.{ "name": "nuxt-app", "private": true, "type": "module", "scripts": { "build": "nuxi build", "dev": "nuxi dev", "generate": "nuxi generate", "preview": "nuxi preview", "postinstall": "nuxi prepare" }, "dependencies": { "nuxt": "^3.10.3", "vue": "^3.4.21", "vue-router": "^4.3.0" }, "devDependencies": { "typescipt": "^1.0.0", "vue-tsc": "^2.0.6" } }=======================================nuxt.config.ts======================================default defineNuxtConfig({ devtools: { enabled: true }, typescript: { // shim: false, typeCheck: true, }, }); ======================================빌드시점에 index 파일을 만들지 못하는거 같은데 이문제를 해결하려면 어떻게 해야할까요??
-
미해결Vuetify Admin Template 만들기 - 기본편 (Based Vue2)
git 10k 저렇게 나와있는데,
안녕하세요~혹시 저게 왜뜨는건가요?git 관련해서 뭔가 되고 있는듯한데,저걸 없애려면 어떻게 해야 할까요?
-
해결됨Vue 강의 끝판왕 : Nuxt 3 완벽 마스터
vscode extensions 질문
안녕하세요nuxt 초기 세팅중volar를 설치를 하려 했더니 depreacted 되었다고 Vue-Offical extension을 대신 사용하라고 하는데 강의 듣는데 별 문제가 안될까요??
-
미해결Vue.js - Django 연동 웹 프로그래밍
화면 에러화면이 자꾸 뜨네요..
/ url로 들어가면 다 이렇게 page not found가 떠요..url로 리다이렉션 되는건 저렇게 다 나오네요... 저의 urls.py는 이렇습니다.from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('todo/', include('todo.urls')), ]
-
미해결Vue 강의 끝판왕 : Nuxt 3 완벽 마스터
Cannot find name 'defineProps'. 라고 나오네요
계속 오류가 나는데 오토 임폴트가 안되는걸까요??
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
섹션10 언제 나오나요?
대략적인 일정이라도 궁금합니다
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
vue3 에러 메세지...
piniaData.jsimport { defineStore } from 'pinia'; import { fetchAskList, fetchJobsList, fetchNewsList, fetchUserInfo, fetchItem, fetchList } from '../api/index'; export const usePiniaStore = defineStore('listData', { state: () => { return { news: [], ask: [], jobs: [], user: {}, item: {}, loading: true, list: [], } }, getters: { fetchedNews(state) { return state.news }, fetchedAsk(state) { return state.ask }, fetchedJobs(state) { return state.jobs }, fetchedUser(state) { return state.user }, fetchedItem: (state) => state.item, fetchedList: (state) => state.list }, actions: { async FETCH_NEWS(){ try { this.loading = true; const res = await fetchNewsList(); this.news = res.data; return res; }catch(error){ console.error(error); }finally{ this.loading = false; } }, async FETCH_ASK(){ try { this.loading = true; const res = await fetchAskList(); this.ask = res.data; return res; }catch(error){ console.error(error); }finally{ this.loading = false; } }, async FETCH_JOBS(){ try { this.loading = true; const res = await fetchJobsList(); this.jobs = res.data; return res; }catch(error){ console.error(error); }finally{ this.loading = false; } }, async FETCH_USER(id){ try { this.loading = true; const res = await fetchUserInfo(id); this.user = res.data; return res; }catch(error){ console.error(error); }finally{ this.loading = false; } }, async FETCH_ITEM(id){ try { this.loading = true; const res = await fetchItem(id); this.item = res.data; return res; }catch(error){ console.error(error); }finally{ this.loading = false; } }, async FETCH_LIST(pageName){ try { this.loading = true; const res = await fetchList(pageName); this.list = res.data; return res; }catch(error){ console.error(error); }finally{ this.loading = false; } }, } }) CreateListView.jsimport { h } from 'vue'; import ListView from './ListView'; import { useRoute } from 'vue-router' import { usePiniaStore } from '../store/piniaData' export default function createListView(componentName) { return { name: componentName, setup() { // store 를 쓰기위함 const store = usePiniaStore(); // store에 우리가 만든 state를 사용하고, api요청 함수를 사용하기 위해 const { FETCH_LIST } = store; const routeName = useRoute().name; FETCH_LIST(routeName). then(() => { console.log('fetched') }); return { routeName } }, render() { // ListView 컴포넌트를 렌더링하는 렌더링 함수 return h(ListView); } } } 로 작성을 해서 기능은 다 작동하는데요... 콘솔창에[Vue warn]: Property "name" was accessed during render but is not defined on instance. at <ListItem> at <ListView> at <NewsView onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< Proxy(Object) {_pStores: {…}, …} > > at <BaseTransition appear=false persisted=false mode=undefined ... > at <Transition name="page" > at <RouterView> at <App>에러가 계속나오는데 어떻게 해결할 수 있는지 알 수 있을까요?
-
해결됨Vue 강의 끝판왕 : Nuxt 3 완벽 마스터
auto import
안녕하세요, auto import가 제대로 작동하지 않는 것 같아 문의드립니다.파일을 모두 닫고 npm run dev를 다시 실행해보기도 하고 vscode를 껐다키기도 했지만 import가 자동으로 이루어지지 않는 것 같습니다.다른 확인해봐야할 부분이 있을까요 ? 확장 플러그인을 동일하게 다운 받고 싶어서 vscode를 사용하고 있는데, 저는 원래 인텔리제이가 편해서요 ...웹스톰으로 해당 강의를 그냥 따라가도 괜찮을까요 ?
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
typscript 적용
안녕하세요! 기본편부터 실전편까지 전부 다 듣고 현재 실전편에서 만든 프로젝트에 타입스크립트를 적용하려고 합니다!아무리 찾아봐도 vue3에 타입스크립트를 이후에 추가하는 자료가 보이지 않아서 질문글에 올려요!혹시 세팅하는 순서와 방법 좀 알려주실 수 있으실까요?거기에 현재 volar가 삭제되어서 vue가 좀 불안정한? 느낌이라 더더욱 타입스크립트 세팅이 잘 안되고 있습니다 ㅠ_ㅠ부탁드릴꼐요..!
-
미해결Vue.js 시작하기 - Age of Vue.js
뷰 개발자도구 이벤트 타임라인 어느 부분에서 확인가능한건가요
아무것도 안떠서 어디서 확인해야하는지 모르겠어요
-
해결됨PWA 시작하기 - 웹 기술로 앱을 만들자
수업에서 안내한 리포지토리를 공개로 바꿨습니다. 접근 권한 신청 안하셔도 돼요 - 강사 안내사항
신청 안하셔도 됩니다 :)
-
미해결프로젝트로 배우는 Vue.js 3
numberOfPages 결과 nan
const numberOfPages = computed(() => {return Math.ceil(Number(numberOfTodos.value)/limit)}); 이 부분에서 NaN 에러가 납니다.혹시나해서 강사님 깃허브 소스 들고와서 복붙해도 똑같이 그러네요.페이징 마지막 34번 깃허브 소스도 붙여넣기 해보니 아예 리스트가 안 나오는 현상이 발생합니다.(데이터는 잘 불러옵니다.)뭐 때문에 그러는걸까요? 소스 확인 부탁드립니다!
-
해결됨Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
id ="app" 중복
안녕하세요. App.vue 소스를 보면 아래와 같이 <div id="app"></div> 태그가 있고,public/index.html 에도 <div id="app"></div> 태그가 있습니다.그래서 크롬 개발자 도구를 보면 #app 안에 #app 있는데요. 둘 중 하나만 있어야 하는 건 아닌지요? index.html #app 태크를 지우면 정상적으로 로딩되지 않더라고요. 감사합니다.
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
watch 함수 실습
해당 강의의 App_multiple_source_type.vue 소스에서 다양한 watch 함수들 주석을 풀어가며 실습 중인데, 강사님은 소스 입력 후 저장하면 바로 웹에 적용되어 vue 개발자도구에서 데이터 변경을 하시는데 저는 watch 함수 하나 실습 후 다른 watch 함수 주석 풀어서 테스트하면 웹에서 새로 고침을 했는데도 불구하고 데이터 변경이 안되요ㅠ... 따로 이유가 있을까요?? vite.config.js 에 server: watch: usePolling 도 설정해둔 상태입니다.
-
미해결PWA 시작하기 - 웹 기술로 앱을 만들자
권한 부탁드립니다.
인프런 아이디 : kj94gakt@naver.com인프런 이메일 : kj94gakt@naver.com깃헙 아이디 : shdong@tanso.life깃헙 Username : seunghyeonD
-
미해결프로젝트로 배우는 Vue.js 3
todos 질문입니다.
todos 에 내용이 없을 때 화면에 []이 표시됐었는데, 마지막에 내용을 지워도 화면에 []이 표시되지 않네요?? 어떤 로직때문에 화면에 todos가 없어도 []가 표시되지 않는걸까요?