サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPad Air
note.com/navitime_tech
この記事は、NAVITIME JAPAN Advent Calendar 2024の12日目の記事です🎄 こんにちは、広葉樹です。 ナビタイムジャパンで地図フレームワークエンジニアを担当しています。 本日は、当社の『ドライブサポーター』など一部アプリの地図に描かれている「道沿い注記」について、書き方や工夫点を交えてご紹介いたします。 そもそも注記って?まずは皆さん、地図の「注記」というものがどういったものかご存知でしょうか?例えばChatGPTで「注記」の意味を聞いてみると、 説明や補足を記載すること 特定の内容に注意を喚起すること といった説明がされますが、こと地図における「注記」は、地図上に記載される下記情報を指します。 文字列、数字 記号(アイコン) つまり、地図上に書かれている駅名、国道や駅のアイコンなどは全て注記という言葉でまとめて表せます。 (左)横書きの地図注記例 (右)道
こんにちは、山Rです。 ナビタイムジャパンでカーナビアプリ『カーナビタイム』のデザインを担当しています。 『カーナビタイム』は、タクシードライバーをはじめとするプロのドライバーのみなさまにも多くご利用いただいています。以前から、タクシーに関する新機能のご要望を多数いただいており、2024年11月のリリースでは、これらの声をもとにタクシードライバー向けの7つの新機能を追加しました。モードを切り替えるだけで、タクシー専用のカーナビとしてご利用いただけます。 🚕7機能の詳細🚕 ①抜け道を含むプロドライバー向けルートの強化 ②タクシー乗車禁止地区の地図表示 ③タクシー乗り場の地図表示 ④通り・坂・橋・トンネル名の地図表示 ⑤駅の終電時刻アイコン表示 ⑥営業エリアに合ったタクシー運賃目安表示 ⑦タクシー運賃到達圏表示 https://corporate.navitime.co.jp/topics
こんにちは、タケです。 ナビタイムジャパンで『NAVITIME Travel』など旅行に関するサービスに携わっています。 今回は2024年1月から運営を開始した、インバウンド(外国人が訪れてくる旅行のこと)向け新幹線チケット手配サービス『Japan Travel by NAVITIME』について、最近のインバウンド事情も交えてお話しします。 最近よく見かけるようになった外国人旅行客にはどんな課題が潜んでいるのか… 気になる方はぜひ最後までご覧ください! このnoteで得られる情報 ・2024年の「インバウンド×新幹線」事情 ・「インバウンド×新幹線」に潜む2つの課題 ・新サービス『Japan Travel by NAVITIME』の魅力 2024年のインバウンド事情サービス紹介の前に、まずはインバウンドの新幹線事情についてお話しします。 コロナが落ち着きはじめ、訪日外国人の数は急激に増加し
そのプロジェクトにはWebフロントエンド開発をメインで行っているエンジニアがおらず『ALKOO』の法人向けサービスである『ALKOO for Business』の紹介サイトの更新ができていないという課題がありました。 今回その紹介サイトのリニューアルを行うことになり、普段Web開発を行っているエンジニアとしてその開発を任されました。 更新しやすいサイトにしたい法人向けサービスの紹介サイトでは、サービス自体の説明はもちろんですが、どういった企業や自治体が導入しているのか、どのように活用しているのかという情報もマーケティング上重要になります。 しかし、紹介サイトの更新をできる人がいないために、多くの企業・自治体に新たに導入いただいていたにもかかわらず、その事例を紹介できていませんでした。 更新がしにくい理由として、サイトがHTMLをそのまま公開する形式になっていることがありました。 各ページ共
🎄この記事はNAVITIME JAPAN Advent Calendar 2023の4日目の記事です こんにちは、ネコ派メタラーです。 ナビタイムジャパンでスポットデータ運用基盤の開発を担当しています。 開発業務を担当する一方で品質管理部門にも所属しており、開発プロセスの改善を通してプロダクト品質を改善する活動もしています。 開発プロセス改善の一環で、今年8月からテスト駆動開発 (Test Driven Development、以下「TDD」) を学ぶ社内勉強会を開催しています。この記事ではこの勉強会の運営、および得られた効果についてご紹介します。 きっかけ当社の品質管理部門では、自動単体テストの実装を推進し、網羅率改善などの成果を挙げてきました。一方、親和性が高いテクニックとして TDD に言及する機会もありましたが、価値を認めつつも従来の開発手法からなかなか脱却できない実態がありまし
こんにちは、みみぞうです。 ナビタイムジャパンで『システムや開発環境、チームの改善』を担当しています。 今回はターミナルで動くGitクライアントツール『GitUI』を紹介します。 本稿は以下のいずれかに当てはまるような方をターゲットにしています。 ターミナルで動くGitクライアントツールを探している方 NeovimからシームレスにGitの操作をしたい方 Windowsで使えるGitクライアントツール探しに困っている方 ℹ️ Neovimは、Vimをベース拡張性を考慮してモダンな技術で作られたプロダクトです。 GitUIとは『GitUI』はターミナル上でもGUIのように快適なGit体験を提供するOSSのツールです。 GitUI provides you with the comfort of a git GUI but right in your terminal extrawurst/gi
こんにちは、ふた月です。 ナビタイムジャパンで主にサーバーサイドのシステム開発や公共交通データの運用改善を担当しています。 今回は公共交通データの運用改善を進める中で、学習や調査向けのデータ可視化に Jupyter を使用した事例を紹介します。 Jupyter とはJupyter はインタラクティブにプログラミングやデータ分析を行うための Web アプリケーションです。Python で利用されることが多いですが、数十のプログラミング言語に対応しています。JupyterLab や Visual Studio Code を利用してローカル環境で利用する他、 GCP、 Azure といったクラウド環境上でも動作環境が提供されています。機械学習でよく用いられている Google Colaboratory にも Jupyter が利用されています。 向き合いたい課題当社では経路探索や案内情報の提供の
こんにちは、とっきーです。ナビタイムジャパンの研究開発部門で、バスデータの運用や改善に取り組んでいます。 オンデマンドバスとは オンデマンドバスとは、通常の路線バスとは異なり、移動の需要に合わせてフレキシブルに走行するバスのことです。 一言でオンデマンドバスと言ってもいくつかの種類に分けられます。 オンデマンドバスの種類 「地域公共交通と連携した包括的な生活保障のしくみづくりに関する研究」(https://www.iatss.or.jp/common/pdf/research/h2298.pdf)をもとに作成 地域住民の足として使われたり、観光の促進のために使われたり。 最近では都心部でも交通空白地帯を埋めるために走っていることがあり使い方によってはとても便利です。 当社での導入事例 これまで当社で導入していたバスはほぼ定時定路線の路線バスに限られていました。 「路線固定型」「迂回型」のオ
こんにちは。総長と、ばくちくです。 2人ともナビタイムジャパンで、バスデータの開発を担当しています。 2021年3月2日(火)、ナビタイムジャパンは全国のコミュニティバスカバー率100%を達成しました。 2018年1月の路線バスカバー率100%に続いての達成です。これまではバスデータがなく徒歩経路でしか案内ができていなかった場所も、最適な案内が可能となりました。 そこで今回は、コミュニティバスの100%導入までに、我々がどのようなことを行ってきたのかをお話します。 コミュニティバス100%導入のはじまり2018年1月に路線バスカバー率100%導入を達成し、全国のバス経路を提供することができるようになりました。しかしながら、社内のバス路線有識者が「バスだけで移動する全国縦断マップ」を作成しようと試みたところ、ところどころ経路が繋がらない箇所がありました。 そこを埋めることができるのが、コミュ
こんにちは、はちべーです。ナビタイムジャパンで『カーナビタイム』などカーナビ系アプリのマネジメントとiOSアプリの開発を担当しています。 この記事では、『カーナビタイム』がこれまでどのようにCarPlayに対応して、進化してきたかをご紹介いたします。 と、その前に、まずは『カーナビタイム』をご存知ない方に説明させてください。 『カーナビタイム』とは当社が App Store と Google Play ストアで提供している、カーナビアプリになります。以下のサイトでも紹介していますが、 主な特徴としては以下になります。 通信圏外でもルート検索・音声案内が可能 AIを活用して、ドライバーの好みに合わせたルートが出せる 抜け道を利用した渋滞回避ルートを案内 トラックやタクシー、配達ドライバーにも便利なプロ向け機能 Apple CarPlayとはでは、本題のCarPlayですが、聞いたことない方も
2019年の記事ですが、まだ読んだことが無い方は一読してみることをおすすめします。 また、先日行われたDroidKaigi2022でのセッション、「Android アプリの内と外をつなぐ UI」でも、Edge-to-edgeの紹介がありました。 その中では、どんなアプリがEdge-to-edgeを採用すべきかという問いに対して、全てのアプリ、という回答が示されていました。 理由としては、foldable、タブレット、Chromebookといった様々なフォームファクタでのアプリ表示や画面分割など、様々な状態に対応するための第一歩がEdge-to-edgeだから、とのことでした。 また、androidxで提供されているスプラッシュライブラリ(androidx.core:core-splashscreen)もEdge-to-edge対応をしてある前提で作っているという言及もありました。 今はEd
こんにちは。走る鳥です。ナビタイムジャパンでSREを担当しています。 新規でWebサービスを構築した際に、OpenAPIの仕様書をもとにコードを生成することで、APIとクライアントの開発効率をアップしました。バックエンドはGo、フロントエンドはTypeScriptで開発しましたので、これらの言語向けのコード生成の手法について紹介したいと思います。 OpenAPIについての説明や、仕様書の編集・閲覧に便利なツールについては、こちらの記事で紹介していますので、併せてご参照ください。 Stoplight Studioを使ってREST APIのスキーマ駆動開発に対するハードルを下げる|NAVITIME_Tech|note 開発言語・環境バックエンド Go 1.18 aws-lambda-go v1.32.0 AWS SAM (API Gateway + Lambda) oapi-codegen v
こんにちは、うつぼです。ナビタイムジャパンで『NAVITIME』アプリのAndroid開発を担当しています。 2年前より『NAVITIME』Androidアプリのリアーキテクチャを推進していました。私はリードエンジニアとして、開発や設計、レビュー、そして開発チームの最適化などを行ってきました。 この度それが完了したため、導入したアーキテクチャや開発の工夫を振り返ろうと思います。 ※リアーキテクチャは、リニューアルの一環として行われ、アプリとしてはUIも新しく刷新しています。リニューアルしたアプリは現在、GooglePlayにて段階的に公開しています。 なぜリアーキテクチャするのか、リアーキテクチャ開始時の構想などについては下記をご覧ください。 アプリの構成リアーキテクチャを振り返る上で必要な、アプリの構成です。 MVVM + レイヤードアーキテクチャ Databinding 画面はFrag
はじめにこんにちは、yoshi です。ナビタイムジャパンでサーバーサイド開発を担当しています。 近年盛り上がっているメタバースですが、そのプラットフォームとして Decentraland や The Sandbox などが有名です。そのサービスの根幹を支えている技術の一つが分散ファイルシステムである IPFS (InterPlanetary File System) です。日本語に翻訳すると「惑星間ファイルシステム」となります。オシャレですね。 この技術は将来的にはどんなサービスでも利用できると考えられるため、この技術がどういうものなのか、セキュリティ周りも含めて調べてみました。 IPFS (InterPlanetary File System) とはIPFS は P2P ネットワーク上で動作するコンテンツ指向型のハイパーメディア分散プロトコルです。コンテンツは特定サイズのブロックに分割さ
こんにちは、航法マスター です。 ナビゲーション向けの測位技術の研究開発を18年やっております。 車載向けのカーナビ、PND、スマートフォンのナビゲーションアプリ、と時代とともにナビゲーションのプラットフォームが変化してきています。それとともに、より利用者側への金銭的な敷居は下がった一方で、開発者側の難易度は反比例して上がっています。据え置きのカーナビは設置も固定、車速パルスが入力してある、GNSS(GPSやみちびきなどの衛星による測位システムの総称です)の精度も全て同じと恵まれた環境でした。スマートフォンは設置方法もバラバラ、測位精度もまちまちです。そのため、位置精度を担保するにも古いやり方では通用しなくなっており、ユーザーの走行ログを活用した新しい方法について紹介します。 ナビゲーションにおける位置精度スマートフォンではGNSSによって測位できますが、測位情報だけではナビゲーションは実
こんにちは。見習いスパルタ人1号です。ナビタイムジャパンで地点検索基盤の開発を担当しています。 第1回では住居表示法について、第2回では地番住所について解説しました。第3回となる今回は地番住所のコーナーケースについて解説するとともに「計算機で扱う日本の住所」の総説を行います。 前回から時間が空いてしまい申し訳ないですが、今回の内容は前回までの内容を前提としている箇所がありますので、復習がてらお読みいただくとすんなり理解できるかと思います。 ヘッダ画像から察した方もいらっしゃるかと思いますが、今回は京都の通り名住所についても解説します。 丁目がある≠住居番号があるここまで住所の基本ルールを解説してきましたので、ここからは基本ルールから外れる住所について解説したいと思います。まずは陸上自衛隊 武山駐屯地を見てみましょう。 住居表示実施済みの区画に所在する国有施設の住所は無番地となりません。たと
この記事は、NAVITIME JAPAN Advent Calendar 2020の 11日目の記事です。 こんにちは、けんにぃです。 ナビタイムジャパンで公共交通の時刻表を使ったサービス開発やリリースフローの改善を担当しています。 今回は Python のプログラムが遅い時に、その原因をどうやって調べれば良いのかを調べる方法について説明しようと思います。 私は今回説明する方法を使って処理時間が 70 分もかかっていた Python プログラムのボトルネックを特定し、処理時間を 15 分まで改善しました。 遅いのは Python だからなのか?Python で書いたプログラムが遅いとき 「まあ Python は遅いからしょうがないよね」 「並列化すれば早くなるんじゃない?」 といった話をしたことはないでしょうか? 確かに他の言語と比べると遅い方ではあるのですが、そんな Python でも遅
こんにちは、けんにぃです。ナビタイムジャパンで公共交通の時刻表を使ったサービス開発やリリースフローの改善を担当しています。 今回は GUI 操作を全自動化した話をしようと思います。いわゆる RPA と呼ばれる自動化の話です。 GUI と CUI何らかの作業を行うときに皆さんは GUI と CUI のどちらを使いますか?どちらを使うべきかはケースバイケースだとは思いますが、どのように使い分けるのがベストなんでしょうか。少し考察してみたいと思います。 私は下記のようなケースでは GUI を使用します。 ・非開発者が行う作業 ・グラフ化などの視認性が求められる作業 ・色の確認などの UI のテスト一方で下記のような状況では CUI を使用しています。 ・正確さが求められる作業 ・作業スピードの向上 ・大量のテストを実行おおむね人の判断が必要な作業では GUI を使用し、定型化可能で CI に任せ
みなさんこんにちは、くるふとです。note 初投稿です。 ナビタイムジャパンでは、経路探索エンジンや時刻表データのリリースフロー改善を主に担当しています。 今回は Shell のコーディングに便利な shellcheck と shfmt をご紹介します。 Shellcheck について shellcheck は、バグの要因になり得る記述を検知し警告してくれる、Shell の Linter です。 なぜ Linter が必要なのか まずは、下記のシェルスクリプトをご覧ください。 #!/bin/bash set -euo pipefail # 受け取った引数を順番に出力する。 for v in $@; do echo "${v}" done受け取った引数を for 文で回し出力するという、よくあるようなスクリプトに見えます。しかし、このスクリプトは以下のような場合に意図したものとは違う挙動
この記事は、NAVITIME JAPAN Advent Calendar 2020、4日目の記事です。 こんにちは。見習いスパルタ人1号です。ナビタイムジャパンで地点検索基盤の開発を担当しています。 当社では地点検索に利用する検索エンジンとして主に Apache Solr を利用していますが、2014年に Solr を採用して以降、マイナーバージョンの更新はあったもののメジャーバージョンのアップグレードがなされていない状態でした。 長年アップグレードしたくともなかなか取りかかれない状況でしたが、今年度に Solr 6系 にアップグレードを行いました。今回はその経験と、アップグレードから得られた知見について書いていこうと思います。 難しいことは特にしていないため、いきなりの飛躍は難しい…! という方の参考になれば幸いです。 忙しい人のための知見まとめ・開発フローもアップグレードして効率化する
こんにちは、茶田です。 ナビタイムジャパンでトラックカーナビのAndroid/iOSアプリの開発・運用を担当しています。 本記事では、先日に公開された「Vimの思想を取り入れて開発速度を2倍に」の元となった社内勉強会に参加し、実際にVimを習得するまでに試したことをまとめました。 上記記事と重複する内容も含みますが、ご容赦いただければと思います。 私のVim歴は、1年3ヶ月です。 読んでほしい方下記に該当する方を対象として、参考になれば幸いです。 ・Vimに興味がある。 ・Vimを勉強しようとしている。 ・Vim操作が身につかず困っている。また、ここでの「Vimの習得」の定義は下記とします。 ・Vimのキーバインドでの基本的なテキスト操作をほぼ無意識で行える。 ・Vim操作を活用した方がアウトプットを出せるという自意識が芽生える。 ・任意のエディタでVim環境を導入しないと落ち着かなくなる
こんにちは、みみぞうです。 ナビタイムジャパンで『システムや開発環境、チームの改善』を担当しています。 本記事は社内勉強会で発表した内容に沿っています。 この勉強会は、社内全エンジニアの1/4ほどが参加して好評だったため、記事を書かせていただくことになりました。 なお、Vim歴は2年半です。 読んで欲しい方以下のように感じる方を対象にしています。 ❶ VimよりVS CodeやJetBrainsのIDEを使った方が速いので使う必要がない ❷ Vimは学習コストが高いのにメリットがない ❸ Vimの勉強/スキルアップの仕方が分からない この業界に入って7年以上もの間..私も❶~❸の考えをもつ人間でした。 もし昔の自分に会えるなら..『今すぐVimの思想を取り入れよ』と言いたいですね😅 Vimは使わなくていい、されどVimの思想を取り入れよ『すべての開発をVimでせよ』なんて言うつもりはあり
DXCriteriaとは こんにちは。「メタルは全てを解決する」です。Metallicaとサンフランシスコ交響楽団の共演作"S&M2"を聴いて暑さをしのいでいます。Master!! 今回は、現場の有志でDX Criteriaの「チームの評価項目」について読み合わせを行った話になります。 DX Criteriaというのは日本CTO協会が提供しているガイドラインで、Digital Transformation, Developer eXperienceの2つのDXを一体でとらえた基準です。 部門ごとにアセスメントを行う DX Criteriaが公開されてまず思いついたのが、「事業・研究開発部門ごとにアセスメントしてみたい」ということでした。ナビタイムジャパンでは大きく分けて「事業部門」と「研究開発部門」があり、その中でまたいくつかの部門が存在しています。 「自己組織化チームが越境する日」より
こんにちは。見習いスパルタ人1号です。ナビタイムジャパンで地点検索基盤の開発を担当しています。 第1回では住居表示法について解説しましたが、今回は住所の処理において問題となることの多い地租改正条例などに基づく住所について解説したいと思います。 地租改正条例などに基づく住所=地番住所とは地租改正。まさか仕事をするようになってからこの言葉に再会するとは思いませんでした。日本史においては「生産高をベースにした徴税から地価をベースにした徴税へ」という側面で語られることが多い出来事ですが、実は住所という面でも現代日本にも大きな影響を与えています。このときに分けられた境界が、現代における住所の基盤となっているのです。 徴税をするにあたっては、土地を識別できるようにしなければなりません。このときに土地を特定するためのIDが地番です。多くの土地では、徴税や登記の際に土地を区別するためのIDである地番を便宜
こんにちは、けんにぃです。ナビタイムジャパンで公共交通の時刻表を使ったサービス開発やリリースフローの改善を担当しています。 今回は Python 製の Web フレームワークとして FastAPI を導入した話をしようと思います。 Python 製の Web フレームワークPython には代表的な Web フレームワークが 2 つあります。 ・Django: フルスタックフレームワーク ・Flask: マイクロフレームワーク Django は大規模開発向け、Flask は小中規模開発向けと言われますが、今回開発したサーバは小規模なサーバだったため、以前は Flask で開発していました。 しかし、どちらのフレームワークを使う場合でも下記のような機能を使おうとするとプラグインやサードパーティの助けを借りる必要があります。 ・OpenAPI ・JSON Schema ・GraphQL ・We
こんにちは、ネコ派メタラーです。ナビタイムジャパンで地点検索基盤の開発マネジメントを担当しています。好きなバンドは Arch Enemy です。 システム運用に関わる人であれば、「システム障害」というと耳が痛い方が多いかと思います。システム障害は起こさないに越したことはないですが、万が一システム障害が発生したとき、その行動選択はサービスの信頼性を大きく左右することになります。 迅速に復旧させることはもちろんですが、適切な情報公開によってユーザーの不安を払拭するといったコミュニケーションも重要なポイントです。しかし、緊急事態というプレッシャーを受けながら最適な行動を選択することは容易ではありません。 私が所属しているチームでは、Web API サーバソフトウェアから全文検索ミドルウェアまで含めた開発・運用を行っており、幅広いトラブル対応スキルが必要になります。トラブル対応のスキルを持ったベテ
こんにちは、見習いスパルタ人1号です。ナビタイムジャパンでPOI検索基盤を担当しています。得意な検索は住所検索、好きな検索は駅検索です。 経済産業省が IMI 情報共有基盤 コンポーネントツール を公開して大きな話題となっていますね。その中でも、住所の正規化については多くの方が興味を持っておられるようです。 ナビタイムジャパンではサービスの一環として住所検索を提供していますが、今回は「計算機で住所を扱うエンジニアに知っておいてほしい住所の基礎知識」についてお話したいと思います。正規化の話よりは、仕様レベルでの間違いを防ぐための一助となれば幸いです。 君は住所をどれだけ知っているか? 読者の皆様は、日本の住所についてどれだけのパターンがあるかご存知でしょうか? 運送業などの住所に強く関連する仕事をしていないのであれば、実家や自宅、会社の住所くらいしかパターンが分からない方も多いのではないでし
こんにちは、けんにぃです。ナビタイムジャパンで公共交通の時刻表を使ったサービス開発やリリースフローの改善を担当しています。 今回はデータサイエンティストのためのフロントエンドとして最近注目を集めている Streamlit を使ってみた話をしようと思います。 Streamlit とはStreamlit は Python でフロントエンドを構築することが出来るフレームワークです。 https://www.streamlit.io/ なぜ Streamlit なのか?最近流行りの React や Vue でフロントエンドを構築するのではダメなのでしょうか?全くそんなことはありません。むしろ表現力の高さでいうと React や Vue のほうがずっと優れています。 問題になってくるのはデータサイエンティストが分析データをプロダクトに組み込むために必要とする作業コストがかなり高いということです。 例
このページを最初にブックマークしてみませんか?
『NAVITIME_Tech|note』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く