묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
userService unit test 중
안녕하세요, 강의를 듣던 중 rollback(value=false)에서 궁금한 점이 생겨서 질문 드립니다. join 메소드 테스트시, rollback(value=false) 를 붙여 진행하면 h2 에 정상적으로 들어가게 되는데 혹시 데이터가 누적돼서 validateDuplicateMember의 테스트 메소드 실행시 조회되나 확인 해봤더니 memberList가 비어있었습니다. 혹시 각 메소드 test를 진행할 때마다 transactional이 실행되고 이때 각 메소드에서 insert 됐던 data들이 사라지나요? rollback false 로 하면 commit 되는 것으로 알고 있는데 왜 데이터가 누적되지 않는 지 궁금합니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2가 안돼요
원래 잘 되다가 갑자기 아래와 같은 에러가뜨면서 안되네요 ㅠㅠ Class "org.apache.derby.jdbc.ClientDriver" not found [90086-200]org.h2.message.DbException: Class "org.apache.derby.jdbc.ClientDriver" not found [90086-200] at org.h2.message.DbException.get(DbException.java:194) at org.h2.util.JdbcUtils.loadUserClass(JdbcUtils.java:199) at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:300) at org.h2.util.JdbcUtils.getConnection(JdbcUtils.java:289) at org.h2.server.web.WebServer.getConnection(WebServer.java:785) at org.h2.server.web.WebApp.login(WebApp.java:1008) at org.h2.server.web.WebApp.process(WebApp.java:223) at org.h2.server.web.WebApp.processRequest(WebApp.java:173) at org.h2.server.web.WebServlet.doGet(WebServlet.java:129) at org.h2.server.web.WebServlet.doPost(WebServlet.java:166) at javax.servlet.http.HttpServlet.service(HttpServlet.java:681) at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) 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:117) 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:117) 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:117) 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:197) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) 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:359) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1735) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:829)Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Class "org.apache.derby.jdbc.ClientDriver" not found [90086-200] at org.h2.message.DbException.getJdbcSQLException(DbException.java:576) at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) ... 45 moreCaused by: java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:315) at org.h2.util.JdbcUtils.loadUserClass(JdbcUtils.java:192) ... 43 more
-
미해결반응형 웹사이트 포트폴리오(App Official Landing Website)
어코디언이 작동이 안됩니다. 코드에는 이상이 없는데 쿠키문제인지 모르겠습니다.
<section class="faq"> <div class="faq-inner"> <div class="headline-share"> <h1>서비스 이용이 궁금하신가요?</h1> <p>스타트업메이트가 도와드리겠습니다,</p> </div> <div class="faq-content"> <div class="faq-accordion"> <div class="faq-item active"> <div class="faq-title">스타트업 메이트 회원가입이 필수인가요?</div> <div class="faq-desc"> 네. 회원가입은 필수입니다. 스타트업 메이트 회원가입은 만 20세 이상 누구나 가입하실 수 있으며, 스타트업 메이트 앱 서비스를 이용하시기 위해서 회원가입은 필수입니다.<br> 스타트업 메이트 회원가입은 앱을 통해서 가입하실 수 있습니다. 가입 절차는 아래와 같습니다.<br> ① 약관동의(서비스이용약관, 개인정보 취급방침)<br> ② 기본정보 입력(아이디, 이름, 비밀번호, 이메일, 휴대전화, 사업자 주소)<br> </div> </div> <div class="faq-item"> <div class="faq-title">회원가입 시 주민등록번호가 포함되나요?</div> <div class="faq-desc"> 스타트업 메이트 회원가입 시 주민등록번호는 입력받지 않습니다. 회원가입을 위한 최소한의 정보만으로 회원가입이 완료됩니다.<br> 입력된 회원 정보는 스타트업 메이트 보안 시스템을 통해 안전하게 보호되며 법령에서 정하는 바에 최소한의 기간 동안 보관 후 모두 삭제되며, 고객 정보 보호에 최선을 다하고 있습니다. </div> </div> <div class="faq-item"> <div class="faq-title">개인정보 관리를 어떻게 하시나요?</div> <div class="faq-desc"> 스타트업 메이트는 서비스 제공을 위해 회원의 개인정보를 최소화 하여 수집하며, 수집된 정보는 '개인정보 취급방침'에 따라 엄격히 관리됩니다.<br><br> 스타트업 메이트는 고객님의 개인정보를 소중하게 생각하며 서비스를 이용하시는 고객님의 개인정보 보호를 위해 관련 법령에서 규정하고 있는 개인정보보호 규정을 철저히 준수합니다. 개인정보보호와 관련한 자세한 내용은 '개인정보 취급방침'을 참고해주시기 바랍니다. </div> </div> <div class="faq-item"> <div class="faq-title">회원정보를 변경하고 싶은데 어떻게 하나요?</div> <div class="faq-desc"> 스타트업 메이트 회원정보를 변경하기 위해서 로그인 후 [회원정보]에서 회원정보를 조회하거나 변경하실 수 있습니다.<br> 회원정보 변경 방법은 아래와 같습니다. (단, 아이디는 수정하실 수 없습니다.) <br><br> ① [회원정보] 페이지 > 현재 사용중인 비밀번호 입력 <br> ② [정보수정] 버튼을 클릭합니다. </div> </div> <div class="faq-item"> <div class="faq-title">회원탈퇴 후 같은 아이디로 재가입 가능한가요?</div> <div class="faq-desc"> 스타트업메이트 회원 탈퇴를 원하시나요? 동일 아이디는 스타트업 메이트 회원 정책에 따라 재가입이 일정 기간 불가합니다. 회원 탈퇴 시 기존 회원 정보를 포함한 모든 정보가 복구 불가능합니다. 탈퇴 시 이 점을 다시 한번 고려하신 후 진행해 주세요. 항상 최선을 다하는 스타트업메이트가 되겠습니다. 감사합니다. </div> </div> </div> <div class="awards-content"> <div class="award-image"> <img src="images/faq-01.png" alt=""> </div> <h2>Great apps win awards</h2> <p> 웹 및 모바일 개발자가 이끄는 Great apps win awards는 새로운 모바일 앱을 대중에게 주목을 받는 역할을 수행한 앱(App)에 수여됩니다. </p> <a href="" class="btn-awards">view the awards</a> </div> </div> </div> </section> /* faq-accorion */ .faq-accorion {} .faq-item { border: 1px solid #ddd; border-radius: 10px; margin-bottom: 20px; } .faq-item > div { padding: 15px; } .faq-title { color: #428cd6; cursor: pointer; } .faq-title:after { content: '\f105'; font-family: fontawesome; float: right; color: #444; transition: 0.35s; } .faq-desc { display: none; } .faq-item.active { border: 1px solid #7dbeff; } .faq-item.active .faq-title:after { color: #7dbeff; transform: rotate(90deg); } /* Faq Accordion */ $(function(){ $('.faq-desc').eq(0).show() $('.faq-title').click(function(){ $(this).next().stop().slideDown() $(this).parent().siblings().children('.faq-desc').stop().slideUp() $(this).parent().addClass('active') $(this).parent().siblings().removeClass('active') }) })
-
미해결인터랙티브 웹 개발 제대로 시작하기
[정보] 23강에서 갑자기(?) 등장한 rafId는 24강에서 나옵니다.^^;
23강에서 갑자기(?) 등장한 rafId는 24강에서 등장합니다.^^; 갑자기 등장해서 앞에서 제가 놓쳤나 싶었는데, 바로 뒤 강의에서 나오더라구요.
-
해결됨스프링 핵심 원리 - 기본편
BeanDefinition 관련 질문
1. 우선 강의 내용을 듣고 이해한 바로는 ApplicationContext 구현체들의 각 BeanDefinitionReader들이 자신들이 읽어들일 수 있는 설정 파일에 따라 읽어들인 후 Bean 하나당 하나의 BeanDefinition들을 만들어내는 걸로 이해했습니다. 제가 이해한 것이 맞을까요? 2. 그리고 설정 정보를 읽어 오는 것이 BeanDefinitionReader라면 그 BeanDefinition을 읽어서 Bean을 생성하는 것은 어떤 것인가요? 3. 마지막으로 수업에서 BeanDefinition의 내용을 출력하며 확인해보는 부분이 있었는데 그 BeanDefinition 속성들의 설정 및 수정은 각 Reader들이 읽어들이는 그 파일에서 설정 및 수정이 가능한건가요??
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
v3.1 쿼리 최적화
안녕하세요 선생님! v3.1에서 쿼리 실행 결과 order 조회-> orderItem 조회 -> item 이 조회됩니다. 저는 OrderItem 안에 item이 Lazy 로딩이니 페치 조인으로 가지고 오고 싶어서 다음과 같은 로직을 작성해보았습니다. @GetMapping("/api/v3.2/orders")public List<OrderDto> ordersV3_page2( @RequestParam(value = "offset", defaultValue = "0") int offset, @RequestParam(value = "limit", defaultValue = "100") int limit) { List<Order> orders = orderRepository.findWithMemberDelivery(offset, limit); List<Long> ids = orders.stream().map(order -> order.getId()).collect(toList()); List<OrderItem> orderItems = orderQueryRepository.findOrderDto(ids); return orders.stream() .map(order -> new OrderDto(order, orderItems)) .collect(toList());} public List<OrderItem> findOrderDto(List<Long> ids) { return em.createQuery( "select oi from OrderItem oi join fetch oi.item where oi.order.id in :ids", OrderItem.class) .setParameter("ids", ids) .getResultList();} public OrderDto(Order order, List<OrderItem> orderItems) { orderId = order.getId(); name = order.getMember().getName(); orderDate = order.getOrderDate(); orderStatus = order.getStatus(); address = order.getDelivery().getAddress(); this.orderItems = orderItems.stream().map(OrderItemDto::new).collect(toList());} 이와 같이 로직을 작성 하고 결과를 확인하니 위와 같이 모든 Item이 조회되었습니다. 혹시 fetch join 이 문제 일까 싶어서 fetch join 을 제외하고 실행하더라도 동일한 결과가 나왔습니다. fetch join을 빼고 실행하면 강의에서 나온 것과 동일하게 쿼리가 실행되지만 결과값은 다른 것을 확인했습니다. -> batch_fetch_size를 사용했을때만 동일한 쿼리가 실행됨.(결과값은 다름) batch_fetch_size 사용 시 단순히 in 쿼리로 결과를 가져오는 것이 아니라 지연로딩을 생각해서 결과값을 가져온다고 생각하면 되는걸까요? 동일한 쿼리가 실행되는데도 결과 값이 다르게 나오는게 이해가 잘안됩니다 ㅠㅠ
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 쇼핑몰 사이트 만들기[전체 리뉴얼]
npm run dev 질문입니당
PS C:\Users\bumre\OneDrive\바탕 화면\React_Shopping_Mall\boilerplate-mern-stack-master> npm run dev > react-boiler-plate@1.0.0 dev > concurrently "npm run backend" "npm run start --prefix client" [0] [0] > react-boiler-plate@1.0.0 backend [0] > nodemon server/index.js [0] [1] [1] > client@0.1.0 start [1] > react-scripts start [1] [0] [nodemon] 1.19.4 [0] [nodemon] to restart at any time, enter `rs` [0] [nodemon] watching dir(s): *.* [0] [nodemon] watching extensions: js,mjs,json [0] [nodemon] starting `node server/index.js` [0] internal/modules/cjs/loader.js:905 [0] throw err; [0] ^ [0] [0] Error: Cannot find module 'C:\Users\bumre\OneDrive\바탕 화면\React_Shopping_Mall\boilerplate-mern-stack-master\node_modules\bcrypt\lib\binding\bcrypt_lib.node' [0] Require stack: [0] - C:\Users\bumre\OneDrive\바탕 화면\React_Shopping_Mall\boilerplate-mern-stack-master\node_modules\bcrypt\bcrypt.js [0] - C:\Users\bumre\OneDrive\바탕 화면\React_Shopping_Mall\boilerplate-mern-stack-master\server\models\User.js [0] - C:\Users\bumre\OneDrive\바탕 화면\React_Shopping_Mall\boilerplate-mern-stack-master\server\routes\users.js [0] - C:\Users\bumre\OneDrive\바탕 화면\React_Shopping_Mall\boilerplate-mern-stack-master\server\index.js [0] at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15) [0] at Function.Module._load (internal/modules/cjs/loader.js:746:27) [0] at Module.require (internal/modules/cjs/loader.js:974:19) [0] 'C:\\Users\\bumre\\OneDrive\\바탕 화면\\React_Shopping_Mall\\boilerplate-mern-stack-master\\server\\index.js' [0] ] [0] } [0] [nodemon] app crashed - waiting for file changes before starting... [1] [HPM] Proxy created: / -> http://localhost:5000 [1] i 「wds」: Project is running at http://192.168.68.161/ [1] i 「wds」: webpack output is served from [1] i 「wds」: Content not from webpack is served from C:\Users\bumre\OneDrive\바탕 화면\React_Shopping_Mall\boilerplate-mern-stack-master\client\public [1] i 「wds」: 404s will fallback to / [1] Starting the development server... [1] [1] Compiled with warnings. [1] [1] ./src/components/views/LoginPage/LoginPage.js [1] Line 74:11: 'dirty' is assigned a value but never used no-unused-vars [1] Line 79:11: 'handleReset' is assigned a value but never used no-unused-vars [1] [1] ./src/components/views/RegisterPage/RegisterPage.js [1] Line 92:11: 'dirty' is assigned a value but never used no-unused-vars [1] Line 97:11: 'handleReset' is assigned a value but never used no-unused-vars [1] [1] Search for the keywords to learn more about each warning. [1] To ignore, add // eslint-disable-next-line to the line before. [1] [1] [HPM] Error occurred while proxying request localhost:3000/api/users/auth to http://localhost:5000/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors) [1] [HPM] Error occurred while proxying request localhost:3000/api/users/auth to http://localhost:5000/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors) [1] [HPM] Error occurred while proxying request localhost:3000/api/users/register to http://localhost:5000/ [ECONNREFUSED] (https://nodejs.org/api/errors.html#errors_common_system_errors) 이런 오류가 발생했는데 bcryptjs 를 다운받았는데도 안됩니다 ㅜㅜ 그리고 localhost:5000 으로 연결이 안된다고 해여 ㅜㅜ
-
미해결스프링 배치
Redis cluster 와의 연동은 어떨까요?
안녕하세요. jdbc 등은 사용하지않고 redis cluster 를 케시디비로 사용하여 step 에 서 동작하도록 추가하고자합니다. Srping-batch 에서도 redis 를 사용하는 내용은 어떤내용을 참고하면 좋을까요?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
req.file.location 질문입니다.
안녕하세요 node.js 수강중인 수강생입니다. 익스프레스로 SNS 서버만들기 강의중에 궁금한점이 있어서요 이미지 업로드후 미리보기를 구현할때 console.log(req.file); const originalUrl = req.file.location; const url = originalUrl.replace(/\/original\//, '/thumb/') res.json({ url, originalUrl: req.file.location }); 이렇게 적어주셨는데요 로그를 봐도 location 이란 속성이 없어서 error 가 나오는데 혹시 제가 빠트린게 있을까요? 아래 log 에는 location 소성이 없어서 undefinded 를 반환하고 있습니다. 일단은 res.json({url : `/img/${req.file.filename}` , originalUrl : `/img/${req.file.filename}` }); 이렇게 별도로 originalUrl 을 처리하고 있긴한데 location 속성이 안되서 여쭈어봅니다.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
URI와 URL의 차이점..?이 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]URI는 인터넷 상에 존재하는 모든 리소스들을 말하고, URL은 리소스가 있는 위치를 말한다고 이해했습니다. 그렇다면 예를 실시간 교통 정보로 하셨었는데 실시간 교통 정보라는 것 자체는 URI이고, 실시간 교통 정보를 확인할 수 있는 위치가 URL이 되는것이고 이해가 되는데 제가 맞게 이해한건지 궁금합니다.
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [취업편]
포트폴리오 프로젝트
강사님 안녕하세요! 강사님 강의 듣고 늦게나만 github 관리 다시 시작하면서 차근차근 이직 준비하려고 합니다. 현재 직장에서 인턴 6개월 + 정규직 4개월로 재직중인 백엔드 개발자입니다. 큰 프로젝트 (6개월 짜리) 1개 정도 진행하고 나머지 기간은 자잘한 유지보수로 업무 진행해왔습니다. 제가 궁금한 점은 기업에서 진행한 프로젝트의 소스를 어디까지 사용할 수 있고, 어떤식으로 작성해야 할지 고민이 됩니다. 소스 코드 첨부는 당연히 안되는 걸로 알고 있는데 이미지 등을 캡쳐하여 사용해도 괜찮을지 걱정도 됩니다. 이에 관해서 조언 주시면 감사할 것 같습니다!
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
container에 관한 질문이 있습니다!
선생님 안녕하세요! 강의가 너무 재밌네요! 자세한 설명 항상 감사합니다. 다름이 아니라 여태까지의 수업들을 보면 어떤 강의에서는 전체적인 태그를 감싸주는 .container 클래스를 만들고, 어떤 것들은 .container 클래스 없이 만들고 하시는데, 어떨 때 만드는 것이 효율적이고 비효율적인 것인지 판단할 수 있는걸까요? 제가 검색해 본 바로는 container는 여러 아이템들을 묶어주기 위해서 사용하는 것으로 확인되는데요. 그렇다면, 3d 호버 애니메이션에서는 각각의 image들을 app-ui 가 감싸고 있는 형태인데, 여기서는 왜 또 한번 container로 감싸서 총 두번을 감싼건가요? 반면 호버했을 때 위아래로 분리되는 수업에서는 총 item이 3개가 있는데 이를 items로 한번만 감싸주기만 했습니다. 혹시 수업 중 설명해 주셨는데 제가 놓쳤던 것일수도 있으니 만약 그렇다면 죄송하지만 다시 한번 설명해주시면 감사드리겠습니다!
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
travis 파일에 before_install 에 왜 dockerfile.dev 로 빌드를 하는건가요?
강의에서 사용한 travis 파일에서 docker build 시, dockerfile.dev 를 이용한걸로 보이는데요, 그렇게 하지 않고 그냥 dockerfile 로 진행한 결과 nginx 를 실행할때 npm not found 가 나옵니다. 이 에러는 어떻게 처리 해야 할까요?
-
미해결설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)
wire 와 reg 의 차이를 모르겠습니다.
안녕하세요 matbi님 강의 잘 듣고있습니다.^^ 기초가 부족하다보니, wire 와 reg 의 차이점을 모르겠어서 질문을 드리게 되었습니다. 이해가 조금 어려운 부분은. 동영상 7:30 부근에서 module 에서는 input i_clk = input wire i_clk 으로 input은 wire 가 default 라고 말씀을 주셨습니다. 반면 동영상 8:20 부근에서는 module tb_clock_generator 의 입력부근에 reg clk; 및 reg clock_en; 을 사용하셨습니다. 1. 제가 현재까지 따라가며 이해한 부분은 아래와 같은데 맞는 이해일지 확인/수정 부탁드립니다. TB 에 사용되는 sitimulus(iuput) & check(output)은 각각 sitimulus(iuput) = reg check(output) = wire 를 사용하며 TB 내부의 DUT에 한해서는 input 과 output은 define 에 설정해두고, .i_clk (clk) 과 같이 '연결'해서 사용한다. 고 이해하는게 맞을까요?? 2. 또한 reg 와 wire은 구체적으로 어떻게 다르며 어떤 상황에서 사용이 각각 적절할까요..?? 긴글 읽어주셔서 감사합니다.^^ 동영상 완주까지 화이팅하며 질문도 조금 남기겠습니다 :)
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
외부 APP과의 연동 데이터 파싱시 Socket.io를 이용하면 될까요 ?
회원가입 로그인 등을 외부 앱에서 ( 유니티 ) 통신하여 받아오기 위해서는 socket으로 json 데이터를 받아서 string으로 해석하여 사용하면 될까요 ?? 아니면 더 나은 방법이 존재하는지 궁금합니다 !
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행오류(서버)
안녕하세요. 매번 양질의 강의 감사합니다. 2강 프로젝트 생성 (16분짜리)를 듣고 있습니다. 강사님은 스프링 io에서 파일을 직접 만드셨지만 저는 스프링이 깔려져있어 starter project로 강사님과 동일하게 프로젝트를 만들었는데 서버 연결이 안되서 런이 안됩니다. 톰캠 9.0버젼도 깔려져있는데 프로젝트 프로펄티에 톰캠 추가 칸이 없습니다. 제가 무엇을 잘못한걸까요??
-
미해결만들어 가면서 배우는 JAVA 플레이그라운드
데이터를 불러오는걸 계속 실패합니다
마지막 강의를 해봤는데 저장은 정상적으로 되는데 데이터 불러오기는 실패하네요 혼자서는 어떤부분에서 문제가 있는지 모르겠습니다 package calendar; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Scanner; public class cla_pro_1 { private final static int[] arr = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; private final static int[] larr = { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; private static final String savefile="cal_p.dat"; public boolean isLeepYear(int year) { if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) return true; else return false; } public int arr(int year, int mon) { if (isLeepYear(year)) { return larr[mon]; } else { return arr[mon]; } } public void cal_print(int year, int mon) { System.out.printf(" %3d년 %3d월\n",year,mon); System.out.println(" su mo tu we th fr sa"); System.out.println("----------------------"); if(mon<=2) {mon=mon+12;year=year-1;} int y=year%100; int c=(year-y)/100; int z=((21*c/4)+(5*y/4)+(26*(mon+1)/10))%7; int maxday=arr(year,mon); for(int b=0;b<z;b++) { System.out.print(" "); } for(int a=1;a<=maxday;a++) { System.out.printf("%3d",a); if ((a+z)%7==0) { System.out.println(); }}System.out.println(); } private static HashMap<Date,String>hm; public cla_pro_1() { hm=new HashMap<Date,String>(); File f=new File(savefile); if(!f.exists()) return; try { Scanner s=new Scanner(f); while(s.hasNext()){ String line=s.nextLine(); String[] words=line.split(","); String date=words[0]; String plan=words[1]; PlanItem p=new PlanItem(date, plan); } } catch (FileNotFoundException e) { e.printStackTrace(); } } public void plan(String strdate, String plan) throws ParseException { PlanItem p=new PlanItem(strdate,plan); SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd"); Date date=formatter.parse(strdate); hm.put(date, plan); System.out.println("날짜:"+strdate+" 일정:"+plan); File f=new File(savefile); String item=p.savestring(); try { FileWriter fw=new FileWriter(f, true); fw.write(item); fw.close(); } catch (IOException e) { e.printStackTrace(); } } public String searchPlan(String strdate) throws ParseException { Date date=new SimpleDateFormat("yyyy-MM-dd").parse(strdate); String plan=hm.get(date); return plan; } } package calendar; import java.text.ParseException; import java.util.Date; import java.util.Scanner; public class cal_pro_2 { public static void printmenu() { System.out.println("+-------------+"); System.out.println("| 1. 일정등록"); System.out.println("| 2. 일정검색"); System.out.println("| 3. 달력보기"); System.out.println("| h. 도움말 q.종료"); System.out.println("+-------------+"); } public void runprompt() throws ParseException { cal_pro_2 cp2=new cal_pro_2(); cla_pro_1 cp1=new cla_pro_1(); printmenu(); boolean loop=true; while(loop) { System.out.println("명령(1,2,3,h,q)"); System.out.print(">"); Scanner sc=new Scanner(System.in); String cmd=sc.next(); switch(cmd) { case "1": cp2.cal_1(sc, cp1);break; case "2": cp2.cal_2(sc, cp1);break; case "3": cp2.cal_print();break; case "h": cp2.help(sc);break; case "q": System.out.println("종료합니다");loop=false; }}} private void cal_2(Scanner sc,cla_pro_1 cp1) throws ParseException { System.out.println("[일정검색]"); System.out.println("날짜를 입력하세요 yyyy-MM-dd"); System.out.print(">"); String strdate=sc.next(); String plan=cp1.searchPlan(strdate); if(plan==null) {System.out.println("일정이 없습니다"); } else {System.out.println(plan);} cp1.searchPlan(strdate); } private void help(Scanner sc) { System.out.println("도움말"); System.out.println("번호를 입력하고 날짜를 바르게 입력해주세요"); return; } private void cal_1(Scanner sc,cla_pro_1 cp1) throws ParseException { System.out.println("[일정입력]"); System.out.println("날짜를 입력하세요 yyyy-MM-dd"); System.out.print(">"); String strdate=sc.next(); String plan=""; sc.nextLine(); System.out.println("일정을 입력해주세요"); System.out.print(">"); plan=sc.nextLine(); cp1.plan(strdate, plan); } public void cal_print() { while(true) { System.out.println("년도를 입력하세요"); System.out.print(">"); Scanner s=new Scanner(System.in); int year=s.nextInt(); if(year==-1) {System.out.println("종료합니다");break;} System.out.println("월을 입력하세요"); System.out.print(">"); int mon=s.nextInt(); if(mon==-1) {System.out.println("종료합니다");break;} else if(mon<1||mon>12) {System.out.println("잘못된입력입니다");continue;} cla_pro_1 cp=new cla_pro_1(); cp.cal_print(year, mon); return; } } public static void main(String[] args) throws ParseException { cal_pro_2 cp2=new cal_pro_2(); cp2.runprompt(); } } package calendar; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class PlanItem { public Date planDate; public String detail; public static Date getDatefromString(String strdate) { Date date = null; try { date=new SimpleDateFormat("yyyy-MM-dd").parse(strdate); } catch (ParseException e) { // 이부분은 위에 simpleDateformat이 바르지 않게 입력됏을때의 오류값 출력이다 e.printStackTrace(); } return date; } public PlanItem(String date, String detail) { this.planDate=getDatefromString(date); this.detail=detail; } public Date getdate() { return planDate; } public String savestring() { SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd"); String sdate=formatter.format(planDate); return sdate.toString()+","+detail+"\n"; } }
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 주문목록에서 회원명이 보이질않습니다
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의 잘듣고있습니다. 다른건 다 정상작동하는데 주문목록에서 회원명이 보이질않습니다. 아무리 찾아봐도 도저히 이유를 모르겟어서 사진첨부합니다. 그 사진엔 없는데 ordercontroller에서 List<Order> orders = orderService.findOrders(orderSearch); orders에서 getMember().getName()을 확인해보니 null값이 나옵니다. 도저히 이유를 모르겟습니다.ㅜㅜ
-
해결됨유니티(Unity)로 시작하는 게임개발: Part 3. 슈팅게임 개발
gameObject.setActive(false);
start 함수 안에서 gameObject.setActive(false); 다음에 gameObject.AddComponent<AddScript>(); 를 작성해 보았습니다. 해당 오브젝트가 비활성화 되었음에도 플레이 시 인스팩터창에 해당 스크립트가 붙은것이 확인됩니다. 그런데 AddScript 내부에 작성된 Debug.Log("AddScript"); 는 실행되지 않는 것 같습니다. 이 동작 구조가 궁금합니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
무엇이 문제인지 감이 잡히질 않습니다...
안녕하세요 제로초님 강의 잘 보고 있습니다. 강의를 따라하며 테스트를 하는 와중에 잘 되다가 어느 순간부터 갑자기 모든 get 요청이 404가 되었습니다. 다음은 브라우저 콘솔 사진입니다! 계속 반복적으로 get 요청을 보내고 서버를 껐다켜도 그대로인데 어떤 것이 문제인지 잘 모르겠습니다...ㅠㅠ