私の英語学習法とその結果~iOSエンジニアの場合~

この記事は、Money Forward Engineering 1 Advent Calendar 2022 2日目の投稿です。


こんにちは。マネーフォワード MEのiOSエンジニア、ひらた(@cafedeichi)です。

今回は私の英語学習について少しお話します。

私がiOSエンジニアとしてのキャリアをスタートしたのはiOS 6がリリースされた頃でした。当時はAppleの公式ドキュメントの和訳が少なく、必然的に英文を読む機会が増えたことで、少しずつ英語そのものにも興味を持つようなりました。知りたいことが英語で書いてあるので、英語ももっとわかるようになりたいと思ったのです。その後、本格的に学習を始めた2016年の夏から今日まで、iOSアプリ開発を通してどのように英語学習に取り組み、英語力を高めていったのかを、英語の4技能であるリーディング、リスニング、スピーキング、ライティングに分けて振り返ってみたいと思います。

続きを読む

OAuth 2.0 認可コードグラントフローについて理解したことをまとめます

はじめに

こんにちは、マネーフォワード ID 開発チームのMapduと申します。
この記事はMoney Forward Engineering 2 Advent Calendar 2022 の1日目の投稿になります。

マネーフォワード IDはマネーフォワード社、およびグループ会社の各サービスのID基盤、認証基盤となるWebアプリケーションです。

今日は、サードパーティーアプリケーションによるHTTPサービスへの限定的なアクセスを可能にする認可フレームワークである OAuth 2.0 について紹介します。

※ この記事では、経験に基づいて要約しています。詳しくはこちら「RFC 6749」をご覧ください。

※ The OAuth 2.0 Authorization Framework (English / Japanese)

続きを読む

ナレッジの淀みを解消するLGTM賞 〜小さく始めて大きく育てるコミュニティマネジメント〜

いつものおまじない

いやーFIFA ワールドカップがアツくて寝不足な日々が続いていますね。
今日も朝からポーランドvsアルゼンチン戦を観ながら一人、手に汗握っていた luccafort が「ナレッジの淀みを解消するLGTM賞 〜小さく始めて大きく育てるコミュニティマネジメント〜」というタイトルで2022年のアドベントカレンダーを始めていこうと思います。

この記事は、Money Forward Engineering 1 Advent Calendar 2022 1日目の投稿です。
なお、この記事でMoney Forward Engineers’ Blog の2022年の投稿数が108記事となり、煩悩の数になります。
ということで煩悩にまみれた(?)記事をお楽しみください。

続きを読む

Amazon ECSのローリングアップデート開始からSidekiq停止までの流れを追う

はじめに

こんにちは。

SREグループの佐々木と申します。

Amazon ECS(以下、ECS)を使っていて、ローリングアップデート時に、コンテナ上のSidekiqで実行中のジョブに影響が無いのか、気になったことはありませんか?

この記事では、ローリングアップデート時のECSとSidekiqの挙動、ローリングアップデート時に気をつけるポイントを紹介します。

続きを読む

機能開発と技術的負債の返済を両立させるシステム改善Dayのすすめ

自己紹介

こんにちは。関西開発拠点でエンジニアをしている辻です。

季節の変わり目でお芋が美味しいシーズンになってきました。最近は芋味のアイスやケーキばかり食べてて体重が右肩上がりです。

今回は、マネーフォワード クラウド会計Plus(以下、会計Plus)の開発チームで行った「システム改善デー」について書かせて頂こうかなと思います。

会計Plusが抱えていた課題

  • リリースから機能開発を優先してきた結果、技術的負債が溜まってきていた点
  • その技術的負債の解消を行うにしてもリソースの確保が難しい点

会計Plusは2020年2月26日にリリースしたサービスで、開発開始となると更に半年以上遡ることになり現在で約3年ちょっと開発・運用をしてきました。おかげさまで導入企業様も順調に増えておりますが、同様に増えて来ているのが技術的負債です。
これまではユーザに価値を届けるための機能開発にリソースを集中的に投資してきましたが、今後10年価値を届け続けられるプロダクトにしていくためにはそのリソース配分を徐々に保守運用、いわゆる技術的負債の解消という側面にも配分していくというフェーズになってきたと感じている今日このごろです。
とはいえ、まだまだユーザーに届けたい価値は山積みで決して機能開発の手を緩めて良いという時期でも無いのも事実だったりします。
こういった技術的負債解消をしなければ破綻する未来が見えてるにも関わらず、新規の機能開発要望はどんどん上がってくるというジレンマは世に存在する多くのサービス・技術者が抱えてると思います。結局の所、どうリソースを配分するべきなのか・・・という悩みにつきますね。

続きを読む

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"

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

続きを読む