안녕하세요~ 최근에 장고 학습하면서 함수 호출에 관하여 궁금해서 살펴보고 있는데요, as_view() 함수 호출이 궁금해서 확인을 해봤습니다. def as_view ( cls , ** initkwargs ): """Main entry point for a request-response process.""" for key in initkwargs : if key in cls . http_method_names : raise TypeError ( 'The method name %s is not accepted as a keyword argument ' 'to %s().' % ( key , cls .__name__) ) if not hasattr ( cls , key ): raise TypeError ( "%s() received an invalid keyword %r. as_view " "only accepts arguments that are already " "attributes of the class." % ( cls .__name__, key )) def view ( request , * args , ** kwargs ): self = cls (** initkwargs ) self .setup( request , * args , ** kwargs ) if not hasattr ( self , 'request' ): raise AttributeError ( "%s instance has no 'request' attribute. Did you override " "setup() and forget to call super()?" % cls .__name__ ) return self .dispatch( request , * args , ** kwargs ) view .view_class = cls view .view_initkwargs = initkwargs # take name and docstring from class update_wrapper ( view , cls , updated =()) # and possible attributes set by decorators # like csrf_exempt from dispatch update_wrapper ( view , cls . dispatch , assigned =()) return view 이렇게 코드가 선언되어 있었는데요, 관련해서 찾아보니까 as_view() 함수는 클래스의 인스턴스를 생성하고, 인스턴스의 dispatch() 메소드를 호출한다. 라고 하더라구요 그런데 제가 python 코드를 잘 모르는 건지, 어떤건지 모르겠지만, update_wrapper 이 함수에서 as_view 내부의 view 함수를 호출하는 게 맞는 건가요???
강사님, 주말 잘 보내셨는지요 ㅎㅎ 급하게 코딩테스트를 준비하게 되었는데 너무 좋은 강의를 알게 되어 좋았습니다. 시간이 별로 없어 완강조차 못 했지만 그래도 기초 of 기초 of 기초..정도는 알게된 것 같습니다ㅎㅎ 최대부분증가수열 강의를 어제 듣고 오늘 또 코드를 까먹어서 코딩 전 강사님 설명부분까지만 인강을 다시 듣고 혼자 코딩해보았는데 정답은 나왔으나 강사님 코드랑 많이 달라보여서..ㅠ 이렇게 짜면 어딘가 문제가 될 수 있으려나 궁금해서 올려봅니다 ㅎㅎ function s10p3 ( param ) { let answer = 0 ; let arr = Array . from ({ length : param }, () => 0 ); arr [ 0 ] = 1 ; arr [ 1 ] = 1 ; let maxIdx = 1 ; for ( let i = 2 ; i < param . length ; i ++) { if ( param [ maxIdx ] < param [ i ]) { arr [ i ] = arr [ maxIdx ] + 1 ; maxIdx = i ; } else { arr [ i ] = 1 ; } answer = answer < arr [ i ] ? arr [ i ] : answer ; } return answer ; } console . log ( s10p3 ([ 5 , 3 , 7 , 8 , 6 , 2 , 9 , 4 ])); 피드백 주시면 감사하겠습니다 ㅎㅎ
안녕하세요. 조금 전 올린 질문과 비슷한 거 같은데요. valueOf() 함수는 new String()을 통해 String 인스터스를 생성하지 않은 경우에도 사용이 가능한가요? var book = 'book'; 변수 book은 new String( )으로 생성된 인스턴스도 아닌데 book.valueOf();//book이 출력되었습니다. 변수에 String타입이 할당된 거 자체가 String 인스턴스가 생성된 것과 동일한 건가요?
처음 vue를 설치할때 아무생각없이 yarn으로 설치를 했는데 강의에서는 npm run build로 하라고 해서 ㅠ 다시 지우고 설치를 해야하나 yarn serve로 실행하면 실행은 되는데 둘이 큰 차이가 있나요? ㅠ npm run build로 실행하기 위해서는 어떻게 해야하나요? npm run build로 실행을 하면 이렇게 나오네요 강의처럼 따라가려면 ㅠ 어떻게 설치랑 실행을 해야하나요 ㅠ
안녕하세요 선생님. 한가지 여쭤보고 싶은 점이 있어서 글을 남깁니다. 수업과 조금 별개일 수 있지만 ElementCollection도 따로 쿼리를 발생시키지 않고 한 번에 끌어오는 마땅한 방법이 있을지 여쭤보고 싶습니다. 선생님 강의를 듣고 공부한 덕분에 요즘 더 많은 것들을 배우고 적용시킬 수 있었습니다. 감사합니다!
강의 정말 잘 듣고 있습니다. 다만, 아쉬운 점은 aws에서 섹션7 Beanstalk로 리액트 앱을 배포할 때 502 예외가 발생하며 정상적으로 배포가 되지 않습니다. 관련 로그를 첨부해드리오니 확인해주시고 답변 부탁드립니다. AWS 너무 어렵네요 ..ㅠ https://drive.google.com/file/d/1wexDWJjb3wI6ZL5idgorFZVSe00ZePSC/view?usp=sharing
강사님, 안녕하세요. Item 클래스에서 id의 변수에 @Column(name = "ITEM_ID") private Long id; 위와 같은 식으로 네임 속성으로 ITEM_ID를 주어 데이터베이스의 컬럼과 id 변수의 이름을 맞추신 것 같습니다. 그런데 위에 코드를 private Long item_id; 와 같이 바로 데이터베이스와 맞추어서 persist로 영속성을 주어 DB에 입력하는 방법은 어떤지 궁금합니다. 답변 꼭 부탁드리겠습니다. 감사합니다.
안녕하세요. 질문 있습니다. toString()은 Number 오브젝트에 속해 있는 함수로 이해하면 되나요? 그게 맞다면 하기 예제에서, 어째서 value.Number.toString()이 아닌 value라는 변수에 바로 .toString()으로 작성되는 건가요? === var value = 20; log(value.toString(16)); ===
안녕하세요. 강사님, 항상강의 잘 보고 있습니다. 제가 실무에서 si 사업을 하다보니 레거시 프로젝트를 많이 접합니다. 실무에서 필드 주입을 많이사용하더라구요. @Resource를 주로 사용하더라구요. service 클래스나, repository를 주입할때 사용합니다. 자바에서 지원하는걸로 알고 있는데요. 저만 다르게 강의에서 배운데로 하자니 혼자 개발 하는게 아니라 같이 사용중입니다;; 강의에서는 언급이 없으신건 스프링에서 지원하느게 아니라서 그런건가요? @Autowired의 단점이 @Resource에서도 해당하는거겠죠? 사용을 하지 말아야할거 같은데.. 이번 강의 잘 보고 설득해야겠네요..
안녕하세요. 질문이 있어 글을 남깁니다. Number()라는 함수가 Number라는 오브젝트에 있다고 이해 했는데요. 오브젝트 내부에 있는 함수를 호출하려면 Number.Number( ) 처럼 해야 하는 거 아닌가요? ㅜㅜ 밑에 있는 예로 들면 func()만 입력하면 안 되고 obj.func()로 입력해야 하는 것처럼요. ex) == var obj = {func : function( ) {console.log('hi')}; obj.func();//hi === Number.를 붙이지 않고 바로 Number('123') 이런식으로 함수를 호출할 수 있는 이유가 궁금합니다. ------------ 답글 ------------ 좋은 질문입니다. parseInt() 형태로 작성하는 것이 문법이듯이 Number("123") 형태도 문법입니다. Number.number("123")처럼 정형적인 형태로 처음부터 설계했어야 한다고 생각합니다. 설계 실수라고 할 수는 없지만, 실수에 가까우며 (오브젝트.함수, 인스턴스.메소드) 형태로 호출하는 관점에서 보면 일관성이 떨어집니다. Number.parseInt(), Number.isNaN() 등을 새로 만든 것은 이런 것을 염두에 둔 것으로 생각합니다. 이런 것을 추가하듯이 새로운 ECMAScript 에디션에 Number.number(), String.string() 형태가 추가되었으면 좋겠다는 생각이 듭니다. 이제와서 바꿀 수 없으므로 문법이라고 생각하는 것이 나을 것 같습니다.
제 코드는 이렇습니다.. 그 실수로 itemList.html 파일을 만들지 않고 itemList 파일을 생성해서 지웠더니 그 이후로는 itemList.html 파일을 만들어도 html 파일로 인식하지 않습니다..ㅠㅠ 그래서 파일이름을 itemlist.html로 하고 진행하였는데 이러한 에러가 출력됩니다..ㅠㅠ 에러코드입니다. Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Sun May 16 21:12:07 KST 2021 There was an unexpected error (type=Internal Server Error, status=500). org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: selete near line 1, column 1 [selete i from jpabook.jpashop.domain.item.Item i]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: selete near line 1, column 1 [selete i from jpabook.jpashop.domain.item.Item i] org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: selete near line 1, column 1 [selete i from jpabook.jpashop.domain.item.Item i]; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: selete near line 1, column 1 [selete i from jpabook.jpashop.domain.item.Item i] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:374) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:235) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:551) at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:61) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:242) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:152) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) at jpabook.jpashop.repository.ItemRepository$$EnhancerBySpringCGLIB$$b91c1e16.findAll(<generated>) at jpabook.jpashop.service.ItemService.findItems(ItemService.java:24) at jpabook.jpashop.service.ItemService$$FastClassBySpringCGLIB$$b9995082.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:692) at jpabook.jpashop.service.ItemService$$EnhancerBySpringCGLIB$$adfdbcee.findItems(<generated>) at jpabook.jpashop.domain.controller.ItemController.list(ItemController.java:48) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1060) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:962) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) at javax.servlet.http.HttpServlet.service(HttpServlet.java:626) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: selete near line 1, column 1 [selete i from jpabook.jpashop.domain.item.Item i] at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181) at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:734) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:825) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:114) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:362) at com.sun.proxy.$Proxy98.createQuery(Unknown Source) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:311) at com.sun.proxy.$Proxy98.createQuery(Unknown Source) at jpabook.jpashop.repository.ItemRepository.findAll(ItemRepository.java:30) at jpabook.jpashop.repository.ItemRepository$$FastClassBySpringCGLIB$$dc3fed7a.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:779) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:137) ... 68 more Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: selete near line 1, column 1 [selete i from jpabook.jpashop.domain.item.Item i] at org.hibernate.hql.internal.ast.QuerySyntaxException.convert(QuerySyntaxException.java:74) at org.hibernate.hql.internal.ast.ErrorTracker.throwQueryException(ErrorTracker.java:93) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:301) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:189) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:144) at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:113) at org.hibernate.engine.query.spi.HQLQueryPlan.<init>(HQLQueryPlan.java:73) at org.hibernate.engine.query.spi.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:162) at org.hibernate.internal.AbstractSharedSessionContract.getQueryPlan(AbstractSharedSessionContract.java:613) at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:725) ... 89 more