묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
프로그래밍 언어 기초와 파이썬 이해 강의 재생이 안돼요
이렇게 뜨고 강의가 재생이 안됩니다.... 아래 강의만 이렇게 뜨고 나머지는 다 잘 재생돼요 ㅠㅠ 프로그래밍 언어 기초와 파이썬 이해
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
부트 버전 높은 걸로 하다가 화이트라벨 에러 뜨신 분 참고
https://www.inflearn.com/questions/94189 전 이걸로 해결했습니다. 높은 버전에서는 application.properties에 추가로 넣어줘야될 게 있군요. 코딩 관련 인강 들으면서 제일 문제는 버전 차이에 따른 오류인 것 같네요. 코딩 인강은 수강생의 이런 문제에 관한 사후 운영, 관리가 더 중요한 거 같아요.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
errors.yml
안녕하세요. 선생님 강의 너무 잘 듣고 있습니다. 제가 얼마 전부터 yaml 형식에 대해서 알게 돼서 applicaiton.properties도 appilcation,yml로 설정을 옮겨보고, 이번에도 마찬가지로 errors.properties -> errors.yml로 바꿔봤는데 에러가 발생합니다. errors.properties 도 yml로 변경하면 스프링이 받아들이지 못하는 걸까요? # Lever 1#required.item.itemName=상품 이름은 필수입니다.#range.item.price=가격은 {0} ~ {1} 까지 허용합니다.#max.item.quantity=수량은 최대 {0} 까지 허용합니다.### Level 2#totalPriceMin=가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1}required: item: itemName: 상품 이름은 필수입니다.range: item: price: 가격은 {0} ~ {1} 까지 허용합니다.max: item: quantity: 수량은 최대 {0} 까지 허용합니다. # Level 2totalPriceMin: 가격 * 수량의 합은 {0}원 이상이어야 합니다. 현재 값 = {1}
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 4 뮤직비디오 문제에 대해서 질문드립니다.
안녕하세요 선생님, 복습 중에 이해 되질 않는 점이 있어 문의드립니다. 반례 수정 영상 까지 전부 보았습니다. 말씀 해주신대로 dvd 한 장의 길이가 최소한 노래들 중에서 가장 긴 곡보다는 길어야 하므로 저는 아예 처음부터 lt를 노래들 중 가장 긴 곡으로 설정하였고, 이를 적용한 풀이는 아래와 같습니다. n, m = map(int, input().split()) song = list(map(int, input().split())) song.sort() def count(length): cnt = 1 # 최소 1장 size = 0 for i in range(n): if size + song[i] > length: cnt += 1 size = song[i] else: size += song[i] return cnt lt = max(song) # 최소한 가장 긴곡의 길이보다는 길어야 하니까(노래 쪼개지면 안됨) rt = sum(song) res = 0 while lt <= rt: mid = (lt + rt) // 2 if count(mid) <=m: res = mid rt = mid - 1 else: lt = mid + 1 print(res) 여기서 두 번째 테스트 케이스를 실행하였을 때 원래 답인 24가 아니고 23의 결과를 도출하는데요, 실제로도 23으로도 3장에 담는 것이 가능한 것을 확인하였습니다. 테스트 케이스 답안에 문제가 있는 걸까요? 확인해주시면 감사하겠습니다. (수정) 죄송합니다 선생님, 이진검색은 정렬된 자료에서 써야하는 것을 엉뚱하게 주어진 자료에다가 정렬을 해버렸네요. 다른 사람들도 도움이 될 수있도록 질문글은 남겨두겠습니다. 좋은 강의 감사합니다!!!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
cascadeType.ALL + orphanRemoval = true 를 동시에 사용할 때
mappedby 속성은 연관관계의 주인이 1:多 관계에서 多쪽(Member엔티티쪽)이라는 것을 명시하는데 cascadeType.ALL + orphanRemoval = true 속성은 1쪽(Team엔티티쪽)에서 FK를 관리하는 느낌을 받고있습니다. 두 상반된 개념이 함께 적용되는것 같아 이해하기가 어렵습니다... 이해를 하고싶어 다음 두 예제를 비교하고 있는데요. p.185의 예제 5.13 (mapped by) p.309의 예제 8.17 (cascade) 사실 p.185에서 적용하지 않아도 됐던 getMembers().add(member)를 p.309에서는 Parent와 Child 관계로 getChildren().add(child)와 같이 적용하는 모양새입니다. (p.309 예제의 엔티티에도 mapped by 설정을 해줬음에도) 답변부탁드립니다. 감사합니다.
-
해결됨Spring Boot JWT Tutorial
jwt 에러에 따라 나가는 응답을 다르게 하려면 어떻게 해야할까요?
jwtProvider 쪽 try ~ catch문을 보면 jwt에러에 여러 종류가 있는데 그중에서 토큰 만료의 경우(ExpiredJwtException) 단순 UNAUTHORIZED이 아니라 추가적으로 메세지를 주거나 다른 코드로 구분되게 하고싶은데요? 어떤 방법이 있을가요??
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
커스텀 폰트 적용할 때 font.xml파일
커스텀 폰트 적용방법 복습하다가 문의 드립니다. 강사님께서 알려주신 방법에는 폰트를 font directory에 넣고 textview에서 fontFamily 속성으로 바로 적용하셨는데, 검색하다보니 directory에 넣고나서 font.xml이라는 리소스 파일을 생성해서 집어넣고 fontFamily로 적용을 하던데 그 둘의 차이점을 알 수 있을까요?
-
미해결더 개발자, 인터뷰 가이드
자기소개서 항목 질문
안녕하세요. 미션에 글이 올라왔지만 답변이 없더라구요. 미션에 올리면 답을 받을 수 있는건가요? 저는 직무 준비 노력 사항에 대한 항목과 관련해서 질문을 드리고 싶습니다. 정확히 언급하신 질문에는 없는 내용이지만 혹시 피드백 받을 수 있을까요?
-
미해결Vue로 Nodebird SNS 만들기
팔로우 팔로잉 관계가 작동하지 않습니다ㅜ
안녕하세요! 제로초님 처럼 팔로잉 팔로워 관계를 확인해 보려고 6개의 아이디를 가입후에 하나로 5개의 아이디를 팔로우하여 프로필에 들어갔는데 아이디 2 3 4는 팔로우해도 뜨지 않고 아이디 5와 6만 프로필에 뜹니다. 게다가 제로초님 처럼 가로로 3개씩 안나오고 세로로 뜨네요ㅜ 이런 식으로 팔로우를 했는데 이렇게 5와 6만 뜹니다 팔로잉에요 제로초님 코딩과 비교해보고, 테이블도 다 드랍해보고 해봐도 같은현상이 반복됩니다 ㅜ 무슨문제인지 알 수 있을까요?? routes/user.js router.post('/:id/follow', isLoggedIn, async (req, res, next) => { try { const me = await db.User.findOne({ where: { id: req.user.id } }); await me.addFollowing(req.params.id) res.send(req.params.id) } catch (err) { console.error(err) next(err) } }) router.delete('/:id/follow', isLoggedIn, async (req, res, next) => { try { const me = await db.User.findOne({ where: { id: req.user.id } }); await me.removeFollowing(req.params.id) res.send(req.params.id) } catch (err) { console.error(err) next(err) } }) router.get('/:id/followings', isLoggedIn, async (req, res, next) => { try { const user = await db.User.findOne({ where: { id: req.user.id}, }) const followings = await user.getFollowings({ attributes: ['id', 'nickname'], limit: parseInt(req.query.limit || 3, 10), offset: parseInt(req.query.limit || 0, 10) }) res.json(followings) } catch (err) { console.error(err) next(err) } }) router.get('/:id/followers', isLoggedIn, async (req, res, next) => { try { const user = await db.User.findOne({ where: { id: req.user.id}, }) const followers = await user.getFollowers({ attributes: ['id', 'nickname'], limit: parseInt(req.query.limit || 3, 10), offset: parseInt(req.query.limit || 0, 10) }) res.json(followers) } catch (err) { console.error(err) next(err) } }) router.delete('/:id/follower', isLoggedIn, async (req, res, next) => { try { const me = await db.User.findOne({ where: {id: req.user.id} }) await me.removeFollower(req.params.id) res.send(req.params.id) } catch (err) { console.error(err) next(err) } }) store/users.js mutations loadFollowing(state, payload) { if(payload.offset === 0) { state.followingList = payload.data } else { state.followingList = state.followingList.concat(payload.data); } state.hasMoreFollowing = payload.data.length === limit }, loadFollower(state, payload) { if(payload.offset === 0) { state.followerList = payload.data } else { state.followerList = state.followerList.concat(payload.data); } state.hasMoreFollower = payload.data.length === limit }, following(state, payload) { state.me.Followings.push({ id: payload.userId }) }, actions loadFollowing({commit, state}, payload) { if(!(payload && payload.offset === 0) && !state.hasMoreFollowing) { return } let offset = state.followingList.length; if(payload && payload.offset === 0) { offset = 0; } return this.$axios.get(`/user/${state.me.id}/followings?limit=3&offset=${offset}`, { withCredentials: true }) .then((res) => { commit('loadFollowing', { data: res.data, offset, }) }) .catch((err) => { console.error(err) }) }, loadFollower({commit, state}, payload) { if(!(payload && payload.offset === 0) && !state.hasMoreFollower) { return } let offset = state.followerList.length; if(payload && payload.offset === 0) { offset = 0; } return this.$axios.get(`/user/${state.me.id}/followers?limit=3&offset=${offset}`, { withCredentials: true }) .then((res) => { commit('loadFollower', { data: res.data, offset, }) }) .catch((err) => { console.error(err) }) }, follow({commit, state}, payload) { this.$axios.post(`/user/${payload.userId}/follow`, {}, { withCredentials: true, }) .then(() => { commit('following', { userId: payload.userId }) }) .catch((err) => { console.error(err); }) }, unFollow({commit, state}, payload) { return this.$axios.delete(`/user/${payload.userId}/follow`, { withCredentials: true, }) .then(() => { commit('removeFollowing', { userId: payload.userId }) }) .catch((err) => { console.error(err); }) }, 뷰 데브툴과 네티워크 탭에서도 이상은 보이지 않습니다. 뷰데브툴에서도 팔로우 언팔로우 누르면 following removefollosing 찍히구요 네트워크 탭에서도 200으로 잘찍힙니다
-
미해결Slack 클론 코딩[실시간 채팅 with React]
2차원 배열->1차원으로
2차원 배열을 1차원으로 하기위해 flat을 사용하셨는데여 전에는 spread 문법으로 뮤타블을 지켜줬는데 flat을 사용하면 자동적으로 뮤타블을 지켜주는건가요 ?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
모듈사용이 안됩니다..
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결모든 개발자를 위한 HTTP 웹 기본 지식
메세지 바디
안녕하세요. 강의 잘 듣고 있습니다! HTTP 바디에 실어서 보낸다. 메세지 바디에 실어서 보낸다. 이 2개가 다른 의미인가요? HTTP API는 메세지 바디, FORM 데이터 전송은 HTTP 바디 로 구분되는것 같아서요.
-
미해결쉽게 시작하는 쿠버네티스(v1.35)
안녕하세요 관리형 쿠버네티스에 대해 질문이 있습니다.
안녕하세요 강의들으며 궁금한 것이 생겨서요. 지금 강의하시는 환경과 관리형 쿠버네티스의 차이점은 마스터노드를 보는것에 대해 제한이 있다는 것과 기존에 로드밸런서가 설치되어있다는 것만 있는건가요?? 다른 차이점도 있다면 무엇이 있는지 알고싶습니다. :)
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
리액트 관련 질문입니다.
안녕하세요 제로초님. 리액트에서 혹시 공통적으로 서버에 요청을 보내는 것을 한곳(특정페이지 나 파일)에서 관리할 수 있을까요? 예를 들어 access_token이 만료되었을때 로그인페이지로 이동시키기 (모든 페이지에서 useEffect로 관리하기는 중복적인거 같아서요) 현재는 App.tsx에서 해당로직을 관리를 하고 있는데 새로고침시에만 실행되다보니 궁금해서 질문을 합니다 어떤방식으로 중복을 줄일 수 있을까요?
-
미해결구글애널리틱스 실무활용
GA 세그먼트 사례
안녕하세요. 강의 잘 듣고있습니다. 세그먼트를 만드는것은 잘 보았는데요. 세그먼트를 생성하고 어떻게 분석을 할수있는지 예시를 조금 들어주실수있나요? 구매 발생한 세그먼트는 당연히 구매가 발생하지 않은 세그먼트에 비해서 이탈률도 낮고, 세션당 방문한 페이지수도 체류시간도 긴것은 너무 당연한것같아서요. 세그먼트로 인사이트를 도출할수있는 사례를 들어주실수 있으실까요? 강의만 봐서는 세그먼트를 만들고 어떤 지표를 봐야할지 전혀 감이 잡히지를 않아서요 ㅠ
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
LoginPage에서 _handleSignIn()메서드 호출
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. LoginPage에서 _handleSignIn()메서드 호출하고 TabPage로 이동하는 코드가 없는데 어떻게 이동하게 되는건지 알고싶습니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
대시보드 접속이 안됩니다.
안녕하세요 영상 및 가이드보고 대시보드까지 잘 구성하였는데요, 다음과 같이 대시보드 페이지 접속이 안됩니다. 접속에 사용한 url은 http://192.168.0.30:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ 입니다. 가이드에 --address에 자신의 Host IP를 입력하라고 하셨는데 혹시 이부분에 노트북이 가진 IP를 입력하는 것일까요?
-
미해결
전자세금계산서를 통한 입금 방법
안녕하세요. 소속 기관을 통해 강의비를 지원받고자 세금계산서 발행이 필요한데, 이런방법으로 강의를 들을 수 있는 방법은 없는지 문의 합니다. 그리고 이와 관련하여 유선상으로 문의를 드리고 싶은데, 전화방법을 알려주시면 연락드리겠습니다. 감사합니다.
-
미해결Slack 클론 코딩[실시간 채팅 with React]
질문있습니다.
swr, recoil등의 전역 상태 관리 라이브러리를 단순히 하나의 컴포넌트에서만 사용될 데이터를 가져오는데 사용하기도 하는지 궁금합니다.swr, recoil은 캐싱 / 에러, 로딩중에 따른 관리 용이 / 유용한 메서드 제공 등의 장점이 있어서 api로 가져온 데이터(axios.get)를 다루기 편하게 해주는데,전역적인 관리 목적이 아닌 이러한 장점을 취할 목적으로 한 컴포넌트 안에서만 사용될 데이터를 가져올 때도 전역 상태관리 라이브러리를 사용해도 괜찮은지 알고 싶습니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
로컬스토리지의 complete 수정 시 질문입니다.
선생님께서 삭제 후 다시 추가 하셨는데로컬스토리지는 같은 key의 경우 덮어쓰기를 하니까그냥 같은 key로 다시 넣으면 수정되더라구요이렇게 해도 상관없을까요 toggleComplete (todoItem) { todoItem.complete = !todoItem.complete localStorage.setItem(todoItem.item, JSON.stringify(todoItem)) },