Seleniumを実行するAPIサーバーを作成する

皆さんこんにちは、Optimal BizのAndroid 開発チームの山口です。 最近暑すぎてエアコンがないとリモートワークに身が入らない日々を過ごしています。 今回はプロダクトのテスト環境を良くするための下調べとして、簡易的なテスト環境を作成したので紹介して…

Rust 1.53を早めに深掘り

変数名などに日本語が使えるようになったRust 1.53の変更点を詳しく紹介します。

SAML とちょっと仲良くなるひとつのやりかた

祝日のない6月ですが、OPTiM はお誕生日のお祝い で今年も元気いっぱいです。 こんにちは、技術統括本部 の Kikuchi です。1年ちょっとぶりの登場となります。 中の人ですが、最近発表された OPTiM ID+ で SAML と戯れていました。 SAML わからない、わから…

Bunkai(日本語文境界判定器)でPDFテキスト抽出の改行位置をいい感じにする

R&D チームの徳田(@dakuton)です。 前回記事にてPDFの改行補正に関する記事を書いたあと、前回記事のような日本語文境界判定での利用に特化したBunkaiというライブラリが公開されたので、今回は続編として紹介します。 前回記事 tech-blog.optim.co.jp テ…

【AWS】App RunnerとCloudWatchで簡単サービス運用

こんにちは。AIサービス開発部の上原と申します。 2020年度に株式会社OPTiMへ新卒入社後、業務では主にバックエンドシステムの設計・実装やAmazon EKSを利用したサービス運用を担当しており、特に最近はKubernetesと格闘する日々を送っております。 さて、皆…

【初心者向け】 機械学習におけるクラス分類の評価指標の解説

こんにちは。R&Dチームの河野です。主な担当業務は機械学習モデルの開発です。 タイから日本に留学し、卒業後日本企業に就職していました。データ分析・機械学習の業務経験が3年程度で、R&Dチーム唯一の女性かつ外国人のメンバーです。 直近の仕事はディープ…

rust-bindgen で手軽に共有ライブラリを動的読み込み

R&D チームの奥村(@izariuo440)です。共有ライブラリを動的読み込み(動的リンクではない)できると、プラグインやアドオンによってアプリケーションを拡張可能にできて便利です。今回は、rust-bindgen を使って Rust 製アプリケーションから C API を持つ…

PyTorchとTorchScriptでFP16な推論を試してみた

まえがき R&Dチームの宮﨑です。最近Fortnite熱が再燃して毎日練習してますが肝心な時にポンプを外してばかりでへこんでいます。 今回はPyTorch&TorchScriptで推論をFP16で実行し、速度計測やプロファイルしてみました。 まえがき PyTorchとTorchScriptを用…

ARKit と LiDAR で 3 次元空間認識して SceneKit でリアルタイム描画

今回の記事では LiDAR スキャナで取得したメッシュの情報を SceneKit で自由にリアルタイム描画する方法を完結したコード付きで説明しています.すでに Web に情報が転がっている情報も多分にあるとは思いますが,私が以前調査した時にはなかなか断片的な情…

OJTの心得

こんにちはOptimal Bizチームの糸井です。 Optimal Biz、Optimal Biz Telework のWeb側の開発をしています。 私は2021年4月で新卒入社3年目になります。 先輩として新人を指導する側、新人として先輩方に指導される側、双方が相手の気持ちを考慮した接し方が…

TensorRTの演算精度・バージョンのメモ

TensorRT 歴3年となった R&D チームの奥村(@izariuo440)です。今回は、2021/04/12 に発表された Ampere 世代の各種 GPU に対して TensorRT でその性能を十分に引き出すために必要な知識をまとめておきます。FP16/INT8 をうまく使うと、推論速度が2〜4倍…

Vuetifyに依存したVueコンポーネントをnpmパッケージとして共有する方法

Vuetifyなどのライブラリに依存しているVueコンポーネントをnpmパッケージとして共有することが目的です。

spaCy(+GiNZA)でPDFテキスト抽出の改行位置をいい感じにする

R&D チームの徳田(@dakuton)です。 過去何回か、Tech Blog記事にてPDFやOCR、自然言語処理に関する手法を紹介してきましたが、今回もそちらに関連する内容です。 過去記事 tech-blog.optim.co.jp tech-blog.optim.co.jp tech-blog.optim.co.jp やりたいこ…

Vue.jsでJSONをQRコードに変換して画面に表示した話

はじめに こんにちは。技術統括本部 プラットフォーム事業部 東と申します。 数年前までCOBOLでプログラムを書いていたコボラーです。 現在はOPTiM Cloud IoT OS(以下CIOSと呼ぶ)のIoT機能のフロントエンドの開発をしています。 よろしくお願い致します。 開…

カンバンとバーンダウンチャートでタスクを管理したらチームがひとつレベルアップした話

こんにちはOptimal Bizチームの大脇です。 Optimal Bizの開発組織のマネジメントをしています。 チームマネジメントに興味を持っており、チームやそのメンバーの成果やエンゲージメントをどう高めていくかを日々考えています。 Optimal Bizは複数のチームに…

