F-Lab
🚀
취업/이직이 고민이신가요? 합격에 필요한 모든 것을 도와드립니다.
🚀
취업/이직이 고민이신가요? 합격에 필요한 모든 것을 도와드립니다.

멘토 Pick! 25년 6월 둘째 주 아티클 모음

writer_thumbnail

F-Lab : 상위 1% 개발자들의 멘토링

안녕하세요 여러분!
이번 주도 카카오 출신 멘토님께서 이번 주에 직접 선정한 아티클을 공유드립니다!

 

멘토's Pick에서 트렌디한 인사이트를 놓치지 마세요! 🚀

 

🤔 들어가기 전에 알아두면 좋습니다!

  • 대부분 아티클은 영문으로 제공됩니다. 영문 글을 읽을 때 크롬 번역 플러그인을 쓰면 읽기가 불편하나, 크롬 플러그인 하나를 설치하면 한국어를 읽듯이 좀 더 쉽게 영어 아티클을 읽을 수 있습니다. Trancy Chrome 플러그인을 설치 후 더 쉽게 읽을 수 있습니다.
  • 아티클을 읽고 어떤 점을 더 고민해 보고, 생각해 보면 좋을지 제시해 주시는 멘토님의 Comment도 잘 활용해 보시면 좋습니다!

 


 

💡 이커머스 플랫폼의 주문 DB 마이그레이션 경험기

  • LINE Plus가 이커머스 플랫폼의 주문 DB를 Oracle에서 MySQL로 전환하며 17개 테이블 조인을 2개로 줄여 조회 성능을 최대 96% 개선한 사례를 공유합니다.
  • JPA 환경에서 Snowflake ID 생성, 정규화/비정규화 테이블 이중 운용, 5단계 무중단 마이그레이션 전략 등 실무에서 부딪힌 문제와 해결책을 상세히 다룹니다.

💌 멘토님의 Comment
: DB 마이그레이션은 실수 하나로 서비스가 중단될 수 있는 위험한 작업입니다. 특히 주문 데이터는 돈과 직결되어 있어서 더욱 신중해야 합니다.

 

Oracle에서 MySQL로의 전환/마이그레이션은 라이선스 비용 문제가 꽤나 큽니다. Oracle은 많은 기능을 제공하고 성능이 좋은 대신 라이선스 비용이 상상 이상으로 비싸기 때문에 다른 DBMS로의 전환은 개발자를 직업으로 삼는다면 한번 쯤 겪을 수 있는 이슈입니다.

 

MySQL은 Oracle과 비교했을 때 성능과 여러 기능상 약점이 존재합니다. 마이그레이션 이후에도 성능을 유지하기 위해서는 성능튜닝이 필요할 것이고, 이 과정에서 어떤 튜닝과정을 거쳤는지 고민을 볼 수 있었습니다 단순히 ID를 어떻게 발급할지부터 반정규화와 JPA연동까지 고민한 경험은 어디 가서 보기 어려운 경험이므로 이 글을 통해 간접적으로 경험해 보시면 좋겠습니다.

 

💡예측 가능한 대규모 서비스 개발하기

  • 당근마켓이 글로벌 서비스를 위해 사용자의 국가 위치를 파악하는 GeoLocation 서비스를 개발하며 겪은 성능 최적화 과정을 공유합니다.
  • 파이썬 프로토타입에서 Go로 전환하고, R-Tree 최적화와 GEOS의 Prepared Geometry를 활용해 CTC API 성능을 66배 향상시킨 실제 사례를 다룹니다.

💌 멘토님의 Comment
: 대규모 서비스에서 성능이 예측 가능하다는 건 정말 중요합니다. "대충 이 정도면 되겠지"가 아니라 "정확히 이만큼 처리할 수 있다"를 알아야 서버 증설 계획도 세울 수 있으니까요.

 

성능 테스트 → 병목 분석 → 개선 → 테스트의 사이클을 여러 번 돌면서 66배 성능 향상을 이끌어 내려면 어떤 과정이 필요할까요? 이런 서비스 예측과 개선은 넓은 CS지식과 경험이 필요한 영역입니다.

 

대규모 서비스 아키텍처를 설계하기 위한 키워드가 어떤 것이 있는지, 어떤 지식이 필요한지 살펴보시면 좋겠습니다.

 

