FJCT Tech blog

富士通クラウドテクノロジーズ公式エンジニアブログです

富士通クラウドテクノロジーズ

FJCT/Tech blog

連載

【システム開発戦略編 その1】 ドメインドリブンでクリーンなアーキテクチャを意識した開発

ソフトウェアの設計手法であるドメイン駆動設計、およびクリーンアーキテクチャの考え方について紹介し、 私たちのプロダクトでそれらをどのように実装しているかをPythonのサンプルコードを用いて解説します。

【CI・CD戦略編 その6】アプリケーションレベル ヘルスチェック

ネットワークサービス部のid:a8544です。 連載19回目の今回は、わたしたちの開発するシステムに備わるヘルスチェック(正常性確認)機能についてご紹介します。 以前の記事で、インフラに着目した間接的なヘルスチェックについてご紹介しました。わたしたち…

【CI・CD戦略編 その5】プロダクション環境への週1デプロイ

この記事では、システムのリリース頻度向上とそのための施策について紹介します。正常性確認ツールやE2Eテストの充実、段階リリースとフィーチャーフラグの活用など、様々な手法が取り入れられます。リリース頻度の向上はチームの生産性向上に寄与し、スケジ…

【CI・CD戦略編 その4】検証環境への自動デプロイ

CI/CDを活用し、パイプライン中でアプリケーションを検証環境に自動的にデプロイする事例を紹介します。

【CI・CD戦略編 その3】デプロイ後の正常性確認

連載16回目の今回は、開発したシステムを新規環境にデプロイするとき・既存の環境をアップデートするときに、 わたしたちが使っているちょっとしたスクリプト(「正常性確認くん」と呼ばれています)についてご紹介します。

【CI・CD戦略編 その2】自動化されたE2Eテストでプロダクトの品質を維持しよう

わたしたちのプロダクトのE2Eテストは、プロダクション環境と同じ構成でデプロイされたシステムに対してリクエストを送り、変更が正しく行われることを確認します。 このテストは、テストしづらいコードや非同期処理の動作確認や、リグレッションがない事を…

【CI・CD戦略編 その1】CIによる自動テスト ~品質と速度の両立のために~

Googleが提唱するテストの分類法である「テストサイズ」について紹介し、テストサイズを参考にした自動テストの戦略の実践例を紹介します。

【CI戦術編 その12】CI戦術編総まとめ — いつ何を使うべきか

クラウドインフラ本部ネットワークサービス部のid:a8544です。 連載13回目の今回は、これまで「CI戦術編」で紹介してきたいろいろなツールについて 振り返り、それらツールをいつ・どのように実行するべきなのか、わたしたちの実例をもとにご紹介します。

【CI戦術編 その11】Trivy: あなたの使ってるライブラリ、大丈夫ですか?

オープンソースのライブラリは現代のソフトウェア開発に欠かせないものですが、その管理には脆弱性の問題があります。Renovateなどのツールを使えば、直接依存しているライブラリのバージョンアップは比較的簡単に行えますが、間接的に依存しているライブラ…

【CI戦術編 その10】 Renovateで依存ライブラリのアップデートに負けない方法

今回はRenovateを使ってGitLabのプロジェクトのライブラリを最新に保つ方法をご紹介しました。 Renovateを導入することでライブラリのアップデートの検知とMRの作成が自動で実行されるため、 定期的に人間が手動でアップデートを確認する必要がなくなり、最…

【CI戦術編 その9】自動生成しか勝たん openapi-typescript

この記事では、OpenAPI Specification (OAS)からTypeScriptのクライアントコードを自動生成するツール「openapi-typescript」について解説しています。APIクライアントはAPIへのリクエストの組み立てやレスポンスの解釈を担当するコードの集まりであり、その…

【CI戦術編 その8】OAS(OpenAPI Specification)で仕様書を自動生成しよう

OAS(OpenAPI Specification)の生成メリットを紹介します。OASはRESTful APIの仕様を記述するドキュメントの仕様で、エンドポイント情報やリクエスト・レスポンスの解釈方法がわかります。生成するメリットとして、APIの使い方を高い精度で伝えられる点が挙げ…

【CI戦術編 その7】 pyupgradeを使って最新の記法に対応してみた

この記事では、Pythonの記法を最新に更新するツールとしてpyupgradeを紹介します。pyupgradeは、古い記法から新しい記法にコードを自動的に修正し、フォーマッタとしての機能も提供します。この記事では、pyupgradeとBlackを併用することで、より強力なフォ…

【CI戦術編 その6】Python開発の強い味方 Pylint

この記事では、Pythonプロジェクトでの静的解析ツールPylintの使用方法について解説しています。Pylintは、コードの品質と可読性を向上させるためのリンターツールであり、さまざまな設定変更やチェック項目の無効化が可能です。また、PylintをCI環境で利用…

【CI戦術編 その5】Pythonで明示的に型を書く理由

クラウドインフラ本部ネットワークサービス部の田上(id:rtagami)です。 オーディオインタフェースも液タブもまだ買っていませんが、 なぜか3Dプリンターを先に買ってしまいました。 早速、(既に買ってあったものの良い設置方法がなく困っていた)Wi-Fi 6のア…

【CI戦術編 その4】Blackを利用したコーディングスタイルの統一

【CI戦術編 その4】Blackを利用したコーディングスタイルの統一 クラウドインフラ本部ネットワークサービス部の上野(id:uweno)です。 成人女性や男の子でもプリキュアになれる昨今、成人男性の私もそろそろ変身できるんじゃないかなって期待しています。 前…

【CI戦術編 その3】Pythonのimportのことならまかせろ isort

Pythonのimport文、どう整理されていますでしょうか? クラウドインフラ本部ネットワークサービス部のid:a8544です。 前回の記事は「【CI戦術編 その2】コードレビューを充実したものにする方法、あるいは一生残る恥ずかしい履歴を作らないように - FJCT Tec…

【CI戦術編 その2】コードレビューを充実したものにする方法、あるいは一生残る恥ずかしい履歴を作らないように

クラウドインフラ本部ネットワークサービス部の田上(id:rtagami)です。 ATEM Television Studio HD8が発売されましたね。 オーディオインタフェースと液タブと(以下略 前回の記事は 【CI戦術編 その1】 alembic check コマンドを活用したマイグレーションス…

【CI戦術編 その1】 alembic check コマンドを活用したマイグレーションスクリプト生成忘れ防止

はじめまして、クラウドインフラ本部ネットワークサービス部の上野(id:uweno)です。 最近10GbE回線を自室に引いたことでTwitterが快適になりました。 今回はCI戦術編の1回目として、データベースのマイグレーションスクリプトの生成忘れを防止するために取っ…

【連載はじめます】プライベートブリッジを支えるバックエンドサービスの開発技術

はじめまして、クラウドインフラ本部ネットワークサービス部の田上(id:rtagami)です。 最近はDSP内蔵オーディオインタフェースを買うか液晶タブレットを買うか両方買うかで悩んでいます。 普段は id:a8544 と上野(id:uweno)と3人の開発者チームで、 プライベ…