eviry tech & service blog

「株式会社エビリー」の社員ブログです。弊社では、クラウド型動画配信サービス「millvi」、ソーシャル動画データ及び分析サービス「kamui tracker」、YouTube総合メディア「かむなび」を開発・提供しています。https://eviry.com/

Selenium + Capybara + Turnip で始めるテスト自動化

初めまして。開発のukisuと申します。 4月からeviryでエンジニアをやっています。 eviryの開発フローとしてはこれまでブラウザの自動テストは行われていなかったようなので、 前職の経験を基に自動テスト導入の勉強会を実施しました。 この記事はその勉強会…

(初級編)サーバーの外部監視と内部監視について

はじめに プロダクト開発本部 ゼネラルマネージャーの⇧boraです。 開発本部では、クラウド型動画配信サービスの「millvi」とソーシャル動画データ及び分析サービスの「kamui tracker」の開発・保守を担当しています。 嬉しい事に、弊社では毎年新卒が入社し…

書籍の一文から拡げる技術陣マネジメント001

これは旧eviry tech blogから移行した記事です。 参考書籍 O'Reilly Japan - ベタープログラマ 以降書籍「ベ」とします エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング 以降書籍「エ」とします なお引用文中の改行は、ng…

cURLによるメモリリークとその調査の記録

これは旧eviry tech blogから移行した記事です。 早々にブログ記事の更新が厳しくなってきたので、 過去に社内ドキュメントにまとめたものを加筆再利用で公開してみようという試み。 これは案外うまくいった解決事例であり、実際にはこううまくいくことばか…

Jupyter Labでテーブル/LaTeX左寄せ

これは旧eviry tech blogから移行した記事です。 参考URL/書籍 Python - JupyterのMarkdownで表自体を左寄せしたい|teratail O'Reilly Japan - ゼロから作るDeep Learning コードを引用しました どういうこと? 以下を解決したい 眼球を必要以上に動かしたく…

terraform fmtの設定をIntelliJ IDEAでやる

これは旧eviry tech blogから移行した記事です。 事の起こり @minamijoyoさんのQiitaエントリ、 Terraform職人入門: 日々の運用で学んだ知見を淡々とまとめる にて Terraformでは terraform fmt というインデントなどのスタイルを揃えるコマンドを 公式に提…

gormでカラムにAUTO_INCREMENTを設定したテーブルを作る時の注意点

これは旧eviry tech blogから移行した記事です。 eviry開発のtkです。 現在Goを使ったwebアプリケーションを実装しており、その中でmysqlとの連携のためにgormを使用しています。基本的な使い方は公式ドキュメントに書かれているとおりなのですが、タイトル…

gomockでモックを使ったテストを実装する。

go go

これは旧eviry tech blogから移行した記事です。 eviry開発のtkです。 今回はGo関連のテスト用ライブラリである「gomock」を使ってみたので、その使い方などを共有します。 GitHub - golang/mock: GoMock is a mocking framework for the Go programming lan…

CircleCI LocalでGoとMySQLを連携させたテストを実行する。

これは旧eviry tech blogから移行した記事です。 eviry開発のtkです。 CircleCI 2.0からDockerを用いてローカル環境でテストやビルドを実行できるようになりました。 これを使って「MySQLと連携するGoアプリケーションをCircleCI Localでテストを実行する」…

『ソフトウェア開発者採用ガイド』の読書メモ

これは旧eviry tech blogから移行した記事です。 ソフトウェア開発者採用ガイド | Joel Spolsky, 青木 靖 「自炊」をはじめて一週間が過ぎたで書いたとおり「自炊」に励んでいたところ掲題書籍の番となり、メモが挟んであったのに気がついた。ついでなのでこ…

「自炊」をはじめて一週間が過ぎた

これは旧eviry tech blogから移行した記事です。 まったく業務に関係ないですが世界を2ジャンルにわけたらたぶん我々の側にくるだろうジャンル、 自炊 (電子書籍))をはじめて一週間がたち感じたことを書きます。 揃えたもの PFU ドキュメントスキャナー Scan…

wireを使ってgoでDIを実現する

go

これは旧eviry tech blogから移行した記事です。 tkです。 今回新しい試みとしてgoを使ったAPIサーバーを構築することになりました。 構成としてはcontroller/service/repositoryに分離し、テストも実装しながら進めていこうということになっています。 そう…

iOS12 フルスクリーンAPI のフィッシングアラート

これは旧eviry tech blogから移行した記事です。 fujiwaraです。 safari 12よりフルスクリーンAPI(webKitFullScreen)に対応したことで、iOS12で動画のフルスクリーン再生が簡単に実装できるようになりました。 しかしながらこのフルスクリーンモードでは、画…

定期的にDynamoDBにリクエストを送る仕組みをterraformを使って構築する。

これは旧eviry tech blogから移行した記事です。 eviry開発のtkです。 AWS DynamoDBというNoSQLを提供してくれているサービスは、キャパシティを設定することで読み込み・書き込みをさばくことができます。 また、このキャパシティはオートスケーリングに対…

解析環境をdockerに移しました。

これは旧eviry tech blogから移行した記事です。 eviry開発のtkです。 最近、色々なログを集計したり、弊社millviの利用状況を元に分析することが増えました。 ローカルのマシン以外に解析用のマシンもあるのですが、これまではそれぞれの環境に別々に実行環…

