묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
selectbox 질문드립니다.
강의 들으면서 프로젝트 간단한거 진행중인데요 여기다 질문을 올려도 되는지 잘 모르겠지만;;; 물어볼곳이 없어서요 <div class="container"> <label>수취국가: </label> <select name="countryCode" th:onchange="|location.href='@{/exchange-rate/{code}(code=${code})}'|"> <option th:each="code : ${T(toyproject.exchangerate.data.CountryCode).values()}" th:value="${code}" th:text="${code.displayCountryCode}" ></option> </select></div> selectbox 에서 선택을 변경할때마다 href 를 사용해서 선택된 값을 pathvariable 방식으로 넘기고 싶은데 방법이 없을까요?
-
미해결
selectbox 관련 질문입니다.
강의 들으면서 프로젝트 간단한거 진행중인데요 여기다 질문을 올려도 되는지 잘 모르겠지만;;; 물어볼곳이 없어서요 <div class="container"> <label>수취국가: </label> <select name="countryCode" th:onchange="|location.href='@{/exchange-rate/{code}(code=${code})}'|"> <option th:each="code : ${T(toyproject.exchangerate.data.CountryCode).values()}" th:value="${code}" th:text="${code.displayCountryCode}" ></option> </select></div> selectbox 에서 선택을 변경할때마다 href 를 사용해서 선택된 값을 pathvariable 방식으로 넘기고 싶은데 방법이 없을까요?
-
미해결팀 개발을 위한 Git, GitHub 입문
선생님, 질문이 있습니다.
선생님 안녕하세요:) 만약 Boxiting-cat이 강의 내용 처럼 Boxiting repository에 대한 push 를 할 수 있는 폴더인데 Boxing-oct가 로컬에서 먼저 생성되고, 그 안에 이미 파일이 여러가지가 존재한 다음에 git clone을 하게 되면 destination '.' is already exist ~ 이런 오류가 나오게 되는데요이 경우에는 먼저 clone을 한 뒤에 파일을 생성해야지 되는 것인가요? 정리를 하자면1. 선로컬파일생성 -> 후클론 은 안되고 2. 선클론 -> 후로컬파일생성 이 되어야 하는 것인가요? 감사합니다.
-
미해결
칼리리눅스 실행이 안됩니다.
칼리리눅스 연습용 파일 반디집으로 압축풀어서 버추얼박스열어서 설정맞추고 실행하니간 실행이 안된다고 합니다.
-
미해결UX/UI 시작하기 : Figma 입문 (Inflearn Original)
뮤직 플레이바 오토레이아웃 세로
저도 계속 세로로 묶이는 문제가 발생해서 알려주신 것 처럼 1)오토레이아웃 삭제했다가 2) 프레임 셀렉션으로 묶었는데도 계속 세로로 묶이던데 이건 왜이런걸까요?ㅜㅜ
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
HttpSession 관련해서 질문드립니다!
안녕하세요 영한님 강의 잘 듣고 있습니다. 세션관련해서 질문사항이 있습니다! HttpSession에서 key가 sessionId인 map 형태를 스프링 애플리케이션의 in-memory 형태로 저장되는 경우를 예시로 들어주셨는데 네이버 같은 대규모에서는 in-memory형태로 하지 않고 redis같은걸 이용해서 세션관리를 할 것 같습니다 HttpSession에는 in-memory 형태만 지원하나요? 인터페이스등을 제가 재구현해서 외부와 커넥션을 통해서(DB) 스토리지를 관리하는 방법은 없나요?
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
비주얼스튜디오 코드 질문
비주얼스튜디오 코드 사용법 및 환경설정 듣다가 글자 색 바꾸려고 했는데 라이브로 안돼서 고민하다가 반응형 웹에서 사용하는 코드라고 지우라고 하셨던 것 말고 다른 코드도 지웠어서 이번엔 다른코드는 남겨두고 다시 했는데 돼서 이 코드가 뭔지 질문드립니다. 1번 사진이 안됐을 때 사진이고 2번 사진이 라이브로 나타났을 때 사진인데 동영상에서는 <meta charset="UTF-8'>만 있어도 라이브에서 동작되는데 저는 <meta http-equiv="X-UA-Compatible" content="IE-edge">까지 있어야 동작되는지, 저게 뭔지 궁금합니다. 아니면 제 컴퓨터 반응이 느린걸까요? 만약 그렇다면 <meta http-equiv="X-UA-Compatible" content="IE-edge">는 무슨 뜻인지 알려주시길 부탁드립니다. 감사합니다. 1. 2.
-
미해결모의해킹 실무자가 알려주는, 파일 업로드 취약점 공격 기법과 실무 사례 분석 : PART 1
jsp 환경에서도 널바이트 공격이 가능한가요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. c언어 환경에서 널바이트 공격을 한다고 하셨는데 jsp는 불가능 한가요?
-
미해결실전! 스프링 데이터 JPA
Pageable 파라미터
안녕하세요 @GetMapping("/members") public Page<Member> list(Pageable pageable){ return memberRepository.findAll(pageable); } 저 Pageable pageable 를 구현체인 PageRequest 라는 객체를 생성 해주신다고 했습니다. 이런 과정은 argumentResolver 랑은 관계가 없는건가요 ?? (궁금해서 앞에 @ModelAttribute 를 붙여보았는데 오류발생)
-
미해결윤재성의 Kotlin 기반 안드로이드 앱 개발 Part1 - UI Programming
MainActivity에서 id로 코드를 작성할 수 없는 문제
안녕하세요 선생님! 강의를 듣던 중에 막히는 부분이 있어서 질문드립니다. 보시는 바와 같이, textview를 삽입하고 id를 text1,text2로 한 후에 코드를 작성하는 부분을 실습하던 중이었는데, 강의에서 코틀린으로는 id를 통해 바로 view 객체를 다룰 수 있다고 하셨는데, 저는 그 부분이 되지 않습니다. 프로젝트를 생성할 때 language에서 Kotlin을 선택한 것도 확인을 했는데, 왜 이런 문제가 생길까요?
-
미해결스프링 핵심 원리 - 고급편
동적 proxy에서 핸들러 참조
안녕하세요. 동적프록시 관련 내용 흥미롭게 잘 들었습니다. Proxy.newProxyInstance(OrderRepositoryV1.class.getClassLoader(), new Class[] {OrderRepositoryV1.class}, new LogTraceBasicHandler(orderRepository, logTrace)); 위 코드에서 생성되는 OrderRepositoryV1의 프록시 클래스가 아래와 같을까 추측해보았는데 맞을까요? 1. newProxyInstance의 두번째 인자로 전달한 인터페이스들을 implements 2. InvocationHandler를 인스턴스 멤버변수로 가지고 생성자에서 주입 3. implements한 인터페이스들의 메소드들을 Overriding하여 handler를 invoke 4. Proxy 클래스의 패키지는 java.lang.reflect 이고, 생성된 Proxy 객체의 패키지는 com.sun.proxy 패키지여서 생성자가 public 접근제어자여야할 것 같은데 이런 추론이 맞는 걸까요? OrderRepositoryV1Proxy implement OrderRepositoryV1{ private InvocationHandler handler; public OrderRepositoryV1Proxy(InvocationHandler handler){ this.handler = handler; // LogTraceBasicHandler 주입 } @Override String call(){ Class class = this.getClass(); handler.invoke(this, class.getMethod("call"),null); } }
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
네비게이션 작성시 아래 슬라이드 밀림
네이게이션 만드는데 계속 슬라이드가 아래로 밀립니다. 계속 찾아봤는데 해결이 안되서 질문 올렸습니다. 자꾸 질문해서 죄송해요...ㅠㅠ 아직 연습이 많이 필요한 것 같습니다. <!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="header-inner"> <header> <div class="header-logo"> <a href="#none"><img src="images/logo-b4-header.png" alt="headerlogo"></a> </div> <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> </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> </li> <li> <a href="#none">정보서비스</a> <div class="sub-menu"> <a href="#none">대학정보알림</a> <a href="#none">정보공개</a> <a href="#none">정보서비스안내</a> </div> </li> <li> <a href="#none">커뮤니티</a> <div class="sub-menu"> <a href="#none">공지사항</a> <a href="#none">참여게시판</a> <a href="#none">자료실</a> </div> </li> </ul> <div class="sub-back"></div> </div> </header> </div> <div class="content-inner"> <div class="slide"> <div> <a href="#none"><img src="images/slide-b4-01.jpg" alt="slide1"></a> <a href="#none"><img src="images/slide-b4-02.jpg" alt="slide2"></a> <a href="#none"><img src="images/slide-b4-03.jpg" alt="slide3"></a> </div> </div> <div class="items"> <div class="news"> <div class="tab-inner"> <div class="btn"> <span>공지사항</span> </div> <div class="tab1"> <a href="#none">산업대학교 동문회장배 자선골프대회<b>2016-09-12</b></a> <a href="#none">개교 100주년 기념 야외 오페라 초청<b>2016-09-10</b></a> <a href="#none">동문회장 및 운영위원장 후보자 추천<b>2016-09-09</b></a> <a href="#none">진행위원회(정회원) 선발 결과<b>2016-09-07</b></a> <a href="#none">산업대학교 동문회 개최일 변경<b>2016-08-30</b></a> </div> </div> </div> <div class="gallery"> <div class="tab-inner"> <div class="btn"> <span>갤러리</span> </div> <div class="tab2"> <a href="#none"><img src="images/gallery-b4-01.jpg" alt="gallery1"></a> <a href="#none"><img src="images/gallery-b4-02.jpg" alt="gallery2"></a> <a href="#none"><img src="images/gallery-b4-03.jpg" alt="gallery3"></a> </div> </div> </div> <div class="banner"> <a href="#none"><img src="images/banner-b4-01.jpg" alt="banner"></a> </div> </div> <div class="footer-inner"> <footer> <div class="copyright"> <div></div> <div></div> </div> <div class="family-site"> <!-- <select> <option value=""></option> <option value=""></option> <option value=""></option> <option value=""></option> </select> --> </div> </footer> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html> @charset "utf-8"; body { margin: 0; background-color: #fff; color: #333333; font-size: 15px; } a { color: #333333; text-decoration: none; } .container {} .header-inner { border: 1px solid red; } header { width: 1200px; margin: auto; height: 100px; position: relative; z-index: 10; } header div { /* border: 1px solid yellowgreen; */ /* height: 100px; */ } .header-logo { width: 200px; float: left; line-height: 130px; } .navi { width: 600px; float: right; } .content-inner {} .slide { border: 1px solid green; width: 1200px; margin: auto; } .slide > div { height: 300px; } .items { /* border: 1px solid red; */ width: 1200px; margin: auto; overflow: hidden; margin-top: 20px; } .items > div { /* border: 1px solid pink; */ height: 200px; float: left; box-sizing: border-box; } .news { width: 425px; } .gallery { width: 425px; } .banner { width: 350px; } .footer-inner { border: 1px solid red; } footer { width: 1200px; margin: auto; overflow: hidden; } footer > div { border: 1px solid blue; height: 100px; float: left; box-sizing: border-box; } .copyright { width: 1000px; } .copyright div { border: 1px solid green; height: 50px; } .family-site { width: 200px; height: 100px; } /* slide */ .slide { width: 1200px; height: 300px; position: relative; overflow: hidden; } .slide > div { width: 3600px; font-size: 0; position: absolute; top: 0; left: 0; animation: slide 10s linear infinite; } @keyframes slide { 0% { left: 0; } 30% { left: 0; } 35% { left: -1200px; } 65% { left: -1200px; } 70% { left: -2400px; } 95% { left: -2400px; } 100% { left: 0; } } /* navigation */ .menu { list-style: none; padding: 0; } .menu li { float: left; box-sizing: border-box; width: 25%; text-align: center; } .menu li > a { border: 1px solid #000; display: block; padding: 5px; } .sub-menu { border: 1px solid #000; background-color: #fff; } .sub-menu a { display: block; padding: 5px; } .sub-back { width: 500px; height: 200px; background-color: #000; } /* news & gallery */ .tab-inner { width: 95%; margin: auto; } .btn {} .btn span { border: 1px solid #000; width: 100px; display: inline-block; padding: 5px; background-color: #fff; text-align: center; border-radius: 5px 5px 0 0; border-bottom: none; margin-bottom: -2px; } .tab1, .tab2 { border: 1px solid #000; padding: 0 15px; height: 160px; } .tab1 a { display: block; padding: 5px; border-bottom: 1px solid #000; } .tab1 a:last-child { border-bottom: none; } .tab1 a b { float: right; font-weight: normal; } .tab2 { text-align: center; } .tab2 img { width: 120px; padding-top: 25px; } .banner img { width: 95%; }
-
미해결비전공자를 위한 개발자 취업 올인원 가이드 [통합편]
SM 업무에서의 이직 고민과 멘토링 관련 질의
안녕하세요 정수님! 이전에 필요할 때 마다 조금씩 듣고, 나름의 성장을 하다가 이렇게 고민이 생겨 찾아오게 되었습니다. 저는 백엔드 측면으로 Java, Spring-boot, JPA, Redis, AWS 서비스들 등 사용을 통해 서비스 배포와 약간의 운영 경험을 했고, 이를 바탕으로 좋은 기업은 아니지만 대기업 계열사 SI/SM 회사에 취업하였습니다. 담당 업무는 SM 업무라서 유지 보수 측면이 강하고, 이슈도 간단한 요청사항이 대부분이라 개발하는 부분이 적으며 개발 역량을 키우기가 어렵습니다. 서비스를 배포하고 운영해본 경험을 통해 비 서비스 회사(네카라쿠배 등 스타트업을 포함한 서비스 성격을 띄는 회사) IT 직군에 대한 채용에 대해서는 어느정도 대비가 되는 것 같습니다. 하지만, 서비스 회사에 지원함에 있어서는 아직 너무나도 부족하다고 느끼고 있습니다. (대용량 트래픽 처리, 확장성을 가진 아키텍처 구성, TDD 등..) 다음과 같은 질문들이 있습니다. - 우선, 수강평 작성 시 멘토링 이벤트는 더이상 진행하시지 않으시는건가요?! 신청하려고 보니 멘토링 정보에 정수님이 검색되지 않아서 여쭙습니다! - sm 업무 경력을 어필하기는 어렵기 때문에 사이드 프로젝트를 통해 키워야하는데, 혼자서 규모있는 프로젝트를 하기가 쉽지 않습니다. (기획, 프론트엔드 구현, 서버비용 등..) 백엔드 개발로서 사이드 프로젝트를 하려면 어느 정도 규모와 기획을 잡아야 할까요..? - 새로운 기술을 배우는 경우(도커, 쿠버, 카프카 등), 학습하는 방식에 대한 팁이 궁금합니다. 특히 쿠버네티스 같은 경우 규모가 있는 프로젝트에 적용해야 의미 있는 것으로 아는데, 개인적인 학습이나 사이드 프로젝트를 통해서 이를 어떻게 준비해야 할지 조언을 구하고 싶습니다. - 앞서 말씀드렸던 제가 부족하다고 느끼는 부분들은(대용량 트래픽 처리, 확장성을 가진 아키텍처 구성, TDD 등..) 서비스 회사에 속해 있지 않거나, 개인적으로 준비하는 경우에는 쉽게 겪을 수 없는 경험인 것 같다고 느낍니다. 이러한 경험과 역량들은 어떻게 쌓아야 할 지 조언을 구하고 싶습니다. 긴 글 읽어주셔서 감사합니다. 요즘 날씨가 추운데, 건강 조심하세요!
-
해결됨입문자를 위한 자바스크립트 기초 강의
document&methods 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 질문이 있습니다. 처음에 console.log(document.querySelecter('h1'))를 입력했을떄, 콘솔에 h1이라고 표시되는게 아니라 document h1 내용이 표시 되어야 하는거 아닌가용 ? 동영상에서는 그냥 h1이라고만 표시 되어있어서 여쭤봅니당 .. 혹시 그리고 동영상 설명란이 어디에 있을끼영 ..? 보이지않네욤,,
-
미해결함수형 프로그래밍과 JavaScript ES6+ 응용편
img.onload
L.map(img => new Promise(resolve => { img.onload = () => resolve(img); img.src = img.getAttribute('lazy-src'); } 위 코드에서 promise를 리턴하는 이유는 이미지가 로드됐을때 img를 보내주고 싶기 떄문에 하는 것이 맞나요? 그리고 img.src가 onload보다 밑에 위치하는데 이는 onload는 이벤트를 등록하는 것이고 src가 들어갔을때 onload이벤트가 실행되면서 이때 resolve가 img를 담아 리턴한다고 보면 되나요?
-
미해결스프링 핵심 원리 - 고급편
자동 프록시 생성기 동작원리에대해 질문드립니다.
강의초반에 스프링은 객체를 생성하여 빈후 처리기를 거친 후에 스프링컨테이너에 빈객체를 등록한다고 알려주셨습니다. 그런데 위 이미지에서 스프링이 객체를 생성하고 빈후처리기에 전달한 후에 빈후처리기는 모든 Advisor 빈을 스프링 컨테이너에서 조회한다고 했습니다. 그런데, 스프링컨테이너에는 아직 빈들을 등록하기 전이라 Advisor 빈들이 등록이 되어있지 않는데, 어떻게 스프링컨테이너에서 모든 Advisor빈들을 조회를 할 수 있는지 이해가 안됩니다.
-
미해결React 기반 Gatsby로 기술 블로그 개발하기
페이지 생성 시 오류가 발생해요.. ㅠ
Error: Error loading a result for the page query in "/Javascript/문법/DOM 기본문법 총정리/". Query was not run and no cached result was found. 해당 경로에 파일이 존재함에도 에러가 발생합니다. 중복된 파일이어서 삭제 후 deploy를 하고 나서 문제가 생겼네요.. ㅠ 혹시 해결책이 있을까요?
-
해결됨파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
(2.6 reindex() 관련 예제) 2.4.3.2. 예제에서 df1 = fdr.DataReader("005930", '2018-01-02', '2018-10-30')를 실행하면 에러가 뜹니다.
교수님 안녕하세요? 수업 잘 듣고 있는 학생입니다. 2.4.3.2. 예제에서 df1 = fdr.DataReader("005930", '2018-01-02', '2018-10-30')를 실행하면 아래와 같이 에러가 뜨는데 에러에 대한 설명이 이해가 잘 안 되어서요. 설명부탁드리겠습니다. 감사합니다. --------------------------------------------------------------------------- ValueError Traceback (most recent call last) <ipython-input-155-4f798ac940a0> in <module> 1 # 삼성전자 ----> 2 df1 = fdr.DataReader("005930", '2018-01-02', '2018-10-30') ~\anaconda3\lib\site-packages\FinanceDataReader\data.py in DataReader(symbol, start, end, exchange, data_source) 31 if (symbol[:5].isdigit() and exchange==None) or \ 32 (symbol[:5].isdigit() and exchange and exchange.upper() in ['KRX', '한국거래소']): ---> 33 return NaverDailyReader(symbol, start, end, exchange, data_source).read() 34 35 # KRX-DELISTING ~\anaconda3\lib\site-packages\FinanceDataReader\naver\data.py in read(self) 14 def read(self): 15 url = 'https://fchart.stock.naver.com/sise.nhn?timeframe=day&count=6000&requestType=0&symbol=' ---> 16 r = requests.get(url + self.symbol) 17 18 data_list = re.findall('<item data=\"(.*?)\" />', r.text, re.DOTALL) ~\anaconda3\lib\site-packages\requests\api.py in get(url, params, **kwargs) 74 75 kwargs.setdefault('allow_redirects', True) ---> 76 return request('get', url, params=params, **kwargs) 77 78 ~\anaconda3\lib\site-packages\requests\api.py in request(method, url, **kwargs) 59 # cases, and look like a memory leak in others. 60 with sessions.Session() as session: ---> 61 return session.request(method=method, url=url, **kwargs) 62 63 ~\anaconda3\lib\site-packages\requests\sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json) 540 } 541 send_kwargs.update(settings) --> 542 resp = self.send(prep, **send_kwargs) 543 544 return resp ~\anaconda3\lib\site-packages\requests\sessions.py in send(self, request, **kwargs) 653 654 # Send the request --> 655 r = adapter.send(request, **kwargs) 656 657 # Total elapsed time of the request (approximately) ~\anaconda3\lib\site-packages\requests\adapters.py in send(self, request, stream, timeout, verify, cert, proxies) 437 try: 438 if not chunked: --> 439 resp = conn.urlopen( 440 method=request.method, 441 url=url, ~\anaconda3\lib\site-packages\urllib3\connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw) 694 ) 695 if is_new_proxy_conn and http_tunnel_required: --> 696 self._prepare_proxy(conn) 697 698 # Make the request on the httplib connection object. ~\anaconda3\lib\site-packages\urllib3\connectionpool.py in _prepare_proxy(self, conn) 962 conn.tls_in_tls_required = True 963 --> 964 conn.connect() 965 966 def _new_conn(self): ~\anaconda3\lib\site-packages\urllib3\connection.py in connect(self) 357 if self._is_using_tunnel(): 358 if self.tls_in_tls_required: --> 359 conn = self._connect_tls_proxy(hostname, conn) 360 tls_in_tls = True 361 ~\anaconda3\lib\site-packages\urllib3\connection.py in _connect_tls_proxy(self, hostname, conn) 498 # If no cert was provided, use only the default options for server 499 # certificate validation --> 500 return ssl_wrap_socket( 501 sock=conn, 502 ca_certs=self.ca_certs, ~\anaconda3\lib\site-packages\urllib3\util\ssl_.py in ssl_wrap_socket(sock, keyfile, certfile, cert_reqs, ca_certs, server_hostname, ssl_version, ciphers, ssl_context, ca_cert_dir, key_password, ca_cert_data, tls_in_tls) 430 ) 431 else: --> 432 ssl_sock = _ssl_wrap_socket_impl(sock, context, tls_in_tls) 433 return ssl_sock 434 ~\anaconda3\lib\site-packages\urllib3\util\ssl_.py in _ssl_wrap_socket_impl(sock, ssl_context, tls_in_tls, server_hostname) 472 return ssl_context.wrap_socket(sock, server_hostname=server_hostname) 473 else: --> 474 return ssl_context.wrap_socket(sock) ~\anaconda3\lib\ssl.py in wrap_socket(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, session) 498 # SSLSocket class handles server_hostname encoding before it calls 499 # ctx._wrap_socket() --> 500 return self.sslsocket_class._create( 501 sock=sock, 502 server_side=server_side, ~\anaconda3\lib\ssl.py in _create(cls, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, context, session) 995 "client mode") 996 if context.check_hostname and not server_hostname: --> 997 raise ValueError("check_hostname requires server_hostname") 998 999 kwargs = dict( ValueError: check_hostname requires server_hostname
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
시퀄라이즈 질문드립니다..
안녕하세요 강사님 ch7에 해당하는 Sequelize 실습에서 hasMany - belongsTo 를 테이블 이름에 칼럼 만바꿔서 테스트를해보니 다음과 같은 에러가 계속 발생하였습니다. 강의에서 users ----------- comments 관계처럼 kakao ------------ talk 로 같은 관계로 테스트하였습니다. 1. kakao.js const Sequelize = require('sequelize'); module.exports = class Kakao extends Sequelize.Model { static init(sequelize) { return super.init({ name : { type : Sequelize.STRING(20), allowNull : false, unique : true, }, job : { type : Sequelize.STRING(30), allowNull : true, }, sex : { type : Sequelize.STRING(2), // 남자,여자 allowNull : false, }, created_at : { type : Sequelize.DATE, allowNull : false, defaultValue : Sequelize.NOW, }, },{ sequelize, timestamps : false, // 강제로 createAt,updatedAt 칼럼 만들지 말아줘 undescored : false, // 스네이크 케이스로 사용할꺼야 modelName : 'Kakao', tableName : 'kakao', paranoid: false, charset: 'utf8', collate: 'utf8_general_ci', }); } static associate(db) { db.Kakao.hasMany(db.Talk, { foreignKey: 'nicName', sourceKey: 'id' }); } }; 2.talk.js const Sequelize = require('sequelize'); module.exports = class Talk extends Sequelize.Model { static init(sequelize) { return super.init({ talk : { type : Sequelize.STRING(100), allowNull : true, }, created_at : { type : Sequelize.DATE, allowNull : false, defaultValue : Sequelize.NOW, }, },{ sequelize, timestamps: false, modelName : 'Talk', tableName : 'talk', paranoid: false, charset: 'utf8mb4', collate: 'utf8mb4_general_ci', }); } static associate(db) { db.Talk.belongsTo(db.Kakao, { foreignKey: 'nicName', targetKey: 'id' }); } }; 3. index.js const Sequelize = require('sequelize'); const Kakao = require('./kakao'); const Talk = require('./talk'); // NODE_ENV가 정의되지않으면 개발모드! const env = process.env.NODE_ENV || 'development'; const config = require('../config/config')[env]; const db = {}; // DB ID PWD Config_File const sequelize = new Sequelize(config.database, config.username, config.password, config); db.sequelize = sequelize; db.Kakao = Kakao; db.Talk = Talk; console.log(sequelize); Kakao.init(sequelize); Talk.init(sequelize); Kakao.associate(sequelize); Talk.associate(sequelize); module.exports = db; 어떤차이가 있는걸까요..? 저는 db.Kakao.hasMany(db.Talk, { foreignKey: 'nicName', sourceKey: 'id' }); db.Talk.belongsTo(db.Kakao, { foreignKey: 'nicName', targetKey: 'id' }); 이두줄을 kakao는 테이블의 고유한 pk가 talk테이블에 많다.(칼럼으로서는 id) 즉 talk 테이블에서 nicName이라는 칼럼을 foreignkey으로 사용하겠다.(kakao의 id를 가지고서) 라고 생각했습니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
참조자 리턴 질문입니다.
Position& operator++() { _x++; _y++; return *this; } 질문1) 제가 이해하기로는 Position&이 리턴이면 resturn *this에서 *this가 실제로 존재하는 메모리상에서 꺼내와서 쇽 넘기는거고 Position으로 리턴하면 실제값을 복사해놓고 복사된 값을 넘겨주는거다 라고 생각이 드는데 여기서 리턴타입이Position& 일때와 Position일때 와의 차이가 성능? 말고 또 존재하는게있나요? 자기자신 참조라는게 어감때문인지 Position&과 Position의 디테일한 차이를 잘 모르겠습니다. 질문2) 연산자 오버로딩 중에 무조건 리턴타입이 참조자리턴이어야하는 경우가 있나요?