묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결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 정도와 해당 프로그램이 뭘 구현하면 되는지.. 이런 정도요.
-
미해결쉽고 빠르게 익히는 Power BI 심화 1 (시각화와 파워 쿼리)
데이터 연결 및 여럿 질문이 있습니다.
선생님 안녕하세요. 좋은강의 항상 감사하며 잘 듣고 있습니다. 1. 하기예시와 같이 사내 문서관리 및 BOM 등이 등록되어있는 System의 Data정보 (ex 도서 List 및 제출현황)에 Direct 연결하려면 어떻게 해야되나요? 컴퓨터 비 전공자라서.. 해당 Data Source에 웹 연결인지 데이타베이스 연결인지도 잘 모르는데 IT담당자에게 뭐라고 요청을 해야되는지요? 2. Office 365_Teams에 등록되어있는 Data원본(엑셀파일)에 연결 및 Update하는 방법을 알고 싶습니다. 그냥 Teams 폴더 url을 복사하여 파워 BI에서 데이터경로를 잡아주면 되는가요? 3. 또한 파워 BI 서비스에 등록한 데시보드를 Teams Tab에 등록하여 부서원 누구나 볼 수 있도록 설정하는 방법은 어떻게 하나요? 4. Power BI내의 Table을 하기 예시와 같이 구성해놓는다면 "File"열과 같이 해당 item의 관련된 문서를 첨부하거나 or 해당자료들이 있는 로컬 및 Teams 폴더에 접속할 수 있도록 아이콘화 시키고 클릭하여 해당폴더에 접속할 수 있도록 하는 기능이 있나요? 또한 Item List 상에 내가 찾고자 하는 ITEM에 대하여 쉽게 빠르게 찾아보려면 필터에서 검색해서 찾는 방법밖에 없을까요?
-
해결됨실전! 스프링 데이터 JPA
Repository 구현체와 인터페이스
안녕하세요. 강의에서는 JpaRepository 구현체와 JpaRepository를 상속받은 인터페이스 Repository 두개를 만들어서 비교하는 형태로 강의를 하셨는데 1.영한님께서도 보통 두가지를 따로 만들어서 주로 인터페이스 Repository에서 처리할수 있는것들은 처리하고, 인터페이스만으로는 안되는것들은 구현체Repository에서 처리하시나요?? 2. 지금 강의를 들어보면 인터페이스Repository에서도 jpql쿼리문을 작성할수있기때문에 구현체Repository를 사용할일이 없어보이는데 인터페이스에서는 불가능한 예시 하나만 들어주실수있으실까요? 항상 감사합니다!
-
해결됨[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
마지막 쓰레드는 range를 따로 계산하신 이유가 있나요?
threads.add(new Worker(__filename, { workerData: { start, range: range + ((max - min + 1) % threadCount) } })); for문에서 threadCount - 1 안 하고 threadCount 까지 반복하면 안 되는 이유가 있는지 궁금합니다. 마지막에 따로 빼면 range가 10000007까지로 되는거 같아서요.
-
미해결[백문이불여일타] 데이터 분석을 위한 중급 SQL
type of triangle
아래와 같이 코드를 짜면 WHEN SUM(A+B)>C or SUM(A+C)>B or SUM(B+C)>A THEN 'Not A Triangle' ELSE WHEN A=B=C THEN 'equal length' WHEN A<>B=C, A=B<>C, A=C<>B THEN 'Isosceles' WHEN A<>B<>C THEN 'Scalene' ELSE '기타' END END FROM TRIANGLES 이렇게 오류가 나옵니다. 혹시 어떤 부분에서 오류가 나는지 알 수 있을까요?? 논아스키코드가 어느 부분인지 궁금합니다!
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
4949번 제가 낸 답이 왜 틀렸는지 모르겠습니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요. 항상 재밌는 풀이 감사드립니다. 제가 4949번을 풀었는데 도무지 저의 답에서 어떤 부분이 틀렸는지 모르겠습니다. ')'나 ']'이 들어올 때 '(', '['와 직접 비교하도록 해서 코드를 넣었는데도 "틀렸습니다"를 반환하더군요.. 정말 궁금합니다. 알려주시면 감사하겠습니다. #include <iostream> #include <stack> using namespace std; int main() { // ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); while(true) { string s; getline(cin, s); if(s == ".") break; stack<int> _stack; int flag = 0; for(int i = 0; i < s.size(); i++) { if(s[i] == '(' || s[i] == '[') _stack.push(s[i]); if(s[i] == ')' || s[i] == ']') { if(_stack.size() == 0) {flag=1; break;} else if(_stack.top() == '(' && s[i] == ')' || _stack.top() == '[' && s[i] == ']') _stack.pop(); } } if(_stack.size() == 0 && flag == 0) cout << "yes\n"; else cout << "no\n"; } return 0; }