하루 전 · 포크코딩 님의 새로운 답변
kakaotoken 과 JWTtoken
로그인 구동방식을 jwt token으로 사용하고 있는데(관리자페이지) 카카오 로그인을 추가하려니 동일하게 refresh Token으로 access token을 재발급받아 사용하는 방식이던데 이전에 react-kakao-login 라이브러리만 사용해서 직접적으로 하려니 이런 구동방식인지 이번에 알았네요 현재 refresh token을 http only 쿠키와 DB에 저장해서 클라이언트에서 refresh token을 가져와 전달해주면 백에서 DB와 대조하여 동일한지 검증을 한번 더 해주고 있습니다. 그렇다면 DB에 kakaoRefresh column을 하나 더 추가해서 이중으로 검증하는게 나은지 카카오에서 이미 검증을 한 후에 전달해주니 jwt토큰을 무시하고 1회 검증으로 하는게 나은지 의견을 듣고싶습니다
개발자
#kakaologin
#jwt
#login
답변 1
댓글 0
조회 16
8일 전 · 조유정 님의 질문 업데이트
물경력 직전 중고신입 이직 현실조언 부탁드립니다...
안녕하세요. 물류IT 개발자입니다. 연봉, 복지 면에서 조건 좋은 회사로 중고신입 이직을 생각하고 있습니다만, 현회사에서 성과를 내기 힘든 구조입니다... 현재 회사 규모는 준대기업...? 정도인데 IT는 많이 뒤쳐져있습니다... 지금부터 제 한탄입니다....ㅜㅜ 비즈니스 로직은 DB 프로시저에 모두 구현합니다... 그래서 테스트 코드 이런건 하나도 없구요... 오류나면 사용자가 직접 건의하고 저희는 그때마다 부분부분 수정합니다. 메인 프로세스는 수정하지도 못해요.... 잘못 건드렸다가 되던것도 안된다고요 건드리지 말라고 합니다ㅠㅠ 그래서 주먹구구식 코드도 정말 많아요. 배포할 때에는 아직도 war 파일로 감싸서 수동으로 올립니다... git이 아닌 svn 사용중이지만 이 부분은 사실 큰 불만 없긴 합니다. 또 sm 조직이기 때문에, ‘서비스 개선 방법 = 외주맡겨 새로운 솔루션 받기’ 라는 인식이 강합니다. 2,3년 선배님들과 제 능력이 크게 다르지 않아 보입니다. 물류 프로세스 이해도나 현업 소통 능력은 당연히 차이가 나지만, 기술적으로는.. 비슷한 것 같습니다. 아직 입사 2달차인데 이대로 있으면 물경력으로 발묶여 있을 것 같아 이직을 하려고 합니다. 근데 이직할 때 전 직장에서 무엇을 했는지 당연히 물어볼텐데 지금 회사에서 도저히 it기술적으로 뭘 해낼 수가 없을 것 같습니다... (제 짧은 견해일 수 있습니다) 물류 도메인 지식은 정말 많이 얻었습니다. 주문, 입출고, 전표처리 등... 개인 프로젝트로 보완을 하겠지만, 중고신입인지라 회사에서 뭘 해냈는지를 더 중요하게 생각하지 않을까... 싶어 고민입니다. 대규모 레거시 시스템 마이그레이션 기회가 어디서도 쉽게 해볼 수 없는 기회다 라고 말씀해주시는 선배님이 계시긴합니다. 그런가...? 싶다가도 어차피 회사에서 업체써서 할 건데 내가 얻는게 있나..? 라는 회의적인 생각이 크게 들어요.. 아직 업무경험이 많이 부족한지라, 위 한탄들이 짧은 식견일 수 있습니다.. 이직에 대한 현실적이고 따끔한 조언 부탁드립니다. 제가 회사에서 무엇을 할 수 있을까요...? 이직할 때 어떤 방향으로 어필하면 좋을까요? (개인프로젝트,,?)
개발자
#이직고민
#이직
#sm
#네카라쿠배
답변 0
댓글 0
조회 46
15일 전 · nox 님의 새로운 답변
신생 스타트업 신입 DBA vs 추가 취준
고민이 생겨 질문드립니다. 신생 스타트업 DBA 신입으로 합격했는데, 신생이다보니 회사 규모가 작습니다. 연봉은 희망 연봉에 맞춰주긴 하지만, 포괄임금제가 적용되어서 얼마나 추가 근무를 할지 모르는 상황입니다. 또한 도메인 특성상 짬이 좀 차면 외부로 출장도 존재합니다. 또한 규모가 작은 기업이다보니 월급을 제대로 받아볼 수 있을지 고민입니다.. 아무래도 서울에 방을 잡고 다녀야하다 보니… 추가적으로 토스에서 서류합격해서 면접이 잡혔는데, 좀 늦게 실시해서 면접전에 취업 여부를 회사로 전해야할 것 같아요. 백엔드 직무를 하면서 DBA로 전직도 생각하고 있기도했고, 10년차 사수 DBA도 있기에 정말 좋은 기회라 생각되긴 합니다. 고민되는점은 신입 DBA쪽을 포기하고 백엔드로 취준을 이어갈지, 일단 회사에 들어가서 연차를 내고서라도 토스 면접을 보면서 눈치를 봐야할지 모르겠습니다. 취업이 급해서 고민한다기 보다는 최종적으로 꿈꾸던 직무를 신입으로 시작할 수 있다는 점과, 사수가 있다는 점에서 고민하게 되는 것 같아요. 반대로는 이때까지 공부한 백엔드 기술들을 좀 버리고 DBA로 평생 해야될 것이며, 취업시장이 안좋은지라 포기하고 취준을 이어간다고 해도 엄청나게 좋은 기업에 들어갈 것 같다는 자신도 없네요.. 경험자 분들의 피드백을 들어보고 싶습니다..!
개발자
#백엔드
#dba
#스타트업
답변 1
댓글 0
추천해요 1
조회 103
17일 전 · 포크코딩 님의 새로운 답변
앱서비스를 구현할 때 로컬에 있는 데이터를 서버에 업데이트할 때 어떤 전략들이 있을까요?
결론부터 이야기하면 앱 서비스에서 로컬 DB에 저장된 데이터를 서버에 어느 시점에 어떻게 저장할지 고민입니다. 첫번째 질문은 "동일한 핸드폰에서 게스트 모드로 사용했던 데이터를 사용자가 서비스에 가입하여 로그인 했을 때 게스트에서 이용했던 데이터들을 어떻게 사용할 수 있을까?" 입니다. 서비스에 게스트 모드를 이용하게 될 때는 로컬 DB를 이용해서 구현하고 있습니다. 이때 소셜 로그인 시 로컬에 있는 데이터를 해당 계정에 반영하고 싶습니다. 일단 설정 탭에 버튼을 두어 게스트 모드와 동기화를 시키는 방향이 가장 먼저 떠오르는데 이 방법 외에 여러 방법을 듣고 싶습니다. 두번째는 소셜 로그인 시에도 로컬 기반으로 서비스를 만든다고 가정했을 때 서버에 데이터를 저장되는 방식과 시점이 고민입니다. 업데이트될 때마다 로컬과 서버 두 곳에 바로 저장할지 아니면 앱에 일정 트리거 마다 서버에 있는 기존 데이터를 지우고 새롭게 로컬 데이터를 최신화 시키는 게 좋을지, 혹은 다른 방식은 있는지 궁금합니다!
개발자
#앱개발
#모바일앱
#flutter
답변 1
댓글 0
조회 90
한 달 전 · aigoia 님의 답변 업데이트
앞으로의 진로에 대해 의견 듣고싶습니다!
안녕하세요. 여러 관련 글들을 찾아보다가 여기선 좋은 조언을 얻을 수 있을 것 같아 글 올립니다. 상황 설명 글이 좀 길 수 있어 양해부탁드립니다! 우선, 현재 저는 26살입니다. 저는 IT융합공학과를 졸업했습니다. 학교에서는 기초 프로그래밍(자바, c, c++, python등)과 AI 관련을 배웠습니다. 졸업 후 약 2년 반동안 IT회사가 아닌 국가연구를 하는 회사에서 IT 쪽으로 근무를 했습니다. 이때 웹 풀스택(React, Node)으로 웹사이트 개발과 AI(이미지, 시계열) 개발을 주로 수행했습니다. 이번에 개인적인 사정으로 퇴사를 하게되었는데, 졸업 후 바로 취업을 하다보니 다른곳을 준비하기가 두렵기도하고 어렵습니다. 어렵다는 말이 이상한데.. 개발자로 취업을 준비하는 분들처럼 다양한 자격증을 가지고있지도, 어학성적을 가지고있지도 않습니다. 다만, 이전 회사에서 다양한 웹사이트를 개발하면서 자료로 남은 포트폴리오는 있습니다.. 그래서, 우선 출발선상이라도 가자 라는 마음으로 토익도 준비하고 정처기도 따고 준비하고있는데 불안한 마음이 너무 큽니다. 첫번째로 고민이 되는 부분은, 제가 이 경력으로 경력직으로 들어갈 수 있을까? 입니다. 경력이 짧은것도 사실이며 워낙 다양한 프로젝트를 수행했었기때문에, 전문적으로 웹 개발을 하는 직무를 가게된다면 잘 해낼 수 있을까 하는 생각이 듭니다. 제가 사용했던 기술은 React.js와 Node.js , 서버는 회사에 직접 구축했습니다. DB도 구축해서 연동했었습니다. 다만 AI등 다양한 업무를 같이 수행하다보니, 전문적으로 웹만을 개발하는 개발자보단 부족하지않았나? 라는 생각도 듭니다. 사실은 제가 개발한 AI 모델이나 시스템들이 웹으로 표출될 수 있도록 구현한 프로젝트도 있어 이런것들이 다양한 일을 할 수 있는 사람이다! 라는 점에선 이점이라고 생각하고 강점으로 내세웠었지만, 몇 번의 서류 탈락을 겪어보니 그냥 여러개를 얕게 한 사람처럼만 보이지않을까 하는 생각이 들어 이렇게 쌓은 경력을 가져갈 수 있을까 라고 생각했습니다.. 두번째로는, 웹 개발이 아닌 다른 개발자로 가는건 어떤가 에 대한 고민입니다. 업무를 해보면서 아무래도 웹개발이 크게 재밌지도, 적성에 맞지도 않는 느낌이었습니다. 물론, 일이란게 모두 해결하기 위해 하는거니 열심히 결과를 냈지만 흥미를 가지고 재미있게 하진 않았던것같습니다. 그래서 이렇게 다시 취업할 수 있는 기회가 생기면서 다른 직무로 가보는건 어떤가? 하는 생각이 들었습니다. 제가 관심가지는 직무는 네트워크, 클라우드 관련 직무인데 관련된 기술을 사용해본 적 없어서 어떤식으로 준비하면 좋을지가 고민입니다. 처음 생각해본건 국비 수업을 듣는것인데.. 지방에 있다보니 서울에서 하는 유명한 교육은 듣기가 부담이되고, 국비에 대한 안좋은 후기나 시선이 계속 보여 좋은 선택인지 고민이됩니다. 그게 아니라면 독학을 통해 공부하고, 프로젝트를 수행하고, 포폴을 만드는게 맞다는걸 아는데, 아무래도 커리큘럼 없이 혼자 수행하려하니 계속 이게 맞을까? 라는 생각이 듭니다. 글이 너무 길어 죄송합니다 ㅠㅠ 짧게 제 고민을 정리하자면 현재 짧은 웹 개발 경력을 살려서 가는게 좋을지 공부를 통해 새로운 직무(클라우드, 네트워크)를 신입으로 들어가는게 좋을지 2-1. 그렇다면, 국비 교육을 듣는게 괜찮은걸까요..? 2-2. 아니면 혼자 열심히 공부해서 포폴, 자격증(AWS) 등을 준비하는게 좋을까요 현재 정확히 정해진것없이 두루뭉실한 생각들만 너무 많아 죄송합니다.. 제 고민을 완벽하게 해결하고싶다기보단, 현직에서 일하시거나 개발자로서의 취업을 준비하시는 분들의 의견이 듣고싶습니다! 긴 글 읽어주셔서 감사합니다 !
개발자
#이직
#경력이직
#진로
답변 1
댓글 0
조회 105
한 달 전 · Dalton 님의 새로운 댓글
백엔드 개발자로 2년 5개월 앞으로 방향은..
안녕하세요 선배님들. 저는 백엔드 개발자로 약 2년 넘게 업무를 해오고 있습니다. 급여가 괜찮았던 SI 회사에서 2년을 보냈고, 회사가 막 창업 단계였기에 많은 것을 처음부터 직접 도입하고 백엔드 관련 업무를 스스로 배워가며 일해왔습니다. 그런 환경에서 개발 자체의 재미를 느끼기도 했습니다. 하지만 회사에는 전반적으로 체계가 부족했습니다. 항상 그런 부족함을 느끼면서도, 프로젝트를 완료하는 데 급급하다 보니 Git 사용도 엉망이었고, 서버나 DB 관리도 제대로 된 기준 없이 그때그때 처리해왔습니다. 마치 사이드 프로젝트를 무한 반복하는 느낌이었고, 프로젝트마다 마침표를 잘 찍지 못한 채 마무리되곤 했습니다. 이런 상황에 회의감을 가지게 되었고, 결국 퇴사하게 되었습니다. 퇴사 후에는 자사 서비스를 운영하는 스타트업이나 대기업 위주로 지원했지만 계속 낙방을 경험했습니다. 그러던 중, 최근에 초기 창업 멤버를 모집한다는 글들을 접하게 되었고 현재 몇 군데와 컨택 중입니다. 동시에 이전 회사에서도 다시 제안이 왔습니다. "이번엔 체계를 갖추고, 외부 자사 서비스도 함께 개발하며 개발자로서 의미 있는 성장을 할 수 있는 환경을 만들겠다"며 잡 오퍼를 다시 주셨습니다. 하지만 저는 그 회사에서 2년 넘게 일했던 경험이 있고, 정말로 변할 수 있을까에 대한 의문도 있는 게 사실입니다. 혹시 선배님들이라면, 이런 상황에서 어떤 선택이 더 현명하다고 보시는지 조언을 주시면 정말 감사드리겠습니다.
개발자
#이직
#커리어
답변 3
댓글 3
추천해요 2
보충이 필요해요 1
조회 932
19일 전 · Jin 님의 새로운 답변
JPA+QueryDSL vs MyBatis
백엔드 개발자가 되고 싶어서 스프링을 공부하고 있는 학생입니다. 스프링을 공부하다 보니 DB 연결에 대해서 더 공부하고 싶어져서 두가지 중 한가지를 우선적으로 공부하려 하는데 선배님들의 조언 부탁드립니다. 스프링은 당연히 JPA를 쓰는 줄 알았는데 현업에서는 아직도 MyBatis를 사용하는 곳이 많다고 들어서 어느 것을 선택해야할지 고민이 됩니다. 한가지만 하고 나머지는 버리는게 아니라 한가지를 집중적으로 공부하여 제 핵심역량으로 만들고자 하는 바입니다.
투표
개발자
#백엔드
#db
#jpa
#querydsl
#mybatis
답변 1
댓글 0
추천해요 1
조회 215
한 달 전 · 에그 님의 새로운 답변
개발자가 PM을 하려면 뭘 준비해야 할까요!?
프로젝트 관리에 관심이 있는 6년차 풀스택 개발자입니다! 막연한 관심이었는데 이제 준비를 하고 싶어 이렇게 질문합니다~ 도메인 별로도 특성이 많이 다르고 너무 범위가 넓은 질문이란 걸 알지만 그럼에도 조언해주고 싶은 말씀이나 해봤으면 하는 경험, 또는 추천하시는 서적 등 도움되는 말씀은 모두 감사히 듣겠습니다! 도움이 될지 모르겠지만 기술적인 제 스택입니다! dba 1년, 오픈소스를 활용한 풀스택 웹개발 5년, 최근에는 좋은 기회로 개발 영역에서 팀원들을 리드할 수 있는 경험이 생겼었습니다.
PM/PO/기획자
#pm
#po
#개발자_진로
#이직
답변 1
댓글 0
조회 56
2달 전 · 포크코딩 님의 새로운 답변
실시간 랭킹 보상은 DB에서 지급해선 안 되겠죠..?
실시간 랭킹의 경우 select를 통해 저장된 랭킹을 손 쉽게 구해올 수 있는데, 그 랭킹에 따라 보상을 줘야하는 건 서버쪽에서 처리해야겠죠? 기존에 작성된 게 db에서 집계 보상처리까지 하고 있는지라 개선이 필요할 것 같은데, 보상을 서버에서 주자니 유저 한 명 한 명 일일이 insert 해야하고.. Db는 얕게 배운지라 막막하네여..
개발자
#dbms
답변 1
댓글 0
조회 89
2달 전 · 최예지 님의 새로운 댓글
경력 이직 준비하는데 포폴이 필수일까요?
안녕하세요. 2년 10개월 정도 경력을 쌓고 퇴사 후 이직을 준비 중인 주니어 백엔드 개발자입니다. 6개월은 첫 회사에서 재직한 뒤 그다음 회사로 이직한 뒤 2년 반을 다니다가 퇴사를 하게 되어 이번이 2번째 이직입니다. 첫 회사에서 이직 준비를 했을 당시에는 신입으로 이직 준비를 했었기 때문에 처음으로 경력 이직을 준비하게 되면서 뭐부터 준비해야 할지 너무 막막하여 글을 적습니다. 변명같이 들리는 것을 저도 알지만, 회사를 다닐 당시 새벽이고 주말이고 불려나가면서 일했던 터라 따로 개인 프로젝트를 할만한 여유가 없었습니다. 밤샘도 많았고요. 건강이 무너지고 도저히 못버티겠다 싶어 퇴사한 뒤에는 회복에 신경쓰면서 공부에도 손을 놓았더니 공백기는 1년이 넘었는데 따로 포폴로 쓸만한 무언가가 없네요. 깃허브도 아예 관리가 안된지 좀 되었습니다.. 이전 회사에서 주로 맡은 업무는 1. b2c 서비스 api 개발 2. 어드민 백오피스 개발 3. 신규 프로젝트 db 구축 및 설계 여기에 유지보수, 모니터링이나 운영 관련 업무를 주로 했었습니다. 회사에서 맡았던 프로젝트들이 적은 것은 아닌데 갯수만 많고 전부 동일한 성격의 서비스들이라 플랫폼만 다를뿐 사실상 그닥 차이가 없어서 경력기술서에 어떻게 써야할지도 애매합니다.. 경력기술서야 어떻게든 다듬어서 내면 되지만 포트폴리오가 너무 걱정입니다. 퇴사를 앞둔 당시에 기술블로그를 직접 만들어볼까 하고 백/프론트단까지 개발하다가 흐지부지된 것이 하나 있는데요. 너무 만들다말아서 지금 보면 학부생 수준이라 생각되어 입사 지원 시에 제출하기 부끄럽습니다.. 이미 공백기가 1년이 넘은 상황에 제 나이도 30대이고 이제 재취업이 급한 시기라서 일단 포폴 없이 어떻게 경력기술서만 수정해서 지원하고 있는데 멘토링을 받았을 때는 깃허브에 간단하게 crud 되어있는 프로젝트라도 있으면 좋을 것 같다고 얘기를 들었는데 어디서는 경력직이면 경력기술서가 더 중요하다고 해서 혼란스럽습니다. 지금이라도 포폴용 프로젝트 뭐라도 쌓아서 같이 내는 게 좋을까요? 만들다 말았던 블로그라도 마저 마무리를 해야할지.. 근데 그러면 공백기가 너무 길어지는 것은 아닐까요 스스로 물경력이라고까지 생각하지는 않지만 요새 부트캠프 출신 분들이나 비슷한 연차의 개발자분들을 보면 너무 저만 동떨어져 있는 것 같아 자신감이 많이 떨어집니다. 좋은 곳으로 이직하게 되면 좋겠지만 채용시장은 어려운데 마음은 급하고... 면접을 보러가도 좋은 결과가 없으니 이전 회사보다 열악한 환경이라도 어디든 가야하지 않나 하는 생각까지 듭니다. 그리고 요새 면접 분위기는 솔직하게 답변하는 것을 많이 바란다던데, 면접장에서 많이 듣기도 했고요. 퇴사 사유와 공백기에 대한 질문 답변으로 건강 얘기를 해도 될지 고민이 됩니다. 괜히 나약하다 생각하게 될까 봐 우려스러워 돌려서 얘기하고는 있는데 공백기에 개인 공부 외에 아무것도 안한 걸로 비치는 것도 별로 좋아 보이지 않는 것 같습니다.. 푸념 섞인 긴 글 읽어주셔서 감사합니다. 선배님들의 거리낌없는 조언 부탁드립니다..
개발자
#이직
#경력
#경력이직
#물경력
답변 1
댓글 1
조회 504
2달 전 · 익명 님의 질문 업데이트
Django serializer 현업에서는 어떻게 설계를 어떻게 하시나요?
안녕하세요 RN 개발을 진행하면서 백엔드로 Django를 사용하고 있고, Django를 공부한지 몇개월 되지 않았습니다. 개발을 진행하면서 아래의 문제가 생겼는데, 혹시 애초에 serializer와 model을 잘못 설계한 것은 아닌지, 또한 현업자 분들은 어떻게 시리얼라이저를 사용하시는지 궁금합니다. [문제 설명] 프로젝트의 모델에는 하위 게시글 모델이 여러 개 올 수 있습니다. 모델 구조는 아래와 같습니다. Project { id: number, posts: Post[], } Post { id: number, project: number, <- 무한 참조를 방지하기 위해 id } 앱 개발을 하다가 Post 데이터에서 Project까지 UI를 그려야하는 상황에서 또 프로젝트를 불러오는 API를 사용하니까 (프로젝트 id에서 프로젝트 오브젝트 불러오기, fetchProjectAPI). UI 지연이 되어서 프로젝트 오브젝트를 불러오고 싶은데, 프로젝트 시리얼라이저 내에서 또 포스트 오브젝트가 나오고 거에서 또 프로젝트가 나오는 문제가 생기더라구요. 이와 같은 경우에는 어떻게 해결하면 좋을까요? posts를 제외한 ProjectSummarySerializer를 새로 생성하면 되겠지만 근본적인 해결책은 아니라고 생각합니다 (제외하고 싶은 필드가 생길때마다 시리얼라이저를 만들어야하니깐요). 혹시 애초에 모델을 잘못 설계한걸까요? 또한 애초에 오브젝트로 반환하는 것을 잘 안하나요? (DB 와 송수신 로드를 줄이기 위해서 아이디로만 반환한다던지)
개발자
#django
#serializer
#model
답변 0
댓글 0
보충이 필요해요 1
조회 63
2달 전 · 익명 님의 질문
2년차 물경력 이직에 메리트있을까요..?
2년전에 백엔드개발, 데이터베이스관리로 취업을했지만 개발업무는 전혀안하고 DB관리업무만 했습니다. 경력에 쓸만한 내용은 신규프로젝트 데이터베이스 구축및 설계, 마이그레이션 이구요 기존프로젝트 고도화작업이라 기존 데이터정합성 안맞는 테이블구조 정규화 및 데이터검증후 마이그레이션 작업이 주 업무였어요 부가적으로는 유지보수성 DB관리, 그리고 번거로운 노가다성 쿼리작업을 대체할려고 간단한 코드짜서 데이터채우거나 일부 데이터 마이그레이션정도 했습니다. 제가 고졸이라 방통대 재학중이고, 집에서 혼자서 스프링부트, 리액트로 회사프로젝트(윈도우 프로그램입니다)를 웹으로 1인개발하고있는데 시작한지 얼마 안되었어요. 냉정하게 봤을때 2년차의 개발자실력이 절대아니고... DBA나 관련업무로 봤을때도 깊이나 전문성이 많이 모자른거같습니다.. 지금 당장 이직을 한다면 지금까지의 경력으로 이직이 될거같나요..? 아니면 스터디나 개발연습을 더해서 이직을할까요?? 서두르는 이유는 더물경력리 되기전에 옮겨야 할거같아서 입니다..
개발자
#이직
#경력
답변 0
댓글 0
조회 142
3달 전 · CP 님의 새로운 답변
서버 및 DB 설계관련 질문드립니다!
안녕하세요! 기존앱이 있고 새로 만드는 앱이 있는데 새로 만드는 앱에서 기존앱의 DB의 테이블에 있는 정보들이 필요한 경우(예를 들어 유저같은 정보)가 있다면 실무에서는 어떤 방식으로 설계 하는지 궁금합니다!
개발자
#서버
#db
#설계
답변 1
댓글 0
조회 63
3달 전 · 이상호 님의 새로운 댓글
4년차 개발자 연봉 협상 및 이직 고민
안녕하세요. 현재 중소기업에서 4년차 웹 백엔드 개발자로 근무 중이며, 연봉은 3,200만 원(금년도 연봉 협상 전)입니다. 회사 규모는 10인 미만이며, 현재 팀장을 맡고 있습니다. 곧 연봉 협상을 진행할 예정인데, 적정 연봉이 어느 정도인지 감이 잘 오지 않습니다. 개인적으로는 최소 3,600만 원 이상이 적절하다고 생각하지만, 지금까지는 회사에서 제시하는 금액을 따르는 편이었습니다. 현재 회사 규모와 제 경력을 고려했을 때, 4년 차 백엔드 개발자의 적정 연봉이 어느 수준인지 궁금합니다. 또한, 만족할 만한 연봉이 책정되지 않는다면 이직도 고민 중입니다. 현재 회사에서 어느 정도 인정받고 있으며, 이에 따른 상여금도 많이 받았습니다. 업무 스트레스도 크지 않아 낮은 연봉과 잦은 야근에도 계속 다니고 있었지만, 최근 들어 이직에 대한 생각이 점점 커지고 있습니다. 이직을 고민하는 이유 1. 함께 성장할 수 있는 개발자가 없음 - 입사 당시 스타트업 초기 단계였기 때문에 사수가 없었고, 독학으로 개발을 진행해 왔습니다. 개발이 재미있어 취미로 공부하며 배우고 있지만, 회사 내에 지식을 공유하고 함께 성장할 수 있는 개발자가 없는 상황입니다. - 현재 백엔드 개발자는 저 혼자이며, 나머지 팀원 두 명은 신입급 프론트엔드 개발자입니다. 앞으로 신규 채용이 이루어지더라도 신입 개발자가 들어올 가능성이 높아, 계속해서 우물 안 개구리에 머물게 될 것 같아 고민입니다. 2. 전문 인력 부재 - 기획, QA, 디자이너와 같은 전문 인력이 없으며, 기획과 디자인을 대표님께서 직접 맡고 계십니다(참고로 이전에 개발자셨습니다). - 저는 다른 회사에서 근무해 본 경험이 없어 잘 모르지만, 그때그때 PPT로 전달해 주시는 기획 자료를 볼 때 답답함을 느낄 때가 많습니다(물론 워낙 많은 일을 맡고 계시기에 이해는 합니다) - 현재 개발 프로세스는 디자인이 나오면 제가 DB 모델 설계, 비즈니스 로직 및 예외 케이스 정의하여 진행하는 방식입니다. 이러한 개발 방식이 일반적인지 궁금합니다. 최근 현타가 너무 많이 와서 조언을 얻고자 처음으로 글 올려봅니다. 조언 부탁드립니다 ㅠㅠ 그리고 혹시 요즘 개발자 취업 시장이 어떤지 알려주시면 감사하겠습니다.
개발자
#연봉
#이직
#경력이직
답변 1
댓글 1
조회 1,079
3달 전 · 원승현 님의 질문
웹소켓 + Stomp로 채팅 기능을 구현하며
RabbitMQ를 도입하였습니다. 도입의 이유는 스프링 내장 메시지 브로커를 이용하게 되면 인메모리 기반의 동작 방식으로 인해 서버 문제 발생 시 메시지가 유실되거나 확장에도 제한이 있다고 판단하여 도입하였습니다. 현직자 분들이 보기에 이 이유가 적합한 근거가 될까요? 추가로 JMeter로 RabbitMQ를 사용했을 때와 사용하지 않았을 때의 성능을 비교했는데 사용자 100명 기준 성능도 사용하지 않았을 때가 우세했고, RabbitMQ를 사용했을 때는 오히려 아래와 같은 오류가 가끔 발생하며 메시지또한 약 90퍼센트 정도만 저장된걸 확인할 수 있었습니다. 무엇이 문제이며 해결 방안이 있을까요?? java.net.SocketException: Connection reset at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:394) ~[na:na] at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:426) ~[na:na] at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:255) ~[netty-buffer-4.1.114.Final.jar:4.1.114.Final] at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132) ~[netty-buffer-4.1.114.Final.jar:4.1.114.Final] at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:356) ~[netty-transport-4.1.114.Final.jar:4.1.114.Final] at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151) ~[netty-transport-4.1.114.Final.jar:4.1.114.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788) ~[netty-transport-4.1.114.Final.jar:4.1.114.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724) ~[netty-transport-4.1.114.Final.jar:4.1.114.Final] at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650) ~[netty-transport-4.1.114.Final.jar:4.1.114.Final] at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562) ~[netty-transport-4.1.114.Final.jar:4.1.114.Final] at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[netty-common-4.1.114.Final.jar:4.1.114.Final] at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.114.Final.jar:4.1.114.Final] at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.114.Final.jar:4.1.114.Final] at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na]
개발자
#채팅
#구현
답변 0
댓글 0
조회 79
3달 전 · 포크코딩 님의 답변 업데이트
회사 3달안에 회사 홈페이지 제작
신입 기준으로 작성되었습니다. 개발자는 혼자인 상태입니다. 페이지 메인 서브 합치면 50~60개 외부 데이터 180개 db,api 손수 제작, 로그인, 회원가입(OAuth포함), 블로그 게시판, 상담사와 채팅 기능, 반응형, SEO, 도메인연결 등을 3달 안에 하라는 소리를 들었습니다. 달로보면 큰데 12, 1, 2 제가 실제 근무한 주는 10주 정도 됩니다 쉬는 날도 있고 했어 가지고요. 하지만 현재도 퇴근 후 + 주말에도 코드 공부 및 작성하면서 프로젝트를 진행 중인데 계속해서 윗선에서는 외주는 몇주 + 이 금액이면 된다고 하더라 넌 왜 느리냐 어쩌구, 3달인데 페이지 제작이 안되면 얼마나 걸리는거냐, 챗봇 써라 챗봇써도 못만드냐? 이런 소리를 듣는 중 입니다. 제가 50일 정도 제작을 했던 거는 면접 볼 때 포폴용으로 내려고 만든 프로젝트 급 시간인데.. 이것도 부족한 부분이 많았는데 이 양을 50일 안에 하려니까 미치겠습니다. 혹시 신입이나 경력자 분들이 페이지를 제작한다면 기간은 얼마정도 잡는지 대략적으로도 좋으니.. 알려주시면 감사하겠습니다 ㅠㅠ
개발자
#웹개발
#프론트엔드
#백엔드
#취준
#이직
답변 1
댓글 0
조회 80
3달 전 · 박종찬 님의 댓글 업데이트
비전공자 프론트엔드 신입 취업 조언 부탁드립니다..
28살 비전공자 프론트엔드 개발자로 도약 준비중인 취준생입니다. 23년에 대학교 졸업 후 공간디자인 전공을 살려 인테리어 회사에 입사하여 인테리어 디자인&설계를 진행하였습니다. 누군가가 사용하고 거주할 공간에 대해 설계를 진행하고 인간중심적인 디자인을 고안하는 과정 자체가 재밌고 흥미로웠습니다. 그렇게 나온 결과물을 사용자가 보고 기뻐하고 실제로 이용하는 모습을 보며 뿌듯함을 느끼기도 했습니다. 그렇게 실무를 진행하면서 동시에 인테리어라는 직업의 한계를 느끼기도 했습니다. 현실의 물리적인 제약으로 생각했던 설계가 불가능하기도 하고 사용자 중심으로 디자인을 진행했지만 실현이 불가능하기도 했습니다. 무엇보다 공간적, 시간적 제약이 크다는 느낌을 많이 받았습니다. 그렇게 생각하던 때에 같은 과 친구를 통해 '부트캠프' 라는 것을 알게되었고, 공간디자인을 전공하면서 관심을 기울이고 있던 '개발'이라는 분야에 대해 꿈을 꾸게 되었습니다. 나이가 더 들기 전에, 더 시간이 늦기 전에 접어뒀던 꿈을 도전해보고 싶다는 생각이 들었고 다니던 회사를 퇴사함과 동시에 국비지원 프로그램에 지원해 교육원을 다니며 5개월 가량의 수업을 들으며 개발자로서의 역량을 키워갔습니다. 교육원의 커리큘럼은 풀스택 과정이였지만 저는 프론트엔드 개발이 사용자 경험과 직결되어 있다는 부분이 제 이전 전공 경험과 실무 경험을 살릴 수 있다는 생각과 동시에 제 성격과 잘 맞을 것 같아 프론트엔드 개발에 집중하게 되었습니다. HTML, CSS, Javascript, jquery, 리액트 배우고 팀 프로젝트에서 MySQL 과 MariaDB 를 활용하여 프로젝트를 제작하였습니다. 지금은 개인 포트폴리오인 랜딩페이지와 이력서를 작성해 1월 한달동안 공고를 찾아보며 지원하고 있는데 열람은 되지만 연락이 거의 오지 않는 상태여서 나에게서 어떤 부분을 개선하고 어떤 부분에 더 노력을 쏟으면 좋을지 고민이 정말 많이 되고 선택지도 정말 많고,,조금 답답한 심정입니다. 얼른 실무에 뛰어들어 실무역량을 키우고 싶습니다.. 지금도 늦었다는 생각이 자꾸만 듭니다.. 선배님들께 피드백을 받고싶어 질문 드립니다. 아래에는 랜딩페이지 링크입니다. 현실적인 팩트 피드백 부탁드립니다 ! https://jonggu-portfolio.vercel.app/
개발자
#프론트엔드
#비전공
#취업
답변 2
댓글 2
보충이 필요해요 1
조회 270
한 달 전 · nexter 님의 새로운 답변
웹프레임워크와 db 분리의 장점은 무엇인가요?
db 관련 내용들을 독학하다가 궁금한 점이 생겨서 질문드립니다. 기본적으로 db를 지원해주는 웹프레임워크를 사용할 때, 기본db를 사용하지 않고 mysql연동과 같이 db를 웹프레임워크에서 분리해 사용하면 어떤 장점이 있는지 궁금합니다! 추가로 mysql과 웹프레임워크를 연동했을 때, mysql에서 직접 트리거나 제약을 설정하면 그게 웹프레임워크에도 영향을 주나요? 로컬에서만 영향을 주고 배포 후에 영향이 없는 것은 아닌가요?
개발자
#데이터베이스
#개발자
#웹프레임워크
#코딩
답변 1
댓글 0
보충이 필요해요 1
조회 47
4달 전 · 정재윤 님의 새로운 댓글
4학년 임베디드, 저수준 개발자 진로 고민
안녕하세요 현재 4학년이며 취업을 준비하고 있습니다. 저는 C, C++에 옛날부터 관심이 많아 C, C++에 대한 프로젝트를 많이 해보게 되었습니다. 그렇다 보니 임베디드나 저수준 개발자로 진로를 결정을 하게 되었습니다. 저수준에서도 저는 OS, VM 기술, DB 저수준, 저수준 서버 개발 이런쪽으로 눈길이 많이 가고 있는 상황입니다. 제가 원하는 분야쪽은 연구가 필요할 것 같다는 생각이 들어 대학원을 한 번 생각해보게되었습니다. 현재 고민은 저수준을 하기 위해서 대학원에 가는 게 더 좋을지 취직을 하는게 더 좋을지에 대한 고민이 있습니다. 또한 저수준으로 프로젝트를 하나 확실하게 잡아서 퀄리티가 높은 프로젝트를 준비하고 싶은데 어느 방향으로 준비하는 게 좋을지 어떤 의견이든 주시면 감사하겠습니다!!!
개발자
#저수준
#c
#c++
답변 1
댓글 1
조회 119
4달 전 · 오수암 님의 새로운 댓글
개발자 복귀에 관한 질문입니다!
안녕하세요, 저는 퇴사하여 약 3년의 경력에서 멈춰있는 개발자였던 사람입니다. 친구 덕분에 다 같이 입사했던 회사인데 실력 차이가 너무 드러나 눈치를 보며 회사 생활을 하다가 퇴사를 하였습니다. 퇴사하고 자격증 공부, 여행, 아르바이트등 여러가지를 하며 방황하였습니다. 자격증을 취득하지 못하였을때는 개발을 안 하려고 하였고, 그로 인해 방황을 하게 되었습니다. 다시 생각해보면 저는 개발에 대해 진심이 아니었던 것 같았습니다. 회사 생활이 힘들어서 제대로 안 한게 아닐까 라는 의문이 더 깊어져갔습니다. 그래서 저는 초심으로 돌아가기 위하여 공부를 다시 시작하였습니다. 지금은 정보처리기사 실기 공부를 시작하였는데, 제가 이전 회사에서 주로 도맡았던 업무는 유지보수였습니다. 웹 개발 회사라서 html, vue위주로 개발과 유지보수를 하였으며, 자바스크립트와 DB, 자바는 많이 다루지 않았었습니다. 예전에 했었던 웹개발자로 다시 돌아가고 싶어서 질문드립니다. 1. 포트폴리오가 아예 없는 수준인데, 어떻게 준비하면 될까요? 2. 정보처리기사 이외에 저에게 도움이 되는 공부는 어떤게 있을까요? 3. 웹개발과 DB를 어떤식으로 공부해야 현직자로 복귀할 수 있을까요? 현직 개발자 선생님들의 많은 답변 기다리고 있겠습니다. 감사합니다 ( _ _ )
개발자
#공부
##웹개발
#정보처리기사
#html
#vue.js
답변 1
댓글 1
조회 119
4달 전 · 이성원 님의 새로운 답변
아마존 Ec2 성능
개인적으로 사용할 테스트용서버를 구하고 있습니다. 아무래도 개인적으로 상용하기위한 서버이기 때문에 월에 만원 안쪽으로 사용가능한 서버를 찾고 있으며 Ec2의 경우는 최초1년 무료로 사용가능한것으로 알고 있어 고려중입니다. 혹시 Ec2를 사용해본 경험이 있으신분들 중에 성능에 대해서 문의드립니다. Docker기반 파이썬 fastAPI서버 1기 Java Spring 서버 1기 (jar 기동 고려중이며 추후 Doker로 올릴 가능성 있음) DB서버 1기 (Docker 기반 postgerSQL 고려중) 일단 생각나는것은 이렇게 3가지 입니다. 아직 외부접속같은것은 필요 없기에 아파치와 같은 설정은 생각없습니다. Ec2가 충분히 위 사양을 버텨줄까요? 물론 요청이 많아지면 힘들어지는건 당연할듯합니다만, 일 요청건수 100 ~ 1000건 이내로 고민중입니다.
투표
개발자
#amazon
#ec2
#server
답변 2
댓글 1
조회 1,278
5달 전 · Supernova 님의 새로운 답변
회사 홈페이지 제작 퇴사하는게 맞을까요? 서버 및 api 구축하는데 걸리는 시간..
현재 혼자가 화면 개발을 하고 있는 중 입니다. 현재 페이지를 복사하라고 해서 복사를 하는 중인데. 저는 서버 지식도 그냥 mysql, node js사용해서 게시판 만들어본게 전부입니다. 근데 호스팅 업체를 사용중인데 거기서 웹 DB를 제공해주더라고요 그러면 그 웹 DB를 제공해주면 제가 그걸 연결해서 써야하는데 그러면 node js로 서버를 파고 api를 구축해서 연동해서 데이터베이스를 사용해야하지 않나요?? 근데 여기 호스팅업체에서 PHP와 FTP를 제공해줍니다. PHP는 알긴알지만 잘 사용해보지 못했고 FTP는 사용해본적도 없습니다. 근데 윗선에서 FTP로 파일 옮겨가지고 웹 사이트를 제작했다는 겁니다. 보니까 index파일로해서 뭐 했더라고요 그래서 FTP를 사용해서 제작을 하라는거에요 현재 저는 next js로 제작을 하고 있고 저한테 서버랑 api구축 하는데 얼마나 걸리라는데 저는 신입이고 잘 알지 못하는데 왜 말을 못하냐고 구박하고 한 달 이상 걸리면 저를 쓸 필요가 없다고 하시는데 데이터 내용이 180개 정도 되고 CRUD까지 해야하는 상황입니다. 그리고 DB를 쓰는데 뭔 데이터처리 및 서버를 왜 깔고 그러냐고 물어보시는데 챗봇 + 찾아본 결과를 이야기해도 아니 그게 FTP라니까? 너 컴공 맞냐고 이러시는데 지금 얼른 퇴사해서 시간 박아서 프로젝트 했던 부분 고치면서 다시 취준을 하는게 좋을까요? 아니면 최대한 해보다가 FTP로 제작하라고 하면 그때 나갈까요.. 그리고 서버랑 api구축하는 부분이 얼마나 걸릴지... 그 부분도 알려주시면 감사하겠습니다.. 제가 봐도 답답하네요..
개발자
#웹개발자
#프론트엔드
#이직
#백엔드
#고민상담
답변 1
댓글 0
조회 62
5달 전 · tool 님의 질문 업데이트
컴공 취업 인프라 구축 vs 개발자
안녕하세요 컴공 취준생입니다 제가 2군데에 신입으로 합격했는데 하나는 지방 제조업 온프레미스환경에서의 dbms 인프라 구축이고 나머지는 서울지역 백엔드 개발자라는 서로 다른 직무에 합격했습니다. 연봉은 인프라 구축이 4500이고 개발이 3500로 차이가 꽤나는데 앞으로의 연봉 인상률이나 대기업 이직생각했을때 뭐가 맞는선택인지 고민이 되는데 상담할 곳이 없어서 질문드립니다..
투표
개발자
#취업진로
답변 0
댓글 0
조회 142
5달 전 · 노장우 님의 질문
신입 이직 방향 고민
현재 대기업 협력사에 입사하여 운영, 유지보수 개발로 1년 정도 다니고 있습니다. 입사 전에는 스프링을 중심으로 백엔드 개발자로 진로를 정했었는데 입사 후에는 MES 관련 DB 쿼리 작업을 위주로 하고 있습니다. 가장 걱정인 것은 JAVA, SPRING 등의 작업은 거의 하지 않고, 대부분 DB의 쿼리를 통해 CRUD 작업만 하고 있는 것입니다. DBA와 같은 DB에 관련된 방향으로 잡으려고 해도 쿼리 튜닝이나 프로시저 수정, 생성 등의 작업은 하지 않고 있고, 선배들을 봐도 요청 받은 CRUD 작업만 하고 있는 것을 보고 기술적으로 성장할 수 있는 기회가 적다고 생각이 들었습니다. 따라서 회사를 다니면서 다시 신입으로 이직을 준비해야겠다고 생각이 들었는데 방향을 잡기가 힘들어서 어떻게 해야 할 지 모르겠습니다. DB의 CRUD 쿼리 작업을 위주로 했는데 포폴이나 이력서, 이직 방향을 어떻게 해야할까요..?
개발자
#db
#이직
#신입
#백엔드
답변 0
댓글 0
조회 77
6달 전 · CP 님의 답변 업데이트
RDBMS 실무 관계 연결 등 질문사항
혼자 프론트, 백엔드, DB 공부를 강의 보면서 독학하고 있는데 이번에 토이프로젝트로 쇼핑몰 웹을 하나 만들려고 합니다. 실무에서는 개발을 어떤식으로 하는지 궁금하여 질문 드립니다. 1. mysql 등 과 같은 RDBMS 테이블 관에 관계를 설정 안 하고 즉 외래키 연결 하나도 안 하고 사용할 때 장단점이 무엇인가요? 2. 지인 DBA분(오래 되심)께서 하시는 말씀은 관계 연결하면 DB 부하 심하다, 성능 저하된다 이런식으로 말씀하셨는데 맞나요? 2-1. 성능이 저항된다면 심하게 저하되나요? 3. 쿠팡, G마켓, 무신사, 유튜브 등과 같은 대형 플랫폼들은 RDBMS를 사용할 때 실제로 관계 연결을 안 하나요? 4. DB에서 값을 불러 올 때도 join 하나도 안 하고 소프트웨어적으로 수동으로 연결 한다. 제가 이해 하기로는 사진에 있는 예시 사진 참고 하면서 예를 들면 cart 불러오는데 user이름도 알아야 한다면 DB에 join을 해서 가져오는게 아니라 백엔드에 각 각 user, cart를 따로 호출하고 백엔드에서 if, for, array function 같은 메소드를 사용해 작업을 거쳐 가공 한다는 것 같은데 이러면 실무 적으로 봤을 때 장단점이 무엇인가요? 5. 대형 플랫폼 같은 실무에서는 4번 방식 처럼 하나요? 참고로 테이블이 20개 이상 정도 될 경우의 상황이 궁금합니다 실무에 관해서 민감한 질문 드려서 죄송합니다. 아는 것 없이 질문을 여러번 드려 번거롭게 만들어서 죄송합니다. 답변해 주신다면 열심히 공부하겠습니다.
개발자
#rdbms
답변 2
댓글 0
조회 69
6달 전 · 익명 님의 질문
안녕하세요 초보 개발자 입니다. 오라클 데이터베이스 백업 오류좀 도와주세요 !!
기존 데이터베이스 서버를 외장하드에 백업 하려고 하는데 UNDO TABLESPACE 인 UNDOTBS01.DBF 라는 파일을 읽을 수 가 없다고 떠서 UNDO TABLESPACE 인 UNDO_NEW01.DBF를 만들고 UNDO_NEW01.DBF가 UNDO 역할을 하게끔 만들어 놓고 기존에 쓰던 UNDOTBS01.DBF 파일을 삭제하였습니다. 그랬더니 계속 RMAN-06056 : 3 데이터를 엑세스 할 수 없습니다. 라면서 RMAN으로 백업이 안되는데 도와주실분..!
개발자
#데이터베이스
#database
#oracle
#db
답변 0
댓글 0
조회 37
6달 전 · aigoia 님의 댓글 업데이트
졸업 1달 남은 시점에서 질문드립니다.
우선 저는 현재 기계공학과에 재학중인 4학년이며, 사실상 1달 뒤면 졸업인 상태입니다. 개인적으로는 웹 개발 분야로 취업을 위해 공부를 하기는 했지만, 혼자 인터넷 강의를 결제해서 공부한 상태이면, 현재 작업물이라고는 포트폴리오를 보여줄 수 있는 페이지가 전부입니다. 처음에 아무것도 모르고 강의를 수강해서, html, css, javascript(약간), nodejs, express, mongodb 정도를 배웠는데, 이게 생각보다 해당 기술을 요구하는 기업도 제가 사는 지역에서는 얼마 없어서 고민입니다. 졸업을 하고 원래 하던 기술로 계속 공부를 진해하며 취업에 도전을 해야할지, 새로운 언어를 배워야 할지, 국비 지원을 들어야 할지, 아니면 차라리 다른 분야인 AI나 데이터 분야로 새롭게 국비지원들 들어야 할지 고민입니다. 개발자 선배님들 도움 부탁드립니다 !! (추가로 스펙도 그렇고 딱히 좋은 부분이 없어서 대기업 보다는 복지 상관없이 개발만 할 수 있는 기업에 들어가서 우선 경력과 실력을 쌓는것을 목표로 하고 있습니다.)
개발자
#취업
#스펙
#신입
#부트캠프
#국비지원
답변 1
댓글 3
조회 63
6달 전 · 익명 님의 질문
[신입]Next.js로 백엔드 없이 작업 중인데 업무 범위와 연봉이 고민
처음에는 리액트로 작업을 시작하려 했지만, 작업을 시작해보니 db만 덩그러니 있는 상태였고, API나 명세서 같은 기본적인 개발 환경이 전혀 갖춰지지 않은 상태였습니다. 통상적인 방법으로는 리액트만으로 구현이 어렵다고 판단해 Next.js로 전환하여 데이터를 받아와 사용하고 있습니다. 업무를 진행하며 백엔드 개발자 구인 여부를 문의했으나, 회사에서는 당장 백엔드 개발자를 채용할 계획은 없고, 데이터 엔지니어 한 명으로 충분할 것 같다는 답변을 받았습니다. 이에 따라 현재는 Next.js를 메인 기술 스택으로 사용하며, 추후 로그인/회원가입 같은 기능도 작업하려고 계획 중입니다. 궁금한 점 Next.js로만 프로덕트를 구성한 사례가 있는지 현재 별도의 백엔드 언어를 사용하지 않고 Next.js만으로 작업 중입니다. 이런 방식으로 프로덕트를 운영하는 사례가 있는지 궁금합니다. 업무 범위에 대한 의문 당초 프론트엔드 개발 업무로 시작했지만, API 구성 등 사실상 백엔드 작업에 가까운 업무 범위까지 포함되어 있는 상황입니다. 이를 고려할 때, 제가 맡게 된 업무가 일반적인 프론트엔드 업무 범위를 넘어선다고 생각되는데, 이 점에 대한 다른 분들의 의견이 궁금합니다. 연봉 및 근로 조건 연봉 적정성: 한달 전 쯤 이곳에서 프리로 일하면서 최소 연봉 3,000만 원 이상은 받아야겠다고 말했었고, 현재 계약서에는 식대 포함 연봉 3,000만 원으로 명시되어 있습니다. 추가적으로 5인 미만 사업장의 조건으로, 연차, 공휴일, 연장 근무 시 가산 수당에 대한 언급이 없습니다. 이런 조건에서 연봉 3,000만 원이 적절한 수준인지 궁금합니다. 요약 Next.js로만 프로덕트를 구성하는 사례에 대한 정보 업무 범위가 확대된 상황에 대한 타당성 연봉과 근로 조건의 적정성
개발자
#연봉
#근무조건
#기술스택
#next.js
답변 0
댓글 0
조회 127
7달 전 · 문종호 님의 새로운 답변
RAG 를 짜는 중에 도무지 어떤 부분이 문제인지 모르겠습니다.
# JSON 파일에서 FAQ 데이터를 로드하는 함수 def load_faq_data_from_json(file_path): with open(file_path, 'r', encoding='utf-8') as f: faq_data = json.load(f) return faq_data # FAQ 데이터 로드 json_file_path = '' faq_data = load_faq_data_from_json(json_file_path) # ChromaDB 클라이언트 및 Embedding 설정 chroma_client = chromadb.Client() # ChromaDB 클라이언트 생성 # 고유한 컬렉션 이름 생성 collection_name = "faq_data_" + datetime.datetime.now().strftime("%Y%m%d_%H%M%S") collection = chroma_client.create_collection(collection_name) # LangChain의 Text Splitter 설정 text_splitter = RecursiveCharacterTextSplitter( chunk_size=512, chunk_overlap=50 ) # OpenAI 임베딩 설정 openai_api_key = '' embedding_function = OpenAIEmbeddings( model="text-embedding-ada-002", openai_api_key=openai_api_key ) # 텍스트 스플리팅 및 임베딩 생성 함수 def split_and_embed_text(text): splitted_texts = text_splitter.split_text(text) print(f"Splitted texts: {splitted_texts}") try: # OpenAIEmbeddings는 embed_documents를 사용합니다. embeddings = embedding_function.embed_documents(splitted_texts) except Exception as e: print(f"임베딩 생성 중 오류 발생: {e}") return None # 임베딩이 제대로 생성되었는지 확인합니다. if embeddings is None or len(embeddings) == 0: print("임베딩 생성 실패") return None # 임베딩을 numpy 배열로 변환 embeddings = np.array(embeddings) print(f"Embeddings shape: {embeddings.shape}") # 임베딩 벡터의 차원을 확인하고 처리합니다. if embeddings.ndim == 1 and embeddings.shape[0] == 1536: # 임베딩이 1차원 배열이고 길이가 1536인 경우 final_embedding = embeddings elif embeddings.ndim == 2 and embeddings.shape[1] == 1536: # 임베딩이 2차원 배열이고 두 번째 차원이 1536인 경우 final_embedding = np.mean(embeddings, axis=0) else: print("임베딩 벡터의 차원이 예상과 다릅니다.") return None print(f"Final embedding shape: {final_embedding.shape}") return final_embedding # FAQ 데이터를 Vector DB에 저장 def store_faq_data_in_vector_db(faq_data, collection): for faq in faq_data: # 'question'과 'answer'가 있는지 확인하고, 'answer'가 None이 아닌지 확인 if 'question' not in faq or 'answer' not in faq or faq['answer'] is None: print(f"누락된 'question' 또는 'answer'로 인해 항목을 건너뜁니다: {faq}") continue # 다음 항목으로 넘어감 # 텍스트 스플리팅 및 임베딩 생성 question_embedding = split_and_embed_text(faq['question']) if question_embedding is None: print(f"Embedding generation failed for question: {faq['question']}") continue # 임베딩이 없으면 다음 질문으로 넘어감 print(f"Generated embedding for question '{faq['question']}': {question_embedding}") # 각 질문에 고유한 ID 생성 faq_id = str(uuid.uuid4()) # 메타데이터에서 None 값을 제거 metadata = {k: v for k, v in {"answer": faq['answer']}.items() if v is not None} # Vector DB에 저장 collection.add( documents=[faq['question']], metadatas=[metadata], ids=[faq_id], embeddings=[question_embedding] ) # 추가 후 임베딩 확인 (저장된 후 곧바로 확인) stored_results = collection.get(ids=[faq_id], include=["embeddings"]) if stored_results['embeddings'] is not None and len(stored_results['embeddings']) > 0: print(f"Embedding for question '{faq['question']}' successfully stored.") else: print(f"Failed to store embedding for question '{faq['question']}'") # FAQ 데이터를 JSON에서 로드하고 저장 store_faq_data_in_vector_db(faq_data, collection) 이렇게 데이터를 저장하고 # 환경 변수에서 API 키 로드 openai_api_key = os.getenv("OPENAI_API_KEY") if not openai_api_key: raise ValueError("OpenAI API 키가 설정되지 않았습니다. 환경 변수 OPENAI_API_KEY를 설정하세요.") # OpenAI 임베딩 설정 embedding_function = OpenAIEmbeddings( model="text-embedding-ada-002", openai_api_key=openai_api_key ) # LangChain의 Text Splitter 설정 (일관성 유지) text_splitter = RecursiveCharacterTextSplitter( chunk_size=512, chunk_overlap=50 ) # ChromaDB 클라이언트 및 컬렉션 설정 chroma_client = chromadb.Client() collection_name = "faq_data_collection" try: # 이미 존재하는 컬렉션인지 확인하고, 있으면 가져옴 collection = chroma_client.get_collection(name=collection_name) except chromadb.errors.CollectionNotFoundError: # 컬렉션이 존재하지 않을 경우에만 생성 collection = chroma_client.create_collection(name=collection_name) # Vector DB에서 유사 질문 검색 (ChromaDB) def find_similar_question_in_vector_db(new_question_embedding, collection, k=5): results = collection.query(query_embeddings=[new_question_embedding], n_results=k, include=['documents', 'metadatas', 'embeddings']) best_similarity = 0 best_question = None best_answer = None # 검색 결과에서 각 질문의 유사도와 답변을 처리합니다. if 'documents' in results and 'metadatas' in results: documents = results['documents'][0] metadatas = results['metadatas'][0] embeddings = results['embeddings'][0] for i in range(len(documents)): stored_embedding = embeddings[i] metadata = metadatas[i] if stored_embedding is not None: # 코사인 유사도를 통해 유사도를 계산합니다. similarity = cosine_similarity([new_question_embedding], [stored_embedding])[0][0] print(f"유사도: {similarity} for {documents[i]}") # 유사도가 가장 높은 결과를 선택하며, 임계값 이상일 경우에만 선택 if similarity > best_similarity and similarity >= SIMILARITY_THRESHOLD: best_similarity = similarity best_question = documents[i] if isinstance(metadata, list): metadata = metadata[0] best_answer = metadata.get('answer') if isinstance(metadata, dict) else None return best_question, best_answer # Fine-tuned GPT를 사용해 새로운 답변 생성 def gpt_generate_response_from_finetuned_gpt(question, style="의사 A 말투"): prompt = f"다음은 환자의 질문입니다: \"{question}\". 아래 말투를 사용하여 질문에 대해 성실하고 정확한 답변을 작성해주세요.\n\ 말투: {style}" response = client.chat.completions.create( model="", # Fine-tuned된 GPT 모델 ID messages=[ {"role": "system", "content": "You are a helpful medical assistant."}, {"role": "user", "content": prompt}, ], max_tokens=300, temperature=0.7, # 답변의 다양성을 조절합니다. ) return response.choices[0].message.content.strip() # 새로운 질문 처리 및 최종 응답 생성 def generate_final_response(new_question, collection): # 텍스트 스플리팅 및 임베딩 생성 splitted_texts = text_splitter.split_text(new_question) new_question_embedding = np.mean(embedding_function.embed_documents(splitted_texts), axis=0) # ChromaDB에서 유사 질문 검색 similar_question, answer = find_similar_question_in_vector_db(new_question_embedding, collection) if similar_question and answer: final_response = f"질문: {new_question}\n유사 질문: {similar_question}\n기본 답변: {answer}" else: generated_answer = gpt_generate_response_from_finetuned_gpt(new_question) final_response = f"질문: {new_question}\nGPT로 생성된 답변: {generated_answer}\n(이 답변은 벡터데이터에서 유사한 답변을 찾을 수 없어 GPT에 의해 생성되었습니다.)" return final_response # 사용자로부터 새로운 질문 입력 받기 new_question = input("새로운 질문을 입력하세요: ") # 최종 응답 생성 response = generate_final_response(new_question, collection) print(response) 로 데이터베이스에서 유사한 질문-답변 쌍을 끌어오려는데 정확히 같은 질문을 넣어도 (이러면 유사도가 1인데) 저장되어있는 답변이 끌어와지질 않네요...
개발자
#llm#rag
답변 1
댓글 0
조회 96
7달 전 · aigoia 님의 답변 업데이트
개발 기간이 길어진 개인 프로젝트, 마이너스 요소일까요?
안녕하세요, 저는 컴퓨터공학과 2학년을 수료하고 현재 공군에서 복무 중이며 전역 이후에 관련 대외활동과 인턴을 위해 노력하고 있는 개발자입니다. 학부 2학년 1학기가 끝나고 23년 7월부터 학교 기숙사에 편의 기능을 제공할 수 있는 웹앱 서비스를 혼자 개발하기 시작했고 (3학년 1학기를 휴학 내고) 24년 7월 1일 입대 전까지 계속 진행하여 초기 배포를 위한 기능의 70%를 구현했습니다. 자대 배치를 받은 후 사지방 컴퓨터로 github codespaces 환경(linux 운영체제 기반이며 웹에서 프로그램을 개발할 수 있는 환경입니다.)에서 우여곡절 끝에 진행하던 프로젝트를 git pull로 불러오고 DB나 platform 등을 docker compose로 세팅해서 지금 다시 개발을 시작하고 있습니다. 군대에서 개발을 할 수 있다는 생각에 정말 기뻤지만 한편으로는 프로젝트의 개발 기간이 너무 길어진 것 같아 걱정이 많습니다. 일단 전술했듯이 프로젝트는 처음부터 지금까지 저 혼자 진행해왔습니다. 애초에 학부 공부, 알고리즘 공부, 주말 야간 아르바이트, 공군에 입대하기 위한 봉사활동과 자격등 공부 등과 병행하였기 때문에 시간을 많이 투자할 수 없었으며 프론트엔드와 백엔드 모두 당연히 저 혼자 맡았고 (프론트와 백) 개발에 쓰이는 프레임워크도 처음 접해보아 배우면서 진행했으며 수 많은 생소한 서드 파티 라이브러리를 도입하느라 진행이 많이 느려졌습니다( 현업에서 쓰이는 여러 가지 기술을 적용하고 싶었고 퀄리티에 대한 욕심이 많아서 그랬던 것 같습니다.). 개발 기술과 환경에 적응이 될 때 즈음엔 여러 군데에서 터지는 에러를 트러블 슈팅하고, 그 중 다수를 블로그에 포스팅하느라 속도가 나지 않았습니다. 그렇게 하여 초기 배포를 위한 기능의 70% 정도(제가 생각하기에)는 완성했지만, 아직까지 codespaces 환경에서 개발하기 위해 해결해야하는 문제가 남아있으며 군 복무중이라 평일엔 시간을 많이 내어도 개발 시간이 현실적으로 3시간을 넘길 수 없습니다(오늘은 부대 휴일이라 이렇게 글을 작성합니다.).그러므로 저는 이 프로젝트를 완성하고 웹앱으로 배포하는데 까지 6개월의 시간이 더 걸린다고 생각합니다(물론 중간에 포기할 생각은 추호도 없습니다.). 이에 저는 아래 질문에 대한 개발 현직자 분들의 생각이 정말 궁금합니다. 1. 제대 후 대외활동과 (체험형)인턴을 위해 서류 평가/면접을 볼 때 이 프로젝트를 포트폴리오로 사용할 생각인데, 프로젝트를 다 완성하고 배포까지 완료했다고 가정하더라도 그 기간이 1년 6개월이라는 것은 분명히 마이너스 요소로 작용하나요? 2. 만약 질문 "1."의 답변에 긍정하신다면 긴 기간의 프로젝트( 혹은 동시에 그 기간에 부응하지 못하는 작품의 퀄리티)를 어떻게 서류 평가/면접에서 정당화하여 의미있는 "스펙"으로 만들 수 있을까요? 긴 글 읽어주셔서 감사합니다, 정중한 답변 부탁드리겠습니다.
개발자
#개인-프로젝트
#개발
#포트폴리오
#입사지원
#취업
답변 2
댓글 0
추천해요 1
조회 295