수강생참고자료 어디서 봐요?
미해결
퍼블리셔 개인 포트폴리오 홈페이지 제작 완벽 가이드(PDF)
수강생참고자료 어디서 봐요?
- HTML/CSS
- 웹-디자인
- 포트폴리오
173만명의 커뮤니티!! 함께 토론해봐요.
미해결
퍼블리셔 개인 포트폴리오 홈페이지 제작 완벽 가이드(PDF)
수강생참고자료 어디서 봐요?
해결됨
실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
강의를 중간에 distinct를 적용하지 않으면 포스트맨에서 결과가 중복되게 나오고, 쿼리도 inner join으로 되어야 하는데 이상합니다ㅜ 코드가 모두 동일한데, 콘솔에 찍어봐도 4건이 아닌 2건 밖에 조회가 되지 않고 결과도 2건으로 나옵니다.. 또한, 강의에서는 inner join이 나가는데 제 코드는 join이 나갑니다..뭐가 문제일까요?
해결됨
[코드캠프] 시작은 프리캠프
선생님 강의 잘 보고 있습니다. 다름이 아니라 몇 가지 여쭤보고 싶어 글을 올리게 되었습니다. 정답코드를 따로 볼 수 있는 곳이 있을까요? 제 위의 코드에서 문제점이 있을까요? button 기능이 활성화 되지 않는데 이유가 무엇인지 잘 모르겠습니다. <!DOCTYPE html> <html lang="ko"> <head> <title>Upgrade_sign_up_page</title> <style> #signup{ width: 1920px; height:1080px; background-color: #FFFFFF; /* border:1px solid red; */ display: flex; flex-direction: row; justify-content: center; align-items: center; } .main{ box-sizing: border-box; width : 670px; height : 960px; border : 1px solid #AACDFF; padding : 60px; box-shadow: 7px 7px 39px rgba(0,104,255,0.25); border-radius: 20px; display: flex; justify-content: center; } .main2{ width: 470px; height: 818px; /* border: 1px solid green; */ display : flex; flex-direction: column; align-items: center; } #introduce{ width: 466px; height: 94px; font-family: 'Noto Sans CJK KR'; font-style: normal; font-weight: 700; font-size: 32px; line-height: 47px; color : #0068FF } #group1{ width: 466px; height: 80px; /* border: 1px solid red; */ } #email{ width: 158px; height: 23.65px; font-family: 'Noto Sans CJK KR'; font-style: normal; font-weight: 400; font-size: 16px; line-height: 24px; color :#797979; } #vector1{ width: 466px; height: 0px; border: 1px solid #0068FF; } #sex{ width: 140px; height: 23.94px; display: flex; justify-content: space-between; font-family: 'Noto Sans CJK KR'; font-style: normal; font-weight: 400; font-size: 16px; line-height: 24px; color : #000000 /* border:1px solid #0068FF */ } #checkbox{ width: 454px; height: 21.06px; font-family: 'Noto Sans CJK KR'; font-style: normal; font-size: 13px; line-height: 21px; color : #000000 } #line{ width: 470px; height: 1px; background-color: #E6E6E6; } button{ width: 470px; height: 75px; background-color: #FFFFFF; border: 1px solid #0068FF; border-radius: 10px; display: flex; align-items: center; justify-content: center; } #button_text{ width: 70px; height: 27px; font-family: 'Noto Sans CJK KR'; font-style: normal; font-weight: 400; font-size: 17px; line-height: 27px; text-align: center; color : #0068FF } </style> </head> <body> <div id = "signup"> <div class = "main"> <div class = "main2"> <div id = "introduce"> 회원 가입을 위해<br>정보를 입력해주세요 </div> <br> <div id = "group1"> <div id = "email"> *이메일 </div> <input type ="text" style="border: none; width:200px;height: 50px;font-size: 30px;"> <div id = "vector1"></div> </div> <br> <div id = "group1"> <div id = "email"> *이름 </div> <input type ="text" style="border: none; width:200px;height: 50px;font-size: 30px;"> <div id = "vector1"></div> </div> <br> <div id = "group1"> <div id = "email"> *비밀번호 </div> <input type ="password" style="border: none; width:200px;height: 50px;font-size: 30px;"> <div id = "vector1"></div> </div> <br> <div id = "group1"> <div id = "email"> *비밀번호확인 </div> <input type ="password" style="border: none; width:200px;height: 50px;font-size: 30px;"> <div id = "vector1"></div> </div> <br><br> <div id = "sex"> <div> <input type = "radio" name = "gender">여성 </div> <div> <input type = "radio" name = "gender">남성 </div> </div> <br><br> <div id ="checkbox"> <input type = "checkbox"> 이용약관 개인정보 수집 및 이용, 마케팅 활용 선택에 모두 동의합니다. </div> <br><br> <div id = "line"></div> <br><br> <button> <div id = "button_text"> 가입하기 </div> </button> </div> </div> </div> </body> </html>
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
https://drive.google.com/file/d/1OKpCQpwYWvWjppEIcvzWpSZKy09GAivy/view?usp=sharing 위에는 구글 압축 파일입니다. 다음은 에러 내용입니다. Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "item.orderItems[0]. item.name " (template: "order/orderList" - line 46, col 21) Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1025E: The collection has '0' elements, index '0' is invalid 야생형 코스로 들으려고 하다보니 에러난 부분을 고치기가 어렵고 다른 분들도 같은 질문을 많이 하셨어서, 질문들도 다 확인해보고 저의 코드에서도 해당 부분들을 유심히 보았으나 에러를 잡지 못해서 질문드렸습니다. 위의 에러코드 내용을 미루어보아 orderItems의 값이 null이어서 화면에 나오지 않는다고 생각하여서 그 부분을 확인해보았는데, null로 출력되는 것은 확인하였습니다. html코드의 문제인가 싶어 코드도 계속 확인해보고, 선생님께서 제공해주신 코드파일에 있는 html을 그대로 복사해서 실행해보았는데도 수정이 되지 않아서 질문드렸습니다. 감사합니다. Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Tue Mar 28 19:44:33 KST 2023 There was an unexpected error (type=Internal Server Error, status=500). An error happened during template parsing (template: "class path resource [templates/order/orderList.html]") org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/order/orderList.html]") at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse( AbstractMarkupTemplateParser.java:241 ) at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parseStandalone( AbstractMarkupTemplateParser.java:100 ) at org.thymeleaf.engine.TemplateManager.parseAndProcess( TemplateManager.java:666 ) at org.thymeleaf.TemplateEngine.process( TemplateEngine.java:1103 ) at org.thymeleaf.TemplateEngine.process( TemplateEngine.java:1077 ) at org.thymeleaf.spring6.view.ThymeleafView.renderFragment( ThymeleafView.java:372 ) at org.thymeleaf.spring6.view.ThymeleafView.render( ThymeleafView.java:192 ) at org.springframework.web.servlet.DispatcherServlet.render( DispatcherServlet.java:1415 ) at org.springframework.web.servlet.DispatcherServlet.processDispatchResult( DispatcherServlet.java:1159 ) at org.springframework.web.servlet.DispatcherServlet.doDispatch( DispatcherServlet.java:1098 ) at org.springframework.web.servlet.DispatcherServlet.doService( DispatcherServlet.java:974 ) at org.springframework.web.servlet.FrameworkServlet.processRequest( FrameworkServlet.java:1011 ) at org.springframework.web.servlet.FrameworkServlet.doGet( FrameworkServlet.java:903 ) at jakarta.servlet.http.HttpServlet.service( HttpServlet.java:537 ) at org.springframework.web.servlet.FrameworkServlet.service( FrameworkServlet.java:885 ) at jakarta.servlet.http.HttpServlet.service( HttpServlet.java:631 ) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:205 ) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:149 ) at org.apache.tomcat.websocket.server.WsFilter.doFilter( WsFilter.java:53 ) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:174 ) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:149 ) at org.springframework.web.filter.RequestContextFilter.doFilterInternal( RequestContextFilter.java:100 ) at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:116 ) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:174 ) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:149 ) at org.springframework.web.filter.FormContentFilter.doFilterInternal( FormContentFilter.java:93 ) at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:116 ) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:174 ) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:149 ) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal( CharacterEncodingFilter.java:201 ) at org.springframework.web.filter.OncePerRequestFilter.doFilter( OncePerRequestFilter.java:116 ) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:174 ) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:149 ) at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:166 ) at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:90 ) at org.apache.catalina.authenticator.AuthenticatorBase.invoke( AuthenticatorBase.java:493 ) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:115 ) at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:93 ) at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:74 ) at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:341 ) at org.apache.coyote.http11.Http11Processor.service( Http11Processor.java:390 ) at org.apache.coyote.AbstractProcessorLight.process( AbstractProcessorLight.java:63 ) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process( AbstractProtocol.java:894 ) at org.apache.tomcat.util.net .NioEndpoint$SocketProcessor.doRun( NioEndpoint.java:1741 ) at org.apache.tomcat.util.net.SocketProcessorBase.run ( SocketProcessorBase.java:52 ) 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:833 ) Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "item.orderItems[0]. item.name " (template: "order/orderList" - line 46, col 21) at org.attoparser.MarkupParser.parseDocument( MarkupParser.java:393 ) at org.attoparser.MarkupParser.parse( MarkupParser.java:257 ) at org.thymeleaf.templateparser.markup.AbstractMarkupTemplateParser.parse( AbstractMarkupTemplateParser.java:230 ) ... 48 more Caused by: org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "item.orderItems[0]. item.name " (template: "order/orderList" - line 46, col 21) at org.thymeleaf.spring6.expression.SPELVariableExpressionEvaluator.evaluate( SPELVariableExpressionEvaluator.java:292 ) at org.thymeleaf.standard.expression.VariableExpression.executeVariableExpression( VariableExpression.java:166 ) at org.thymeleaf.standard.expression.SimpleExpression.executeSimple( SimpleExpression.java:66 ) at org.thymeleaf.standard.expression.Expression.execute( Expression.java:109 ) at org.thymeleaf.standard.expression.Expression.execute( Expression.java:138 ) at org.thymeleaf.standard.processor.AbstractStandardExpressionAttributeTagProcessor.doProcess( AbstractStandardExpressionAttributeTagProcessor.java:144 ) at org.thymeleaf.processor.element.AbstractAttributeTagProcessor.doProcess( AbstractAttributeTagProcessor.java:74 ) at org.thymeleaf.processor.element.AbstractElementTagProcessor.process( AbstractElementTagProcessor.java:95 ) at org.thymeleaf.util.ProcessorConfigurationUtils$ElementTagProcessorWrapper.process( ProcessorConfigurationUtils.java:633 ) at org.thymeleaf.engine.ProcessorTemplateHandler.handleOpenElement( ProcessorTemplateHandler.java:1314 ) at org.thymeleaf.engine.OpenElementTag.beHandled( OpenElementTag.java:205 ) at org.thymeleaf.engine.Model.process( Model.java:282 ) at org.thymeleaf.engine.Model.process( Model.java:290 ) at org.thymeleaf.engine.IteratedGatheringModelProcessable.processIterationModel( IteratedGatheringModelProcessable.java:368 ) at org.thymeleaf.engine.IteratedGatheringModelProcessable.process( IteratedGatheringModelProcessable.java:222 ) at org.thymeleaf.engine.ProcessorTemplateHandler.handleCloseElement( ProcessorTemplateHandler.java:1640 ) at org.thymeleaf.engine.TemplateHandlerAdapterMarkupHandler.handleCloseElementEnd( TemplateHandlerAdapterMarkupHandler.java:388 ) at org.thymeleaf.templateparser.markup.InlinedOutputExpressionMarkupHandler$InlineMarkupAdapterPreProcessorHandler.handleCloseElementEnd( InlinedOutputExpressionMarkupHandler.java:322 ) at org.thymeleaf.standard.inline.OutputExpressionInlinePreProcessorHandler.handleCloseElementEnd( OutputExpressionInlinePreProcessorHandler.java:220 ) at org.thymeleaf.templateparser.markup.InlinedOutputExpressionMarkupHandler.handleCloseElementEnd( InlinedOutputExpressionMarkupHandler.java:164 ) at org.attoparser.HtmlElement.handleCloseElementEnd( HtmlElement.java:169 ) at org.attoparser.HtmlMarkupHandler.handleCloseElementEnd( HtmlMarkupHandler.java:412 ) at org.attoparser.MarkupEventProcessorHandler.handleCloseElementEnd( MarkupEventProcessorHandler.java:473 ) at org.attoparser.ParsingElementMarkupUtil.parseCloseElement( ParsingElementMarkupUtil.java:201 ) at org.attoparser.MarkupParser.parseBuffer( MarkupParser.java:725 ) at org.attoparser.MarkupParser.parseDocument( MarkupParser.java:301 ) ... 50 more Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1025E: The collection has '0' elements, index '0' is invalid at org.springframework.expression.spel.ast.Indexer$CollectionIndexingValueRef.growCollectionIfNecessary( Indexer.java:700 ) at org.springframework.expression.spel.ast.Indexer$CollectionIndexingValueRef.getValue( Indexer.java:664 ) at org.springframework.expression.spel.ast.Indexer.getValueInternal( Indexer.java:102 ) at org.springframework.expression.spel.ast.CompoundExpression.getValueRef( CompoundExpression.java:61 ) at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal( CompoundExpression.java:91 ) at org.springframework.expression.spel.ast.SpelNodeImpl.getValue( SpelNodeImpl.java:112 ) at org.springframework.expression.spel.standard.SpelExpression.getValue( SpelExpression.java:338 ) at org.thymeleaf.spring6.expression.SPELVariableExpressionEvaluator.evaluate( SPELVariableExpressionEvaluator.java:265 ) ... 75 more
미해결
Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
예전에 로그인 됐었는데 로그아웃하고 다시 하려고 했더니 로그인이 안됩니다..
해결됨
[코드캠프] 강력한 CSS
transform 3번째 강의에서 10분 35초에 .box의 span 태그에 hover 가상선택자를 부여하는 건데 왜 .box:hover span와 같이 작성해야 하는 건지 궁금합니다! .box span:hover로 해봤을때 생각한대로 적용이 안되어서 저게 틀렸다는 건 알겠는데 왜 틀렸는지와 왜 .box:hover span와 같은 순서로 작성을 해야 하는 지 이해가 안갑니당
미해결
반응형 웹사이트 포트폴리오(Architecture Agency)
안녕하세요 선생님. 플러그인 폴더 세팅 질문드립니다. 강의에는 image폴더와 source 폴더만 나와있는데 파일을 다운로드 하면 위 사진처럼 style.css, custom.js등 완성된 파일이 있습니다. 소스에서 압축 파일을 풀고 자료를 옮기면 이름이 겹쳐서 문제가 생겨서 강의처럼 images,source 외 모든 파일 지우고 진행해도 괜찮을까요?
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. home.html 에 <a href="/members/new">회원 가입</a> 여기서 /members/new 가 localhost:8080/members/new 로 연결이 되는 것 같은 데 어떻게 가능한건지 잘 모르겠습니다. /members/new 는 절대경로로 알고 있는데 프로젝트 폴더에는 이러한 폴더가 없습니다.
해결됨
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하세요 선생님!! 항상 좋은 강의 해주셔서 감사드립니다 :) 강의에서 new 생성자를 못쓰도록 생성자를PROTECTED로 막으시고 생성 메서드만 사용하도록 하셨는데요. 프로젝트를 진행할 경우나 실무에서 생성 메서드만 통일해서 사용하는 것이 좋을까요 아님 아래 예시와 같이 생성 메서드와 빌더 패턴 둘 다 혼합해서 사용해도 괜찮을까요? Order 클래스의 생성 메서드에서 Setter를 안쓰고 예시와 같이 생성자를 사용해도 괜찮을까요? 감사합니다! Item @Builder private Item(String name, int price, int stockQuantity) { this.name = name; this.price = price; this.stockQuantity = stockQuantity; } Order private Order(OrderStatus status, Member member) { this.status = status; this.member = member; this.orderDate = LocalDateTime.now(); } public static Order createOrder(OrderStatus status, Member member, OrderItem... orderItems) { Order order = new Order(status, member); for (OrderItem orderItem : orderItems) { order.addOrderItem(orderItem); } return order; }
미해결
[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>E3</title> <link rel="stylesheet" href="css/E3.css"> </head> <body> <div class="container"> <div class="maincontent"> <div class="left"> <header> <div class="header-logo"></div> <div class="navi"> <ul class="menu"> <li> <a href="#none">MENU1</a> <div class="sub-menu"> <a href="#none">submenu1</a> <a href="#none">submenu2</a> <a href="#none">submenu3</a> <a href="#none">submenu4</a> </div> </li> <li> <a href="#none">MENU2</a> <div class="sub-menu"> <a href="#none">submenu1</a> <a href="#none">submenu2</a> <a href="#none">submenu3</a> <a href="#none">submenu4</a> </div> </li> <li> <a href="#none">MENU3</a> <div class="sub-menu"> <a href="#none">submenu1</a> <a href="#none">submenu2</a> <a href="#none">submenu3</a> <a href="#none">submenu4</a> </div> </li> <li> <a href="#none">MENU4</a> <div class="sub-menu"> <a href="#none">submenu1</a> <a href="#none">submenu2</a> <a href="#none">submenu3</a> <a href="#none">submenu4</a> </div> </li> <li> <a href="#none">MENU5</a> <div class="sub-menu"> <a href="#none">submenu1</a> <a href="#none">submenu2</a> <a href="#none">submenu3</a> <a href="#none">submenu4</a> </div> </li> </ul> </div> <div class="spot-menu"></div> </header> </div> <div class="center"> <div class="items"> <div class="shortcut"></div> <div class="news"> <div class="tab-inner"> <div class="btn"> <a href="#none">공지사항</a> </div> <div class="tab1"> <a class="open-modal" href="#none"><em>스트리밍 서버 이전 작업으로 2시간 서비스 중지</em><b>2022.12.20</b></a> <a href="#none"><em>얼리버드 선착순 할인 이벤트 최대 50% 할인</em><b>2022.12.20</b></a> <a href="#none"><em>내 집 마련의 꿈을 꿈이 아닌 현실로 만드는 진짜 방법</em><b>2022.12.20</b></a> <a href="#none"><em>외국인과 영어로 네이티브처럼 대화하는 노하우!</em><b>2022.12.20</b></a> <a href="#none"><em>월 500만원 매출을 내는 블로그 운영하는 노하우</em><b>2022.12.20</b></a> </div> </div> </div> <div class="gallery"></div> </div> </div> <div class="right"> <div class="slide"> <div class="slide-image"> <div class="slide-image-inner"> <a href="#none"><img src="images/slide-e-01.jpg" alt="슬라이드1"></a> <a href="#none"><img src="images/slide-e-02.jpg" alt="슬라이드2"></a> <a href="#none"><img src="images/slide-e-03.jpg" alt="슬라이드3"></a> </div> </div> </div> </div> </div> <footer> <div class="footer-logo"></div> <div class="copyright"></div> <div class="sns"></div> </footer> </div> <div class="modal"> <div class="modal-content"> <h2>스트리밍 서버 이전으로 서비스 장애</h2> <p>스트리밍 서버 이전 작업으로 2시간 서비스 중지됩니다. 주요 작업 내용은 아래와 같습니다. <br>1. 서버 이전에 따른 DNS 이전으로 기존 호스팅 서비스 대체 <br>2. 문자셋을 utf-8로 변경 후 모바일 등에 대처하기 위해 미리 조치 <br>3. 스트리밍 서버 CDN과 연동 후 멀티미디어 이러닝 서비스가 제공 <br>위 내용을 보시면 제법 큰 작업이었음을 알 수 있습니다. 특히 문자셋의 변경에 따라 기존의 DB, data, 웹사이트 솔루션 등의 커스트마이징 등에 상당한 어려움이 있었고, 이에 따른 일부 접속 오류가 있을 수 있었음에 양해를 구합니다. 특히 인터넷익스플로러 11로 접속하셨을 경우 일부 문제은행 목차가 출력되지 않았을 수도 있습니다. 서버 이전 작업으로 고객님들께 불편을 드려서 대단히 죄송합니다. 정상 운영되도록 최선을 다하겠습니다. 감사합니다. </p> <div class="close-modal" href="none">X 닫기</div> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/E3.js"></script> </body> </html> @charset "utf-8"; body { font-size: 15px; background-color: #fff; color: #000; margin: 0; } a { color: #000; text-decoration: none; } .container { border: 1px solid seagreen; } .maincontent { border: 1px solid sandybrown; display: flex; } .left { width: 200px; } .center { width: 400px; } .right { flex: 1; } header {} header > div { border: 1px solid aqua; } .header-logo { height: 100px; } .navi { height: 500px; } /* NAVIGATION */ .menu { width: 90%; margin: auto; padding: 0; list-style: none; } .menu li { position: relative; text-align: center; } .menu li > a { display: block; border: 1px solid #000; padding: 5px; transition: 0.3s; } .menu li:hover > a { background-color: lightgray; } .sub-menu { display: none; position: absolute; top: 0; left: 100%; width: 100%; } .sub-menu a { display: block; background-color: #00000050; padding: 5px; } .sub-menu a:hover { background-color: #000; color: #fff; } .spot-menu { height: 50px; } .items {} .items > div { border: 1px solid lightcoral; } .shortcut { height: 150px; } .news { height: 250px; } .gallery { height: 250px; } /* news-gallery */ .tab-inner { box-sizing: border-box; overflow: hidden; } .btn {} .btn a { border: 1px solid #000; display: inline-block; width: 100px; padding: 5px; text-align: center; border-radius: 5px 5px 0 0; background-color: lightgray; margin-bottom: -1px; border-bottom: none; } .tab1 { border: 1px solid #000; } .tab1 a { width: 95%; margin: auto; overflow: hidden; padding: 5px; display: block; border-bottom: 1px dashed lightgray; } .tab1 a:last-child { border-bottom: none; } .tab1 a em { float: left; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; width: 70%; } .tab1 a b { float: right; } /* .tab-inner { width: 95%; margin: auto; } .btn {} .btn > a { border: 1px solid #000; padding: 5px; width: 100px; display: inline-block; text-align: center; border-radius: 5px 5px 0 0; border-bottom: none; margin-bottom: -1px; background-color: gainsboro; } .tab1 { border: 1px solid #000; } .tab1 a { display: block; overflow: hidden; padding: 5px; border-bottom: 1px solid #000; width: 95%; margin: auto; } .tab1 > a:last-child { border-bottom: none; } .tab1 > a em { font-style: normal; width: 70%; float: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .tab1 > a > b { font-weight: normal; float: right; } */ /* slide-image */ .slide-banner { /* height: 150px; */ display: flex; } .slide-banner a img { width: 100%; } /* Slide */ .slide {} .slide-image { height: calc(100vh - 120px); } /* Slide */ .slide { display: flex; } .slide-image { flex: 1; position: relative; overflow: hidden; } .slide-image-inner { /* 실제로 움직이는 요소 */ font-size: 0; width: 300%; height: inherit; position: absolute; animation: slide 10s linear infinite; } .slide-image-inner a { /* 움직이는 .slide-image-inner에 포함된 요소 */ display: inline-block; height: inherit; width: calc(100% / 3); } .slide-image-inner a img { width: 100%; height: inherit; object-fit: cover; } @keyframes slide { 0% { left: 0; } 30% { left: 0; } 35% { left: -100%; } 65% { left: -100%; } 70% { left: -200%; } 95% { left: -200%; } 100% { left: 0; } } /* 좌우 슬라이드 */ /* .slide-image-inner { top: 0; left: 0; font-size: 0; width: 100%; height: inherit; position: absolute; animation: slide 10s linear infinite; } .slide-image-inner a { width: inherit; height: inherit; } .slide-image-inner a img { object-fit: cover; width: inherit; height: inherit; } @keyframes slide { 0% { top: 0; } 30% { top: 0; } 35% { top: -100%; } 65% { top: -100%; } 70% { top: -200%; } 95% { top: -200%; } 100% { top: 0; } } */ footer { display: flex ; } footer > div { border: 1px solid saddlebrown; height: 100px; } .footer-logo { width: 200px; } .copyright { flex: 1; } .sns { width: 250px; } /* modal */ .modal { display: none; position: absolute; background-color: #0000004f; top: 0; left: 0; width: 100%; height: 100%; } .modal-content { top: 50%; left: 50%; transform: translate(-50%, -50%); position: absolute; background-color: #fff; padding: 15px; width: 400px; height: 450px; } .modal-content h2 { text-align: center; background-color: #000; padding: 5px; color: #fff; } .modal-content p {} .close-modal { float: right; border: 1px solid #000; padding: 5px; width: 50px; } // navigation $('.menu li').mouseenter(function(){ $(this).children('.sub-menu').stop().slideDown() }) $('.menu li').mouseleave(function(){ $(this).children('.sub-menu').stop().slideUp() }) // modal $('.open-modal').click(function(){ ('.modal').fadeIn() }) $('.close-modal').click(function(){ ('.modal').fadeOut() }) 안녕하세요! 공지사항 첫째 줄 글을 클릭했을 때 팝업창이 떠야 하는데 왜 안 뜨는 건지 코드를 봐도 잘 모르겠어서 질문 남깁니다. 왜 안뜨는 걸까요...? 완성본 코드와 비교했을 때 틀린 부분은 없는 것 같아서요.
해결됨
[코드캠프] 강력한 CSS
강의자료 예제 이미지 다운로드 안되요 계속 못찾는다고 나와요
해결됨
[코드캠프] 강력한 CSS
안녕하세요, 열심히 기초부터 수업을 듣고 있는 학생입니다. 다름이 아니라 학습자료는 노션 계정이 있어야 가능하다고 공지사항에 적어주셨는데 계정 가입 이후의 진행과정은 어떻게 되나요? 노션 계정이 따로 없어서 일단 만들고자 하는데 만든 이후 제가 따로 알려드려야 할 부분이 있을까요?
미해결
조코딩의 코딩 기초와 웹 풀스택 개발
이번에 새로 결제 했는데요. 강의자료 다운로드 링크 오류같습니다 답변 부탁드려요
해결됨
[코드캠프] 강력한 CSS
마지막 프로젝트에서 12개의 이미지를 넣어서 보기 좋은데 헤더부분과 푸터부분이 있을때 이미지가 1개나 2개만 있으면 푸터부분이 위로 올라와서 붙어버려 보기 이상한데 혹시 이럴때는 어떻게 해줘야하나요? 강제로 사이즈를 주면 아이템으 그 사이즈 이상이면 푸터를 침범하게되고 여러가지 해봤는데 이상적인 방법이 있을까요?
미해결
비전공자를 위한 진짜 입문 올인원 개발 부트캠프
타이핑은 똑같이 했습니다.. catch함수 빼면 나머지는 동작됩니다
미해결
처음 만난 리액트(React)
마음이 안정 됩니다 너무 설명도 잘하고 쉽고 유료강의보다 5천억만배 최강으로 최고 입니다
미해결
[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>D-4</title> <link rel="stylesheet" href="css/style4.css"> </head> <body> <div class="container"> <div class="main-content"> <div class="left"> <header> <div class="header-logo"> <a href="#"><img src="images/header-logo.png" alt="header-logo"></a> </div> <div class="navi"> <ul class="menu"> <li> <a href="#">menu1</a> <div class="sub-menu"> <a href="#">sub-menu1</a> <a href="#">sub-menu2</a> <a href="#">sub-menu3</a> <a href="#">sub-menu4</a> </div> </li> <li> <a href="#">menu2</a> <div class="sub-menu"> <a href="#">sub-menu1</a> <a href="#">sub-menu2</a> <a href="#">sub-menu3</a> <a href="#">sub-menu4</a> </div> </li> <li> <a href="#">menu3</a> <div class="sub-menu"> <a href="#">sub-menu1</a> <a href="#">sub-menu2</a> <a href="#">sub-menu3</a> <a href="#">sub-menu4</a> </div> </li> <li> <a href="#">menu4</a> <div class="sub-menu"> <a href="#">sub-menu1</a> <a href="#">sub-menu2</a> <a href="#">sub-menu3</a> <a href="#">sub-menu4</a> </div> </li> </ul> </div> </header> </div> <div class="right"> <div class="slide"> <div class="slide-images"> <div class="slide-images-inner"> <a href="#"><img src="images/slide-d-01.jpg" alt=""></a> <a href="#"><img src="images/slide-d-02.jpg" alt=""></a> <a href="#"><img src="images/slide-d-03.jpg" alt=""></a> </div> </div> </div> <div class="banner"> <a href="#"><img src="images/banner-01.png" alt="banner-01"></a> <span>배너1</span> <a href="#"><img src="images/banner-02.png" alt="banner-02"></a> <span>배너2</span> <a href="#"><img src="images/banner-03.png" alt="banner-03"></a> <span>배너3</span> <a href="#"><img src="images/banner-04.png" alt="banner-04"></a> <span>배너4</span> <a href="#"><img src="images/banner-05.png" alt="banner-05"></a> <span>배너5</span> <a href="#"><img src="images/banner-06.png" alt="banner-06"></a> <span>배너6</span> <a href="#"><img src="images/banner-07.png" alt="banner-07"></a> <span>배너7</span> </div> <div class="items"> <div class="news"> <div class="tab-inner"> <div class="btn"> <span>공지사항</span> </div> <div class="tab1"> <a class="open-modal" href="#">스트리밍 서버 이전 작업으로 2시간 서비스 중지<b>2022.12.20</b></a> <a href="#">얼리버드 선착순 할인 이벤트 최대 50% 할인<b>2022.10.13</b></a> <a href="#">내 집 마련의 꿈을 꿈이 아닌 현실로 만드는 진짜 방법<b>2022.11.31</b></a> <a href="#">외국인과 영어로 네이티브처럼 대화하는 노하우!<b>2022.08.09</b></a> <a href="#">월 500만원 매출을 내는 블로그 운영하는 노하우<b>2022.07.07</b></a> </div> </div> </div> <div class="gall"> <div class="tab-inner"> <div class="btn"> <span>갤러리</span> </div> <div class="tab2"> <a href="#"><img src="images/gallery-01.png" alt="images/gallery-01"></a> <span>갤러리1</span> <a href="#"><img src="images/gallery-02.png" alt="images/gallery-02"></a> <span>갤러리2</span> <a href="#"><img src="images/gallery-03.png" alt="images/gallery-03"></a> <span>갤러리3</span> </div> </div> </div> </div> </div> </div> <footer> <div class="footer-logo"> <a href="#"><img src="images/footer-logo.png" alt="footer-logo"> </a> </div> <div class="footer-content"> <div class="footer-link"> <a href="#">기업소개 제휴 및 입점 문의</a> <span>ㅣ</span> <a href="#">이용약관</a> <span>ㅣ</span> <a href="#">개인정보처리방침</a> <span>ㅣ</span> <a href="#">이메일무단수집거부</a> <span>ㅣ</span> <a href="#">사이트맵</a> <span>ㅣ</span> <a href="#">인재채용</a> <span>ㅣ</span> <a href="#">기업소개 제휴 및 입점 문의</a> </div> <div class="copy"> 상호 : (주)코딩웍스 | 대표자 : 홍길동 | 개인정보관리책임자 : 성춘향 부장<br> 사업장주소 : 경기도 남양주시 별내동 1234 코딩웍스 빌딩 6층 (주)코딩웍스 </div> </div> <div class="family-site"> <select> <option value="">family site</option> <option value="">코딩웍스 커뮤니티</option> <option value="">코딩웍스 쇼핑몰</option> <option value="">코딩웍스 재단</option> </select> </div> </footer> <div class="modal"> <div class="modal-content"> <h3>스트리밍 서버 이전으로 서비스 장애</h3> <p>스트리밍 서버 이전 작업으로 2시간 서비스 중지됩니다. 주요 작업 내용은 아래와 같습니다. <ol> <li>서버 이전에 따른 DNS 이전으로 기존 호스팅 서비스 대체</li> <li>문자셋을 utf-8로 변경 후 모바일 등에 대처하기 위해 미리 조치</li> <li>스트리밍 서버 CDN과 연동 후 멀티미디어 이러닝 서비스가 제공</li> </ol> </p> <a class="close-modal" href="#">닫기</a> </div> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom4.js"></script> </body> </html> @charset "utf-8"; body{ background-color: #fff; color: #333; margin: 0; } a{ text-decoration: none; color: #333; } .container{} .main-content{ display: flex; } .main-content>div{ } .left{ width: 200px; } .right{ flex: 1; } header{} header>div{ } .header-logo{ height: 100px; padding-top: 10px; box-sizing: border-box; } .navi{ height: 400px; width: 90%; margin: auto; } .menu{ padding: 0; } .menu li{ list-style: none; } .menu li>a{ width: 94%; border: 1px solid #000; display: inline-block; padding: 5px; margin: auto; text-align: center; transition: 0.5s; } .menu li>a:hover{ background-color: #000; color: #fff; } .sub-menu{ display: none; } .sub-menu a{ display: block; text-align: center; padding: 5px; border: 1px solid #000; transition: 0.5s; } .sub-menu a:hover{ background-color: #000; color: #fff; } .slide{ height: 400px; position: relative; overflow: hidden; } .slide-images{ height: 400px; } .slide-images-inner{ position: absolute; top: 0; left: 0; font-size: 0; animation: slide 10s linear infinite; } @keyframes slide{ 0%{top:0} 30%{top:0} 35%{top:-400px} 65%{top:-400px} 70%{top:-800px} 95%{top:-800px} 100%{top:0} } .slide-images-inner a{ } .slide-images-inner img{} .banner{ height: 150px; display: flex; align-items: center; } .banner a{ margin: auto; display: block; } .banner a img{ width: 120px; } .banner a img span{ } .items{ height: 250px; display: flex; } .items>div{ height: 250px; flex: 1; } .news{} .gall{} .tab-inner{} .btn{} .btn span{ border: 1px solid #000; display: inline-block; padding: 10px; width: 150px; text-align: center; border-radius: 5px 5px 0 0; background-color: #ddd; border-bottom: none; margin-bottom: -1px; } .tab1{ border: 1px solid #000; height: 168px; width: 98%; } .tab1 a{ width: 95%; margin: auto; display: block; border-bottom: 1px solid #000; padding: 5px; } .tab1 a:last-child{ border-bottom: none; } .tab1 a b{ font-weight: normal; float: right; } .tab2{ width: 98%; border: 1px solid #000; height: 168px; display: flex; } .tab2 a{ margin: auto; } .tab2 a img{ width: 120px; display: inline-block; } .tab2 span{ display: block; } footer{ display: flex; height: 100px; align-items: center; } footer>div{ } .footer-logo{ width: 200px; } .footer-content{ flex: 1; } .footer-content>div{ display: flex; align-items: center; height: 50px; } .footer-link{ } .footer-link a:hover{ text-decoration: underline; color: skyblue } .copy{} .family-site{ text-align: center; width: 230px; } .modal{ background-color: #000; top: 0; position: absolute; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.2); display: none; } .modal-content{ position: absolute; background-color: #fff; width: 600px; padding: 20px; border-radius: 20px; top: 50%; left: 50%; transform: translate(-50%, -50%); } .modal-content h3{ background-color: black; padding: 10px; color: #fff; } .modal-content p{} .modal-content a{ border: 1px solid #000; padding: 5px; float: right; } $('.open-modal').click(function(){ $('.modal').fadeIn() }) $('.close-modal').click(function(){ $('.modal').fadeOut() }) $('.menu>li').mouseover(function(){ $(this).children('.sub-menu').stop().slideDown() }) $('.menu>li').mouseout(function(){ $(this).children('.sub-menu').stop().slideUp() })
해결됨
실전! 스프링 데이터 JPA
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 영한님. QueryDsl과 @EntityGraph 사용 기준에 대해 궁금한 부분이 생겨서 질문 남깁니다. fetchJoin을 할 때, 여러가지 방법이 있겠지만 QueryDsl과 @EntityGraph이 가장 편리한 방법이라고 생각합니다. 저의 경우엔 @EntityGraph가 가독성이 더 좋다고 느껴서 간단한 조회용 페치조인의 경우에 사용하고, 검색조건이 있는 복잡한 조회의 경우엔 Querydsl을 사용하는데요. 실제로 이 둘을 사용할 때 어떤 것에 우선순위를 두시는지 궁금합니다. 강의 잘 듣고 있습니다. 감사합니다!
미해결
스프링 부트에서 DTO를 만들 때 @setter을 빼고 @Builder로 하는게 좋다고 들었습니다. 근데 책이랑 구글을 찾아보다 보니 두 가지의 방법으로 하는 것을 봤는데 무슨 차이인지 무엇이 더 좋은 방법인지를 모르겠어서 질문드립니다. 생성자 위에 @Builder를 사용하는 방법 @Getter //Getter 생성 public class LombokPerson { private String name; private String grade; private int age; @Builder // 생성자 만든 후 위에 @Build 어노테이션 적용 public LombokPerson(String name, String grade, int age) { this.name = name; this.grade = grade; this.age = age; } 클래스 위에 @Builder를 사용하면서 @Setter도 사용하는 방법 @ToString @Setter @Getter @Builder @NoArgsConstructor @AllArgsConstructor public class UserDTO { private String token; private String userName; private String password; private String id; } 2번째의 방법이 책에서 나온 방법인데 @Setter이 바뀔 수도 있어서 @Builder로 생성자로 받는거로 알고 있는데 여기서는 @Setter과 @Builder을 같이 쓰더라구여. 이거에 대해서 알려주세요 ㅠㅠ
미해결
java11, springboot2.7.1로 프로젝트 진행했던 프로젝트를 열어 실행하니 에러가 발생합니다. 해결하지 못하여 질문드립니다! 발생에러 11:46:16 AM: Executing ':RandomApplication.main()'... > Task :compileJava FAILED Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0. You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins. See https://docs.gradle.org/7.4.1/userguide/command_line_interface.html#sec:command_line_warnings 1 actionable task: 1 executed FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileJava'. > Could not resolve all files for configuration ':compileClasspath'. > Could not find javax.xml.bind:jsxb-api:. Required by: project : * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 652ms 11:46:16 AM: Execution finished ':RandomApplication.main()'. Execution failed for task ':compileJava'. > Could not resolve all files for configuration ':compileClasspath'. > Could not find javax.xml.bind:jsxb-api:. Required by: project : Possible solution: - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html 시도 java JDK 버전 확인, 빌드 자동 실행 설정 등.. 구글링해서 찾아봤으나 해결하지 못했습니다ㅠㅠ 검색해보면 jaxb -api:. 를 기준으로 나오는데, 제 에러는 jsxb -api 입니다 이 둘의 차이는 무엇인가요?