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
上から見るか下から見るか.pdf
Search
Junnichi Kitta
September 29, 2019
0
1.1k
上から見るか下から見るか.pdf
Junnichi Kitta
September 29, 2019
Tweet
Share
More Decks by Junnichi Kitta
See All by Junnichi Kitta
SREってなんだろう
hayabusa333
0
220
ポストモーテムから振り返る
hayabusa333
0
180
Elixirでやってきたこと
hayabusa333
0
1.6k
APIサーバとしてのCowboy
hayabusa333
1
1.3k
CowboyとPhoenixの速度比較
hayabusa333
1
1.8k
E言語スタック
hayabusa333
0
560
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
8
550
4 Signs Your Business is Dying
shpigford
184
22k
How to Ace a Technical Interview
jacobian
278
23k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
760
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Rails Girls Zürich Keynote
gr2m
95
14k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Transcript
上から見るか下から見るか
自己紹介 TwitterID = hayabusa333 |> heart = [カーネル, GC, Erlang,
Elixir] |> jobs = 株式会社ドリコム |> position = [Joel教,翔鶴瑞鶴仲良し姉妹同 盟,Elixir雑魚勢]
上から見るか下から見るか
Enum / Keyword / List / Map / MapSet /
Range / Stream / File / IO / Path / Port / System / Agent / Application / Config / DynamicSupervisor / GenServer / Node / Process / Registry / Supervisor / Task
機能ごとに見るのであれば それぞれのソースコードを見 ていけば良いかと
ではElixirの上から見ていくに は?
. ├── Makefile ├── bin # 実行ファイル ├── lib │
├── eex │ ├── elixir │ │ ├── Emakefile # Erlang用のMakefile │ │ ├── ebin │ │ ├── generate_app.escript # elixir.app.srcを作成する用のテンプレート │ │ ├── lib # カーネル/モジュール │ │ ├── mix.exs │ │ ├── src # コンパイラ │ │ ├── test │ ├── ex_unit │ ├── iex │ ├── logger │ └── mix
{application, elixir, [{description, "elixir"}, {vsn, '$will-be-replaced'}, {modules, '$will-be-replaced'}, {registered, [elixir_sup,
elixir_config, elixir_code_server]}, {applications, [kernel,stdlib,compiler]}, {mod, {elixir,[]}}, {env, [{check_endianness, true}, {ansi_enabled, false}, {time_zone_database, 'Elixir.Calendar.UTCOnlyTimeZoneDatabase'}]} ]}.
registered:アプリケーション内に登録された名前のリスト applications:Elixirが依存しているアプリケーションのリスト mod:アプリケーションビヘイビアを使って、アプリケーションの コールバックを定義 env:アプリケーションの設定用に使用されるキーと値のリスト
default: compile compile: erlang $(APP) elixir erlang: $(PARSER) $(Q) if
[ ! -f $(APP) ]; then $(call CHECK_ERLANG_RELEASE); fi $(Q) cd lib/elixir && mkdir -p ebin && erl -make $(APP): lib/elixir/src/elixir.app.src lib/elixir/ebin VERSION $(GENERATE_APP) $(Q) $(GENERATE_APP) $< $@ $(VERSION)
まとめ ・基本的にはElixirはElixirのコードで記載されている ・Elixirを読むのには、Erlangの力もいる場合もある ・Erlangに関してはErlangのドキュメントを読むのが良い ・本が欲しければすごいErlangゆかいに学ぼう!を読もう ・基本的にはネット上に情報がないつらみ
ご静聴 ありがとうございました