サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「かわいい」
tech.macloud.jp
こんにちはkubotakです。 弊社M&Aクラウドでは先日、Nuxt(v2系)のアプリケーションをSvelteKitへ移行を完了しました。 ※一部ページは諸事情によりNuxtのままですが9割以上が移行済み。 本記事ではSveltekitへの移行した理由や移行方法について紹介したいと思います。 Vue2系がEOLを迎える Vue.jsは現在3系となり、Vueをベースとして作られているWebフレームワークであるNuxtも現在3系が最新となります。 また、Vue.jsの2系は2023年12月31日*1に、Nuxtについても2系は2024年6月30日*2にサポート対象外になることが発表されています。 それに伴い弊社でもNuxtの2系の対応について検討がされました。 NuxtからSveltekitへ まずはNuxt2から3への以降に際してどのようなマイグレーションが必要なのかを調査しました。 弊社の
こんにちは、kubotakです。 弊社では、開発環境の構築にMakefileをタスクランナーとして利用していました。 しかし、予てよりMakefileは「コンパイル、依存関係の管理、インストールなどのルールを記述しておくためのファイル」であるため、タスクランナーとして利用している現状には違和感を感じでいました。 引数の取り回しやhelp(list表示)などひと手間必要で、本来の存在とは異なる利用のためハックな使い方をしていました。 Qiitaの以下の記事を参考にMakefileやめました。 qiita.com Task Taskはタスクランナー・ビルドツールでGNU Makeより使いやすいものを目指したプロダクトだそうです。 Go言語により作られているので利用者側としては1バイナリで済むのでほかの依存はありません。 MacOSであればBrewでインストール可能なので手軽に使うことができそう
こんにちは。エンジニアの濱田 (@hamakou108) です。 先日、とあるプロジェクトに Larastan を導入しました。 tech.macloud.jp この記事の中で、 baseline ファイルを利用して既存のエラーを検知対象から除外する方法について紹介しました。 baseline ファイルには .neon というあまり見慣れないファイル形式が使用されていますが、先日 PHP ファイル形式でも baseline ファイルを作成できるようになりました。 zenn.dev ドキュメントによると、 .neon ファイルよりも PHP コードの方が速く処理される 1 ようです。そこで baseline ファイルを PHP コードに変更し、簡単ですが、パフォーマンスについて計測してみることにしました。 baseline ファイルを neon から PHP に変更する方法 まず phpst
みなさん!おはようございます!こんにちは!こんばんは!エンジニアの栄山 (@yamii_qq) です。 先日、弊社にてFour Keysをモニタリングできるようになりました! tech.macloud.jp 本記事では、モニタリングした結果と今後どのように活用するかをご紹介します! Four Keysの計測方法 Google Cloud の DevOps Research and Assessment(DORA)チームが毎年発表しているレポートに記載されている計測方法を使用します cloud.google.com 4つ指標があり、それぞれHigh,Medium,Lowでレベルが分けられいます。 指標の説明についてはこちらの記事に書かれているので、ぜひ読んでください。 Highが多いほど、ソフトウェアデリバリーのパフォーマンスが良いと言えます。 パフォーマンス測定レベルデプロイの頻度変更のリ
こんにちは。M&AクラウドのEMの鈴木です。M&Aクラウドでは GitHub Copilot(以下Copilotと呼びます)を導入してみることになりました。導入にあたり一般に言われているCopilotのリスクを元に、弊社なりに整理してみました。この記事はその学びを共有するものです。最近は GPT-4をベースにした「Copilot X」も発表されて Copilot を導入しようか迷っている方も多いかと思いますが、導入の際の意思決定の参考になったら幸いです。 GitHub Copilot とは Copilot 関係のリリース状況整理 GitHub Copilot for Business GitHub Copilot X セキュリティ・ライセンス問題に関する論点 Copilot 経由で弊社コードが流出するセキュリティ上の懸念に対するチェック プライバシーポリシーを見てみる Copilot を使
こんにちは、久保田(@kubotak_public)です 今回は弊社で運用しているサービスであるM&Aクラウドのフロントエンドの実行環境をAWS LambdaからECS Fargateへ移行した話です。 まずは弊社のサービスが動いている環境は次のようになっていました。 フロントエンドにNuxt.js(JavaScript)、バックエンドにLaravel(PHP)を利用しています。 LaravelはAWS ElasticBeanstalkで作成されたEC2インスタンス上で動作しています。 そしてフロントエンドのNuxt.jsはAWS Lambda上で動作し、API Gatewayを利用してHTTPによりアクセスできるようになっていました。 もともとはLaravelの環境だけでしたが、Nuxt.jsでフロントエンドをリプレースしたページが混在しているのが現状です。 これらはCloudFront
こんにちは、久保田(@kubotak_public)です 今回の記事はAmazon CognitoとCloudFrontを利用して特定のユーザのみが閲覧できる仕組みを作る(表題どおり)となります。 弊社での利用シーンとしてSchemaSpyで生成したER図(というよりドキュメント)を特定のユーザ、つまり弊社の人間のみが閲覧できる仕組みを作りたいなという動機で作成しました。 例えばフロントエンドのStorybookなども社内展開する際にはS3に置いたものをどうにかアクセス制限して提供したい・・・みたいなニーズってあると思うのですが、まさにそういう場合にうってつけではないかと思います。 Amazon Cognito そもそもCognitoとは?という方向けに説明しますと、Auth0やFirebase Authenticationに代表されるIDaaSと呼ばれるたぐいのサービスです。 認証の仕組
こんにちは。エンジニアの鈴木(@yamotuki)です。 データの活用とデータ基盤の構築に関する考えを整理したいと思い、この記事を書いています。 M&Aマッチングプラットフォームとしての「M&Aクラウド」が立ち上がった4年ほど前から、現在に至るまでデータをどう活用してきたのかというのをざっくりまとめた後に、今のデータ基盤構想とその背景にある考えを書こうと思います。 弊社におけるこれまでのデータ活用に関わる意識の変化 2018年~ M&Aクラウドリリースからしばらく M&Aクラウドプラットフォームのリリースは2018年4月です。データ分析に対して深い知見のある人は社内にもちろんゼロ。しかし、google analytics は入れてあり、mouseflow などユーザ行動が見れるサービスも入っていました。mouseflow は登録フォームのファネルでの離脱点がどこかといった分析もできます。こ
こんにちは、こんばんは、kubotakです。(@kubotak_public) 今回の記事は、M&Aクラウドの新しいプロジェクトのフロントエンドにSvelteKitを採用したよ!という内容です。 なぜSvelteKitを採用したのか、他のフレームワークと検討してなぜ採用に至ったのかなどを紹介したいと思います。 SvelteKitってなに?SvelteKit気になってる!な方はぜひお付き合いください。 SvelteKitってなに? 数年前からReact、Vue.jsに次ぐUIフレームワークとして人気が出ているSvelteをベースにしたSSRやSSGが実現できるフレームワークです。 Svelteは日本では名前を聞いたことがある程度で詳しく知らない。という方が多いと思いますが、StateOfJSでは2019年から人気のあるフロントエンドフレームワークです。 また、SvelteKitは2021年で
こんにちは、M&Aクラウドのかずへいです。2019年10月に始めたこの技術ブログも、ついに100記事目になりました🎉 大体2週間に1記事は書き続けてきた計算になります。継続できるのって本当にすごいですね!弊社のプロダクトメンバーは本当にすごいです。 今回は、この技術ブログについて振り返りながら、ブログを書く意義について考えていければと思います。 ブログの始まり 良い人が集まり、たくさんの良い仕組みを導入し、良いプロダクトを作り、それを発信して人が集まる、という好循環を作っていきたいと思い、この技術ブログは始まりました。 ブログを書き始めたときには、このブログには発信の役割を期待していました。ですが、記事が増えていく中で、ブログの役割は発信だけでは無いなと思うようになりました。 ブログは発信ではなく、良い仕組み導入のドライバー ブログでは、過去にもいろんな良い仕組みを導入し、紹介してきまし
皆さんこんにちは。kubotak(@kubotak_public)です。 この記事ではLaravelをECS Fargateで動かす際のQueueとScheduleに関して、弊社で行った知見を紹介したいと思います。 Laravel on ECSに関しては以下の記事も是非どうぞ M&Aクラウドを丸ごとAmazon Elastic Container Service(ECS)に移行しました!〜コンテナイメージ作り編〜 - M&Aクラウド開発者ブログ AWS CDK v2 の変更点5選 - M&Aクラウド開発者ブログ ※なお、本稿においてはLaravel8系を利用しています。(おそらくLaravel9系でも問題ありません) ECS FargateでQueueを動かす 弊社ではもともとAWS ElasticBeanstalkのWorker環境(以下EB Worker)でQueueおよびSchedu
こんにちは。M&Aクラウドのかずへいです。 今年に入って開発のプロジェクト管理をGitHub ProjectからJiraに移行しました。 どのような意図で今回Jiraに移行したのかを紹介させてもらえばと思います。 GitHub Projectsを利用していたときの課題 GitHub Projectsを使い始めた時はホワイトボードの物理的なカンバンの代わりとしてだったと思います。その時のエンジニア数はまだ3名で、 GitHub Projectsの機能でも特に問題は感じていませんでした。 元の運用は、 issueのマイルストーンにバックログを作る。マイルストーン内ではissueが優先度順に並べられる。ストーリーポイントは数字のラベルをissueにつける。 マイルストーンから次のスプリントでやる分だけをスプリントマイルストーンに移動、GitHub Projectsに紐づけてカンバンに表示させる。
こんにちは。エンジニアの鈴木(yamotuki)です。 今回は本番や開発環境でエラーが起こったときに、効率よく対応ができるように Rollbar というツールを導入した話です。 Rollbar とは 公式はこちら JavaScriptやPHPで発生したエラー詳細をSlack通知してくれます。 通知や画面詳細ページは後述してあります。 導入目的 導入目的としては、フロントエンドのエラー検知とバックエンドサーバのエラー対応の簡素化の二つがあります。 1. フロントエンドのエラー検知 Universalモード(SSRとCSRでシームレスに動作する仕組み)で動いているNuxt.jsによるアプリケーションのエラー検知の仕組みが欲しい、というのが一番最初の導入のきっかけでした。 SSRで動いている部分については、なんとかしてログ出力をしてエラーを検知することをできるかもしれません。しかし、それぞれのク
こんにちは。エンジニアの鈴木(@yamotuki)です。 今日はAPIドキュメントを書くことでフロントエンドとバックエンドの開発を疎結合にして平行して開発を進めている話を書こうと思います。 疎結合とは? 通常の開発フローだとバックエンドAPIを先に実装して、そのあとでフロントエンドの開発を進める必要があります。これはAPIからどのようなレスポンスが帰ってくるかわからないので、フロントエンドは先に実装することはできないと言う事情があります。では、APIを完全に実装しきってからではないとフロントエンドの開発がすすめられないのか、というとそうではないと考えています。 依存関係逆転の原則(DIP)の考え方を導入すると、フロントエンドが依存する対象を変えることができます。DIPを一言で言うと "詳細に依存するな、インターフェースに依存しろ" だと私は考えています。 依存性逆転の原則 - Wikipe
Qiita Laravel #2 Advent Calendar 2019 17日目の記事です。 こんにちは、M&Aクラウドの津崎です。 今日は、AWS Elastic Beanstalk Worker環境でLaravelを動かして、キュー処理、定期実行処理の専用環境を構築した話をします。 最初はQiitaに投稿する予定で記事を書いていたんですが、自社の環境に限った話が多かったので、自社ブログで公開しました。 記事の最後には、本番環境でやらかしちゃった話もありますので、Laravel でワーカー環境の構築を検討されている方はチェックしていただけたらと思います。 弊社が運用しているM&Aクラウドというウェブアプリケーションは、AWS Elastic Beanstalkのウェブサーバー環境で構成されています。 macloud.jp AWS Elastic Beanstalkは、お手軽にWebア
この度M&Aクラウドの開発者ブログを開設しました。ブログを開設する目的はずばり、チーム作りです! チーム作りに力を入れる理由 良いプロダクトを作るための条件ってなんでしょうか。 私達は良いプロダクトを作るためには、仲間集めが大事だと考えています。簡単に図示すると下図のようになると考えていて、良いチームがInputで良いプロダクトがOutputになるということです。 また、InputからOutputまでの過程も大事だと思っています。 仕組みの部分への取り組みを強化することで、メンバーが増えて、メンバーの多様性が広がってもそれをプロダクトの成長に繋げられる、スケーラビリティのある開発組織になると考えています。 チームメンバーの集め方 ではプロダクトには良いチームが必要だとして、どうやってチームメンバーを集めればよいでしょうか?それは社内の 良い仕組み 良い企画 良いデザイン 良いコード といっ
このページを最初にブックマークしてみませんか?
『M&Aクラウド開発者ブログ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く