プロダクト共創組織

「共創があたりまえの社会へ」を目指し、効果的なプロダクト開発とプロセス構築に取り組んでいます。組織の仕組みづくり、技術情報、開発や管理の工夫、業務の成熟度の向上、標準化やDXに関する情報を発信します。気になることがあればぜひコメントください。フォローもよろしくお願いします。

プロダクト共創組織

「共創があたりまえの社会へ」を目指し、効果的なプロダクト開発とプロセス構築に取り組んでいます。組織の仕組みづくり、技術情報、開発や管理の工夫、業務の成熟度の向上、標準化やDXに関する情報を発信します。気になることがあればぜひコメントください。フォローもよろしくお願いします。

最近の記事

サービス運用で不可欠なアラート管理:弊社の取り組みとその効果

サービスの一般公開後、運用保守を続ける中で、サーバーエラーやユーザー環境での不具合、クラウドサービスからの通知、連携サービスの障害情報など、多くの通知が発生します。これらの通知には、対応を怠るとサービスに重大な損失をもたらす可能性があり、迅速かつ確実に気づき、対処する仕組みが必要です。 さらに、運用が長期化するにつれ、プログラミング言語やOSSの脆弱性の発覚、新バージョンのリリースなど、新たな課題も浮上します。これらの通知を確実に受け取り、対応を進めるために、当社がどのよう

    • Flutter でのオフラインファーストアーキテクチャの構築

      モバイルアプリケーションの絶えず進化する環境において、ネットワーク状況に関係なくシームレスなユーザー体験を確保することが、アプリ開発の重要な側面となっています。この記事では、Flutterを使用してオフラインファーストのアプリケーションをアーキテクチャ設計する方法を探り、リアルタイム接続と従来のAPIコールを活用します。システム設計を詳しく説明し、オフライン機能を備えたリアルタイムチャットアプリを例に、レジリエントなアプリケーションを作成する上での各コンポーネントの役割を解説

      • Flutter開発者必見!静的メタプログラミングでプロジェクトを効率化する方法

        Flutterをモバイル開発に使用していると、freezed、json_serializable、またはbuild_runnerなどのパッケージに遭遇したことがあるかもしれません。これらのパッケージは強力なコード生成機能を提供し、開発プロセスを効率化し、手動の作業を減らすことができます。しかし、これらのパッケージがどのようにしてコードを分析し、自動的にコードを生成しているのか疑問に思ったことはありませんか?その答えは、Dartのメタプログラミングという魅力的な世界にあります。

        • 品質のトリオ:QA、QC、テスターの相乗効果

          ソフトウェアの品質追求の中心にあるのがソフトウェア品質保証(QA)であり、ソフトウェア開発全体の基準、プロセスやガイドライン定義する包括的な役割を果たします。その主な焦点は、欠陥の発生を防ぐこと、プロセスを最適化すること、そして品質文化を創造することにあります。 品質保証(QA)、品質管理(QC)、テスターと呼ばれるトリオは、ソフトウェアの品質維持に貢献します。 しかし、これらの役割は何を含み、どのようにしてソフトウェアアプリケーションの品質に貢献するのでしょうか?ソフト

          Goのワーカープールでリソース管理を効率化する方法

          Goは、シンプルさと並行処理の効率性で知られる強力なプログラミング言語です。Goの並行モデルの中心にあるのは、Go ランタイムによって管理される軽量スレッドであるゴルーチンです。 ゴルーチンは作成と使用が簡単ですが、特に多数の並行タスクを扱う場合、それらを効果的に管理することは課題となります。ここで、ワーカープールが重要な役割を果たします。 ワーカープールは、同時にタスクを処理するゴルーチンの数を制御するパターンで、プログラムをより効率的かつ管理しやすくします。 このガイドで

          Goのワーカープールでリソース管理を効率化する方法

          「サイレントヒーロー」表彰制度の紹介

          組織の中には、目立つことを求めず、静かにチームの成功を支える人がいます。彼らは、日々の努力を通じて質の高い仕事を行い、周囲の人々をサポートし続けています。当社では、このような縁の下の力持ちの存在を大切に考えています。こうした貢献を称える「サイレントヒーロー」制度を設けています。 サイレントヒーロー制度とは?このプログラムは、表舞台には出ないものの、プロジェクトやチームの成功に欠かせないメンバーを月ごとに表彰する取り組みです。静かに、そして着実にチームを支えている同僚たちの働

          「サイレントヒーロー」表彰制度の紹介

          Apollo と Express を活用した効率的なAPI 実装方法

          この記事では、GraphQLとRESTの両方のAPIを提供する簡単なサーバーを作成するためのガイドです。 GraphQLApollo GraphQLExpressそれでは、サーバーの構築を始めましょう。 プロジェクトディレクトリを作成する場所を選択します。mkdir GraphQL-Express ターミナルを使用してフォルダディレクトリを開きます。"npm init -y"コマンドを入力してNode.jsプロジェクトを初期化します。これにより、現在のディレクトリにpa

          Apollo と Express を活用した効率的なAPI 実装方法

          Cypressの自動化制限を突破!新しいタブ・ウィンドウの扱い方を解説

          Cypressはデフォルトでは新しいブラウザタブやウィンドウの処理を許可していません。Cypressはこれを自動化の制限セクションのドキュメンテーションで言及しています。この記事では、この問題に対する簡単な回避策について説明します。 新しいタブの処理 Cypressでは、新しいブラウザタブを開くボタンやリンクをクリックすると、Cypressは新しいタブを開きます。しかし、新しいブラウザタブでテストを続行することはできません。Cypressにはその機能がありません。Cypr

          Cypressの自動化制限を突破!新しいタブ・ウィンドウの扱い方を解説

          Stripe Checkout で決済機能を簡単に導入 - TypeScript + Tailwind CSS + Node.js

          この記事では、TypeScriptとTailwind CSSを使用して、Next.jsにStripe Checkoutを統合する方法を学びます。始める前に、Stripeのアカウント(この記事の目的では開発者アカウント)を持っていることを確認してください。お持ちでない場合は、こちらから無料で作成できます。 システム要件Node.js 12.22.0 以降 macOS、Windows(WSLを含む)、Linuxがサポートされています Create Next Appでプロジェ

          Stripe Checkout で決済機能を簡単に導入 - TypeScript + Tailwind CSS + Node.js

          初心者向け: Go言語での日時処理とフォーマット方法

          Goは、その性能により多くの開発者に人気のあるプログラミング言語です。シンプルで信頼性が高く、効率的なソフトウェアの構築を支援します。 この記事では、Goにおける日時のフォーマットに関するシンプルなテクニックについて説明します。 Goを使い始めたばかりの方のために、プロジェクトのセットアップから始めましょう。 GoのインストールPCにGoをインストールする方法を説明する多くの資料があります。既にGoをインストールしていると思いますが、まだインストールしていない場合は、L

          初心者向け: Go言語での日時処理とフォーマット方法

          MySQLとGoでAPI構築:Ginフレームワークを活用した実践ガイド

          Go言語は、Go言語はシンプルでありながら、C++のような低レベル言語に匹敵するパフォーマンスを提供します。GinはGo言語のフレームワークの一つで、軽量かつ高速です。Ginの特徴は、カスタマイズされたHttpRouterを提供し、APIルーティングを他のGoフレームワークよりも極めて高速にすることです。 Ginはマイクロフレームワークであり、他のフレームワークのように多くの機能を提供するわけではありません。ルーティングやバリデーションなど、APIを構築するために必要な基本

          MySQLとGoでAPI構築:Ginフレームワークを活用した実践ガイド

          GCP: 異なるプロジェクトでリソースを共有する方法

          異なるGCPプロジェクトで複数のサービスを運営するケースで、プロジェクト間でリリースを共有する必要がありました。この記事では、GCPのサービスアカウントを活用して、同一または異なるアカウントや組織内の複数のプロジェクトにアクセスする方法をみていきます。 問題提起現在、APIをデプロイしている2つのプロジェクトがあります。Project-StagingとProject-Releaseで、それぞれステージング環境とリリース環境用です。 これらが同じFirebase Authen

          GCP: 異なるプロジェクトでリソースを共有する方法

          Go言語:静的ファイルをバイナリに埋め込んで、外部依存をなくす

          システムで、HTML、テンプレート、画像など、静的なファイルを扱いたいケースはよくあります。これらのファイルはバイナリと一緒に保存されるか、外部のストレージで管理していました。 しかし、Go 1.16 で興味深い機能を追加されました。embed パッケージです。これにより、ファイルを直接Goのバイナリに埋め込むことができるようになりました。デプロイメントが簡素化され、外部ファイルの必要性がなくなりました。 この記事では、embed.FSを使用してすべてのファイル、画像、デ

          Go言語:静的ファイルをバイナリに埋め込んで、外部依存をなくす

          Flutter アプリに部分的に React Native を使う方法

          Flutter は、独自のレンダリングエンジンを備えた包括的なクロスプラットフォームアプリケーション開発フレームワークです。一方、React Native は UI レンダリングにネイティブコンポーネントを使用する JavaScript フレームワークです。単一のプロジェクトでこれらを組み合わせるには、2つの別個のネイティブランタイム環境(Flutter 用の Dart と React Native 用の JavaScript)を管理する必要があり、複雑で潜在的にパフォーマン

          Flutter アプリに部分的に React Native を使う方法

          HTMLタグの正しい使い方で、ユーザー体験とSEO効果を向上: セマンティックHTMLを解説

          ウェブ開発やSEOの分野に関わっているなら、「セマンティックHTML」という用語を耳にしたことがあるでしょう。この記事では、セマンティックHTMLは何を意味し、なぜユーザー体験やSEOにとって重要かを解説します。 セマンティックHTMLとは?セマンティックHTMLとは、要素やタグがコンテンツの意味と構造を伝えるコーディングアプローチです。単にコンテンツを表示するだけでなく、その目的をブラウザや検索エンジンにより正確に伝えることが重要です。 例えば、<header>、<ar

          HTMLタグの正しい使い方で、ユーザー体験とSEO効果を向上: セマンティックHTMLを解説

          GitHub Actions と Terraform で EC2 インスタンスを自動的に作成

          この記事では、GitHubアクションでTerraformスクリプトを実行する方法を説明します。 前提条件: AWSアカウント S3バケット AWSアクセスキーとシークレットキー Terraformインストール GitHubリポジトリ GitHub Action は、OSがインストールされた一時的な仮想環境を提供します。この環境にAWSプロファイルを設定します。 provider "aws" { region = "ap-northeast-1" prof

          GitHub Actions と Terraform で EC2 インスタンスを自動的に作成