html 내에서 <script th:inline="javascript"></script> 태그를 이용하는 것이 아니라, 자바스크립트 파일을 static 에 있는 외부로 분리하는 경우에 어떻게 하면 변수를 사용할 수 있나요? 예를 들어 static에 js라는 경로를 만들고 그 안에 test.js라는 외부 자바스크립트 파일을 html 내에서 사용하는 경우에 <script th:inline="javascript" th:src="@{/js/test.js}"></script>와 같이 할 수 있습니다. 그런데 이 경우에 앞에서 사용한 변수인 var username = [[${user.username}]]; var age = [[${user.age}]]; 등등을 사용할 수가 없습니다. 어떻게 하면 이 문제를 해결할 수 있나요?
- 학습에 관련된 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. post_list.html에서는 변수를 소문자로 변환한 모델명 + _list 로 사용했는데 post_detail.html에서는 변수를 소문자로 변환한 모델명(post)로 사용한건가요? 어떤 방식으로 하는건지 설명이 없어서요...
Window 사용중이구요 다음과 같은 초기 빌드에러 가 발생했습니다. ERROR: JAVA_HOME is set to an invalid directory: C:\Program Files\Java\jdk-11\bin Please set the JAVA_HOME variable in your environment to match the location of your Java installation. [Project SDKs 캡쳐] [환경변수 설정 결과] [디렉토리 구조] [빌드 실패 명령어 및 결과] [시스템 변수 설정1] [시스템 변수 설정2] 시스템 변수 설정 시 bin 의 위치를 다르게 하여 설정1, 설정2 모두 해보았구요 명령어도 ./gradlew ./gradlew build ./gradlew.bat ./gradlew.bat build gradlew 모두 해보았구요 그럼에도 불구하고 에러가 발생하는데 원인을 더 찾아볼 곳이 있을까요?
안녕하세요 AOP를 적용하면 스프링 컨테이너가 진짜 빈 앞에 가짜 빈을 세워놓는다고 하셨고 실제로도 콘솔에 찍어서 확인을 했는데요, AOP 관련 코드를 싹 다 지우고 AOP를 아예 안 써도 아래와 같이 hello.hellospring.service.MemberService 가 아닌 MemberService$$EnhancerBySpringCGLIB$$d7471118 이라고 뜹니다. 왜 그런 것인가요? AOP 적용 여부와 상관없이 빈이면 무조건 그 앞에 가짜 빈을 만드는 것인가요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] JdbcTemplate 강의대로 코드 작성했는데 MemberServiceIntegrationTest를 돌려보니 중복_회원_예외() 메소드랑 회원가입() 두 메소드 다 에러가 뜹니다. 두 에러 내용은 <Data Conversion error converting "spring"; SQL statement>로 동일합니다. 구글링 해봤는데도 해결방법을 찾을 수 없어 질문 드립니다 ㅠㅠ
[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
Figure.set_name("figure") print(Figure.name, Circle.name ) 여기서 빨간부분이 궁금한데요 저는 여기서 Circle클래스 객체가 생성이 안되어있다고 생각되어 이해가 안되는 부분입니다. Figure클래스의 객체만 생성된상태에서 어떻게 Circle.name 으로 접근이 가능한가요? 아래의 Circle.set_name("Circle")로 객체생성되어야 Circle.name 을 사용할수있지않나요?
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요. 본 강의를 통해 스프링 공부를 시작한 학생입니다. 강의를 듣다가 궁금한 점이 생겨 질문 드립니다. domain의 Member 클래스에도 Getter, Setter가 있고, controller의 MemberForm 클래스에도 Getter, Setter가 있는데 MemberController의 create 함수에서 member.setName은 있고 form.setName은 없는 이유가 궁금합니다. createMemberForm.html의 <form action="/members/new/ method="post">를 통해 사용자가 입력한 "spring"이라는 이름이 value값으로 넘어가는 것, 그리고 @PostMapping이 있는 create 함수로 넘어가는 것까진 이해했는데 왜 이 함수에서 MemberForm의 set 함수 코드는 없는 것인지 궁금합니다. 사용자가 이름을 입력했을 때, 스프링이 자동으로 MemberForm의 name 값을 입력한 이름으로 설정해준 건가요? 답변 미리 감사합니다.
현재 경로 설정은 이렇게 되어 있습니다. 위와 같은 에러가 나오며 파일 저장이 안됩니다 ㅠ java.io.IOException: java.io.FileNotFoundException: C:\Users\hdhwin\AppData\Local\Temp\tomcat.8080.1372549510501022096\work\Tomcat\localhost\ROOT\Users\hdhwin\study\file\pngegg (4).png (지정된 경로를 찾을 수 없습니다) at org.apache.catalina.core.ApplicationPart.write(ApplicationPart.java:122) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at hello.upload.controller.ServletUploadControllerV2.saveFileV1(ServletUploadControllerV2.java:64) ~[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:197) ~[spring-web-5.3.8.jar:5.3.8] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.8.jar:5.3.8] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:894) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1063) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.8.jar:5.3.8] at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:909) ~[spring-webmvc-5.3.8.jar:5.3.8] at javax.servlet.http.HttpServlet.service(HttpServlet.java:652) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.8.jar:5.3.8] at javax.servlet.http.HttpServlet.service(HttpServlet.java:733) ~[tomcat-embed-core-9.0.46.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.8.jar:5.3.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.8.jar:5.3.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.8.jar:5.3.8] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.8.jar:5.3.8] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1707) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[na:na] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[na:na] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na] Caused by: java.io.FileNotFoundException: C:\Users\hdhwin\AppData\Local\Temp\tomcat.8080.1372549510501022096\work\Tomcat\localhost\ROOT\Users\hdhwin\study\file\pngegg (4).png (지정된 경로를 찾을 수 없습니다) at java.base/java.io.FileOutputStream.open0(Native Method) ~[na:na] at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298) ~[na:na] at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237) ~[na:na] at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:187) ~[na:na] at org.apache.tomcat.util.http.fileupload.disk.DiskFileItem.write(DiskFileItem.java:406) ~[tomcat-embed-core-9.0.46.jar:9.0.46] at org.apache.catalina.core.ApplicationPart.write(ApplicationPart.java:120) ~[tomcat-embed-core-9.0.46.jar:9.0.46] ... 51 common frames omitted
django와 html을 연결하여 vscode내에서 로컬로 웹사이트를 볼 수 있게 설정한 뒤 aws를 이용하여 외부로 웹페이지를 배포하고자 유튜브에 올라와있는 (2257) Django 프로젝트 AWS 배포하기 - YouTube 를 참고하여 천천히 따라나갔습니다. vscode상에 있는 django와 html을 연결한 내용을 git에 올린 뒤 우분투에서 git clone을 통해 받아와 /home/ubuntu/내 프로젝트 를 완성하였고 유튜브를 따라 천천히 나아가다가 마지막에 service nginx start를 한 후 public 주소를 입력 시 502 에러가 뜨는 것을 확인하였습니다. 우분투 내에서 python manage.py runserver 0.0.0.0:8000을 입력하면 외부에서 홈페이지가 잘 뜨니 코드상에는 문제가 없는것 같고 우분투에서 /var/log/nginx/error.log을 통해 에러코드를 cat으로 확인하니 2022/06/14 14:17:05 [crit] 4751#4751: *1 connect() to unix:/home/ubuntu/Final-term-project-DjangoWeb-/uwsgi.sock failed (13: Permission denied) while connecting to upstream, client: 121.136.144.86, server: _, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/home/ubuntu/Final-term-project-DjangoWeb-/uwsgi.sock:", host: "52.35.25.97" 이렇게 떠서 구글링을 통해 권한을 shmod로777로 변환해보거나 해도 여전히 502가 떴었습니다. 이에 제가 내린 결론은 /etc/nginx/nginx.conf /etc/nginx/sites-enabled/default uwsgi.ini 이 세가지를 설정하는 과정에서 값을 틀리게 입력했다는 것이 저의 생각입니다. 이것이 현재 저의 home/ubuntu/프로젝트/ 의 상태입니다. html과 django의 연결은 구글링을 통해 한 웹사이트로 구성하였으며 이는 git 에 올라갔고 git clone을 통해 우분투에 받아와진 상태입니다. uwsgi.ini의 상태입니다. vi /etc/nginx/nginx.conf를 통해 입력한 값입니다. vi /etc/nginx/sites-enabled/default를 통해 입력한 값입니다. 이후 sudo service nginx restart를 시도한 후 aws에 있는 제가 만든 인스턴스의 public주소를 주소창에 입력하자 502 에러가 나왔고 에러log는 맨위에 있는 것이 나왔습니다. 여러 오타도 찾아보고 사용자권한도 설정하며 계속 수정해나갔지만 결과에 도달할 기미가 보이지 않아 질문/ 답변에 찾아와 질문드리게 되었습니다. 도움을 주시면 감사할 것 같습니다.
안녕하세요 종은 강의 잘 청강하고 있습니다. Mmdetection mask RCNN 모델을 훈련시키려고 하는데, 강좌중 정확도와 재현성에 대한 강의를 보고 궁금증이 생겼습니다. 정확도와 재현성을 조정이라는 표현이 맞는지 모르겟는데, 정확도와 재현성중 사용자가 둘중 어떤 것을 높여서 교육시키는 것이 가능한지요? 가능하다면 훈련시 어떤 변수를 조정해서 훈련을 시켜야하는지요?? Mmdetection. Config 변수가 너무 많아서 좀 복잡한것 같은데... 이러한 부분은 어떤 문서를 봐야 이해가 될수 있을까요?? 홈페이지도 너무 광범위해서 초보자는 좀 헤매게 되는것 같습니다. 참. 그리고 혹시 tracking 에 대한 강좌 계획은 없으신지도 궁금합니다.
왼쪽 상단에 IntelliJ IDEA> Preferences 상기 항목이 안나와요? 어디서 찿을수 있을까요? 버전은 아래와 같습니다. IntelliJ IDEA 2022.1.2 (Community Edition) Build #IC-221.5787.30, built on June 1, 2022 Runtime version: 11.0.15+10-b2043.56 amd64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. Windows 10 10.0 GC: G1 Young Generation, G1 Old Generation Memory: 750M Cores: 8 Kotlin: 221-1.6.21-release-337-IJ5787.30
안녕하세요. '딥러닝-컴퓨터비전-완벽가이드'를 수강하고 있는 고준규입니다. 다름이 아니라 정밀도와 재현율에 대해 질문이 있어서 글을 남깁니다. COCO 데이터셋이나 Pascal VOC 데이터셋과 같이 성능평가로 검증된 데이터셋이 아닌 직접 object detection을 사용하여 문제를 해결하기위해 custom 데이터를 활용하여 데이터 라벨링을 하였습니다. 이 때, 모델의 평가를 진행하였는데, precision score (0.6)가 recall score (0.9)에 비해 낮은 결과를 얻는 것을 확인했습니다. 이를 자체적으로 분석해본 결과, 사람이 직접 라벨링을 하다보니 사람이 놓친 부분을 모델이 탐지하여 precision score가 낮아지는 것을 확인하였고 결론지었습니다. 이럴 경우, custom 데이터셋을 새롭게 수정해서 학습을 시켜야하는 것이 맞는 방법인 것으로 보이나 현실적으로 이를 수정하기에는 비용이 생각보다 많이 들 것 같아서 다른 방법을 생각해보고 있습니다. 혹시 이와 관련되어 조언을 얻을 수 있을까요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 회원가입 () 실행시 db에 값은 들어가는데 콘솔에 java.util.NoSuchElementException: No value present 오류 뜨는데 왜 이런 건가요?
excludePathPatterns( "/error-page/**" ) 자세한 뜻을 잘 모르겠습니다.. 결국 /error-page/** 해주면 '제외하기 쉽게 되어 있기 때문에, 이러한 설정을 사용해서 오류 페이지 경로를 excludePathPatterns 를 사용해서 빼주면 된다.' 라고 알고 있습니다. 그리고 /error-page/** 작성하여 실행 시키면 REQUEST가 두번 출력되지 않는 다는 것과 postHandle() 메서드가 출력되지 않는 다는 것만 알고 있습니다. 반대로 /error-page/** 빼고 실행 한다면 REQUEST가 두번 출력되고, postHandle() 가 호출 된다는 것을 알고는 있는데,, 왜 그렇게 동작하는지 자세히 모르겠습니다. 뭔가,, 답만 알고 풀이는 모르고 있단 생각이 듭니다.. 둘다 똑같은거 같은데, 차이가 뭔지... 하는 마음입니다. 제가 이해하기론 /error-page/** 는 error-page 밑에 있는 모든 파일을 해당한다고 이해하고 있는데, 그렇다면 templates 밑에 있는 /error-page/404.html 와 /error-page/500.html 이 제외 되어 출력 되면 안되는 것이 아닌가 싶습니다. 그리고 둘다 컨트롤러를 통해 잘 동작하는거 같습니다.. 그리고, WAS까지 갔다 두번째 필터에서 제외 된다는 것이 /error-page/** 이렇게 설정하여, 어떻게 필터를 제외한다는 것인지도 모르겠습니다. /error-page/** 설정 함으로써 제외 된다.. 무슨 말인지 잘 모르겠습니다 ...