Sidekiq Worker+Semantic Loggerの構成の際にJob名とJob IDを出す方法

マネーフォワードでSREをしている増田です。
普段はSREとしてSLO/SLIの策定やプロダクトのインフラ周りの改善に取り組んでいます。

今回はSidekiq Worker+Semantic Loggerを用いた環境でのJob名とJob IDの取得方法について紹介しようと思います。

問題と初めの目論見

ログの出力は障害等で見ない限り注目することが少なく、普段見逃されがちですが、SRE的にはシステムの状態を把握するために重要な情報の一つです。

SREの活動の一環で、Sidekiqから出力されるログの整理をしていたところ、
以下のようにjobの開始と終了の文字列のみしかログに出ていないプロダクトが存在することに気が付きました。

start
done

このログだけではJob IDやJobの名前が分からない為、実行されたJobがどのような物だったのかを特定することが出来ません。

続きを読む

[FEギルド] クラウド勤怠のフロントエンド生産性を高めるために半年取り組んできたこと

はじめに

こんにちは。クラウド勤怠チームでエンジニアをしております katuoです。今回の記事ではタイトルの通り、今期、クラウド勤怠内にフロントエンドギルドチームというスモールチームを作って、活動したことについて、振り返っていこうと思います。

チーム誕生の背景

日々開発業務に追われるなかで、チーム内に大きく分けて以下3つの課題がありました。

  • 生産性: 機能開発を優先してその場限りのコードや負債が溜まったりして、生産性が低下している
  • 成長環境: メンバー間での知見を共有をする機会が少なく、スキルアップの機会が損失している
  • 採用力: 技術環境面において、エンジニアへのアトラクトが弱い土壌になっている

それぞれの課題は互いに依存しあっている状態でした。

これらの課題を解消・改善を目的に業務時間の1~2割程度の工数を使って活動を行う、フロントエンドギルドチームが誕生しました。(以下、FEギルド)

続きを読む

Ruby gem XlsFunction を OSS として公開しました

こんにちは。福岡開発拠点で クラウド債務支払 および クラウド経費 の開発をしている中久喜と申します。

今回は社内で開発した gem XlsFunction を OSS として公開いたしましたので、その紹介をさせていただきます。

XlsFunction とは

Ruby で Excel の関数をエミュレートすることができます。

func = 'SUBSTITUTE("マネーフォワード", "マネー", "ライフ")'
XlsFunction.evaluate(func)
# => "ライフフォワード"

func = 'ROUNDDOWN(100 / 3 * 2, 2)'
XlsFunction.evaluate(func).to_s('F')
# => "66.66"

まだまだほとんどの関数を実装できていませんが、文字列操作の関数を中心に実装を進めています。

続きを読む

モダンデータスタックでデータ分析基盤の改善〜可用性と保守性もアップ!〜

はじめに

こんにちは。CTO室 分析基盤部の長谷川(shase)です。

私が所属するチームでは、データ分析基盤の開発と運用を行っています。

今回は私が入社以来(といっても半年弱程度なのですが)やってきた、データパイプラインの整理についてご紹介したいと思います。

この記事が想定する読者

事業会社でデータ分析基盤の開発と運用に携わる、データエンジニア、データアナリストなどの職種の方にとって参考になればと思い執筆しました。

記事に出てくる社内用語の補足

  • セキュアデータ基盤は、センシティブなデータが含まれる基盤でアクセス可能なメンバーが制限されています。また、特定の踏み台からしかアクセスすることができません。

  • カジュアルデータ基盤は、センシティブなデータが含まれていない代わりに、通常のオフィスネットワークからアクセスすることができる環境です。

続きを読む

【RubyMine】direnvの環境変数を読み込む方法(EnvFile)

こんにちは🦆
マネーフォワードの福岡拠点でクラウド債務支払クラウド経費の開発を担当している、いいねです。

前回のRubyMineに開発用コマンドを登録してチームで共有しように続いてRubyMineのTipsです。

direnvで管理している環境変数をRubyMineで使いたい

プロジェクトの環境変数をdirenvで管理していると、アプリケーションの起動やユニットテストを行う際にdirenvの環境変数が必要になることがあります。
RubyMine上でこれらの実行構成を実行すると、RubyMineにはdirenvの設定ファイルである.envrcを環境変数として読み込む機能がなく、環境変数不足でエラーとなってしまいます。

JetBrains MarketplaceのdirenvプラグインはいずれもRubyMine非対応です。
環境変数を反映したCLIからRubyMineを起動することで環境変数を反映させるという方法があるのですが、
毎回CLIからRubyMineを起動するのが面倒ですし、アプリケーションアイコンからの起動を諦めないといけません。
direnvとRubyMineを組み合わせて使用する為にはこのような課題があります。

今回、direnvとRubyMineを組み合わせて使用する為の解決策を一つ見つけたのでご紹介いたします。

続きを読む

「Scrum Fest Sapporo 2022」に登壇&参加しました!

こんにちは!
HRソリューション本部でQAエンジニアをしているhonaminです。
2022年11月3日(木)〜11月5日(土)に開催された、Scrum Fest Sapporo 2022(以下スクフェス札幌)参加してきました。私自身スクフェスへのオフライン参加は初めてでしたが、毎夜毎夜飲み歩き、気づいたら2泊3日が終わっていました。ほぼぼっちでも楽しく参加できたので、未来の仲間へ向けて参加レポートを書きたいと思います。

Day0 11月3日(木・祝)

(おや、yoyaさん、こんばんは!)

受付にてネームプレートとWelcome Beer(!)を受け取りいざ会場へ!
祝日の夜にも関わらず会場には多くの方が集まっていました。

初日ということもあり、コミュニティの歩き方や活用方法についての発表が2つほど。
行動規範のお話もあり 「参加者にこの3日間を存分にに楽しんでほしい」 という運営の方々のお心遣いを感じました。

続きを読む

STIとautoloadingとRails 7

こんにちは。マネーフォワード クラウド会計Plus (以下会計Plus)でエンジニアをしているぽっけです。

しばらく前に、会計PlusのRails 7へのアップグレードが完了しました。その中では様々な対応を行いましたが、この記事では特に印象的だったSTIとautoloadingの対応についてご紹介しようと思います。

STIとautoloadingは相性が悪いです。Rails 7以前は簡単な修正でこれらが共存して動いていましたが、Rails 7ではそのコードが動かなくなってしまいました。この問題は最終的には修正されましたが、それまでに紆余曲折あり修正までに何回ものPull Requestが必要になりました。

続きを読む

マネーフォワードのサマーインターン2022に参加しました!

はじめまして!
マネーフォワードのサマーインターンシップに参加させていただいた若松です。

この記事では、マネーフォワードのサマーインターンシップついて紹介したいと思います。
僕が今年マネーフォワードのサマーインターンシップについて調べた際に、あまり過去の情報を見つけられなかったので、少しでも今後インターンシップに参加する方の参考になればと思います。

続きを読む

id リストの表現を工夫して INSERT 文のサイズを大幅に小さくした話

はじめに

みなさまごきげんよう。マネーフォワードの福岡拠点でクラウド経費およびクラウド債務支払というプロダクトの開発を担当している、野田 (@quanon_jp) と申します。好きなものは村上春樹とヨーヨーです 🪀

今回は SQL に関する少し風変わりな改善について共有します。特定の形式のカラムのサイズが非常に大きくなっていたので、そのサイズを小さくした話です。

なお、本記事のコードはすべて Ruby (Ruby on Rails の環境) です。

続きを読む