Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Writing Command Line Applications in Elixir
Search
James Smith
July 25, 2014
Programming
1.6k
7
Share
Writing Command Line Applications in Elixir
Using Elixir to solve small problems.
James Smith
July 25, 2014
Other Decks in Programming
See All in Programming
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
290
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
1
950
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
4
510
Migrations : C'est une question d'hygiène !
vinceamstoutz
0
1k
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
1
440
次世代リンターで探る、tsgo 時代における型認識カスタムルールの現実解
ytakahashii
1
790
AI Agent と正しく分析するための環境作り
yoshyum
2
570
実践ハーネスエンジニアリング:ステアリングループを実例から読み解く / Practical Harness Engineering: Understanding Steering Loops Through Real-World Examples
nrslib
6
6.1k
リセットCSSを1行消したらアクセシビリティが向上した話
pvcresin
4
530
Cloudflare で始める Data Platform
ta93abe
0
210
SkillsをS3 Filesに置く時のあれこれ
watany
4
1.7k
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
200
Featured
See All Featured
Ethics towards AI in product and experience design
skipperchong
2
280
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Speed Design
sergeychernyshev
33
1.7k
Visualization
eitanlees
151
17k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
930
The Cost Of JavaScript in 2023
addyosmani
55
9.9k
Raft: Consensus for Rubyists
vanstee
141
7.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Building an army of robots
kneath
306
46k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
200
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
54k
Transcript
HELLO SEND(AUDIENCE, {:GREETING, “HELLO!”})
None
None
–interested programmer “I'd love to check out Elixir but I
don't really have a problem that is big enough that Elixir is well suited for.”
None
MASSIVELY CONCURRENT DISTRIBUTED FAULT TOLERANT WEB SCALE FUNCTIONAL
PIPES |> PATTERN MATCHING |> MESSAGE PASSING |> IMMUTABILITY |>
=> {:OK, “ ☺”} ELIXIR OFFERS A DIFFERENT WAY TO THINK ABOUT AND SOLVE PROBLEMS OF ANY SIZE. !
None
WRITING COMMANDLINE APPS WITH ELIXIR
None
None
MIX
DEPENDENCIES Hex package Git/SCM Path Dependency tasks mix deps: “lists
all deps and their status” mix deps.get “Get non installed dependencies” mix deps.compile mix deps.update mix deps.clean “Remove all dependency files” mix deps.unlock “Unlock dependencies”
None
UMBRELLA PROJECTS • Run tasks across apps • Run all
your tests for apps in app_path • Run Applications in dependent order…
MIX TASKS
RUNNING OUR APPS MIX ESCRIPT.BUILD
None
None
None
BASIC IO
TESTING IO
IO.ANSI • escape_fragment(string, emit \\ terminal()) • “%{clear, home, green,
bright} Welcome” • IO.red() IO.green() etc… • home() send the cursor home
FILES AND PATHS • File.open • File.close • File.read •
binread/write utf8 and IO module • File.read vs File.read! • Path.join and Path.expand • Path.wildcard
PORT
BASIC USAGE
DEMO
SCALING UP COMMAND LINE APPS WITH TASKS & AGENTS
TASKS
AGENTS a simple abstraction around state
DEMO DEMO
THANK YOU