묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
텍스트를 작성하고 ESC를 눌러서 완료하면
저절로 손바닥 모양이되서 이동하게끔 되요. 그래서 스페이스바를 눌러야 마우스 커버로 바뀌는데.. 이게 원래 이런건지 아니면 어떤 키가 눌려서 그런건지 궁금해요.
-
미해결스프링 핵심 원리 - 기본편
6:10초에 객체를 생성할 떄 앞에 private final 해주는 이유가 무엇인가요?
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]6:10초에 MemberRepository memberRepository = new MemoryMemberRepository(); 객체와 할인 객체를 생성할 떄 앞에 private final 해주는 이유가 무엇인가요? private final 안 쳐도 잘 되는데 저걸 쳐 주는 이유가 있나요? 앞 강의에서 MemberServiceImpl에서는 해 주고 뒷 강의에서 MemberApp과 OrderApp에서는 private final을 안 해주던데 하는 것과 안하는 것이 무슨 차이인지, 왜 필요한지 궁금합니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
/request-header 접속 에러
Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Tue Aug 16 15:21:21 KST 2022 There was an unexpected error (type=Not Found, status=404). /request-header 접속하면 이렇게 에러가 뜨구요 파일은 package hello.servlet.basic.request;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;//http://localhost:8080/request-header?username=hello@WebServlet(name = "requestHeaderServlet", urlPatterns = "/request-header")public class RequestHeaderServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { printStartLine(request); printHeaders(request); printHeaderUtils(request); printEtc(request); response.getWriter().write("ok"); } //start line 정보 private void printStartLine(HttpServletRequest request) { System.out.println("--- REQUEST-LINE - start ---"); System.out.println("request.getMethod() = " + request.getMethod()); //GET System.out.println("request.getProtocol() = " + request.getProtocol()); //HTTP/1.1 System.out.println("request.getScheme() = " + request.getScheme()); //http// http://localhost:8080/request-header System.out.println("request.getRequestURL() = " + request.getRequestURL());// /request-header System.out.println("request.getRequestURI() = " + request.getRequestURI());//username=hi System.out.println("request.getQueryString() = " + request.getQueryString()); System.out.println("request.isSecure() = " + request.isSecure()); //https사용 유무 System.out.println("--- REQUEST-LINE - end ---"); System.out.println(); } //Header 모든 정보 private void printHeaders(HttpServletRequest request) { System.out.println("--- Headers - start ---"); /* Enumeration<String> headerNames = request.getHeaderNames(); while (headerNames.hasMoreElements()) { String headerName = headerNames.nextElement(); System.out.println(headerName + ": " + request.getHeader(headerName)); }*/ request.getHeaderNames().asIterator() .forEachRemaining(headerName -> System.out.println(headerName + ": " + request.getHeader(headerName))); System.out.println("--- Headers - end ---"); System.out.println(); } //Header 편리한 조회 private void printHeaderUtils(HttpServletRequest request) { System.out.println("--- Header 편의 조회 start ---"); System.out.println("[Host 편의 조회]"); System.out.println("request.getServerName() = " + request.getServerName()); //Host 헤더 System.out.println("request.getServerPort() = " + request.getServerPort()); //Host 헤더 System.out.println(); System.out.println("[Accept-Language 편의 조회]"); request.getLocales().asIterator() .forEachRemaining(locale -> System.out.println("locale = " + locale)); System.out.println("request.getLocale() = " + request.getLocale()); System.out.println(); System.out.println("[cookie 편의 조회]");// if (request.getCookies() != null) {// for (Cookie cookie : request.getCookies()) {// System.out.println(cookie.getName() + ": " + cookie.getValue());// }// } System.out.println(); System.out.println("[Content 편의 조회]"); System.out.println("request.getContentType() = " + request.getContentType()); System.out.println("request.getContentLength() = " + request.getContentLength()); System.out.println("request.getCharacterEncoding() = " + request.getCharacterEncoding()); System.out.println("--- Header 편의 조회 end ---"); System.out.println(); } //기타 정보 private void printEtc(HttpServletRequest request) { System.out.println("--- 기타 조회 start ---"); System.out.println("[Remote 정보]"); System.out.println("request.getRemoteHost() = " + request.getRemoteHost()); // System.out.println("request.getRemoteAddr() = " + request.getRemoteAddr()); // System.out.println("request.getRemotePort() = " + request.getRemotePort()); // System.out.println(); System.out.println("[Local 정보]"); System.out.println("request.getLocalName() = " + request.getLocalName()); // System.out.println("request.getLocalAddr() = " + request.getLocalAddr()); // System.out.println("request.getLocalPort() = " + request.getLocalPort()); // System.out.println("--- 기타 조회 end ---"); System.out.println(); }}RequestHeaderServlet.java 소스코드입니다.실행했을때 화이트라벨 페이지가 뜨고 콘솔에 파일이 실행이 안되는것 같습니다.콘솔 로그는 "C:\Program Files\Java\jdk-11.0.13\bin\java.exe" -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\lib\idea_rt.jar=62836:C:\Program Files\JetBrains\IntelliJ IDEA 2022.1.2\bin" -Dfile.encoding=UTF-8 -classpath C:\Users\rainb\IdeaProjects\servlet\out\production\classes;C:\Users\rainb\IdeaProjects\servlet\out\production\resources;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.projectlombok\lombok\1.18.24\13a394eed5c4f9efb2a6d956e2086f1d81e857d9\lombok-1.18.24.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\2.7.2\dd8a77a26900a86d9962598cbbd360f6b69bab5e\spring-boot-starter-web-2.7.2.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\2.7.2\d51c90fa1f01e7d411d15cb1c2c3eda2f92306c1\spring-boot-starter-json-2.7.2.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\2.7.2\12f0da08b8120adcd137073ad08767f2d60e6cc3\spring-boot-starter-2.7.2.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-tomcat\2.7.2\1b10b4411aae8809aad46d3693001917468138f5\spring-boot-starter-tomcat-2.7.2.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\5.3.22\519d86b7ac9b8b6bb54739eb4eb73dc13a263b28\spring-webmvc-5.3.22.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\5.3.22\fdab9b8d8df2e6a8fb90f2481c361bcf2c129567\spring-web-5.3.22.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.13.3\ad2f4c61aeb9e2a8bb5e4a3ed782cfddec52d972\jackson-datatype-jsr310-2.13.3.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.13.3\f71c4ecc1a403787c963f68bc619b78ce1d2687b\jackson-module-parameter-names-2.13.3.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.13.3\d4884595d5aab5babdb00ddbd693b8fd36b5ec3c\jackson-datatype-jdk8-2.13.3.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.13.3\56deb9ea2c93a7a556b3afbedd616d342963464e\jackson-databind-2.13.3.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\2.7.2\f358e3f8ce01d3a26605fa23f9d3fd408726b033\spring-boot-autoconfigure-2.7.2.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\2.7.2\a471deae9d806afa28ab888f75d46cff6e2f118c\spring-boot-2.7.2.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\2.7.2\a88c44d4ec24ca37f51192c2aad3a1ca53f937f5\spring-boot-starter-logging-2.7.2.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\jakarta.annotation\jakarta.annotation-api\1.3.5\59eb84ee0d616332ff44aba065f3888cf002cd2d\jakarta.annotation-api-1.3.5.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\5.3.22\661fc01832716c7eedebf995c6841b2f7117c63d\spring-core-5.3.22.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.30\8fde7fe2586328ac3c68db92045e1c8759125000\snakeyaml-1.30.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-websocket\9.0.65\bd70dfeb39cc83c6934be24fa377b21e541dbe76\tomcat-embed-websocket-9.0.65.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-core\9.0.65\a24c5f379b2ec343a167a83332b75c37f26b2ae7\tomcat-embed-core-9.0.65.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-el\9.0.65\d278157387e59a5f9b48091dcada22b7c74aed00\tomcat-embed-el-9.0.65.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\5.3.22\fdd59bb4795c7a399e95ec4a5c8b91103e3189fd\spring-context-5.3.22.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\5.3.22\c056f9e9994b18c95deead695f9471952d1f21d1\spring-expression-5.3.22.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\5.3.22\2f9f00efbff8432f145ccffeb93e6a1819bac362\spring-aop-5.3.22.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\5.3.22\866c2022b5fef05b1702f4a07cfa5598660ce08a\spring-beans-5.3.22.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.13.3\7198b3aac15285a49e218e08441c5f70af00fc51\jackson-annotations-2.13.3.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.13.3\a27014716e4421684416e5fa83d896ddb87002da\jackson-core-2.13.3.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.2.11\4741689214e9d1e8408b206506cbe76d1c6a7d60\logback-classic-1.2.11.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-to-slf4j\2.17.2\17dd0fae2747d9a28c67bc9534108823d2376b46\log4j-to-slf4j-2.17.2.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.slf4j\jul-to-slf4j\1.7.36\ed46d81cef9c412a88caef405b58f93a678ff2ca\jul-to-slf4j-1.7.36.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\5.3.22\811ace5e5eb379654ed96fd7844809db51af74a5\spring-jcl-5.3.22.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.2.11\a01230df5ca5c34540cdaa3ad5efb012f1f1f792\logback-core-1.2.11.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.36\6c62681a2f655b49963a5983b8b0950a6120ae14\slf4j-api-1.7.36.jar;C:\Users\rainb\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.17.2\f42d6afa111b4dec5d2aea0fe2197240749a4ea6\log4j-api-2.17.2.jar hello.servlet.ServletApplication . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.2) 2022-08-16 15:21:15.998 INFO 23148 --- [ main] hello.servlet.ServletApplication : Starting ServletApplication using Java 11.0.13 on DESKTOP-27BHO27 with PID 23148 (C:\Users\rainb\IdeaProjects\servlet\out\production\classes started by Arhan in C:\Users\rainb\IdeaProjects\servlet)2022-08-16 15:21:16.001 INFO 23148 --- [ main] hello.servlet.ServletApplication : No active profile set, falling back to 1 default profile: "default"2022-08-16 15:21:16.722 INFO 23148 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)2022-08-16 15:21:16.730 INFO 23148 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]2022-08-16 15:21:16.730 INFO 23148 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65]2022-08-16 15:21:16.815 INFO 23148 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext2022-08-16 15:21:16.815 INFO 23148 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 774 ms2022-08-16 15:21:16.974 INFO 23148 --- [ main] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: ServletContext resource [/index.html]2022-08-16 15:21:17.069 INFO 23148 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''2022-08-16 15:21:17.078 INFO 23148 --- [ main] hello.servlet.ServletApplication : Started ServletApplication in 1.412 seconds (JVM running for 2.044)2022-08-16 15:21:21.059 DEBUG 23148 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [0]2022-08-16 15:21:21.059 DEBUG 23148 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received [GET /request-header HTTP/1.1Host: localhost:8080Connection: keep-aliveCache-Control: max-age=0sec-ch-ua: "Chromium";v="104", " Not A;Brand";v="99", "Google Chrome";v="104"sec-ch-ua-mobile: ?0sec-ch-ua-platform: "Windows"Upgrade-Insecure-Requests: 1User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9Sec-Fetch-Site: noneSec-Fetch-Mode: navigateSec-Fetch-User: ?1Sec-Fetch-Dest: documentAccept-Encoding: gzip, deflate, brAccept-Language: ko-KR,ko;q=0.9,en-US;q=0.8,en;q=0.7,de;q=0.6 ]2022-08-16 15:21:21.088 INFO 23148 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring DispatcherServlet 'dispatcherServlet'2022-08-16 15:21:21.088 INFO 23148 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Initializing Servlet 'dispatcherServlet'2022-08-16 15:21:21.089 INFO 23148 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 1 ms2022-08-16 15:21:21.144 DEBUG 23148 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Before fill(): parsingHeader: [true], parsingRequestLine: [true], parsingRequestLinePhase: [0], parsingRequestLineStart: [0], byteBuffer.position(): [0], byteBuffer.limit(): [0], end: [729]2022-08-16 15:21:21.144 DEBUG 23148 --- [nio-8080-exec-1] o.a.coyote.http11.Http11InputBuffer : Received []2022-08-16 15:21:21.144 DEBUG 23148 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor : Socket: [org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper@62f359c1:org.apache.tomcat.util.net.NioChannel@49526da8:java.nio.channels.SocketChannel[connected local=/0:0:0:0:0:0:0:1:8080 remote=/0:0:0:0:0:0:0:1:62848]], Status in: [OPEN_READ], State out: [OPEN]
-
미해결
강의자료가 있는곳을 못 찾겠어요
프로젝트 예제가 들어있는 강의 자료가 있다는데 강의자료 버튼이 안보이네요 spring 수업입니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
백준 19942번. 다이어트
강사님 안녕하세요. 19942번 관련해서 질문드립니다. http://boj.kr/66418435ede6497caf8607184258390a 반례 3 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 answer 0 1 2 3 도 맞는데 다른 반례가 있어서 그런지 틀리는데요. 강사님이 하신대로 map으로 키값 - 벡터 하는 방법으로 하는게 훨씬 효율이 좋은건가요?
-
미해결윤재성의 만들면서 배우는 Spring MVC 5
에러 질문입니다.
안녕하세요. 저는 servlet-context.xml 안이 비어있다는 오류가 아니라 SEVERE: 웹 애플리케이션 [/SpringMVCXml] 내의 서블릿 [appServlet]이(가) load() 예외를 발생시켰습니다. 이러한 오류가 나는데.. 강의 17:51부분에서요! 뭐가 문제인가요?
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
yolo 학습 및 테스트에서 IoU값 확인 방법
안녕하세요 교수님 yolo파트 수강중 mAP값 확인 전 IoU값을 확인하고자하는데 IoU값을 출력하는 부분을 찾기가 어려워 질문드립니다. yolo의 출력결과에서 mAP가 아닌 IoU값을 출력할 수 있는 방법을 질문드립니다. 감사합니다.
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
외부 내부 모두 신규 트랜잭션인데, 외부커넥션을 먼저 반납하는경우
안녕하세요. 강의 잘 듣고 있습니다. 문득 궁금한점이 생겨서... @Testvoid inner_rollback_requires_new() { log.info("외부 트랜잭션 시작"); TransactionStatus outer = txManager.getTransaction(new DefaultTransactionAttribute()); log.info("outer.isNewTransaction()={}", outer.isNewTransaction()); log.info("내부 트랜잭션 시작"); DefaultTransactionAttribute definition = new DefaultTransactionAttribute(); definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); TransactionStatus inner = txManager.getTransaction(definition); log.info("inner.isNewTransaction()={}", inner.isNewTransaction()); log.info("외부 먼저 트랜잭션 커밋"); txManager.commit(outer); log.info("그다음 내부 트랜잭션 커밋"); txManager.commit(inner);} 위와같이 외부 트랜잭션이 먼저 시작되고, 내부보다 먼저 커밋이나 롤백한 이후에 나중에 시작한 트랜잭션인 내부 트랜잭션의 커밋이라 롤백을 호출하면 IllegalStateException을 던지더라구요. (사실 @Transactional을 이용하면 이런일이 발생하지 않게되어서 이상한 코드 인것같습니다만.., 내부트랜잭션에서 커밋이나 롤백을 누락하거나 / 멀티쓰레드 환경인데 커넥션을 파라미터로 받아서 사용한다거나 하면 겪게 될 수도 있을듯 해서요...) 사실 두 커넥션 간의 연관관계가 없다 생각했는데, 어떠한 이유로 연관이 있나보네요. 일단은 아직 고급편강의를 듣지 않았지만.. 고급편도 곧 들을 예정입니다. 고급편에서 확인할 수 있는 내용일까욤?? 일단, 트랜잭션 동기화 매니저는 내부적으로 커넥션을 생성한 쓰레드로 그룹핑을 하여 관리한다고 생각하고.. 같은 쓰레드로컬 내에서 커넥션이 여러개 있을때, 먼저 생성된 커넥션이 먼저 반납되는 것 자체가 이상상태로 스프링은 취급한다 라고 생각하면 맞을까요..? 질문을 다시요약해보면, 1. 트랜잭션 전파옵션을 PROPAGATION_REQUIRES_NEW로 하여 2개의 별도의 커넥션이 생성됨. 2. 한 쓰레드로 부터 생성된 커넥션은 2개인 상태. 3. 먼저생성된 커넥션의 커밋이 먼저 수행됨. 4. 나중에 생성된 커넥션의 커밋을 수행할때 illegalStateException 예외 발생. -> 두개의 커넥션간의 연관관계는 사실 없다고 생각드는데, 예외가 발생한것에 대해 의문점이 생깁니다! 5. 스프링은 동일한 쓰레드로 부터 여러 커넥션이 생성되었을때, 나중생성된 커넥션부터 순차적으로 커밋되지 않으면 이것 자체를 이상상태로 취급? 하는것인지 궁금합니다!
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
분홍색 Materials
현재 2021.3.6f 버전으로 강의를 듣고 있습니다.Materials 부분에 분홍색으로 표시되는데, 혹시 어떤 자료를 참고해야 할까요?프로젝트는 기본 3D로 받아, built-in 기본 값으로 설정되어 있습니다.찾아보니, Scene 내에 분홍색 오류가 발생 시, URP로 변경하는 등 해결법이 있던데 개념을 정확히 잘 모르고 해당 사항으로 변경하니, 오히려 Scene 내에 분홍색으로 변경되어서 궁금해 질문드립니다.
-
미해결파이썬 플라스크(Flask) 기반 웹 개발 및 업무 자동화 서비스 활용
기능 설명좀 해주세요..
2분 29초 쯤이구요 tabindex는 -1로 설정해주구요 라고 말해주시는데 tabindex를 왜 -1로 설정하는지 알려주는게 강의 아닌가요? role도 그렇고 aria-labelledby도 그렇고 만약에, 기어를 d로 놓으세요 라고 말하고 아무런 설명이 없다면 기어를 왜 d로 넣어야 하는지 모르잖아요
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
안드로이드 앱 뒤로가기 버튼 이벤트가 작동이 되질 않는데 문제를 모르겠어요
좋은 강의 항상 감사합니다! 안드로이드 앱 뒤로가기 버튼 이벤트 강의를 들으면서 강사님과 똑같이 코드를 따라쳤는데 "종료하실려면 더블클릭"이라는 메시지는 정상 출력되나 정작 앱이 종료가 되질 않습니다. 제가 잘못 쳤나 해서 3번쯤인가 다시 쳐보았지만 똑같이 작동이 되질 않아요... 제가 어느 부분을 실수한 걸까요? 어째서 더블클릭을 해도 앱이 종료되지 않는걸까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
기존 시퀀스를 사용할 경우
=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]hibernate의 ddl 생성 기능을 사용하는것이 아닌, 기존 ddl을 사용한다고 가정할 때, 이미 사용중이던 sequence가 존재할 수 있습니다. JPA에서 매핑한 엔티티가 기존 시퀀스를 사용한다고 가정할 때, 기존 시퀀스와 매핑하는 방법은 알아보았습니다. 하지만, 기존 시퀀스의 increment Size가 N일 때, WAS에서 allocationSize을 N과 같이하지 않으면 WAS 기동시 (PersistenceUnit으로부터 emf 생성시) 매핑 이슈가 발생했습니다. Caused by: org.hibernate.MappingException: The increment size of the [SOMESEQUENCE] sequence is set to [5] in the entity mapping while the associated database sequence increment size is [10]. 여기서 SOMESEQUENCE는 제가 임의로 H2에 미리 만들어둔 시퀀스명이며, INCREMENT SIZE는 10 입니다. 그리고 WAS의 설정은 다음과 같습니다. @SequenceGenerator( name = "BOARD_SEQ_GENERATOR", sequenceName = "SOMESEQUENCE", allocationSize = 5 ) 둘을 같게하면 사용하는것에 문제는 없으나 질문은 다음과 같습니다. 사내에서 JPA를 사용할 때, 어떤 A 개발자가 미리 시퀀스를 만들어뒀으며, 시퀀스가 2부터 2씩 증가하며, 반드시 이 시퀀스를 사용하는 column은 짝수 이도록 하려고 의도했습니다. (incrementSize = 2) 2 -> 4 -> 6 -> 8 -> ... allocationSIze가 2일 때, WAS에선 2번에 한번씩만 ID를 얻기위해 DB에 질의를 수행할 테지만, 문제는 2 -> 4 -> 6 -> 8이 아닌, (query)2 -> 3 -> (query)4 - >5 -> (query)6 으로 ID를 세팅 할 것입니다. 이는 기존에 allocationSize를 사용하며 allocationSIze가 50이며 initial Value가 1일 때, 1->2->3 -> was 종료 -> was 재기동 -> 51 -> 52 ... 와 같은 현상에서 중간에 값이 빠지는것과는 다른 문제입니다. 이 경우엔 unique하다는 점은 유지됩니다. 그렇지만 위의 A 개발자가 미리 만들어 놓은 시퀀스는 시퀀스에 비즈니스 로직인 (짝수여야 한다) 라는 컨셉이 allocationSize를 사용하면 유지되지 못합니다. 또한, allocationSize가 1일때와 그렇지 않을 때가, 다른 양상을 보입니다. 실제 DB의 시퀀스 increment Size가 N일때, allocationSize는 1또는 N만 매핑되는것을 확인 했습니다. 따라서, N/2나 여타 1 < x < N 인 값들에 대해선 allocationSize에 할당할 수 없으므로, increment Size와 allocationSize를 정확히 일치시키거나, 1로 설정하여 매번 시퀀스에 질의하는 방법, 이 둘 외에는 allocationSize를 활용할 방법이 없다고 사료됩니다. 따라서 위와 같은 상황 (A 개발자가 미리 만들어둔 시퀀스를 사용해야 하는 상황) 에는 allocationSize = 1 외에는 방법이 없는것인지 질문드립니다.
-
미해결Three.js로 시작하는 3D 인터랙티브 웹
그림자가 안나와요..ㅜㅜ
안녕하세요, Three JS를 혼자 공부중입니다. gltf로더를 사용하여 3D모델을 불러왔고 모델, 라이트에 cast shadow를 주었고 land로 지면 영역을 만들어서 receive shadow를 주었는데 그림자가 안나와요... 또 3면이 자연스럽게 조명이 주어지지 않고 한 면은 완전 블랙으로 영역이 나타나는데 자연스럽게 조명을 쓸 수 있는 방법이 있을까요? 코드와 웹 결과물 사진을 첨부합니다.
-
미해결
mybatis 스프링 데이터 업데이트 foreach문 관련 질문입니다.
는지 검dservice 문에서 for 문을 돌려 받은 map list 를 Dao로 보내 어 이런 데이터 값을 받았습니다. [{orderProductQty=3, productCd=4}, {orderProductQty=2, productCd=1}] . 여기서 이 데이터 값이 mybatis에서 update가 되지 않고 있습니다. foreach 문을 다양한 방법으로 변경 해 보았으나 1, <foreach collection="list" item="productMap" separator=";"> 2,<foreach collection="list" item="productMap" separator=";" open="" close=""> 3. <foreach collection="list" item="productMap" separator=";" close=";"> 4, <foreach collection="list" item="productMap" separator=","> 5. <foreach collection="list" item="productMap" separator=";" open=";" close=";"> 모두 같은 에러의 연속이네요. 이거 어떻게 해결 할 수 있을까요? 도와 주시면 너무너무 감사드립니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
typeMismatch
타입이 맞지 않음 스프링이 직접 검증 오류에 추가-->typeMismatch 라는 오류 코드를 사용 MessageCodesResolver 를 사용해서 검증 오류 코드로 메시지 코드들을 생성 th:erros 에서 메시지 코드들로 스프링에서 제공하는 메시지소스(MessageSource)를 사용해서 errors.properties에 접근 후 메시지를 순서대로 찾고, 노출 이렇게 이해했는 데 맞나요??
-
해결됨배달앱 클론코딩 [with React Native]
왜 tsconfig.json이 틀리게 보일가요?
제가 만든 프로젝트에는 아래와 같은 json이 보일뿐입니다. // prettier-ignore { "extends": "@tsconfig/react-native/tsconfig.json", /* Recommended React Native TSConfig base */ "compilerOptions": { /* Visit https://aka.ms/tsconfig.json to read more about this file */ /* Completeness */ "skipLibCheck": true /* Skip type checking all .d.ts files. */ } } 기다리겠습니다. 고맙습니다.
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
lombok 설치해도 package가 없다고 뜹니다.
1.lombok 설치 완료 2.annotation 체크완료 3. build gradle dependencies 이렇게 설치가 완료되었음에도 불구하고 java:package lombok does not exist라고 뜹니다. 제가 이 project이름이 board-exam이고, spring다운로드에서 안하고 intellij에서 new project생성으로 해서 그런지 spring 도 안되어지기는 합니다ㅜㅜ,, 이렇게 이미 생성되어있는 gradle project에서는 spring web, lombok, tymleaf를 어떻게 할 수 있을까요? plugin은 다 설치했는데도 안되어져서요,,
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
권한요청드립니다.
인프런 아이디: shannon.430 인프런 이메일: shannon.430@kakaocorp.com 깃헙 아이디: shannonshin3@gmail.com 깃헙 Username: Shannon.S 감사합니다 :)
-
미해결파이썬 텍스트 분석 입문 - 데이터 수집부터 분석까지
p55 문의드립니다
안녕하세요 수업내용 중 질문이 생겨 글 남깁니다. 수업자료대로 다 해왔는데 마지막에서 에러가 발생하여 문의 남깁니다 ㅠㅠ 이부분은 어떻게 해결하면 되나요....ㅜㅠㅜ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
redux-promise error
안녕하세요, react 강좌 학습중입니다. 아래 내용에 대해 구글링 해보았으나 .. 해결이 되지 않아 올려봅니다. 해당 redux-promise는 설치가 되었으며 , import 역시 되어있는 상황입니다. 아래 index.js 소스코드 올립니다. 감사합니다. import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; //import * as serviceWorker from './serviceWorker'; import reportWebVitals from './reportWebVitals'; import { Provider } from 'react-redux'; import 'antd/dist/antd.css'; import { applyMiddleware, createStore } from 'redux'; import promiseMiddleware from 'redux-promise'; import ReduxThunk from 'redux-thunk'; import Reducer from './_reducers/user_reducer'; const createStoreWithMiddleware = applyMiddleware(promiseMiddleware,ReduxThunk)(createStore) const root = ReactDOM.createRoot(document.getElementById('root')); root.render( <React.StrictMode> <Provider store={createStoreWithMiddleware(Reducer, window.__REDUX_DEVTOOLS_EXTENTION__ && window.__REDUX_DEVTOOLS_EXTENTION__() )}> <App /> </Provider> </React.StrictMode> ); // If you want to start measuring performance in your app, pass a function // to log results (for example: reportWebVitals(console.log)) // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals reportWebVitals();