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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Junnichi Kitta
September 29, 2019
1.1k
0
Share
上から見るか下から見るか.pdf
Junnichi Kitta
September 29, 2019
More Decks by Junnichi Kitta
See All by Junnichi Kitta
SREってなんだろう
hayabusa333
0
220
ポストモーテムから振り返る
hayabusa333
0
190
Elixirでやってきたこと
hayabusa333
0
1.6k
APIサーバとしてのCowboy
hayabusa333
1
1.4k
CowboyとPhoenixの速度比較
hayabusa333
1
1.8k
E言語スタック
hayabusa333
0
570
Featured
See All Featured
Leo the Paperboy
mayatellez
7
1.6k
A Tale of Four Properties
chriscoyier
163
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Automating Front-end Workflow
addyosmani
1370
200k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Practical Orchestrator
shlominoach
191
11k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
The agentic SEO stack - context over prompts
schlessera
0
740
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
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ゆかいに学ぼう!を読もう ・基本的にはネット上に情報がないつらみ
ご静聴 ありがとうございました