묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
디버깅 가르쳐주시던 수업 어디에 있죠..
제 기억에 디버깅을 배웠던 것 같은데 찾아보니 못 찾겠네요..혹시 몇 번째 수업인지 아시는 분 있으실까요.가르쳐주신다면 정말 감사하겠습니다~
-
해결됨김영한의 실전 자바 - 기본편
자바 추후 중급 고급 영상 문의
안녕하세요 영한님! 실전 자바 기본편 잘 보고 있습니다.혹시 추후에 자바 중급 고급편에 가변객체 불변객체 사용이유(스레드와 연관되면서..)와 리플렉션(스프링과 연결되면서...)이 혹시 나오는지 궁금합니다
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
InternalCallV1Test에서 evternal 메서드에도 트랜잭션 애노테이션을 붙이면
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요. external() 메서드에 @Transactional 이 적용되어 있지 않고 external() 에서 @Transactional 이 적용되어 있는 internal() 메서드를 호출하면 내부 호출이 일어나게 되어 트랜잭션이 활성화 되지 않은 상태가 되는데 만약 external() 메서드에도 @Transactional 을 적용시켜주면 internal() 에 적용되어 있는 트랜잭션도 external() 에 적용되어있는 트랜잭션과 같은 레벨에 있는건가요..?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
'bits/stdc++.h' file not found
이렇게 에러가 뜨는데요... 어떻게 해결해야할까요???초기세팅단계에서 계속 막히네요 ㅠㅠ ++ 그리고 pdf로 올려주신 책을 먼저보고 강의를 보는건가요?? 순서가 어떤것이 먼저인가요?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
강의 자료 부탁드립니다!
안녕하세요. 강의 자료 요청합니다.elel3418@daum.net 감사합니다!
-
미해결Vue3 완벽 마스터: 기초부터 실전까지 - "기본편"
컴포넌트에 props내리는법에 대해 질문
컴포넌트에 props내릴때 질문 있습니다.회사 프로젝트중에 팝업창을 띄울일이 있었고, 팝업창을 띄울때 데이터를 props로 넘겨줘야 할 일이 있어서props로 넘겨줬습니다. //팝업에 props로 데이터 넘겨주는 부분 <MNGDA0030Popup ref="mNGDA0030Popup" :cmpny-div="searchPopupParam.CMPNY_DIV" :year="searchPopupParam.YEAR" :asgn-full-nm="ASGN_FULL_NM" :bsns-cd="searchPopupParam.BSNS_CD" :asgn-cd="searchPopupParam.ASGN_CD" :in-out="searchPopupParam.IN_OUT" :seq="searchPopupParam.SEQ" /> //props 받는부분 const props = defineProps({ cmpnyDiv: { type: String, default: "", }, year: { type: String, default: "", }, asgnFullNm: { type: String, default: "", }, bsnsCd: { type: String, default: "", }, asgnCd: { type: String, default: "", }, inOut: { type: String, default: "", }, seq: { type: Number, default: "", }, })let searchParams = reactive({ CMPNY_DIV: useUserStore.company, YEAR: props.year, BSNS_CD: props.bsnsCd, ASGN_CD: props.asgnCd, IN_OUT: props.inOut, SEQ: props.seq, }) console.log("프롭스", props) console.log("서치파람", searchParams)제 질문은console.log("프롭스", props)props를 콘솔 찍었을땐 값이 제대로 들어가는데,searchParams에 따로 값을 할당해서 찍어보면 값이 들어가지 않습니다. 제 생각에는 props로 넘기고, 값을 할당했을때 반응성을 잃어 버린거 같습니다.그래서 toRefs?로 감싸봤지만 해결하지는 못했습니다.props.데이터 등으로 개발은 할수 있겠지만searchParams에 props데이터를 할당 하는 방법이나 짐코딩님 강의중 어떤 부분을 다시 보면 될지 알수있을까요?
-
미해결스프링 핵심 원리 - 기본편
ObjectProvider 사용하는 대신에 prototype 객체가 singleton 객체를 주입 받으면 안되나요?
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]안녕하세요. "프로토타입 스코프 - 싱글톤 빈과 함께 사용시 Provider로 문제 해결" 강의를 보던 도중에 궁금한 것이 있어 질문을 남깁니다.강의에서 singleton object가 prototype object를 주입받을 때 생길 수 있는 문제를 이야기 하면서 해결방법을 알려줍니다. ObjectProvider를 이용해서 prototype object를 singleton object method 내부에서 매번 생성하는 방법으로 말이죠. 그런데 이 방법도 제가 보기에는 조금 복잡해 보입니다.singleton object가 prototype object에 의존하는 방식을 역전하면 더 간단해지지 않을까요? 반대로 prototype object가 singleton object에 의존한다면 provider를 사용할 필요가 없어집니다. 클라이언트가 직접 prototype object를 destroy 하면 되지요.이에 대해 어떻게 생각하시나요? provider와 비교했을 때 장단점을 알 수 있을까요?
-
미해결진짜 현업에서 쓰이는 직장인의 실무 엑셀 - 데이터 가공부터 분석까지
파워쿼리 - 폴더 연결관련 질문입니다.
안녕하세요 ~강의 듣고 집에서 할 땐 문제없이되었었는데, 회사(2013 프로페셔널 버전 사용중.저는 요청해서 2016으로 깔았구요) 에서가보지 않은 길을 가려니 쉽지 않네요..강의 내용 중특정폴더내 파일 이름 모두 가져오기특정폴더내 모든 엑셀 파일 통합회사 파일들로 해보려는데데이터> 새쿼리> 폴더에서, 주소 입력하면아래 에러 메시지가 나옵니다.방법 있을까요?감사합니다 ^^
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
이런 경우엔 어떤 예외와 응답 코드가 적절할까요?
..
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
식별자 추적 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 데이터가 변해도 식별자로 지속해서 추적 가능 EX) 회원 엔티티의 키나 나이 값을 변경해도 식별자로 인식 가능이 부분이 이해가 잘 안 되는데 혹시 부가설명 해주실 수 있으신가요?
-
미해결Svelte.js [Core API] 완벽 가이드
스벨트킷 강의는 안해주시나요?
선생님 안녕하세요.강의 잘 보고 많은 도움 받고있습니다. 감사합니다. 혹시 스벨트킷 강의는 예정에 없나요!?
-
미해결Java 마이크로서비스(MSA) 프로젝트 실습
/actuator/refresh 가 동작하지 않습니다.
안녕하세요~ 강의를 듣다가 제가 뭔가 잘못한건지 actuator에 refresh가 동작하지 않아 질문글을 남깁니다.강의 2-10번 DB 비밀번호 암호화까지 문제 없이 잘 진행하다재가동 없이 설정파일 갱신하는 부분을 진행하는데item-service에서 build.gradle에 의존성 추가하고 bootstrap.yml에 설정 옵션 추가했는데config-server 설정 파일 변경 후 postman 에서 refresh 요청을 날려도 response body 에는 []빈 배열만 찍히고 별다른 문구가 없고 변경된 설정이 적용되지 않더라고요강의를 봐도 크게 설정하는 부분이 많은건 아니어서 잘 적용된 것 같은데 작동하지 않는 원인이 콘솔에 찍히지 않아서 헤메고 있습니다. build.gradle 의존성과 bootstrap.yml 에 설정 추가하고config-server 실행시키고 item-service 실행시킨 후 설정 파일에 변경점을 주고 localhost:5000번으로 /actuator/refresh 요청을 날렸습니다. 그리고 물품등록 요청을 보내서 200코드 성공했는데 별도의 logs 폴더에 api-local2.log는 생기지 않았습니다. 강의와 다르게 한건 인텔리제이로 프로젝트 구성한 것과 스프링부트 마이너 버전만 달라서 크게 문제가 있지는 않을 것 같은데.. 2-10 강의까지 해본 깃 주소도 올려봅니다.https://github.com/doyoun8813/Microservice
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
toggleComplete(todoItem, index)에러
이 부분에서 index에 에러 메세지가 나옵니다.'index' is defined but never used 내용의 메세지가 나오는데, removeTodo(todoItem, index)에는 안나오는데 toggleComplete에만 나와요. <i class="checkBtn fa-solid fa-square-check" v-bind:class="{checkBtnCompleted: todoItem.completed}" v-on:click="toggleComplete(todoItem, index)"></i>toggleComplete: function(todoItem, index){ todoItem.completed = !todoItem.completed; }찾아보다가devServer: { overlay: false }이걸 추가하라는 글을 보고 추가했는데, 변화가 없길래 서버를 다시 실행 해봤습니다.그런데 오히려 저거 때문에 다른 오류가 발생하여 서버실행이 안됩니다.지우니까 다시 실행은 되는데.. 어떻게 해결해야 하나요? +) 처음 구현때 안되어서 주석처리하고 그대로 진행하다, 리팩토링때 다시 해봤는데, 리팩토링 코드로는 할일완료 기능이 정상 작동합니다. 무슨 차이가 있을까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Vector::operator+= 값을 반환해야 합니다 라는 오류가 뜨네요
43:40초에 컴파일 하는 곳에서 Vector::operator+=값을 반환해야 합니다 라는 오류가 발생하네요 Types.h에 다시 봐도정상적으로 기입해놨는데 왜 이러는지 모르겠네요..
-
해결됨스프링 핵심 원리 - 기본편
myLoggerProvider.getObject() 메서드시 동시성관련 질문있습니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)예3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)네[질문 내용]클라이언트1,2,3,4,5이 동시에요청했을때myLoggerProvider.getObject()실행해서 my Logger 객체를 받아올때 (컨트롤러or서비스)request요청이 여러개니까 myLogger객체는 이때 여러개인데...똑같은 객체가 계속 반환되는걸 보장해주는 이유가 있나요? @PostConstruct public void init(){ uuid = UUID.randomUUID().toString(); System.out.println("[" + uuid + "]" + "request scope bean create: "+this); }거의 동시에 요청이왔다고 가정했을때init해서 각 request스코프객체에 UUID각각설정후getObject()를 각자 두번씩해서 myLogger를 얻게되는데이때 myLogger타입 객체는 여러개가있을수있고이걸 init했을때-처음getObject()-두번쨰getObject-close이런순서로 진행될때처음 init할떄랑 close할때는 객체주소가 같은건 당연하지만그사이에 getObject()했을때 객체가 바뀔우려가 있는건 아닌지 생각이듭니다 @RequestMapping("log-demo") @ResponseBody public String logDemo(HttpServletRequest request) throws InterruptedException { MyLogger myLogger = myLoggerObjectProvider.getObject(); <================여기 String requestURL = request.getRequestURL().toString(); myLogger.setRequestURL(requestURL); myLogger.log("controller test"); logDemoService.logic("testId"); return "OK"; } public class LogDemoService { private final ObjectProvider<MyLogger> myLoggerObjectProvider; public void logic(String id) { MyLogger myLogger = myLoggerObjectProvider.getObject();<==========여기 myLogger.log("service id = "+ id); }
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
editForm 500에러
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.상품수정 실행시키면 이런 에러가 뜨네요 ㅠㅠ 해결방법을 도저히 못 찾겠습니다.@PathVariable(name="itemId") 로 바꿔도 똑같네요물론 @PathVariable(Long itemId,Model model) 이렇게 해도 똑같이 에러나요!! 2023-12-12T04:05:45.499+09:00 ERROR 89846 --- [nio-8080-exec-9] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified, and parameter name information not found in class file either.] with root causejava.lang.IllegalArgumentException: Name for argument of type [java.lang.Long] not specified, and parameter name information not found in class file either.at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.updateNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:183) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.getNamedValueInfo(AbstractNamedValueMethodArgumentResolver.java:160) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.method.annotation.AbstractNamedValueMethodArgumentResolver.resolveArgument(AbstractNamedValueMethodArgumentResolver.java:106) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:122) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:218) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:171) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:917) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014) ~[spring-webmvc-6.1.1.jar:6.1.1]at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903) ~[spring-webmvc-6.1.1.jar:6.1.1]at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) ~[tomcat-embed-core-10.1.16.jar:6.0]at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885) ~[spring-webmvc-6.1.1.jar:6.1.1]at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) ~[tomcat-embed-core-10.1.16.jar:6.0]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:205) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ~[tomcat-embed-websocket-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.1.jar:6.1.1]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.1.jar:6.1.1]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-6.1.1.jar:6.1.1]at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116) ~[spring-web-6.1.1.jar:6.1.1]at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:340) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-10.1.16.jar:10.1.16]at java.base/java.lang.Thread.run(Thread.java:840) ~[na:na]
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
질문있습니다@!!
안녕하세요 강의를 듣다 enum으로 하나씩 넣는게 제 개인적인 생각으로는 귀찮다라는 생각을 받았어요 그래서 이걸 오브젝트의 이름만 받아서 사용할 수 있게 해보자 해서 짜봤는데 강의에서 소개해주신 enum으로 관리하는 것과 제 코드와 비교해서 enum으로 관리할 때의 장점이 있을까요? 그리고 아래 코드에서 개선할만한 부분도 있다면 알려주시면 감사하겠습니다private Dictionary<Type, UnityEngine.Object[]> _componentDictionary = new Dictionary<Type, UnityEngine.Object[]>(); private void Start() { Bind<Button>(); Bind<TextMeshProUGUI>(); Bind<Image>(); Bind<GameObject>(); Debug.Log(Get<GameObject>("ddd").transform.position.x); } void Bind<T>() where T : UnityEngine.Object { //필터 해줄 타입 추가 if (typeof(T) != typeof(Button) && typeof(T) != typeof(TextMeshProUGUI) && typeof(T) != typeof(Image) && typeof(T) != typeof(GameObject)) return; if (typeof(T) == typeof(GameObject)) { Transform[] transforms = Util.FindChild<Transform>(transform, true); GameObject[] gameObjects = new GameObject[transforms.Length]; for (int i = 0; i < transforms.Length; i++) { gameObjects[i] = transforms[i].gameObject; } _componentDictionary.Add(typeof(GameObject), gameObjects); return; } T[] objects = Util.FindChild<T>(transform, true); _componentDictionary.Add(typeof(T), objects); } T Get<T>(string name) where T : UnityEngine.Object { UnityEngine.Object[] objects = null; if (_componentDictionary.TryGetValue(typeof(T), out objects) == false) return null; foreach (UnityEngine.Object obj in objects) { if (obj.name == name) return obj as T; } return null; } public static T[] FindChild<T>(UnityEngine.Transform transform, bool recursive = false) where T : UnityEngine.Object { if (transform == null) return null; if (recursive == false) { T[] dd = new T[transform.childCount]; for (int i = 0; i < transform.childCount; i++) { dd[i] = transform.GetChild(i).GetComponent<T>(); } return dd; } else { return transform.GetComponentsInChildren<T>(); } }
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
개념 확인차 질문
이해하고 있는 개념이 맞는지 확인차 질문드립니다. 캐시가 아직 유효하다면, 헤더 정보에 last-modified에 대한 정보가 담긴 채로 데이터가 응답되더라도 이 정보는 사용되지 않는다. (응답 헤더에는 담겼지만 사용되진 않는다 - 어찌보면 이 과정에서는 불필요한 헤더 정보) 캐시가 아직 유효하더라도, cache-control: no-cache 설정이 되어있다면, 응답 헤더에 있는 last-modified에 대한 정보가 사용된다. (검증 과정에)
-
해결됨모든 개발자를 위한 HTTP 웹 기본 지식
캐시 유효시간 관련 질문
크게 신경쓰지 않아도 될 질문이지만, 궁금해서 이렇게 질문드립니다. 캐시 유효시간이 지난 후, 응답 데이터가 변경되지 않아서 헤더의 메타 정보만 응답받게 되는 상황에서 브라우저 캐시 저장소에 저장된 데이터의 캐시 유효 시간은 다시 60초로 갱신이 되나요 아니면 그대로 만료된 상태로 남게 되나요? 브라우저 캐시에 저장된 데이터의 캐시 유효시간이 갱신되는지 궁금합니다!
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Test findAll에서 해결법을 찾고싶습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]잘 따라하고 있었는데..TEST findAll에서 (),member1,member2,result에 왜 오류가 난지 잘 모르겠습니다 ㅠㅠ