メディアエンジン株式会社さんのフィード

https://zenn.dev/media_engine

テクノロジーを活かしたメディア運営をしております。「属人化をなくすこと」と、「人は人がやるべき仕事を!」をキーワードに日々開発に取り組んでおります。

フィード

記事のアイキャッチ画像
戻り値を適切に設定して、メソッドの呼び出し階層を浅くしよう
メディアエンジン株式会社さんのフィード
対象戻り値の使用法に不慣れな初級プログラマー戻り値やメソッド分割の指導方法に悩んでいる経験豊富なプログラマー私の所属するチームのメンバー はじめにプログラミングの初心者は、コードを書く際に変更を繰り返し過ぎてこじれてしまうことがあります。すでに組まれたコードに機能を追加したり、変更を加えたりすることで、コードが複雑化してしまいます。これは、プログラミングの初心者だけでなく、既存のコードに変更を加えることで、経験豊富なプログラマーにも起こり得ることです。先日、私はそのように複雑化したコードのちょっとした見落としをしたため、利用部門とユーザーに迷惑をかけてしまいました。...
1年前
記事のアイキャッチ画像
フェイクオブジェクトを活用したテストコードの信頼性の改善
メディアエンジン株式会社さんのフィード
はじめに弊社では、テスト自動化のために、スタブなどを用いたユニットテストと実際のDBなどへ接続するインテグレーションテストを併用していました。しかし、スタブを用いたユニットテストでは、一部のバグを検出できずにすり抜けてしまう問題に遭遇することがありました。この問題はより多くのインテグレーションテストを書くことで対処できますが、システムが大きくなるにつれてCIの実行時間が大きく増加してしまうという課題も出てきました。(この課題への対策についても、また別途記事にしたいと考えています)より現実的な解決策を求めて調査などをした結果、一部のユニットテストをフェイクオブジェクトを用いた手...
1年前
記事のアイキャッチ画像
Nuxt 3のServer Routesでmswを使おうとしてハマった話
メディアエンジン株式会社さんのフィード
はじめに弊社では、現在、社内プロダクトの開発でNuxt 3を実験的に採用しています。既存プロダクトの中にNuxt 2を使用して開発しているものがあり、将来的なアップデートに向けて、まずは比較的リスクの低い社内プロダクトから実験していきたいなどの意図があります。そんな中、Nuxt 3における開発でmswを利用しようとしたところ、少々問題にハマってしまいました...この記事では、具体的にどういう方法で問題を解消したかなどについて解説していきます。 やりたいことNuxt 3にはServer Routesという機能があります。この機能を利用すると、例えば、server/api...
2年前
記事のアイキャッチ画像
OpenAPIを活用したスキーマの自動生成や型安全な開発について紹介
メディアエンジン株式会社さんのフィード
こんにちは、メディアエンジンの田中です!弊社では、主にフロントエンド開発の効率化やバックエンドとフロントエンドのエンジニアのコミュニケーションの円滑化などを目的として、OpenAPIを活用しています。この記事では、弊社でのOpenAPIの活用例などについて解説したいと思います。 OpenAPI SpecificationとはOpenAPI Specificationでは、特定の言語に依存せずにREST APIの仕様を記述するためのフォーマットなどが定義されています。https://swagger.io/specification/このOpenAPI Specificatio...
2年前
記事のアイキャッチ画像
Node.jsをv12からv16へアップデートした話
メディアエンジン株式会社さんのフィード
はじめにメディアエンジン株式会社の田中です!最近、フロントエンド開発で利用しているNode.jsをv12からv16へアップデートしたため、それについてお話しさせていただきます。 実施したことまず、CircleCIで使用するDockerイメージのNode.jsバージョンをv16へ更新しました。 default: working_directory: ~/<project-name> docker:- image: circleci/node:12.22.0-stretch+ image: circleci/node:...
2年前
記事のアイキャッチ画像
GoのWebアプリをテストするノウハウ
メディアエンジン株式会社さんのフィード
メディアエンジン株式会社の田中です!Webアプリに限った話ではないものの、アプリケーションを安定して稼働させるためにはテストの自動化が重要だと思います。この記事では、Goで書いたWebアプリをテストする際に弊社で行っている方法やパターンなどについて紹介します。 APIのテスト実装したAPIをテストする方法について紹介します。ここではフレームワークとしてEchoを例に解説しますが、他のWebフレームワークでもある程度流用はできると思います。 EchoハンドラのテストEchoのハンドラ関数をテストする方法について説明します。ここでは下記2つの方法を紹介します。関数とし...
2年前
記事のアイキャッチ画像
早期リターンを書こう
メディアエンジン株式会社さんのフィード
自己紹介メディアエンジンの岩元(github)と申します。新卒から10年程度はメーカーの社内SEでCOBOLや色々な言語で書きつつ社内のいろいろなシステムに関わり、色々回り道をしてメディアエンジンにジョインました。なかなかバグを作ることの才能に恵まれているため、修正しやすいコードの書き方を覚えました。 はじめに多くの方は早期リターンまたはガード節と呼ばれるコーディングテクニックについてご存知だと思います。読みやすいコードを書く人が常に早期リターンを使うというわけではありませんが、必要な箇所では必ず使っています。基礎的かつベテランでも活用できていない場合もあります。大事な事...
3年前
記事のアイキャッチ画像
TerraFormでAmazon MQ(RabbitMQ)環境作成
メディアエンジン株式会社さんのフィード
はじめにメディアエンジン株式会社のナバロです!弊社では、たくさんのデータを活用して、メディア運営を行っております。そのため、たくさんのデータを取得する基盤システムが有り、分散処理を行っております。分散処理の基盤は Go 言語なのですが、今回新たに、機械学習システムを導入することになり、Python で実装されていたので、言語を超えたシステムのやりとりに AMazonMQ(RabbitMQ) というメッセージキューイング処理をしてくれるシステムを導入しました。弊社は、システム全般 TerraForm で管理してるのですが、RabbitMQ を立ち上げる際に日本語で解説され...
3年前
記事のアイキャッチ画像
Railsでどのコードをどこに書くかについてのガイドライン
メディアエンジン株式会社さんのフィード
自己紹介メディアエンジンの岩元(github)と申します。7月入社の3ヶ月目の社員です。新卒から10年程度はメーカーの社内SEでCOBOLや色々な言語で書きつつ社内のいろいろなシステムに関わりました。SEなのでコードを書くのより読むほうが多く、システムの設計に関心があり色々と調べました。実のところRailsは入社することが決まってから本格的に勉強したくらいなので、Rails的ではないことを言っている可能性があります。参考程度で考えていただけたら幸いです。 経緯入社してしばらくは、簡単目なチケットをもらっていました。地道にチケット消化してどのような開発文化を持っているかを身...
3年前
記事のアイキャッチ画像
めちゃくちゃ使われる業務システムのポイント
メディアエンジン株式会社さんのフィード
はじめにメディアエンジン株式会社のナバロです!弊社ではメディアの運営にまつわる事業を展開していますので、エンジニアチームでは、運営の効率化、自動化のための仕組みをいくつか用意しています。そのなかでも、特に、エンジニアでの運用コストが低く、かつ、ユーザー(社員)に利用されまくってる仕組みをご紹介できればと思います。 弊社の業務システムの種類を紹介弊社ではいくつかのパターンで業務システムを構築しております。※ユーザーは、メディアを担当している社員の方になります。Web アプリわかりやすいインターフェイスで様々な機能を提供自由度が高いJenkinsJ...
3年前
記事のアイキャッチ画像
Jestで不安定なテストをリトライできるようにする
メディアエンジン株式会社さんのフィード
はじめにこんにちは。メディアエンジン株式会社の田中です。突然ですが、JavaScriptコードのテストを書いていたら、不安定なテストケースが生まれてしまい、まれにCIが失敗するような現象に遭遇したことはないでしょうか?弊社でもフロントエンドのテストフレームワークとしてJestを採用しており、まれにそのような事態に遭遇することがあります...😭この記事では、Jestにおける不安定なテストケースへの対策について解説します。 jest.retryTimes()Jestには、標準で失敗したテストケースをリトライするための手段が提供されています。jest-circusパッケー...
3年前
記事のアイキャッチ画像
EC2にgitをインストールして再起動したらサイトが立ち上がらなくなった
メディアエンジン株式会社さんのフィード
はじめにはじめまして、メディアエンジン株式会社のナバロです!弊社で WordPress 環境を立ち上げることがあるのですが、その時に起こった奇妙な出来事を書いていこうと思います。 環境たちあげまずいつものように、AWS のコンソールから EC 2を立ち上げます。今回は WordPress を立ち上げるということで、下記の Bitnami の AMI を使っていました。https://aws.amazon.com/marketplace/pp/prodview-bzstv3wbn5wkq?ref=cns_1clkPro立ち上げると、こんな感じで表示されます(IP アドレ...
3年前
記事のアイキャッチ画像
インフラをHerokuからAWSへ移行した話
メディアエンジン株式会社さんのフィード
はじめにはじめまして。メディアエンジン株式会社の田中と申します。この度、弊社ではZennでテックブログを開設することになりました。これから開発などに関する様々な情報を発信していきたいと思います。早速ですが、弊社で運用しているシステムのインフラをHerokuからAWSへ移行しました。この記事では、移行に当たって実施したことなどについて解説させていただきます。 移行の経緯について弊社にて初期から開発しているシステムの中にはHerokuで動作しているものがありました。バックエンドにRailsとPostgreSQLを採用していることもあり、スムーズに開発などができることがH...
3年前