묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
import 명령어가 test_module를 불러오지 못합니다.
<module 2-2> 강의입니다.import 명령어가 test_module를 불러오지 못합니다.왜 그럴까요?컴퓨터는 윈도우입니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링부트 정적파일 관리는 그래들에만 해당되는것이 맞나요?
==============================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]스프링 부트에서 정적 파일 관리를 제공하는 것이 그래들, 메이븐 모두에게 해당되는 개념인지 아니면 그래들에만 해당되는 얘기인지 궁금합니다.메이븐 방식일 경우 webapp 하위에 resources와 WEB-INF로 나뉘는데 정적파일이 resources에 저장되는걸로 알고있습니다.스프링프레임워크에서는 뷰리졸버의 prefix가 기본적으로 /WEB-INF/views/ 이렇게 세팅해두고 하는것으로 알고있거든요...
-
미해결인터랙티브 웹 개발 제대로 시작하기
브라우저 사이즈에 따라 위치값이 달라지는건 왜일까요..?
안녕하세요전진 3D스크롤 예제를 이리저리 수정해보고 있는데요.옆면 벽에 더해 위쪽 벽도 만들어보고 싶어서 수정하고 있습니다. 브라우저 사이즈가 작을때는 정상적입니다..근데 브라우저를 최대화하면...이렇게 위쪽 벽이 튀어나가버립니다.. html은 실습예제에서 양쪽벽과 위쪽벽만 빼고 삭제했습니다..<div class="world"> <div class="stage"> <div class="house"> <section class="wall wall-left"></section> <section class="wall wall-right"></section> <section class="wall wall-upper wall-upper-left"></section> <section class="wall wall-upper wall-upper-right"></section> </div> </div></div> css는 body world stage house wall는 실습예제와 크게 다른점이 없구요..body { height: 100vh; font-family: 'Apple SD Gothic Neo', 'Roboto', 'Noto Sans KR', NanumGothic, 'Malgun Gothic', sans-serif; color: #555; background: #555;}.world { position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; perspective: 100vw;}.stage { position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; transform-style: preserve-3d;}.house { width: 100vw; height: 100vh; transform: translateZ(-500vw); transform-style: preserve-3d;}.wall { position: absolute; left: 0; top: 0; width: 100vw; height: 100vh;} 옆벽과 위쪽벽만 아래처럼 만들어놨습니다...wall-right { background:#6b68ff55; width: 1000vw; transform: rotateY(90deg) translateZ(-400vw)}.wall-upper-left { height: 1000vw; background: #00000055; transform: rotateX(90deg) translateZ(500vw)} 둘다 길이가 1000vw라서 브라우저 가로사이즈에 따라 달라질 요인은 없는거같은데...왜 그럴까요?ㅠㅠ세로로는 브라우저 크기에 영향을 안받고, 오직 가로크기가 변하면 저렇게 어긋나버립니다..
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
jenckins docker + python 연동 문의
젠킨슨 도커를 원도우 서버 위에 설치 했습니다.설치 후 젠킨슨 도커와 연동하여 pytest 및 python를 사용하고 싶은 데도커에 설치해야 하는 지 아니면 원도우 서버에 설치해도 되는 지 궁금해서 문의합니다. 해당 강의를 통해 jenckins + github + python selenium grid 연동 환경을 구성하려고 합니다.원도우 서버에 jenckins _docker 설치 후 원도우 서버에 python 및 selenium 을 설치 했는 데 실행이 원활하지 않아 문의합니다.
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
엑세스가 거부되었습니다.
<input(2-1) : 사용자가 원하는 값을 입력해봐요.> 실습 중 문제가 발생했습니다. 어떻게 해결하나요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
안녕하세요 선생님 교안 공부하다가 ..
안녕하세요. 알고리즘 공부를 위해 강의를 구매했고 C++ 알고리즘 교안을 통해 공부 중입니다.교안을 보다보면 제 머리가 조금 부족해서 내용 이해가 정확히 안가는 부분도 있고, 내용이 적지 않다 보니 1주일 공부하다보면 앞에 내용이 기억나지않아 뒷 부분에서 이게 무슨 소리인가라는 생각이 자주 듭니다. 이럴 때, 기억나지않아도 적당히 이해하면서 교안을 뒤로 넘기며 계속 공부를 이어나가야 할지 앞에 내용을 다시 공부하고 진행해야 할 지 모르겠습니다. 교안을 완벽하게 숙지(이해, 암기)하고 강의를 듣고 공부를 해 나가야할지, 아니면 모든 내용이 기억나지 않고 완벽하게 숙지되지 않더라도 앞으로 나아가야할지 어느 방법을 추천하시는지 조언해주시면 감사하겠습니다. 감사합니다!
-
해결됨문과생이 가르쳐 주는 퍼블리싱 - 클론코딩
제이쿼리 연결 질문드립니다.
HTML 구조설계까지 끝내고 css 스타일 입히기 과정을 듣고 있는데 선생님 강의를 보면 슬라이드 자동 효과가 적용되고 .gnb 호버하면 서브메뉴가 내려오는데 저는 적용이 안되서 질문드립니다.@charset "utf-8"; @import url("./common.css"); /* layout */ header { position: relative; z-index: 9; height: 156px; } header .header { position: relative; z-index: 1; width: 1200px; margin: 0 auto; } header h1 { position: absolute; left: 0; top: 17px; width: 194px; height: 45px; } header h1 a { display: block; height: 45px; font-size: 0 !important; background: url(../images/logo.png) no-repeat 0; } header .util { position: absolute; right: 0; top: 39px; } header .util .btn_menu { position: relative; width: 20px; height: 16px; /* background-color: red; */ } header .util .btn_menu span { position: absolute; top: 0; bottom: 0; margin: auto 0; left: 0; width: 20px; height: 2px; background-color: #666; font-size: 0; } header .util .btn_menu:before { position: absolute; top: 0; left: 0; content: ""; width: 20px; height: 2px; background-color: #666; font-size: 0; } header .util .btn_menu:after { position: absolute; bottom: 0; left: 0; content: ""; width: 20px; height: 2px; background-color: #666; font-size: 0; } header .util button ~ button { margin-left: 31px; } header .util .btn_login { background: url(../images/ic_login.png) no-repeat 0 50%; padding-left: 29px; } header .util .btn_logout { background: url(../images/ic_login.png) no-repeat 0 50%; padding-left: 29px; } header h2 { font-size: 0; } header .gnb { margin-top: 104px; } /* gnb 메뉴 */ header .gnb > ul { display: flex; justify-content: space-between; font-size: 20px; font-family: "nanums"; } header .gnb ul ul { overflow: hidden; height: 0; margin-top: 20px; font-size: 17px; } header .gnb ul ul a:hover { color: #f68b12; } header .gnb ul ul a { transition: all 0.2s ease-in-out; } header .gnb ul ul li ~ li { margin-top: 16px; } header::after { content: ""; position: absolute; top: 156px; width: 100%; height: 0; background-color: white; box-shadow: 0 3px 3px rgba(0, 0, 0, 10%); transition: all 0.2s ease-in-out; } header .openGnb::after { height: 180px; } header .openGnb .gnb ul ul { height: auto; overflow: visible; } header .openGnb .over > a:before { width: 100%; } header .gnb .depth1 > a { position: relative; text-align: center; display: block; height: 51px; /* background-color: red; */ } header .gnb .depth1 > a::before { content: ""; position: absolute; left: 0; right: 0; bottom: 0; margin: 0 auto; width: 0%; height: 3px; background-color: #f68b12; transition: all 0.2s ease-in-out; } /* main */ .dm_body .visualSlider .item { height: 597px; } .dm_body .visualSlider .txt_g { width: 1200px; margin: 170px auto 0; line-height: 82px; color: #fff; font-family: "nanum"; } .dm_body .visualSlider .txt_g p:nth-child(1) { font-size: 36px; } .dm_body .visualSlider .txt_g p:nth-child(2) { font-size: 72px; } <!DOCTYPE html> <html lang="ko"> <head> <meta charset="utf-8" /> <title>러빙코드 실습 메인 화면</title> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <script src="./resources/js/jquery.min.js"></script> <script src="./resources/js/slick.js"></script> <script src="./resources/js/ui.js"></script> <link href="./resources/css/style.css" rel="stylesheet" type="text/css" /> </head> <body> <div class="skiptoContent"> <a href="http://#dMbody">본문 바로가기</a> </div> <header> <div class="header"> <h1><a href="main.html">biensoft</a></h1> <div class="util"> <button class="btn_login">로그인</button> <!-- <button class="btn_logout">로그아웃</button> --> <button class="btn_menu"><span>전체메뉴</span></button> </div> <h2>주 메뉴</h2> <nav class="gnb"> <ul> <li class="depth1"> <a href="">교육기관 소개</a> <ul> <li><a href="">원장 인사말</a></li> <li><a href="">교육기관 역사</a></li> <li><a href="">교육기관 소개</a></li> </ul> </li> <li class="depth1"> <a href="">교육시청</a> <ul> <li><a href="">인기순 강좌 신청</a></li> <li><a href="">대상별 강좌 신청</a></li> <li><a href="">분야별 강좌 신청</a></li> <li><a href="">기간별 강좌 신청</a></li> </ul> </li> <li class="depth1"> <a href="">강사뱅크</a> <ul> <li><a href="">강사 보기</a></li> <li><a href="">강사 신청</a></li> </ul> </li> <li class="depth1"> <a href="">알림마당</a> <ul> <li><a href="">공지사항</a></li> <li><a href="">이벤트</a></li> <li><a href="">자주하는 질문</a></li> </ul> </li> <li class="depth1"> <a href="">참여마당</a> <ul> <li><a href="">강의 리뷰</a></li> <li><a href="">묻고 답하기</a></li> </ul> </li> <li class="depth1"><a href="">MY 페이지</a></li> </ul> </nav> </div> </header> <div id="dMbody" class="dm_body"> <div class="col_a"> <div class="visualSlider"> <div class="item" style=" background: url(./resources/images/tmp/visual1.jpg) no-repeat 50% 0; background-size: cover; "> <div class="txt_g"> <p>살아 있는 배움! 행복학습</p> <p>커피바리스타</p> </div> </div> <div class="item" style=" background: url(./resources/images/tmp/visual2.jpg) no-repeat 50% 0; background-size: cover; "> <div class="txt_g"> <p>살아 있는 배움! 행복학습</p> <p>요가</p> </div> </div> <div class="item" style=" background: url(./resources/images/tmp/visual3.jpg) no-repeat 50% 0; background-size: cover; "> <div class="txt_g"> <p>살아 있는 배움! 행복학습</p> <p>캘리그라피</p> </div> </div> </div> </div> <!--col_a--> <section class="col_b"> <div class="box"> <ul class="tabs"> <li><a href="#view1">인기순 강좌</a></li> <li><a href="#view2">대상별 강좌</a></li> <li><a href="#view3">분야별 강좌</a></li> </ul> <div class="views" id="view1"> <h2>인기순 강좌</h2> <ul> <li> <a href="#"><img src="./resources/images/tmp/thum1.jpg" alt="필라테스" />필라테스</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum2.jpg" alt="커피바리스타" />커피바리스타</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum3.jpg" alt="캘리그라피" />캘리그라피</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum4.jpg" alt="풍경사진" />풍경사진</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum5.jpg" alt="서양화" />서양화</a> </li> </ul> </div> <div class="views" id="view2"> <h2>대상별 강좌</h2> <ul> <li> <a href="#"><img src="./resources/images/tmp/thum1.jpg" alt="필라테스" />필라테스</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum2.jpg" alt="커피바리스타" />커피바리스타</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum3.jpg" alt="캘리그라피" />캘리그라피</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum4.jpg" alt="풍경사진" />풍경사진</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum5.jpg" alt="서양화" />서양화</a> </li> </ul> </div> <div class="views" id="view3"> <h2>분야별 강좌</h2> <ul> <li> <a href="#"><img src="./resources/images/tmp/thum1.jpg" alt="필라테스" />필라테스</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum2.jpg" alt="커피바리스타" />커피바리스타</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum3.jpg" alt="캘리그라피" />캘리그라피</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum4.jpg" alt="풍경사진" />풍경사진</a> </li> <li> <a href="#"><img src="./resources/images/tmp/thum5.jpg" alt="서양화" />서양화</a> </li> </ul> </div> </div> </section> <!--col_b--> <section class="col_c"> <div class="colc_a"> <ul class="tabs"> <li><a href="">공지사항</a></li> <li><a href="">자주하는 질문</a></li> </ul> <div class="board_list" id="notice"> <h2>공지사항</h2> <ul> <li> <a href="#"><i>NEW</i>필라테스 12월 프로그램 할인 이벤트! 모집안내합니다.</a><span>2022.10.01</span> </li> <li> <a href="">국내 국제 바리스타 자격까지 완벽 교육 지원합니다. 하반기 바리스타 교육생 모집중입니다. 바리스타 교육생 모집 중입니다.</a><span>2022.10.01</span> </li> <li> <a href="">손글씨를 아름답게! 켈리그라피 수강생 모집 중!</a><span>2022.10.01</span> </li> <li> <a href="">세상의 모든 풍경을 사진속에! 풍경사진 초급과정 모집 안내합니다.</a><span>2022.10.01</span> </li> <li> <a href="">취미에서 부터 전문 화가 양성까지! 개인별 맞춤 과정 프로그램 안내합니다.</a><span>2022.10.01</span> </li> </ul> </div> <div class="board_list" id="qna"> <h2>자주하는 질문</h2> <ul> <li> <a href="">온라인 영상이 작동이 잘되요.</a><span>2022.10.01</span> </li> <li> <a href="">결제신청 후 확인은 어디서 하나요?</a><span>2022.10.01</span> </li> <li> <a href="">취소/환불 절차를 알고 싶어요</a><span>2022.10.01</span> </li> <li> <a href="">세상의 모든 풍경을 사진속에! 풍경사진 초급과정 모집 안내합니다.</a><span>2022.10.01</span> </li> <li> <a href="">취미에서 부터 전문 화가 양성까지! 개인별 맞춤 과정 프로그램 안내합니다.</a><span>2022.10.01</span> </li> </ul> </div> </div> <div class="colc_b"> <div class="event_list"> <h2>이벤트</h2> <div class="eventSlider"> <div class="item"> <a href=""><img src="./resources/images/tmp/event1.jpg" alt="2022년 하반기 교육강좌 개설안내 2022.11.4(목)" /></a> </div> <div class="item"> <a href=""><img src="./resources/images/tmp/event2.jpg" alt="2022년 하반기 교육강좌 개설안내 2022.11.4(목)" /></a> </div> <div class="item"> <a href=""><img src="./resources/images/tmp/event3.jpg" alt="2022년 하반기 교육강좌 개설안내 2022.11.4(목)" /></a> </div> </div> </div> </div> </section> <!--col_c--> <section class="col_d"> <div class="box"> <h2>바로가기 링크</h2> <p class="txt">삶이 있는 배움!<span>행복학습!</span></p> <ul> <li class="link1"> <a href="#"><strong>교육신청</strong> <p>다양한 교육 프로그램을<br />신청해 보세요.</p> </a> </li> <li class="link2"> <a href="#"><strong>강사뱅크</strong> <p>깅의 중인<br />강사들의 현황파악을 해보세요.</p> </a> </li> <li class="link3"> <a href="#"><strong>묻고 답하기</strong> <p>궁금한 어떤 것이든<br />물어보세요.</p> </a> </li> <li class="link4"> <a href="#"><strong>온라인 동영상 강좌</strong> <p>온라인 비대면 강좌로<br />편하게 교육받으세요.</p> </a> </li> </ul> </div> </section> <!-- col_d--> </div> <footer> <div class="footer"> <ul class="foot_menu"> <li><a href="">개인정보 처리방침</a></li> <li><a href="">이용약관</a></li> <li><a href="">이메일수집거부</a></li> <li><a href="">사이트맵</a></li> </ul> <div class="family_site"> <button type="button" class="select">패밀리 사이트</button> <ul class="option"> <li><a href="#" target="_blank">사이트1</a></li> <li><a href="#" target="_blank">사이트2</a></li> <li><a href="#" target="_blank">사이트3</a></li> <li><a href="#" target="_blank">사이트4</a></li> <li><a href="#" target="_blank">사이트5</a></li> <li><a href="#" target="_blank">사이트6</a></li> </ul> </div> <address> 서울 강남구 학동로<br /> Tel.02-1234-5678 </address> <p class="copyright">COPYRIGHT(C) ALL RIGHT RESERVED.</p> </div> </footer> </body> </html>
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
안녕하세요 이런 풀이도 괜찮을까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.let input = `7 128 460 603 40 521 137 123`.split("\n"); let num = Number(input[0]); let arr = input[1].split(" "); function solution(arr) { let answer; let sum; let sumMax = 0; let maxNum = 0; for (let i = 0; i < num; i++) { sum = arr[i].split("").reduce((acc, cur) => { return Number(acc) + Number(cur); }, 0); if (sum > sumMax) { sumMax = sum; maxNum = arr[i]; answer = arr[i]; } if (sum === sumMax) { answer = Math.max(maxNum, arr[i]); } } return answer; } console.log(solution(arr));이런식으로 한번 풀어봤는데 이런 풀이도 괜찮을걸까요..!?
-
미해결Vue.js 끝장내기 - 실무에 필요한 모든 것
안녕하세요 401오류 질문드려요
안녕하세요 캡틴판교님 저번주 금요일에 학습노트 게시글 받기까지 된다음 오늘 다시 진행해보니 오류가 떠서 질문드립니다.swagger에서 로그인 후 토큰을 auth해주어서 post한 후에 201코드를 받았는데실제 서버에서 구동해보니 요청 payload는 잘 가는데 401오류와 함께 토큰이 필요하다고 합니다 어떻게 해야할까요?
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
sdk 오류 문의드립니다
인녕하세요 안드로이드 라이센스 추가시 오류가 나는데 해결방법 문의드립니다 기존에 c:/app/ 경로에 안드로이드 스튜디오가 깔려있었는데요xl예물레이터는 실행시 오류가나서 일단 다른 디바이스로 실행 시켰습니다.문의내용: 안드로이드 라이센스 추가시 오류1.sdk 매니저에서 영상에 나온 항목 설치(Android SDK Command-line Tools 등등)2.환경변수 설정위 두가지 내용들 다 적용된것도 확인했는데 해결방법을 모르겠습니다확인해봐야할 부분 알려주시면 감사하겠습니다
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
c++ 설치관련문의
교안에서 윈도로 설치할 경우 DevC++을 추천한다고 했습니다. 제가 유니티를 전에 사용하면서 비줄얼스튜디오2022가 이미 설치가 되어있습니다. 이경우에서도 DevC++를 설치하는 것이 나을지 아니면 이미 있는 비주얼스튜디오2022로 사용해도 되는지 각각의 장단점을 문의드립니다.
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
Error: Access denied for user 'root'@'localhost' (using password: YES) 에러
아래 질문과 동일한 에러가 발생해서 알려주신 해결책으로 진행했는데...이번에는 다른 문제가 발생했습니다.Error: Access denied for user 'root'@'localhost' (using password: YES)구글링으로 아무리 찾아서 해보아도 해결이 안되고 있습니다.아래 테이블 만들었구요권한문제인가 싶어서 user 테이블의 root 의 authentication_string 을 바꿔도 해쉬값으로 저장되지도 않고...현재는 NULL로 해놓고 있는데 도무지 해결이 되지 않습니다. 도와주세요 ㅠㅠ
-
미해결처음 만난 리액트(React)
Event handler 질문입니다.
변수 handleConfirm의 Arrow function이 실행하는 것은 어떤걸 받아서 무엇을 하는 건가요?prevIsConfirmed이 뭘 하는 녀석인지 모르겠습니다.
-
미해결프레이머를 활용하여 쉽고 간단하게 프로토타입 제작하기
스크롤 기능 사라졌나요?
스크린 크기 늘려야 스크롤이 생기네요피그마랑 똑같아진건가요
-
미해결
[JPA] 다른 컬럼명을 참조하는 연관관계에 대한 궁굼점 (referencedColumnName)
다른 컬럼명을 참조하는 연관관계에 대한 궁굼점 JPA 를 공부하며 궁굼한게 있어 질문 드립니다 !아래와 같은 테이블이 존재한다고 가정한다.QNA 테이블에 존재하는 Q_REG_USER , Q_UPD_USER 는 USER.U_SEQ 이다.이렇게 서로 다른 컬럼명을 참조하고 있을경우 어떻게 대처해야 할지몰라 방법을 찾아본 후referencedColumnName 를 사용해 명시를 해준 후 매핑을 해주니 내가 원하는 결과가 잘 나왔다.하지만 실무에서 실제로 어떻게 쓰이는지 몰라 맞는 방법을 몰라 조언을 구합니다.이런 경우에 이런 식으로 매칭을 시켜주는게 맞는지,또한 어떻게 사용하는지도 알려주시면 감사할 것 같습니다 !
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
수들의 합
해당 코드는 강사님 풀이와 비교했을 때 어떤지 궁금합니다. N, M = map(int, input().split()) list = list(map(int, input().split())) cnt = 0 for i in range(N): sum = list[i] temp = i while True: if sum == M: cnt += 1 break if sum > M: break if temp == N - 1: break temp += 1 sum += list[temp] print(cnt)
-
해결됨실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
크롤링 로켓배송 제외
안녕하세요. 문의드립니다.쿠팡 로켓배송 크롤링강의를 보고 쿠팡 1~10(위에 빨간리본상품) 중 로켓배송상품, 광고상품을 빼고 상품의 이름을 가져오고 싶은데요. 강의 보고 어떻게 적용을 해야할지 해매고 있어 문의드립니다.초보라 모르는게 많네요. 도와주세요~
-
미해결호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
스프링부트 3.0.2 querydsl + rest docs + propoerties
스프링부트 3.0.2로 따라하고 계신분들을 위한 공유입니다.queryDSLimplementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta' annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta" annotationProcessor "jakarta.annotation:jakarta.annotation-api" annotationProcessor "jakarta.persistence:jakarta.persistence-api"Spring REST Docsext { asciidocVersion = "3.0.0" }버전을 3.0.0으로 지정application.propertiesspring.h2.console.enabled=true spring.datasource.url=jdbc:h2:mem:test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.datasource.password=
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
seeder is not a constructor
yarn seed를 통해 더미데이터를 생성하려 했으나 "seeder is not a constructor" 라는 에러에 마주칩니다. 어느 부분이 잘못됫는지 알아보기 위해 에러코드를 살펴봤으나 제 코드 부분이 아닌 typeorm-extension 부분에서 에러가 나는것 같아 해결하기 어렵습니다.TypeError: seeder is not a constructor at /Users/jinyoung/Desktop/try-own-version/practice-version/node_modules/typeorm-extension/src/seeder/module.ts:122:19 at Generator.next (<anonymous>) at fulfilled (/Users/jinyoung/Desktop/try-own-version/practice-version/node_modules/typeorm-extension/dist/seeder/module.js:5:58) dataSource.ts import dotenv from 'dotenv'; //dataSource에 entity를 입력해줄때는 절대경로면 못찾아온다. 그래서 상대 경로로 써줘야함 import { User } from './src/users/entities/user.entity'; import { DataSource } from 'typeorm'; const mode = process.env.NODE_ENV || 'development'; dotenv.config({ path: process.cwd() + `/.env.${mode}` }); const dataSource = new DataSource({ type: 'mysql', host: 'localhost', port: 3306, database: process.env.DB_DATABASE, username: process.env.DB_USERNAME, password: process.env.DB_PASSWORD, charset: 'utf8mb4_general_ci', entities: [User], migrations: [__dirname + '/src/migrations/*.ts'], synchronize: true, logging: true, }); export default dataSource; package.json seed부분 설정 "seed": "ts-node ./node_modules/typeorm-extension/dist/cli/index.js seed -d ./dataSource.ts" database/seeds/create-initial-data.ts import { User } from '../../users/entities/user.entity'; import { DataSource } from 'typeorm'; import { Seeder, SeederFactoryManager } from 'typeorm-extension'; export class UserSeeder implements Seeder { async run( dataSource: DataSource, factoryManager: SeederFactoryManager, ): Promise<any> { const userRepository = dataSource.getRepository(User); await userRepository.save({ email: 'ggg@gmail.com', firstName: 'sfvs', lastName: 'wdwdwd', nickname: 'hihi', }); } } typeorm-extension 버젼 "typeorm-extension": "^2.4.2", "typeorm": "^0.3.12", 시도해본 내용1. dataSource 생성시 new DataSource({... 중략seed:["create-initial-data.ts 경로"] 추가})2. db 삭제후 다시 생성(생성시 테이블 싱크까지 맞춘후 seed 시도)3. typeorm-extension 버전 문제일까 해서 다운그레이드 시도4. typeorm 0.3대는 유지하고 0.3.11, 0.3.10등 다른 버전으로 시도결과 모두 실패
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
자바스크립트에서는 항상 맨날 힙 구현해서 풀어야했는데..
실시간 정렬해야되는 문제들 보면 거의 무조건 힙구조도 같이 이용해야하는 문제들이여서..자바스크립트로 풀때는 최소 빨라도 3~4분정도는..요로코롬Min이나 Max 힙 구조 만드는데 소요해야하고,class MaxHeap { constructor() { this.heap = [null]; } push(value) { this.heap.push(value); let currentIndex = this.heap.length - 1; let parentIndex = Math.floor(currentIndex / 2); while (parentIndex !== 0 && value > this.heap[parentIndex]) { const temp = this.heap[parentIndex]; this.heap[parentIndex] = value; this.heap[currentIndex] = temp; currentIndex = parentIndex; parentIndex = Math.floor(currentIndex / 2); } } pop() { if (this.heap.length === 1) return; if (this.heap.length === 2) { return this.heap.pop(); } const returnValue = this.heap[1]; this.heap[1] = this.heap.pop(); let currentIndex = 1; let leftIndex = 2; let rightIndex = 3; while ( this.heap[currentIndex] < this.heap[leftIndex] || this.heap[currentIndex] < this.heap[rightIndex] ) { if (this.heap[leftIndex] < this.heap[rightIndex]) { const temp = this.heap[currentIndex]; this.heap[currentIndex] = this.heap[rightIndex]; this.heap[rightIndex] = temp; currentIndex = rightIndex; } else { const temp = this.heap[currentIndex]; this.heap[currentIndex] = this.heap[leftIndex]; this.heap[leftIndex] = temp; currentIndex = leftIndex; } leftIndex = currentIndex * 2; rightIndex = currentIndex * 2 + 1; } return returnValue; } } 심지어 문제 구조에서, 힙에 들어가야하는게 객체요소이면서, 객체의 어떤 Key 값에 따라서 실시간 정렬해야할 경우엔 여기서 또 out of index , key값 더 생각해서, class MinHeap { constructor() { this.heap = [null]; } isEmpty() { return this.heap.length === 1; } _swap(a, b) { [this.heap[a], this.heap[b]] = [this.heap[b], this.heap[a]]; } push(value) { this.heap.push(value); let currentIndex = this.heap.length - 1; let parentIndex = Math.floor(currentIndex / 2); // while (parentIndex !== 0 && this.heap[parentIndex].key > value.key) { this._swap(parentIndex, currentIndex); currentIndex = parentIndex; parentIndex = Math.floor(currentIndex / 2); } } pop() { if (this.isEmpty()) return; if (this.heap.length === 2) return this.heap.pop(); const returnValue = this.heap[1]; this.heap[1] = this.heap.pop(); let currentIndex = 1; let leftIndex = 2; let rightIndex = 3; while ( (this.heap[leftIndex] && this.heap[currentIndex].key > this.heap[leftIndex].key) || (this.heap[rightIndex] && this.heap[currentIndex].key > this.heap[rightIndex].key) ) { if (this.heap[rightIndex] === undefined) { this._swap(leftIndex, currentIndex); currentIndex = leftIndex; } else if (this.heap[rightIndex].key < this.heap[leftIndex].key) { this._swap(rightIndex, currentIndex); currentIndex = rightIndex; } else if (this.heap[rightIndex].key >= this.heap[leftIndex].key) { this._swap(leftIndex, currentIndex); currentIndex = leftIndex; } leftIndex = currentIndex * 2; rightIndex = currentIndex * 2 + 1; } return returnValue; } } 요로코롬 이렇게 힙구조 작성하는데만 4~5분 먹고, 그담 문제 풀이 본격적으로 시작할 수 있습니다..파이썬의 deque 같은경우는 자바스크립트에선 Queue 구조 1분. 먹고왜 사람들이 파이썬 코테로 많이 쓰는지 알겠네요..ㄷㄷ;;import heapq , 단 1초면 모듈 가져오고, 끝이네요.코테에서 import 모듈 제한 없다면 진짜 무조건 파이썬이네요 ;;