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
Elixirで祝日が欲しかった……
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
arumi8go
September 07, 2017
Technology
1.3k
0
Share
Elixirで祝日が欲しかった……
第三回SpeeeKaigiの発表資料
arumi8go
September 07, 2017
Other Decks in Technology
See All in Technology
Agents CLI と Gemini Enterprise Agent Platform で マルチエージェント開発が楽しくなる!
kaz1437
0
140
Claude Code を安全に使おう勉強会 / Claude Code Security Basics
masahirokawahara
12
36k
AgentCore Managed Harness を使ってみよう
yakumo
2
220
Practical TypeProf: Lessons from Analyzing Optcarrot
mame
0
1k
音声言語モデル手法に関する発表の紹介
kzinmr
0
130
サイボウズ 開発本部採用ピッチ / Cybozu Engineer Recruit
cybozuinsideout
PRO
10
79k
Chasing Real-Time Observability for CRuby
whitegreen
0
200
基盤を育てる 外部SaaS連携の運用
gamonges_dresscode
1
120
AI: Making Admin and Users, Lives Better
kbmsg
0
110
レビューしきれない?それは「全て人力でのレビュー」だからではないでしょうか
amixedcolor
0
350
Keeping Ruby Running on Cygwin
fd0
0
180
[最強DB講義]推薦システム | 評価編
recsyslab
PRO
0
100
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
290
Joys of Absence: A Defence of Solitary Play
codingconduct
1
350
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
430
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
170
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
340
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
WCS-LA-2024
lcolladotor
0
540
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
540
New Earth Scene 8
popppiees
3
2.1k
Transcript
Elixirで祝⽇が欲しかった……
⾃⼰紹介 • ⼭浦 航/@arumi8go • Elixir歴: ⼀週間と少し • ウデマエ: B
• 最近の悩み • ⼀年に⼀回彼⼥に振られかける事
Elixirって? • ErlangのBEAM (Erlang VM)と呼ばれる仮想環境で動作する • Erlangの関数を呼び出せる • 関数型 •
並⾏処理機能 • ⾼い耐障害性 • Ruby界隈でも有名なJosé Valim⽒が開発 • Rubyistがとっつきやすくなっている • While⽂がなく再帰処理で表現する
本題
Elixir⽤のライブラリーをHex に公開しました!!
None
なんぞこれ • ⽇本の祝⽇を取得したり祝⽇かどうか判断したりするライブラ リィィィ • Build toolは Mix • 超クソコード
• なんちゃってメンテナンスフリー(後で詳しく)
なんでこんなもん作ったの? • Elixirの勉強の為 • 勉強の成果として残せるものが作りたかった • ⼀国⼀城の主になりたかった • 祝⽇取得ライブラリが少なかったので⼈の⽬に触れる機会が多 いかも?
出来ること > HolidayJapan.holiday? ~D[2017-05-04] :true > HolidayJapan.name ~D[2017-05-04] ”みどりの⽇”
仕組み • 処理しやすい形に整形した祝⽇データをJSONで所持 • そのJSONを読み込んで検索を⾏う
なんちゃってメンテナンスフリー • メインの処理の改修とかリファクタはやる気が起きるが何年に ⼀回しか更新されない祝⽇データの更新が⾯倒 • なのでできるだけ頑張らずに変更を感知し更新する処理を作成
ぼくのかんがえた(ry 祝⽇データを公開 してくださってい る外部サイト様 HolidayJapan HolidayJapanUpdate(escript) Docker or Server or
Mac 祝⽇定義file更新
まるまるシェルスクリプトに 祝⽇データを公開 してくださってい る外部サイト様 HolidayJapan HolidayJapanUpdate(escript) Docker or Server or
Mac 祝⽇定義file更新 Update.sh
定期実⾏ • ⽉⼀実⾏ • 省エネでMacのcronに任せる形に……
送られてくるPRが此⽅ こちら
作られたPRの差分を確認してmergeするだけ!
これで忘れた頃にPRが作られるはず!
今後の⽬標 • クソコードを綺麗にして、どこに出しても恥ずかしくないよう にする • Elixirのcalendarクラスとよしなに何かできないか模索 • 祝⽇データの取得をGoogle Calendarから⾏うように変更 •
⽬指せメジャーバージョン
ご清聴有難うございました!