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.2k
Elixirで祝日が欲しかった……
第三回SpeeeKaigiの発表資料
arumi8go
September 07, 2017
Tweet
Share
Other Decks in Technology
See All in Technology
来年もre:Invent2024 に行きたいあなたへ - “集中”と“つながり”で楽しむ -
ny7760
0
430
CAMERA-Suite: 広告文生成のための評価スイート / ai-camera-suite
cyberagentdevelopers
PRO
3
260
バクラクにおける可観測性向上の取り組み
yuu26
3
400
サイロ化した金融システムを、packwerk を利用して無事故でリファクタリングした話
coincheck_recruit
3
3.6k
WINTICKETアプリで実現した高可用性と高速リリースを支えるエコシステム / winticket-eco-system
cyberagentdevelopers
PRO
1
190
よくわからんサービスについての問い合わせが来たときの強い味方 Amazon Q について
kazzpapa3
0
210
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.6k
Automated Promptingを目指すその前に / Before we can aim for Automated Prompting
rkaga
0
100
最速最小からはじめるデータプロダクト / Data Product MVP
amaotone
5
720
Amazon_CloudWatch_ログ異常検出_導入ガイド
tsujiba
4
1.4k
カメラを用いた店内計測におけるオプトインの仕組みの実現 / ai-optin-camera
cyberagentdevelopers
PRO
1
120
マネジメント視点でのre:Invent参加 ~もしCEOがre:Inventに行ったら~
kojiasai
0
410
Featured
See All Featured
Designing the Hi-DPI Web
ddemaree
280
34k
The Invisible Side of Design
smashingmag
297
50k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
How to Ace a Technical Interview
jacobian
275
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
31
2.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
What's new in Ruby 2.0
geeforr
342
31k
Build The Right Thing And Hit Your Dates
maggiecrowley
32
2.4k
Gamification - CAS2011
davidbonilla
80
5k
The Cost Of JavaScript in 2023
addyosmani
45
6.6k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
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から⾏うように変更 •
⽬指せメジャーバージョン
ご清聴有難うございました!