묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Gradle이 Maven보다 좋은 점이 무엇인가요?
최근에는 Maven에서 Gradle로 넘어오는 추세라고 해주셨는데, 왜 Gradle이 Maven보다 좋은지 궁금합니다.
-
미해결[기초스피치] 14년차 아나운서에게 배우는 말 잘하는 방법!
된소리
된소리로 바뀌는 경우가 궁금한데 뒤에서 가르쳐주시나요?? 그리고 ㄹ 받침 중에서 [혈]같은 경우 궁금한게 혈장[혈짱], 보혈[보혈]로 발음하잖아요. 그때 혈이 처음 올때나 끝에 올때나 ㄹ받침 혀의 위치가 어디에 있나요? 뭔가 r발음 하듯이 보~혀r 이렇게 되네요
-
미해결
[수강기간 제한] 과목 문의 드립니다.
일부 강의 중에 수강기간 제한 (예: 3개월동안 무제한 수강) 이 있는 강의들도 많이 보이던데, 전략이신지 ???? 3개월 지나고 또 들으려면, 또 돈을 내야 하는지요 ??
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
질문드립니다.
이렇게 코드를 작성하였는데 처리되지 않은 예외가 뜹니다. 일일이 메모장에 입력을 가져다가 출력해봤는데 정답이 뜹니다. 그래도 뭔가 찝찝해서 무언가 실수가 있는지 확인해주시면 감사하겠습니다 ㅠ(이때까지 이런오류는 없었습니다) #include <iostream> #include <vector> #include <string> using namespace std; int main(void) { int N, K, cnt = 0, work = 0, i; cin >> N; vector<int> v(N + 1); for (i = 1; i <= N; ++i) { cin >> v[i]; work += v[i]; } i = 1; cin >> K; while (true) { if (work == 0) { cout << -1; return 0; } if (cnt == K) break; else ++i; if (i > N) i = 1; if (v[i] == 0 && work != 0) { while (v[i] == 0) { if (i > N) i = 1; else ++i; } } --work; --v[i]; ++cnt; } cout << i; return 0; }
-
미해결유니티3D를 사용한 VR 제작 기초.
XR Setting 부터 안보여요.
안녕하세요, 수업을 듣고 있는데 몇가지 질문사항이 있어 글을 남깁니다. 1. Project 생성시 템플릿을 3D로 하셨나요? VR로 하셨나요? 2. 저같은 경우에는 Project setting에서 XR setting 란이 아예 보이지 않습니다.
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
차단을해도 한참 뒤에 지워집니다
팔로워에서 차단버튼을 누르면 리덕스 데브툴즈에서 성공했다고 떠서 확인해보면 me.followers 객체에 그대로 남아있습니다. 백엔드에서는 제대로 작동한 것 같습니다. 왜냐하면 다른페이지를 갔다가 다시 프로필로 돌아오면 제대로 지워져있거든요.. 랜더링이 바로바로 안되는것같기도하고 제가 리듀서나 사가에서 오타를 낸 것 같기도 한데 1시간째 디버깅하는데 못찾겠어요 ㅠㅠ - 백엔드 routes router.delete('/follower/:userId', isLoggedIn, async (req, res, next) => { // DELETE /user/follower/1 try { const user = await User.findOne({ where: { id: req.params.userId }}); if (!user) { res.status(403).send('존재하지 않는 사용자입니다.') } await user.removeFollowings(req.user.id); res.status(200).json({ UserId: parseInt(req.params.userId, 10) }); console.log('------------------UserId : ', parseInt(req.params.userId, 10)) } catch (error) { console.error(error); next(error); } }); - sagas function removeFollowerAPI(data) { return axios.delete(`/user/follower/${data}`); } function* removeFollower(action) { try { const result = yield call(removeFollowerAPI, action.data); yield put({ type: REMOVE_FOLLOWER_SUCCESS, data: result.data, }); } catch (err) { yield put({ type: REMOVE_FOLLOWER_FAILURE, error: err.response.data, }); } } - reducers const reducer = (state = initialState, action) => produce(state, (draft) => { switch (action.type) { case REMOVE_FOLLOWER_REQUEST: draft.removeFollwerLoading = true; draft.removeFollwerError = null; draft.removeFollwerDone = false; break; case REMOVE_FOLLOWER_SUCCESS: draft.removeFollwerLoading = false; draft.me.Followers = draft.me.Followers.filter((v) => v.id !== action.data.UserId); draft.removeFollwerDone = true; break; case REMOVE_FOLLOWER_FAILURE: draft.removeFollwerLoading = false; draft.removeFollwerError = action.error; break; 혹시 몰라서 FollowList.js 도 올리겠습니다.. import React from 'react'; import { List, Button, Card } from 'antd'; import PropTypes from 'prop-types'; import { StopOutlined } from '@ant-design/icons'; import { useDispatch } from 'react-redux'; import { UNFOLLOW_REQUEST, REMOVE_FOLLOWER_REQUEST } from '../reducers/user'; const FollowList = ({ header, data }) => { const dispatch = useDispatch(); const onCancel = (id) => () => { if (header === '팔로잉') { dispatch({ type: UNFOLLOW_REQUEST, data: id, }); } dispatch({ type: REMOVE_FOLLOWER_REQUEST, data: id, }); }; return ( <List style={{ marginBottom: 20 }} grid={{ gutter: 4, xs: 2, md: 3 }} size="small" header={<div>{header}</div>} loadMore={<div style={{ textAlign: 'center', margin: '10px 0' }}><Button>더 보기</Button></div>} bordered dataSource={data} renderItem={(item) => ( <List.Item style={{ marginTop: 20 }}> <Card actions={[<StopOutlined key="stop" onClick={onCancel(item.id)} />]}> <Card.Meta description={item.nickname} /> </Card> </List.Item> )} /> ); }; FollowList.propTypes = { header: PropTypes.string.isRequired, data: PropTypes.array.isRequired, }; export default FollowList; 그리고 제로초님은 콘솔창에 configureStore에서 계속 타입과 데이터를 찍어주는데 왜 저는 안찍어주는걸까요..? import { createWrapper } from 'next-redux-wrapper'; import createSagaMiddleware from 'redux-saga'; import { applyMiddleware, compose, createStore } from 'redux'; import { composeWithDevTools } from 'redux-devtools-extension'; import reducer from '../reducers'; import rootSaga from '../sagas'; const configureStore = (context) => { console.log(context); const sagaMiddleware = createSagaMiddleware(); const middlewares = [sagaMiddleware]; const enhancer = process.env.NODE_ENV === 'production' ? compose(applyMiddleware(...middlewares)) : composeWithDevTools(applyMiddleware(...middlewares)); const store = createStore(reducer, enhancer); store.sagaTask = sagaMiddleware.run(rootSaga); return store; }; const wrapper = createWrapper(configureStore, { debug: process.env.NODE_ENV === 'development', }); export default wrapper;
-
미해결3DS MAX 입문강좌 (입문부터 자동차 예제까지)
차 몸은 중심에 맞추고 라이트도복사해서복사한 라이트를 (-)로 했더니 사진처럼 되었어요
(사진)
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
윈도우에서 실행결과
/bin/sh: [echo hello]: not found 이렇게 나오는데 제대로 실행된거 맞을까요?? 뭔가 아닌거 같은 느낌이 드는데..^^;; docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1e7f32d28352 gzeromin/hello "/bin/sh -c '['echo …" 14 seconds ago Exited (127) 6 seconds ago adoring_cerf 아!! 에러원인 찾았습니다...ㅜㅜ CMD ["echo","hello"] 이렇게 해야하는데.. CMD ["echo hello"] 이렇게 해서..ㅜㅜ 다른분들은 저같은 실수 안하시길 바랍니다...ㅜㅜㅜ 위와같이 바꾸니까 아주 잘 실행 되네요!! ^^
-
미해결남박사의 파이썬으로 실전 웹사이트 만들기
IIS 서버로 기동시 에러
강의 수강은 완료하였고, 강의 내용을 기반으로 회사 사내망에서 간단하게 웹사이트 하나를 만들어서 사용하고 있습니다. 제 개인 PC에 IIS로 연동하고 있구요. 이번에 추가로 사이트를 하나 더 만들어서 동일하게 구성해서 기동을 시켰는데, 다음과 같은 에러가 발생하면서 페이지가 뜨지 않습니다. HTTP 오류 500.0 - Internal Server Error c:\brian\insa\myvenv\Scripts\python.exe - FastCGI 프로세스가 예기치 않게 종료되었습니다. 구글링을 해도 찾지 못하겠고, 혹시 저 에러가 왜 발생하는지 경험이 있으실까요?
-
미해결바닥부터 시작하는 STM32 드론 개발의 모든 것
리틀앤디언 빅앤디언 질문입니다.!!
안녕하세요 저번에 질문드렸었는데요~ stm은 리틀앤디언으로 저장해야된다고 하셨었는데 보다보니 너무 헷갈려서 질문드립니다~ㅎㅎ ibus와 ICM20602의 함수는 그냥 각각 1바이트 배열값을 2바이트 변수값에 높은 자리수에 맞게 쉬프트 시킨거 아닌가요? 리틀앤디언은 낮은자리 바이트가 낮은 주소에 오는걸로 아는데 여기에 리틀앤디언 저장을 한건가요?ㅜㅜ헷갈립니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
제대로 이해한 게 맞을까요? + 오타 제보 + setter 추가 질문
수정하려는 엔티티의 키가 10이라고 했을 때, 1. DB에는 아직 수정 전인 엔티티가 들어있음. 이건 영속. 2. Book book = new Book(); 한 후 BookForm의 정보들로 set해줌. 이건 그냥 함수 내에서 new로 만들었을 뿐이니 JPA가 관리하고 있지 않음. 하지만 이 book의 키값인 10은 디비에 저장되어있음. 그래서 이건 준영속. (즉, 10이란 키값을 갖는 엔티티에 대해 영속 엔티티와 준영속 엔티티가 동시에 존재하는 상황.) 3. 여기서 준영속 엔티티 book의 key값으로 검색하여 영속 엔티티 findItem을 가져오고 값을 덮어씌움. 4. 모든 작업 이후에도 book은 여전히 준영속 엔티티이므로 더이상 사용하지 않는 것이 좋음. + 5. 결국 더티체킹 메서드를 직접 만들든, em.merge()를 사용하든 내부적으로는 전부 더티체킹을 사용하여 update하는 것임. (null 업데이트 문제는 제쳐두고) 이런 흐름이 맞나요? merge의 과정보다도 merge 실행 전에 같은 키값의 영속,준영속이 동시에 존재하는 부분이 맞는지가 더 모르겠고 궁금하네요. 감사합니다!ㅡㅡㅡㅡㅡㅡㅡㅡ19:53에서 맨 윗줄에 '재'한적이다 오타 제보드립니다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ (추가질문) setter를 경계하라는 말씀을 다시 한 번 해주셨는데요. "change()처럼 엔티티에 변경 메서드를 따로 만들면 추적이 쉽다" 라는 말씀에서 이해가 좀 안 가는 부분이 있습니다. setter로 변경을 하더라도 그 setter명으로 역추적하면 변경지점이 어디인지 알 수 있는 것 아닌가요? 혹시 여러 엔티티에서 같은 이름의 멤버변수를 가지는 경우엔 setter이름도 같아져서 찾기 어렵다는 말씀이신가요?
-
해결됨[리뉴얼] React로 NodeBird SNS 만들기
login 에러입니다.
백에선 로그인 처리가 성공됐는데, 프론트 UserProfile에선 오류가 나타납니다. 질답에서 찾아보니 deserializeUser 와 req.login을 확인하라고 했는데도 잘 모르겠네요.
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 영화 사이트 만들기
movieDetail에서 favorite 버튼을 눌러도 추가가 안됩니다..
FavoritePage.js function FavoritePage() { const [favorites, setFavorites] = useState([]); useEffect(() => { fetchFavoredMovie(); }, []); const fetchFavoredMovie = () => { axios .post("/api/favorite/getFavoredMovie", { userFrom: localStorage.getItem("userId") }) .then((res) => { if (res.data.success) { setFavorites(res.data.favorites); console.log(res.data); } else { alert("영화 정보를 가져오는 데 실패했습니다."); } }); }; return ( <div style={{ width: "85%", margin: "3rem auto" }}> <h2>Favorite Movies</h2> <hr /> <table> <thead> <tr> <th>Movie Title</th> <th>Movie Runtime</th> <td>Remove from favorites</td> </tr> </thead> <tbody> {favorites.map((favorite, index) => { return ( <tr key={index}> <td>{favorite.movieTitle}</td> <td>{favorite.movieRunTime} mins</td> <td> <button>Remove</button> </td> </tr> ); })} </tbody> </table> </div> ); } 여기는 favorite.js(서버) 부분입니다 router.post("/getFavoredMovie", (req, res) => { Favorite.find({ userFrom: req.body.userFrom }) // .exec((err, favorites) => { if (err) return res.status(400).send(err); return res.status(200).json({ success: true, favorites }); }); }); 코드는 맞는 것 같은데 Favorite 페이지에 추가가 안되네요 무엇이 문제일까요? Favorite 페이지에서 success는 true로 잘 전달이 되서 콘솔에 찍히는데 favorites는 빈 배열로 나 오네요 ㅜㅜ 깃헙 주소도 첨부합니다! https://github.com/97baek/movie-app
-
해결됨Vue로 Nodebird SNS 만들기
SPA Dynamic url 및 error page(404) 이슈
강의와 관련있는 질문을 남겨주세요.• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등) 질문 전달에도 요령이 필요합니다.• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요. • 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요! 구체적인 질문일수록 명확한 답을 받을 수 있어요.• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다. 기본적인 예의를 지켜주세요.• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다. • 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요. • 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다. 안녕하세요. 프로젝트 막바지에 큰 이슈 하나가 발생하여 해결이 쉽지 않아 문의 남깁니다. 문제는, 라우트 관련입니다. 1. 개발 후 웹서버에 배포 시 Error 페이지 기능이 동작이 되지 않습니다. (404) 웹서버(Apache) mod_redirect 를 활용해야 할까요? 2. 넉스트의 dynamic route 가 정상적으로 동작 되지 않습니다. (a폴더/b폴더/_code.vue) 로그인 후 메뉴 클릭을 통한 진입에 대해서는 당연히 문제는 없지만 새로고침을 통해 직접 URL 진입이 불가능한 상황입니다. build시 실제 해당 폴더가 생성되지 않기 때문에 동적으로 라우팅 룰을 생성해줘야 하는 것으로 보이는데, 쉽게 해결할 수 있는 방법이 있는지 문의 드립니다. 명쾌한 강의 감사합니다.
-
[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
js파일 에러
삭제된 글입니다
-
미해결[개정판] 딥러닝 컴퓨터 비전 완벽 가이드
코랩 python version이 3.7로 업그레이드 됐습니다.
os.chdir('/usr/local/lib/python3.6/dist-packages/keras/backend') YOLO 학습에서 기존 코드는 3.6으로 되어 있는데, 아래와 같이 3.7로 바꿔야 될 것 같습니다. os.chdir('/usr/local/lib/python3.7/dist-packages/keras/backend')
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
오류나면서 saga쪽 코드가 실행이 되지 않습니다
console.log로 실행구간을 살펴봤는데 reducer는 아무런 문제 없이 실행되는데 saga에서 막히네요 이래저래 찾아보고 있는데 답이 안나와 질문 올립니다
-
미해결대세는 쿠버네티스 (초급~중급편)
쿠버네티스 대시보드를 열어보고싶습니다.
참고자료(https://kubetm.github.io/practice/appendix/installation_case2/) 의 하단에 dashboard 설치까지 왔습니다. 그런데, 1. ps -ef | grep kubectl 해보면 프로세스는 살아 있습니다. (kubectl proxy --port=8001 --address=172.31.6.167 --accept-hosts=^*$) (aws에 ec2에서 작업중이라 내부ip로 설정했습니다) 2. 위의 인스턴스(마스터,노드1,노드2)의 포트는 모두 열었습니다. 3. xxx.xxx.xxx.xxx은 마스터 인스턴스 공인아이피입니다. http://xxx.xxx.xxx.xxx:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/ 위와 같이하면 타임아웃이 걸리는데 어디가 문제인지 모르겠습니다.ㅠ (http://xxx.xxx.xxx.xxx:8001/ 여기까지만 치면, json형태의 api는 노출이 되는데 뒤에 proxy부분이 어떻게 동작되는지 모르겠습니다.) 쿠버네티스의 ui를 열고싶습니다 ㅠ
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
인텔리제이 커뮤니티버전
기선님 인텔리제이 커뮤니티 버전을 사용하면 말씀해주신 대로 html, css, javascript에 관련된 부분만 불편하다는 말씀이신가요?? 커뮤니티 버전에서는 스프링을 지원하지 않는다고 들은 것같은데, 커뮤니티 버전으로는 스프링을 사용한 프로젝트는 개발이 불가능한가요?
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
윈도우 10 쓰시는분들중 Power Shell 오류 뜨시는분들
윈도우 10 에서 이런 오류 뜨시는분들 https://jy-tblog.tistory.com/8 여기 링크 들어가셔서 파워쉘 권한을 바꿔주시면 됩니다