본문으로 이동
그럼에도 불구하고 Elixir: 카카오워크 서버팀의 Elixir 실용주의 프로그래밍 / if(kakao)2022
컨퍼런스

그럼에도 불구하고 Elixir: 카카오워크 서버팀의 Elixir 실용주의 프로그래밍 / if(kakao)2022

if kakao 카카오 · YouTube

원문 보기

AI 핵심 요약

카카오워크 서버팀은 Elixir 도입 과정에서 개발자 채용·훈련의 어려움과 Erlang VM의 컨테이너 운영 노하우 및 레퍼런스 부족을 겪었지만, 생산성과 유지보수성을 높이는 실용주의적 특성 때문에 계속 사용해 왔다. 패턴 매칭과 파이프라인으로 데이터 변환 중심의 코드를 구성하고, 매크로로 직관적인 선언형 문법을 제공해 로직을 이해하고 변경하기 쉽게 만들었다. 또 액터 모델의 격리된 프로세스와 감독자 기반 재시작으로 오류를 격리·복구하는 ‘Let it crash’ 방식을 설명했으며, ExUnit·IEx·Livebook 같은 도구도 개발과 학습에 활용했다. 핵심 교훈은 완벽한 방어 코드보다 단순한 구조와 복구 전략을 통해 지속 가능한 소프트웨어를 만드는 것이 실용적이라는 점이다.

  • 패턴 매칭으로 데이터 형태에 따라 흐름을 나누면 클래스 계층을 늘리지 않고도 다양한 처리를 표현할 수 있다.
  • 작은 변환 함수를 파이프라인으로 연결하면 비즈니스 로직을 읽기 쉽고 변경하기 쉬운 구조로 만들 수 있다.
  • 매크로는 도메인에 맞는 선언형 문법과 컴파일 타임 최적화를 가능하게 하지만, 남용하면 코드 이해를 어렵게 할 수 있다.
  • 프로세스를 격리하고 감독자(supervisor)가 재시작하도록 설계하면 개별 오류가 전체 시스템 장애로 번지는 것을 줄일 수 있다.
  • ExUnit, IEx, Livebook을 테스트·탐색·프로토타이핑과 온보딩에 활용해 개발 흐름을 빠르게 만들 수 있다.

소개

이번 세션에는 카카오워크 서버 개발에 주로 사용하는 함수형 언어 엘릭서에 대해 소개해 드리고 여러 어려움에도 불구하고 저희가 엘릭서를 계속 사용하도록 이끌어준, 엘릭서의 실용주의적 특징들을 자세히 소개해드리도록 하겠습니다. #함수형프로그래밍 #DeveloperExperience 카카오엔터프라이즈에서 카카오워크 서버를 개발하는 walter 입니다. 실용주의를 추구하고 암벽을 오릅니다. 카카오엔터프라이즈에서 카카오워크 서버를 개발하는 woogie 입니다. 재미있는 개발을 추구합니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-38 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022 #Elixir #함수형프로그래밍 #DeveloperExper...

비슷한 학습 자료

컨퍼런스 if kakao

기존에 C++로 개발된 카카오워크의 대량 트래픽 메시징 엔진을 Rust 기반으로 리팩토링 및 고도화한 사례를 다룹니다. Rust의 장점을 활용하여 메모리 안전성을 확보하고 성능을 개선했던 방법을 공유하며, 기 제공중인 서비스와의 안정적인 교체 사례도 함께 소개합니다. #RUST #메신저 KakaoWork 메시징 서버 개발하고 있는 Robby입니다. 발표자료 보기 👉 https://speakerdeck.com/kakao/ifkakao24-68 if(kakaoAI)2024에 대한 자세한 정보는 👉 https://if.kakao.com #카카오 #이프카카오 #개발자컨퍼런스 #AI #기술 #개발 #ifkakaoAI2024

백엔드 프로그래밍 언어

컨퍼런스 if kakao

JVM warm up / if(kakao)2022

컨퍼런스 if kakao

Java 어플리케이션은 시작과정에서 성능을 보장하기 위한 warm up 과정이 필요합니다. 이 세션에서는 JVM warm up이 성능에 어떻게 도움이 되는지 그리고 이와 관련된 jit comipler의 내부 절차를 소개합니다. 또한 카카오 T 계정 서버를 배포하는 과정에서 발생한 초기 응답 지연 문제를 어떻게 해결하였는지를 함께 말씀드리려고 합니다. #성능 카카오모빌리티에서 백엔드엔지니어 역할을 맡고 있는 그렉입니다. 저는 주로 Python으로 개발하는 것을 좋아하는데요, 최근에는 Java를 활용한 백엔드 개발과 React를 활용한 프론트엔드 개발에도 관심이 많습니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-35 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기...

