aptpod Tech Blog

株式会社アプトポッドのテクノロジーブログです

5Gでのトランスポートプロトコルの評価

研究開発グループのエンジニアの酒井 (@neko_suki)です。 aptpod Advent Calendar 2020 の14日目を担当します。 研究開発グループでは、TCP/QUIC/UDP などのトランスポートプロトコルの製品適用に向けた検証を行っています。 今回の記事は前回の「5Gのネット…

AWS Lambda + Docker + TensorFlowを使ってサクッと推論APIをつくる

みなさま、こんにちは。研究開発グループと製品開発グループ に兼務で所属しております、きしだです。aptpod Advent Calendar 2020 11日目を担当します。今回は機械学習に関わるエンジニア向けに、最近AWSがリリースしたAWS Lambdaの新機能を利用して、サク…

これからの nginx のイケてる TLS 設定

はじめに Advent Calendar 2020 10 日目を担当する、SRE チームの柏崎です。 nginx をお使いのみなさま、TLS 導入が当然となっている現代、どんな設定をされていますでしょうか。 NGINX Config や SSL Server Test のようなサイトを利用し、セキュリティに気…

Pythonを使ってBDDでUSB機器を自動テストする

aptpod Advent Calender 2020、 9日目の記事です。 本日の担当は、組込み開発チームでFW開発を担当している矢部です。 はじめに 組込み機器の開発に関わって1x年ですが、入出力の自動化が難しい機器も多く、結局手作業になって無駄にボタン押下やUI操作の速…

アプトポッドに入社してみた

Advent Calendar 2020 8日目を担当します。ハードウェアグループの加藤です。 私は2020年2月にハードウェアエンジニアとして入社しました。10か月間業務を行って思ったこと、感じたことなどを書きます。

Webアプリケーション用の3Dモデルの作成フローと気をつけている3つのポイント

Advent Calendar 2020 7日目担当デザイン室の上野です。 デザイン室では製品や案件のUIデザインを行っています。 弊社のWebベースのダッシュボードアプリケーション Visual M2M Data Visualizerで可視化できるVisual Partsには3Dモデルを表示するパーツも存…

Rust+Quinnで大量のデータを送信する

aptpod Advent Calendar 2020の4日目を担当します、研究開発グループの大久保です。 2日目では、RustとQuinnでechoサーバを作成しました。今回は応用として、Quinnを使って大量のデータを送信し、パフォーマンス評価をしてみたいと思います。弊社内のユース…

5Gのネットワークを計測してみた

研究開発グループのエンジニアの酒井 (@neko_suki)です。 aptpod Advent Calendar 2020 の3日目を担当します。 研究開発グループでは、TCP/QUIC/UDP などのトランスポートプロトコルの製品適用に向けた検証を行っています。 aptpodの製品は車載などの移動体…

Rust+QuinnでQUICのechoサーバを作る

aptpod Advent Calendar 2020の2日目を担当します、研究開発グループの大久保です。 弊社では、新しいプロトコルであるQUICの利用法を調査しています。そこで今回は、RustのQUIC実装の1つであるQuinnを用いて、受け取ったリクエストをそのままクライアントへ…

intdashと自動運転シミュレータを連携させてみた

研究開発グループのエンジニアの酒井 (@neko_suki)です。 aptpod Advent Calendar 2020 の1日目を担当します。 今回の記事では、ROSに対応している3つのオープンソースの自動運転シミュレータと弊社製品のintdashを連携させて、自動運転シミュレータの画像や…

SphinxでPDFを出力するときに、表紙タイトルの折り返し位置を指定する

弊社では最近、PDF形式のドキュメントを作成するためにSphinxを使っています。1 Sphinxを使って、reStructuredTextからPDFを作成する 例えば、弊社では先日AWS Marketplaceにてintdash LE All-in-Oneをリリースしましたが、そのドキュメントはSphinxで作成し…

fpm を使って手軽に rpm パッケージを作ろう

はじめに こんにちは、SRE チームの柏崎です。 先日、intdash が AWS Marketplace にて提供開始されました。 これを期に、サーバサイドアプリをパッケージングするために、fpm というツールを使う機会がありました。 すっかりコンテナな世の中には地味めな話…

OpenBOMを使った部品表管理

はじめに ハードウェアグループのおおひらです。 所謂コロナ禍と呼ばれる状況になってはや半年が過ぎましたが、ハードウェア設計に携わっている皆様はいかがお過ごしでしょうか。 弊社では今年の2月中旬から原則リモートワークの勤務態勢になり、緊急事態宣…

WSL2でintdash Edge Agentを動かしてみました

エンベデッドチーム 久保田です。 開発環境をWSL2 (Windows Subsystem for Linux)へ移行しました。 タイミングよく、「WSL2でUSBデバイスを使ってみよう」という記事が出回っていたので、aptpod CAN-USB Interface (AP-CT2A) もWSL2で動かせるのではないかと…

Rustでバイナリを読み書きするのに必要なクレート3選

研究開発グループの大久保です。 当社の製品の中にはC/C++で書かれたものが存在し、その中には独自のバイナリフォーマットを取り扱うものが存在します。既存のコードとやり取りするようなRustのプロジェクトを起こすためには、その独自のバイナリフォーマッ…

CIの動的テストでclang sanitizerを使う

