Swiftの非同期処理を比べてみる

はじめに それぞれの概説 コールバックによる非同期処理 PromiseKit Combine Swift Concurrency 比較 PromiseKitとCombineの関係 PromiseKitとSwift Concurrencyの関係 CombineとSwift Concurrencyの関係 まとめ 参考にさせていただいた記事など はじめに R&…

ノーコードAPI連携ツールn8nのノードをTypescriptで開発してみた

こんにちは、AI・IoTサービス開発部の濱村です。 前回はKubernetesについて投稿させていただきました。もし興味がありましたらこちらも見ていただけますと幸いです。 tech-blog.optim.co.jp 目次 目次 はじめに n8nとは 利用のしかた 実際にやってみたこと …

Rust 1.59を早めに深掘り

インラインアセンブリや分割代入ができるようになったRust 1.59の変更点を詳しく紹介します。

spaCy固有表現抽出(+Presidio)によるドキュメントの情報漏えいリスクチェック支援

公開時に匿名加工が必要な日本語ドキュメントのレビューにspaCy固有表現抽出を利用する手法の紹介

13億のパラメータを持つ日本語GPTでFew-shot推論を試してみる

こんにちは、R&Dの伊藤です。「〇〇 is all you need」系の論文が多すぎて何が本当に必要なのか悩みながら機械学習タスクに取り組んだりしています。 今回は先日公開されたrinna社の日本語GPTモデルを使って遊んでみた記事になります。 はじめに 日本語GPTモ…

TensorRT 8.2.2/8.2.3のリリースノート内容メモ

まえがき R&Dの宮﨑です。FORTNITEの入力を弄るツールであるダブルムーブメント(合法)がRustで書かれているのを見て低レイヤはRustで書くのがセオリーになりつつあるのかと実感している次第です。 今回はTensorRT 8.2.2/8.2.3のリリースノートの内容をメモし…

JWT(Json Web Token)を利用するためのOAuth 2.0拡張仕様での認可をGolangでやってみる

こんにちは。AI・IoTサービス開発部の青木です。 最近はWebフレームワークやチームビルディング系をやっていますが、 元々はIoTエンジニアとしてのキャリアを積むべくIoTに関わるプログラミングをメインでやっていました。 今回はOPTiM Cloud IoT OSや、OPTi…

フロントエンドエンジニアがAndroid Jetpack Composeで遊んでみた

はじめに こんにちは、AI・IoTサービス開発部の岩丸です。 前回はVuetifyで直面した問題について執筆を行いました。もしお時間ある方は合わせてご覧ください。 tech-blog.optim.co.jp また、2022/01/27(Thu)に開催されるOPTiM TECH NIGHTでは以前執筆したOPT…

Rust 1.58を早めに深掘り

フォーマット文字列で変数を直接参照できるようになったRust 1.58の変更点を詳しく紹介します。

Laravelで作る、OpenAPIによるAPIリファレンス自動生成 with GitLab CI

こんにちは。AI・IoTサービス開発部の青木です。 Laravelの最新バージョンに追いつけていない系エンジニアです。 今回はOpenAPIの導入をLaravelでやっていきたいと思います。 序盤はドキュメントをなぞるような形となってしまいますが、後半はそれらをGitLab…

Android で録画アプリを実装してみよう

明けましておめでとうございます! 今年も OPTiM TECH BLOG を宜しくお願いします。 お久しぶりです、医療ユニットの山口です。 2022 年初の記事になります。(恐れ多くも、去年に引き続き新年一発目の記事担当となりました。) さて、オンライン診療ポケッ…

OPTiM IoT Agent を GitLab CIでクロスコンパイルとパッケージング自動化

こんにちは。AI・IoTサービス開発部の青木です。 前回はチームリーダとしてのMTG運用方法などを投稿しました。 tech-blog.optim.co.jp OPTiM IoTではIoTデバイス関連のデバイスエージェントの開発も行っていまして、 デバイスのアーキテクチャやディストリビ…

「v-btnコンポーネントのテキストが折り返されない問題」における戦いのいく末を覗く

こんにちは、AI・IoTサービス開発部の岩丸です。 普段の業務では主に**Vue.js + TypeScript + Vuetify**と格闘しております。VuetifyやMUIなどのCSSライブラリを使用していると、非常に多くの恩恵を受ける反面デフォルトのCSS設定に悩まされることが多々ある…

不要なPCで最低限のWebサーバを作ってみる

こんにちは、OPTiM Storeの開発チームの半田です。 クラウドでサーバを構築したことはあっても物理サーバを構築したことはないなとふと考え、自宅で簡単にやってみることにしました。 不要なWindows 7のPCがあるので、これをCentOS 8のWebサーバにしてみます…

✨ 自分流絵文字で綺麗なコミット

gitのコミットメッセージを分かりやすく、楽しく絵文字で書く方法を紹介します。

PG BATTLE 2021 に参加しました

