묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[켠김에 출시까지] 유니티 캐주얼 모바일 MMORPG (M2)
코드 머지와 관련하여.
안녕하세요.코드가 업데이트되는 부분이 풀버전이 아니고 변경된 부분들이 폴더 단위로 자료가 올라오는것 같습니다. 이에 따라 코드를 병합할때,Merge tool을 사용해야되는 것인지?아니면 동일 폴더별로 복사 갱신을 하는 것인지 궁금하여 질문드립니다.
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
스핀락 질문.
스핀락에서 스레드1이 나오자마자 다시 들어가는 경우는 불가능한가요?? 딱 마침 스레드2보다 먼저 CPU를 선점할 수도 있는거 아닌가요? 계속 돌려봐도 0이 나오네요. 타이밍이 좋게 한 놈이 반복해서 들어갈 수도 있는 구조 아닌가 궁금합니다.
-
해결됨죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
TransactionManager 분리/통합 사용 시 이해가 가지 않는 상황 발생
안녕 킬구횽. 정성 가득한 강의 감사한 마음으로 공부하고 있다. 고맙다.다름이 아니라, 해당 작전에서 설명한대로 TransactionManager을 분리해서 사용하고 있었는데, 이때 이해가 가지 않는 상황이 있다.글이 조금 길어서, 요약을 먼저 하겠다.요약비즈니스용 트랜잭션 매니저(JPA)과 메타데이터용 트랜잭션 매니저(JDBC)을 분리한 경우, UnexpectedRollbackException이 발생한 후에 OptimisticLockingFailureException까지 추가로 발생한다.그러나 트랜잭션 매니저를 분리하지 않은 경우, UnexpectedRollbackException은 발생하지만 OptimisticLocking 예외는 발생하지 않는다.이유가 궁금하다.상황 설명다음은 @Configuration 클래스다. @Bean @Primary @ConfigurationProperties("spring.datasource.service") public DataSource dataSource() { return DataSourceBuilder.create() .type(HikariDataSource.class) .build(); } @Bean @BatchDataSource @ConfigurationProperties("spring.datasource.batch") public DataSource batchDataSource() { return DataSourceBuilder.create() .type(HikariDataSource.class) .build(); } @Bean @Primary public PlatformTransactionManager transactionManager(EntityManagerFactory entityManagerFactory) { return new JpaTransactionManager(entityManagerFactory); } @Bean @BatchTransactionManager public PlatformTransactionManager batchTransactionManager(@BatchDataSource DataSource dataSource) { return new JdbcTransactionManager(dataSource); }다음은 job을 구성하는 (잘못 작성된) tasklet이다. 트랜잭션 전파 속성은 Propagation.REQUIRED를 사용하고 있다.class TestTasklet implements Tasklet{ private final TestRepository testRepository; @Override public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception { try{ // testRepository의 @Transactional method 호출 // but @Transactional method에서 RuntimeException을 throw } catch(RuntimeException e){ // sucess process logic } return RepeatStatus.FINISHED; }위 코드에서, 예외를 캐치하는 것으로 예외를 처리한 것은 나의 실수였다.런타임 예외를 던지는 트랜잭션은 rollback-only 마킹 처리되어 해당 트랜잭션이 커밋될 수 없었기 때문이다. 이해가 가지 않는 지점은 지금부터다. 이를 설명하기 위해 내가 파악한 흐름을 정리해봤다. 오류가 있을 수 있다. (비즈니스: JPA / 메타 데이터: JDBC) 트랜잭션 매니저를 분리하는 경우TransactionTemplate의 execute 메서드 실행 doInTransaction 메서드 실행 시작 TestTasklet의 execute메서드의 실행 * transaction from JPAexecute메서드 내부에서 런타임 예외가 발생하는 트랜잭션 메서드 호출 -> 트랜잭션에 rollback-only 마킹됨내부적으로 정상 처리하였으므로 RepeatStatus.FINISHED 반환StepExecution update (version 1 -> version 2) 커밋 * 메타데이터용 DB 커넥션 사용하는 것을 확인함doInTransaction 메서드 실행 완료TransactionTemplate의 execute 메서드에서 커밋 시도 * transaction from JPAUnexpectedRollbackException발생 * rollback-only 마킹으로 인함롤백 시작version 1 -> version 2로 StepExecution update 시도이때 다음 예외가 발생한다.OptimisticLockingFailureException: Attempt to update step execution id=4 with wrong version (1), where current version is 2 반면, 트랜잭션 매니저를 분리하지 않으면 OptimisticLocking 예외가 발생하지 않는데,왜 OptimisticLocking 예외가 발생하지 않는지 궁금하다. (비즈니스, 메타 데이터: JPA ) 트랜잭션 매니저를 분리하지 않는 경우TransactionTemplate의 execute 메서드 실행 doInTransaction 메서드 실행 시작TestTasklet의 execute메서드의 실행execute메서드 내부에서 런타임 예외가 발생하는 트랜잭션 메서드 호출 -> 트랜잭션에 rollback-only 마킹됨내부적으로 정상 처리하였으므로 RepeatStatus.FINISHED 반환StepExecution update (version 1 -> version 2) 커밋doInTransaction 메서드 실행 완료TransactionTemplate의 execute 메서드에서 커밋 시도UnexpectedRollbackException 발생롤백 시작version 1 -> version 2로 StepExecution update 시도OptimisticLock 예외가 터지지 않고 정상적으로 버전 업데이트가 완료된다.이때 OptimisticLocking 예외가 발생하지 않았다는 것은, 현재 stepExecution의 버전이 1이라는 것으로 받아들여진다.의문인 점은, StepExecution update (version 1 -> version 2)이 커밋되는 것을 디버깅을 통해 확인했는데, 어째서 롤백 시점에서 stepExecution의 버전이 1이냐는 것이다.무언가 엔티티 매니저와 관련이 있는 것 같은데, 잘모르겠다.도움이 될까하여, 로그 일부를 첨부한다.트랜잭션 매니저 분리하는 경우2025-07-27T22:16:13.626+09:00 TRACE 141032 --- [server] [ main] o.s.jdbc.core.StatementCreatorUtils : Setting SQL statement parameter value: column index 1, parameter value [28], value class [java.lang.Long], SQL type unknown 2025-07-27T22:16:13.626+09:00 TRACE 141032 --- [server] [ main] o.s.t.i.TransactionInterceptor : Completing transaction for [org.springframework.batch.core.repository.support.SimpleJobRepository.update] 2025-07-27T22:16:13.626+09:00 DEBUG 141032 --- [server] [ main] o.s.jdbc.support.JdbcTransactionManager : Initiating transaction commit 2025-07-27T22:16:13.626+09:00 DEBUG 141032 --- [server] [ main] o.s.jdbc.support.JdbcTransactionManager : Committing JDBC transaction on Connection [HikariProxyConnection@33286612 wrapping org.postgresql.jdbc.PgConnection@6ae1d5f1] 2025-07-27T22:16:13.627+09:00 DEBUG 141032 --- [server] [ main] o.s.jdbc.support.JdbcTransactionManager : Releasing JDBC Connection [HikariProxyConnection@33286612 wrapping org.postgresql.jdbc.PgConnection@6ae1d5f1] after transaction 2025-07-27T22:16:13.627+09:00 DEBUG 141032 --- [server] [ main] o.s.jdbc.support.JdbcTransactionManager : Resuming suspended transaction after completion of inner transaction 2025-07-27T22:16:13.627+09:00 DEBUG 141032 --- [server] [ main] o.s.orm.jpa.JpaTransactionManager : Initiating transaction commit 2025-07-27T22:16:13.627+09:00 DEBUG 141032 --- [server] [ main] o.s.orm.jpa.JpaTransactionManager : Committing JPA transaction on EntityManager [SessionImpl(858762286<open>)] 2025-07-27T22:16:13.630+09:00 INFO 141032 --- [server] [ main] o.s.batch.core.step.tasklet.TaskletStep : Commit failed while step execution data was already updated. Reverting to old version. 2025-07-27T22:16:13.630+09:00 DEBUG 141032 --- [server] [ main] o.s.orm.jpa.JpaTransactionManager : Closing JPA EntityManager [SessionImpl(858762286<open>)] after transaction 2025-07-27T22:16:13.630+09:00 DEBUG 141032 --- [server] [ main] o.s.batch.repeat.support.RepeatTemplate : Handling exception: org.springframework.transaction.UnexpectedRollbackException, caused by: org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only 2025-07-27T22:16:13.631+09:00 DEBUG 141032 --- [server] [ main] o.s.batch.repeat.support.RepeatTemplate : Handling fatal exception explicitly (rethrowing first of 1): org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only 2025-07-27T22:16:13.633+09:00 ERROR 141032 --- [server] [ main] o.s.batch.core.step.AbstractStep : Encountered an error executing step switchAliasTargetStep in job addressIndexingJob분리하지 않는 경우2025-07-27T22:18:22.239+09:00 TRACE 114800 --- [server] [ main] o.s.jdbc.core.StatementCreatorUtils : Setting SQL statement parameter value: column index 1, parameter value [8], value class [java.lang.Long], SQL type unknown 2025-07-27T22:18:22.240+09:00 TRACE 114800 --- [server] [ main] o.s.t.i.TransactionInterceptor : Completing transaction for [org.springframework.batch.core.repository.support.SimpleJobRepository.update] 2025-07-27T22:18:22.240+09:00 DEBUG 114800 --- [server] [ main] o.s.orm.jpa.JpaTransactionManager : Initiating transaction commit 2025-07-27T22:18:22.240+09:00 DEBUG 114800 --- [server] [ main] o.s.orm.jpa.JpaTransactionManager : Committing JPA transaction on EntityManager [SessionImpl(707576293<open>)] 2025-07-27T22:18:22.241+09:00 INFO 114800 --- [server] [ main] o.s.batch.core.step.tasklet.TaskletStep : Commit failed while step execution data was already updated. Reverting to old version. 2025-07-27T22:18:22.242+09:00 DEBUG 114800 --- [server] [ main] o.s.orm.jpa.JpaTransactionManager : Closing JPA EntityManager [SessionImpl(707576293<open>)] after transaction 2025-07-27T22:18:22.242+09:00 DEBUG 114800 --- [server] [ main] o.s.batch.repeat.support.RepeatTemplate : Handling exception: org.springframework.transaction.UnexpectedRollbackException, caused by: org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only 2025-07-27T22:18:22.242+09:00 DEBUG 114800 --- [server] [ main] o.s.batch.repeat.support.RepeatTemplate : Handling fatal exception explicitly (rethrowing first of 1): org.springframework.transaction.UnexpectedRollbackException: Transaction silently rolled back because it has been marked as rollback-only 2025-07-27T22:18:22.246+09:00 ERROR 114800 --- [server] [ main] o.s.batch.core.step.AbstractStep : Encountered an error executing step switchAliasTargetStep in job addressIndexingJob
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
어떤 것이 업데이트 된 건가요?
강의를 한 번 수강했던 수강생입니다.반년전 듣고 실습을 안해서 까먹어서 다시 들어볼려고 하는데 어떤 게 업데이트 된 건지 알 수 있을까요? 기존에 커리큘럼별 강의 제목은 같은데 업데이트 된 건가요? 아니면 새로 찍으신 강의가 별도로 올라와있는건가요?
-
미해결eks를 활용한 spring 운영서버 배포(feat. devops의 모든것)
AWS ECR 로그인이 되지 않습니다.
분명 동일한 URI를 적어줬는데도 불구하고 계속 ECR 로그인이 되지 않네요...그전 강의까지는 모두 오류없이 진행했습니다. 도커 데스크탑도 실행된 상태인데도 오류가 나네요.
-
미해결
포토샵 기초 정도 가볍게 해보실 분!
👾[Layered] 포토샵 기초 찍먹해볼 사람 모여라! 포토샵, 한 번쯤 배워보고 싶었는데 막막하셨던 분들 주목! 👀Layered에서 포토샵 처음 해보는 분들을 위한 왕초보반을 열었어요!부담없이 가볍게 시작할 수 있도록 신생아 수준의 눈높이로 가르쳐드리니 방학에 심심할 때 포토샵 기본적인 개념 '찍먹'해본다 생각하고 오시면 됩니다 :) 🎨 강의 커리큘럼1. 포토샵 알아가기 : 개념부터 차근차근🐢2. 포토샵 다가가기 : 설치부터 천천히👾3. 포토샵 관심갖기 : 기본적인 기능탐색🔎4. 포토샵 친해지기 : 간단한 실습하기🖼 🗓일정 및 장소- 일정 : 주 1-2회, 1달 간 진행 (서로 스케줄 조율하여 유동적으로 진행)- 장소 : 홍대, 신촌, 서울대입구 등 서울 내 스터디룸이나 카페 💁♀모집 안내- 모집 대상: 서울 및 수도권 대학 재학생 및 휴학생 (포토샵 초보 대환영!)- 모집 인원: 10명 내외(1대1 진행)- 신청 방법: 아래 폼으로 신청https://smore.im/form/9UG7hO8RwX* 궁금한 점은 인스타 DM(@layered.lab)으로 편하게 물어보세요! 💲수강료현재 디자인 교육 기반의 소규모 컴퓨터 학원 오픈을 준비 중이며 정식 운영 전 실제 수업을 진행해보며 커리큘럼을 보완하고,수강생분들의 반응과 피드백을 통해 더 나은 강의 방식과 흐름을 설계하기 위한 사전 테스트 과정입니다. 즉, 정식 수업 전 ‘파일럿 클래스’의 일환으로 진행되는 무료 수업이에요!정식 개강 전이기 때문에, 여러분의 솔직한 피드백과 리뷰가 저에게 큰 도움이 됩니다🙏*음료비는 개인 부담입니다! 포토샵, 어렵다고 생각하지 말고 Layered에서 가볍게 시작해봐요! 이번 방학 때 같이 포토샵이랑 조금 더 친해져보기🤩 ⚠본 수업은 어떠한 정치, 종교 단체와 관련이 없으며 순수 교육의 목적만 있음을 밝힙니다.
-
미해결UIUX 포트폴리오 Part.3 - 반응형 웹 포트폴리오
폰트나 이미지사용 문의
안녕하세요 강의 듣고있는 학생입니다. 혹시 다운로드 파일에 있는 아이콘이나 폰트들취업용 개인 포트폴리오 웹사이트 만들때 사용해도 될까요?
-
해결됨[취업폭격기] 공공기관 전산직(IT) 취업 준비를 위한 정규과정 (기초~고급)
깃 권한 신청합니다
안녕하세요 취업폭격기 제로미니 입니다.정규과정을 신청하신분은 Zeromini-lab 권한, Zeromini Git Hub 취업자료 권한 신청 관련하여디스코드 (제로미니 IT취업 공부방) [초대장] 을 통해 '취업폭격기 제로미니'에게 다이렉트 메시지를 남겨주시면내용을 안내해드리도록하겠습니다!안녕하세요 제로미니님.깃 권한 신청하겠습니다.또한, 디스코드 초대 링크가 유효하지 않다고 표시됩니다. 혹시 해결이 가능할까요?저도 들어가고 싶습니다!
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
Spring Batch에서의 비즈니스 로직 처리 관련 질문
13. jpa reader,writer 까지만 보고 질문드립니다.JpaPagingItemReader, JpaItemWriter를 사용해서 JPA 기반으로 DB에 직접 접근해 처리할때, Writer나 Processor에서 복잡한 비즈니스 로직이 필요한 경우에는 어떻게 설계하는 것이 좋은지 궁금합니다.만약 주문을 처리하는 배치가 있다고 했을 때배치 작업에서 주문을 조회 (JpaPagingItemReader-Entity 리턴)writer에서주문 상태 변경주문 내역 추가배송 테이블에 적재 등 여러 도메인을 걸치는 비즈니스 로직 수행 필요이렇게 되면 reader에서 조회한 것을 processor에서 command와 같은 객체로 변환해서 writer에서는 service 로직을 호출하는 것이 좋을까요?
-
미해결3시간에 끝내는 디지털 마케팅의 모든 것
강의 교안은 어디서 확인할 수 있나요?
어디서 강의 교안을 pdf로 다운받을 수 있는지 문의 드립니다.
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
레이어 팝업 '닫기' 가 안됩니다
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>A1~A4레이아웃 연습</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <header> <div class="logo"></div> <div class="manu"></div> </header> <div class="silde"> <div></div> </div> <div class="items"> <div class="news"> <div class="tab-inner"> <div class="btn"> <a href="#none" class="active">공지사항</a> <a href="#none">갤러리</a> </div> <div class="tabs"> <div class="tab1"> <a class="open">SNS 발송 서비스 개선작업<b>2020.01.09</b></a> <a href="#none">휴대폰 인증 서비스 개선 작업<b b>2020.01.07</b></a> <a href="#none">카드사 부분 무이자 할부 이벤트<b>2019.12.31</b></a> <a href="#none">올엣 시스템 작업 안내<b>2019.12.20</b></a> <a href="#none">휴대폰 결제 시스템 작업 안내<b>2019.12.20</b></a> </div> <div class="tab2"> <a href="#none"><img src="image/1.jpg" alt="garllery1"></a> <a href="#none"><img src="image/2.jpg" alt="garllery2"></a> <a href="#none"><img src="image/3.jpg" alt="garllery3"></a> </div> </div> </div> </div> <div class="banner"></div> <div class="nav"></div> </div> <footer> <div class="copy"> <div class="copy2"></div> <div class="copy3"></div> </div> <div class="logo2"></div> </footer> <div class="model"> <div class="model-content"> <h1>SNS비회원주문하기 종료 안내</h1> <p>안녕하세요. JUST 쇼핑몰 MD 홍길동입니다. 안타깝게도 SNS비회원 주문하기 서비스가 한달 뒤 종료될 예정입니다. 회원가입 없이 SNS계정을 이용해 그동안 제품주문을 하실수 있었는데, 금번 강화된 개인정보보호법 시행령 제 9조 (부칙 3조)에 의거, SNS를 이용한 상품 주문/결제등이 근래에 많은 보안잇슈로 문제가 되고 있음에 따라 KISAS의 권고조치의 일환으로 했습니다. 따라서, 한달뒤인 2019.03.10 이후 모든 비회원 고객님들께서는 회원가입으로 전환 후 실명인증이 되어야 하며, 이는 모든 쇼핑몰/오픈마켓등의 전자상거레서비스의 공통된 사함이라는 점을 안내드립니다. </p> <a class="close-model">X 닫기</a> </div> </div> </div> <script src="js/jquery-1.12.4.js"></script> <script src="js/costom.js"></script> </body> </html> .container{ border: 1px solid #111; width: 1200px; margin: auto; } header{ width: 1200px; height: 100px; background-color: #222; } header div{ height: 100px; } .logo{ width: 170px; background-color: #333; float: left; } .manu{ width: 700px; background-color: #444; float: right; } .silde{ height: 300px; background-color: #555; } .items{ /* height: 200px; */ overflow: hidden; } .items>div{ display: inline-block; height: 200px; float: left; } .news{ width: 400px; background-color: #666; } .tab-inner{ margin: 5px 10px; } .btn{ } .btn .active{ background-color: #fff; } .btn a{ width: 100px; height: 50px; background-color: #888; border: 1px solid #000; display: inline-block; text-align: center; color: #111; text-decoration: none; box-sizing: border-box; padding: 13px 0; border-radius: 5px 5px 0 0; margin-left: -5px; border-bottom: none; cursor: pointer; } .tabs{ background-color: #fff; height: 145px; border: 1px solid #000; margin-left: -5px; margin-top: -1px; } .tab1 a.open{ cursor: pointer; } .tab1 a{ color: #000; text-decoration: none; box-sizing: border-box; border-bottom: 1px solid #000; display: block; margin: 3px; } .tab1 a:last-child{ border-bottom: none; } .tab1 a b{ float: right; font-weight: normal; } .tab2{ display: none; } .tab2 a{ box-sizing: border-box; display: inline-block; padding: 17px 0; margin-left: 10px } .tab2 img{ width: 110px; } .banner{ width: 400px; background-color: #777; } .nav{ width: 400px; height: 200px; background-color: #888; } footer{ height: 100px; background-color: #999; } footer> div{ float: left; height: 100px; } .copy{ width: 1030px; } .copy> div{ width: 1030px; height: 50px; } .copy2{ background-color: #444; } .copy3{ background-color: #777; } .logo2{ width: 170px; background-color: #222; } .model{ position: absolute; left: 0; top: 0; background-color: #00000028; width: 1200px; height: 700px; margin: 7px; display:block; display: none; } .model-content{ position: absolute; left: 50%; top: 50%; background-color: #fff; width: 500px; height: 400px; border: 1px solid #000; transform: translate(-50%,-50%); box-sizing: border-box; } .model-content h1{ color: #fff; background-color: #000; width: 450px; display: inline-block; text-align: center; margin: 25px; } .model-content p{ line-height: 26px; text-shadow: 0 0 3px #0000003d; text-align: center; } .close-model{ background-color: #000; width: 90px; height: 40px; display: inline-block; float: right; color: #fff; text-align: center; box-sizing: border-box; margin: 12px; padding: 6px; cursor: pointer; }$('.btn a:first-child').click(function(){ $('.tab1').show() $('.tab2').hide() $(this).addClass('active') $(this).siblings().removeClass('active') }) $('.btn a:last-child').click(function(){ $('.tab2').show() $('.tab1').hide() $(this).addClass('active') $(this).siblings().removeClass('active') }) $('.open').click (function(){ $('.model').fadeIn() }) $('.close-model').click (function(){ $('.mode1').fadeOut() })코드를 보내드립니다
-
미해결
레이어 팝업 '닫기' 가 안됩니다
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <title>A1~A4레이아웃 연습</title> <link rel="stylesheet" href="style.css"> </head> <body> <div class="container"> <header> <div class="logo"></div> <div class="manu"></div> </header> <div class="silde"> <div></div> </div> <div class="items"> <div class="news"> <div class="tab-inner"> <div class="btn"> <a href="#none" class="active">공지사항</a> <a href="#none">갤러리</a> </div> <div class="tabs"> <div class="tab1"> <a class="open">SNS 발송 서비스 개선작업<b>2020.01.09</b></a> <a href="#none">휴대폰 인증 서비스 개선 작업<b b>2020.01.07</b></a> <a href="#none">카드사 부분 무이자 할부 이벤트<b>2019.12.31</b></a> <a href="#none">올엣 시스템 작업 안내<b>2019.12.20</b></a> <a href="#none">휴대폰 결제 시스템 작업 안내<b>2019.12.20</b></a> </div> <div class="tab2"> <a href="#none"><img src="image/1.jpg" alt="garllery1"></a> <a href="#none"><img src="image/2.jpg" alt="garllery2"></a> <a href="#none"><img src="image/3.jpg" alt="garllery3"></a> </div> </div> </div> </div> <div class="banner"></div> <div class="nav"></div> </div> <footer> <div class="copy"> <div class="copy2"></div> <div class="copy3"></div> </div> <div class="logo2"></div> </footer> <div class="model"> <div class="model-content"> <h1>SNS비회원주문하기 종료 안내</h1> <p>안녕하세요. JUST 쇼핑몰 MD 홍길동입니다. 안타깝게도 SNS비회원 주문하기 서비스가 한달 뒤 종료될 예정입니다. 회원가입 없이 SNS계정을 이용해 그동안 제품주문을 하실수 있었는데, 금번 강화된 개인정보보호법 시행령 제 9조 (부칙 3조)에 의거, SNS를 이용한 상품 주문/결제등이 근래에 많은 보안잇슈로 문제가 되고 있음에 따라 KISAS의 권고조치의 일환으로 했습니다. 따라서, 한달뒤인 2019.03.10 이후 모든 비회원 고객님들께서는 회원가입으로 전환 후 실명인증이 되어야 하며, 이는 모든 쇼핑몰/오픈마켓등의 전자상거레서비스의 공통된 사함이라는 점을 안내드립니다. </p> <a class="close-model">X 닫기</a> </div> </div> </div> <script src="js/jquery-1.12.4.js"></script> <script src="js/costom.js"></script> </body> </html> $('.btn a:first-child').click(function(){ $('.tab1').show() $('.tab2').hide() $(this).addClass('active') $(this).siblings().removeClass('active') }) $('.btn a:last-child').click(function(){ $('.tab2').show() $('.tab1').hide() $(this).addClass('active') $(this).siblings().removeClass('active') }) $('.open').click (function(){ $('.model').fadeIn() }) $('.close-model').click (function(){ $('.mode1').fadeOut() }) .container{ border: 1px solid #111; width: 1200px; margin: auto; } header{ width: 1200px; height: 100px; background-color: #222; } header div{ height: 100px; } .logo{ width: 170px; background-color: #333; float: left; } .manu{ width: 700px; background-color: #444; float: right; } .silde{ height: 300px; background-color: #555; } .items{ /* height: 200px; */ overflow: hidden; } .items>div{ display: inline-block; height: 200px; float: left; } .news{ width: 400px; background-color: #666; } .tab-inner{ margin: 5px 10px; } .btn{ } .btn .active{ background-color: #fff; } .btn a{ width: 100px; height: 50px; background-color: #888; border: 1px solid #000; display: inline-block; text-align: center; color: #111; text-decoration: none; box-sizing: border-box; padding: 13px 0; border-radius: 5px 5px 0 0; margin-left: -5px; border-bottom: none; cursor: pointer; } .tabs{ background-color: #fff; height: 145px; border: 1px solid #000; margin-left: -5px; margin-top: -1px; } .tab1 a.open{ cursor: pointer; } .tab1 a{ color: #000; text-decoration: none; box-sizing: border-box; border-bottom: 1px solid #000; display: block; margin: 3px; } .tab1 a:last-child{ border-bottom: none; } .tab1 a b{ float: right; font-weight: normal; } .tab2{ display: none; } .tab2 a{ box-sizing: border-box; display: inline-block; padding: 17px 0; margin-left: 10px } .tab2 img{ width: 110px; } .banner{ width: 400px; background-color: #777; } .nav{ width: 400px; height: 200px; background-color: #888; } footer{ height: 100px; background-color: #999; } footer> div{ float: left; height: 100px; } .copy{ width: 1030px; } .copy> div{ width: 1030px; height: 50px; } .copy2{ background-color: #444; } .copy3{ background-color: #777; } .logo2{ width: 170px; background-color: #222; } .model{ position: absolute; left: 0; top: 0; background-color: #00000028; width: 1200px; height: 700px; margin: 7px; display:block; display: none; } .model-content{ position: absolute; left: 50%; top: 50%; background-color: #fff; width: 500px; height: 400px; border: 1px solid #000; transform: translate(-50%,-50%); box-sizing: border-box; } .model-content h1{ color: #fff; background-color: #000; width: 450px; display: inline-block; text-align: center; margin: 25px; } .model-content p{ line-height: 26px; text-shadow: 0 0 3px #0000003d; text-align: center; } .close-model{ background-color: #000; width: 90px; height: 40px; display: inline-block; float: right; color: #fff; text-align: center; box-sizing: border-box; margin: 12px; padding: 6px; cursor: pointer; }
-
미해결동영상으로 배우는 Catia V5-6R2017 Assembly Workbench
Sectioning 기능 사용시 단면 색!
단면을 짜르면 왜 제가 준 material의 색감은 없어지고 초록색만 뜰까요? 해결방법이 알고 싶습니다. Assembly 및 Part Design에서도 마찬가지 였습니다.
-
미해결토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
멀티 모듈 구성
안녕하세요 토비님,우선 강의를 통해 제가 알고 있던 헥사고날과 DDD(도메인 주도 설계)에 대해 다시 한번 깊이 생각해볼 수 있는 소중한 경험이 되었습니다. 좋은 강의 만들어주셔서 정말 감사합니다.토비님께서 생각하시는 헥사고날에, DDD 과 멀티 모듈의 바람직한 설계에 대해 궁금해서 질문을 남기게 되었습니다. 여기서의 멀티 모듈은 우선 MSA 를 제외하고 순수 멀티 모듈을 통해 시스템을 설계를 한다는 것을 전제하고 있습니다.가장 흔하게 보이는 멀티 모듈 구성의 패턴은 Storage (JPA), External (외부 Dependency), N 개의 서비스에 해당하는 Web Server 모듈 & 기타 등이 있는 것 같은데요. 멀티 모듈을 현 강의에서 보여주고 말씀해주시는 헥사고날과 DDD 와 결합했을 때, 어떻게 구성하면 좋을지 많은 생각이 들고 또한 현업에서 비슷한 고민을 하고 있어서 토비님의 생각이 궁금해 질문을 남기게 되었습니다.감사합니다.
-
미해결[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
9강의 서버연동을 따라하는데 오류가뜹니다
이런 식으로 계속 뜨는데 구글꼐정을 바꿔봐도 에러가 계속뜨네요. 해결방법 없을까요??
-
해결됨초보자를 위한 BigQuery(SQL) 입문
시각화 도구 사용
안녕하세요 카일님! 초기창업팀에서 데이터분석 업무를 하고 있는 경험이 부족한 초보입니다.대시보드를 저희 제휴사나 다른 사람들과 공유할 일이 많아서 시각화 도구 선택을 공유가 쉽고 조작이 쉬운 루커 스튜디오로 사용하려고 하는데, Tableau나 Power BI 가 더 좋은 선택일까요??Tableau 는 가격이 비싼편이고, viewer 마다 결제를 해야되어서 제휴사가 늘어나면 계속해서 seat 를 구매해야 되는 어려움이 있는거 같아요.PowerBI 는 빅쿼리와 연동했을때, 데이터 양이 많은 경우 잘 안될수도 있다고 들었는데 확실히는 모르겠습니다.빅쿼리에는 20만건 정도의 공고데이터, 그리고 posthog라는 mixpanel 같은 트래킹 툴에서 생기는 이벤트와 persons 모델을 저장해두고 있습니다. 3개월 정도 모인 데이터인데 약 300기가 정도 되는거 같습니다.(앞으로 계속 적재될 예정)GCP 크레딧이 있어서 구글내에서는 비용 걱정없이 여러가지 도입하는데 무리는 없는 상황입니다.시각화 도구 사용에 있어서 공유하기 쉽고, 자유도는 높으면서 가격은 그렇게 비싸진 않은 도구 혹시 있을까요??- 추가적으로 질문이 하나 더 있는데, posthog 나 mixpanel 데이터를 Bigquery 에 가져와서 데이터 분석을 하는거는 실무적으로 좋은 방법일까요?mixpanel 내에서 만들 수 없는 대시보드가 있어서 그걸 위해 가져오는 이유도 있고, 추천 시스템이나 혹은 ML을 할 일이 생기는 경우도 있어서 bigquery에도 적재되게끔 했는데 너무 overkill 은 아닐지 고민이 되네요ㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진
질문있습니다
여자 물체가 분홍색으로 나와요. 쉐이더를 standard로 바꾸는것도 해봤고 다른분이 파일 올려준거 에셋파일에 넣으라고해서 넣었는데도 계속 분홍색으로 나와요 어떻게 해야되죠 ? 인풋 시스템이 지금 방식은 옛날방식이라고 새로운방식으로 사용하라고 하는데 어떻게 해야할까요 아래가 오류 메세지입니다 InvalidOperationException: You are trying to read Input using the UnityEngine.Input class, but you have switched active Input handling to Input System package in Player Settings.UnityEngine.Input.GetKey (UnityEngine.KeyCode key) (at <9d2f564c4eed4a90bb0e96c187775d6e>:0)PlayerController.Update () (at Assets/Scripts/PlayerController.cs:14)
-
미해결Kafka & Spark 활용한 Realtime Datalake
데이터레이크 구성요소 안나옵니다.
저도 데이터레이크 구성요소 영상 안나옵니다.소리는 나옵니다.위에도 있던데 어떻게 해결되었나요?다른영상은 나옵니다.
-
미해결Node.js - Express
오류 이유
app.post('/delete_process', (req, res)=>{ var post = req.body; var id = post.id; var filteredId = path.parse(id).base; fs.unlink(`data/${filteredId}`, function(error){ res.redirect('/'); }) }); app.get('/topic/:pageID', (request, response,next)=>{ var filteredId = path.parse(request.params.pageID).base; fs.readFile(`data/${filteredId}`, 'utf8', function(err, description){ if(err){ next(err); } else{ var title = request.params.pageID; var sanitizedTitle = sanitizeHtml(title); var sanitizedDescription = sanitizeHtml(description, { allowedTags:['h1'] }); var list = template.list(request.list); var html = template.HTML(sanitizedTitle, list, `<h2>${sanitizedTitle}</h2>${sanitizedDescription}`, ` <a href="/topic/create">create</a> <a href="/topic/update/${sanitizedTitle}">update</a> <form action="/delete_process" method="post"> <input type="hidden" name="id" value="${sanitizedTitle}"> <input type="submit" value="delete"> </form>` ); response.send(html); } }); }); 이렇게 했을 때는 정상적으로 삭제가 되는데 왜 app.post('/topic/delete_process', (req, res)=>{ var post = req.body; var id = post.id; var filteredId = path.parse(id).base; fs.unlinkdata/${filteredId}, function(error){ res.redirect('/'); }) }); app.get('/topic/:pageID', (request, response,next)=>{ var filteredId = path.parse(request.params.pageID).base; fs.readFiledata/${filteredId}, 'utf8', function(err, description){ if(err){ next(err); } else{ var title = request.params.pageID; var sanitizedTitle = sanitizeHtml(title); var sanitizedDescription = sanitizeHtml(description, { allowedTags:['h1'] }); var list = template.list(request.list); var html = template.HTML(sanitizedTitle, list, <h2>${sanitizedTitle}</h2>${sanitizedDescription}, <a href="/topic/create">create</a> <a href="/topic/update/${sanitizedTitle}">update</a> <form action="/topic/delete_process" method="post"> <input type="hidden" name="id" value="${sanitizedTitle}"> <input type="submit" value="delete"> </form> ); response.send(html); } 이렇게 작성햇을때는 왜 안되는지 이유를 너무 모르겠습니다.
-
미해결죽음의 Spring Batch: 새벽 3시의 처절한 공포는 이제 끝이다.
application.yaml 설정
프로젝트 수행시에 itemReader로 데이터 조회가 안된다면, application.yaml 설정에 data: mongodb: database: cyberops추가해보세요~🤔