Appiumを使って、リグレッションテストを自動化する

みなさんこんにちは!、20卒入社の山口です。自分は研修後Optimal Bizの開発チームに配属になりました! 今回は自分が担当しているタスク、Optimal Biz(Android)のリグレッションテストの自動化の過程を紹介していきたいと思います。 【開発環境】 ホストOS(…

RedisのAOFファイルをBGREWRITEAOFを使って圧縮した話

皆さんこんにちは技術統括本部IDMチームの木村です。 今回は、開発サーバで発生した"Redis::CommandError: LOADING Redis is loading the dataset in memory"に対応した話をしていきます。 こちらのRedisエラーは原因を端的に書いてしまうと、AOFファイルか…

システムの仕様を競技プログラミングの問題風に帰着して解決してみた

はじめに こんにちは。AI サービス開発部の千坂です。 主に AI Camera のクライアント側アプリの開発をしています。 AI Camera は、AI による画像解析技術を用いてカメラ画像を解析し様々な課題を解決するサービスです。 例えば、あらかじめ設定した進入禁止…

Rust 1.46を早めに深掘り

定数で一部制御構文が使えるようになる、関数の呼び出し元を追跡出来るようになるなどの機能追加がされたRust 1.46の変更点を詳しく紹介します

複数のスクラムチームをまわすときのアンチパターン

こんにちはOptimal Bizチームの伊藤です。 直近のプロダクトで開発メンバー約20名を3つのスクラムチームに分け、同時に回すことでプロダクトを開発しています。 複数チームのスクラムにはLeSSやNexusなどのフレームワークがありますが、私たちのチームはその…

AWS上の開発/検証環境を利用時間外に停止することでインフラコストを削減した話

はじめに こんにちは、プラットフォーム技術戦略室SREチームの山田です。 今回はOPTiM Cloud IoT OSを運用する上で問題になってきたインフラコスト肥大化に対する最適化の対応の一つとして 開発/検証環境を利用時間外に停止し、インフラコストを削減した内容…

TorchScript入門【PyTorchモデルを変換してC++/モバイルで実行できるモデルを手に入れる】

まえがき R&Dチームの宮﨑です。今回はPyTorchのモデルをC++/モバイルから実行できるように変換してくれるTorchScriptについてご紹介したいと思います。本記事ではPyTorch 1.4.0を前提にしています。 8/26に発表するOPTiM TECH NIGHTでもLibTorch/TorchScrip…

Vue.js + Express + Typescript を同一リポジトリで開発する方法

こんにちは。プラットフォーム技術戦略室の青木です。 普段はLaravelやクラウドネイティブインフラストラクチャ、IoTなどの記事を執筆しています。 今回もLaravelの記事同様に、導入編となっています。 Express + Vue.jsの参考文献はあれど、Typescriptと併…

日本語正式サポートされた自然言語処理ライブラリspaCyのStreamlit可視化が超お手軽だった

R&D チームの徳田(@dakuton)です。 最近、spaCyの日本語版モデルが正式サポートされたのでいろいろ触ってみたところ、解析結果ビジュアライズを全部まとめるStreamlitアプリも同じ月に提供されていることがわかったので、今回はそちらを紹介します。 なお…

TFLite C++ API for Android ビルド手順メモ

R&D チームの奥村(@izariuo440)です。TensorFlow 2.3 以降、TFLite が XNNPACK で高速になりそうな機運を感じたので Android での性能を少し確認してみました。XNNPACK を有効化してスレッド数を適切に設定すれば、CPU でも従来の 1.2 〜 2.0 倍の FPS が…

GitLab CI/CDでMRごとにStorybookを公開しよう

GitLabのCI/CDを用いて,MR(Merge Request)ごとに Storybook を静的サイトとしてビルド・公開,MRがCloseされたときに静的サイトを非公開にする環境を構築します.

Rust 1.45を早めに深掘り

手続きマクロが広く使えるようになったRust 1.45の変更点を詳しく紹介します

外部サービスと連携するための開発の流れ

はじめに オプティムのOptimal Bizチームの于(う)です。入社してから新人研修の時期を除いてずっとOptimal Bizチームに所属しており、今は六年目です。 Optimal Bizに関しては以下を参照 www.optimalbiz.jp 最近ではOptimal Bizにはテレワークを支援するため…

CUDA で一時領域の確保・破棄を回避して速度低下を防ぐ

R&D チームの奥村(@izariuo440)です。今年も新卒が CUDA プログラミングを嗜んでいたところ、思ったより速度が出ないという話を聞いたので「CUDA で一時領域の確保・破棄を回避して速度低下を防ぐ」という対策をまとめました。Happy CUDing! 関連記事 tech…

Production Readyと開発プロセス改善

SRE

こんにちは。プラットフォーム技術戦略室SREチームの津田(@grim0h)です。 昨年の6月以来の投稿になります。 今回は、Cloud IoT OSに対して行なっているProduction Ready活動について紹介します。 ( この記事はInfra Study Meetup #3のLTで話した内容を詳細化…

iOS13 (Xcode11) プッシュ機能変更のあれこれ

はじめに こんにちは、初投稿になります!医療チームの山口です。 (ちなみに2020新卒入社の山口さんとは別の山口ですヨ!) 業務的には、主に医療チームのクライアント(Android, iOS)開発を担当しています。 ちなみに、プライベートではちびっ子一人を育…

負荷試験をしていたらMySQLと繋がらなくなってしまった話

皆さんこんにちは、技術統括本部IdMユニットの木村です。 最近は負荷試験とパフォーマンスチューニングを主に行っていて、検証中に起こってしまった事象に関して手元で簡易的に紹介していきます。 負荷試験を行っていた環境とは、RDSのAuroraを利用していた…

顔検出器CenterFaceで高速推論

まえがき R&Dチームの宮﨑です。CenterFaceをTensorRTで実装したところ、かなりの性能が出たので記事にしました。 日々様々なDNNを実装・計測しているオプティムですが、その中でアンカーフリーの顔検出としてピックされたCenterFaceが期待できる結果が出た…

物体検出器 EfficientDet をブラウザで高速推論

R&D チームの奥村(@izariuo440)です。EfficientDet がブラウザで動いているのを見たことがなかったので、やってみました。以下はブラウザで実行中の様子1です。 結果として、EfficientDet-D0 で 256x256 の解像度の画像を TensorFlow Lite で推論させると…

Rust 1.44を早めに深掘り

Rust 1.44の変更点を詳しく紹介します

「WebRTC Native Client Momo」のNVIDIA GPU(NVENC)によるハードウェアエンコードの性能検証

はじめに こんにちは。プラットフォーム技術戦略室の青木です。 普段はLaravelやクラウドネイティブインフラストラクチャ、IoTなどの記事を執筆しています。 業務ではPoCやR&Dを行うことが多く、今回はPoCとして正式導入を検討する上でのパフォーマンステス…

GitLab RunnerをGCPでオートスケールさせて安く運用する

こんにちは。Optimal Bizのサーバーサイドに関する開発を担当している伊藤です。 皆さんCIは何を利用していますでしょうか? Optimal BizではGitLab CI/CDを利用しています。 単体テスト・ビルド・デプロイ等CIの用途は多岐にわたりますが、実際にそれらを実…

WebRTC M83 リリースノートメモ

サービス開発統括本部のイチノです。攻殻機動隊 SAC_2045 を見ました! 今回は、2020年4月23日に公開された WebRTC M83 リリースノート について、私なりの解釈を交えたメモです。 WebRTC M83 は、2020年5月19日リリース予定 *1 の Chrome M83 に搭載されます…

Rust 1.43を早めに深掘り

Rust 1.43の変更点を詳しく紹介します

俺的【OAS】との向き合い方 (爆速でOpenAPIと友達になろう)

おはようございます。もうすぐ社会人ニ年目に突入のプレッシャーが辛い清田です。。 1年間私は開発に携わらせていただきました。Web開発でメンバ全員がOpenAPIを使っていたらもっとスムーズなのではないかと思いエゴ満載の記事です。その中で得たであろう俺…

AWS SageMakerローカルモードで学ぶコンテナベース機械学習

R&Dチームの徳田(@dakuton)です。 時系列分析に携わるエンジニア目線でコロナウイルスに関する動向を見ていると、短い期間で当てはまる予測モデルをつくるというよりは、カットオフ発生(データの分断点)を調べることが重要になるだろうと思いながら自宅で静…

Edge TPU の April 2020 Updates を追う

こんにちは。 前回の Edge TPU 更新からはや2ヶ月。今回の更新では、複数台の Edge TPU を使ってひとつのモデルをパイプライン実行できる API がベータ提供されました。より高速な推論ができる可能性が広がったということですね。この記事では Edge TPU Apr…

iOSでバックグラウンドファイルアップロード

iOSアプリでファイルのバックグラウンドアップロードを試してみた結果とコードをまとめてみました。Foundation FrameworkのURLSessionを使っています。

大規模コーパスでGoogle Cloud Speech To Text APIの精度検証を行う & アップデート内容の検証

どうもこんにちは!新型コロナウイルスの影響で卒業式が中止になった、2020年新卒入社予定の山口です。 今回はGoogle Cloud Speech-to-Text API(以下GST)を大規模コーパスで精度検証した結果と、GSTアップデートの検証内容について共有していけたらと思い…

Rust 1.42を早めに深掘り

Rust 1.42の変更点を詳しく紹介します