はじめに 問題の紹介と感想 ましゅまろ 1問目 物理現象グラフィックバトル 2問目 ゼロのない整数 所感 せんべい 1問目 7番勝負 2問目 連結成分数の見積もり 最小値について 最大値について 3問目 トーナメント表 4問目 [リ[[スー]バ][ズパ]ル] 所感 かつお…

Rust 1.57を早めに深掘り

定数文脈でもパニック出来るようになったRust 1.57の変更点を詳しく紹介します。

AlphaGoで学ぶ強化学習 ~次の一手を予測する将棋AIを作ってみよう~

こんにちは、R&Dの宮城です。 将棋の竜王戦が世間を賑わせる中、オプティムでも人知れず将棋AI vs 私の熱闘が繰り広げられていました。 今回の記事では強化学習について簡単に説明した後、次の一手を予測する将棋AIを作成し、作成した将棋AIと実際に戦ってみ…

Deep Learningによる異常検知デモ①:回転レーン上のブロックを撮影し、ブロックの位置とゲート跡を検出する

お久しぶりです、R&Dの加藤です。最近は「A列車で行こう~はじまる観光計画~」をコツコツ進めていますが楽しいですね。Steamでも公開されるそうなのでNintendo Switchを持っていなくてもプレイできますよ。 さて、今回はDeep Learningによる異常検知デモを作…

Storybookを活用して開発とデザイナー連携

こんにちは、AI/IoTサービス開発部のIoTサービス開発ユニットの下村です。 今回はOPTiM IoTサービスを開発するにあたりデザイナーとの連携をどのように行ったかについてご紹介したいと思います。 デザイン開発における課題 OPTiM IoTの開発におけるデザイン…

Rasa+GiNZAによるお手軽チャットボット作成

R&Dチーム所属の伊藤です。GiNZAについて検索しようとして(地名の)銀座についての結果が出てくると悲しくなります。 今回はチャットボットの作成についてです。前から気になっていたRasaを試してみたので備忘録がてらまとめてみました。 はじめに 準備 ドメ…

入社半年の新卒が、Ruby on RailsでOPTiM AI Camera Web APIの混雑状況取得を試してみた

はじめまして。AI・IoT サービス開発部所属、21 卒の岩丸です。 今回は「入社半年の新卒である私が、配属されたAI Cameraチームの公開 API(OPTiM AI Camera Web API)をRuby on Railsで試してみた」という内容となっております。 配属チームの理解をより深め…

EKSのワーカーノードで使用できるPodの制限緩和を行いました

はじめに こんにちは!技術統括本部SREユニットに所属している岡田です。SREでは、ちょっとしたテスト環境としてAmazon Elastic Kubernetes Service (EKS)を使用しております。EC2インスタンス(ワーカーノード)はセルフマネージド型ワーカーノードであり、…

1on1でコーチングをする

はじめに はじめまして!AI・IoTサービス開発部 開発マネージャーの高村です。 OPTiMでは隔週に上長とメンバーが1on1をする制度があります。 今回の記事では、IoTサービス開発ユニットが行っている1on1について書こうと思います。 1on1って何? 簡単に言うと…

Rust 1.56を早めに深掘り

Rust 2021が安定化されたRust 1.56の変更点を詳しく紹介します。

チーム間連携で定例会を激減させた話

こんにちは。AI・IoTサービス開発部の青木です。 今年度に入ってからOPTiM IoTというプロダクトのチームリーダとして開発を行っています。 新卒入社後初めてのチーム開発 + チームリーダで経験も浅いので、周りのスタッフに助けていただきながら推進していま…

EfficientDetによるドキュメントレイアウトを意識したOCR解析

R&D チームの徳田(@dakuton)です。 過去記事にて紹介したLayoutParserがバージョンアップ(v0.3.0以降)により、EfficientDetによるドキュメントレイアウト解析がサポートされたので動かしてみました。 技術解説 EfficientDetとLayoutParserの技術的な説明に…

深層距離学習(Deep Metric Learning)の基礎から紹介

こんにちは、R&Dチームの河野(@ps3kono)です。深層学習モデルの開発を担当しております。 今回は、画像分類、画像検査、顔認識や異常検知など様々な分野に利用されている深層距離学習(Deep Metric Learning)について紹介したいと思います。 Deep Metric Lear…

GiNZAのja-ginza-electraモデルでELECTRAベースの単語ベクトルを使用できるようにする

はじめに R&Dチーム所属の伊藤です。相も変わらず自然言語処理と格闘する毎日を送っています。 今回は個人的にとても楽しみにしていたGiNZA v5の新モデルであるja-ginza-electraを使って、前後の文脈を加味した単語ベクトルを求められるようにするまでの手順…

Nuxt.js + TypeScriptで新規プロジェクト作成

自己紹介 はじめまして、今年3月に中途入社しましたAI/IoTサービス開発部のIoTサービス開発ユニットの下村です。現在、OPTiM IoTでフロントエンド開発をしております。 今回は、そのOPTiM IoTで取り入れたNuxt.js + TypeScriptの新規プロジェクト作成につい…