inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

[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, typeScript UI 라이브러리 : react 상태 관리 : React Context, React Query CI/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

  • react
  • fe
  • frontend
  • 개발자
  • 프론트
  • 리액트
  • 프로젝트
  • 사이드프로젝트
  • 사프
진수현 댓글 0 좋아요 0 조회수 60

협업 도구 파편화 개선을 위한 프로젝트

미해결

🪓 문제 상황 프로젝트를 진행할 때 기록의 파편화 문제를 겪어보신 적 있으신가요? 회의는 디스코드에서, 정리는 노션에, 실시간 메모는 채팅방에… 이렇게 기록이 분산되다 보면, 중요한 정보는 흘러가고, 결정된 내용은 잊혀지며, 프로젝트의 흐름은 점점 꼬입니다. 저희는 하나의 협업 플랫폼에서 모든 회의, 대화, 결정사항, 기록을 관리할 수 있는 웹 서비스 를 만들고자 합니다. 🧠 이런 서비스를 만들고자 해요 디스코드 기반 대화 인터페이스 채팅 중 나온 결정사항을 바로 의사결정 항목으로 정리 회의/기록/결정사항을 통합적으로 관리할 수 있는 하나의 공간 🤝 현재 구성원 백엔드 2명 (Spring Boot 기반) 디자이너 1명 (합류 확정) 🙌 모집 포지션 (총 5명) 기획자(1명) : 문제 정의와 MVP 범위 기획, 기능 명세 등 디자이너(1명): UI/UX, 와이어프레임 및 화면 설계 프론트(3명): Next, Tailwind 기반 웹 서비스 개발 🛠 사용하는 기술 스택 (예정) Frontend : Next15, TypeScript, Zustand, TailwindCSS Backend : Spring Boot, JPA, PostgreSQL 협업 : GitHub, Figma, Discord (or 자체 서비스로 전환 예정) 🗓 일정 및 운영 방식 주 1회 정기 회의 (온라인) 업무는 주 단위로 공유하고 비동기 진행 MVP 목표 기간: 약 2~3개월 💬 이런 분을 찾습니다 협업 문제에 공감하고, 실제로 해결하고 싶은 분 사이드 프로젝트 경험 또는 관심 있으신 분 오픈마인드로 소통 잘 하시는 분 끝까지 함께 하실 수 있는 분 📬 지원 방법 간단한 자기소개와 관심 포지션을 적어서 https://open.kakao.com/o/sXFkbKGh 으로 연락 주세요! ※ 현재 기획 및 방향성은 팀원들과 논의를 통해 일부 조정될 수 있습니다. 프로젝트는 현재 서비스 구상만 해놓은 상태이며 기획단계입니다.

  • 기획자
  • 디자이너
  • 프론트
돈벌고싶다 댓글 1 좋아요 0 조회수 45

IT 직장인 동아리도 있나요?

미해결

안녕하세요. 현재 평일엔 회사, 토요일엔 대학교를 다니고 있는 백엔드 개발자입니다. 대학교 연합 동아리에 참여하고 싶은데 평일에 참여가 불가능하여, 직장인 동아리도 있나 궁금해 글을 작성하게 되었습니다. 주로 일요일이나 온라인으로 참여 가능한 동아리는 없을까요? 아니면 퇴근 후 7시부터 활동하는 동아리도 괜찮은데,, 고등학교 졸업과 동시에 취업한 케이스라 또래의 개발자를 만나기가 쉽지 않고, 만나보고 싶어서 동아리에 참여하고 싶을 뿐입니다. 동아리가 아니더라도, 추천해 주실만한 커뮤니티가 있을까요? 답변 부탁드립니다! 감사합니다.

  • 개발자
  • 직장인
  • 주말
  • 대학생
  • 백엔드
  • 프론트
  • 연합
  • 동아리
김지수 댓글 1 좋아요 0 조회수 2077

ROS RViz 창을 웹 프론트에 실시간으로 비디오 스트림하는 방법??

미해결

'ROBOTIS'사의 turtlebot3 burger를 사용하여 SLAM을 구현하였고, map이 RViz에서 시각화되는 상태입니다. RViz에서 시각화되는 map을 실시간으로 웹 프론트에서 확인하도록 구현하고 싶은데, RViz 창을 어떻게 웹 프론트에서 실시간 스트리밍되도록 전송할 수 있는지 궁금합니다.

  • ros
  • 스트리밍
  • 프론트
  • 실시간
  • rviz
  • slam
박성욱 댓글 1 좋아요 0 조회수 848

오랜만에 웹설계 업무로 돌아와서 최근 경향 질문드립니다.

미해결

전에 잠깐 웹페이지 제작 업무를 맡게 되어서 html/css/js와 반응형 미디어 쿼리로 웹사이트를 만들었는데 저는 px단위로 크기를 잡고 position으로 위치를 잡았는데 요즘은 다양한 방법들이 있더라구요 제가 전담해서 프론트 개발을 할개 아니라 화면설계와 간단한 데이터베이스 웹 연동, 테스트용 서비스 페이지 제작정도만 하려고 합니다. 퇴근 후, 주말 시간을 활용해서 관련 공부를 하려고 하는데 flex&grid같은걸 공부할지 다른 프레임워크같은걸 공부할지 고민입니다. 미디어쿼리나 자바스크립트 같은건 기억이 조금은 나는데 레이아웃 잡는게 어렵네요..ㅠㅠ 선배님들 도와주세요 ^^

  • 프론트
  • flex
  • css
  • grid
  • 반응형
이호열 댓글 0 좋아요 0 조회수 347

LOAD_POSTS_REQUEST가 무한정 일어나요.,

미해결

[리뉴얼] React로 NodeBird SNS 만들기

보시다 시피 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시간째 헤매고 있습니다 도와주세요

  • 무한로딩
  • nodejs
  • LOAD_POSTS_REQUEST
  • express
  • 무한
  • react
  • 무한요청
  • 프론트
  • redux
  • Next.js
기본은하고싶다 댓글 3 좋아요 0 조회수 778

Thymeleaf 문법 질문입니다.

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

타임리프를 통해 데이터를 활용하는 방법에 대해서는 확실하게 이해했습니다. 궁금한 점은 그럼 프론트엔드를 맡은 개발자도 타임리프 문법을 알아야 하나요? 아니면 백엔드 개발자가 프론트엔드 작업물을 받고 해당 부분에 타임리프를 작성하나요? 실무에서는 어떻게 작업하는지 궁금합니다.

  • 백엔드
  • spring
  • 프론트
  • spring-boot
  • java
  • MVC
zlcls456 댓글 2 좋아요 0 조회수 666

이해가안가요

미해결

컴퓨터, 웹, 코딩, 프로그래밍의 시작 - Web1

어떻게 해야하는지 모르겠어요

  • 프론트
  • HTML/CSS
부드러운 비둘기 댓글 1 좋아요 0 조회수 538

인기 태그

인프런 TOP Writers

주간 인기글