묻고 답해요
156만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
[React 개발자 모집] MAU 1400명 후불제 소개팅 앱
자세한 공고 내용은 아래 링크에서 확인 가능합니다 !https://www.notion.so/FE-MAU-1400-236fe7ee433280b4b870c6a022b1ec2a [매출 지표] 출시 후 월 평균 매출 상승률 20% 달성, 월 최대 매출 540만원 달성- 공고 내 증빙 내용 참조[고객 지표] Data dog 기준 2주일에 1회 이상 접속자 1K 돌파 (휴면 회원 포함 시 1317명)- 공고 내 증빙 내용 참조[정책 자금 대출 - 2건 선정] 중소기업진흥공단 청년창업자금 50백만, 기술보증기금 100백만- 공고 내 증빙 내용 참조자격 요건컴퓨터 관련 전공자 또는 그에 상응하는 지식을 보유하신 분html, css, javaScript 를 능숙하게 다루고, react를 이용한 프로젝트 경험이 있는 분형상 관리 툴(Git, Github 등)을 활용한 소스 관리 경험이 있는 분기술 스택코어: react, typeScriptUI 라이브러리: react상태 관리: React Context, React QueryCI/CD: GitHub지원 가능 대상지역 → 수도권 거주자 (서울, 경기, 인천) | 성별 → 무관나이 → 만 20세 ~ 만 30세 이하 [팀 평균 나이대 고려]대학교 재학생, 휴학생, 졸업생, 취준생, 경력자이런 분을 원해요 !단기간 내 프로젝트에 많은 시간을 투자하여 멋진 포트폴리오를 만들고 싶은 대학생 혹은 경력자단순하게 주어진 업무 수행을 넘어, 끊임없는 개선을 고민하고 시도하시는 분본인 업무에 대한 배움과 학습 의지가 강하신 분스타트업이나 다른 기업에서 인턴 경험이 있으신 분협업 기한최소 3개월 이상 프로젝트 몰두할 수 있는 분!프로젝트에 최소 주 20시간 이상 시간 투자할 수 있는 분 ! (시험 기간 등 개인 사정이 있는 경우, 당연히 예외 적용 가능합니다) 💡 < 운영 기간 10개월, 누적 매출 4000만원, 누적 고객 4000명, WAU 1,000명 B2C 서비스 >서비스명 : 사랑이 찾아온 순간에만, PLOT아이템 개요 : 1대1 매니저가 관리해주는 후불제 소개팅 플랫폼사이트 링크 : https://plotting.kr 자세한 공고 내용은 아래에서 확인 가능합니다 !https://www.notion.so/FE-MAU-1400-236fe7ee433280b4b870c6a022b1ec2a[지원 링크]https://forms.gle/nnKxycN1s5BkJqGT9위 구글폼으로 지원주시면 3일 이내 연락드립니다 공고 관련 문의사항→ 플롯 대표 김현욱 010 8354 5572
-
미해결
협업 도구 파편화 개선을 위한 프로젝트
🪓 문제 상황프로젝트를 진행할 때 기록의 파편화 문제를 겪어보신 적 있으신가요?회의는 디스코드에서,정리는 노션에,실시간 메모는 채팅방에…이렇게 기록이 분산되다 보면,중요한 정보는 흘러가고,결정된 내용은 잊혀지며,프로젝트의 흐름은 점점 꼬입니다.저희는 하나의 협업 플랫폼에서 모든 회의, 대화, 결정사항, 기록을 관리할 수 있는 웹 서비스를 만들고자 합니다.🧠 이런 서비스를 만들고자 해요디스코드 기반 대화 인터페이스채팅 중 나온 결정사항을 바로 의사결정 항목으로 정리회의/기록/결정사항을 통합적으로 관리할 수 있는 하나의 공간 🤝 현재 구성원백엔드 2명 (Spring Boot 기반)디자이너 1명 (합류 확정)🙌 모집 포지션 (총 5명)기획자(1명) : 문제 정의와 MVP 범위 기획, 기능 명세 등디자이너(1명): UI/UX, 와이어프레임 및 화면 설계프론트(3명): Next, Tailwind 기반 웹 서비스 개발 🛠 사용하는 기술 스택 (예정)Frontend: Next15, TypeScript, Zustand, TailwindCSSBackend: Spring Boot, JPA, PostgreSQL협업: GitHub, Figma, Discord (or 자체 서비스로 전환 예정)🗓 일정 및 운영 방식주 1회 정기 회의 (온라인)업무는 주 단위로 공유하고 비동기 진행MVP 목표 기간: 약 2~3개월💬 이런 분을 찾습니다협업 문제에 공감하고, 실제로 해결하고 싶은 분사이드 프로젝트 경험 또는 관심 있으신 분오픈마인드로 소통 잘 하시는 분끝까지 함께 하실 수 있는 분📬 지원 방법간단한 자기소개와 관심 포지션을 적어서https://open.kakao.com/o/sXFkbKGh으로 연락 주세요!※ 현재 기획 및 방향성은 팀원들과 논의를 통해 일부 조정될 수 있습니다.프로젝트는 현재 서비스 구상만 해놓은 상태이며 기획단계입니다.
-
미해결
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
이해가안가요
어떻게 해야하는지 모르겠어요