묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
update 로직 짤때
위 사진처럼 짜면 put으로 있던 id에 updateParam으로 덮어씌워져서 업데이트 되는거 아닌가요? 테스트도 정상적으로 작동하는데 위에 4줄로 작성하면 더 좋은점이 어떤게 있나요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
댓글 작성이 안됩니다, 어디를 확인하면 좋을까요?
버튼을 눌러서 댓글 제출을 했는데 ADD_POST_REQUESET 가 뜨네요, 어디 코드가 잘못된걸까요?
-
미해결파이썬(Python) 기초부터 실무까지 part.1
while.py
처음 while문 배울 때 go를 치면 "ok! 진행합니다." 라고 나오는데 다른 아무말이나 넣어봐도 "ok! 진행합니다." 라고 나오더라구요.. 혹시 go라고 해야지만 "ok! 진행합니다." 라고 나오게는 어떻게 하나요?
-
미해결실전! 스프링 데이터 JPA
@Path variable로 Id를 받을 때 궁금증
강의를 듣다가 궁금한게 생겼는데요 Id 같은 PK의 경우에 좀 중요한 정보라고 생각을 합니다. 사용자 입장에서는 자동적으로 매겨진 pk인 id를 모르겠지만 이것을 사용자 측에서 저장하고 server와 주고 받는것이 맞는건지 궁금합니다. 공부를 하는 입장이라 실무에서는 어떤 방식으로 사용자 정보를 조회하도록 하는지가 너무 궁금합니다. ID정도는 넘겨줘도 상관이 없는건가요? 아니면 이러한 정보를 절대 전송하면 안되고 매번 session에서 꺼내야 하는건가요? cookie 에서 이 값을 저장해도 무방한가요? 무엇이 나은가요? ㅠㅠ cooki Id
-
미해결Vue.js 시작하기 - Age of Vue.js
scf, vue, vbase 단축키 다 안 됩니다 ㅠㅠ
안녕하세요. Vue 강좌를 보고 공부중입니다만, 저 역시 1:12에서 단축키가 안 먹혀서 다른 분들이 질문한 것들을 보며 해결 하려 하였으나 동일하게 scf, vu, vue, vbase 입력하고 Tab을 눌러도 기본 양식이 나오지 않아 22년 3월 기준으로 해결방법 질문드립니다..
-
미해결Vue.js + TypeScript 완벽 가이드
개발환경에 대해서
안녕하세요 이 강의를 처음으로 수강하는데요(로드맵을 안따라왔습니다.) 전반적인 개발환경에 필요한 세팅이나.. 등등 부족하여서 프리티어쪽 에러로 막혀버립니다. 혹시 초반 세팅에 필요한게 있을까요? vue@cli랑 eslint정도만 설치한 상태에서 초반에 ts입력하여 자동완성되는 vbase-ts도 따로 vueSnippets 설치해서 진행하다가 프리티어 eslint 에러로 진행이안되네요. Replace `..import Vue from "vue"` with `import Vue fro "vue"; eslint(prettier)가 뜹니다.
-
해결됨그림으로 쉽게 배우는 운영체제
컨텍스트 스위칭 관련...
안녕하세요 컨텍스트 스위칭 관련해서 궁금한 것들이 있습니다 1. 프로그램 카운터 레지스터도 레지스터의 종류 중 1개인데 PCB의 구조에서나, 컨텍스트 스위칭이 일어날 때 변경되는 값들에서 따로 분리되어 언급되는 이유가 있을까요? 2. 프로그램 카운터가 컨텍스트 스위칭으로 변경될 때 바뀐다는 것은 프로그램 카운터에 저장된 다음 실행할 명령어의 주소가 프로세스 실행 중에는 갱신이 안된다는 의미인가요? 3. PCB를 참조해서 이전 프로세스의 상태로 CPU의 레지스터 값을 설정할 때 레지스터 값만 언급하신 것은 PCB 구조 중 CPU에 있는 것이 레지스터 뿐이라서 인가요? 만약 그렇다면 이 경우에 레지스터 값에는 프로그램 카운터 레지스터도 포함이 되는지, 그리고 다른 구조 값들은 어디에서 새로 설정되는지 궁금합니다!
-
미해결Redux vs MobX (둘 다 배우자!)
mobx observable 객체의 트래킹 뎁스
안녕하세요 mobx에서 observable 객체가 복잡해짐에 따라 어느 깊이까지 트래킹 되는지 테스트해보려 하다 공식문서를 보니 deep, shallow 등의 옵션이 있더라구요 구글링 했을 때는 사용법이 전부 데코레이터 기반이라 함수형에서는 어떻게 사용하는지 궁금합니다.
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
권한요청 드려요
인프런 아이디 : sdw74@vaiv.kr 인프런 이메일 : sdw74@vaiv.kr 깃헙 아이디 : sdy74@naver.com 깃헙 Username : sdw74
-
미해결워드프레스 제대로 개발하기 - 어드민 편
책 목록 만들기와 아카이브 링크
간단한 html css js 파악할 수 있는 정도의 실력을 가지고 있는 초보입니다. 우선은 php 워드프레스 코딩 환경이 어떻게 구성되어있는지 몰라서 따라가면서 만들어보고 있는 중입니다. 조금 이해가 안되는 부분이 있어서 질문드려봅니다. 일단 Book Store는 index.php 메인 화면출력이 잘되고 있습니다. 여기서 책 리스트를 만든 링크로 서로 연결이 되지 않아 "책 목록"을 만들면 404 에러로 페이지를 찾을 수 없다고 뜹니다. <a href="<?php get_post_type_archive_link('book') ?>"> 책 목록</a> 이렇게 만들고서 고유주소를 다양하게 선택하여 변경을 해봐도 동일 증상이 발생합니다.. 그냥 https://주소 /book 으로 검색해서 들어가면 책목록 글들은 출력이 됩니다. 그리고 또 궁금한 것은요 <? php the_title(); ?> 아래쪽으로 </li> <?php } } ?> </ul> 이렇게 강의에서 입력을 하셨던데.. 맨 아래쪽 <?php 구문을 빼면 페이지 오류가 발생하더라고요... 다시 입력하면 정상 작동합니다... 이건 왜 그러는걸까요?....
-
미해결대세는 쿠버네티스 (초급~중급편)
[Error 256] no more mirror 정상해결 방법 필요
error 256 에러해결 설치 중 repo 패키지를 못 불러 오는거 같아요 에러검색 결과 gpgcheck(위변조검사) 해제하여 진행 ㅇVagrantFile 파일 내 설정 변경 [kubernets] repo_gpgcheck=0 옵션을 통해 에러해결 (정상 해결아님) 미리 감사합니다. [해결 참조] https://lifesaver.codes/answer/got-repomd-xml-signature-could-not-be-verified-for-kubernetes-error-when-installing-kubernetes-from-yum-repo-on-amazon-linux-2-60134
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계 편의 메서드 관련 질문입니다.
안녕하세요. 컬렉션을 초기화 해주어도 NPE가 발생하고 제가 생각한 방향으로 되지 않아 질문드립니다. 저는 여러 권한을 가질 수 있는 관리자를 만들고 있습니다. 관리자 정보가 들어가는 Account테이블 관리자 권한이 들어가는 AccountAdminRole테이블(insert ... values (1, 'ARTICLE_READ),(2,'ARTICLE_CREATE)) ... 이런식으로 들어가 있습니다. 이 두 사이에 테이블을 두어 관리하는데 이를 AccountAdminGrant라 하고 있습니다. Account와 AccountAdminGrant는 AccountAdminGrant를 주인으로 하는 manytoone 양방향 맵핑 AccountAdminGrant와 AccountAdminRole은 AccountAdminGrant를 주인으로 하는 manytoOne 단방향 맵핑을 하려고 합니다. Account class { @OneToMany(mappedBy = "account", cascade = CascadeType.ALL, orphanRemoval = true) private Set<AccountAdminGrant> accountAdminGrants = new HashSet<>(); } AccountAdminGrant { @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "account_id") private Account account; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "account_admin_role_id") private AccountAdminRole accountAdminRole; public void changeAccount(Account account) { this.account = account; account.getAccountAdminGrants().add(this); } } AccountAdminGrant에 연관관계 편의 메서드를 만든 뒤 서비스 레이어에서 관리자를 저장할 때 @Transactional public void createAdmin(AdminDto.Save dto) { // account 생성 accountRole 가져와서 accountGrant에 둘다 넣고 생성해서 저장 Account account = Account.builder() ... .build(); accountRepository.save(account); Set<AccountAdminRole> adminRoles = aarRepository.findByRoleIn(dto.getRoles()); for (AccountAdminRole role : adminRoles) { AccountAdminGrant accountAdminGrant = AccountAdminGrant.builder() .accountAdminRole(role) .build(); accountAdminGrant.changeAccount(account); aagRepository.save(accountAdminGrant); // System.out.println("zzz="+accountAdminGrant.getAccountAdminRole().getRole()); USER_READ } Account 객체를 생성해 저장한 뒤 AccountAdminRole에서 사용자가 입력한 권한 객체들을 가져와 for를 돌리며 AccountAdminGrant객체를 만들며 그 안에서 편의 메서드를 호출해 주고 있습니다. 문제는 이때 자꾸 연관관계 편의 메서드의 account.getAccountAdminGrant().add(this) 에서 NPE가 발생합니다. 30번째 줄이 그곳입니다. 2022-03-14 10:35:41.228 ERROR 4584 --- [nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause java.lang.NullPointerException: null at kr.solmap.accounts.domain.AccountAdminGrant.changeAccount(AccountAdminGrant.java:30) ~[main/:na] at kr.solmap.accounts.service.JoinService.createAdmin(JoinService.java:153) ~[main/:na] at kr.solmap.accounts.service.JoinService$$FastClassBySpringCGLIB$$40fcca25.invoke(<generated>) ~[main/:na] at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) ~[spring-core-5.3.16.jar:5.3.16] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:783) ~[spring-aop-5.3.16.jar:5.3.16] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-5.3.16.jar:5.3.16] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) ~[spring-aop-5.3.16.jar:5.3.16] at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) ~[spring-tx-5.3.16.jar:5.3.16] at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) ~[spring-tx-5.3.16.jar:5.3.16] at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) ~[spring-tx-5.3.16.jar:5.3.16] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.3.16.jar:5.3.16] at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:753) ~[spring-aop-5.3.16.jar:5.3.16] at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:698) ~[spring-aop-5.3.16.jar:5.3.16] at kr.solmap.accounts.service.JoinService$$EnhancerBySpringCGLIB$$4420dd86.createAdmin(<generated>) ~[main/:na] at kr.solmap.accounts.web.AdAdminController.settingsAdminNew(AdAdminController.java:67) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205) ~[spring-web-5.3.16.jar:5.3.16] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:150) ~[spring-web-5.3.16.jar:5.3.16] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:117) ~[spring-webmvc-5.3.16.jar:5.3.16] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.16.jar:5.3.16] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.16.jar:5.3.16] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.16.jar:5.3.16] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1067) ~[spring-webmvc-5.3.16.jar:5.3.16] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.16.jar:5.3.16] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.16.jar:5.3.16] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.16.jar:5.3.16] at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) ~[tomcat-embed-core-9.0.58.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.16.jar:5.3.16] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.58.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.58.jar:9.0.58] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:327) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:115) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:81) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:122) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:116) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:126) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:81) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:109) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:149) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:219) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:213) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:103) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:89) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.csrf.CsrfFilter.doFilterInternal(CsrfFilter.java:132) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.16.jar:5.3.16] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.header.HeaderWriterFilter.doHeadersAfter(HeaderWriterFilter.java:90) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:75) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.16.jar:5.3.16] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:110) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:55) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.16.jar:5.3.16] at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:336) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:211) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:183) ~[spring-security-web-5.6.2.jar:5.6.2] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:354) ~[spring-web-5.3.16.jar:5.3.16] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:267) ~[spring-web-5.3.16.jar:5.3.16] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.16.jar:5.3.16] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:117) ~[spring-web-5.3.16.jar:5.3.16] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:359) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.58.jar:9.0.58] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na] ㄹ여기서 더 추가적으로 해줄 수 있는 설정이 있다면 무엇일까요? tostring exclude 와 @EquealAndHashCode를 해주어도 같은 에러가 납니다. 그리고 두번째로 궁금한것은 그래서 저 에러가 발생한 부분을 주석한 후 돌리면 각 테이블에 잘 저장도 되고 코드 중 계정 정보를 보여주는 화면에서 account.getAccountAdminGrants() 로 해당 계정이 가지고 잇는 권한을 찍어보면 테이블에 있는 것을 잘 가져옵니다... 저는 account에 설정을 해주지 않았는데 왜 권한을 가져오는 건지 이해가 잘 되지 않습니다. 스프링이...다 해주는 것인가요? 또하다보니 질문이 생겨 남깁니다. 세번째 질문은 제가 연관관계의 주인을 AccountAdminGrant로 잡고 양방향 맵핑을 했습니다. Account의 업데이트를 작성하는데 서비스 레이어에서 아래 같은 코드를 작성했습니다. if (CollectionUtils.isEmpty(dto.getRoles())) { account.getAccountAdminGrants().clear(); } dto로 roles를 set으로 클라이언트에서 받아왔을 때 비어있다면 clear 해주겠다 했는데 주인이 아닌쪽은 읽기만 가능하다고 하셨는데 이렇게 작성하니 db에서 삭제가 됩니다. 읽기와 삭제는 가능한것인가요? 데이터의 생성과 변경(삭제아닌 변경)만 주인이 가능한 것인가요? Account의 casecade = CasecadeType.All 을 한번 삭제하고 해보니 삭제가 안되긴 합니다. 그럼 JPA는 기본적으로 양방향 주인으로 정한쪽은(데이터 생성, 변경, 삭제)는 가능하고 주인이 아닌쪽은 읽기만 가능한데 CASECADE설정을 해주면 이것이 무시되고 이루어지는 걸까요? 분명 이해를 했다고 생각하고 코드를 짜본건데 제 생각대로 되지않네요ㅋㅋ큐큐ㅠ큐ㅠ 저와 같은 고민을 하시고 해결하신 분 계시다면.. 알려주세용
-
미해결그로스해킹 - 데이터와 실험을 통해 성장하는 서비스를 만드는 방법
GA (Firebase) 이벤트 관련하여 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 강사님 안녕하세요. 사내에서 데이터 분석을 하자는 의견이 나오면서 저희 서비스에도 구글 애널리틱스를 활용하여 구글 빅쿼리와 연동하여 분석하려고 합니다. 제가 강의 내용을 토대로 일부 이벤트를 정의해서 개발팀에서 이벤트를 설정했는데 제대로 설정한 것이 맞는건지 궁금합니다. 지금 설정된 상태는 홈 배너 클릭, 기타 버튼 클릭 등은 1번 이미지와 같이 독립적인 이벤트가 등록되어 있고, view 이벤트는 2,3번 이미지와 같이 screen_view 라는 이벤트의 매개변수 - firebase_screen 에 화면 코드가 표시됩니다. 질문 : view 이벤트는 빅쿼리 연동 후 퍼널 분석이 목적인데요. view 이벤트도 클릭 이벤트와 같이 독립적으로 설정을 해야하는지, 아니면 지금 설정한 것과 동일하게 적용해도 문제가 없는 지 궁금합니다. 1번 이미지 2번 이미지 3번 이미지
-
미해결중급자를 위한 1 minute, 스낵 파이썬
수업 중 보충영상 링크가 제대로 작동안해요
혹시 새로 영상이 올라간 유튜브 채널명을 알려주실 수 있으실까요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
배열 객체안에 추가하는 함수가 궁금합니다.
ㅇ안녕하세요 그랩님 현재 문제와는 좀 다른 질문일 수 있으나 궁금하여 질문을 남깁니다! products 변수 안에 객체가 2개 있는데 새로운 객체를 추가할 수 있는 방법이 있을까요? 동일하게 name , description 키값등을 추가하여 만들고 싶습니다.
-
미해결
엔티티 매니저 없이도 DB 값 저장이 가능한건가요??
안녕하세요 영한님 강의로 JPA, SPRING DATA JPA 공부중인 초보 입니다 강의 하나를 완강했음에도 제가 아직 전반적인 구조에 대해서 이해를 못한건지 잘 이해가 안되는 부분이 있어서요.. 강의에서는 항상 엔티티 매니저를 통해 ~.persist() 로 DB에 저장을 해서 자연스럽게 저렇게 저장을 하는거구나 했는데 한 예제 프로젝트를 보니까 게시글 crud를 엔티티 매니저 일절 사용 없이 구현하더라구요 분명 스프링 데이터 JPA 를 이용한 예제인것 같은데 이게 원래 가능한걸까요?? 가능하다면 엔티티 매니저는 왜쓰는지도 궁금합니다 검색해봐도 감이 잘 안잡혀서요 ㅠㅠ 영한님 강의 레포지토리 예제 레포지토리
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
갑자기 왜 화면이 안뜨는지 모르겠어요ㅠ
App.js화면입니다. npm start를 한 react app 화면은 다음과 같습니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ArgumentResolver 활용에 대해 질문 드립니다.
실무에서 로그인 세션 처리부분에 ArgumentResolver를 자주 쓰나요?
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
ingress 설치 pending
git clone https://github.com/kubernetes/ingress-nginx/ kubectl apply -k `pwd`/ingress-nginx/deploy/static/provider/baremetal/ kubectl delete validatingwebhookconfigurations.admissionregistration.k8s.io ingress-nginx-admission 위의 명령어를 입력하고 상태를 체크해봤는데 아래와 같이 나오네요 root@master0:~# kubectl get all -n ingress-nginx NAME READY STATUS RESTARTS AGE pod/ingress-nginx-admission-create--1-2fng4 0/1 Pending 0 7m30s pod/ingress-nginx-admission-patch--1-vpx6g 0/1 Pending 0 7m30s pod/ingress-nginx-controller-547f579dc-x48hn 0/1 Pending 0 7m30s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/ingress-nginx-controller NodePort 10.110.189.114 <none> 80:31698/TCP,443:32187/TCP 7m30s service/ingress-nginx-controller-admission ClusterIP 10.110.29.111 <none> 443/TCP 7m30s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/ingress-nginx-controller 0/1 1 0 7m30s NAME DESIRED CURRENT READY AGE replicaset.apps/ingress-nginx-controller-547f579dc 1 1 0 7m30s NAME COMPLETIONS DURATION AGE job.batch/ingress-nginx-admission-create 0/1 7m30s 7m30s job.batch/ingress-nginx-admission-patch 0/1 7m30s 7m30s root@master0:~# kubectl describe deploy -n ingress-nginx Name: ingress-nginx-controller Namespace: ingress-nginx CreationTimestamp: Sun, 13 Mar 2022 16:39:23 +0000 Labels: app.kubernetes.io/component=controller app.kubernetes.io/instance=ingress-nginx app.kubernetes.io/managed-by=Helm app.kubernetes.io/name=ingress-nginx app.kubernetes.io/part-of=ingress-nginx app.kubernetes.io/version=1.1.2 helm.sh/chart=ingress-nginx-4.0.18 Annotations: deployment.kubernetes.io/revision: 1 Selector: app.kubernetes.io/component=controller,app.kubernetes.io/instance=ingress-nginx,app.kubernetes.io/name=ingress-nginx Replicas: 1 desired | 1 updated | 1 total | 0 available | 1 unavailable StrategyType: RollingUpdate MinReadySeconds: 0 RollingUpdateStrategy: 25% max unavailable, 25% max surge Pod Template: Labels: app.kubernetes.io/component=controller app.kubernetes.io/instance=ingress-nginx app.kubernetes.io/name=ingress-nginx Service Account: ingress-nginx Containers: controller: Image: k8s.gcr.io/ingress-nginx/controller:v1.1.2@sha256:28b11ce69e57843de44e3db6413e98d09de0f6688e33d4bd384002a44f78405c Ports: 80/TCP, 443/TCP, 8443/TCP Host Ports: 0/TCP, 0/TCP, 0/TCP Args: /nginx-ingress-controller --election-id=ingress-controller-leader --controller-class=k8s.io/ingress-nginx --ingress-class=nginx --configmap=$(POD_NAMESPACE)/ingress-nginx-controller --validating-webhook=:8443 --validating-webhook-certificate=/usr/local/certificates/cert --validating-webhook-key=/usr/local/certificates/key Requests: cpu: 100m memory: 90Mi Liveness: http-get http://:10254/healthz delay=10s timeout=1s period=10s #success=1 #failure=5 Readiness: http-get http://:10254/healthz delay=10s timeout=1s period=10s #success=1 #failure=3 Environment: POD_NAME: (v1:metadata.name) POD_NAMESPACE: (v1:metadata.namespace) LD_PRELOAD: /usr/local/lib/libmimalloc.so Mounts: /usr/local/certificates/ from webhook-cert (ro) Volumes: webhook-cert: Type: Secret (a volume populated by a Secret) SecretName: ingress-nginx-admission Optional: false Conditions: Type Status Reason ---- ------ ------ Available False MinimumReplicasUnavailable Progressing False ProgressDeadlineExceeded OldReplicaSets: <none> NewReplicaSet: ingress-nginx-controller-547f579dc (1/1 replicas created) Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal ScalingReplicaSet 10m deployment-controller Scaled up replica set ingress-nginx-controller-547f579dc to 1 어떻게 처리해야 할 지 잘 모르겠네요 ㅠ..
-
미해결남박사의 파이썬 기초부터 실전 100% 활용
문제만 설명된 자료
안녕하세요. 문제만 정의된 자료나 영상이 있을까요? 처음부터 스스로 코드를 짜보고 싶은데 지금 보니 영상을 쭉~~ 봐야 문제가 뭔지를 이해할수 있네요.. 문제만 설명된 슬라이드나 영상이 있었으면 좋겠습니다. 예를들어, input/outpu 정도와 해당 프로그램이 뭘 구현하면 되는지.. 이런 정도요.