新鮮なアクセストークンを求めて(k6編)

こんにちは、SREの福谷です。 毎月投稿を目標にしようと考えていたのですが、早くもネタ切れの気配に怯えています。 あらすじ OAuth 2.0のトークンリフレッシュに非対応なツールがある 特にアクセストークンの有効期限が短い場合、アクセスできなくなる問題…

順序をもつ分類タスクで使える手法「label distribution learning」をご紹介

はじめまして、R&D チームの宮城です。業務では主に画像分類モデルの開発や精度改善を担当しており、現時点(2021年3月)でR&D唯一の文系学部出身です。 趣味はNBA観戦で、ジョージ・ワシントン大学時代の渡邊雄太選手(現トロント・ラプターズ)を生で見たこと…

Rust 1.51を早めに深掘り

定数ジェネリクスなどが使えるようになったRust 1.51の変更点を詳しく紹介します。

JaSST'21 Tokyoに参加しました。

こんにちは、Optimal Bizチームの片岡です。 先日オンラインで行われたJaSST'21 Tokyoに参加してきましたので、その参加レポートを書きます。 JaSSTとは JaSST ホームページ JaSSTとはJapan Symposium on Software Testingの略で、NPO法人ソフトウェアテスト…

ORM を GORM から SQLBoiler に変えた理由

Go

こんにちは。AI サービス開発部の千坂です。 Go に generics が入るのを密かに楽しみにしています。 今回は、Go 言語で使う ORM を GORM から SQLBoiler に変えた経緯を説明します。 個人で書く場合は ORM より生 SQL 派ですが、業務では開発効率重視で ORM …

時系列データを扱う新しい選択肢?! Amazon Timestream を試してみた

はじめに こんにちは。技術統括本部、DX推進部の張です。 留学生で中国から来て、日本文化が大好きで日本の企業に働くことになった社会人一年目です。 個人的なニュースは、最近サイバーパンク2077にハマっていて、よりいい画質のためグラボ買い替えを考えた…

Docker HubのRate Limitにやられた話

はじめまして、SREに所属している福谷といいます。 普段はKubernetes, Terraform, CI/CD等インフラに近いモノと格闘していることが多いです。 よろしくおねがいします。 ところで皆様、Docker Hubはお使いでしょうか。 かなり時間が経ってしまいましたが、Do…

【作ってみた】川崎重工製産業用ロボットduAro2をOculus Questで遠隔操作してみた

こんにちは、技術統括本部、DX推進部の横川です。 IoTやロボットが関連したDX案件の開発を主に担当しています。 今回は川崎重工業株式会社様のduAro2をVRで動かすモックアプリケーションを作成したため、その紹介をします。 こちらがデモ動画です duAro2 VR…

【OPTiM Cloud IoT OS 認証・認可編】OPTiM Cloud IoT OSのアカウントを使った認証・認可の実装【Node.js】

こんにちは。プラットフォーム技術戦略室の青木です。 前回投稿した記事では「OAuth2.0を利用したAPIの利用方法」でしたが、今回はOpenID Connectでの認証・認可方法を紹介します。 tech-blog.optim.co.jp 自社サービスの「OPTiM Cloud IoT OS(以下CIOSと呼…

OCR前処理としてのOpenCV超解像

R&D チームの徳田(@dakuton)です。 最近は画像とテキストの狭間にいます。 今回記事のまとめ 簡単にまとめると以下のとおりです。 いくつかの超解像(高解像度化)モデルがOpenCV extra modules(opencv_contrib)インストール + コード数行記述で導入可能 超…

Optimal Bizチーム (20新卒)勉強会の取り組み [品質向上、タスク自動化]

こんにちは、Optimal Biz開発チームの山口と片岡です。 私達20新卒は入社してからもうすぐ1年が経過し、日頃行っている業務や個人で行っている勉強などで知見が溜まってきました。 そこで同じチームの20新卒の同期たちと「Optimal Biz チーム(以降 Biz チー…

Rust 1.50を早めに深掘り

便利な関数が色々と使えるようになったRust 1.50の変更点を詳しく紹介します

OPTiMサービスSDKのOSS公開をはじめました

こんにちは、プラットフォーム技術戦略室の和田です。 このたび、OPTiM Cloud IoT OSを利用するためのツールのOSS公開をはじめました。今回は、その経緯と、作成したOSS公開チェックリスト(第1版)をご紹介します。 経緯 OPTiMでは、AI・IoT・Robotics活用…

【OPTiM Cloud IoT OS API利用編】OPTiM Cloud IoT OSのアカウントを使ったOAuth連携の実装

OPTiM Cloud IoT OSの認証・認可機能を利用しシングルサインオンを実装します。JavascriptのOSS passport.js を利用し、簡単に実装できるようにしました。

遅いコードに出会ったら (1)

手を入れず 定めて測って 再検討 手を入れるのは 先のまた先 R&D チームの奥村(@izariuo440)です。ソフトウェア開発をしていると遅いコード*1に出会う*2ことがよくあります。私なりの習慣で対処していますが、これまで言語化できていなかったので挑戦して…