はじめに こんにちは、製品開発グループの落合です。主に エッジサイドミドルウェア(intdash Edge)の開発を担当しています。このintdash EdgeはC++で作成しているのですが、言語が何であろうと「面倒な事は自動化したい」ですよね。そして、特に面倒なのは…

入社後に経験したアプトポッドの文化とキャッチアップの取り組み

はじめまして、今回記事を書かせていただきますSREチームの金澤と申します。よろしくお願いいたします。 自己紹介 前職はとある会社の情報システム部門に在籍して自社のサーバやネットワークの管理といった社内インフラのあれこれを担当していました。 そん…

intdashとオリジナル治具を使って動画エンコード遅延測定をしてみた

はじめに 動画ストリーミングサービスにおいて、動画の遅延を測定したいというニーズは多いと思います。 動画が遅れる要因として以下3つが主に考えられると思います。 ネットワークの遅延 アプリケーションで行う処理による遅延 動画エンコード遅延 動画デ…

React開発のコンポーネント構成とテストツールの紹介

はじめに こんにちは、aptpodに入社しそろそろ1年になりますWebチームの松本です。 aptpodでは日々フロントエンドエンジニアとしてReact/TypeScriptを用いた、お客様向けアプリケーションのUIを実装しています。 Reactは実は入社してから初めて触ったフレー…

GluonCVのモデルをSageMaker Neo + Jetson tx2 + DLRで動作させてみる

研究開発グループで機械学習に関係する仕事を担当している瀬戸です。前回は、fastaiで学習に使う関数をApache MXNetで真似してみた - aptpod Tech Blogを紹介させて頂きました。今回は、SageMaker Python SDKのMXNetで利用できるGluonCVのモデルを、SageMake…

ROSの任意トピックをC++ノードでPublish/Subscribeする方法

はじめに 製品開発グループの野本です。 組込ソフトウェアエンジニアとしてデータ収集用端末のソフトウェア開発を担当しています。 今回はROSの取り組みの一環として、C++で任意のトピックをPublish/Subscribeする方法についてご紹介します。 はじめに 背景 …

フロントエンドエンジニア目線のデザインチェックリスト

Webチームの蔵下です。先日、弊社デザイナーの高森が公開した記事「コンポーネントを活用したアプリケーション群のデザイン」で紹介したように、aptpodではフロントエンドエンジニアとデザイナーとで、頻繁に議論を重ねながら開発を進めています。 開発中も…

コンポーネントを活用したアプリケーション群のデザイン

aptpodデザインチームの高森です。ウェブアプリケーションのデザインをメインにスマートフォンアプリケーションや印刷物のデザインを担当しております。現在aptpodでは、intdashのサービスを利用するための周辺アプリケーションを開発中です。関連するアプリ…

SphinxとLuaLaTeXで、日本語PDFマニュアルを作る

アプトポッドにて、テクニカルライターとして製品マニュアルの制作を担当している篠崎です。 現在弊社では、製品マニュアルの制作に、Sphinxを導入しようとしています。Sphinxは、1つの原稿ファイルからHTML、PDF等を出力できるドキュメントジェネレーターで…

Turtlebot3の実機を使ったSLAMとNavigationをAWS RoboMaker上でやってみた

研究開発グループの酒井 (@neko_suki)です。 今回は、「Turtlebot3の実機を使ったSLAMとNavigationをAWS RoboMaker上でやってみた」という取り組みについて紹介します。 SLAMは、Simultaneous Localization and Mappingの略で、ロボットによる自己位置推定と…

Reduxを用いる時にオススメしたい3つのTips

はじめまして!WEBチームの黒川と申します!昨年7月にaptpodに入りましてもうすぐaptpod歴1年になります! aptpodでは主にフロントエンドエンジニアとしてReact/TypeScriptを用いて、お客様向けアプリケーションのUI部分を実装しております。 ご存じの方も多…

【Web NFC】JavaScriptでNFCタグのデータを読み書きしてみた

Webチームの蔵下です。Chrome 81でWeb NFCが試験的に導入されました! ちょっと変わり種なのでネット上ではあまり話題にならなかったのですが、個人的にはビッグニュースでした。 Web NFCを使うと、下記のTweetのような実在するカードとWebサイトを組み合わ…

通信遅延発生時にTurtlebot3を安全に遠隔制御する技術

先進技術調査グループのエンジニアの酒井 (@neko_suki)です。 過去に2回、Turtlebot3の遠隔制御について紹介をしました。 tech.aptpod.co.jp tech.aptpod.co.jp 今回は、ネットワークの切断やほかの要因によって大幅な通信遅延が発生した際に、Turtlebot3を…

Visual M2M のデザインについて

はじめに デザイン室 @tetsu です。 弊社aptpod製品 Visual M2M (以下VM2M) について、ありがたいことにお客様から「デザインが良い」とお褒めをいただくことが多いとのことで、デザインについての記事を書いて欲しい。 そんな話で営業チームからおだてられ…

fastaiで学習に使う関数をApache MXNetで真似してみた

はじめに 先進技術調査グループのせとです。本ブログでは、Apache MXNetを用いてfastaiで実装されている実践的な関数を真似てみた結果を紹介します。この試みのゴールは、完全一致の結果を目指すのではなく同じような傾向を得られるかを目指したものになりま…