Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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.4k
CowboyとPhoenixの速度比較
hayabusa333
1
1.8k
E言語スタック
hayabusa333
0
560
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
Testing 201, or: Great Expectations
jmmastey
46
7.8k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
RailsConf 2023
tenderlove
30
1.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
What's in a price? How to price your products and services
michaelherold
246
12k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Building Flexible Design Systems
yeseniaperezcruz
330
39k
Navigating Team Friction
lara
191
16k
A designer walks into a library…
pauljervisheath
210
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
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ゆかいに学ぼう!を読もう ・基本的にはネット上に情報がないつらみ
ご静聴 ありがとうございました