Web App

【Google Maps API × Vitest】VitestでGoogle Maps APIを用いた処理のテストコードを書こう

この記事について サービス開発統括本部 ソリューション開発部で農業プロダクトの開発を担当している西村です。 弊社でピンポイントタイム散布(以下、PTS)という防除のデジタル化サービスを展開しております。 PTSでは農地のデータを管理するため、Google Ma…

Laravelのタスクスケジュール機能を使った定期実行のやり方

はじめに はじめまして、DXビジネス開発部フィールドソリューションユニットの田村です。 テックブログ初投稿です、温かい目で読んでもらえますと幸いです。 普段の業務ではバックエンドの開発を行っており、主にGolangやphp(Laravel)などを使用しています。…

ポテンシャル新卒採用とIT研修 (2023年度版)

久方ぶりです。中野です。 本日は、オプティムのポテンシャル採用向けの新卒研修の近況について紹介したいと思います。 過去同様の記事を出しておりますが、これらの2023年度版になります。 tech-blog.optim.co.jp tech-blog.optim.co.jp また、採用ページに…

Vue2系からVue3系への移行における苦労話

はじめまして この記事について 移行前の環境 移行の流れ Vue 3.3 移行について 破壊的変更の対応について 1. v-model v-bind.syncについて 2. v-on.native 修飾子の削除について 3. vue-i18n 8.x → 9.x の破壊的変更対応 移行時の苦労 担当者曰く Vuetify2 …

IT未経験者が3か月で開発エンジニアに!4年目を迎えた新卒IT研修の内容をお伝えします

こんにちは、R&D チームの板垣です。月日が経つのは早いもので、2019年に新卒IT研修が始まってから今年で4度目の研修が終わり、職種問わず2019年から計71名のスタッフが現場に配属されていきました。 今回は、2019年に研修の記事を書いたきり更新をしていな…

【OPTiM IoT】 Webブラウザからリモートシェルによるリモート操作のアーキテクチャについて

こんにちは。AI・IoTサービス開発部の青木です。 弊社サービスの OPTiM IoT の開発チームに所属しており、 幅広いデバイスに対応するリモート操作なども視野に入れ、開発を行っています。 OPTiM IoTの目玉機能とも言える、WebブラウザからIoTデバイスのShell…

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

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

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

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

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

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

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

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

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

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

【作ってみた】川崎重工製産業用ロボット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と呼…

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

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

Appiumを使って、リグレッションテストを自動化する(Webサイト操作編)

みなさんこんにちは!、Biz-Devチームの山口です。 今回の記事は前回紹介した「Appiumを使って、リグレッションテストを自動化する」の続きで、Webサイトの操作について紹介していきます。 OPTiM TECH BLOG Advent Calendar 2020 12/21 の記事です。 前回の…

Firebaseを利用して個人ホームページを構築

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

SwiftUI で Web アプリという可能性

JavaScript 以外の言語を使ってフロントエンドの Web アプリケーションを記述するフレームワークについて,Swift の Tokamak を中心に解説します.

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

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

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

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

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

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

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

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

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

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

モノリシックなRuby on Railsアプリケーションの膨大なRSpecをGitLab CI/CDを使って並列実行する

はじめに こんにちは。Optimal Bizのサーバーサイドに関する開発を担当している伊藤です。 突然ですが皆さんは開発中、単体テストをどのように実施していますでしょうか。 Optimal BizではGitLabのマージリクエスト毎に単体テストを実施し、 その結果がマー…

Laravel + PPM をAmazon ECS(AWS Fargate)にデプロイしよう

こんにちは。プラットフォーム技術戦略室の青木です。 今までLaravelのアプリケーションを nginx + PHP-FPM でデプロイしていて、ある人に「PPMの方がダントツに早いで!」と聞きましたので今回初めて触ってみようかと思います。*1 Laravel https://github.c…

RSocket With Spring Boot + Vue.js アプリケーション

こんにちは、プラットフォーム事業部 DXユニットの高橋(@yukey1031)です。 先日開催されたOPTiM TECH NIGHT|Webアプリケーション/APIサーバフレームワークを語るLT大会で 「WebFluxでリアクティブなWebAPIのデモ」といった話をさせて頂きましたが、続けて…

rails s -d するとpuma workerが起動しない

技術統括本部の木村です。 皆さんRails使ってますか? 皆さんはサーバは何を使ってますか?unicornでしょうか、それともpassengerでしょうか、OPTiM Cloud IoT OS(CIOS)のIDMチームではrails5.2から標準になったpumaを利用しています。 検証環境 検証にはya…

ISUCON2019 予選に参加しました!

こんにちは、オプティムのプロダクト開発部でOptimal Bizのサーバーサイドを担当している伊藤です。 2019年9月7日10:00〜18:00に開催されたISUCON2019の予選に参加しました! 投稿が遅くなってしまいましたが、とても楽しかったのでレポートを上げたいと思い…

プログラミング未経験者が3か月で開発エンジニアに!~オプティムが本気で取り組む IT人財教育プログラムの全貌〜

R&D チーム新卒3年目の板垣です。8月になり、本年度から新卒・中途入社された方々はもう入社された会社に馴染んで、仕事が楽しくなってきた頃でしょうか。 さて、今回は 4/11(木) - 6/28(金) の約3ヶ月間にわたって弊社で行われた、19新卒向け「IT人財化教育…

Laravel+PostgreSQL+Vue.jsでSPA開発【チュートリアル】

はじめに 皆様こんにちは。OPTiM新卒1年目エンジニアの青木です。 前回は早押しボタンなんかを作っていました。 tech-blog.optim.co.jp 今回は、PHP フレームワークの Laravel を、PostgreSQL と Vue.js と組み合わせて作成する TODO アプリを通して紹介しま…

Rails LTSで古いRailsアプリを蘇らせる

はじめに 課題 Rails LTSについて 導入手順 1. configatronがyamlを読み込まなくなった。 2. Squirrelを利用した絞りこみがされなくなった。 おわりに はじめに サービス開発統括本部で、運用系の業務担当している寺田です。 主にOptimal Remote等のサービス…