5달 전 · 하이린 님의 새로운 답변
포트폴리오에서 중요한 것에 대해 조언 부탁드립니다
안녕하세요 현재 졸업예정 전공생입니다 요즘 개발자 취업 시장이 힘들다보니 수준도 많이 올라가고 요구하는 것들도 많아지고 있는 것 같습니다 이전에 했던 프로젝트들은 솔직히 별 볼일 없는 CRUD 기능 구현에만 집중한 프로젝트고 그것 이외에 성능에 대한 고민이라던지 그런 흔적이 전혀 없습니다 이런 수준으론 중소 서류도 불가능 할 것 같아서 하반기까지 새로운 프로젝트를 준비하려고 합니다 그래서 이전 것들 다 버리고 딱 하나만 제대로 만들고 싶습니다 주제 자체는 디스코드 같은 메신저를 만들 것이고 프론트는 웹으로 간단하게만 보여줄 생각입니다 Java, spring, mybatis, mysql Aws ec2, Docker, Jenkins 크게 봤을 때 이정도 스택을 사용할 것입니다 사실 주제나 스택보다는 이 프로젝트를 진행하면서 제 고민을 녹여낸 흔적을 만들고 싶습니다 대용량, 동시성 등등.. 기업 입장에서 좋게 볼 수 있는 고민거리에 대해 여쭤보고 싶습니다 물론 그것을 위한 cs 공부는 하고 있습니다 +추가로.. 이렇게 하반기까지 준비를 했을 때 확실히 차이가 생기겠죠? 취업에 대한 불안감 때문에 하면서도 너무 힘들어서 질문드립니다 요약 1. 기업에서 지원자의 포트폴리오를 볼 때 좋게 볼 수 있는 것들이 있을까요 2. 위 글대로 하반기까지 준비를 했을 때 제 취업에 차이가 생길까요(불안해서 여쭤봅니다)
개발자
#취업
#개발자
#포트폴리오
#프로젝트
답변 2
댓글 0
조회 109
10달 전 · 익명 님의 질문
동시성+데드락 제어를 위한 비관적 락 잠금 질문
안녕하세요 글쓰기 커뮤니티 프로젝트를 개발하는 중입니다 회원이 소설을 찜하는 기능(좋아요)을 구현 중에 있는데요 찜 객체는 아래 첨부한 코드와 같이 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
조회 51
10달 전 · 강유민 님의 질문
웹뷰 auth 처리 질문입니다
안녕하세요, React native에서 각 탭들이 서로 다른 웹뷰를 사용하고 있습니다. 한 탭에서 accesstoken을 refresh를 하고 있는 상태에서 다른 탭에 들어갈 경우 refresh token이 갱신되지 않은 상태에서 요청을 보내 동시성 이슈(race condition)가 발생할 수 있을 거 같은데 어떻게 해결해야 할까요? 그냥 단일 웹일 때에는 axios interceptor에서 큐에 넣어서 해결했는데.. 토큰을 갱신해야 할 때마다 앱단으로 보내준 다음에 거기서 큐로 처리하고 완료되면 각 웹뷰로 뿌려주는 방식으로 가야 하려나요? 현직에 계신 분들 웹뷰 auth 어떻게 처리하시나 궁금합니다.
개발자
#fe
#react
#reactnative
답변 0
댓글 0
조회 69
10달 전 · 익명 님의 새로운 댓글
무조건 대학부터 가야할까요?
안녕하세요, 현재 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
조회 185
일 년 전 · 익명 님의 질문
금융권에서는 모든 기능에 동시성 제어하나요?
안녕하세요. 금융권에서는 비즈니스 핵심이 돈 관련된거라 데이터 정합성이 중요하다고 생각이듭니다. 그렇다면 모든 기능, 즉 계좌이체같이 금전적으로 오고가는 기능에 있어서 따닥 이슈로 인한 동시성을 예방하기 위해 전부 락을 사용하는지, cas같은걸 사용하는지 궁금합니다
개발자
#금융it
답변 0
댓글 0
조회 94
일 년 전 · 포크코딩 님의 새로운 답변
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
조회 207
일 년 전 · 오원종(Owen) 님의 새로운 답변
안녕하세요. 신입 8개월차입니다.
나이는 33살, 비전공 초대졸입니다. 23년 3월 국비 수료 후 5월 입사해서 8개월차 웹개발자로 일하고있습니다. 연봉은 2800이고 중소기업이라 백엔드/프론트엔드 구분없이 바닐라js, jQuery, spring boot, JPA, mariaDB 환경에서 사수 도움없이 입사동기와 프로젝트 한 개를 완성시켰습니다. jwt토큰과 Spring Security 사용하여 로그인 구현, 동시성 이슈 해결, 자세히는 말하지 못하지만 이외에도 기본적으로 필요한 기능들과 핵심기능들을 개발하였습니다. (준공공기관 사업) 또한, 개발 진행하면서 스프링 레거시로 유지보수 및 간단한 기능개선을 위한 소소한 개발을 했습니다. 곧 5월이 되면 1년차이기도하고 내년 상반기에만 제가 메인 개발자로 홀로 프로젝트를 2~3개 진행하게 될 것 같은데 2800이라는 연봉에 비해서 책임이 큰 것 같아 고민입니다. 어찌됐건 1년은 꽉채울거지만….연봉협상 때는 얼마를 불러야 할까요? 전 최소 3300정도를 생각하고 있는데…적당할까요? 만일 회사에서 3000을 준다하면 이직을 해야할지도 고민됩니다. 현재 일은 많으나 사수가 없어서 좋은 코드에 대한 고민도 못하고 굴러가게만 하는 데에 집중해서 얼레벌레코딩중이라서 ㅜㅜ 배울 점도 없어보입니다….
개발자
#신입연봉
답변 1
댓글 0
조회 1,004
2년 전 · 박하루 님의 새로운 답변
RestController로 구성된 신입 백엔드 포폴 회사 입장에선 과연 어떻게 바라볼까요..?
안녕하세요 저는 일주일 전에 국비 학원을 수료하고 이제 취업 전선에 나가게 된 신입 백엔드 개발자 취준생 입니다. 국비 학원에서 6개월 과정으로 자바와 스프링을 배웠지만 수업이 진행될수록 학원 내에서 수강생들간의 격차가 심해졌고 그 격차가 팀 프로젝트까지 전달되었는데요. 예를 들어 저는 redis 이용한 캐시 적용 , 동시성 제어등 제가 학원외에서도 열심히 익히고 학습한 기술적인 스킬들을 프로젝트를 통해 보여주고 싶었지만 자바에서 어려움을 느끼고 있는 팀원도 있고 다른 팀원들도 공부하기에 벅참을 느끼는 것 같아 기본적인 CRUD에서 조금 더 발전적인 팀 프로젝트를 만들게 되었습니다.(저를 포함한 팀원 모두 비전공자) 저는 프로젝트를 바라보며 매일 공부했던 만큼 기대보다는 개인적인 아쉬움이 남은 프로젝트가 나온 것 같습니다. 그래서 저는 제 기술적인 역량을 보여줄 수 있는 개인 프로젝트를 만들려고 하는데 문제는 제가 프론트쪽이 매우 약하고 개인적으로 공부할 만큼의 시간적 여유도 없어 개인 프로젝트를 RestController로만 구현을 하려고 하는데 과연 프론트단 없이 RestController로만 구성된 개인 프로젝트가 회사 입장에서 어떨지 궁금합니다. 백엔드 포폴이면 최소한만 하면 된다는 말도 들었지만 정확히 최소한이 어느 정도인지도 사실 잘 모르겠습니다 ㅠㅠ RestController로 구성된 신입 백엔드 포폴 회사 입장에선 과연 어떻게 바라볼까요..? (팀 프로젝트는 외부 프론트엔드분을 영입해서 같이 협업하였습니다)
개발자
#java
#spring
답변 2
댓글 0
조회 330
2년 전 · 황민호 님의 답변 업데이트
커머스 도메인에서는 주문에 대한 동시성을 어떻게 처리하나요?
커머스 도메인에 대해 이해가 부족해 질문 남깁니다! 예를 들어 특정 상품에 재고가 있고, 그 제품에 대한 주문 건이 동시에 수천 건이 동시에 들어왔을 때, 어떻게 처리되나요? 분산 처리 환경이라면 건별로 db에 재고가 업데이트 되는건가요? 그러면 db성능 이슈는 어찌 해결하는지 궁금합니다. 아니면 커머스쪽에서 일반적으로 쓰이는 방법론이 있을까요? 완전 초짜라 두서없는 질문 죄송합니다! 😭
개발자
#server
#concurrent
#database
답변 1
댓글 0
추천해요 2
조회 452