한 달 전 · 포크코딩 님의 새로운 답변
Supabase와 Springboot에 대한 질문
안녕하세요. 현재 기계공학과 4학년으로 캡스톤 디자인을 진행 중이며, 팀원들과 함께 앱 개발과 창업까지 목표로 하고 있는 학생입니다. 기술 선택 문제로 고민이 많아 조언을 구하고자 글을 남기게 되었습니다. 상황 요약 - 저희 팀: React Native + Spring Boot 기반으로 개발 중 제가 직접 백엔드 설계/구현 예외처리, 디버깅 포함 전체 구조 정확히 이해 진행도 약 60-70%, 구조 안정적, 유지보수 자신 있음 - 교수님 프로젝트: Next.js + Supabase 진행도 약 80% 다만 구조가 낯설어 코드 파악과 에러 수정에 시간 소요 예상 고민 포인트 - 교수님 코드 이어받으면 빠르게 MVP는 가능하지만, 구조 이해가 부족하고 디버깅이 어려움 - 제가 만든 Spring 기반 프로젝트는 구현은 부족하지만, 구조적으로 명확하고 확장성에 유리함 - 배포까지 걸리는 시간은 둘 다 비슷할 것으로 예상됨 저희의 목표 - 단기: MVP 완성 → 실제 사용자 배포 - 장기: 창업을 고려한 실서비스 개발 - Redis / Kafka / Elasticsearch 등 트래픽 대응과 기능 고도화 예정 - 따라서 유지보수성과 확장성이 핵심 질문 - 기능 많은 Supabase 기반 코드를 이해하고 고도화하는 게 나을까요? - 아니면 Spring 기반 구조를 그대로 밀고 나가는 게 더 현명할까요? - 장기적으로 유지보수와 확장성을 고려했을 때 어떤 선택이 실무적으로 맞는 결정일까요? 비슷한 경험 있으신 분들이나 현직자 분들의 현실적인 조언 부탁드립니다. 긴 글 읽어주셔서 감사합니다.
개발자
#supabase
#spring-boot
#backend
#front-end
#back-end
답변 1
댓글 0
조회 79
24일 전 · 허찬영 님의 새로운 댓글
채팅 애플리케이션에서 Redis 메시지 저장과 RabbitMQ 전송을 안전하게 처리하려면 어떻게 해야하나요?
안녕하세요. 현재 백엔드 개발자를 지망하는 대학생입니다.. 예전에 Springboot를 활용해서 개발한 채팅 애플리케이션 프로젝트를 리팩토링하는 과정에서 문제가 발생하여 질문 드립니다. 아래와 같은 아키텍처 애플리케이션을 구현했습니다. - MySQL: 채팅방 정보(채팅방 이름, 참여 인원수 등등), 사용방 정보 데이터 저장. - Redis: 채팅 메시지 데이터 저장 - RabbitMQ: 채팅 메시지를 전송하기 위한 메시지 브로커 STOMP over WebSocket을 활용해서 클라이언트에서 메시지를 pub해서 메시지 브로커인 RabbitMQ를 거쳐서 구독한 클라이언트에게 메시지(채팅)을 전송하도록 구현했습니다. 그런데 문제가 발생하는 로직이 있습니다. [채팅방 가입 로직] 1. @Transactional 내부에서 MySQL에 채팅방 데이터 저장. (해당 유저가 채팅방에 가입한 것을 저장) 2. Redis에 "User가 채팅방에 들어왔습니다."라는 메세지를 저장. 3. 해당 메시지를 RabbitMQ로 전송. (`rabbitTemplate.convertAndSend(...)`) 이런 상황에서 Redis나 RabbitMQ에서 문제가 발생해서 하나라도 정상적으로 완료되지 않으면 문제가 발생합니다. Redis 서버에 문제가 생겨서 채팅 메시지를 정상적으로 저장하지 않더라도 RabbitMQ를 통해 메시지가 전송되고, RabbitMQ 서버에 문제가 생겨서 정상적으로 전송되지 않더라도 Redis에 채팅 메시지가 저장이 됩니다. 이러한 문제를 해결하기 위해서 2PC, SAGA 패턴, Outbox 패턴 등등을 알아봤고, 그 중 가장 괜찮다고 생각했던 패턴이 Outbox 패턴이었습니다. 근데 또 어려움이 생겼는데, Outbox 패턴을 사용하기 위해 Pulling 기법을 사용 하자니 Redis에 무리가 생길 것 같고, 트랜잭션 로그 테일링 패턴을 사용 하기에는 Redis가 이를 제대로 지원하지 않아 구현이 굉장히 어려워진다는 문제가 생겼습니다. 그래서 MySQL을 Outbox 저장소로 사용할까 고민도 해보았는데, MySQL을 사용하면 속도 면에 불리해지지 않을까라는 생각이 또 들었습니다. 이러한 문제를 어떻게 해결하면 좋을까요...? 제가 궁금한점은 다음과 같습니다. 1. Redis를 활용하는 프로젝트에서 MySQL을 Outbox 저장소로 사용하는 것은 좋지 않은 방법일까요? 2. Outbox 패턴이 최선일까요? 현업에서는 이러한 문제를 어떤 식으로 해결하는지 궁금합니다.
개발자
#spring
#rabbitmq
#redis
#mysql
#transaction
답변 1
댓글 1
조회 101
25일 전 · CL@Supercoding 님의 새로운 답변
프로젝트 고도화 vs 기반 다지기
지금 스프링부트로 플젝을 하고 있는데 crud만 되어 있는 상태에요. 프론트 없이 백만 기능 구현은 다 마쳤는데 고도화를 바로 들어가는게 좋을 지 예외 처리나 테스트 코드 작성같이 기본 구축을 끝내고 들어가는게 좋을 지 고민됩니다… 고도화라고 하면 이력서에 놓여 낼 키워드로 어떠어떠한 이유로 redis를 붙여 성능 개선했다 같은 내용입니다!
개발자
#springboot
#backend
답변 1
댓글 0
조회 88
2달 전 · @SoftyChoco 님의 새로운 답변
Redis, 도커, 인텔리제이 돌리려면
Ram 16기가 불편한가요? 100 이상 쓸 돈이 없어서 32기가짜리는 못살것같아서요..... 아니면 윈도우 탑재 제품으로 32gb 짜리 추천 부탁드립니다 저렴한걸로 부탁드려요....
개발자
#노트북
#노트북고민
#노트북추천
답변 1
댓글 0
조회 66
6달 전 · ㅊ 님의 질문 업데이트
개발자 신입 준비
안녕하세요 개발자 준비중인 컴퓨터공학과 4학년 학생입니다. 우선 저는 3회정도의 프로젝트를 진행했고 어쩌다 보니 팀 프로젝트 였지만 제가 거의 풀 스택으로 진행했고 Spring, Node, React를 사용가능하고 아키텍처적으로 규모가 있진 않지만 대략 30개 이상의 Entity를 가지는 규모의 프로젝트들이며 기업인분들에게 좋은 평가를 받은 프로젝트도 있습니다 (Flutter로 간단한 앱도 만들어보았고 , 어플리케이션 프로젝트도 진행 해보았습니다.) React는 타입스크립트 자바스크립트(JavaScript)를 사용해서 나름 자유자재로 만들고 수정할 수있고 타입스크립트(TypeScript)로 전환하는 방향으로 가고 있으며 Node는 레거시로 Express와 sql사용해서 사용했고 Spring은 Spring Boot, Spring MVC, Spring Security,JPA, Redis, JWT 등으로 다양하게 접목 시키고 있고 왜 필요할까를 생각하며 다양하게 접근하고 있습니다. (JPA나 AOP 등의 깊은 공부도 함께 하고 있습니다.) 실제 서버에 배포도 해보았고 지금 진행중인 프로젝트는 AWS를 통해 여러 인스턴스로 나눠서 최적화 하여 배포해볼 예정입니다. 이렇듯 부족하지만 웹쪽에서는 나름 발전의 자신감이 있는편입니다 하지만 제가 코딩테스트에 준비를 하지못했는데 요즘 코딩테스트가 거의 모든 기업 필수여서 아직 프로젝트 진행중이기도 하고 코딩테스트 때문에 아직 입사지원을 생각하지 못하고 있습니다. 코딩 문제를 한번도 풀어본적 없고 기본문법조차 잘 모르고 그런 상황입니다 ㅜㅜ 막상 시작하려고하니 시간적 압박도 그렇고 어떻게 어느정도의 기간을 잡고 해야할지 막막해서 글올려봅니다 선배님들 현직자분들 저는 웹 관련해서 너무 재밌게 찾아보고 고민하며 작업을 하는데 코딩테스트를 따로 준비해서 내년에 입사를 지원하는게 맞을까요 보통 어느정도가 되어야하고 어느정도 시간이 필요할까요 도움 부탁드립니다. 읽어주셔서 감사합니다!
개발자
#신입
#개발자
#코딩테스트
#취업준비
답변 0
댓글 0
조회 122
7달 전 · 최선호 님의 질문 업데이트
docker에 redis 오류 질문드립니다
안녕하세요 현재 개인프로젝트를 진행하고있습니다. 문제가 있는데, docker에서 app(springboot) + mysql + redis container를 만들어서 docker-compose.yml로 띄운후 localhost:8080 접속시 <오류 내용> Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:6379 Caused by: java.net.ConnectException: Connection refused 이렇게 오류가 발생하는데 자꾸 redis가 localhost로 뜨는데 docker-compose 설정에는 문제가 없어보이는데 한번 봐주시면 감사하겠습니다 1. docker-compose.yml - db 접속정보와 redis 비밀번호는 지우고 코드를 올렸습니다 - redis 비밀번호는 서버에서 확인했습니다. - redis-cli 명령어로 ping-pong 확인했습니다. - app안에 redis와 db(mysql) 같은 네트워크 보고있음 확인했습니다. - 외부 접속 허용하기 위해 redis,.conf 에 bind 0.0.0.0수정 확인했습니다. - 맥 방화벽도 껐습니다. 2. application.properties -redis 설정정보에 ${SPRING_REDIS_PORT:6379} 이렇게 바인딩도 해봤습니다 -db접속 되는지 확인해봤습니다 아래의 코드를 첨부했습니다. 구글 검색과 gpt검색으로 해결방안 전부 시도해봤지만 자꾸 localhost로 뜨니까 진척도 없고 답답합니다... docker를 처음 사용해보는거라 부족한점이 많은데 어떤 부분에 이해도가 필요한지 봐주시면 정말 감사하겠습니다.
개발자
#springboot
#redis
#docker
#mysql
답변 0
댓글 0
조회 169
9달 전 · 토토로 님의 새로운 댓글
무조건 대학부터 가야할까요?
안녕하세요, 현재 22살이며 군복무를 70일 남긴 상황입니다, 요즘 저에게 있어 “무조건 대학부터 가는게 맞을까?” 라는 큰 고민이있습니다. 우선 지금 저의 상황을 말씀드리고자합니다, 20살때부터 개발 공부를 시작해서 운 좋게도 군복무와 개인 공부를 함께 할 수 있는 상황이라 현재도 서비스를 만들고 있는 상황입니다, 여태까지 두 번의 기획 to 배포까지의 서비스를 만들어보았고 잡다하게 여러 프로젝트를 시도해보았습니다. (덕분에 디자인, 웹퍼블리싱, 프론트, 백엔드, CI/CD에 대한 전반적인 이해도와 각 영역마다 편차는 크지만 숙련도가 조금은 있습니다) 그래서 이번에 만들 서비스는 이전과 다르게 레퍼런스와 서적을 참고하면서 약 3개월간 (현재까지 5권, 12만자 정도의 핵심 내용들을 필기) 개발 중인 상태며, 과거 저가 일했던 시장에서 불편한 점을 개선하는 서비스라 이 서비스를 원하는 분들이 어느정도 있으실거라 생각합니다. (랜딩 페이지를 만들었을 당시 조금의 홍보로 이틀간 200명이 방문 하셨고, 100분 정도가 이 서비스를 원한다는 의견을 보이셨습니다) 여튼, 개발 과정에서도 이미 얻은게 많고(이미 전체적인 구현이 완료됐음에도 불구하고 아쉬운 점들에 대한 작업이 약 80개 정도 남은 상황입니다) 런칭을 했을 때도 어느정도 기대가 되는 서비스를 만들고 있는 상황이며, 전역 후에는 현재 개발 서적을 정리하고 블로그에 기록하는 방식과 같이 나만의 개인 블로그를 만들어서 조금 더 체계적이며 남들이 저를 알기 쉬운 방법으로 CS 공부를 기록할 예정입니다. (이거를 위해서 20살때부터 영어 공부를 했으며, 아직 부족하지만 필요하다면 mit open course도 번역하면서 cs 공부와 영어 공부를 함께하는 방식으로 가고자 합니다) 이후 상반기에 아쉽게 면접에서 떨어진 연합 동아리에 다시 지원해보면서 다른 활동들(우테코, 소마, etc)에도 도전해 보고자 합니다, 이때 cs와 같은 이론적인 부분에서 부족한 점들을 딥 다이브 해보면서 개발자로서 역량을 키울 생각입니다. (이번에 개발 서적을 읽으면서 cs를 빨리 깊게 공부해보고 싶은 욕구가 생겼습니다) 그래서 종합적으로 2025년에는 계속해서 여태껏 만들고 싶었던 서비스를 만들고 부족한 공부를 하며, 여러 활동에 참여하면서 구직 활동도 해보는, 모든면에서 성장하고 싶습니다. 서론이 길었습니다, 지금까지의 이야기만 봤을 때 이미 제 마음이 정해진 상태에서 질문을 드리는 거 같아 죄송한 마음이 들지만, 이런 상황에서도 저가 “착각하고 있는건 아닐까?” 하는 불안함 때문에 “재수를 해서라도 나름 괜찮은 대학을 가야할까?”, “돈만 주면 가는곳이라도 가서 학사라도 따야할까?” 라는 고민이 드는 거 같습니다. 20살, 처음 개발을 시작했을 당시에 품고있던 의심이 어느정도 개발자로써 성장한 이 상황에서도 계속해서 드는 거 같습니다, 그래서 현재 제 생각은 “우선 취업을하고 경력자로써 인정 받을 수 있는 시기에 대학을 가서 학사를 따는게 좋지 않을까”하는 생각입니다. 이외에도 경제적 형편과 같은 추가적인 요소도 있지만 이전에 나이에 비해서 쉽게 돈을 벌었던 경험때문에 오만 또는 자만하고 있는게 아닐까 하는 생각입니다.(영상 관련일을 했었습니다) 부연설명을 해야하는게 많아서 글에 두서가 없는 점 죄송하며, 긴 글 읽어주셔서 감사합니다. 세줄요약 1. 취준생으로써 어느정도 실력이 쌓인 상태 (3년 정도 공부, 군복무 포함, 코테 플4) 2. 그래도 학사가 필요하지 않을까 하는 마음 3. 우선 취업하고 경력을 인정 받는 시기에 학사따기 vs 나이가 어리니깐 일단 아무곳이나 대학가보고 아니면 자퇴하거나 계속해서 학사따고 취업 (경제적 형편이 안 좋다는 문제가 있음) 마지막으로, 솔직히 아무곳이나 가더라도 4년 동안 다니면서 학사를 딸 용기가 없어서 반년내로 자퇴할 거 같은 느낌인데 이게 착각이 아닐까 하는 마음입니다, 그리고 뜬금없지만, 매칭 시스템을 구현하기 위해서 다익스트라 알고리즘 대신 가독성과 확장성 측면에서 더 좋은 코사인 유사도를 사용하거나 아호코라식 알고리즘이나 엘라스틱 서치를 쓸려다가 오버 엔지니어링 느낌이 들어서 Spring Data JPA Specification으로 해결하거나 조회수 중복을 막기 위해서 유저의 ip 주소를 redis에 저장하고 ttl 으로 자동으로 초기화하거나 n + 1 문제를 해결하기 위해서 fetch join에서 EntityGraph로 해결하고 동시성 문제도 AOP를 사용해서 해결하는 등 책을 통해서 또는 직접 찾아보고 해결하는 과정이 즐거운데 이게 틀린길인가 싶으니깐 슬픈 거 같습니다..
개발자
#학사
#취업
#개발공부
#대학교
#취준고민
답변 1
댓글 1
조회 181
9달 전 · 상현 님의 새로운 답변
next14의 next/headers의 cookies를 이용한 쿠키설정
안녕하세요 현재 데이터시각화 사이트 프로젝트를 진행중입니다. next14와 spring boot(리소스와 인증.인가)를 사용하고 있고, 카카오 소셜로그인을 하면 스프링서버에서 jwt(access 토큰)를 발급해주고 refresh 토큰은 redis를 통해 관리되고 있습니다. 받아온 토큰은 cookie를 통해 관리하고 있습니다. seo를 위해 ssr을 사용하고 있는데, ssr과정에서 데이터를 fetch를 할 때 토큰을 같이 보내고, 만약 액세스 토큰이 만료되고 리프레시 토큰이 살아있다면 응답 헤더에 새로운 액세스토큰을 보내주고 있습니다. 그런데 이때 next/headers의 cookies를 사용하여 쿠키를 세팅하는것이 안됩니다. 데이터 페치중, 혹은 ssr과정중에는 Cookies can only be modified in a Server Action or Route Handler. 라는 오류가 뜨며 cookie를 set 하거나 delete하는게 안됩니다. 이럴 경우는 어떻게 해야할까요?
개발자
#next.js
#cookie
#jwt토큰
답변 1
댓글 0
조회 171
9달 전 · 프레드윰 님의 새로운 답변
중국 유학생이 한국에서 Java 개발 직업을 찾으려면 어떻게 해야 하나요?
안녕하세요, 저는 중국에서 온 유학생입니다. 25년 2월에 졸업 예정입니다. 한국에서 Java 백엔드 개발자 직업을 찾고 싶습니다. 현재 개인적으로 진행한 프로젝트가 두 가지 있습니다. 프로젝트 1: Hash 해시 알고리즘을 기반으로 한 데이터베이스 라우팅 컴포넌트 프로젝트. 사용한 기술 스택: Springboot, MySQL, ThreadLocal, Mybatis, AOP 어노테이션. 프로젝트 2: 커뮤니케이션 플랫폼 시스템. 사용한 기술 스택: Springboot, Redis, Kafka, MySQL, ElasticSearch, Spring Security. 이 프로젝트들이 한국의 Java 개발 직무와 부합할까요?
개발자
#java
#springboot
#kafka
#신입-개발자
#개발자
답변 1
댓글 0
조회 90
9달 전 · 익명 님의 질문
게시글 조회수 증가 방법에 대한 고민
안녕하세요! 커뮤니티 서비스를 개발하면서 조회수 증가에 대한 로직에 대한 고민이 생겨 이렇게 글을 작성하게 되었습니다. 현재 Redis를 활용하여 게시글 조회에 대한 카운팅을 수행하고 이를 일정 주기마다 DB에 반영하도록 했는데 이렇게 되면 조회수를 실시간적으로 사용자에게 보여주지 못하는 구멍이 생겨 이를 보완하고자 다음 두가지 방법을 고려해봤습니다. 1. 현재 설정한 주기보다 더 빠르게 반영하도록 해서 비교적 실시간과 가까운 결과를 반영한다. 2. 게시글 조회수에 대한 정보가 필요할 때 마다 Redis에 저장된 카운팅을 가져와 이를 더한 값을 반환해준다. 입니다. 개인적으론 조회수가 정말 실시간성이 필요한 부분인가에 대한 고민도 있고, 현업에서는 이와 같은 부분들을 어떻게 해결해나가는지 궁금하기도 합니다!! 마지막으로 긴 글 읽어주셔서 감사합니다 😀
개발자
#백엔드
#개발고민
#redis
#db
답변 0
댓글 0
조회 96
10달 전 · 오두호 님의 질문
신입 백엔드 개발자 이력서 질문 및 피드백 요청드립니다!
백엔드 개발자로 근무하길 희망하는 취업준비생입니다! 이력서 작성에 왕도는 없겠지만, 선배님들이 어떻게 작성했는지 혹은 채용자 입장에서 괜찮은 이력서를 찾는 기준이 무엇인지를 많이 찾아보다보니까 오히려 머리가 복잡해지는 것 같아서 최대한 제 얘기를 담은 이력서를 작성하려고 노력중입니다. 다만, 제가 작성하는 방법이 채용자가 원하는 방법이 아닐 수 있기에 몇가지 질문과 가능하시다면 피드백 해주실 수 있는 선배님들이 계실까 해서 글 남겨봅니다. Q1. 이력서 내 프로젝트에서 기여 혹은 개선사항을 작성할 때 사용한 기술을 상세히 적으며 풀어나가는 것이 좋을까요 혹은 어떤 점을 어떻게 개선했는지 포괄적으로 작성하는게 좋을까요? ex) 사용자 인증 정보를 RedisTemplate의 opsForValue 메소드를 통해 캐싱하여 DB 호출 횟수 4회 -> 1회로 최적화 vs Redis를 활용한 사용자 인증 정보 캐싱으로 DB 호출 횟수 4회 -> 1회로 최적화 (적절한 예시일지 모르겠지만 생각나는대로 적어봤습니다,,ㅎ) Q2. 직무와 연관되지 않았지만 활용될만한 기술스택은 작성하는 것이 좋을까요 아니면 제외해도 괜찮을까요? ex)Scrapy, Selenium등의 크롤링 툴, 프론트엔드 기술 Q3. 이력서 외에 자기소개서 내용에서 기술적인 얘기를 많이 담는 것이 좋을지 항목에 맞는 에피소드로 자신을 드러내는 것이 좋을지 궁금합니다! (자기소개서를 읽는 채용자는 기술에 대해 자세히 모를 수 있다는 얘기도 들어봐서 고민되는 부분입니다. 1번 질문의 의도와 비슷한 내용일 것 같네요.) 이외에도 혹시 개인적으로 피드백 해주실 수 있는 분이 계시다면, 이력서 공유 해드리도록 하겠습니다! 요즘 힘든 시간을 보내고 있는데 도움 주실 수 있으시다면 정말 감사할 것 같습니다. https://drive.google.com/file/d/1LFqNNNQ3skF26xInwbYzxjZOGIlzE0lQ/view?usp=drive_link 링크 첨부를 했는데 반영이 안돼서 다시 질문 드립니다..! 감사합니다!
개발자
#개발자
#취업고민
#취업
#취업준비생
#백엔드
답변 0
댓글 0
보충이 필요해요 1
조회 219
10달 전 · aigoia 님의 답변 업데이트
신입 백엔드 개발자 이력서 관련 질문
백엔드 개발자로 근무하길 희망하는 취업준비생입니다! 이력서 작성에 왕도는 없겠지만, 선배님들이 어떻게 작성했는지 혹은 채용자 입장에서 괜찮은 이력서를 찾는 기준이 무엇인지를 많이 찾아보다보니까 오히려 머리가 복잡해지는 것 같아서 최대한 제 얘기를 담은 이력서를 작성하려고 노력중입니다. 다만, 제가 작성하는 방법이 채용자가 원하는 방법이 아닐 수 있기에 몇가지 질문과 가능하시다면 피드백 해주실 수 있는 선배님들이 계실까 해서 글 남겨봅니다. Q1. 이력서 내 프로젝트에서 기여 혹은 개선사항을 작성할 때 사용한 기술을 상세히 적으며 풀어나가는 것이 좋을까요 혹은 어떤 점을 어떻게 개선했는지 포괄적으로 작성하는게 좋을까요? ex) 사용자 인증 정보를 RedisTemplate의 opsForValue 메소드를 통해 캐싱하여 DB 호출 횟수 4회 -> 1회로 최적화 vs Redis를 활용한 사용자 인증 정보 캐싱으로 DB 호출 횟수 4회 -> 1회로 최적화 (적절한 예시일지 모르겠지만 생각나는대로 적어봤습니다,,ㅎ) Q2. 직무와 연관되지 않았지만 활용될만한 기술스택은 작성하는 것이 좋을까요 아니면 제외해도 괜찮을까요? ex)Scrapy, Selenium등의 크롤링 툴, 프론트엔드 기술 Q3. 이력서 외에 자기소개서 내용에서 기술적인 얘기를 많이 담는 것이 좋을지 항목에 맞는 에피소드로 자신을 드러내는 것이 좋을지 궁금합니다! (자기소개서를 읽는 채용자는 기술에 대해 자세히 모를 수 있다는 얘기도 들어봐서 고민되는 부분입니다. 1번 질문의 의도와 비슷한 내용일 것 같네요.) 이외에도 혹시 개인적으로 피드백 해주실 수 있는 분이 계시다면, 이력서 공유 해드리도록 하겠습니다! 요즘 힘든 시간을 보내고 있는데 도움 주실 수 있으시다면 정말 감사할 것 같습니다. 감사합니다!
개발자
#취업
#백엔드
#개발자
#고민
#취업고민
답변 1
댓글 0
조회 136
10달 전 · 프레드윰 님의 새로운 답변
기술 스택이 진짜 난잡하게 됬는데 이럴땐 어떻게 해야될까요...
저는 8년차 개발자 입니다. 첫회사에서 7년 다음 회사에서 1년의 경력을 가지고 있습니다. 첫회사에서 Spring Framework를 다뤘구요, 웹팀에서 화면 구현에 더 중점을 두고 개발을 하느라 제품에 사용된 spring기술을 전부 파악하니깐 5년차가 되어있었습니다. 그때쯤 되니깐 팀장부터 말단 직원까지 저한테 다 물어보러 오더라구요... 그래서 더이상 성장을 못한다고 판단하고 혼자서 SpringBoot로 이것저것 만들어보고 python도 배우고 node.js도 배워보고 React.js도 배워보고 그러면서 지냈습니다. 그러다가 이직 제안을 받게 되어서 바로 이직하게 되었어요. 두번째 회사는 클라우드, AI 등 최신기술을 사용하는 스타트업 회사였어요. 여기서 내부 서비스를 유지보수하면서 지내다가 회사에 돈이 없어서 SI 프로젝트를 몇개 진행하게 되었는데 제가 총괄을 맡아서 시스템설계, DB 설계, React.js, Flask 전부다 맡아서 진행하게 되었습니다. 이 프로젝트 진행하면서 AWS 서비스를 직접 구축하게 되었는데 그제야 진짜 성장한다고 느껴졌습니다. (VPC, LB, EC2, S3, Amplify, API Gateway 등등등) 직접 하나하나 구축하면서 클라우드서비스 파악도 되고 참 뿌듯했습니다. DB는 왠만한 RDBMS는 다 다뤄본거 같습니다. Mysql/MariaDB, 오라클, PostgreSQL, Cubrid, MS-SQL 까지요 근데 이 DB들 설치하고 쿼리 날려본게 큰 장점은 또 아닌 거 같고.. 그리고 impala, Redis, Elastic Search, InfluxDB 도 해봤구요... 그리고 DB 테이블 설계하고 쿼리 튜닝하는것도 할수는 있는데 이건뭐 짬차면 다 할 줄 아는거라 메리트도 없구요. 이렇다보니 뭐 하나 잘한다는 느낌이 안듦니다... 뭔가 할줄 아는건 많은데 알맹이가 빠져있는 느낌이에요.. 몇군데서 불합격통보를 받으니 좀 답답하네요
개발자
#커리어
#물경력
답변 1
댓글 0
조회 194
일 년 전 · 장성호 님의 새로운 답변
백엔드 독학 커리큘럼 고민
안녕하세요 컴공과 4년제 졸업생 백엔드 개발자 희망하는 취준생입니다. 제로베이스 부트캠프와 독학 고민하다 독학을 해볼까 커리큘럼 계획 중인데 고민이 있어 글 작성 합니다. 1. 자바 언어(이것이 자바다 책), 코딩테스트(자바), CS지식(큰돌님 강의) 2. 김영한님 스프링 로드맵(기본 - mvc - db - jpa - 고급), 스프링 시큐리티(정수원님 강의) 추가적으로 상황이 된다면 redis, Jenkins, AWS 배포, 코드 리팩토링 등 이 순서로 공부를하면서 준비하려하는데 불 필요한 부분이 있다, 부트캠프가 더 효율적이다 등 다양한 조언 부탁드립니다..!! 카톡으로 조언해주셔도 좋습니다..! https://open.kakao.com/o/snOaa5wg
개발자
#spring
#취업
#백엔드
답변 2
댓글 1
추천해요 1
조회 703
일 년 전 · 신예찬 님의 새로운 댓글
RCE 보안공격 질문입니다!
안녕하세요 백엔드 취업 준비생입니다 최근 프로젝트를 진행중에 배포서버를 구성해봤습니다 aws ec2에 docker compose로 nginx, WAS, redis를 컨테이너화해 동작시키고, nginx에 의해 3개의 WAS가 로드밸런싱 된 상태입니다(WAS 는 sping boot+spring security+JPA를 사용중입니다) route 53으로 Gabia에서 구매한 도메인을 연결해둬 도메인 접근을 허용해둔 상태입니다 배포 서버가 정상적으로 동작하는지 확인하기 위해 log를 보고 있었는데 이상한 요청이 보였습니다 요청 url에 `chmod 777`이라던지 `rm -rf`가 보여서 식겁해서 일단 서버는 내려뒀습니다 알아보니 RCE라는 공격 방식 같더라고요 그래서 RCE를 막는 최선의 방법이 무엇인지 궁금합니다 또 통상적으로 알고있으면 좋은 보안 방어 기법에는 어떤것들이 있을지 궁금합니다! (가능하면 AWS 과금이 없는방법이면 더 좋을거같아요 😊 😊)
개발자
#nginx
#security
#springboot
#aws-ec2
답변 1
댓글 1
조회 88
일 년 전 · Jeahong 님의 새로운 답변
redis 연결 이슈 입니다!! 제발 도와주세요 ㅠㅠ
문제는 이렇습니다. prodRedisUrl = redis://:password@ec2프라이빗ip:6379/0로 url을 보냅니다. 그리고 ec2 내 redis bind를 ec2 프라이빗 Ip로 설정하고, 리스닝 하고 있는 상태입니다. 그러면 정상적이라면, 서버가 배포 됐을 때 prodRedisUrl로 redis와의 연결이 성공적으로 연결 됩니다. 근데 어이없는 문제가 발생합니다. 요청하지도 않은 localhost로 redis서버에 연결하려고 하는 것입니다. 그래서 시나리오를 세워서 반대로 테스트를 해봤습니다 !!!! prodRedisUrl = redis://:password@127.0.0.1:6379/0로 하고, 일부러 로컬호스트를 보내 봤습니다. 물론 ec2 내 redis.conf의 bind를 수정 했습니다. bind 127.0.0.1 테스트 해봤더니 127.0.0.1로 접속은 완료 됐지만 이제는 반대로 ec2 프라이빗 Ip로 연결을 요청해서 실패하네요 ㅋㅋㅋㅋㅋ ---- === 도대체 요청하지도 않은 ec2에서 그리고 알지도 못하는 프라이빗 ip로 redis서버에 접속하려는걸까요?????? ----------------------------------------- 즉, 정리하자면 요청하지도 않은 host로 Redis서버에 접속한다 !! 입니다. 로컬에서 테스트 할 때는 아무런 문제 없이 잘 작동하더니만 ec2에 배포하고 연결하려고 하니까 이 말썽입니다... 도저히 이해가 되지도 않고 원인 파악도 힘드네요,, 고수님들의 도움이 정말 필요합니다.. 부탁드립니다 ㅠㅠ
개발자
#redis
#nest.js
#node.js
답변 1
댓글 0
조회 128
5달 전 · 문석 님의 새로운 답변
docker-compose를 통해 redis와 boot연결 중 생기는 오류
안녕하세요 백엔드 개발자를 준비중인 대학생입니다. 현재 자바, 스프링부트로, 인텔리제이로 백엔드 개발을 하고 있습니다.(jdk 17) 이번에 프로젝트 중 도커에 대해서 필요성을 느껴 도커를 연결 중에 있습니다. 현재 상황이 db, redis, boot를 docker-compose에 올려서 실행했는데 3개 모두 다 실행은 된 상태입니다.!!!!! db와 boot는 연결이 가능하지만 boot와 redis 연결 중 오류가 뜹니다. 보이는 주 오류는 아래의 2개와 같습니다. org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/127.0.0.1:6379 redis를 직접 실행해보니 localhost로는 정상적으로 실행이 되어 돌아가는데!!!!!!!!!!!!!!! host에 docker-compose에 적은 컨테이너 설정 이름인 redis를 입력하니 위와 같은 오류가 나타납니다.!!!!!!!!! 왜 2번째 오류 문구처럼 Connection refused: localhost/127.0.0.1:6379 라고 뜨는지도 이해가 안가고 구글링을 통해서 계속 찾아봐도 미칠지경까지 와버렸습니다.. 며칠째 이것때매 다른 것을 못하는 상황입니다 ㅜ 아래에 전체적인 코드를 남기겠습니다. 도와주세요!!!!! 제발요... 코드는 redis연결만 문제가 있어 다른 그 부분만 올렸습니다.
개발자
#백엔드
#도커
#redis
#spring
#오류
답변 3
댓글 0
조회 544
일 년 전 · 장성호 님의 새로운 댓글
토큰 기반 인증에서 리프레쉬 토큰 관리
JWT로 토큰 기반 인증을 구현할 때 궁금한게 좀 생겼습니다! 리프레쉬 토큰은 DB에 저장해볼까 했는데 그러면 토큰 기반 인증이 아니라 세션 기반 인증인 것 같아서 고민입니다. DB에 저장하는 순간 Stateless 장점도 없어지는 것 같구… Stateless로 구현한다해도 로그아웃 때문에 블랙리스트 관리해야한다는데, 이러면 결국 Stateful인거 같구… 다른 분들은 어떻게 구현하시는지 궁금합니다! 일단 이렇게 고민해봤습니다. --- <1번 시나리오 - 리프레쉬 토큰을 DB에 저장하지 않는 시나리오> 1. 액세스 토큰이랑 리프레쉬 토큰은 클라이언트가 저장하고 서버는 저장하지 않는다. 2. 클라이언트 요청이 왔을 때 리프레쉬 토큰이 만료되지 않았으면 액세스 토큰을 발급해주고, 만료됐으면 액세스 토큰을 발급해주지 않는다. (401 또는 403) 장점 - DB에 접근할 이유가 없으므로 Stateless 하다. 단점 - 로그아웃을 했을 때 토큰 자체는 무효화시킬 수 있는 방법이 없다. <2번 시나리오 - 리프레쉬 토큰을 DB에 저장하는 시나리오> 1. 액세스 토큰이랑 리프레쉬 토큰은 클라이언트와 서버가 각각 저장한다. 2. 클라이언트 요청이 왔을 때 리프레쉬 토큰이 만료되지 않았으면 액세스 토큰을 발급해주고, 만료됐으면 액세스 토큰을 발급해주지 않는다. (401 또는 403) 장점 - 로그아웃을 했을 때 토큰 자체는 무효화시킬 수 있다. 단점 - DB를 접근해야하므로 Stateful 하다. => 클러스터링이나 샤딩이 도입되면 복잡도가 올라간다. --- 1번 시나리오 단점을 극복하려고 블랙 리스트를 Redis에 관리한다는 글들을 종종 봤습니다. 블랙 리스트를 도입 안했을 때 문제는 실제로 겪어본 적이 있어서 공감은 가는데, 이러면 사실상 세션 쓰는거랑 똑같지 않나라는 생각이 듭니다. 인증시 결국 Redis 같은 DB에 접근해서 직접 확인하는 거니까요. 한편으로는 서비스가 매우 많이 커지면 세션이 부담돼서 토큰 기반 인증으로 전환한다는데, 파면 팔수록 점점 세션 기반 인증으로 바뀌는 것 같아서 고민입니다.
개발자
#인증
#토큰
#db
#stateless
#stateful
답변 1
댓글 1
조회 171
일 년 전 · 김도원 님의 답변 업데이트
퇴사한지 반년 넘은 3년차 java 개발자 입니다..
전 회사에서 크롤링으로 혹사당한 후 대상포진까지 걸리고 더는 안되겠다 싶어 퇴사하고 3개월정도 휴식기를 가지고 3개월째 준비하고 있습니다. 총 반년.. 사이드프로젝트도 계속 만들고 있는데 어디까지 손봐야 하는지 감이 잡히지 않습니다.. 코딩테스트는 사실상 준비하지 않아서 과제테스트를 보는 곳으로 생각하고 있는데 3년차로 들어가게 된다면 어떤 것을 해야하는지 혼란합니다. 현재는 spring security, jwt, oauth2 를 이용해 로그인 기능을 구현해 놓은 상태에 docker, aws, jenkins를 이용해 서버에 올리는 정도까지만 진행한 상태입니다.. 찾아보니 redis, kafka 같은 것들도 해야 할 것만 같은데 시간이 없는 상태에서 진행하는게 맞을까요? 테스트코드도 습관이 되어 있지 않아서 혼자서 작성하려니 너무 벅찬 느낌이 듭니다.. 현재하고 있는 것에서 마무리하고 구직을 해도 상관없을지, 더 배우고 채워야 할지 모르겠습니다,,
개발자
#이직
#java
#백앤드
#3년차
답변 5
댓글 6
추천해요 10
조회 3,707
일 년 전 · 삭제된 사용자 님의 새로운 댓글
신고 게시글 안 보이도록 하는 기능 질문드립니다
안녕하세요! 현재 진행 중인 사이드 프로젝트에서 게시글 신고 기능을 구현하고 있습니다. 1. 게시글이 누적 신고를 받으면 모든 유저한테 안 보입니다. 2. 유저가 특정 게시글을 신고했을 때 해당 유저한테는 신고한 게시글이 안 보입니다. 1번의 경우에는 신고가 될 때마다 count를 해서 일정 횟수 누적이 되면 해당 게시글을 soft delete를 합니다. 2번의 경우에는 게시글 조회 시 신고 테이블을 outer join 해서 해당 유저가 신고하지 않은 게시글만 조회합니다. 신고 특성상 순간적으로 발생하는 경우가 많을 것 같아서 redis를 사용해볼까 하는 생각도 드는데 조언, 피드백 좀 주시면 정말 감사하겠습니다!
개발자
#spring
#jpa
#mysql
답변 1
댓글 1
조회 116
일 년 전 · 익명 님의 질문 업데이트
MSA 환경에서 ABAC 기반의 권한시스템을 어떻게 구현하는게 좋을까요?
안녕하세요 현재 진행중인 프로젝트에 MSA를 적용하여 구현하고 있는 백엔드 꿈나무입니다. 빈번하게 일어나는 권한 검증을 효율적이고 높은 가용성을 확보할 수 있도록 하기 위해서 여러 방법을 모색하던 중, 다른 분들의 의견이 어떨지 하여 QnA를 올려보게 되었습니다. 우선 저희 프로젝트는 User, Device, Organization, Team, License 이렇게 5가지 개념이 있습니다. 사용자가 장비에 접근할 때에는 본인이 소속된 Org에 해당 장비가 존재하는지, 접근하는 동작에 대해서 해당 org가 License를 보유하고 있는지, 소속된 팀 또는 본인에게 해당 장비에 해당 동작을 승인받았는지 등 수많은 조건들에 의해 ABAC가 계산되게 됩니다. 하지만 MSA 환경으로 인해 테이블을 쉽게 join하지 못할 뿐더러, 가능하더라도 상당한 고부하 작업이 될 것이라고 생각합니다. 그래서 CQRS 패턴을 이용해서 license가 만료되거나 팀의 권한이 수정되는 등, 사용자와 장비간의 권한이 수정이 되는 command가 수신되면, 그것을 권한 담당 서비스에 비동기로 전달하여 특정 사용자가 특정 장비에 어떤 동작에 대한 제어가 가능한지를 저장(캐싱)하고 있다가 권한을 검사해야되면 간단하게 query하는 형태로 구현하는 것이 적합할 것이라고 판단했습니다. 이 패턴을 구현하기 위한 두가지 방법을 고안해보았습니다. [Permission Service] 별도의 permission 서비스를 만들고 캐시용도로 redis를 연결해두고, 권한 검사 요청이 들어왔을 때 Cache Miss가 된다면 Api Gateway 패턴과 유사하게 여러 서비스에 각각 정보를 요청하여 최종적인 권한 정보를 Aggregate 하여 전달하고, 캐시에 보관하는 방식입니다 [권한 관리 Infra Service] Google의 Zanzibar와 같이 권한을 관리하고 복잡한 쿼리를 처리해주는 서비스를 이용하는 방식입니다. 오픈소스로 구현된 SpiceDB를 고려하고 있습니다. Permission Service를 만드는 경우, 본인이 보유한 정보가 부족할 경우 능동적으로 정보를 Pull하여 권한 정보를 가져오는 반면, 양측에 별도 인터페이스를 구현해야되는 단점이 있고, 이미 있는 서비스를 사용하면 구현이 쉬워지는 반면, 해당 서비스에서 능동적인 Pull이 불가능하고, 권한 Query 정보가 최신인지 판단하고 업데이트하는 것을 각 서비스에서 각각 담당해야되기 때문에 별도 서비스를 분리하는 것에 비해 Responsibility Segregation이 부족하다고도 느꼈습니다. 무엇보다 관리해야될 인프라 요소가 늘어난 것은 덤이구요. 규모에 비해서 과한 고민을 하고 있는것이 아닌가 하는 생각도 들고, 그래도 더 나은 방법으로 서비스를 만들어가고 싶기도 합니다. ABAC를 적용하는 대부분의 서비스에서 이러한 고민을 적절히 잘 해결하여 서비스가 되고 있을텐데, 정답은 없겠지만 선배님들의 조언을 듣고 싶습니다!
개발자
#msa
#cqrs
답변 0
댓글 0
추천해요 2
조회 136
일 년 전 · 조용구 님의 새로운 답변
JWT 로그아웃 관련 질문 입니다.
JWT 를 사용하여 로그인 기능을 구현 하였습니다. 저같은 경우에는 로그인시 에세스토큰과 리플레시 토큰을 생성해서 사용중이 mysql 테이블에 저장을하고 토큰 두개를 반환하면 프론트(리엑트) 에서 세션 스토리지에 저장해서 에세스 토큰으로 통신하다가 만료가 되면 리플레시를 요청하고 리플레시를 보내서 데이터베이스에서 유효시간과 변형이 되지 않은것을 확인하면 다시 에세스 토큰을 발급하는 시스템으로 구현을 했는데요 이때 에세스 토큰은 30분 리플레시 토큰은 8시간을 주고 개발 하였습니다. 그런데 생각해보니 로그아웃을 구현 안했더라고요 프론트에서는 로그아웃하면 세션스토리지를 날려버리면 끝인데 RestAPI라 데이터만 주고 받으면 되는 형식이라 딱이 제가 받는게 없다는겨죠 그렇게 로그아웃을 찾아 보다가 다른분들은 Redis를 사용하여 리플레시 토큰을 입력받은 아이디를 key로 저장한후에 에세스를 발급하고 로그아웃하면 그토큰을 블랙리스트로 만들더군요 만료시간후에 자동 삭제되게 설정도 하는거 같아요 이게 어느 방향으로 개발하는게 맞는지 도통 모르겠습니다. 로그아웃 할때마다 리플레시를 무효화 시키고 로그인할 때 새로 생성해서 저장하는게 맞는지 로그아웃해도 데이터베이스에 리플레시 유효기간이 남아 있다면 그것을 계속 사용하는게 맞는건지 어느 글들을 보면 리플레시를 7일 한달도 주는 경우가 있더라구요... 그래서 잘 모르겠습니다. 로그인 -> 에세스,리플레시토큰 발급 -> 프론트 세션스토리지 저장 -> 에세스로 통신 -> 만료되면 리플레시 요청 -> 프론트에서 리플레시 통신 -> 데이터 베이스 확인후 유효검사후 에세스 다시 발급 -> 재로그인시 유효시간이 남으면 기존의 리플레시 토큰 사용 로그인 -> 에세스,리플레시토큰 발급 -> ........ -> 로그아웃시 Redis에 블랙리스트로 저장 -> 블랙리스트 접근불가 -> 다시로그인시 리플레시 새로발급 실무에서는 어떻게들 관리하시는지 알려주시면 감사하겠습니다.
개발자
#jwt
#로그아웃
#redis
답변 1
댓글 0
추천해요 1
조회 373
일 년 전 · 이창민 님의 새로운 댓글
JWT vs 세션 사용
안녕하세요, 프로젝트를 진행하던 중에 JWT와 세션 사용에 대한 선택을 결정해야 했는데요. 일단, 클라이언트의 상태를 stateless하게 관리하고 서버의 부하를 줄이기 위한 선택으로 jwt를 도입하게 되었습니다. 근데 문득 궁금점이 생기더라구요. 1. jwt 토큰의 refresh 토큰 관리, logout 등의 기능을 위해 redis를 도입했는데, 세션도 서버의 메모리가 아니라 redis를 사용하게 되면 결국 서버의 부하를 줄여줄 수 있으니, jwt를 굳이 도입하는 이유가 있을까요? 1-1. 스스로 고민해본 결과로는 결국 정보를 jwt 토큰에 저장하느냐, 세션을 사용해서 세션의 정보를 DB에 저장하느냐 그 차이인 것 같은데 맞는지 궁금합니다. 그래서, 결국 redis를 사용하더라도 redis 자체의 부하를 줄여주지 못하는 건가 싶습니다.
개발자
#jwt
#세션
#redis
#인증
#인가
답변 3
댓글 2
추천해요 8
조회 2,264
일 년 전 · 박범수 님의 답변 업데이트
서버 응답속도 성능
Express 기반의 서버를 koyeb에 무료로 배포하여 사용중입니다. 다름이 아니라, 프론트 단에서 서버로부터 요청 후 응답까지의 시간이 너무 길어 개선하려고 하는데 gzip 적용이나 sql 쿼리 수정 등의 작업을 해도 속도가 2초 정도 걸려 질문드립니다. 1. DB 데이터를 redis 서버에 캐시해놓고 사용하면 응답 속도가 개선될까요? 2. 클라우드 무료 성능으로 인한 응답속도 저하일까요? 3. 이 외의 개선 방안이 궁금합니다.
개발자
#클라우드 서버
답변 3
댓글 1
조회 1,167
2년 전 · 손우진 님의 새로운 답변
nginx를 통해 로드밸런싱하려합니다. 성능과 관련해서 질문있습니다.
springboot 프로젝트를 gcp인스턴스에 docker컨테이너로 배포하려합니다. 웹서버 인스턴스를 따로 둬서 nginx를 설치하고 실행합니다. 문제는 프리티어 gcp라 그런지 springboot 컨테이너를 한 인스턴스에 두 개를 띄우고, 추가로 mariadb와 redis로 컨테이너로 띄워 총 4개의 컨테이너가 실행되는데, 이렇게 하니 인스턴스 접속이 점점 느려지다 어느 순간 멈춰버립니다. 결국 인스턴스를 중단했다가 다시 켜야 다시 원 상태로 돌아옵니다. 물론 해결방법은 구글 클라우드에서 지원하는 cloud storage같이 방법이 있고, 다른 인스턴스를 만들어 로드밸런싱 되는지 확인할 수 있지만,.. 궁금한 게 생겨 확인해봐야할 것 같습니다. 정말 gcp의 프리티어로는 이렇게 여러 컨테이너들을 띄우는 게 어려운 지 궁금합니다.
개발자
#spring-boot
#docker
#nginx
#loadbalance
답변 2
댓글 0
조회 208
일 년 전 · 이승욱 님의 질문 업데이트
Express 백엔드는 취업이 어려운가?
안녕하세요 이제 컴퓨터공학과 막학기 들어서는 주니어 개발자 준비생입니다 연구실 동아리 등등 여러가지 방향으로 전전하다 결국 백엔드 개발자를 목표로 올해부터 공부하기 시작했고, 연구실에서 도커관련된 공부를 했었어서 특이하게 aws와 컨테이너 환경에대해 먼저 공부를하다 올해 7월부터 친구들과 스타트업 같지않는 스타트업에서 리드아닌 리드,백엔드,서버 배포를 맡아 프로젝트를 시작해 Vue express nginx mySQL (+ aws / redis /docker )스택으로 어느정도 공부를 하고있는 상황입니다 처음 프로젝트를 시작할때는 nodejs자체가 처음이라 폐끼치지 않으며 배워야지 하는 마음가짐으로 시작 했는데 (나름) 열심히 한덕에 좀 여유가 생기니 채용 정보를 찾아보기 시작했고 사람인 잡코리아 등등 을 돌아다니다 보니 spring 개발자 채용정보가 거의 대부분인것을 발견했습니다. 그동안 우리나라는 거의 spring이다 말은 많이 들었지만 이정도일줄은 정말 몰랐습니다 프로젝트 배포까지 해보기도 학과생활 열심히한 짬도 있어 다른 언어나 프레임워크를 배우는것에대해 크게 부담은 없지만 express를 계속 고집하는게 맞나 고민이 듭니다,, 질문은 1. express 를 더 깊이있게 배워나갈지 spring이나 모바일 프로그래밍같은 플랫폼을 배울지 고민입니다! 2. Express 프레임워크 자체가 취업에 많이 불리한지 아니면 재가 채용공고를 잘 못찾는 편인지 궁금합니다 3. 저는 정말 개발자로써 배울점이 많은 회사에서 근무하고 싶은데, 이제 막 취업시장에 뛰어들다 보니 그런 견해가 부족한것 같습니다. 혹시 무엇을 참고하고 회사에 대해 판단을 내리면 좋을까요?
개발자
#nodejs
#express
#aws
#취업
#창업
답변 1
댓글 0
조회 300
2년 전 · 박범수 님의 답변 업데이트
쿠팡 아이폰 사전예약 같이, 특정 시간대에 순간적인 트래픽이 예상된다면 어떤 아키텍처를 가져가는 것이 좋나요?
많은 트래픽을 안정적인 처리를 하기 위해서는 redis를 많이 사용한다고 알고 있습니다. redis의 어떤 점을 활용하는게 좋을까요? 혹은 특정 시간에서만 scale-out이 가능하도록 아키텍처를 설계할 수 있을까요? 많은 트래픽을 경험해보지 못한 뉴비라서 질문드립니다...! (redis 사용 경험도 X)
개발자
#대용량
#트래픽
#redis
#kafka
#대규모
답변 1
댓글 0
조회 167
일 년 전 · nox 님의 댓글 업데이트
대기업 신입 노드 개발자가 가능한가
안녕하세요. 저는 현재 신입 백엔드 개발자로 취업 준비 중입니다. 사용할 줄 아는 언어는 하나라도 제대로 하자는 마음으로 js/ts만 다뤄왔습니다. 사실 프론트를 먼저 접하고 백엔드의 필요성을 느껴 빠르게 백을 구축하기 위해 nodejs로 백을 시작하게 되었어서 지금까지도 nodejs를 메인으로 expressjs, nestjs 등으로 계속 공부를 하고 있네요. 하지만 휴학 기간 동안 취업 준비를 하기 위해 채용 공고들을 보고 있는데 이름있는 기업들은 거의 대부분 자바 개발자만 뽑더라구요.. 물론 부서마다 언어가 다르다고 하긴 하지만 대부분 자바 아니면 파이썬이 메인이고, 노드는 뒷순위에 경력자들만을 뽑더군요.. 무슨 신입이 처음부터 이름있는 기업에 가려하냐, 눈이 너무 높은거 아니냐 하고 생각하실 수 있지만 제 성격상 목표가 뚜렷해야 집중이 잘 되고, 생각보다 취준 기간이 넉넉하고 네카라쿠배 급 정도에서 요구하는 기술 스택들, 예를 들면 docker, ci/cd, redis, msa, message broker, DDD, TDD, serverless 등을 완벽히 까지는 아니더라도 충분히 시간을 들여 공부하고 이를 사용한 본격적인 프로젝트를 진행하기 전에 언어를 확실히 정하고 가고 싶어서 질문 드립니다. 아직 expressjs, nestjs도 제대로 이해하고 있는 것은 아니며 당연히 배워야할 점들이 수도 없이 많기에, 남은 1년의 기간 동안 노드쪽의 부족한 점을 채워야할지, 자바를 새롭게 배우고 충분히 공부하며 제대로 된 프로젝트를 진행해야 할지 고민입니다. 더불어, 현재 저의 역량을 확인하기 위해 풀스택으로 제대로 된 쇼핑몰을 혼자 전부 구현 및 배포를 하는 프러젝트가 진행 중에 있습니다. 만약 제가 자바를 공부하는 것이 맞다면 현재 진행하고 있는 프로젝트는 잠깐 중단하고, 자바를 충분히 공부한 후 이 프로젝트를 자바로 진행하는 것이 좋을지, 아니면 일단 현재 프로젝트는 완성하고 나중에 자바를 공부한 후 똑같이 만들어보는 것이 나을지 고민입니다. 후자가 맞는거 같지만서도 이 경우에는 시간이 너무 오래 걸릴 것 같아 질문드립니다.. 정리하자면, 배경: 취준 기간 1년이 있고 목표는 대기업 혹은 중견기업 신입이다. expressjs, nestjs를 다룰 줄 알고 현재까지 진행한 토이 프로젝트들을 봤을때 개인적으로 기본적인 부분들은 할 줄 알고 있다고 생각한다. 질문 1. 하지만, 아직 부족한 점이 많은데 남은 1년을 노드쪽을 더 파서 취업을 노릴지, 아니면 이제라도 자바를 공부해서 조금 더 유리하게 가야할지? 질문 2. 내 역량을 확인할 겸 제대로 된 프로젝트를 하고 싶어서 쇼핑몰 구현 중에 있다. 만약 제가 자바를 공부하는 것이 맞다면, 현재 이 프로젝트를 노드로 완성하고, 자바로 옮길지. 아니면, 일단 멈추고 자바를 공부한 후 자바로 처음부터 만들지. (프로젝트는 이제 막 초기 단계라 기본적인 기능만 구현 후 배포 전 ci/cd를 위해 테스트 코드 작성 중에 있습니다.) 충분한 고민을 해보고 질문을 드리는게 맞겠지만 대기업 혹은 중견기업 채용 공고에 노드 백엔드 개발자가 거의 없는걸 보니 조급해져서 이렇게 질문드립니다. 긴 글 읽어주셔서 감사드리고 답변 꼭 부틱드립니다...!
개발자
#java
#javascript
#취업
#spring
#expressjs
답변 3
댓글 3
조회 2,181
일 년 전 · 익명 님의 질문 업데이트
맥북으로 이제 바꿀려는데 고민이 있습니다
백엔드개발자 취준생이고 현재 프로젝트를 할때 보통은 인텔리제이,postman,크롬3,40개 (유튜브),디스코드(화상회의),노션,블로그 정도의 창을 띄우고 datagrip , 도커에 redis 띄우고 작업하는거 같습니다 . 이정도면 32기가로 맥북 사는게 나을려나요? 돈은 300까지는 있는데 무리해서라도 300근처에 사는게 맞는지 궁금합니다.
개발자
#맥북
답변 2
댓글 3
조회 633
2년 전 · 박하루 님의 새로운 답변
RestController로 구성된 신입 백엔드 포폴 회사 입장에선 과연 어떻게 바라볼까요..?
안녕하세요 저는 일주일 전에 국비 학원을 수료하고 이제 취업 전선에 나가게 된 신입 백엔드 개발자 취준생 입니다. 국비 학원에서 6개월 과정으로 자바와 스프링을 배웠지만 수업이 진행될수록 학원 내에서 수강생들간의 격차가 심해졌고 그 격차가 팀 프로젝트까지 전달되었는데요. 예를 들어 저는 redis 이용한 캐시 적용 , 동시성 제어등 제가 학원외에서도 열심히 익히고 학습한 기술적인 스킬들을 프로젝트를 통해 보여주고 싶었지만 자바에서 어려움을 느끼고 있는 팀원도 있고 다른 팀원들도 공부하기에 벅참을 느끼는 것 같아 기본적인 CRUD에서 조금 더 발전적인 팀 프로젝트를 만들게 되었습니다.(저를 포함한 팀원 모두 비전공자) 저는 프로젝트를 바라보며 매일 공부했던 만큼 기대보다는 개인적인 아쉬움이 남은 프로젝트가 나온 것 같습니다. 그래서 저는 제 기술적인 역량을 보여줄 수 있는 개인 프로젝트를 만들려고 하는데 문제는 제가 프론트쪽이 매우 약하고 개인적으로 공부할 만큼의 시간적 여유도 없어 개인 프로젝트를 RestController로만 구현을 하려고 하는데 과연 프론트단 없이 RestController로만 구성된 개인 프로젝트가 회사 입장에서 어떨지 궁금합니다. 백엔드 포폴이면 최소한만 하면 된다는 말도 들었지만 정확히 최소한이 어느 정도인지도 사실 잘 모르겠습니다 ㅠㅠ RestController로 구성된 신입 백엔드 포폴 회사 입장에선 과연 어떻게 바라볼까요..? (팀 프로젝트는 외부 프론트엔드분을 영입해서 같이 협업하였습니다)
개발자
#java
#spring
답변 2
댓글 0
조회 326