처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.03.27 33

Elixir와 Phoenix로 블로그를 만들어보니 — 함수형 웹 개발의 색다른 경험

Hacker News 원문 보기
Elixir와 Phoenix로 블로그를 만들어보니 — 함수형 웹 개발의 색다른 경험

왜 하필 Elixir와 Phoenix로 블로그를?

블로그를 만드는 방법은 수없이 많죠. Next.js, Hugo, Jekyll, WordPress... 선택지가 넘치는 시대에 한 개발자가 ElixirPhoenix 프레임워크로 블로그를 직접 만든 이야기를 공유했어요. "블로그 만들기"라는 익숙한 주제이지만, Elixir라는 언어의 특성 때문에 접근 방식이 꽤 다르거든요. 함수형 프로그래밍과 Erlang VM 위에서 돌아가는 웹 프레임워크가 어떤 느낌인지 궁금하다면 이 이야기가 좋은 참고가 될 거예요.

Elixir와 Phoenix, 이게 뭐냐면

Elixir는 José Valim이 2012년에 만든 함수형 프로그래밍 언어예요. 재미있는 건 이 언어가 Erlang VM(BEAM) 위에서 돌아간다는 점인데요. Erlang은 1980년대에 에릭슨이 전화 교환 시스템을 위해 만든 언어로, "절대 멈추면 안 되는 시스템"을 위해 설계됐어요. 그래서 동시성(여러 작업을 동시에 처리하는 것)과 장애 허용(일부가 고장 나도 전체가 안 죽는 것)에 엄청나게 강하죠. Elixir는 이 Erlang의 강력한 런타임을 가져오면서, 문법은 Ruby처럼 읽기 편하게 만든 언어예요.

Phoenix는 Elixir의 대표적인 웹 프레임워크예요. Ruby의 Rails, Python의 Django와 비슷한 위치인데, Elixir의 동시성 모델 덕분에 실시간 기능에서 압도적인 성능을 보여요. Phoenix의 LiveView라는 기능이 특히 독특한데, 서버에서 HTML을 렌더링하면서도 SPA(Single Page Application)처럼 실시간 인터랙션을 제공해요. JavaScript를 거의 안 쓰고도 실시간 UI를 만들 수 있다는 게 핵심이죠.

블로그 구축 과정에서 배우는 것들

이 블로그 프로젝트에서 눈여겨볼 점이 몇 가지 있어요.

먼저 마크다운 파일을 빌드 타임에 파싱하는 방식이에요. 데이터베이스를 쓰지 않고 마크다운 파일을 소스 코드처럼 프로젝트에 포함시킨 다음, 컴파일할 때 이 파일들을 파싱해서 Elixir의 데이터 구조로 변환하는 거예요. Hugo나 Jekyll 같은 정적 사이트 생성기와 비슷한 개념이지만, Phoenix 앱 안에서 이루어지기 때문에 동적 기능도 함께 쓸 수 있다는 차이가 있죠.

Elixir에서는 NimblePublisher라는 라이브러리가 이 패턴을 잘 지원해요. 마크다운 파일에 프론트매터(제목, 날짜, 태그 같은 메타데이터)를 넣으면 이걸 자동으로 파싱해서 구조체(struct)로 만들어줘요. 컴파일 타임에 처리되니까 런타임 성능에 영향이 없고, 블로그 글을 추가할 때 마크다운 파일 하나만 넣으면 되니까 워크플로가 깔끔해요.

또 하나 재미있는 건 패턴 매칭을 활용한 라우팅이에요. Elixir는 함수형 언어라서 패턴 매칭이 기본 기능인데, Phoenix에서 컨트롤러를 작성할 때 이게 자연스럽게 녹아들어요. 예를 들어 특정 조건에 맞는 요청만 처리하는 함수를 패턴 매칭으로 깔끔하게 분기할 수 있죠. if-else 지옥 대신 각 케이스별로 별도의 함수 절(clause)을 만드는 방식이라 코드가 읽기 편해요.

Phoenix vs 다른 프레임워크들

블로그라는 같은 주제로 비교해 보면 재미있어요.

Next.js로 블로그를 만들면 React 생태계의 풍부한 컴포넌트를 쓸 수 있고, Vercel에 한 번에 배포할 수 있죠. 하지만 JavaScript/TypeScript 빌드 툴체인의 복잡함을 감수해야 해요. HugoJekyll은 정적 사이트 생성기라서 빠르고 단순하지만, 동적 기능(댓글, 검색, 실시간 기능)을 넣으려면 외부 서비스에 의존해야 해요.

Phoenix의 강점은 "풀스택이면서도 가벼운" 느낌이에요. 데이터베이스 연동(Ecto라는 훌륭한 쿼리 빌더가 있어요), 실시간 기능(LiveView), 서버 렌더링이 하나의 프레임워크 안에서 일관되게 제공되거든요. 블로그 정도에는 좀 과한 구성일 수 있지만, 나중에 기능을 확장하고 싶을 때 별도 서비스를 붙이지 않아도 된다는 장점이 있어요.

다만 생태계 크기에서는 확실히 차이가 나요. npm에는 수십만 개의 패키지가 있지만 Hex(Elixir의 패키지 매니저)는 상대적으로 작아요. 한국어 자료도 많지 않고요. 그래서 "생산성"만 따지면 익숙한 스택이 유리할 수 있지만, "학습"의 관점에서는 완전히 다른 패러다임을 경험해 볼 수 있어요.

한국 개발자에게 주는 시사점

솔직히 한국에서 Elixir를 프로덕션에 쓰는 곳은 아직 많지 않아요. 하지만 이 언어와 프레임워크를 배워볼 가치가 있는 이유가 있어요.

함수형 프로그래밍의 사고방식을 배울 수 있어요. 불변 데이터, 패턴 매칭, 파이프 연산자 같은 개념은 Elixir를 통해 배우면 다른 언어에서도 더 나은 코드를 짤 수 있게 도와줘요. 요즘 JavaScript, Python, Java 등 주류 언어들도 함수형 프로그래밍 기능을 점점 더 도입하고 있거든요.

동시성 모델이 독특하고 강력해요. Elixir의 프로세스 모델(Erlang의 액터 모델 기반)은 Go의 고루틴이나 Java의 가상 스레드와는 또 다른 접근이에요. 수백만 개의 경량 프로세스를 띄울 수 있고, 프로세스 하나가 죽어도 나머지에 영향이 없어요. 이 개념을 이해하면 분산 시스템 설계에 대한 시야가 넓어져요.

사이드 프로젝트로 시작해 보기 좋아요. 블로그처럼 작은 프로젝트를 Elixir로 만들어보면, 새로운 언어 패러다임을 부담 없이 경험할 수 있어요. Phoenix의 mix phx.new 한 줄이면 프로젝트 스캐폴딩이 끝나고, mix phx.server로 바로 개발 서버가 뜨거든요.

한줄 정리

블로그 하나 만드는 과정이지만, Elixir와 Phoenix를 통해 함수형 프로그래밍과 BEAM VM의 독특한 세계를 맛볼 수 있는 좋은 입문 코스예요.

여러분은 새로운 언어를 배울 때 어떤 프로젝트로 시작하시나요? 혹시 Elixir를 써보신 분이 있다면, 다른 언어와 비교했을 때 어떤 점이 가장 인상적이었는지 궁금해요!


🔗 출처: Hacker News

이 뉴스가 유용했나요?

이 기술을 직접 배워보세요

워드프레스로 수익 사이트를 만들어보세요

워드프레스 실전 강의에서 직접 배울 수 있습니다.

워드프레스 강의 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.