묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA관련 count관련 질문드립니다.
JPA에서는 데이터베이스와 연결되어있는 Entity의 값을 변경하면 db안의 값도 변경 된다고 강의해주셨습니다. 수업을 듣다가 궁금한 점이 생겼는데, 실제 상황에서는 많은 주문이 동시다발적으로 발생합니다. 예를 들어 상품(Item)X는 7개 남아있음 A사람, B사람 - > 상품 X를 동시에 주문// 각각 Item이 생성 A사람에게 할당되어있는 Item의 count ==6 B사람에게 할당되어있는 Item의 count ==6 원래대로면 DB Item의 count는 7-2 =5가 되어야 함 그러나 DB Item의 count는 6이 되어있음 저는 이런 상황이 생길 것이라고 이해하고있는데, 맞는 예측일까요? 맞다면 어떻게 해결할 수 있을까요? 1.저는 static을 사용하여 count변수를 공유하는 방법 2. (방법은 잘 모르지만) 한 사람이 배송을 눌러서 count에 변화를 주는 동안(DB에 접근하는 동안), 다른 사람들의 배송로직을 지연시키는 방법 이렇게 두가지가 떠오릅니다. 두가지 다 맞는 방법일까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
thymeleaf 관련 에러가 뜹니다.
회원 - 웹기능 조회 강의를 들으면서 코딩했고 postmapping으로 회원 등록하는 거는 정상적으로 작동했는데, 등록된 회원 목록 조회를 할때 /members(강의 기준 String list() 메서드) 2021-08-25 23:04:29.036 ERROR 9076 --- [nio-8080-exec-8] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: Error resolving template [members/memberList], template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause org.thymeleaf.exceptions.TemplateInputException: Error resolving template [members/memberList], template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.engine.TemplateManager.resolveTemplate(TemplateManager.java:869) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE] at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:607) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) ~[thymeleaf-3.0.12.RELEASE.jar:3.0.12.RELEASE] at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:366) ~[thymeleaf-spring5-3.0.12.RELEASE.jar:3.0.12.RELEASE] at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:190) ~[thymeleaf-spring5-3.0.12.RELEASE.jar:3.0.12.RELEASE] at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1397) ~[spring-webmvc-5.3.9.jar:5.3.9] at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1142) ~[spring-webmvc-5.3.9.jar:5.3.9] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1081) ~[spring-webmvc-5.3.9.jar:5.3.9] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:963) ~[spring-webmvc-5.3.9.jar:5.3.9] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) ~[spring-webmvc-5.3.9.jar:5.3.9] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) ~[spring-webmvc-5.3.9.jar:5.3.9] at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) ~[tomcat-embed-core-9.0.50.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) ~[spring-webmvc-5.3.9.jar:5.3.9] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) ~[tomcat-embed-core-9.0.50.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:228) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100) ~[spring-web-5.3.9.jar:5.3.9] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.9.jar:5.3.9] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93) ~[spring-web-5.3.9.jar:5.3.9] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.9.jar:5.3.9] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) ~[spring-web-5.3.9.jar:5.3.9] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) ~[spring-web-5.3.9.jar:5.3.9] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:190) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:163) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:893) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1723) ~[tomcat-embed-core-9.0.50.jar:9.0.50] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-embed-core-9.0.50.jar:9.0.50] 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.50.jar:9.0.50] at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na] 에러가 발생하는데 원인을 모르겠습니다.
-
해결됨HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
질문 있습니다!!
Modal 창 gnb 부분에서 hover 했을때 왼쪽에서 부터 차오르는 형태로 해보고 싶어서 코딩을 했는데 의도한대로 나오지 않고 a 태그가 밑으로 자꾸 떨어집니다ㅠㅠ <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> @import url('https://fonts.googleapis.com/css?family=Montserrat:300,400,500&display=swap'); @import url('http://fonts.googleapis.com/css?family=Monoton'); @import url('https://fonts.googleapis.com/css?family=Raleway&display=swap'); body { font-family: 'Montserrat', sans-serif; margin: 0; color: #222; } a { text-decoration: none; color: #222; } /* Video */ .video-frame:before { content: ''; position: absolute; width: 100%; height: 100%; background: linear-gradient(-135deg, rgba(30, 143, 255, 0.904), transparent); } .video-frame video { position: fixed; min-width: 100%; min-height: 100%; z-index: -1; } /* Logo */ .logo { position: absolute; top: 50px; left: 100px; transition: .3s; cursor: pointer; } .logo.active { z-index: 100; } /* Header */ .header { position: absolute; left: 100px; bottom: 100px; width: 800px; color: #fff; animation: show1 2s 1s linear; animation-fill-mode: both; } .header h1 { font-size: 60px; margin: 0; } .header h1 span { display: block; color: crimson; } .header p { font-size: 1.2em; line-height: 1.5em; } .header a { display: inline-block; text-align: center; color: #fff; border: 2px solid #fff; border-radius: 20px; padding: 10px 20px; width: 120px; margin-right: 20px; text-transform: uppercase; } /* .btn-book {} .btn-learn {} */ .header a:hover { background-color: #fff; color: #000; } /* Anniversary */ .anniversary { position: absolute; right: 100px; bottom: 50px; text-align: center; animation: show2 2s 1s linear; animation-fill-mode: both; transition: .3s; } .anniversary em { display: block; font-style: normal; font-size: 30px; letter-spacing: 5px; } .anniversary span { font-family: 'Monoton', sans-serif; font-size: 130px; } .anniversary.active { z-index: 100; color: #fff; } /* Trigger */ .trigger { position: absolute; top: 50px; right: 50px; width: 40px; height: 20px; z-index: 100; cursor: pointer; /* border: 1px solid #000; */ } .trigger span { position: absolute; width: 100%; height: 1px; background-color: #000; transition: .3s; } .trigger span:nth-child(1) { top: 0; } .trigger span:nth-child(2) { top: 50%; width: 80%; } .trigger span:nth-child(3) { top: 100%; } .trigger.active span { background-color: #fff; } .trigger.active span:nth-child(1) { top: 50%; transform: rotate(45deg); } .trigger.active span:nth-child(2) { opacity: 0; } .trigger.active span:nth-child(3) { top: 50%; transform: rotate(-45deg); } /* Modal */ .modal-gnb { font-family: 'Raleway', sans-serif; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.788); display: none; } .gnb { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); } .gnb a { position: relative; display: block; color: #fff; font-size: 4em; padding: 10px; animation: gnb 2s linear; animation-fill-mode: both; } .gnb a:before { position: absolute; top: 0; left: 0; color: crimson; width: 0; overflow: hidden; content: attr(data-txt); /* transition: .5s; */ padding: 10px; transition: .3s; /* border: 2px solid yellow; */ } .gnb a:hover:before { width: 100%; } /* .gnb a:hover { color: crimson; } */ .gnb a:nth-child(1) { animation-delay: .2s; } .gnb a:nth-child(2) { animation-delay: .4s; } .gnb a:nth-child(3) { animation-delay: .6s; } .gnb a:nth-child(4) { animation-delay: .8s; } .gnb a:nth-child(5) { animation-delay: 1s; } @keyframes show1 { 0% { opacity: 0; margin-left: -150px; } 100% { opacity: 1; margin-left: 0; } } @keyframes show2 { 0% { opacity: 0; transform: translateX(150px); } 100% { opacity: 1; transform: translateX(0); } } @keyframes gnb { 0% { opacity: 0; transform: translate(-20px, -20px) } 100% { opacity: 1; transform: translate(0, 0) } } </style> </head> <body> <div class="container"> <div class="video-frame"> <video src="images/video-sky.mp4" autoplay muted loop poster="images/video-landing-preview.png"></video> </div> <div class="logo"> <img src="images/logo.png"> </div> <div class="header"> <h1> <span>Wave Ocean</span> The World's Ocean </h1> <p> The Atlantic Ocean is situated between the Americas and European/African continents. Atlantic Ocean is the second largest and saltiest ocean in the world. It resembles an S-shape between the Americas, Europe and Africa. “Atlantic” originated from the Greek god “Atlas” who carried the sky for eternity. </p> <a class="btn-book" href="#1">Book Now</a> <a class="btn-learn" href="#2">Learn More</a> </div> <div class="anniversary"> <em>Anniversary</em><span>60</span> </div> <div class="trigger"> <span></span> <span></span> <span></span> </div> <div class="modal-gnb"> <div class="gnb"> <a href="#1" data-txt="Attractions">Attractions</a> <a href="#2" data-txt="Hotels & Spa">Hotels & Spa</a> <a href="#3" data-txt="Shop & Dine">Shop & Dine</a> <a href="#4" data-txt="Celebrate">Celebrate</a> <a href="#5" data-txt="Promotions">Promotions</a> </div> </div> <div class="audio"> <audio id="ado" src="images/piano-bgm.mp3" autoplay loop></audio> </div> </div> <script src="https://code.jquery.com/jquery-3.5.1.min.js"></script> <script> $(".trigger").click(function() { $(this).toggleClass('active') $(".anniversary").toggleClass('active') $(".logo").toggleClass('active') $(".modal-gnb").fadeToggle() }) var ado = document.getElementById('ado'); ado.volume = .3; </script> </body> </html>
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Service 의 반환값이 DTO인지 entity 인지에 대해서 궁금한점이 있습니다.
안녕하세요, 영한님 . 쓰신 책으로 먼저 이름을 접하게 되었는데 인프런에도 강의하고계셔서 신기합니다 ㅎㅎ 다름이 아니고 작은 프로젝트를 하는데 궁금한점이 생겨서 질문드립니다. 제가 아는 바로는 Service의 반환값은 entity가 아닌 DTO로 알고있습니다. https://stackoverflow.com/questions/21554977/should-services-always-return-dtos-or-can-they-also-return-domain-models 그런데 궁금한점은 만약 Service A의 특정메소드의 반환값을 Service B에서 필요로 하게 될때 어떻게 처리할지 고민입니다. 만약 ServiceA의 메소드의 반환값이 entity면 Service B 에서 큰 작업 없이 사용하면 되는데, dto인 경우일때 처리가 쉽지않은것같습니다. 그래서 ServiceA가 사용하는 repository A를 Service B에서 호출하는 방식을 사용을 고민중인데 혹시 이게 나쁜 방법일지 잘 모르겠습니다. 혹시 DTO들을 entity로 변환하는 로직을 모두 넣어줘야할까요? 정리하자면 Service A,B의 메소드가 entity가 아닌 DTO를 반환한다. ServiceB에서 A entity에 대해서 접근할때 Service A는 dto를 반환해서 B에서 원할히 접근하기 어렵다. ServiceB에서 ServiceA를 호출하지 않고 repositoryA를 호출하는데 좋은 방식인지 모르겠다. 조언 부탁드립니다 !
-
미해결웹 게임을 만들며 배우는 React
npx webpack시 에러가 발생합니다
npx webpack 입력 시 다음과 같은 에러가 발생합니다. 경로문제인거 같은데 해결이 잘 되지 않아서 이렇게 질문 남깁니다
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
코드 질문
안녕하세요 선생님 데크의 오른쪽에서 삽입할 때는 appendright라고 말씀하셨는데, 선생님께서는 right를 생략하고 append만 사용하시더라구요. 혹시 append의 default가 appendright 인건가요?
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
예제 에러
워커 쓰레드 예제를 그대로 구현하고, 실행했는데, Module_Not_Found 에러가 뜹니다. 따로 타이포나, 디렉토리 페스도 이상이 없는거 같은데.. 이경우 어떻게 해결해야할까요?
-
미해결스프링 시큐리티
FactoryBean 관련 질문
안녕하세요 factory bean 에 대해서 학습하다 보니 질문이 생겼습니다. 일단 구성은 interface(ABC)를 상속 받은 객체 (A, B, C) 요렇게 있을 때 factory pattern으로 동적으로 A, B, C객체를 가져오도록 구현하고 있습니다. 그리고 A, B, C 모두 Bean으로 등록 되었기 때문에 di 도 가능해야 하는 상황 입니다. 이때 A,B,C객체를 모두 Bean으로 등록하고 런타임에서 3객의 객체를 가져오려면 어떤 방법으로 구현 해야하나요? 만약 FactoryBean을 사용하지 않고 다른 방법을 사용할 수 있으면 예시를 보여주실 수 있으신가요? public interface ABC { void hello(); } public class A implements ABC { @Autowired private Hello hello; void hello() { // codes.. } } public class B implements ABC { @Autowired private Hello hello; void hello() { // codes.. } } public class C implements ABC { @Autowired private Hello hello; void hello() { // codes.. } } public class ABCFactory implements FactoryBean<ABC> { private Type type; @Override public ABC getObject() throws Exception { if (type == Type.A) { return new A(); } else if (type == Type.B) { return new B(); } return new C(); } @Override public Class<?> getObjectType() { return ABC.class; } @Override public boolean isSingleton() { return true; } public void setType(Type type) { this.type = type; } } // 사용 시점 @Service public class Use { // factory class public void use (Type type) { // type 이 A 일 경우 A객체 반환 // type 이 B 일 경우 B객체 반환 // type 이 C 일 경우 C객체 반환 return // obj } }
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
오타가 있습니다!
안녕하세요 선생님 해당 강의 목차에서 Two 가 Tow로 되어있습니다! Tow pointers, Sliding window[효율성 : O(n^2)-->O(n)] 감사합니다!
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
질문드립니당..!
안녕하세요 강사님 강의를 너무 좋아하고 재미있게 배우는 학생입니다.지금까지 배운내용(HTTP 강의)을 영한님 강의중에 실습하는 강의가 있나요 ? 실습해보고싶어서용
-
미해결쉽게 시작하는 쿠버네티스(v1.35)
안녕하세요 질문이 있습니다.
그 w1-k8s 워커 노드의 kubelet 을 종료시키고 del-deploy.yaml 을 이용해 배포했는데 Pending 상태가 되지 않고 w1-k8s 를 제외하고 w2-k8s 에서 2개 w3-k8s 에서 1개로 총 3개 Node를 잘 만들어버리는데.. 버젼이 업데이트가 되며 알아서 1워커노드를 제외하고 2 워커노드에서 2개 3워커노드에서 1개 로 정상 동작하게 되는 건가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
클라이언트쪽 포트번호는 어떻게 할당 되나요?
안녕하세요? 서버쪽 포트 번호는 개발자가 포트포워딩을 통해 몇 번 포트를 열어둘 지 결정합니다. 서버는 80번, 클라이언트는 10010번 포트를 사용한다고 하면, 클라이언트의 포트 번호는 어떻게 결정되는지 궁금합니다. 혹시 참고할 만한 글이 있을까요?
-
해결됨비전공자를 위한 진짜 입문 올인원 개발 부트캠프
한글이 안나와요
한글은 안나오고 요상한문자 나와요 ㅠㅠ
-
해결됨[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
선생님!.open-modal을 눌러도 모달이 안열려요 그리고, btn에 background-color: #fff;해도 선이 사라지지 않네요
선생님!.open-modal을 눌러도 모달이 안열려요 그리고, btn에 background-color: #fff;해도 선이 사라지지 않네요 ㅠㅠ 제가 뭘 잘못한걸까요 <!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>부여 가을연꽃축제</title> <link rel="stylesheet" href="css/style.css"> </head> <body> <div class="container"> <div class="left"> <header> <div class="header-logo"> <a href="#none"> <img src="images/logo-header.png" alt="header-logo"> </a> </div><!--.header-logo--> <div class="navi"> <ul class="menu"> <li> <a href="#none">축제소개</a> <div class="sub-menu"> <a href="#none">초대의 글</a> <a href="#none">축제개요</a> <a href="#none">축제연혁</a> <a href="#none">오시는길</a> </div><!--.sub-menu--> </li> <li> <a href="#none">행사안내</a> <div class="sub-menu"> <a href="#none">셔틀버스안내</a> <a href="#none">행사안내</a> <a href="#none">행사일정</a> <a href="#none">소공연장</a> </div><!--.sub-menu--> </li> <li> <a href="#none">홍보마당</a> <div class="sub-menu"> <a href="#none">축제소식</a> <a href="#none">보도자료</a> <a href="#none">음식레시피</a> </div><!--.sub-menu--> </li> <li> <a href="#none">참여마당</a> <div class="sub-menu"> <a href="#none">참가후기</a> <a href="#none">연꽃갤러리</a> <a href="#none">포토갤러리</a> </div><!--.sub-menu--> </li> </ul> </div><!--.navi--> </header> </div><!--.left--> <div class="right"> <div class="slide"> <div> <a href="#none"> <img src="images/slide-01.jpg" alt="slide image1"> </a> <a href="#none"> <img src="images/slide-02.jpg" alt="slide image2"> </a> <a href="#none"> <img src="images/slide-03.jpg" alt="slide image3"> </a> </div> </div><!--.slide--> <div class="items"> <div class="news"> <div class="tab-inner"> <div class="btn"> <span>공지사항</span> </div><!--.tab-inner--> <div class="tab"> <a href="#none" class="open-modal"><em>운영위원장 후보자 추천을 받고 있습니다.</em><b>2020.01.09</b></a> <a href="#none"><em>홈커밍데이 진행위원회 결과를 다운로드 받으세요.</em><b>2020.01.07</b></a> <a href="#none"><em>카드결제 무이자 이벤트 한시적 10월 20일까지</em><b>2019.12.31</b></a> <a href="#none"><em>보안강화 시스템 작업 안내 공지</em><b>2019.12.20</b></a> <a href="#none"><em>부여 가을연꽃축제 10주년 콘서트 축제</em> <b>2019.12.20</b></a> </div><!--.tab--> </div><!--.tab-inner--> </div><!--.news--> <div class="gallery"> <div class="gallery-inner"> <div class="btn"> <span>갤러리</span> </div><!--.tab-inner--> <div class="tab"> <a href="#none"> <img src="images/gallery-01.jpg" alt="gallery images1"> </a> <a href="#none"> <img src="images/gallery-02.jpg" alt="gallery images2"> </a> <a href="#none"> <img src="images/gallery-03.jpg" alt="gallery images3"> </a> </div><!--.tab--> </div><!--.tab-inner--> </div><!--.gallery--> <div class="shortcut"> <a href="#none"> <img src="images/shortcut.jpg" alt="shortcut"> </a> </div><!--.shortcut--> </div><!--.items--> <footer> <div class="copyright"> (주)이스타컴퍼니 | 대표자 : 최종윤 | 개인정보관리책임자 : 이주현 부장 사업장주소 : 인천광역시 중구 개항로 6층 (주)이스타컴퍼니 </div><!--.copyright--> <div class="sns"> <div> <a href="#none"> <img src="images/sns-01.png" alt="facebook"> </a> <a href="#none"> <img src="images/sns-02.png" alt="tweeter"> </a> <a href="#none"> <img src="images/sns-03.png" alt="instagram"> </a> </div> <div> <select> <option value=""> Family Site </option> <option value=""> 여주군청 홈페이지 </option> <option value=""> 한국관광공사 </option> <option value=""> 여행자보험가입 </option> </select> </div> </div><!--.sns--> </footer> </div><!--.right--> </div> <div class="modal"> <div class="modal-content"> <h2>부여 가을연꽃축제 팸투어 모집</h2> <p> 예비 청년상인들을 위해 진행하는 부여에서 청춘의 미래를 디자인하다. 청년창업人부여 팸투어가 12월 05일 토요일 충청남도 부여에서 진행됩니다.<br> 팸투어는 전액 무료로 진행되며 참가비 없습니다. 이번 팸투어에서는 부여군상권활성화재단의 청년상인 육성프로젝트를 실제로 견학하며 확인해 보실 수 있는 좋은 기회이니 창업을 희망하는 많은 청년 분들의 관심 부탁드립니다.<br> 온라인 및 전화 또는 메일 등으로 사전 참가신청하실 수 있습니다! </p> <a href="#none" class="close-modal">닫기</a> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html> @charset "utf-8"; a{ color:#222328; list-style: none; text-decoration: none; } body{ margin:0; background-color: #fff; color:#222328; font-size: 15px; } .container{ width:1000px; } .container > div{ float: left; box-sizing: border-box; } .left{ width:200px; } .right{ width:800px; } header{ position: relative; z-index: 10; } header > div{} .header-logo{ height: 100px; line-height: 130px; } .navi{ height: 400px; } .slide > div{ height: 350px; } .items{ overflow: hidden; } .items > div{ height: 200px; float: left; box-sizing: border-box; } .news{ width: 300px; } .gallery{ width: 300px; } .shortcut{ width: 200px; } footer{ overflow: hidden; } footer > div{ height: 100px; float:left; box-sizing: border-box; text-align: center; } .copyright{ width:600px; padding-top: 30px; } .sns{ width:200px; } .sns div{ height: 50px; box-sizing: border-box; } .sns div:nth-child(1){ padding-top: 15px; } .sns div:nth-child(2){ padding-top: 10px; } /* slide */ .slide{ position: relative; } .slide > div{ /*position: absolute;를 여기에다가 주는게 아니라 .slide > div a{}안에 주어야함*/ } .slide > div a{ position: absolute; top:0; left:0; opacity: 0; animation: slide 10s linear infinite; } .slide > div a:nth-child(1){ animation-delay: 0s; } .slide > div a:nth-child(2){ animation-delay: 3.5s; } .slide > div a:nth-child(3){ animation-delay: 7s; } @keyframes slide{ 0%{ opacity: 0; visibility: hidden; /*visibility: hidden;*/ } 5%{ opacity: 1; } 35%{ opacity: 1; } 40%{ opacity: 0; } 100%{ opacity: 0; } } /* Nevigation */ .menu{ padding: 0; width: 90%; margin: auto; position: relative; } .menu li{ text-align: center; list-style: none; text-decoration: none; } .menu li > a{ border: 1px solid #000; display: block; padding: 5px; transition: 0.5s; } .menu li:hover > a{ background-color: #000; color:#fff; } .sub-menu{ border: 1px solid #000; position: absolute; background-color: #000; width:100%; top:0; left:100%; height: 200px; display: none; /* */ } .sub-menu a{ display: block; padding: 5px; transition: 0.5s; color:#fff; } .sub-menu a:hover{ background-color: #000; color:#fff; } /* Tab Content */ .tab-inner, .gallery-inner{ width:95%; margin:0; } .tab-inner .btn{} .tab-inner .btn span, .gallery-inner .btn span{ border: 1px solid #000; display: inline-block; width:100px; text-align: center; padding: 5px; border-radius: 5px 5px 0 0; border-bottom: none; box-sizing: border-box; } .tab-inner .tab{ padding:5px; } .tab-inner .tab, .gallery .tab{ border: 1px solid #000; height: 150px; box-sizing: border-box; } .tab-inner .tab a{ display: block; padding: 3px; border-bottom: 1px solid #333; overflow: hidden; } .tab-inner .tab a:last-child{ border-bottom: none; } .tab-inner .tab a em{ width:60%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; float:left; font-style: normal; } .tab-inner .tab a b{ width:30%; float: right; font-weight: normal; } .gallery .tab img{ width:85px; } .gallery-inner .tab{ text-align: center; padding-top: 20px; } /* Modal */ .modal{ background-color: rgba(0, 0, 0, 0.5); position: absolute; top:0; left:0; width:100%; height: 100%; z-index: 100; display: none; } .modal-content{ width:350px; background-color: #fff; top:50%; left:50%; position: absolute; transform: translate(-50%, -50%); padding:20px; border-radius: 10px; } .close-modal{ float: right; border: 1px solid #000; padding: 5px 10px; } /* 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() });
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
모듈이 안나옵니다 ㅠㅠ
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결따라하며 배우는 리액트, 파이어베이스 - 채팅 어플리케이션 만들기[2023.12 리뉴얼]
redux 에 조금 다른부분이 있습니다.
안녕하세요 redux 설치하는 영상편에서 저랑 조금 다른부분이 있습니다. 설치를 제가 잘못한건지 import * as 이게 저한테는 안보입니다. 어떻게 해야될까요? 저부분이 빠져 있는 상태에서 import를 쓰게되면 해당 내용이 다릅니다.
-
미해결딥러닝 CNN 완벽 가이드 - TFKeras 버전
numpy slicing
안녕하세요 강사님. 강사님의 파이썬 머신러닝 완벽 가이드의 numpy 코드인데요. 궁금한 점이 생겨 질문 드립니다. 마지막 print문인 print('array2d[:2, 0] \n' , array2d[:2, 0])와 관련해서 질문이 있습니다. 이전의 print문 들의 결과를 보면 slicing을 하더라도 전부 2차원을 유지하고 있는데요. 마지막 print문의 결과는 왜 2차원을 유지하지 않고 1차원인지 납득이 잘 안가요. 행은 0행과 1행, 그리고 열은 0열을 slicing해서 [1 4]가 아닌 [[1] 가 되야한다고 생각이 되는데 왜 그렇게 되지 않는지 그 이유가 궁금합니다. [4]]
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
모의해킹 시
저 궁금한게 있는데 지금 ERROR-BASED까지 수강을 들은 모의해킹 입문자입니다. ERROR-BASED를 보고나서 궁금한게 php?IDX=4 extractvalue~~ 이렇게 데이터 조회 공격을 하는데 만약 컬럼값이 없는 로그인창 즉 .com .php .kr로 끝나는 도메인일때는 공격을 할 수가 없는건가용? 그게 아니라면 어떻게 공격을 실행해야 하나용?
-
해결됨스프링 부트 개념과 활용
TestPropertySource질문입니다.
안녕하세요 강사님 언제나 좋은 강의 감사드립니다. 강의 내용을 따라서 열심히 따라 하고는 있는데, TestPropertySources로 우선순위를 먼저 받게끔 작업을 했는데 테스트 코드가 통과를 해서 혹시 뭐가 잘못 됐는지 여쭤보고 싶어서 질문을 남깁니다. 위의 코드를 보면 기존 application.yml의 server.port가 7443이고, test.yml의 설정이 6663인데, 해당 코드를 돌려보니 application.yml의 설정값을 우선순위로 읽어들여서 테스트 코드가 성공하였습니다. 혹시 현재 기준으로 우선순위가 변경이 된건지, 아니면 제가 무슨 실수를 한 것인지 한번만 봐 주시면 감사드리겠습니다
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
피연산자 순서 질문
안녕하세요 강의에서 말씀하시는걸 보면 stack에서 나중에 나오는 것이 연산을 당한다고 표현하십니다. 그런데 제가 생각할때 STACK은 LIFO 구조이므로 나중에 나오는 피연산자가 연산의 주체가 되고, 먼저 나오는 피연산자가 연산을 당하는게 아닌가라고 생각이 드네요... 감사합니다.