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
arumi8go
September 07, 2017
Technology
1.3k
0
Share
Elixirで祝日が欲しかった……
第三回SpeeeKaigiの発表資料
arumi8go
September 07, 2017
Other Decks in Technology
See All in Technology
ThetaOS - A Mythical Machine comes Alive
aslander
0
230
Network Firewall Proxyで 自前プロキシを消し去ることができるのか
gusandayo
0
150
20260326_AIDD事例紹介_ULSC.pdf
findy_eventslides
0
310
AI時代のIssue駆動開発のススメ
moongift
PRO
0
330
OPENLOGI Company Profile for engineer
hr01
1
61k
Microsoft Fabricで考える非構造データのAI活用
ryomaru0825
0
570
SSoT(Single Source of Truth)で「壊して再生」する設計
kawauso
2
400
Kiro Meetup #7 Kiro アップデート (2025/12/15〜2026/3/20)
katzueno
2
270
AIエージェント時代に必要な オペレーションマネージャーのロールとは
kentarofujii
0
250
AWSで2番目にリリースされたサービスについてお話しします(諸説あります)
yama3133
0
100
MIX AUDIO EN BROADCAST
ralpherick
0
140
QA組織のAI戦略とAIテスト設計システムAITASの実践
sansantech
PRO
1
300
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
WENDY [Excerpt]
tessaabrams
9
37k
Fireside Chat
paigeccino
42
3.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.6k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
320
The Mindset for Success: Future Career Progression
greggifford
PRO
0
290
Automating Front-end Workflow
addyosmani
1370
200k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
Designing for humans not robots
tammielis
254
26k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
440
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
Evolving SEO for Evolving Search Engines
ryanjones
0
170
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から⾏うように変更 •
⽬指せメジャーバージョン
ご清聴有難うございました!