Nuxt道場 弐面を開催しました🎉

こんにちは久保田(@kubotak_public)です 2021/09/08 19:30よりNuxt道場 弐面を開催いたしました。 弐面は第二回という意味です。 記念すべき第一回の様子は以下です。 tech.macloud.jp 今回は弊社の津崎が登壇しました。 弊社のエンジニアはもともとフロント…

M&AクラウドのPHP Conference 2021登壇速報!

こんにちは、M&Aクラウドのかずへいです。 先日、PHP Conference Japan 2021 のプロポーザル当落が発表されましたね! 今回、弊社はゴールドスポンサーもしております。 株式会社M&Aクラウド さまから ゴールドスポンサー のお申込頂きました!ありがとうご…

Vue.js で入力フォームに Google reCAPTCHA v2 を埋め込む

こんにちは。エンジニアの濱田( @hamakou108 )です。 今回は Vue.js で作成した入力フォームに Google reCAPTCHA v2 を埋め込むコードを書く機会があったので、その実装例を紹介します。 またその際に利用した vue-recaptcha というライブラリについても軽…

開発大臣制度とMACテック勉強会、あるいはフルスタックVSスペシャリスト

どうもこんにちは、エンジニアの津崎です。 梅雨が明けて、モワっと蒸し暑くて気が狂いそうですね。 夏といえば、海。 海といえば「開発大臣制度」と、「MACテック勉強会」でございます。(?) そんなわけで今回は、今年から実験的に開始された「開発大臣制…

M&Aクラウドで実践している不具合対応フローをご紹介します

