묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
IT 직장인 동아리도 있나요?
안녕하세요.현재 평일엔 회사, 토요일엔 대학교를 다니고 있는 백엔드 개발자입니다.대학교 연합 동아리에 참여하고 싶은데 평일에 참여가 불가능하여, 직장인 동아리도 있나 궁금해 글을 작성하게 되었습니다.주로 일요일이나 온라인으로 참여 가능한 동아리는 없을까요? 아니면 퇴근 후 7시부터 활동하는 동아리도 괜찮은데,,고등학교 졸업과 동시에 취업한 케이스라 또래의 개발자를 만나기가 쉽지 않고, 만나보고 싶어서 동아리에 참여하고 싶을 뿐입니다.동아리가 아니더라도, 추천해 주실만한 커뮤니티가 있을까요?답변 부탁드립니다! 감사합니다.
-
미해결
ROS RViz 창을 웹 프론트에 실시간으로 비디오 스트림하는 방법??
'ROBOTIS'사의 turtlebot3 burger를 사용하여 SLAM을 구현하였고, map이 RViz에서 시각화되는 상태입니다.RViz에서 시각화되는 map을 실시간으로 웹 프론트에서 확인하도록 구현하고 싶은데, RViz 창을 어떻게 웹 프론트에서 실시간 스트리밍되도록 전송할 수 있는지 궁금합니다.
-
미해결
오랜만에 웹설계 업무로 돌아와서 최근 경향 질문드립니다.
전에 잠깐 웹페이지 제작 업무를 맡게 되어서html/css/js와 반응형 미디어 쿼리로 웹사이트를 만들었는데저는 px단위로 크기를 잡고 position으로 위치를 잡았는데 요즘은다양한 방법들이 있더라구요 제가 전담해서 프론트 개발을 할개 아니라화면설계와 간단한 데이터베이스 웹 연동, 테스트용 서비스 페이지 제작정도만하려고 합니다.퇴근 후, 주말 시간을 활용해서 관련 공부를 하려고 하는데 flex&grid같은걸 공부할지다른 프레임워크같은걸 공부할지 고민입니다.미디어쿼리나 자바스크립트 같은건 기억이 조금은 나는데 레이아웃 잡는게어렵네요..ㅠㅠ 선배님들 도와주세요 ^^
-
미해결[리뉴얼] React로 NodeBird SNS 만들기
LOAD_POSTS_REQUEST가 무한정 일어나요.,
보시다 시피 GET /posts 304 에러로 인해 정상 작동하지 않습니다. 사진상으로는 멈춰있지만 무시무시하게 많은 에러가 제 신성한 VSC 터미널창을 도배하고 있습니다. 처음엔 REQUEST - SUCCESS를 번갈아 보내는 모습을 보고, 'page/index.js'에서 요청을 보내는 클라이언트의 잘못이라고 생각했습니다. REQUEST를 무한정 보내고 있으니 보내는 쪽의 문제일 거라고요.. front/page/index.js ... ... import { LOAD_POSTS_REQUEST } from '../reducerss/post'; import { LOAD_USER_REQUEST } from '../reducers/user'; const Home = () => { const dispatch = useDispatch(); const { me } = useSelector(state => state.user); const { mainPosts, hasMorePosts, loadPostsLoading } = useSelector( state => state.post, ); useEffect(() =>{ dispatch({ type: LOAD_USER_REQUEST, }); dispatch({ type: LOAD_POSTS_REQUEST, }) }, []); const [ref, inView] = useInView(); // useEffect(() => {}, []) : 뒤에 빈배열을 넣을 경우.componentDidMount()같은 효과를 줄 수 있다. useEffect(() => { if (inView && hasMorePosts && !loadPostsLoading) { const lastId = mainPosts[mainPosts.length - 1]?.id; dispatch({ type: LOAD_POSTS_REQUEST, lastId, }); } }, [inView, hasMorePosts, loadPostsLoading, mainPosts]); return ( <AppLayout> {me && <PostForm />} {mainPosts.map(post => ( <PostCard key={post.id} post={post} /> ))} ....... ....... </AppLayout> ); }; export default Home; 그런데 딱히 특이사항이 발견되지 않아서 front/sagas와 front/reducers 쪽을 보았습니다. front/sagas import { all, delay, fork, put, call, takeLatest, throttle, } from 'redux-saga/effects'; import axios from 'axios'; import { ...... LOAD_POSTS_REQUEST, LOAD_POSTS_SUCCESS, LOAD_POSTS_FAILURE, } from '../reducers/post'; function loadPostsAPI(data) { //실제로 서버에 요청을 보냄 return axios.get('/posts', data); } function* loadPosts(action) { try { const result = yield call(loadPostsAPI, action.data); yield put({ type: LOAD_POSTS_SUCCESS, data: result.data, // data에 게시글들 배열 -> 이것은 reducer로 간다 }); } catch (err) { yield put({ type: LOAD_POSTS_FAILURE, data: err.response.data, }); } }; .... function* watchLoadPosts() { yield takeLatest(LOAD_POSTS_REQUEST, loadPosts); } .... export default function* postSaga() { yield all([ fork(watchAddPost), fork(watchLoadPosts), fork(watchRemovePost), fork(watchAddComment), ]); } front/reducers const reducer = (state = initialState, action) => produce(state, draft => { switch (action.type) { case LOAD_POSTS_REQUEST: draft.loadPostsLoading = true; draft.loadPostsDone = false; draft.loadPostsError = null; break; case LOAD_POSTS_SUCCESS: draft.loadPostsLoading = false; draft.loadPostsDone = true; draft.mainPosts = draft.mainPosts.concat(action.data); draft.loadPostsError = null; draft.hasMorePosts = draft.mainPosts.length < 50; break; case LOAD_POSTS_FAILURE: draft.loadPostsLoading = false; draft.loadPostsError = action.error; break; 304 에러로 보아 서버 쪽 문제일 수도 있어서 라우터 쪽도보았습니다. const express = require('express'); const { Post, Image, User, Comment } = require('../models'); const router = express.Router(); router.get('/', async (req, res, next) => { // GET /posts try { const posts = await Post.findAll({ limit: 10, order: [['createdAt', 'DESC']], include: [{ model: User, }, { model: Image, }, { model: Comment, }], }); res.status(200).json(posts); } catch (error) { console.error(error); next(error); } }); module.exports = router; 어느쪽 문제인지 사실 잘 모르겠습니다.저런식으로 무한 로딩 에러가 난다면 어디에서 에러를 찾아야 하나요? 제가 생각하기엔 프론트였는데 예상이 빗나가서 2시간째 헤매고 있습니다 도와주세요
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
Thymeleaf 문법 질문입니다.
타임리프를 통해 데이터를 활용하는 방법에 대해서는 확실하게 이해했습니다. 궁금한 점은 그럼 프론트엔드를 맡은 개발자도 타임리프 문법을 알아야 하나요? 아니면 백엔드 개발자가 프론트엔드 작업물을 받고 해당 부분에 타임리프를 작성하나요? 실무에서는 어떻게 작업하는지 궁금합니다.
-
미해결컴퓨터, 웹, 코딩, 프로그래밍의 시작 - Web1
이해가안가요
어떻게 해야하는지 모르겠어요