- プロダクトマネージャー
- アーキテクト(バックエンド)
- カスタマーサポートMFK
- 他91件の職種
-
開発
- アーキテクト(バックエンド)
- Railsエンジニア
- アーキテクト(フロントエンド)
- Webエンジニア
- エンジニアリングマネージャー
- バックエンドエンジニア/MFK
- フルスタックエンジニア
- MOpsエンジニア
- フロントエンドマネージャー
- バックエンドエンジニア
- Webフロントエンド
- Webエンジニア
- サーバーサイドエンジニア
- フロントエンジニア
- エンジニア@京都
- エンジニア@大阪
- エンジニア オープンポジション
- エンジニアマネージャー
- Rails@京都
- バックエンド@BFW
- Androidエンジニア
- iOSエンジニア
- SRE
- クラウドエンジニア
- SRE、インフラエンジニア
- テスト自動化エンジニア
- QAエンジニア
- エンジニアリング
- エンジニア職
- コーポレートエンジニア
- マーケティングエンジニア
- Webアナリティクスエンジニア
- SDET
- QA関連職種オープンポジション
- データアナリスト
- セキュリティエンジニア
- コミュニケーションデザイナー
- UIデザイナー
- プロダクトデザイナー
- デザイナーオープンポジション
- グラフィックデザイナー
-
ビジネス
- プロダクトマネージャー
- スクラムマスター
- プロダクトマネージャー
- 人事/人材開発・組織開発担当
- リスク管理
- グローバル採用担当者
- グローバル採用担当
- 金融コンプライアンス
- 新卒採用リクルーター
- エンジニア採用担当
- 中途採用担当
- 労務
- システム監査
- ビジネス採用担当
- 経営企画(予実・IR)
- HRBP
- 法務
- 債権管理/MFK
- セールス・事業開発
- 新規事業開発
- ビジネス職
- フィールドセールス
- セールスマネージャー候補
- インサイドセールス SDR
- インサイドセールス企画
- オンラインセールス
- SaaS営業、MFBC
- インサイドセールス MFBC
- セールス MFBC
- マーケター
- マーケティング
- サービス企画
- データマーケター
- BtoBマーケティングリーダー
- CRMスペシャリスト
- WEBマーケティング(B2B)
- Webマーケティング
- デジタルマーケター
- イベントマーケター
- コンテンツマーケ MFBC
- SEO MFBC
- その他
祝日処理ってどうしてる?
マネーフォワードのプログラマ、奥野(@bugslife)です。
最近、話題の映画ベイマックスを見ました。
賛否あるものの素晴らしい映画です、開発チームに居て欲しいですね。ベイマックス。メンターでしょうか?
「泣きたい時は、泣いてもいいんですよ」
今回は、エンジニアブログの箸休めとしてトリビアネタです。
必ず必要になるけど、あんまり重要視されず秘伝のソースになる事が多い、そう 『祝日処理』 です。
私の経験だと
GoogleCalenderから引っ張ったり偉い人が 年次でDBにエイヤッと入れてストアドでつついたりもっと凄い何か
等など。ちょっとやりたい事に対して手間が掛かり過ぎですよね?
勿論MFにはちゃんとした運用がありますが、hubotなどでライトに使いたい時など、、、
そんな状況を簡単に救えたら・・・
そうだ、gemを使おう!
holiday_jp @ komagataさん作が良さそうです。
人気漫画の言葉を借りるなら
「ほーいいじゃないか こういうのでいいんだよ こういうので」
1970〜2050年の祝日が含まれているようです。
ただ、未来の祝日は変わっていくので、定期的にgemを更新すればいいかと思います。
rubyで使う場合
HolidayJp.holiday?(Date.today)
なんの問題もありません。
独自の祝日を持つケース、一日が24時で切り替わらない、なども拡張すれば出来そうですね。
cronで起動する場合
cronの記述には曜日設定はあれど祝日は記述できません。
こんな感じでコントロールしては如何でしょうか?
環境変数読み込みに設定
ruby -rholiday_jp -e 'exit HolidayJp.holiday?(Date.today).nil?'
export IS_HOLIDAY=$?
各起動スクリプトの先頭で・・・
if test $IS_HOLIDAY -eq 1 ; then
exit 0
fi
デーモン等(ruby以外)の場合
gemはrubyの世界を出れません。また、cronの定時起動作戦は起動時のみしか使えません。
そんな時には、Webサーバーを立てましょう!
I love Sinatra.
Webサーバー側
ruby -rholiday_jp -rsinatra -e 'get "/" do; "{\"is_holiday\": #{HolidayJp.holiday?(Date.today).nil?}}" ;end'
クライアント側
JSON.parse(open('http://localhost:4567/').read)
最後に
如何でしょうか?もっと良い方法等あるかと思います。
そんな熱い思いを誰かにぶつけたい貴方は・・・
マネーフォワードでは、Railsエンジニアを大募集しています!
みなさまのご応募お待ちしております!