백엔드 프로그래밍 언어

컨퍼런스 if kakao

본 세션에서는 카카오 T 대리 서비스에서 소켓 통신을 담당하는 커넥션 서버를 왜 새롭게 개발하게 되었는지 말씀드리고, 새롭게 개발한 커넥션 서버의 설계와 그 구현 방법에 대해서 소개하겠습니다. 그리고 개발 과정에서 마주했던 문제들과 그 해결책들을 공유드리겠습니다. #NetworkSocket 카카오모빌리티에서 카카오 T 대리 서비스의 백엔드 개발을 맡고 있는 제이입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-34 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

백엔드 네트워크

컨퍼런스 if kakao

10년간 카카오톡 메시지 릴레이를 책임져온 C++ 기반 서버를 JVM 기반 언어(JAVA 및 Kotlin)로 포팅하는 이야기를 합니다. 위 프로젝트를 진행하게 된 계기를 소프트웨어 엔지니어링 측면으로 설명하고, 현재까지 진척 상황에 대한 이야기를 공유합니다. #카카오톡 카카오톡 메시징 시스템을 개발 및 운영하는 시리우스 입니다. 발표자료 보기 👉https://speakerdeck.com/kakao/ifkakao22-28 if(kakao)2022에 대한 자세한 정보는 👉 https://if.kakao.com if(kakao)2022에 대한 문의는 👉 if@kakaocorp.com #카카오 #이프카카오 #개발자컨퍼런스 #기술 #개발 #ifkakao2022

백엔드 프로그래밍 언어

컨퍼런스 if kakao

Preview Web+Mobile @if(kakao)2021

컨퍼런스 if kakao

if (kakao) 2021 컨퍼런스에서 Data 관련 기술 발표 세션을 소개합니다. 1. 이게 진짜 일 리 없어 : 초보 리더가 프로젝트에서 마주치는 어려운 상황들 @effie.seo 올해 6월에 카카오맵 매장관리 서비스를 오픈했습니다. 매장관리 프로젝트 진행 과정을 통해서 카카오맵 FrontEnd 개발자들은 어떻게 협업하는지, 프로젝트에서 마주쳤던 상황들을 대처 하기 위해서 초보 리더인 제가 동료들과 함께 고민하고 시도했던 과정에 대해서 공유해보고자 합니다 2. Next.js와 Typescript를 이용한 프론트엔드 개발기 @jaden.js @luffy.yeon Next.js를 사용한 서버사이드 랜더링, Next.js 환경 Typescript 포팅을 하며 겪은 경험 공유 3. 톡패스워드 크롬 익스텐션 개발기 @felix.lee 입사 후 처음으로 혼자 프로젝트를 설계하면서 고민했던 구조선택과 고민거리에 대한 공유 4. UI 테스트 경험기 @jay.choi 리팩토링에 대한...

프론트엔드 소프트웨어 테스트 애자일 · 협업

컨퍼런스 if kakao

Preview General @if(kakao)2021

컨퍼런스 if kakao

if (kakao) 2021 컨퍼런스에서 기술 관련 General한 발표 세션을 소개합니다. 1. 카카오맵 자전거 내비게이션을 만드는 과정 @kris.shin @rock.rakmin @wade.lim 자전거 내비게이션을 만들게 된 계기와 구현 과정에서 해결해야 했던 과제들 그리고 향후 로드맵에 대해 소개 합니다. 2. 카카오오픈소스팀 이야기 : 오픈소스 관리 OLIVE Platform 개발 사례 공유 @robin.hwang 카카오의 오픈소스 사용 현황, 오픈소스 관리 방법을 공개합니다. 그리고 오픈소스 관리 서비스 Olive Platform 개발 사례 공유를 통해 전반적으로 어떤 오픈소스가 어떻게 사용하고 있는지에 대한 내용들을 공유합니다. 3. 지라 쓰는게 애자일 아니라고 했어 안했어?! @bella.coach 어떻게 하면 회사에서 우리가 함께 영향력 있는 결과를 만들어낼 수 있는지에 관한 이야기 4. 이 멋진 코드에 컨벤션을! : 2달간의 컨벤션 구축 여정 조직 내 ...

개발 도구 애자일 · 협업