不具合対応中 こんにちは、塚原(@AkitoTsukahara)です。 サービス開発を続けていると対策していても大なり小なり不具合が発生してしまいます。そのため、早期に不具合を発見して、少ない被害に抑えることが大切になります。(もちろん、不具合が発生しないこ…

M&Aクラウド初主催のエンジニア向け勉強会を開催しました

こんにちは久保田(@kubotak_public)です 先日の2021/06/23にNuxt道場というオンライン勉強会を開催しました。 macloud.connpass.com この勉強会は弊社でも扱っているフロントエンドのフレームワークであるNuxt.jsをテーマとした勉強会で、 株式会社Hajimari…

見えないエラーを見れるようにする & 効率化のため Rollbar を導入した話

こんにちは。エンジニアの鈴木(yamotuki)です。 今回は本番や開発環境でエラーが起こったときに、効率よく対応ができるように Rollbar というツールを導入した話です。 Rollbar とは 公式はこちら JavaScriptやPHPで発生したエラー詳細をSlack通知してくれ…

AWS LambdaからECS Fargateへの移行

こんにちは、久保田(@kubotak_public)です 今回は弊社で運用しているサービスであるM&Aクラウドのフロントエンドの実行環境をAWS LambdaからECS Fargateへ移行した話です。 まずは弊社のサービスが動いている環境は次のようになっていました。 フロントエン…

MeCabを使ってテキストクレンジングをする

こんにちは、M&Aクラウドのかずへいです。 弊社のサービス「M&Aクラウド」では、ビジネスキーワードと呼ばれるキーワードを使って買収・出資企業様と売却・資金調達企業様のマッチングを行っております。 ビジネスキーワードを入力している様子 このビジネス…

Feature toggles を複数の環境へ即時反映する仕組みを開発しました

こんにちは。エンジニアの濱田( @hamakou108 )です。 数ヶ月前にM&Aクラウドの feature toggles の仕組みを刷新したので、今回はその内容について紹介したいと思います。 Feature toggles とは? Feature toggles はアプリケーションのビルド時または実行…

生産性を落とす原因を可視化するためのサイクルタイム計測と施策について

はじめに こんにちは。エンジニアの鈴木(@yamotuki)です。 今回はエンジニアの生産性向上の施策として、Jiraを用いた計測手法と、やってみた施策について書こうと思います。 背景 ストーリーポイントの計測 ”ストーリーポイントとは?”についての詳細は他…

コード自動生成とDIを活用したレバレッジ指向なメールプレビュー機能を実装しました

はじめに こんにちは、エンジニアの津崎(@820zacky)です。 今回は、先日実装したLaravelでのメールのプレビュー表示、テスト送信機能についてご紹介します。 「メールプレビューはあると便利そうだけど、 メールごとにプレビューのための処理を追加する必要…

最適なメンテナンス運用方法に辿り着くまでの試行錯誤

こんにちは。エンジニアの塚原(@AkitoTsukahara)です ECサイトや自社サービスを運用していると、サービスを一時停止しなければならないケースがあります。そのためにはサービス形態やインフラ構成に適したメンテナンス運用方法を事前に用意しておく必要が…

Nuxt.js化計画vol.6

Nuxt.js化計画vol.6 第6弾です。 Nuxt.js化計画の概要についてはvol.1を参照ください。 また、過去のシリーズも通してリンクしているのでぜひ御覧ください。 tech.macloud.jp 今回はリプレースではなく、新規機能に伴う新しいページをNuxt.jsで構築しました…

Laravelで監査ログを実装する

ログハウス こんにちは、かずへいです。 M&Aクラウドサービスで管理画面に監査ログの記録機能を追加しましたので、その実装方法について紹介致します。 監査ログとは 実際の監査ログ画面 監査ログは監査証跡として、システム監査人が追跡するために、操作内…

「ナナメウエをいく」という開発バリューについて

こんにちは。エンジニアの濱田( @hamakou108 )です。 今回は開発チームのバリューの一つ「ナナメウエをいく」について紹介したいと思います。 開発チームのバリュー M&Aクラウドの開発チームでは行動指針として以下の三つのバリューを制定しています。 ナ…

Repositoryパターンの設計方針を維持しながらN+1問題を起こさないようにする方法論について

こんにちは。エンジニアの鈴木(@yamotuki)です。 今回はRepositoryパターンの設計方針を維持しながらSQLのN+1問題を起こさないようにする方法論について書いていきます。 前提 レイヤードアーキテクチャについて 弊社では、DDDの考え方を取り入れたレイヤ…

Laravel Meetup Tokyo Vol.13 Onlineで津崎がLT登壇しました

こんにちは、エンジニアの津崎( https://twitter.com/820zacky )です。 最近は燻製作りにハマっていて、よくベーコンを作っているのですが、 ベーコンの食べ過ぎでいよいよ自分がちゃんになりそうなフェーズに突入しております。 ぶたちゃん Laravel Meetup …

【AkitoTsukahara】中途入社しました。

みなさん、こんにちは! 今月よりM&Aクラウドにジョインしました塚原です。 ネット上では以下のアカウントで活動しております。よろしくお願いします! AkitoTsukahara (akito) · GitHub Akito.Tsukahara (@AkitoTsukahara) | Twitter 自分が入社するまでの…

開発のプロジェクト管理をGitHub ProjectsからJiraに移行しました

こんにちは。M&Aクラウドのかずへいです。 今年に入って開発のプロジェクト管理をGitHub ProjectからJiraに移行しました。 どのような意図で今回Jiraに移行したのかを紹介させてもらえばと思います。 GitHub Projectsを利用していたときの課題 GitHub Projec…

Nuxt.js化計画vol.5

Nuxt.js化計画vol.5 第5弾です。 Nuxt.js化計画の概要についてはvol.1を参照ください。 また、過去のシリーズも通してリンクしているのでぜひ御覧ください。 tech.macloud.jp 徐々に弊社アプリケーションのフロントエンドもLaravelからNuxt.jsに移行していま…

Vue Component をサイトの各所で別々の条件によって表示する機能を Nuxt.js + TypeScript で実装する

こんにちは。エンジニアの濱田( @hamakou108 )です。 先日、あるモーダルをサイトの各所で別々の条件によって表示する機能を Nuxt.js + TypeScript で実装する機会がありました。 このときの設計が他の場面でも応用できそうな知見としてまとめられそうだっ…

「レバレッジ指向」という開発チームバリューについて

こんにちは、エンジニアの津崎です。 前回の記事で、「全員インフルエンサー」という開発チームのバリューについて紹介しました。 今回もその流れを汲んで開発チームのバリューの紹介をしていこうと思います。 開発チームのバリューについて M&Aクラウドの開…

PHPerKaigi 2021 と「全員インフルエンサー」という開発チームバリュー

こんにちは。エンジニアの鈴木(@yamotuki)です。 昨年はPHPカンファレンス2020にチーム全員でプロポーザルを出し、4人が登壇することになりました。 今回は PHPerKaigi 2021 にまた全員でプロポーザルを出した話です。この記事を書いている時点ではまだ採…

新年の挨拶2021

あけましておめでとうございます。M&Aクラウドのかずへいです。 去年から大変な時期が続いておりますが、M&Aクラウドは順調に成長しておりまして、 仲間の増加に合わせて、この度オフィスを八丁堀から新宿御苑に移転することとなりました。 新オフィスのエン…

【Laravel】Laravelのスケジューラー経由で実行しているコマンドのログを詳細に取る

こんにちは、M&Aクラウドの荒井です。 以前に弊社の津崎がElasticBeanstalkのワーカー環境の導入について紹介させていただきました。 tech.macloud.jp 弊社ではその後様々な定期実行のスケジュールを移行し、安定稼働に至っています! ワーカー環境で実行さ…

Nuxt.js化計画vol.4

こんにちは、こんばんは、kubotak(@kubotak_public)です。 早いものでシリーズも第4回となりました。 前回の記事は以下です tech.macloud.jp 今回はログイン周りの仕様変更があり、それに伴いNuxt.js化を行いました。 新規登録の仕様変更 新規登録に関して…

A/B テストの基盤を構築した話

こんにちは。エンジニアの濱田( @hamakou108 )です。 先日M&Aクラウドのサイト上で A/B テストを本格的に導入していこうという話になり、そのシステム基盤を構築する機会がありました。 今回は A/B テストの基盤構築に至った経緯とどのように実装したのか…

PHPカンファレンス2020に弊社のエンジニアが4名登壇します🎉

こんにちは、M&Aクラウドの津崎(@820zacky)です。 弊社エンジニアの4名がPHPカンファレンスというイベントに登壇することとなりました 今回は、登壇が決定するまでの流れと、どんな発表をするか?というところを書きます。 PHPカンファレンス2020とは? phpc…

SEOの観点からの高速化の取り組み(募集詳細ページの高速化編)

こんにちは。エンジニアの鈴木(@yamotuki)です。 以前、こちらの記事 で速度改善の前の測定のためにSpeedCurveを導入したという話を書きました。 今回はSEOの観点から Google Search Console で警告が出たページについて速度改善を試みた話を書いていきま…