묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
시퀄라이즈 다대다관계 질문이 있습니다.
안녕하세요. 강의 듣고 조금씩 변형해가면서 연습하고 있습니다. User와 Follow 모델을 참고해서 User와 UserRealation (판매자-구매자 관계)를 작성했습니다. const User = sequelize.define('User', { // MySQL에는 users 테이블 생성 id: { // 사업자번호 type: DataTypes.STRING(30), allowNull: false, // 필수 unique: true, // 유일한 값 primaryKey: true, }, ... 중략 User.associate = (db) => { db.User.belongsToMany(db.User, { through: 'UsersRelation', as: 'Providers', foreignKey: 'customerId' }); // 판매자-구매자 관계 db.User.belongsToMany(db.User, { through: 'UsersRelation', as: 'Customers', foreignKey: 'providerId' }); // 판매자-구매자 관계 판매자가 구매자를 등록하는 (팔로워 등록과 유사)간단한 API는 이렇고요, export function addCustomerAPI(data: { providerId: string, customerId: string } ) { return axios.patch('/user/addcustomer', data).then((response) => response.data); } 이걸 실행하면 라우트에서 try { const customer = await User.findOne({ // 아이디 찾기 where: { id: req.body.customerId, } }); const provider = await User.findOne({ // 아이디 찾기 where: { id: req.body.providerId, } }); if (!customer || !provider) { return res.status(403).send('해당 아이디가 존재하지 않습니다.'); } // await provider.addCustomers(req.body.customerId); await customer.addCustomers(req.body.providerId); res.status(200).json({ customerId: req.body.customerId }); // res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3060'); } 이렇게 처리하는 방식입니다. tester1이라는 판매자 아이디로 로그인해서 tttt라는 구매자를 등록하는 과정인데 제 생각으로는 await provider.addCustomers(req.body.customerId); 이렇게 해야 providerId : tester1, customerId: tttt 이렇게 들어갈것 같은데 실제로 sql에서 까보면 반대로 들어가있습니다. 그래서 await customer.addCustomers(req.body.providerId); 이렇게 해야 제가 의도한대로 들어가는데.. customer에 addcustomer로 providerId를 넣는다는게 좀 이해가 안되서 헷갈리네요. (req.body를 까보면 providerId: tester1, customerId: tttt로 잘 받아왔습니다.) 처음에는 db.User.belongsToMany(db.User, { through: 'UsersRelation', as: 'Providers', foreignKey: 'providerId' }); // 판매자-구매자 관계 db.User.belongsToMany(db.User, { through: 'UsersRelation', as: 'Customers', foreignKey: 'customerId' }); // 판매자-구매자 관계 이렇게 했다가 강의에있는 User모델 보고 db.User.belongsToMany(db.User, { through: 'UsersRelation', as: 'Providers', foreignKey: 'customerId' }); // 판매자-구매자 관계 db.User.belongsToMany(db.User, { through: 'UsersRelation', as: 'Customers', foreignKey: 'providerId' }); // 판매자-구매자 관계 이렇게 바꿔놓은건데도 동일하게 작동합니다. SQL도 잘 못하긴 하지만 그냥 SQL INSERT문으로 생각하면 간단한데 시퀄라이즈 모델 개념이 부족해서 너무 헷갈리네요..
-
미해결실전! Querydsl
querydsl 스프링부트에 적용시 질문이 있습니다
빌드된 파일이 있을 경우엔 상관이 없지만 ./gradlew clean 을 돌려서 빌드파일을 모두 삭제하고나서 어플리케이션을 실행하면 QMember 를 찾을 수 없어서 실행이 되지 않습니다. 저는 클린했다가 어플리케이션 run만 돌려도 실행이 가능해야 한다고 생각합니다. 그냥 빌드돌리고 run 하도록 하는게 맞을까요?
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
강의 자료를 요청합니다.
안녕하세요. 강의를 잘 수강하고 있습니다. 강의자료가 있으면 많은 도움이 될 것 같습니다 인프런 아이디 - charles2u 이메일 - charles2u@hanmail.net
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
제 방식대로 풀어봤는데 어디가 틀린지를 모르겠습니다..
a=int(input()) b=list(map(int,input().split())) c=[] d=[] for i in range(a-1): if len(c)==0: if b[0]<b[-1]: c.append(b[0]) else: c.append(b[-1]) elif len(c)!=0: if b[0]>b[-1]: if c[-1]<b[-1]: c.append(b.pop()) d.append("R") elif c[-1]>b[-1]: break if b[-1]>b[0]: if c[-1]<b[0]: c.append(b.pop(0)) d.appnend("L") elif c[-1]>b[0]: break if len(b)==1: if b[0]>c[-1]: c.append(b[0]) d.append("L") break print(len(c)) print(d)
-
미해결실무에서 바로 쓰는 영어 이메일
과제 제출은 어디서 하나요?
첨삭지도 받고 싶은데.. 어디에 제출해야 하는지 모르겠습니다
-
해결됨입문자를 위한 자바스크립트 기초 강의
할일 목록 만들기
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 선생님 ㅠㅜㅠㅜㅜㅜㅜ 매번 질문 드려서 죄송해요 선생님 다름이 아니라 프로젝트 열심히 따라해봤는데 할일 목록 만들기는 너모 어려워서 ,,ㅠㅠㅠ 아무리 읽고 유튜브 참조해도 잘 모르겠더라구요ㅠㅠ 이틀 내내 붙잡고 있는데 이해가 잘 안되네요ㅜㅜ,,,제가 선생님 유투브도 많이 봤었는데 !! 얘는 따로 영상이 없더라구요 !!! 혹시 ,,선생님께서 할일목록만들기 영상 찍어 두신게 있으시면 올려주실수 있으실까 해서요,,,,, 제가 너무 바보라서 영상을 보고 따라해서 이해가 갈것같아요...ㅜㅜㅜㅜ 너무 죄송합니다 !!!
-
미해결대세는 쿠버네티스 (초급~중급편)
강의순서질문
Getting started - Kubernetes - 실습 << 해당영상 실습해보려 하는데 초기 설정하는법이 궁금합니다..
-
미해결리눅스 입문 - 개념으로 탄탄히!!
설치관련 질문
가상머신 대신 wsl을 사용해도 되는건가요? 가상머신 설치하였는데 ubuntu 세션을 열수 없다고 나오면서 not in a hypervisor partition, VT-x is disabled in the BIOS for all CPU modes라고 나와서 서치하다보니 wsl사용하라고 나오는데 이걸 사용해도 강의 실습에 문제가 없는건가요?? 그리고 위와같은 오류가 왜 나오는건가요? 항상 친절한 설명 감사드립니다.
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
Type Error
Type Error 라고 나오는데 뭐가 문제일까요..?
-
미해결iOS SwiftUI AR 증강현실
질문드립니다~
안녕하세요~ 좋은강의 잘 따라하고 있습니다.^^ 지금 3D 모델 실제 환경에 위치 시키기 챕터까지 따라했는데요.. 강의에서는 Animation 을 구현할때 예를들어 로봇의 동작을 animation 키로 동작할때.. key 를 누르면 로봇의 팔이 움직이고 머리가 동시에 움직입니다. 이는 당연히 로봇 usdz 에 animation 이 동시에 움직이게 설정 되있어서 그런거겠지요? 혹시 key 를 나눠서 팔따로 머리따로 움직이게 하는 key 를 만들수도 있을까요? Reality composer 에서 만든 여러개의 연출에 key 값을 주고 싶은데 어떤 방법이 있을까요?
-
미해결모의해킹 실무자가 알려주는, SQL Injection 공격 기법과 시큐어 코딩 : PART 1
실습 환경 중 Oracle DB sys계정 정보 가르쳐 주실 수 있는지 궁금합니다.
안녕하세요. 크리핵 티브님 제가 개인적으로 JDBC와 JSP를 이용한 개발 학습을 하려고 하는데 sysdba 권한이 있는 계정 접속이 필요합니다. 그래서 제공해주신 웹 환경의 Oracle DB의 sys계정의 password를 가르쳐 주셨으면 합니다. 확인 후 답변 부탁드리겠습니다. 감사합니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
안녕하세요 강사님
저는 공부를 하면서 블로그에 정리하는 습관이 있는데요. 혹시 강의 자료의 어느 부분과 코드 부분을 스크린 샷을 통해 정리 해도 될까요..? 물론 reference는 달겠습니다. 가능할까요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
start.spring.io 사용이유
안녕하세요! 강의를 듣다가 궁금한 내용이 있어 질문드립니다. 인텔리제이에서 새 프로젝트를 생성할 수 도 있는데 start.spring.io에서 프로젝트를 생성하는 이유가 궁금합니다! 구글에 검색해봤는데 이유까지는 잘안나오네요;
-
해결됨공공데이터로 파이썬 데이터 분석 시작하기
groupby 데이터 인덱싱
선생님 강의 감사합니다. groupby로 가공한 데이터를 인덱싱처리할때 예를들어 df.groupby(['A', 'B'])['C'].count()가 있다고 하면 영상에선 강남구 , 즉 df.loc['A']로 강남구 인덱스의 데이터를 다 볼 수 있었는데요 반대로 df.loc['B']는 작동을 안하던데 이건 불가능한 방법인가요?? df.loc['B']를 실행시키려면 반드시 A와 B의 순서를 바꾸어 groupby 를 해주는 것 이외는 방법이 없나요
-
미해결파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
저는 ID선언때 set을 이용하였는데 이렇게 해도 괜찮을까요
(사진)
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
수업자료로 시간 단축 해보는 중에 궁금한게 생겨 질문드립니다.
안녕하세요 수강생입니다. 연습문제 보던중 재미있는 생각이나서 테스트중이었는데요. 수업자료에서의 방법으로 작업하면 총 100의 일이 있을때 코어가 4개면 1~25/26~50/51~75/76~100 이렇게 나누어진다 생각하였고 상대적으로 1~25이 빨리끝나고 76~100이 늦게 끝나니 시간적으로 손해가 생긴다 생각하였습니다. 그리하여 저는 CountPrime 함수 부분을 수정하였는데 start=i ,end=Max_NUMBER로 받아오고 (i는 main함수부의 for(int i=0;i<coreCount;i++)의 i입니다.) 추가로 coreCount를 받아와서 for ( int number = start; number<end; number+=coreCount) 로 구현하였습니다. 이러면 제 생각으로는 100개의 일을 4개의 코어가 나누어 일한다고 치면 코어1 : 1 5 9 13 17~~ 코어2 : 2 6 10 14 18~~ 코어3 : 3 7 11 15 19~~ 코어4 : 4 8 12 16 20~~ 이런 방식으로 나누어서 작업하고, 상대적으로 오래걸리는 76~100번대 일을 코어들이 골고루 나눠받은만큼 소요시간 역시 적게 걸릴것이라 예상했습니다. 그러나 결과적으로 소요시간은 같게나왔으며 생각하지못한 CPU 이용률에서 차이가 났습니다. (기존방식 cpu 100% 수정시 cpu 60%) 참고로 Max값은 100,000,000으로 잡고 진행하였고 소요시간은 33초 ~ 34초 근처로 나왔습니다. 질문드리고 싶은것은 위 상황에서 소요시간 차이가 거의 나지않는 이유와 CPU 사용량에 차이가 나게되는 이유를 알고싶습니다.
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
String[] 으로 선언한 s 변수가 제 생각대로 출력이 되지 않음. (문제풀이엔 상관 업지만, 개념적인 부분)
import java.util.Scanner;public class Main3 { public String solution(String str) { String answer = ""; int m = Integer.MIN_VALUE; String[] s = str.split(" "); System.out.println(s); // 이렇게 하면 ["it" , "is" , "time"] 이렇게 보일 줄 알았는데 왜 안 보일까? for (String x : s) { System.out.println(x); } return answer; } public static void main(String[] args) { Main3 T = new Main3(); Scanner kb = new Scanner(System.in); String str = kb.nextLine(); // next는 공백을 기준으로 한 단어 또는 한 문자씩 입력받는다. 쉽게 말해 공백 이후의 글자는 날라간다?! nextLine은 문장 전체가 공백 포함해서 통으로 입력됨 System.out.println(T.solution(str)); }}질문위의 코드 중에에서 System.out.println(s); 이 부분이 이렇게 하면 ["it" , "is" , "time"] 이렇게 보일 줄 알았는데 왜 안 보일까요?
-
해결됨SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법
데모DB와 스크립트파일은 어디에 있을까요?
안녕하세요 데모DB와 스크립트파일이 어디있는지 못찾겠는데 해당 링크나 위치 알 수있을까요?
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
실행이잘안되네요
- 안녕하세요 제가 첨이라 잘안되는데요 그대로 적은것같은데 오류가자꾸뜹니다 오류내용은 아래와같습니다import requests from bs4 import BeautifulSoup header ={'User-agent':'Mozila/2.0'} response = requests.get("https://www.naver.com",headers=header) html =response.text soup = BeautifulSoup(html,'html.parser') title = soup.select_one('.link_hdline_article') print(title) LEEui-MacBook:파이썬장인의폴더 leeahreum$ /usr/local/bin/python3 /Users/leeahreum/Desktop/파이썬장인의폴더/index.py None print(title.text) Traceback (most recent call last): File "/Users/leeahreum/Desktop/파이썬장인의폴더/index.py", line 12, in <module> print(title.text) AttributeError: 'NoneType' object has no attribute 'text'
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
변경감지로 코드를 변경할 때
지금 예제에서는 Book만 수정을 하니 만약에 Book만 가지고 있는 멤버인 ISBN과 작가를 수정하려면 이렇게 케스팅 해주는 방법밖에 없을까요? updateItem 메소드 하나로 item을 상속 받는 구현체들인 Book, Album, Movie를 업데이트 하는 방법이 있는지 궁금하고 혹은 있더라도 그것 보다는 각각을 따로 Dto를 만들어서 updateBook 이런식으로 하는게 더 좋나요? 저는 일단 다운캐스팅으로 Dto 따로 안만들고 했습니다.