묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
멘토링 관련 질문입니다.
안녕하세요. 혹시 멘토링을 강좌 외에도 받을 수 있나요? 현재 신입 노드 백엔드 개발자로 들어갔는데 저 혼자라 확신이 안생기네요. 물론, 비용은 지불하겠습니다.
-
미해결[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
[flask] pip install flask_cors 설치 오류..
flask강좌에서 pip install flask_cors가 계속 오류가 뜨는데, (아래와 같이) """ WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available. Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping """ 해결방법을 알려주시면 감사하겠습니다.. 향후 진도에서 "flask_cors"설치가 반드시 필요한지요.. 아니면 vue 관련 강좌에서만 필요한 것 인지요. 감사합니다.. 강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
이 강의가 거의 제일 처음에 있으면 좋을 것 같습니다..ㅠㅠ
안녕하세요, 강의 잘 듣고 있습니다! 구글 클라우드랑 콘다 셋업을 다하고 본 강의를 이틀정도 뒤에 들었는데 GPU을 꺼야되는 걸 이제야 알아서 봤더니 벌써 크레딧이 절반정도 깎여 있네요 .. ㅜㅜ 1. 혹시 사진상의 남은금액정도로도 실습이 가능할까요? 아니면 추가금액을 내던지 or 계정을 새로 만드는게 좋을까요? 2. 혹시 v100 -> p100으로 변경하려면 앞의 셋업 과정을 다시처음부터 반복해야 하는 건가요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
김영한 선생님 JPA INSERT 관련 질문이있습니다!
현재 회사에서 SPRING DATA JPA로 프로젝트를 진행중입니다. INSERT 를 할 때 궁금한점이 있어서 간단 예제를 작성해서 질문드겠습니다. 밑에는 간단한 예제로 작성한 엔티티입니다. (회원과 댓글 테이블) 댓글 테이블 회원 테이블 그리고 최종적으로 INSERT 를 하는 메소드입니다. 김영한 님께서 알려주신 방법으로는 연관관계에서 부모테이블이 되는 MEMBER에 값을 할당한 후 영속성 컨텍스트에 SAVE 하고 후에 영속성 컨텍스트 1차캐시에서 PK값이 최종적으로 할당된 후 다시 가져온 rs1 엔티티 객체를 자식테이블인 comment 의 Member 필드에 값을 할당한 후 comment 엔티티도 최종적으로 save 를 하면 자동적으로 FK값을 만들어 주신다고 하셨어요. 말씀대로 실제로 성공적으로 INSERT가 됩니다. 허나 궁금한 것이 하나있습니다.. ---------------------------------------------------------------------------- 예제에서는 간단한 테이블 구조이니 저런식으로 할수있곘지만 회사에서는 꽤나 DB테이블 구조가 복잡하게 되어있어서 연관관계 설정에서도 일일히 FK필드를 모두 만들어 주어서 쓰고있습니다. 예를들어 실제 INSERT 할 때도 위의 예시처럼 Member 필드를 만들어서 값을 할당해주는 것이 아니라 밑의 예시이미지 처럼 FK필드에 바로 값을 할당해주는 식으로 하고 있어요. 예시 이미지입니다. Member 엔티티는 바뀐것이 없지만 Comment 엔티티에 memberIdx 라는 Member 테이블을 참조하는 FK필드가 추가된 것을 알수있습니다. 그리고 INSERT할 때에도 MEMBER 엔티티를 save 후에 영속성 컨텍스트 1차캐시에서 꺼내온 Member 엔티티객체(rs1) 을 바로 Comment 엔티티의 Member 필드에 넣지않고 아까 생성하였던 memberIdx 라는 FK 필드에 주입해서 넣었어요. 현재 회사에서 만든 DB구조가 상당히 복잡하게 짜여져있어 엔티티에서 FK필드를 만들어주지않으면 후에 헷갈릴것 같아서 지금 현재 저런식으로 INSERT를 하고있는데요.. 저런식으로 개발하여도 상관없을까요?
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
안녕하세요... 또 에러가 너무많네요..
내 로그인정보 매번불러오기 를 보면서 loadUser 액션을 추가할때 그대로 한것 같은데 에러가 뜨네요... 저는 loadUser로 안하고 loadMyinfo 로 했는데, 그전까지 로그인도 되고 글도 써졌는데 액션 추가하고나니 저렇게 뜨고 로그인이 REQUEST 까지만 가고 무한로딩입니다.. 리덕스 툴에서 보니 성공이나 실패로 넘어가질 않아요 cors도 back의 app.js에서 app.use( cors({ origin: "http://localhost:3060", credentials: true, }) ); front의 saga index에서 axios.defaults.baseURL = "http://localhost:3065"; axios.defaults.withCredentials = true; 이렇게 하고, user saga는 function loadMyInfoAPI() { return axios.get("/user"); } function* loadMyInfo(action) { try { const result = yield call(loadMyInfoAPI, action.data); yield put({ type: LOAD_MY_INFO_SUCCESS, data: result.data, }); } catch (err) { yield put({ type: LOAD_MY_INFO_FAILURE, error: err.response.data, }); } } function* watchMyInfo() { yield takeLatest(LOAD_MY_INFO_REQUEST, loadMyInfo); } export default function* userSaga() { yield all([ fork(watchMyInfo), fork(watchLogin), fork(watchLogout), fork(watchSignup), fork(watchFollow), fork(watchUnfollow), ]); } 이렇게하고 user reducer에서는 export const initialState = { loadMyInfoLoading: false, loadMyInfoDone: false, loadMyInfoError: null, loginLoading: false, ....... 생략} export const LOAD_MY_INFO_REQUEST = "LOAD_MY_INFO_REQUEST"; export const LOAD_MY_INFO_SUCCESS = "LOAD_MY_INFO_SUCCESS"; export const LOAD_MY_INFO_FAILURE = "LOAD_MY_INFO_FAILURE"; const user = (state = initialState, action) => produce(state, (draft) => { switch (action.type) { case LOG_IN_REQUEST: draft.loginLoading = true; draft.loginError = null; draft.loginDone = false; break; ..........생략 case LOAD_MY_INFO_REQUEST: draft.loadMyInfoLoading = true; draft.loadMyInfoDone = false; draft.loadMyInfoError = null; break; case LOAD_MY_INFO_SUCCESS: draft.loadMyInfoLoading = false; draft.user = action.data; draft.loadMyInfoDone = true; break; case LOAD_MY_INFO_FAILURE: draft.loadMyInfoLoading = false; draft.loadMyInfoError = action.error; break; pages 폴더안에있는 index에는 useEffect(() => { dispatch({ type: LOAD_MY_INFO_REQUEST, }); dispatch({ type: LOAD_POSTS_REQUEST, }); }, []); 이렇게 했는데.. 왜 안되는걸까요..? 긴글읽어주셔서 감사합니다,,,
-
미해결자바스크립트 중고급: 엔진 핵심
질문 있습니다.
제가 이해한 2가지를 적어보면 아래와 같습니다. 1. 함수가 호출될 때 실행 컨텍스트가 만들어진다. 2. 실행 컨텍스트가 만들어질 때 외부 렉시컬 환경 참조에 설정되는 것은 해당 실행 컨텍스트를 만들고(호출하고) 있는 실행 컨텍스트의 환경 레코드를 설정한다. 예를들어 아래 샘플코드에서는 add(200)이 호출될때 만들어지는 실행 컨텍스트의 외부 렉시컬 환경 참조에는 outer0() 실행 컨텍스트의 환경 레코드{value0:300, add:function, get:function}가 설정 된다. 최종적으로 add(200)의 실행 컨텍스트는 아래와 같다 이게 맞는 설명 인가요? outer0() 실행 컨텍스트 : { 렉시컬 환경 컴포넌트 : { 환경 레코드 : { value0 : 300, add : function, get : function } } } add(200) 실행 컨텍스트 : { 렉시컬 환경 컴포넌트 : { 환경 레코드 : { param : 200 }, 외부 렉시컬 환경 참조 : { // outer0 실행컨텍스트의 환경 레코드를 참조 value0 : 300, add : function, get : function } } } function outer0() { var value0 = 300; function add(param) { value0 += param; }; var get = function() { return value0; } add(200); console.log(get()); }; outer0();
-
해결됨코로나맵 개발자와 함께하는 지도서비스 만들기 1
모바일웹에서 현재위치 미작동
안녕하세요. localhost:3000에서는 강의내용 테스트 완료했습니다. 우분투서버에 올리고, 안드로이드에서 '크롬'이나 '네이버'앱으로 접속해봤습니다. 내위치 정보가 진행되지 않네요. 아이폰 시뮬레이터로도 해보니 내위치정보가 작동하지 않습니다. 모바일 이용시 내위치정보 관련해서 추가로 검토해야할 것이 있는지요?
-
미해결MATLAB으로 시작하는 프로그래밍
plotyy 함수 질문
다음과 같은 오류가 발생합니다... 다음 사용 중 오류가 발생함: plot 벡터들의 길이는 같아야 합니다. 오류 발생: plotyy>fevalfun (385번 라인) h = feval(func,x,y); 오류 발생: plotyy (78번 라인) [h1,ax(1)] = fevalfun(fun1,ax(1),x1,y1,caxspecified); 오류 발생: textread_test (24번 라인) plotyy(1:3500, temper,1:3500, psu) 아래와 같이 코드를 작성하였습니다. temper = flipud(temper); psu = flipud(psu); plotyy(1:3500, temper,1:3500, psu) legend('temper', 'psu') 원인이 뭔지 알고싶어요
-
미해결쉽고 빠르게 끝내는 GO언어 프로그래밍 핵심 기초 입문 과정
Powershell 창이 떠요.
명령프롬포트 속성( 레거시 콘솔 사용으로)바꿨는데... new terminal 터미널을 열면 Powershell 창이 떠요.
-
미해결캐글 Advanced 머신러닝 실전 박치기
def함수에서 이해가 가지 않는 부분이 있습니다.
해당 함수에서 is_amt가 true이면 필터링 조건 넣는 곳이 이해가 가질 않습니다. is_amt가 true이면 if is_amt=True: cond_amt=df[column]<500000 이라고 생각했는데 적어주신 조건은 어떻게 되는건지 이해가 가질 않습니다.
-
해결됨홍정모의 따라하며 배우는 C++
#define의 효력이 미치는 범위와 관련해서 질문 있습니다.
#define LIKE_APPLE #include "different_source.h" 이 순서대로 코드를 작성하니 "Apple"이 출력되었습니다. 그러면 강의에서 "Orange"가 출력된 것은 LIKE_APPLE의 정의가 헤더파일을 포함시키는 부분 뒤에 있기 때문이 아닌가요? 이 경우에는 LIKE_APPLE의 정의가 그 아래에 포함된 헤더파일에 영향을 미친다고 할 수 있지 않나요? (윈도우, mingw64, vs code 사용중입니다)
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
제대로 작동이 안되요
윈도우고 아톰도 깔았고, 파이썬도 깔았는데 print 쓰면 빨간색으로 autocomplete-python traceback output: 이렇게 오류가 뜹니다. 인터넷 찾아보니 파이썬을 못찾는다고해서 다시깔고해봐도 안되네요 cmd에서 python 치면 파이썬 인터넷창이 켜집니다. idle 은 정상 작동되구요, 어떻게 해야 하나요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
20x 상태코드에 대한 질문입니다.
이런 수업이 다른 곳에 없다보니 질문이 많게 되네요 ;; 저같은 경우 게시글 추가 API, 회원가입API 같은 경우 post method로 클라이언트에서 서버로 요청하고 서버는 그 요청에 성공적으로 응답할 때 200 상태코드와 함께 post_id나 user_id를 리턴하도록 하였습니다. 만약 헤더내의 location을 이용한다면 user_id, post_id까지 사용하지 않게 될테니 204로 리턴해도 되겠네요. 그런데 201 스펙처럼 클라에서 요청한 데이터값을 서버가 다시 리턴하는 이유가 있을까요? 왜냐하면 게시글추가라던지, 회원가입이라던지 어차피 클라이언트에서 보낸 데이터라 클라이언트에서 쿠키에 저장하면 될 것 같거든요. 불필요하게 서버에서 클라이언트에게 '클라이언트가 보낸 데이터'를 보낼 필요가 있는가에 대한 의문이 들어서 질문하게 되었습니다.
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
질문있습니다.
질문1. zip을 만드는것 까지는 성공했는데 그 뒤 sudo unzip awscliv2.zip 명령어를 치면 저런 오류가 납니다. sudo를 빼거나 낮은 권한으로 해도 저 오류가 계속뜨네요.. 저 오류에 대해 구글링을 해서 여러가지 시도를 했지만 해결이 안되네요 어디서 잘못했을까요... 질문 2. 탄력적 ip를 받는것 까지 했습니다. 프론트가 3.35.154.166 백엔드가 52.79.107.170 그런데 도메인을 구입하지 않고 배포하려는 경우 app.js의 if (process.env.NODE_ENV === 'production') { app.use(morgan('combined')); app.use(hpp()); app.use(helmet({ contentSecurityPolicy: false })); app.use(cors({ origin: 'http://nodebird.com', credentials: true, })); } else { app.use(morgan('dev')); app.use(cors({ origin: true, credentials: true, })); } app.use(session({ saveUninitialized: false, resave: false, secret: process.env.COOKIE_SECRET, cookie: { httpOnly: true, secure: false, domain: process.env.NODE_ENV === 'production' && '.nodebird.com' }, })); 이부분과 config.js의 export const backUrl = process.env.NODE_ENV === 'production' ? 'http://api.nodebird.com' : 'http://localhost:3065'; 이부분을 바꿔주어야 할것 같은데 어떠한 형태로 바꿔주어야 하나요? 또한 위의 코드말고도 고쳐야 할 곳이 있는지 궁금합니다?
-
해결됨초보자를 위한 HTML 기초
address 요소 설명 중 궁금한 것이 있어서 질문드립니다.
- 스펙 문서를 보면 중에 https://html.spec.whatwg.org/multipage/sections.html#the-address-elementaddress의 요소에 대한 관한 설명을 보면 연락처 정보를 나타낸다고 나오는데 , 그 중에서 연락처 정보(contact information) 외 이외의 다른 정보를 담으면 안된다고 해서요.아래는 스펙 문서 내용입니다. ------------------------------------------------------------------------------------------------------------------- The address element must not be used to represent arbitrary addresses (e.g. postal addresses), unless those addresses are in fact the relevant contact information. (The p element is the appropriate element for marking up postal addresses in general.) The address element must not contain information other than contact information. -------------------------------------------------------------------------------------------------------------------그런데 강의에서는 발행자 정보(작성자명, 발행일자 등)를 담아낼수 있다고 해서 궁금해서 질문합니다.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
Cannot read property 'push' of undefined
자꾸 Cannot read property 'push' of undefined 에러가 발생하는데, John Ahn님 깃허브에 들어가봐도 원인을 잘못찾겠어서 ㅠㅠ 질문남깁니다.
-
미해결웹 게임을 만들며 배우는 React에 TypeScript 적용하기
lodash 사용 유무에 대한 고견을 듣고 싶습니다.
우선 해당 강의와 연관성 없는 질문 죄송합니다. 현업에서 lodash 라이브러리를 사용하는 것에 대해 어떻게 생각하시는지 궁금합니다. 선생님께서는 최신 JS 문법들을 활용하고 조합하시는 것 같아서 궁금합니다.
-
미해결함수형 프로그래밍과 JavaScript ES6+
lodash 사용 유무에 대한 질문.
선생님께서는 현업에서 lodash 라이브러리를 사용하는 것에 대해 어떻게 생각하는지 궁금합니다. 필요한 함수들을 전부 직접 만들어 사용하시는 편이신가요?
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
put/patch에 대한 질문입니다
회원정보수정할 때 "patch를 사용할까?"라는 궁금증이 생겨서 질문하게 되었습니다. 왜냐하면 회원정보 수정시 patch개념을 이용하여 수정하게 되면 서버 로직에서 유저 정보 데이터 유무에 따라 분기하여 db에 update하게 되어 중복되는 코드가 많아진다고 생각했습니다. // 회원정보수정 API에서 nickname, email 바디값을 받는다고 했을 때 // 아래 코드와 같이 구현해야한다고 생각했습니다. if(nickname){ update user set nickname = 'inflearn' where id = 1 } else if (email){ update user set email = 'inflearn@gmail.com' where id = 1 } // 왜냐하면 만약에 회원정보수정 API에서 클라이언트에서 nickname은 보내고 email은 안보내는 상황에 // if문같은 분기가 없으면 아래 코드와 같이 email에 null값이 들어갈 것으로 예상되었기 때문입니다. update user set nickname = 'inflearn', email = null where id =1 그래서 저같은 경우는 회원정보수정API는 put메서드를 사용하고 유저정보를 다 보내도록 했습니다. 그리고 회원정보수정API에 모든 회원정보 데이터를 보내도록 하고 아래 코드와 같이 회원정보수정API 로직이 시작하는 부분에 모든 예외상황을 생각해서 바디값이 왔는지 유무를 체크하여 예외처리하는 식으로 구현했습니다. if (!profile_nickname) return res.status(400).json({ code: 'invalid_profile_nickname' }) 그러다보니 클라이언트에서는 회원정보 수정데이터가 10개중에 하나만 바뀌어도 모든 데이터를 회원정보수정API에 보내는 비효율적인 문제가 생기더라고요. 저도 제가 구현한 방식이 비효율적인 걸 알고 있는데 어떻게 구현하는게 맞는지 생각이 나지않아 질문하게 되었습니다. 어떻게 하면 patch를 잘 이용할 수 있을까요?현재 저 같은 경우는 수정과 관련된 API이면 put만 사용하고 예외적으로 patch를 사용하는 경우는 비밀번호 변경일 때만 사용했는데요. 왜냐하면 user테이블의 비밀번호 부분만 변경을 하는거니까 patch를 사용하는게 맞다고 생각했습니다.
-
미해결HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)
ㅜㅜdiv가 왜 0.5초만 보여지고 다시 감춰질ㄲㅏ요
ㅜㅜdiv가 왜 0.5초만 보여지고 다시 감춰질ㄲㅏ요