묻고 답해요
121만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프로젝트로 배우는 Vue.js 3
52강의 originalTpdp ref 와 todo ref
res.data는 객체이기 때문에 todo.value = res.data 와origivalTodo.value = res.data 는다른 메모리 주소에 할당되는 것이 아닌가요?
-
미해결PWA 시작하기 - 웹 기술로 앱을 만들자
깃헙 레포 권한 요청드립니다,
인프런 아이디 : bjs2417@inswave.com인프런 이메일 : bjs2417@inswave.com깃헙 아이디 : qornwh@gmail.com깃헙 Username : qornwh
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
composable: alert 창이 안떠요
선생님 composable/alert.js 만들기 전에는 alert창이 잘 뜨다가 아래처럼 했는데 안떠서요~다른 이유가 있을까요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
아이콘의 경우 새로 고침해야지 checkBtnCompleted가 적용됩니다
<template> <div> <ul> <li v-for="(todoItem, index) in todoItems" v-bind:key="todoItem.item" class="shadow"> <span v-on:click="toggleComplete(todoItem, index)"> <i class="checkBtn fas fa-check" v-bind:class="{ checkBtnCompleted: todoItem.completed }"></i> </span> <span v-bind:class="{ textCompleted: todoItem.completed }">{{ todoItem.item }}</span> <span class="removeBtn" v-on:click="removeTodo(todoItem, index)"> <i class="fas fa-trash-alt"></i> </span> </li> </ul> </div> </template>i 태그를 span 안에 넣은 이유는 클릭해도 아무 반응이 없어서 span 안에 넣었습니다.completed 관련한 v-bind는 새로고침 안해도 바로 반영되는데 checkBtnCompleted 관련한 v-bind는 새로고침 해야지 체크표가 회색으로 변합니다.어디가 문제인지 모르겠습니다
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃헙
권한 요청드립니다.인프런 아이디 : pm@nuriapp.co.kr인프런 이메일 : pm@nuriapp.co.kr깃헙 아이디 : mursh330@gmail.com깃헙 Username : jooahnlee 감사합니다!
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
eslint 세팅 질문 드립니다.
vite로 프로젝트 설치 시, 영상과 다르게 extentsion설치에 대한 문의가 없어 바로 설치를 하였고,eslint의 경우 npm으로 별도 설치 하였더니영상에 보이는 cjs 파일이 보이지 않습니다.rules세팅을 어떻게 해야 할까요?
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
design > common 타입 에러
깃을 클론하려다 키체인 문제가 쉽게 해결되지 않아서 다운받아 압축을 풀고 Visual Studio Code에서 폴더에 접근하였습니다. 이후 common 폴더에서 npm install을 하였더니 아래와 같은 에러가 발생했습니다. 그래서 npm audit fix --force를 실행하였는데 (sudo 붙여서도 확인) 아래같은 로그가 뜨네요..이후 그냥 npm run serve로 실행시켜보려고 했는데 아래와 같은 타입 에러가 발생했습니다.이래저래 방법을 찾아보다가 현재는 아래 네 개의 항목이 설치가 안되는 것 같은데 혹시 어떻게 해결하면 좋을까요?
-
해결됨Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
composable과 pinia store - 둘 중 하나를 선택하는 기준
안녕하세요. "Alert Store 만들기" 영상을 보고 의문이 생겨 질문드립니다. 제 생각에는 compasable과 pinia는 유사한 구현방법으로 똑같은 목적을 달성하는 것 같아 보입니다. 우선 제가 이해한 내용은 이렇습니다.composable은 반복되는 로직을 분리해 재사용성을 높이기 위해 사용하는 개념pinia는 전역적으로 상태(+그리고 상태를 관리하기 위한 메소드)를 관리하기 위한 도구 강의영상에서는 composable의 형태로 구현했던 alert를 pinia로 재구현 해주셨습니다. 이렇게 상태가 포함되는 로직은 composable보다 pinia로 구현하는 것이 더 적절한가요? pinia로 구현했을 때 성능, 프로젝트 가독성(?) 등의 여러 방면에서 어떤 이점이 있는지 잘 모르겠습니다. 혹시 선생님이나 다른 분께서 알려주실 수 있을까 해서 질문드립니다. 감사합니다.
-
해결됨호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
안녕하세요 유틸클래스 질문있습니다
보통 암호화하는 클래스들을 static 유틸클래스들로 만들었었는데 이런 static유틸클래스와 @Component를 달아서 사용하는 유틸클래스는 어떤 차이를 만들어낼수있는건가요..?제가 생각했을땐 유틸클래스를 스프링 빈으로 관리하겠다는 생각만 떠오르는데.. 이해할수있을만한 예시가있을까요..? 제가 못찾는건지 마땅히 그럴싸한 자료를 못봤던것같아서요 ㅠ강의도중 @Component얘기가 잠깐나와서 생각이나서 질문드려봅니다...
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "실전편"
createPost()의 async, awiat
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요.오늘 수업에서 Promise 객체를 다루면서 async, await를 알려주셨습니다.그런데 Promise 객체를 다룰 때, 해당 함수의 return을 받을 필요가없다면 async, await를 명시하지 않아도 되는건가요?PostCreateView.vue 파일의 save() 함수에서 createPost() 함수를 사용할 때 이러한 부분이 있었습니다.
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
스프링부트 3.0.2 querydsl + rest docs + propoerties
스프링부트 3.0.2로 따라하고 계신분들을 위한 공유입니다.queryDSLimplementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api"Spring REST Docsext { asciidocVersion = "3.0.0" }버전을 3.0.0으로 지정application.propertiesspring.h2.console.enabled=true spring.datasource.url=jdbc:h2:mem:test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.datasource.password=
-
해결됨Vue.js 시작하기 - Age of Vue.js
main.js 파일의 import 부분에서 오류가 납니다.
main.js 파일의 import 부분에서 오류가 납니다. 이미 사전에 동일한 질문이 있길래 똑같이 적용시켜보려했지만 윈도우 10 환경이라 그런지저에게는 우측하단에 ESLint를 변경하는 버튼이 없더라고요.. 어떻게 해결해야 할까요..?
-
미해결프로젝트로 배우는 Vue.js 3
computed 와 검색 기능 추가 질문드려요.
computed 와 검색 기능 추가 영상 보면서 힘든 부분이 있어 작성해 보았습니다.- filteredTods = computed() => {~~~}searchText 를 변경했다고, 해당 computed가 작동하는 이유를 알고 싶습니다.- todos Add 하는 작업에서는 어째서,filteredTods = computed() => {~~~} 가 작동하지 않는 이유도 알고 싶습니다.- 결국 filteredTods = computed()에 정확한 이벤트 타이밍을 알고 싶습니다.[내가 원치 않는 곳에서 작동하면 안되니까]
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
영상에 나오는 브금 출처좀 알 수 있을까요?
노동요로 좋네요ㅇㅅㅇ
-
해결됨호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
Interceptor 여러번 호출
@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(new AuthInterceptor()); } }@Slf4j public class AuthInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { log.info(" >> preHandle"); return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { log.info(" >> postHandle"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { log.info(" >> afterCompletion"); } } 호출이 여러번 되는 현상이 발생합니다. preHandle 로그가 3번 찍혀요.검색하여 기본 + 2번 더 호출된다는 글을 보았으나, 제게는 해결책이 아니었습니다.(https://okky.kr/articles/598386)2번 더 호출 될 때에는 request.getParameter null로 넘어옵니다. (acceessToken까지 진행해보다가 롤백했어요 ... 이거부터 해결이 되어야해서 ㅠ.ㅠ)도와주세요 호돌맨님! (git 주소 가렸어요 ! :D)
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
QueryDsl 추가 과정에서 질문이 있습니다..
안녕하세요 선생님. Querydsl 설정하는 부분에서 질문이 있습니다.호돌맨님 강의영상처럼 똑같이 보고 따라했는데 제꺼에선 Q클래스를 인식하지를 못 하더라구요.제가 기존에 영한님 강의에 익숙해져서 빌드 도구를 gradle이 아니라 인텔리제이로 해놨었거든요.그래서 혹시 몰라 gradle로 바꾸니 이제 QClass가 잘 생성이 되네요.혹시 이 부분은 어느 키워드로 검색을 해야할까요..?
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
PostCreate 기본 생성자 문제 질문드립니다.
우선 수업 잘 듣고 있습니다 호돌맨님! 많이 배우고 있어요 ㅎㅎ제목에서와 같이 PostCreate 부분에서 기본 생성자에 관해 질문을 드립니다. // @Setter @Getter @NoArgsConstructor // TODO: 왜 이게 꼭 있어야 하는 것일까? public class PostCreateDto { @NotBlank(message = "타이틀을 입력해주세요.") private String title; @NotBlank(message = "내용을 입력해주세요.") private String content; @Builder public PostCreateDto(String title, String content) { this.title = title; this.content = content; } }우선 이건 제 코드입니다. 보시면 제 코드에는 @NoArgsConstructor 어노테이션이 있는데요. 이 부분이 없으면 제 PostControllerTest에서는 테스트 실패가 뜨더라구요. 에러 메시지는 다음과 같습니다. Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.blog.request.PostCreateDto (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)에러메시지를 읽어보니 생성자가 없다는 문제 같아서 @NoArgsConstructor 어노테이션을 붙여보니 정상적으로 작동을 하더군요.이 부분이 궁금해서 찾아보니 RequestBody로 넘어오는 데이터를 맵핑할 때 Jackson의 ObjectMapper가 사용되는데 이게 RequestBody를 생성할 때, DTO가 Property기반이 아니거나 Delegate를 한 상태가 아니라면 기본 생성자로 생성한다 라고 나와있네요. (https://velog.io/@conatuseus/RequestBody%EC%97%90-%EC%99%9C-%EA%B8%B0%EB%B3%B8-%EC%83%9D%EC%84%B1%EC%9E%90%EB%8A%94-%ED%95%84%EC%9A%94%ED%95%98%EA%B3%A0-Setter%EB%8A%94-%ED%95%84%EC%9A%94-%EC%97%86%EC%9D%84%EA%B9%8C-3-idnrafiw)그리고 바인딩할 때 Setter가 없이도 자바 리플렉션을 통해서 DTO에 값이 들어간다고 하는 것도 이번에 알게 됐네요. 그래서 Setter를 지우고 Getter랑 @NoArgsConstructor 어노테이션만 붙이고 테스트를 돌려보니 통과가 잘 됩니다. 그런데 호돌맨님이 올려주신 코드를 보니 PostCreate 부분에 기본생성자가 없더라구요. 그런데도 테스트통과가 잘 되는 것을 보니까 신기하네요. 어떻게 그게 가능한 것인지 설명해주실 수 있나요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
메일 알람 설정 문의
메일 알람 안오게 할려면 어떻게 해야 하나요? repositories에서는 이미 삭제해서 unsubscribe를 할수가 없는 상태입니다 답변 부탁 드리겠습니다
-
해결됨Vue.js 끝장내기 - 실무에 필요한 모든 것
/signup 아이디 새로 만들어도 409 error 뜨시는 분들
Clusters의 Database Access를 클릭해서 Database Access 의 user 중 edit 버튼을 클릭한 후Database User Privileges의 Built-in Role 을 Atlas admin으로 하면 에러가 해결됩니다.그 후에도 에러가 난다면본인이 화이트리스트에 설정을 제대로 했는지 확인하시면 해결 될거에요!
-
해결됨호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
키보드 소리가 너무좋은데..
강의외적 질문이지만.. 혹시 어떤 키보드를 쓰고계신지 알수있을까요..? 소리가 너무 좋아서 악기같아요