목록전체 글 (14)
생존형 개발자
글로벌 C2C 서비스 개발자로서 나는 이 서비스를 1년 동안 POC -> MVP -> 정식 오픈이라는 단계를 거쳐 개발했다.그 과정에서 판매자들이 이상한 이미지를 업로드하는 것에 대한 우려가 내부에서 나왔지만, 상품이 얼마나 올라올지 모르는 상황이기 때문에 우리의 상품성을 검증하는 것이 우선이어서 Known Issue 처리 후 서비스 오픈을 위해 달려갔다. 문제 상황정식 오픈까지 완료되었고, 상품에 대한 검증도 됐다.그 과정에서 가끔 앱에 들어가서 이상한 이미지를 보거나 혹은 유저가 신고하면 그 때서야 상품을 미노출 처리했었는데, 결국 올리는 상품 수가 많아지며 이 문제를 깊게 고민해볼 때가 됐다고 느껴졌다. 또한 이미지 이슈도 초기보다 확실히 많이 늘었다.운영 담당자의 부하가 자연스레 늘어났고, 이 ..
첫 번째로 하게 된 것은 PLP 실시간 재고 정합성 문제 해결이다.PLP: Product Listing Page의 약자로, 상품 목록 페이지라는 의미를 가짐현재 회사 프로덕트의 리스팅 페이지의 경우 아래와 같은 형태로 유저에게 노출되고 있다.최초 진입 시에는 DB에서 실시간 데이터를 가져온다.해당 데이터를 일정 기간동안 캐시에 저장TTL 끝나면 다시 실시간 데이터 호출 및 캐시 저장 문제 상황다만 여기서 문제가 하나 있는데, 캐시에 한 번 저장되면 그 데이터를 그대로 리턴해주기 때문에 실시간 재고 상태를 반영해주지 못 한다.Ex. 캐시 TTL이 살아있는동안 특정 상품이 판매되었다면, DB의 상태가 바뀐 것이지 캐시 데이터가 바뀐게 아니어서 PLP에는 판매중으로 노출되지만, PDP 진입하면 판매완료 상품이..
문제가 있을때 고민도 하고, 팀원에게 물어보기도 하고, AI와 대화도 하는 등 여러 방법을 통해 해결하고 있는데, 이번엔 스스로에게 질문을 했다. 현재 내가 속한 조직에서 가장 필요로 하는 게 뭘까? 나는 기능조직에선 백엔드 개발팀, 목적조직에선 신사업팀이었고, 목적조직 업무로는 올 한해동안 POC - MVP - 정식 오픈 단계로 서비스를 개발했다.어느 스타트업이나 그랬듯이 선 배포 - 후 유저반응을 통해 계속 방향성도 바꿔 나아가며 개발하는 일이 잦았다.그에 따라 해결은 나중으로 미루는 일들이 생겼고, 해당 업무들은 Jira 백로그로 기록해놔서 Jira를 보며 아래 기준에 맞게 정하게 되었다.설계운영제품커뮤니케이션팀 문화기능조직 팀 문화 개선첫 시작은 데이터 위주의 임팩트를 나타낼 수 있는 척도의 일이..
5년차 백엔드 개발자를 향해 가고 있는 지금, 나는 3년차 때 지금 회사로 이직을 했고 회사의 신사업 개발 담당을 맡아 1년동안의 결실이 얼마 전 나왔다. 5년차 개발자로서 고민이 많을 시점, 팀원의 추천으로 토스 러너스하이에 대해 알게 되었고, 1기 후기 블로그를 봤을 때 다른 분들과 네트워크를 맺으면서 개발 이야기를 심도 있게 할 수 있을 것 같은 기회라고 확신하게 되었다. 거기에 실무에 적용함으로써 이력서 한 줄도 채울 수 있고, 얻는 것 밖에 없을 좋은 기회라고 생각했다.사실 이직 후 1년 내내 신사업 개발한 게 정말 얼마 전 나와서 이력서를 쓰면서도 확신이 없었는데, 다행히 붙었다. 잊고 있던 블로그도 다시 천천히 시작하는 계기가 되었으면 좋겠다.
링크 하루 트래픽이 5배 이상 늘어난 날, 서버 개발팀의 대응 기록 후기 개발자라는 꿈을 갖게 되면서 내가 회사에 들어가면 가장 해보고 싶었던 것 중 하나는 팀 개발 블로그 작성이었다. 특히, 취업준비하며 여러 회사의 블로그를 보고 회사들의 개발문화도 볼 수 있었고 블로그가 회사 어필에 도움이 된다고 생각해서 좋은 주제로 써보고 싶었다. 또한 트래픽 증가 대응은 누구나 할 수 없는 귀중한 경험이기 때문에 나의 경험을 공유하고자, 그리고 우리 회사는 대응 능력을 갖춰 유저들이 서비스 이용에 큰 문제없게 할 수 있다는 걸 알리고 싶었다. 그리고 이번 블로그를 쓰며 라인의 신년 트래픽 대응, 네이버의 트래픽 급증 대응, 인프런 장애 회고 등을 봤는데 어느정도 인프라와 시스템을 갖춘 빅테크가 아닌 소규모 스타트..
values를 이용해 annotate 조금 더 이해하고 쓰기 포스팅 계기 어제 파이콘에서 SQL원리를 알고 쓰는 aggregate와 annotate 세션 시간이 있었는데(정확한 제목 기억 안남), 그 때 "내가 이걸 쓰고 있지만 이걸 조금 더 최적화에서 쓸 수 있었구나!" 라는 걸 느끼게 한 세션이었습니다.그래서 이번에 포스팅으로 남겨, 다른 사람에게 도움이 되었으면 좋겠고 나부터 최적화된 SQL쿼리를 만들기 위해 지금보다 더 생각하며 코드를 작성해야겠다고 생각했습니다. annotate() 제 개인적으론 Group By부터 ORM으로 구현하기 까다롭다고 생각하는 레벨이라 이 부분 특히 한 번 더 포스팅하면 좋겠다고 생각이 들었습니다.예를 들어, 10개의 영화가 있고 10개의 영화에 대한 댓글이 총 800..
AWS IAM 사용자 추가 및 MFA 설정 회사에서 AWS 관련 업무를 하려면 제 회사 AWS 계정을 추가하여 권한을 줘야 합니다.그래서 오늘 AWS IAM을 통해 신규 입사자가 왔을 때, 어떻게 추가해주면 되는지 설정해보겠습니다.모든 출처는 AWS IAM 공식 문서입니다. AWS IAMIAM이란 Identify and Access Management의 약자로, 리소스를 사용할 수 있도록 인증 및 권한 부여된 대상을 제어할 수 있습니다.AWS 계정 생성 시 모든 리소스와 서비스에 접근 가능한 루트 사용자가 있으며, 일상적인 사용 시 루트 사용자 사용을 권장하지 않고 있습니다. 그래서 이렇게 그룹을 나누어 역할에 맞는 권한을 부여할 수 있도록 하는 것이 사용 이유 중 하나입니다. 관리자 IAM 사용자 및 ..
2022년 상반기 회고 우선, 작년 연말에 개발자가 된 계기를 Velog에 썼는데, 이 사람은 왜 개발자가 되고 싶었을까 하고 궁금하시면 여기에서 볼 수 있습니다! 그리고, 작년 6월 30일부로 이전 직장을 그만두고 나왔는데, 개발자가 되고 싶다고 꿈꾼건 2월이었습니다. 그 과정들이 궁금하시다면 여기에서 보실 수 있습니다! 이 아래부터는 말투가 반말체...로 작성되었습니다 시작 작년 극 연말에 위코드 동기 형이 위코드에서 사용하는 건물인 선릉 위워크타워에 입주한 어떤 기업에 면접이 있다고 했었다. 나는 당시 위코드와 제휴맺은 셰어하우스(교대 인근)에 살고 있었는데, 계약이 12월까지였다. 그래서 오랜만에 얼굴도 보고 멘토님과 매니저님께 감사인사 드릴겸 위워크 타워에 방문했었다. 당시 나는 몇 군데 붙은 ..