💡안전한 패스워드 저장

  • 웹 서비스에서 패스워드를 안전하게 저장하기 위한 해시 함수의 개념과 한계를 설명하고, SHA-256 같은 단순 해시의 문제점을 지적합니다.
  • 솔팅(Salting)과 키 스트레칭(Key Stretching)을 활용한 PBKDF2, bcrypt, scrypt 등의 Adaptive Key Derivation Function을 소개하며 각각의 특징과 사용 시나리오를 제시합니다

💌 멘토님의 Comment
: 패스워드를 저장할 때 어떻게 저장하시나요? 패스워드 저장시 단방향 암호화를 진행해야 한다는 점은 이제 거의 모든 개발자들이 알고 있습니다. 그렇다면 암호화 방식에 따라 해시화된 패스워드 원문이 유출될 수 있다는 점도 알고 계신가요?

 

MD5나 SHA 계열은 원래 빠른 검색을 위해 만들어진 거라 1초에 56억 개씩 대입할 수 있고, 이로 인해 어떤 문자열을 암호화하면 어떤 해시값이 나오는지 정리해둔 rainbow table이 존재합니다. 즉, 어떤 사이트에서 해커가 암호화된 패스워드를 획득했을 때 이 rainbow table로 평문 패스워드를 획득할 수 있는 구조입니다.

 

패스워드 저장시 어떤 점을 고려해야 하고, 안전하게 보관할 수 있을지 고민해보시면 좋겠습니다. 

 

 

깊이 있는 인사이트와 현실적인 조언이 담긴 멘토님들의 인터뷰와 커리어 성장 콘텐츠가 데브클럽에서 정기적으로 업데이트되고 있습니다.

 

실력 있는 현직 개발자 멘토들과 직접 소통하고, 생생한 실무 노하우와 커리어 성장 전략을 배워보세요!

👉 멘토링 신청하고 데브클럽 참여하기

 

ⓒ F-Lab & Company

이 컨텐츠는 F-Lab의 고유 자산으로 상업적인 목적의 복사 및 배포를 금합니다.

조회수

멘토링 코스 선택하기

  • 코스 이미지
    Java Backend

    아키텍처 설계와 대용량 트래픽 처리 능력을 깊이 있게 기르는 백앤드 개발자 성장 과정

  • 코스 이미지
    Node.js Backend

    아키텍처 설계와 대용량 트래픽 처리 능력을 깊이 있게 기르는 백앤드 개발자 성장 과정

  • 코스 이미지
    Python Backend

    대규모 서비스를 지탱할 수 있는 대체 불가능한 백엔드, 데이터 엔지니어, ML엔지니어의 길을 탐구하는 성장 과정

  • 코스 이미지
    Frontend

    기술과 브라우저를 Deep-Dive 하며 성능과 아키텍처, UX에 능한 개발자로 성장하는 과정

  • 코스 이미지
    iOS

    언어와 프레임워크, 모바일 환경에 대한 탄탄한 이해도를 갖추는 iOS 개발자 성장 과정

  • 코스 이미지
    Android

    아키텍처 설계 능력과 성능 튜닝 능력을 향상시키는 안드로이드 Deep-Dive 과정

  • 코스 이미지
    Flutter

    네이티브와 의존성 관리까지 깊이 있는 크로스 플랫폼 개발자로 성장하는 과정

  • 코스 이미지
    React Native

    네이티브와 의존성 관리까지 깊이 있는 크로스 플랫폼 개발자로 성장하는 과정

  • 코스 이미지
    Devops

    대규모 서비스를 지탱할 수 있는 데브옵스 엔지니어로 성장하는 과정

  • 코스 이미지
    ML Engineering

    머신러닝과 엔지니어링 자체에 대한 탄탄한 이해도를 갖추는 머신러닝 엔지니어 성장 과정

  • 코스 이미지
    Data Engineering

    확장성 있는 데이터 처리 및 수급이 가능하도록 시스템을 설계 하고 운영할 수 있는 능력을 갖추는 데이터 엔지니어 성장 과정

  • 코스 이미지
    Game Server

    대규모 라이브 게임을 운영할 수 있는 처리 능력과 아키텍처 설계 능력을 갖추는 게임 서버 개발자 성장 과정

  • 코스 이미지
    Game Client

    대규모 라이브 게임 그래픽 처리 성능과 게임 자체 성능을 높힐 수 있는 능력을 갖추는 게임 클라이언트 개발자 성장 과정

logo
copyright © F-Lab & Company 2025