Skip to content
programming languages for all
GitHub

Elixir

IO.puts("Hello, World!")
defmodule Factorial do
  def of(n) do
    case n do
      0 -> 1
      1 -> 1
      n -> n * of(n - 1)
    end
  end
end

IO.puts("enter a number:")

number = case Integer.parse(IO.read(:stdio, :line)) do
    :error -> raise "Invalid input. Please enter a valid non-negative integer."
    {n, _} when n < 0 -> raise "Invalid input. Please enter a non-negative integer."
    {n, _} -> n
end

IO.puts(Factorial.of(number))

공식 문서

The Elixir programming languageElixir is a dynamic, functional language for building scalable and maintainable applications.

엘릭서를 쓰는 곳

Discord

Pinterest

Elixir가 Pinterest의 서버 비용을 년간 $2M(26억원) 절감200개의 파이썬 서버에서 실행되던 시스템중 하나가 이제 4대의 Elixir 서버에서 실행

fly.io 클라우드 인프라

한국 축산 데이터

liftIO 2022 : 웹 개발의 모순과 Elixir가 특효약인 이유 - 한국축산데이터 CTO Max(이재철)현재 유행하는 frontend, backend 언어들과 아키텍쳐를 돌아보고, 기술 발전 과정에서 어떤 비효율성이 뿌리 박히게 됐는지 검토합니다. 그리고 Elixir가 어떻게 그 문제들을 해결할수 있는지에 대해서 논의합니다.

설치하기

Installing ElixirThe quickest way to install Elixir is through a distribution or using one of the available installers.

튜토리얼

사이트

Learn elixir in 15 Minutes# Single line comments start with a number symbol.
공식 Guides - The Elixir programming languageIn this tutorial, we are going to teach you about Elixir fundamentals - the language syntax, how to define modules, how to manipulate the characteristics of common data structures, and more.
Exercism elixir 트랙Elixir, initially released in 2012, extends upon the already robust features of Erlang while also being easier for beginners to access, read, test, and write.
Elixir School 한국어 번역Elixir는 환상적인 언어 입니다만, 저희가 하는 말만 들으실 게 아니라 여러분과 여러분의 조직이 Elixir를 도입해야 하는 몇 가지 이유를 직접 살펴보세요.
Elixir KoansElixir koans is a fun way to get started with the elixir programming language.

Elixir in Action, Second EditionRevised and updated for Elixir 1.7, Elixir in Action, Second Edition teaches you how to apply Elixir to practical problems associated with scalability, fault tolerance, and high availability.
Joy of ElixirHello! Joy of Elixir is a gentle introduction to programming, aimed at people who already know some things about computers, but who have little-to-no programming experience.

에디터, LSP

편리한 자동완성과 정적 분석 외에도 더 많은 걸 제공합니다!

Next LSThe language server for Elixir that just works. Ready for early adopters!

VS Code

elixir-toolsElixir extension with support for Next LS and Credo Language Server

빌드 도구 mix

엘릭서는 공식적으로 빌드, 패키지 매니저, 테스트, 리플, 포매터 등의 도구를 제공합니다.

MixMix is a build tool that provides tasks for creating, compiling, and testing Elixir projects, managing its dependencies, and more.

패키지 매니저 hex

HexThe package manager for the Erlang ecosystem

테스트 ExUnit

동적 언어에는 test가 필요하죠.

ExUnitUnit testing framework for Elixir.
defmodule ExampleTest do
  use ExUnit.Case
  doctest Example

  test "greets the world" do
    assert Example.hello() == :world
  end
end

리플 iex

IExElixir's interactive shell.
엘릭서 스쿨 - IEx HelpersElixir를 사용하기 시작하면 IEx는 가장 좋은 친구가 되어 줍니다. IEx는 REPL이며, 새로운 코드를 확인하거나, 개발을 진행할 때 이를 쉽게 만들어주는 많은 고급 기능을 가지고 있습니다.

포매터 mix format

mix formatFormats the given files and patterns.

린트

GitHub - rrrene/credoA static code analysis tool for the Elixir language with a focus on code consistency and teaching.