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
0
1.3k
Elixirで祝日が欲しかった……
第三回SpeeeKaigiの発表資料
arumi8go
September 07, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
220
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
20
9.5k
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
220
2025年になってもまだMySQLが好き
yoku0825
8
4.7k
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.1k
人工衛星のファームウェアをRustで書く理由
koba789
13
7.3k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
6
760
実践!カスタムインストラクション&スラッシュコマンド
puku0x
0
350
エラーとアクセシビリティ
schktjm
1
1.2k
roppongirb_20250911
igaiga
1
210
JTCにおける内製×スクラム開発への挑戦〜内製化率95%達成の舞台裏/JTC's challenge of in-house development with Scrum
aeonpeople
0
200
なぜSaaSがMCPサーバーをサービス提供するのか?
sansantech
PRO
8
2.8k
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
1.1k
Fireside Chat
paigeccino
39
3.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
51
5.6k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Faster Mobile Websites
deanohume
309
31k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
A Modern Web Designer's Workflow
chriscoyier
696
190k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Visualization
eitanlees
148
16k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
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から⾏うように変更 •
⽬指せメジャーバージョン
ご清聴有難うございました!