Localstack/Minioを使ってAWS Kinesis Firehose/S3のローカル開発環境をdockerで構築する

AWS

これは旧eviry tech blogから移行した記事です。 kamui trackerのエンジニアのkawashigeです。 kamui trackerでは現在アプリケーションの更改の設計を進めており、その中でAWS Kinesis Firehoseを利用することになりました。 AWSのマネージメントサービスは…

バグ報告をしてOSS貢献をする

これは旧eviry tech blogから移行した記事です。 どんなバグ? 非常に些末なバグ aws-sdk-go で ~/.aws/credentials に aws_secret_access_key = /\d{40}/が存在すると session.NewSession() でこける profile として明示的にしなくても、上記エントリが存在…

Fastly Yamagoya MeetUp 2018

これは旧eviry tech blogから移行した記事です。 fujiwaraです。 2018/10/25に行われたFastly Yamagoya MeetUp 2018 に初参加してきました。 Fastly? 弊社メンバーから噂に聞いていたFastlyですが、イメージとしては静的コンテンツだけでなくAPI等にも使える…

SonarQubeで「技術的負債」可視化を試みる

これは旧eviry tech blogから移行した記事です。 前回までのあらすじ 書籍の一文から拡げる技術陣マネジメント001 · eviry tech blog 負債とは一体なんなのかということを開発陣も明確にわかっていない そんな状態ではビジネスサイド(つまり非開発な人々)に…

Rubyで形態素解析を行ってキーワードを抽出する

これは旧eviry tech blogから移行した記事です。 kamui trackerのエンジニアのkawashigeです。 kamui trackerではYouTubeの動画のコメントからキーワードを抽出し、どのようなコメントがついているかをひと目で分かるような機能を提供しています。 上記キー…

簡単にできる動画処理〜シーンチェンジ検出

これは旧eviry tech blogから移行した記事です。 fujiwaraです。 HTML5 videoタグにより動画の再生が簡単に行うことができる昨今ですが、もう少し踏み込んでいろんな(変わった)ことをやっていきたいと思います。 今回はクライアントサイドのみ動作するシー…

IntelliJ IDEA で Wowza Module をデバッグする

これは旧eviry tech blogから移行した記事です。 こんにちは、yurakawaです。 millviでは動画配信の一部にWowza Streaming Engine(以下WSE)というメディアサーバを利用しています。 WSEは、機能を拡張するためにモジュールを開発することができ、その支援ツ…

ISUCON8の予選に出場しました。

これは旧eviry tech blogから移行した記事です。 millvi開発のtkです。 去る2018/09/16にISUCON8の予選に、弊社エンジニアのkawashige, yurakawaと一緒に出場しました。 僕は主にアプリの実装側の作業を担当しました。 予選当日までの準備や予選の日にやった…

オブジェクト指向設計実践ガイド ~Rubyでわかる進化し続ける柔軟なアプリケーションの育て方~ を読んだ

これは旧eviry tech blogから移行した記事です。 kamuitracker開発のhashimotoです。 オブジェクト指向設計実践ガイド ~Rubyでわかる進化し続ける柔軟なアプリケーションの育て方~ を読みました。 概要 オブジェクト指向設計についてRubyを使って体系的に説…

builderscon tokyo 2018 参加報告

これは旧eviry tech blogから移行した記事です。 builderscon tokyo 2018 のスポンサーになるにも書いたとおりに、 スポンサーになることができ、そのはずみから弊社開発陣の全員が参加しました。 それぞれが好きなものを好きなようにみるという形で現地集合…

builderscon tokyo 2018 のスポンサーになる

これは旧eviry tech blogから移行した記事です。 御礼 リチャード様をはじめとしたbuilderscon tokyo 2018 スタッフの皆様、素晴らしい記事をありがとうございます :bow: ご挨拶 builderscon tokyo 2018 参加予定の皆様、 はじめまして株式会社エビリー開発…

Alexaスキルを公開してみた、そして公開を取り下げてみた

これは旧eviry tech blogから移行した記事です。 ぶんぶんハローワールドワイドウェ〜ブ! どうも、エンジニアのharutaです。 早速ですがこちらの名称を聞いたことがありますでしょうか? まとめよんでースマホに送れるニュース読み上げ 5chまとめよんで 耳…

技術ブログの記事をWebから投稿する

これは旧eviry tech blogから移行した記事です。 どうも、YouTuberです。 みなさまごきげんよう、エンジニアのharutaです。 平成最後の夏なので記事を書こうと思います。 ・・・何が平成最後だよ、人生で最後かもしれないだろ!! 記事投稿をWebから 本題で…

Railsで非同期処理の実装

これは旧eviry tech blogから移行した記事です。 こんにちは。kamui tracker開発のhashimotoです。 kamui trackerでは、外部APIを利用するリクエストで、外部サービスの状況によって時間がかかったり、タイムアウトしてしまう処理がありました。 いろいろ対…

ElasticsearchとKibanaを更新する

これは旧eviry tech blogから移行した記事です。 millvi開発のtkです。 millviではアクセスログ収集・監視のためにElasticsearchとKibanaを使用しています。 これまでは5.6を使用していたのですが、現在はメジャーバージョンが更新されて6.3になっています。…