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

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

writer_thumbnail

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

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

 

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

 

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

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

 

💡What is Eventual Consistency?

  • Eventual Consistency(최종적 일관성) 개념을 실무 관점에서 설명합니다.

>> 아티클 읽어보러 가기 >>

 

💌 멘토님의 Comment
"우리가 흔히 생각하는 “일관성”은 보통 실시간을 전제로 합니다. 어디서 데이터를 읽든, 지금 이 순간 동일한 값을 볼 수 있어야 한다는 개념이 Strong Consistency의 개념입니다.

 

하지만 모든 시스템이 이걸 보장해야만 하는 건 아닙니다. 특히 분산 시스템이나 글로벌 서비스를 설계할 땐, Strong Consistencty를 보장하기 어렵습니다. DB도 여러개, 서버도 여러개이기 때문에 완벽한 일관성을 보장하려면 너무 많은 락 또는 비용이 발생합니다.

 

그럴 때 나오는 선택지가 바로 Eventual Consistency입니다. 지금 당장은 서로 다른 값을 볼 수 있어도 일정 시간이 지나면 결국 모든 노드가 같은 값을 갖도록 맞춰지는 구조입니다. 대표적인 예가 SNS의 좋아요 수, 메시지 읽음 처리 같은 것들입니다.

 

현재 개발 중인 기능 중에서 실시간 동기화가 반드시 필요한지, 아니면 약간의 지연이 허용되는지 판단할 수 있다면 복잡도와 비용 면에서 훨씬 유연한 선택이 가능해질 수 있습니다.

 

지금 만들고 있는 시스템의 데이터는 정말 ‘즉시’ 일관성이 필요할까요? 아니면 수 초 뒤에 맞춰져도 괜찮은 구조일까요? 대부분의 시스템은 즉시 일관성이 확보되지 않아도 큰 이슈가 없는 경우가 종종 있습니다. 

 

최종적 일관성을 선택한다면 분산시스템으로의 설계가 가능해지고, 확장 가능한 서비스 아키텍처를 구축할 수 있으므로 이런 전략이 있다는걸 학습하고 아키텍처 설계시 하나의 선택지로 가져갈 수 있다면 좋겠습니다."


💡Java Generics PECS – Producer Extends Consumer Super

  • 이 글은 Java 제네릭에서 자주 혼동되는 extends와 super 사용법을 정리합니다.
  • 공변/반공변에 대한 개념을 잡을 수 있게 도와줍니다.

>> 아티클 읽어보러 가기 >>

 

💌 멘토님의 Comment
"자바에서 제네릭을 쓰다 보면 <? extends T>랑 <? super T> 중에 뭘 써야 할지 헷갈릴 때가 많습니다. 문법은 알고 있는데 막상 코드에선 손이 잘 안 가죠.

 

자바에서 List<? extends Animal>은 공변(covariant)입니다. List<Dog>나 List<Cat>도 받아들일 수 있지만 그 안에 뭘 추가할 수는 없습니다. Dog인지 Cat인지 모르기 때문이죠. 그래서 이런 리스트는 읽기 전용, 즉 producer로만 써야 안전합니다.

 

반대로 List<? super Dog>는 반공변(contravariant입니다. List<Dog>, List<Animal>, List<Object>에 Dog 객체를 넣는 건 괜찮지만 꺼낸 값을 정확히 어떤 타입인지 모르기 때문에 읽기는 제한적입니다. 그래서 이런 리스트는 쓰기 전용, 즉 consumer로만 쓰는 게 맞습니다.

 

이걸 모르고 그냥 ?만 써두면 결국 IDE에 의존하거나 타입캐스팅으로 넘어가게 되고 제네릭이 주는 타입 안정성을 잘 사용하기 어렵습니다."

 

 

💡Some features that every JavaScript developer should know in 2025

  • 2025년 javascript에 추가되는 여러 기능에 대해 소개합니다.
  • Temporal, Record & Tuple, await import(), Set methods 등 기존 문법을 넘어선 언어 차원의 변화들을 정리해두었습니다.

>> 아티클 읽어보러 가기 >>

 

💌 멘토님의 Comment
"2025년에는 javascript언어에 어떤 업데이트가 있었을까요? 

 

Temporal로 날짜 다루는 방식이 바뀌고, Record와 Tuple로 구조체처럼 불변 객체를 표현할 수 있게 되며 await import()처럼 모듈도 동적으로 불러올 수 있게 됩니다. 이전에도 모두 라이브러리형태로 지원되었던 기능이나 이제 라이브러리 없이도 기본 언어레벨로 지원하기 위한 업데이트로 보입니다.

 

사용하기 어렵고 예측하기 힘들었던 JS가 점점 더 명시적이고 타입 안전한 방향으로 발전하고 있다는 흐름을 보여줍니다. 새로운 기능들을 꼭 당장 써보지 않더라도 "이런 방향으로 언어가 바뀌고 있다"는 감각을 가져두면 실제로 설계를 하거나 라이브러리 선택할 때 좀 더 지금의 문법에 맞는 판단을 할 수 있습니다.

 

다만 라이브러리로 지원하여 쉽게 쓸 수 있던 기능이 아직은 사용하기 약간 어렵거나 불편한 부분들도 눈에 띄는 부분이 있습니다. 추후 업데이트를 통해 개선될 여지가 있으므로 JS 개발자라면 업데이트 트랜드를 따라갈 필요가 있어보입니다."

 

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

 

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

 

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

ⓒ F-Lab & Company

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

조회수

지금 진행중인 멘토링 코스

궁금한 포지션을 알아보세요

  • 코스 이미지자바 백엔드

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

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지노드 백엔드

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

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지파이썬 백엔드

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

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지MSA 백엔드

    MSA를 겉핥기로 사용만 해보는 것이 아니라 깊게 이해하고 활용할 수 있는 개발자로 성장

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지프론트엔드

    언어와 프레임워크, 브라우저에 대해 탄탄한 이해도를 깊이있게 기르는 성장 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지안드로이드

    아키텍처 설계 능력과 성능에 대한 경험을 갖추기 위해 깊이있게 학습하는 성장 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지iOS

    아키텍처 설계 능력과 성능에 대한 경험을 갖추기 위해 깊이있게 학습하는 성장 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지플러터

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

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지리액트 네이티브

    아키텍처 설계 능력과 성능에 대한 경험을 갖추기 위해 깊이있게 학습하는 성장 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지데브옵스

    단순 시스템 관리자가 아닌, 대규모 환경에서 인프라를 운영할 수 있는 엔지니어로 성장

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지데이터 엔지니어

    대규모 데이터를 다룰 수 있는 고급 데이터 엔지니어로 성장하는 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지머신러닝 엔지니어

    ML 모델을 개발하고, 대규모 환경에서 서빙할 수 있는 고급 ML엔지니어로 성장

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지게임서버

    고성능 게임 서버를 구축할 수 있는 개발자로 성장할 수 있는 코스

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지게임 클라이언트

    대규모 고성능 게임을 만들어낼 수 있는 고급 C++ 게임 엔지니어로 성장하는 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지해외취업

    막연한 해외 취업의 꿈을 해외 재직 중인 빅테크 출신 개발자와 현실로 만드는 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
F-Lab
소개채용멘토 지원
facebook
linkedIn
youtube
instagram
logo
(주)에프랩앤컴퍼니 | 사업자등록번호 : 534-85-01979 | 대표자명 : 박중수 | 전화번호 : 1600-8776 | 제휴 문의 : info@f-lab.kr | 주소 : 서울특별시 종로구 돈화문로88-1, 3층 301호 | copyright © F-Lab & Company 2025