4일 전 · Estre 님의 새로운 답변
현직 개발자 분들의 공부법이 궁금합니다.
저는 백엔드에 관심이 생겨서 소프트웨어 공학과에 재학 중입니다! 다만 대학에서 배우는 것에 한계가 있는 것 같아서 학원을 알아보고 있는데 수강료가 만만치 않네요.. 오늘 알아본 학원은 백앤드 과정이 500만원이라 하구요. 혹시 현직 개발자 분들도 개발자로써 취업하기 전 학원을 다니셨는지, 혹은 혼자서 공부하여 취업 하셨는지 궁급합니다.
개발자
#고민상담
#공부방법
답변 5
댓글 0
조회 186
20일 전 · CP 님의 새로운 댓글
neo4j로 데이터 가져올 때 속도가 너무 느려요
neo4j 를 도입해 연관성을 찾는 작업을 하고 있어요 데이터가 얼마 없을 경우 문제가 없었지만 현 기준 노드 200만개 관계 6000만 건 으로 한번 검출 할 때 속도가 너무 느려서요 그래서 apoc를 도입을 했고요 메모리, heap 등 용량도 늘려줬습니다. 쿼리도 MATCH (first:Keyword {name: '마우스'}) CALL apoc.path.expand(first, 'RELATED_TO', 'Keyword', 1, 6 ) YIELD path WHERE ANY(n IN nodes(path) WHERE n.name = '게이밍마우스') RETURN path LIMIT 500; 이렇게 apoc와 LIMIT를 적용 했고요 추가로 profile을 찍어보니 한번 검사를 할 경우 500만~1억 번 노드를 조회를 하고 있어요 방법이 없을까요? ps. 데이터는 아직 1%만 쌓였습니다
개발자
#neo4j
#디비저장
답변 2
댓글 3
추천해요 1
조회 38
3달 전 · tool 님의 질문 업데이트
컴공 취업 인프라 구축 vs 개발자
안녕하세요 컴공 취준생입니다 제가 2군데에 신입으로 합격했는데 하나는 지방 제조업 온프레미스환경에서의 dbms 인프라 구축이고 나머지는 서울지역 백엔드 개발자라는 서로 다른 직무에 합격했습니다. 연봉은 인프라 구축이 4500이고 개발이 3500로 차이가 꽤나는데 앞으로의 연봉 인상률이나 대기업 이직생각했을때 뭐가 맞는선택인지 고민이 되는데 상담할 곳이 없어서 질문드립니다..
투표
개발자
#취업진로
답변 0
댓글 0
조회 107
3달 전 · aigoia 님의 답변 업데이트
신입 웹개발자의 커리어 전환과 로드맵 설계에 대한 조언을 부탁드립니다
안녕하세요, 저는 현재 일본의 직원 수 약 500명 규모의 SaaS 관련 벤처기업에서 웹개발자로 근무 중인 학부생입니다. 현재 학부 4학년으로 인턴 신분이며, 3개월 차에 접어들었습니다. 정직원 전환이 확정된 상태이지만, 앞으로의 커리어와 성장 방향에 대해 고민이 많아 조언을 구하고자 합니다. 현재 상황 1. 근무 환경과 업무: 저는 Ruby on Rails(백엔드)와 Vue.js(프론트엔드)를 사용하는 웹개발팀에서 주로 백엔드 업무를 맡고 있습니다. 필요 시 프론트엔드도 다루며, 주로 회사 프로덕트의 버그 수정 업무를 수행하고 있습니다. 하지만, 한국에서 원격으로 근무 중이며, 팀 내에서 저만 원격근무라 즉각적인 질문 및 피드백을 받기 어렵고, 회사의 분위기를 파악하기도 힘든 상황입니다. 2. 전공 및 경력: 전기정보공학과를 졸업 예정으로, CS 전공자라고 보기엔 애매한 학과 출신입니다. 이전에는 컴퓨터 비전, 딥러닝, 머신러닝, LLM 등 웹개발과는 관련이 적은 분야에서 프로젝트를 경험했으나, 웹 개발 경험은 전무합니다. 3. 지식 및 준비 부족: 취업 준비 없이 바로 회사에 입사했으며, 현재 CS 지식, 웹 개발 기본 지식, Ruby on Rails와 Vue.js 같은 프레임워크에 대한 이해도가 부족한 상태입니다. 현재는 GPT, Claude, GitHub Copilot 등의 AI 도구를 사용해 주먹구구 식으로 업무를 해결하고 있지만, 이 방식에 한계를 느끼고 있습니다. 4. 커리어 목표: 저는 현재 백엔드 개발자로서 경력을 시작했지만, 장기적으로는 머신러닝 엔지니어나 데이터 엔지니어로 전환하고 싶습니다. 그러나 현재 웹 개발에 대한 이해 부족으로 인해 커리어 전환은 커녕, 현재 맡은 업무조차 비효율적으로 진행되고 있습니다. 5. 불안한 점: 팀원들과의 거리가 느껴지는 원격 근무 환경에서, 사내 분위기 파악이 어렵고 실질적인 피드백을 받기 힘들어 성장 속도가 느리다고 느끼고 있습니다. 이로 인해 업무 수행에 대한 불안감이 커지고 있습니다. 이런 상황에서 저는 다음과 같은 고민을 하고 있습니다: 1. 현재 맡은 업무를 더 효과적으로 수행하기 위해 어떤 기술이나 지식부터 학습해야 할까요? 2. 백엔드 개발자로서 기본기를 다지는 동시에, 머신러닝/데이터 엔지니어로의 커리어 전환을 준비하기 위한 로드맵은 어떻게 설계해야 할까요? 3. 회사 업무와 병행하며, 원격근무 환경에서도 효율적으로 공부하고 성장할 수 있는 방법이 있다면 공유 부탁드립니다. 경험 많으신 개발자분들의 조언을 듣고 싶습니다. 긴 글 읽어주셔서 감사합니다.
개발자
#주니어개발자
#주니어의고민
#신입고민
#웹개발
#백앤드
답변 1
댓글 0
조회 166
3달 전 · 채기훈 님의 새로운 댓글
물경력이 될까봐 입사가 고민됩니다
안녕하세요 비전공으로 SSAFY 수료후 첫 취업 도전(2024 하반기)에서 한개의 기업에 붙게되었습니다. 하반기 대기업 서류는 사실상 두개빼고 다 광탈후 한개만 면접 결과를 기다리고 있습니다. 물론 여기 붙으면 가겠지만 떨어진다는 상황 하에 여러 중소기업들을 썼는데.. 운이 좋게도 하나가 붙었습니다 - 공공 SI 개발 - Java / Jsp 등 오래된 버전 - 초봉 3500 이러한 조건이지만 Java 버전와 jsp 그리고 공공SI 개발이 혹시나 물경력이 되지 않을까.. 라는 걱정에 질문드립니다. 제가 눈만 너무 높아진건지도 구분이 잘 안갑니다 현실 직시하는 따끔한 조언 부탁드립니다
투표
개발자
#java
#spring
#si
#고민상담
#전자정부프레임워크
답변 1
댓글 3
조회 690
4달 전 · 익명 님의 질문
말랑트립을 유니콘 기업으로 함께 만들어갈 혁신적인 동료들을 기다립니다.
**1. 프로젝트의 시작 동기** 말랑트립은 뚜벅이 여행자들을 위한 저렴한 택시 카풀 여행 플랫폼입니다. 여행 중 교통수단의 불편함을 해소하기 위해 시작되었으며, 여러 명이 관광택시를 나눠 탈 수 있도록 하는 시스템을 도입해 경제적 부담을 덜어주고 있습니다. 우리 프로덕트의 목표는 뚜벅이 여행자들에게 저렴하고 편리한 여행 경험을 제공하는 것입니다. 사용자가 여행 계획과 함께 택시를 나눠 이용하고, 동행자를 쉽게 구할 수 있는 플랫폼을 만들고자 합니다. 실시간 예약과 결제 시스템을 통해 여행 중 발생하는 불편함을 최소화하고자 합니다. 주 타겟은 교통이 불편한 국내 및 해외 여행지를 탐험하려는 뚜벅이 여행자들입니다. 특히, 운전을 하지 않거나 지방의 대중교통 이용에 불편을 겪는 여행자들을 위한 서비스로, 새로 만나는 사람들과의 동행을 통한 특별한 경험을 제공하고자 합니다. 대중성과 차별성 기존의 택시 예약 서비스와 차별화되는 말랑트립의 핵심은 1/N 결제 시스템입니다. 사용자는 동행자와 함께 비용을 분담하여 경제적 부담을 줄일 수 있으며, 플랫폼 내 말랑챗, 커뮤니티를 통해 여행 동행자를 쉽게 모집할 수 있는 기능을 제공합니다. 이 차별화된 기능은 뚜벅이 여행자들에게 여행 비용의 경제성과 교통이 열악한 지역의 여행 만족도를 극대화합니다. **2. 회의 진행/모임 방식** 회의 진행 - 주 1~2회 온라인 미팅 예정입니다. 정확한 시간은 현재 미정입니다. 소통 방식 - 구글챗을 통해 소통을 나눕니다. **3. 모집 포지션 및 역할** 1) 대외협력 (1명) - 말랑트립 고객 및 드라이버 CS 담당, - 타 기업 및 공무원 MOU 탐색 및 대외협력 2) 마케터 (1명) - 말랑트립 마케팅 전반 ※ 퍼포먼스 마케터는 이미 합류한 상태로, 다양한 마케팅 분야 경험이 있는 분 환영합니다. 3) 네이티브 앱 개발자 ※ 안드로이드 스튜디오 개발자 또는 스위프트 개발자 4. 이력 2023.03: 말랑트립 프로젝트 시작 2023.08: 경기콘텐츠진흥원 주관 PRE-MAP 지원금 1,000만원 유치 2024.03: 안양산업진흥원 주관 2024 관광 액셀러레이팅 프로그램 참여기업 선정 2024.04: 한국관광공사 주관 관광기업 혁신바우처 지원사업 수혜기업 2,000만원 선정 2024.06: MVP 서비스 출시 및 운영 중 2024.09: 경기 청년기회 여행감독 육성사업 선정(최대 500만원)
PM/PO/기획자
#협업
#사이드-프로젝트
#팀원모집
#구인구직
답변 0
댓글 0
조회 62
5달 전 · 이재홍 님의 답변 업데이트
2년차 이직 연봉 협상 / 2년차 풀스택 웹개발 평균연봉
전직장에서 신입때 받은 연봉이 2700대 이였고 이번년도에 회사가 사정이 안좋다고 전직원 동결 해버렸어요 그래서 퇴사 하고 이직 할때 적는 연봉이 신입때 연봉으로 적을수 밖에 없었는데 면접에서 희망연봉 말할때 어느정도를 말해야할지 모르겠습니다. 이력서에는 면접후 결정으로 적어뒀는데 보통 전문대 2년 실무 경력 2년차 풀스택 웹 개발 평균 연봉이 어느정도 되나요 ?? 그리고 연봉 협상할때 전직장에서 동결 된 부분도 얘길 하고 희망 연봉 말하는게 나을까요 ? 동결부분은 얘길 안하는게 나은가요 ? 먼저 제시 하면 들어보고 회사가 제시 하는 금액으로 갈 예정이긴 한데 저는 3300-3500 정도로 생각 중인데 평균인가요 ? 이하인가요 ? 이상인가요 ?? 어느정도 인지 알려주시면 감사하겠습니다 ㅜ.ㅜ
개발자
#이직
#연봉
#웹개발
답변 1
댓글 0
조회 604
6달 전 · ㅇㅅㅇ 님의 질문 업데이트
React Next infinite scroll
A 라는 infinite scroll페이지에서 500개 데이터를 보여주고 scroll은 70프로 내려왔다고 가정했을 때 다른 페이지 갔다가 돌아왔을 때 500개 데이터랑 scroll 위치 그대로 유지하는 좋은 방법 뭐 있을까요? localstorage나 context 이용했을때는 dom을 다시 랜더링하고 state 값을 다시 주입 했을 때 부드럽지 않은 느낌입니다. redux를 이용해서 전역으로 상태값을 저장해 놓고 컴포넌트에서 사용하면 될까요?
개발자
#react
#next.js
#redux
답변 0
댓글 0
조회 30
6달 전 · 이름 님의 질문
동시성+데드락 제어를 위한 비관적 락 잠금 질문
안녕하세요 글쓰기 커뮤니티 프로젝트를 개발하는 중입니다 회원이 소설을 찜하는 기능(좋아요)을 구현 중에 있는데요 찜 객체는 아래 첨부한 코드와 같이 memberId와 novelId를 외래키로 갖습니다 동시성 이슈를 다뤄보고자 500명의 사용자가 동시에 novelId가 1인 소설을 찜하는 요청을 보낸다는 가정 하에 jmeter로 테스트를 돌려보니 동시성 이슈가 아니라 데드락 문제가 발생해서요 favoriteJDBCRepository.save(memberId, novelId); 시 novelId가 외래키라 외래키 정합성 검사 때문에 db 내부적으로 novelId가 1인 레코드에 read lock이 걸리는 것 같습니다 favorite 객체 save 시 트랜잭션 A가 novelId가 1인 레코드에 대해 read lock을 얻고, novelId가 3인 novel의 favoriteCount(찜 개수)를 +1하고자 write lock 요청 -> favorite 객체 save 시 다른 트랜잭션 B도 novelId가 1인 레코드에 대해 readlock을 얻고, novelId가 1인 novel의 favoriteCount(찜 개수)를 +1하고자 write lock 요청 -> write lock은 read lock이 전부 해제되어야 얻을 수 있음. 트랜잭션 A는 B가 read lock을 release하기를 대기하고 B도 A가 read lock을 release하기를 대기하면서 데드락 발생 일단 novelId로 novel을 비관적 락을 사용해 조회해서 favorite 객체를 생성한 뒤에 저장하는 방식으로 데드락+동시성 이슈 둘 다 해결이 되는데요(chooseFavoriteV2) 이 방법 말고도 더 좋은 대안은 없을까요??
개발자
#비관적락
#데드락
#동시성
#데이터베이스
#백엔드
답변 0
댓글 0
추천해요 1
조회 44
7달 전 · aigoia 님의 답변 업데이트
부트캠프에 관해 질문 드리고 싶습니다..!
최근에 코딩에 관심이 생겨 알아보던 중 프론트엔드와 백엔드개발자 직무를 보게되었고, 3개월 동안 JS와 파이썬 기초를 독학하였습니다. 하지만 제가 비전공자라서 혼자서 하려니 막막할 때가 많아서 국비지원 부트캠프를 찾아보고 있는데요.. 아직은 프론트와 백엔드 중 어느 분야로 나아갈 지 확신이 안 서서 풀스텍을 듣고, 그 이후 직무를 정해서 해당 직무의 부트캠프를 들으려고 하는데요.. 이렇게 부트 캠프를 2개 들어도 괜찮을까요? 주변에서는 프론트나 백엔드 하나를 정해서 듣는게 낫다고 하시더라고요.. 그래서 좀 더 공부해서 확신이 설 때까지 부캠 수강을 미뤄볼까 싶기도 합니다 ㅠㅠ 하지만 일단 뭐라도 하는게 좋지 않나 라는 생각도 듭니다.. 제가 알아본 부캠은 3개 중 하나를 선택하려는데 커리큘럼 괜찮을까요? 1. https://codingon.co.kr/pr/kdt/14th 2. https://www.hrd.go.kr/hrdp/co/pcobo/PCOBO0100P.do?tracseId=AIG20210000328805&tracseTme=14&crseTracseSe=C0061&trainstCstmrId=500020039773#undefined 3. https://www.hrd.go.kr/hrdp/co/pcobo/PCOBO0100P.do?tracseId=AIG20230000451047&tracseTme=1&crseTracseSe=C0061&trainstCstmrId=500020027783#undefined
개발자
#부트캠프
답변 1
댓글 0
조회 70
9달 전 · 애플파이 님의 새로운 답변
프리랜서분들은 처음 일 어떻게 구하시나요?
React Native로 3년째 재직중이면서 크몽으로 간간히 외주일을 받아서 하고있는 개발자입니다. 작년 10월 부터 해서 부 수익이 약 1500만원 정도 발생한 것 같아요. React Native만 중점적으로 하다보니 거의 모든 기능을 문서없이 구현할 수 있을 정도이고 제가 나름대로 만들어놓은 모듈들을 통해서 프로젝트를 빠르게 뚝딱 만들어 낼 수 있습니다. 근데 이게 크몽의 단점인지는 모르겠는데 일거리 들어오는 수가 업으로 삼기에는 많지는 않더라구요 React로 웹 개발도 가능하긴 한데 아무래도 개발 속도는 React Native보다 좀 떨어지는 하는데 웹으로 가야 일거리가 더 많을까요? 처음 프리랜서 하시는 분들은 어떤식으로 일을 구해서 하셨는지 궁금합니다.
개발자
#프리랜서
#react-native
답변 3
댓글 0
추천해요 3
조회 635
9달 전 · 김정진 님의 새로운 답변
신입 개발자 어디로 갈까요..
경기 4년제 컴공과 복수전공하고 4개월 인턴 경험있는 취준생입니다! 지금 2곳에 합격해서 어디 갈지 고민중인데요... 의견 부탁드립니다..! 1. Ai 솔루션 회사 직무는 웹개발입니다. Ai 솔루션을 만드는 회사로, 가게되면 어드민 페이지 개발, 사용자 페이지 개발?을 맡게될것 같습니다. 기업 규모는 50명정도입니다. 웹개발팀 규모는 제가 가면 2-3년차 한명과 팀장님 한분 계시는 것 같습니다. 인턴 3개월 근무 후 정규직 전환입니다. 인턴 근무 3개월 동안은 최저임금 받고, 합격하면 연봉은 3500입니다. 2. ERP 솔루션 회사 직무는 풀스택 웹개발입니다. 기업 규모는 70명정도 됩니다. 아마도 그룹웨어 시스템 개발,유지보수를 맡게될 것 같습니다 .여기는 개발팀 규모가 그래도 좀 있는 것 같아요. 제가 갈 팀에 7명정도 계신것 같았어요. 여기도 3개월 수습 기간이 있고, 연봉은 3000입니다. 둘 중에 어디갈지 고민이네요.. 아무래도 연봉이 1이 더 높아서 갈까 고민인데, 인턴전환이 안될 수도 있다는 점이 걸리는데 어짜피 2도 수습기간이 3개월이라 차이가 없어서요. 잡플래닛 후기 보면 1회사가 2점대고.. 야근이 있는편이라는 이야기가 있어서 고민되네요 ㅠ 그리고 웹개발쪽 팀은 규모가 작은것 같아서요
투표
개발자
#신입
#신입취업
#취준생
#신입개발자
답변 2
댓글 0
조회 1,125
10달 전 · 정창록 님의 질문
Next.js 에서 fluent-ffmpeg 사용 시 에러 해결 가능할까요?
Next.js 에서 puppeteer를 사용해서 특정 url에 접속하여 애니메이션을 png로 100장 정도 캡처하여 생성하고, fluent-ffmpeg를 사용해서 해당 png 이미지들을 mp4 영상으로 만들려고 하는데요. yarn add puppeteer fluent-ffmpeg @ffmpeg-installer/ffmpeg yarn add --dev @types/fluent-ffmpeg 위와 같이 라이브러리들을 설치했구요. 아래 page.tsx 파일에서 코드를 구현했는데요. dev로 실행해서 해당 페이지에 접속을 하면 아래와 같은 에러가 발생하는데요. 해결이 가능할까요?? 다른 라이브러리를 써야할지 구현한 코드가 문제가 있는지 모르겠네요. 도움 부탁드립니다!! # 에러 코드 # 1 of 1 error Next.js (14.2.3) Server Error Error: Cannot find module '/Users/.../animation-capture/node_modules/@ffmpeg-installer/darwin-arm64/package.json' This error happened while generating the page. Any console logs will be displayed in the terminal window. Call Stack webpackEmptyContext file:///Users/.../animation-capture/.next/server/app/capture/page.js (22:10) eval node_modules/@ffmpeg-installer/ffmpeg/index.js (40:27) (rsc)/./node_modules/@ffmpeg-installer/ffmpeg/index.js file:///Users/.../animation-capture/.next/server/vendor-chunks/@ffmpeg-installer.js (20:1) Next.js eval /./src/app/capture/page.tsx (rsc)/./src/app/capture/page.tsx file:///Users/.../animation-capture/.next/server/app/capture/page.js (286:1) Next.js # 코드 구현부 # import { NextApiRequest, NextApiResponse } from 'next'; import puppeteer from 'puppeteer'; import fs from 'fs'; import path from 'path'; import ffmpeg from 'fluent-ffmpeg'; import ffmpegInstaller from '@ffmpeg-installer/ffmpeg'; ffmpeg.setFfmpegPath(ffmpegInstaller.path); .... 중략.... const outputFilePath = path.resolve("./screenshots/video.mp4"); ffmpeg() .addInput(`${folderPath}/screenshot-%d.png`) .inputFPS(10) .output(outputFilePath) .on("end", () => { res.status(200).send(`Video created successfully at ${outputFilePath}`); }) .on("error", (err) => { console.error("Error generating video:", err); res.status(500).send("Failed to generate video"); }) .run(); } catch (error) { console.error("Error capturing screenshots:", error); res.status(500).send("Failed to capture screenshots"); }
개발자
#next.js
#fluent-ffmpeg
#mp4
답변 0
댓글 0
조회 86
10달 전 · 박정환 님의 답변 업데이트
24살 지거국 대학생 질문 드립니다.
현재 지거국에서 2학년 재학중인 학생입니다. 진로에 대해 고민이 있어 현업자분들에게 여쭤보고자 질문을 남깁니다. 고등학교는 특성화 고등학교로 나와 현장실습에서 전산기기 관리 업무를 하다 3개월 하고 개발자가 하고싶어 나왔습니다. 그리고 코로나 시기라 군 문제를 먼저 해결하려 토익이나 토플 준비를 했고 애매한 점수 670점, 60점을 받았습니다. 군생활은 개발병으로 복무해 괜찮은 경험을 했습니다. 실제 서비스를 유지보수 및 신규 기능과 서비스를 제작하는 경험도 했습니다. 언어는 Vue.js, Node.js, MySQL을 메인으로 겉핥기는 PHP, JSP, Docker 을 사용할 수 있었습니다. 또한 군대에서 고민한 결과 대학교 졸업장이 있어야 지원할 수 있는 범위가 넓어질것 같아서 수능 준비도 병행해서 지거국에 합격했습니더. 하지만 군 보안 때문에 따로 경력으로 쓸수 있게 코드를 보존하지 못했습니다. 지금 제일 후회하고 있습니다. 기억을 더듬어서 다시 만들어 git에 올릴까 고민만 하지 외주하느라, 학교 공부하느라 바쁘다고 핑계대며 실행은 못하고 있습니다. 현재는 서울에서 지방으로 내려와 혼자 생활비를 충당하고 있어서 프리랜서와 학업을 병행하고 있습니다. 학생으로는 받기 힘든 금액을 벌면서 크몽으로 Vue.js, Node.js, MySQL을 사용하여 풀스택으로 간단한 외주를 담당하여 1년간 1500 ~ 2000정도의 매출을 올렸습니다. 학업은 전체 학점은 3.1 전공 학점은 3.8로 유지하고 있습니다. 앞으로의 계획으론 아래와 같습니다. - 대외활동 : 창업 대회 또는 해커톤 입상 최소2회 - 알고리즘 : 백준 플레티넘 문제는 풀 수 있을정도로 반복 - 프로젝트 : 생활비를 벌기 위해 외주를 계속할 예정이며, 시간이 남는다면 개인 프로젝트 진행 계획도 있습니다. - 그 외 : 매일 개발 관력 책을 읽고 있는데, 배웠던 내용 중 하나를 매일 쇼츠나 블로그에 업로드해서 꾸준히 무언가 하고싶습니다. 현재 고민중인 부분은 아래와 같습니다. - 현재 스팩으로 또는 계획대로 성장한다면 대기업 취업이 가능할까? - 만약 어렵다면 어떻게 해야할지 감이 잡히지 않아서 질문을 올리게되었습니다. - 지금 중소기업/스타트에 취업하는게 커리어적으로 더 좋을까요? 지나가다 재미없는 글 끝까지 읽어주셔서 감사드리며 현업자분들의 쓴소리 부탁드리겠습니다!
개발자
#진로고민
#진로
#진로상담
#취업
#대학생
답변 1
댓글 2
조회 216
일 년 전 · 백승훈 님의 답변 업데이트
Recoil Atom Effect 적용 기: 팀 내 설득 및 구현 조언
안녕하세요!! 현재 진행 중인 프로젝트에서 회원가입 시 필요한 정보를 입력하는 중 새로고침 시 session 및 localstorage를 이용하여 상태유지를 하려고하는데 recoil과 관련하여 atom effect를 사용하면 우아하게 처리할 수 있음을 알았습니다. 따라서, 각 atom에 effect를 하나하나 추가하는 방법을 생각했는데 동일한 logic을 행하는 코드의 양이 방대해지고 localstorage에 각 atom에 해당하는 key-value로 저장되므로 가독성 측면에서 좋지 않다고 판단하여 아래와 같은 과정을 생각했습니다. 각 atom을 하나로 묶어 객체로 관리하자. 객체로 관리하게 되면 불필요한 re-rendering이 촉발되므로 객체로 선언한 atom의 각 property에 접근 및 수정을 위한 selector를 정의하자. 객체에 내의 property에 1대1로 selector를 정의하면 객체로 묶기 전 atom의 갯수만큼 selector를 선언해주어야 하므로 selectorFamily를 사용하자. 이것저것 찾아보면서 1 → 2 → 3 단계로 생각을 정리했습니다. 아래는 현재 사용되는 atom입니다. <ATOM> // signup.store.ts 👇 회원가입에 대한 user state들 - SignUpProfileTypeAtom - SignUpProfileRentalTypeAtom - SignUpProfileRegionsAtom - SignUpProfileDepositPriceAtom - SignUpProfileTermAtom - SignUpProfileMonthlyPriceAtom - SignUpProfileSmokingAtom - SignUpProfilePetAtom - SignUpProfileAppealsAtom - SignUpProfileGenderAtom - SignUpProfileMatesNumberAtom - SignUpProfileMateAppealsAtom // 👇 위의 atom들을 한 번에 access 및 update - SignUpProfileSelector 하지만, 다른 팀원이 저렇게 atom을 구성한 상황 제 생각을 그대로 적용하고자하면 팀원의 코드를 마음대로 바꾸는 거 같아서 조심스럽습니다. 협업함에 있어 설득도 하나의 중요한 스킬임을 갈수록 깨닫게 됩니다.(다들 어떻게 설득하시나요?) 팀원이 기존의 코드는 안 바꿨으면 좋겠다 하면 각 atom에 effect를 추가하는 것이 맞겠죠???? 현재 현업에 계신 분들은 이러한 상황에서 어떻게 설득하며 어떻게 하는 것이 좋을까 자문을 구하고 싶어서 글 올려봅니다!!🥲🥲 짧지 않은 글이지만 읽어주셔서 감사하고 많은 의견 주시면 감사하겠습니다!!😄😄😄 ```typescript import { SignUpType } from '@/types/signUp.type'; // ? type 집 유형 0: 원룸/오피스텔, 1: 빌라/연립, 2: 아파트, 3: 단독주택 @number export const SignUpProfileTypeAtom = atom<SignUpType['type']>({ key: 'signUpProfileTypeAtom', default: undefined, }); // ? rental_type 집 대여 유형 0: 월세, 1: 전세, 2: 반 전세 @number export const SignUpProfileRentalTypeAtom = atom<SignUpType['rental_type']>({ key: 'signUpProfileRentalTypeAtom', default: undefined, }); // ? regions 유저가 찾는 지역 >도시 (region) + 구(district) 형태의 배열 @string[] export const SignUpProfileRegionsAtom = atom<SignUpType['regions']>({ key: 'signUpProfileRegionsAtom', default: [], }); // ? deposit_price 보증금 (전세 혹은 월세) 범위 [최소 금액, 최대 금액] (0만원~10000만원) @[number, number] export const SignUpProfileDepositPriceAtom = atom<SignUpType['deposit_price']>({ key: 'signUpProfileDepositPriceAtom', default: [0, 10000], }); // ? term 유저가 살 기간 [최소기간, 최대 기간] (0 ~ 24)범위 @[number, number] export const SignUpProfileTermAtom = atom<SignUpType['term']>({ key: 'signUpProfileTermAtom', default: [0, 24], }); // ? monthly_rental_price 월세 [최소 금액, 최대 금액] (0만원, 500만원) @[number, number] export const SignUpProfileMonthlyPriceAtom = atom<SignUpType['monthly_price']>({ key: 'signUpProfileMonthlyPriceAtom', default: [0, 500], }); // ? smoking 흡연 여부 @boolean export const SignUpProfileSmokingAtom = atom<SignUpType['smoking']>({ key: 'signUpProfileSmokingAtom', default: undefined, }); // ? pet 펫 여부 0: 상관없음, 1: 좋음, 2: 싫음 @number export const SignUpProfilePetAtom = atom<SignUpType['pet']>({ key: 'signUpProfilePetAtom', default: undefined, }); // ? appeals 유저의 어필할 매력(배열형태) @string[] export const SignUpProfileAppealsAtom = atom<SignUpType['appeals']>({ key: 'signUpProfileAppealsAtom', default: [], }); // ? gender 상대방의 성별 0: 상관없음, 1: 남성, 2: 여성 @number export const SignUpProfileGenderAtom = atom<SignUpType['gender']>({ key: 'signUpProfileGenderAtom', default: undefined, }); // ? mates_number 인원수 0: 상관없음, 1: 1명, 2: 2명, 3: 3명이상 @number export const SignUpProfileMatesNumberAtom = atom<SignUpType['mates_number']>({ key: 'signUpProfileMateNumberAtom', default: undefined, }); // ? mate_appeals 유저가 원하는 상대방의 매력 (배열형태) @string[] export const SignUpProfileMateAppealsAtom = atom<SignUpType['mate_appeals']>({ key: 'signUpProfileMateAppealsAtom', default: [], }); ```
개발자
#프론트
#협업
#recoil
답변 1
댓글 0
조회 84
10달 전 · 이지형 님의 새로운 답변
이직할 회사 도저히 못 고르겠습니다...
안녕하세요. 5년차 백엔드 개발자로 스타트업에서 일하다가 이직 확정 후 얼마 전에 퇴사했습니다. A 회사를 제일 가고 싶었어서 다른 3개의 회사도 입사 포기했는데, 처우협의 해보니 연봉이 걸려서 고민중입니다. 회사 네임벨류와 업무, 복지 빼고 보면 B회사가 마음에 드는데 이 세가지가 마음에 걸리네요. 현재 상황이 LH 당첨되서 1년 뒤 위례역 근처로 이사가야 하는데 거리상으로는 B 회사가 30분 이상 가깝긴 하네요. A 회사 가게 되면 LH 입주 전 1년 간은 자취해야해서 돈이 많이 깨질 거 같고, B 회사는 1년 동안 출퇴근이 가능합니다. 어디 회사 가는게 좋을까요.. 도저히 못고르겠습니다 [A 회사] 국내 10대 그룹 중 한 곳의 계열사로 그룹사들의 IT 담당하는 회사. (대외 프로젝트도 진행함) - 규모: 1000명 이상 - 회사 위치: 명동 - 업무: 내부 백오피스 시스템 운영 및 유지보수. - 복지: 계열사 할인 등 복지 많음. 구내식당 보유. 사내 헬스장 보유. -연봉: 계약연봉 기존이랑 같음 / 성과금 연 4-500 정도 [B 회사] 국내 최고의 타이어회사 그룹 계열사로 그룹사들의 IT 담당하는 회사. - 규모: 약 150명 정도 - 회사 위치: 판교 - 업무: 타이어 라벨 발주 시스템 운영 및 유지보수. (업무 정말 단순해보임.) Spring 이 아니라 회사에서 만든 자체 프레임워크 사용 (다른 곳으로 이직 시 불안 요소) - 복지: 회사 사옥 깔끔하고 엄청 좋음. 구내식당 보유. 사내 헬스장 보유. -연봉: 계약연봉 현재 + 500 / 성과금 연 300 정도 / 평가 잘받으면 기본급 도 올라감
투표
개발자
#이직
#경력이직
답변 7
댓글 1
추천해요 1
조회 4,219
일 년 전 · 허니 님의 새로운 답변
리액트 로그인질문..
react + 파이어베이스만 써오다가 react + express 조합을 오랜만에 사용중인데 긴가민가한점이있어서 질문드립니다 ㅠㅠ import axios from 'axios'; const instance = axios.create({ baseURL: process.env.REACT_APP_API_BASE_URL, timeout: 2500, headers: { 'Content-Type': 'application/json', withCredential: true, }, }); instance.interceptors.request.use( (config) => { const token = localStorage.getItem('token'); if (token) { config.headers['Authorization'] = token; } else { delete config.headers['Authorization']; } return config; }, (error) => { return Promise.reject(error); } ); export default instance; 이렇게 인터셉터를주어서, 요청할 때마다 토큰을 전달하고있습니다. 그리고 프라이빗 라우터 + 유저정보 인증 훅을 사용해서 로그인사용자만 접근가능하게 페이지를 설정해줬습니다. 근데 질문 1. 네트워크탭 Request Headers 에서 Authorization을 확인해보면 토큰정보가 그대로 노출되고있는데요 원래 이렇게되나요? 질문 2. Bearer + token 이렇게 보내는 경우는 포스트맨이나 이런걸로 테스트할때만 Bearer 을 붙여서 보내주면될까요? 질문 3. 검색 키워드가 생각이안나서 질문으로 올립니다. 아주 옛날에는 (4년전) App.tsx에서 if(localstorage.token){ setAuthToekn(token); } 이런식으로 하고, setAuthToken함수는 import axios from 'axios'; const setAuthToken = (token) => { if (token) { axios.defaults.headers.common['x-auth-token'] = token; } else { delete axios.defaults.headers.common['x-auth-token']; } }; export default setAuthToken; 이런식으로 되어있었는데요, 요즘은 제가 짠 코드처럼 axios.인터셉터 식으로 하는게 맞나요? 질문 4. 그럼 요즘도 회원가입/로그인시 로컬스토리지에 유저 정보 (닉네임 이름 이메일, 토큰정보)만 저장해두고 로그인하면, 로그인버튼이 회원 닉네임으로 변하게 해준다던가.. 이런식으로 분기처리를 하나요? ( 저는 이렇게하고있어서요.. 로딩처리를 줄수도있겠지만 깜빡거리는게 싫고, 또 로컬스토리지로안하면 로그인버튼으로 잠깐바꼇다가 회원닉네임이 표시되더라구요) 질문5. (질문4와 이어집니다.) 만약 질문4처럼하면 사용자가 사이트에 계속 로그인중인데, 이 토큰이 끝났는지 판단하려는 코드를 따로 작성해줘야할까요? 예를들면, App.tsx에 서버 api/auth같은거에 요청보내는 로직을 작성해서, 토큰만보내서 유효한 토큰인지 아닌지, 유효하지않은토큰이면 에러를 리턴시켜준다던가, 리프레쉬토큰을 발급시켜서 연장시켜준다던가 이런식으로하면될까요? 마지막으로 질문이 좀 많고 중구난방인데 죄송스럽고 조심스럽네요..
개발자
#react
#login
#register
#local-storage
#jwt
답변 1
댓글 0
조회 107
일 년 전 · ㄱㅎㅁ 님의 새로운 답변
백엔드 개발을 원하는데 제조업 회사라도 들어가야 할까 고민입니다...
안녕하세요. 지방사립대 컴퓨터공학과를 2월에 졸업한 24살 취준생입니다. 대학교 2~3학년 때, nodejs androidStudio flutter 찍먹하다가, 대학교 4학년이 되어서야 백엔드 개발을 목표로 두고 스프링 공부를 시작하였습니다. 덕분에 제대로된 직무관련 프로젝트는 SpringBoot를 사용한 졸업 프로젝트 하나 뿐이네요... 정처기, sqld, opic은 따둔 상태이고, 지금은 공모전 하나 준비중입니다. 작년 하반기에 대기업 위주로 지원서 4곳을 냈는데, 1곳은 1차면접에서 탈락 나머지는 서류 탈락이었습니다. 지금도 대기업을 위주로 노리고 있기는 하지만, 커리어를 쌓을 수 있는 곳이면 어디든 가자!라는 마음으로 지원서를 넣고 있습니다. 그러가가 지방에 있는 제조업 회사 IT부서에 갈 기회가 생겼습니다. 초봉 5000 정도인 꽤 규모있는 기업입니다. (대신 연봉인상률이 좋지 못하다고 합니다.) 이 회사는 개발자가 커리어 쌓기에는 좋지 못한 회사인 것 같습니다. 자동차 부품 제조가 메인 사업이고, 오래 근무하신 IT 부서 현직자 분에게도 ‘개발을 원한다면 우리 회사랑은 안 맞을 것 같다’는 이야기를 들었습니다. 요즘 채용 시장이 많이 안 좋다고 들었습니다. 제조업 IT 부서에라도 들어가서, 개인 공부를 하다가 이직을 하는 것이 좋을까요?? 아니면 커리어 쌓을 수 있는 회사나 부트캠프에 도전해보는 것이 좋을까요...??? 제조업 IT 부서에서 일을 하더라도 경력 인정을 받을 수 있을까 걱정입니다...
개발자
#백앤드
#제조업
#이직
#java
#spring-boot
답변 1
댓글 0
조회 380
일 년 전 · 손대호 님의 댓글 업데이트
API 호출 시, 응답의 반환하는 방법에 대해 질문이 있습니다.
제가 했던 방식과 다른 새로운 방식을 알게 됐는데 다른 개발자분들은 일할 때 어떤 식으로 통신하는지 궁금증이 생겼습니다. 그리고 이번 기회에 다른 개발자들과 이야기해 보면서 또 어떤 방식이 있는지 알기 위해 커리어리에 첫 글(질문)을 쓰게 됐습니다. —— ***들어가기 전에*** - 신입 백엔드 개발자로 취업 준비 중입니다. - 다양한 방식으로 해보는 걸 좋아하기 때문에 장단점만 있을 뿐 정답은 없다고 생각합니다. - API 요청 시, `Reponse status code`는 클라이언트-서버와의 약속이라고 생각하고 있고, 약속을 했으면 따라야 한다고 생각합니다. - 기간이 짧은 프로젝트이기 때문에 어떤 답변이 오더라도 프로젝트에서 정한 약속을 바꿀 생각은 없습니다. 프로젝트가 끝나고 백엔드 개발자분과 리팩토링을 하면서 의견을 공유해보고 싶긴 합니다. (원하지 않는다면 어쩔 수 없고요..) ***중요*** - 글을 잘 쓰는 편이 아니라 이해가 안되거나 제 말투가 공격적이라고 느껴지는 부분이 있으면 언제든지 말씀해 주세요! - 만약 방식이 잘못됐다고 생각하시면, 그렇게 생각하는 이유와 가능하다면 경험을 공유해주세요! —— # 본문 지금까지 RFC / MDN / IT 기업 기술 블로그 등을 보고 REST API를 공부했고, 설계 원칙에 따라 모든 API 요청에 대한 Response 상태 코드를 200, 400, 401, 403, 404, 500 등과 같이 정확하게 주고받아야 한다고 생각하고 있었습니다. (물론 애매한 경우도 있었습니다) 그런데 최근 짧은 기간 동안 프로젝트를 하게 되었는데, iOS 개발자(2년차 현직)분과 백엔드 개발자(신입 개발자 취업 준비)분께서는 아래와 같은 의견을 주셨습니다. ''' 클라이언트의 입장에서 요청을 보냈을 때, 서버와 연결이 실패한 게 아니라 서버를 통해 정의된 에러 (4xx, 5xx)를 받았으니 통신에 성공한 것이다. 그러므로 API의 모든 요청(권한이 없는 사용자의 요청, 잘못된 리소스 요청, 이미 가입한 사용자가 다시 회원 가입 요청 등)의 `Response status code`는 200을 반환하고 body에 서버에서 응답한 상태 코드(3xx,4xx, 5xx 등)와 함께 커스텀으로 명시한 에러 코드(AUTH-001 등), 에러 메시지를 보내야 한다. ''' 관점을 다르게 보면 그럴 수 있겠구나 싶었고 문득 주변 개발자분들은 어떻게 구현을 하는지 궁금해져서 이야기를 나눠봤는데 그 결과는 반반이었습니다. 아직 그분들도 연차가 높지 않기 때문에 그렇게 설계한 이유와 이점에 대해 자세히 알고 계시지는 못했습니다. —— # 질문 1. 모든 요청의 Response status code로 200을 보내는 건 REST API 설계에 어긋난다고 생각하는데 이렇게 설계하는 이유와 있는지 궁금합니다. 2. 모든 API 요청의 Response status code를 200으로 보내는 방식으로 구현한다면 나중에 어떤 문제가 생길 수 있을까요? (예를 들어 웹으로 확장 등) - 현재 iOS로 개발 중이며, 확장 가능성은 없는 상태입니다. 단순하게 궁금해서 질문드립니다. 3. 만약 두 방식 외에 다른 방식으로 통신한 경험이 있으시면 그 방식을 선택하신 이유와 이점도 궁금합니다.
개발자
#rest-api
#statuscode
#지식-공유
답변 1
댓글 1
추천해요 2
조회 759
일 년 전 · ㄱㅎㅁ 님의 답변 업데이트
정기적 서버트래픽 데이터센터가 나을까요 클라우드서버가 나을까요
안녕하세요 현재 데이터센터에서 월 25만원으로 서버를 임대해서 예약-결제 사이트를 운영하고 있습니다. 평소에는 하루에 접속자수 100명, 동시접속자는 많아야 10명인데, 한달에 한번 두시간동안 트래픽이 맥스 2500명 가량 되고 이때 서버가 다운까지는 아니고 매우 느려지는 접속지연이 심하게 발생합니다. 웹사이트 유지보수 업체에서 서버를 관리하고 추가개발 등을 의뢰하고 있는데요, 제 생각엔 aws ec2 클라우드로 배포하면 평소에 큰 리소스가 필요하지 않아서 싸게 운용하고 한달에 하루, 2시간만 확장해서 쓰면 25만원 내에서도 가능하지 싶은데.. 업체는 자세한 설명이 없고 현 서버의 cpu 사양을 두배로 올리겠다고 합니다. 그러면 비용이 25->40만원이 되구요 지금 평소에 필요하지도 않은 리소스 때문에 이미 서버 사양을 많이 올린 상태입니다. 그래도 예약 두시간에 지연이 심하게 발생하고 있구요..(서버 사양은 밑에 적겠습니다) 혹시 클라우드 서버의 과금에 대해 잘 아시는분이 계실까요?? 월 50만원까지는 사용이 가능할것 같은데 두시간을 위해 한달치 서버사양을 올리는게 맞는건지.. 여태껏 올려왔는데도 지연이 발생하는데 해결은 될지 답답합니다. 아래는 현재 데이터센터에서 임대하고 있는 서버컴퓨터의 사양입니다. CPU : xeon x5670 2EA(12코어 24쓰레드) 램 16기가 SSD 500GB SAS HDD 600GB
개발자
#서버
#서버배포
#서버이전
#서버-성능
#서버-트래픽
답변 1
댓글 0
조회 87
일 년 전 · 이지헌 님의 새로운 댓글
Next.js 이미지 최적화 방식에 대해 질문이 있습니다.
안녕하세요! Next.js 14를 사용해 프로젝트를 진행하던 중 이미지 최적화에 관해 궁금한 점이 생겨서 이 곳에 질문을 남깁니다. 프로젝트를 하며 약 500개의 이미지를 랜덤으로 추천해서 렌더링하는 기능을 구현했습니다. 현재 작업 방식은 프로젝트에서 페이지에서 이미지를 업로드 하는 기능은 필요가 없기에 MongoDB에 이미지 'URL'을 모두 저장하고 클라이언트에서 서버로 요청하면 서버에서 DB에 있는 URL을 리턴해주면 그걸 <img> 태그를 이용해서 화면에 띄우는 방식으로 구현했습니다. 하지만, 이렇게 구현하니 이미지 렌더링 속도가 조금 늦는 현상이 발생해 이를 최적화하고 싶습니다. 제가 생각했던 방법들은 다음과 같은데 어떤 방법이 좋은지, 혹은 더 나은 방법이 있는지 아시는 분이 있으면 추천해주시면 감사하겠습니다. 1. 이미지를 모두 다운받아 public 폴더에 넣고 Next/Image를 사용한다. -> 이 방법을 하려니 사진이 500개가 되고 사진마다 png,jpg 형식도 달라서 적용하는 것도 어려울 것 같고 무엇보다도 프로젝트 파일 사이즈가 커지는게 문제가 될 것 같다는 생각을 했습니다. 만약 사진이 500개가 아니라 1000개 2000개가 된다면 더더욱 그럴 것 같아서요. 이 부분에서 추가로 생각해본 방식이 파일 형식을 모두 avif로 바꾸는건데 그런 접근도 괜찮은건가요? 2. 서버에서 URL 넘어온 그대로 Next/image를 사용한다. -> 모든 파일의 url 형식이 달라서 일일이 next.config.ts에서 설정해주는 게 쉽지않을 것 같다고 생각했습니다. 그래서 모든 파일을 AWS S3에 올려놓으면 URL 주소가 같을테니 그렇게 하는 게 맞는지 궁금했습니다. 아직 제 지식이 짧아서 생각해본 방식은 위와 같은데, 추가로 좀 더 좋은 방식이나 현업에서 사용하는 방식이 있다면 알려주시면 감사하겠습니다. 긴 글 읽어주셔서 감사합니다!!!
개발자
#next.js
#리액트
#이미지최적화
#넥스트
답변 1
댓글 1
추천해요 1
조회 196
일 년 전 · 포크코딩 님의 새로운 답변
Jmeter 동시성 테스트 관련 질문입니다.
컴퓨터 1대로 Jmeter와 로컬 환경에서 서버를 띄우고 주문 -> 결제 -> 재고량 감소 API 테스트를 하려고 하는데 궁금한 점이 있어 질문드립니다. (간단한 사이드 프로젝트 수준 입니다.) 기술 스택 : Java, Spring Boot, JPA, MySQL, OpenFeign 사용자 10000명이 동시에 주문 또는 결제하는 테스트 시나리오에 대한 결과를 보고 싶은데 컴퓨터 성능의 이슈로 Dead-Lock이 발생합니다. 쓰레드 수를 늘려가며 에러율을 모니터링 한 결과 최대 500개까지는 Dead-Lock이 발생하지 않습니다. 동시에 10000개의 쓰레드를 감당하려면 어떤 부분을 고려해야 할까요? 스펙상 불가능하다면 10000명의 동시성 테스트를 대체하기 위해 어떻게 테스트 시나리오를 다시 짜야될까요? Jmeter의 Number Of Threads, Ramp - up period, loop - count를 어떻게 조정해야 할까요? 도와주시면 감사하겠습니다 ㅜ
개발자
#java
#spring
#mysql
#jpa
답변 1
댓글 0
추천해요 1
조회 193
일 년 전 · 백승훈 님의 댓글 업데이트
Nginx, Express 연결 후 프론트에서 이미지 파일 전송시 408 Error
안녕하세요. 혼자 해보던 도중 도저히 해결이 되지 않아 문의드립니다. - 서버 설계 - 현재 저는 Express앱을 AWS EC2 인스턴스에 NGINX를 설치한 후 proxy_pass에 express앱이 구동중인 port를 연결하여 사용하고 있습니다. 이 과정에서 ALB를 통해 ACM을 연동하여 HTTPS 프로토콜이 사용가능하게 설정까지 하였습니다. 이미지 파일업로드는 multer-s3를 이용해 s3버킷과 연결하여 업로드 되는 방식입니다. - 문제상황 - 로그인과 기본적인 CRUD는 문제없이 되는데, 프론트에서 이미지 파일(multipart/form-data)을 서버로 전송하면 504 오류가 출력됩니다. 1. nginx의 access.log에는 해당 uri의 상태코드가 408이라 출력됩니다. 2. nginx의 error.log에는 readv() failed (104: Connection reset by peer) while reading upstream가 출력됩니다. 3. 개발자도구의 console창에 'server의 이미지 업로드 uri' from origin '프론트 도메인'이 has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. 이라 출력됩니다. 위 오류를 해결해보기 위해 시도해본 것은 아래와 같습니다 1. NGINX의 proxy_connect_timeout, proxy_send_timeout, proxy_read_timeout, send_timeout을 600으로 설정, client_max_body_size를 500M으로 설정 2. ALB의 유휴제한시간 600 설정 3. Express 앱에 app.set('trust proxy', true); 추가 4. Express-session에 app.use(session({proxy:true})) 추가 5. body-parser에 app.use(bodyParser.json({limit: '1000mb'})); 추가 및 app.use(bodyParser.urlencoded({limit: '1000mb', extended: true})); 추가 6. 업로드되는 uri의 미들웨어에 (req, res, next) => { req.setTimeout(1000000); next(); } 추가 7. upload.single()미들웨어를 주석처리 후 req.file 출력 시도 아직도 해결을 하지 못하였습니다 ㅜㅜ 연휴임에도 도와주시면 너무 감사하겠습니다..
개발자
#aws
#alb
#nginx
#express
#ec2
답변 2
댓글 4
조회 284
일 년 전 · 익명 님의 질문 업데이트
국비수료후 취준중 현타..
10월에 국비 node를 수료했습니다. 국비가 정말 우물안의 개구리라는건 잘 알고 있습니다. 그래도 해당 트랙을 수료하면서 고졸 비전공자임에도 매일 새벽까지 공부하고 질문하다보니 최종프로젝트때부턴 제가 누군가에게 도움을 줄 수 있었고 저에게 질문을 하러 오시는 분들도 계셨습니다. ( 물론 그럼에도 한없이 부족하다는 점 잘 알고 있습니다. ) 현업과 국비를 통해 협업해본건 정말 다르다는걸 알고 있기에 수료후부터 취업 할 생각으로 취준 중입니다. 어느덧 3개월이 넘었네요.. 기간을 보자면 다른 분들에 비해 정말 짧다는 것도 알고 있습니다.. 프로젝트 종료 후에도 코드를 수정하고 응답속도, 처리속도를 개선하거나 알고리즘, cs공부를 하며 취준을 이어가다 서류 탈락, 면접 탈락을 겪으니 이 길은 내길이 아닌가라는 현타와 회의감에 둘러싸였고 취업을 위해 경상도에서 무작정 서울 올라온지 한달이 넘어가는데 서류 500개 넣을 동안 면접 4번 본게 다라는게 정말 우울해지고 현재는 공부를 안하고 그냥 하루종일 집에만 박혀사네요.. Api가 뭔지 api를 어떻게 설계해야하는지도 모르는 분들도 취업을 하시던데 나는 왜 취업을 못하는건가라는 생각이 깊어지면서 우울증으로 인해 자살생각까지 하게 되네요.. 정말 취업만 된다면 매일 밤 10시까지 야근하며 배우고 공부해도 괜찮은데 현실 사회에선 이런 나는 전혀 필요로 하지않는다는게 정말 힘듭니다…….
개발자
#취준
답변 1
댓글 0
추천해요 1
조회 641
일 년 전 · 강병진 님의 답변 업데이트
검색에서의 필터링 로직 구현 질문
플러터를 통해서 앱을 만들고 있습니다. 현재 백엔드를 통해서 데이터를 받아오고 있습니다. 다만 이 과정에서 필터링 관련 고민이 하나 있습니다. 받아와야하는 데이터 셋이 500개 ~1000개 추후에는 엄청나게 많이 불어날 것 같은데. 그 모든 데이터를 모두 클라이언트가 받은 후 필터링을 통해서 걸러내는게 좋을지, 아니면 서버에 필터링 값을 보낸 후 필터에 맞는 값만 받는게 맞는지, 어떤걸 선택해야하는지 궁금해서 질문드립니다☺️
개발자
#flutter
#필터링
답변 1
댓글 1
조회 266
일 년 전 · H 님의 질문 업데이트
국비학원 vs 온라인부트캠프
안녕하세요 일단 제 스펙을 말씀드리면 27살 자취하는 직장인 작년에 정처기 취득 독학으로 끄적이면서 지금 스프링 부트공부중 입니다 일단 가장우선순위는 이직이 제일 최종목표입니다! 1번 국비학원 80만원정도 지원금 들어오며 직장그만둬야함 프로젝트 3개정도진행 9-6시 2번 ㅅㅍㄹㅌ ㅋㄷ 500정도 교육비 지급해야함 나중에 다 수료후 프로젝트팀따로모아서 진행한다함 주3,평일3시간 직장평행가능 ->> 물론 경제적으로 여유로우면 바로 그만두고싶지만 현상황이 그렇지않아 고민이 더되는것같습니다 일단 현재 다니는직장은 아예 다른직무이며 워라벨은 좋은편입니다.
개발자
#java
답변 2
댓글 0
조회 461
일 년 전 · 김태현 님의 새로운 댓글
sql문 부적합합니다..
spring boot 4 에서 웹개발프로젝트를 진행중입니다.. jsp페이지에서 받아온 searchText값을 쿼리문으로 비교 후 foodinfolist를 반환해주는데 sql developer에서는 SELECT * FROM foodinfolist WHERE food_name LIKE '%' || '치킨' || '%'; 해당 코드가 정상동작 돼서 잘 검색하지만 mapper.xml에서 <mapper namespace="com.springproj.dietwebservice.repository.IFoodInfoDAO"> <select id="findfoodinfo" parameterType="java.lang.String" resultType="com.springproj.dietwebservice.domain.FoodInfoVO">> <![CDATA[ SELECT * FROM foodinfolist WHERE food_name LIKE '%' || #{searchText} || '%' ]]> </select> </mapper> 해당 코드를 실행하면 sql문이 부적합합니다 라고 에러가 발생합니다.. 뭐가 문제인지 모르겠습니다.. searchText: 치킨 으로 데이터도 잘 담겨오는데.. [2m2024-01-31T16:24:22.500+09:00[0;39m [31mERROR[0;39m [35m8208[0;39m [2m---[0;39m [2m[nio-8090-exec-9][0;39m [2m[0;39m[36mo.a.c.c.C.[.[.[/].[dispatcherServlet] [0;39m [2m:[0;39m Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.springframework.jdbc.BadSqlGrammarException: ### Error querying database. Cause: java.sql.SQLSyntaxErrorException: ORA-00900: SQL 문이 부적합합니다 선배님들 조언부탁드립니다..
개발자
#sql
#spring-boot
답변 4
댓글 2
추천해요 1
조회 578
일 년 전 · Aiden 님의 질문 업데이트
대학교 4학년 진로 고민(잠이 안 와요, 도와주세요)
안녕하세요. 서울에서 산업공학과를 졸업예정인 현재 대학교 4학년입니다. 저는 궁극적으로 사업을 하고 싶습니다. 몸이 좀 힘들어도 내 시간이 부족해도 그 과정이 설령 어려울지라도 사업에 꼭 도전하고 싶습니다. 연봉 1억이 중요한게 아니라 꼭 연봉 10억, 20억에 도전하는 삶을 살고 싶습니다. 그리고 지금은 백엔드 개발자로 우선 대기업이 아니더라도 어디든 취업해서 일을 배우고 회사를 배우는 과정을 보내려 했습니다. 그런데 계속 공부중에 이런 생각이 들었습니다. 요새 취업시장도 어렵고, 과연 개발자로 커리어를 시작하는게 사업까지 이어지는데 도움이 될까? 유튜브 보면 요즘 흔히 말하는 자기계발 1인 콘텐츠 사업같은거 보면 월에 500-1000도 벌고 일반 직장인들이 직장 그만두고서까지 도전하거나 아님 적어도 부업으로 다들 시도하던데 남들보다 잃을게 없는 지금 차라리 이런걸로 내 아이덴티티를 키워서 사업화를 하는게 돈을 버는 더 빠른길이 아닐까 하고요. <질문요약> 1. 현업 개발자님들 주변에 실제로 1인 사업이나 스타트업 등의 현황을 알고 싶습니다. 2. 개발자로 커리어를 시작하는게 사업을 준비하는데 도움이 될까요? 3. 주변에서 직장을 그만두고 다른일을 찾아가거나 혹은 다니면서 부업을 하는 경우는 얼마나 보셨나요? 아직 아무것도 모르는 풋내기라 질문 수준이 참 낮은걸 저도 아는데, 인터넷에 널린 정보는 신뢰도가 낮고 그렇지만 진로 방향성을 두고 너무 고민이 많아 그 어떤 조언도 큰 도움이 될 것 같습니다!
개발자
#진로-사업
답변 2
댓글 2
추천해요 5
조회 745
일 년 전 · 김시언 님의 질문 업데이트
박사 졸업(도메인+ML 연구) 후 데이터 분야로 진로 변경(스타트업 조인..?)
안녕하세요. 저는 23년 2월에 박사를 졸업하고 데이터 사이언티스트-엔지니어로 잡을 구하고 있습니다. 현재는 학교에서 포닥으로 소속되어서 연구를 마저 마무리하거나 새로운 연구를 준비하고 있구요. 학위 중에 AI/ML을 전공한 것은 아니구요. 따로 도메인이 존재하는데 박사 입학 후 2년차부터 AI/ML (주로는 NLP)를 활용해서 연구를 진행했습니다. 주로 저희 도메인 문제를 풀다보니 데이터셋 만들고 문제 해결하고 하는 것은 경험이 많지만 새로운 모델 아키텍쳐를 제안하는 쪽으로 연구를 수행한 적은 없습니다. 최근에는 점차 연구에 NLP 비중을 늘려서 cs + 도메인 컨퍼런스들에 논문을 내는 중입니다. 문제는 올해 대기업이나 제가 생각하는 괜찮은 도메인 + AI 기업에 지원을 한 5군데 정도 했는데 모두 면접에서 탈락했다는 겁니다. AI 연구원으로 지원하기에는 AI/ML 연구를 주로 하지는 않았기 때문에 보통 데이터 계열로 지원했습니다. 다만 저와 도메인 일치도가 상당히 높은 스타트업 하나에서 오퍼가 와서 이야기를 진행 중입니다. 상당히 초기 스타트업으로 업력은 1.5년에 정직원 10명 가량, TIPS 받은 상황(15억)이며 B2B 형태인데 시리즈A 투자 투심위는 끝냈고 올해부터 매출을 꽤 낼 수 있다는 자신감이 있어서 시리즈 A 규모를 크지 않게 가져가려고 한다고 합니다. (대표와의 면접에서..) 그래서 지금 시점에서 옵션이 2가지를 고려중인데 하나는 현재 포닥 중인 곳에서 연구를 더 진행하면서 연구 실적을 쌓고 다시 취업을 도전하거나 학계 진출을 노리는 것이고. (아무래도 1. 채용 한파..?, 2. AI/ML 컨퍼런스 실적 부족, 3. DE로써 필요한 개발 역량 부족이 탈락 요인이지 않을까 싶어서 이를 보완하고)다른 하나는 제안 받은 스타트업에 조인하는 것입니다. 연봉은 전자는 7500 정도고 후자는 8000에 스톡옵션 협의 정도일 듯 합니다. 스타트업 및 데이터 직군 쪽 채용 시장을 잘 파악하지 못한 것 같아서 의견을 여쭙습니다. 감사합니다!
개발자
#데이터엔지니어
#데이터사이언티스트
#스타트업취업
#박사졸업
답변 1
댓글 0
추천해요 2
조회 437
일 년 전 · 김태영 님의 새로운 댓글
리액트쿼리 고수분들 도와주세요
사이드프로젝트 리팩토링을 진행하는 중에 이해가 안되는 부분이 있어 글 써봅니다. const { data, isLoading, fetchNextPage } = useInfiniteQuery( ["getProducts", sortOption, sortOrder, filterValue, categoryName], async ({ pageParam = page - 1 }) => { const response = await api.post(`/cal/v1/product/${categoryName}`, { filter: filterValue, page: pageParam, query: "", size: size, => size: size - 8 /* 변경한 부분 */ sort: [{ field: sortOption, option: sortOrder }], }); setTotalProduct(response.data.body.product.totalCount); return response.data.body.product.items; }, { refetchOnWindowFocus: false, getNextPageParam: () => page, } ); 위 코드는 인피니티 스크롤을 구현한건데요, size는 한번에 받아 올 상품의 개수 입니다. 상품을 한번에 4개 받아올때는 500ms~, 8개 = 2500ms~, 12개 = 10000ms~ 정도로 요청시간이 비정상적으로 커집니다. 사용자경험과 api요청횟수를 고려했을 때, 12개를 받아오는것이 가장 적당하다고 생각되는데 렌더링 속도가 많이 느리다고 생각되서 개선하고자 합니다. **초기렌더링 에서만 문제가 발생되고, 캐싱되어 fresh한 상태일 때는 바로 불러옵니다** 코드의 다른요소들은, 필터링. 정렬들을 위한 요소들이라 렌더링 시간에 영향을 줄 것 같지는 않은데 왜 이런 문제가 발생하는지 궁금합니다. 이 외에도 잘못작성된 부분이 있거나, 개선해야할 사항이 보이신다면 알려주시면 감사하겠습니다!!
개발자
#react
#reactquery
#infinitescroll
답변 1
댓글 3
조회 98