MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

Python製のマルチプラットフォームJSONファイルビューワーPyJSONViewerを作った

https://github.com/AtsushiSakai/PyJSONViewer/blob/master/img/mac.png?raw=true

目次

  • 目次
  • はじめに
  • PyJSONViewer
  • ダウンロード
  • 使い方
    • CUIでJSONファイルを指定する
    • GUIでJSONファイルを指定する。
  • おすすめ設定
    • bashのエイリアスを設定する
    • VimからPyJSONViewerを開く設定
  • 参考資料
  • MyEnigma Supporters

はじめに

最近、

複雑なシミュレーションのログデータや、

複数のプログラミング言語を使ったシステムの

データの受け渡し方法としてJSONファイルを使っています。

 

JSONはTree状のデータ構造を構築することができるので、

シミュレーションの設定データから、

シミュレーションの結果などを

まとめて一つのファイルとしてまとめることができるので、

非常に便利です。

 

また、ほとんどの言語でJSONのパーサは

デフォルトAPIやライブラリとして、

提供されているので、各言語でいちいちファイルデータ解釈用の

パーサを書かなくていいのは非常に便利です。

myenigma.hatenablog.com

 

しかし、一つ不満だったのが、

JSONファイルの中身を少し確認したい時の

ビューワーがあまり良いものが見つかりませんでした。

 

はじめは下記のChrome extensionのJSON viewerを使っていたのですが、

chrome.google.com

大きいjsonファイルを読み込もうとすると、

すぐにフリーズしてしまいました。

 

下記のJ and Eというフリーソフトは、

大きなJSONファイルもツリー状に可視化でき、

非常に軽快に動作するのですが、

残念ながらWindowsのみで利用可能で、

MacやLinuxも併用する自分には、

完璧ではありませんでした。

 

その他にも、良さそうなJSONビューワーソフトはありましたが、

ほとんどは有償ソフトウェアでした。

 

そこで、今回、

Python製のマルチプラットフォームJSONファイルビューワーである

PyJSONViewerをOSSとして自作し、GitHubに公開したので、

紹介したいと思います。

github.com

 

続きを読む

ソフトバンク光でインターネットを高速にしたい時に気をつけるべきこと

目次

  • 目次
  • はじめに
  • オプションの光BBユニットは解約せずにそのまま使う。
  • ルータを最新のものにする。
  • キャンペーンを見逃さない
  • 利用開始から5ヶ月後の感想
  • 参考資料
  • MyEnigma Supporters

はじめに

今回、

新しくインターネットの回線を

ソフトバンク光にしたのですが、

色々と苦労した結果、

なんとか、夜でも下り300Mbps, 上り150Mbpsの

満足いくインターネット環境を構築することが出来ました。

その時に気をつけたことをメモしておきます。

 

続きを読む

Juliaで競技プログラミングやるときによく書くコードをまとめてみた

目次

  • 目次
  • はじめに
  • 1. 基本的な入出力
  • 2. 数値への変換
  • 3. 空白で分割
  • 4. 空白で分割しつつ数値に変換
  • 5. 特定の条件のデータを数える
  • 6. 複数行をまとめて読み込む
  • 7. 二重のリストの行列を入れ替える
  • 8. 二重のリストをフラットにする
  • 9. 連結と繰り返し
  • 10. 要素の存在確認
  • 11. 削除
  • 12. ソート
  • 13. マイナス値のインデックス
  • 14. 部分リストの取り出し(スライス)
  • 15. シャローコピーとディープコピー
  • 16. 和集合と積集合
  • 17. 文字列における、連結と繰り返し、存在確認
  • 18. 文字列の置換
  • 19. 文字列の反転
  • 20. 文字列定数
  • 21. 正規表現
  • 22. 累積和
  • 23. dropwhileとtakewhile
  • 24. groupby
  • 25. for文のelse
  • 26. 2進数や16進数
  • 27. 順列数と組み合わせ数
  • 28. メモ化
  • 29. stdinをファイルに置き換える
  • 参考資料
  • MyEnigma Supporters

はじめに

下記の記事が非常に勉強になったので、

Juliaで同じことを実現する方法を調べてみました。

https://qiita.com/y-tsutsu/items/aa7e8e809d6ac167d6a1qiita.com

(競技プロはやったことないのですが。。。)

すべてのコードは下記のリポジトリでも公開しています。

github.com

 

続きを読む

スタンフォード大学の学生が学ぶ行列入門

目次

  • 目次
  • はじめに
  • 行列
    • 行列の基礎
    • 行列データの例
    • 疎行列
    • 転置
    • 行列ノルム
    • 行列の掛け算
  • 行列演算の応用例
    • 幾何学的変換
    • 畳み込み
  • 線形変換
  • 線形動的モデル
  • 行列の掛け算
  • 逆行列
  • 線形方程式の解法
  • なぜ線形方程式を解くのに、逆行列を使ってはいけないのか?
  • Pseudo inverse 疑似逆行列
  • 参考資料
  • MyEnigma Supporters

 

はじめに

スタンフォード大学には

機械学習を学ぶ上での第一歩として、

Introduction to Matrix Methods (EE103)という授業があります。

 

今回の記事では、

この授業の教科書である

Introduction to Applied Linear Algebraを

読んだ際の技術メモです。

 

この教科書は下記のリンクのページから

pdfをダウンロードすることができます。

 

本記事では、

上記の教科書の行列の部分のみのメモです。

他の部分に関しては、下記の記事を参照下さい。

myenigma.hatenablog.com

myenigma.hatenablog.com

 

続きを読む

Windows初期設定まとめ

目次

  • 目次
  • はじめに
  • 常用ソフトウェアのインストール
    • ブラウザ: Chrome
    • クリップボード管理ツール:Clibor
    • FTP Client: Cyberduck
    • スクリーンショット管理ソフト: Greenshot
  • シェル環境設定
    • Git for windows
    • Chocolateryのインストール
    • Windows Terminalのインストール
    • dotfile設定
  • キーボードの設定
    • 無変換、変換キーをMacと同じ挙動にする
    • CtrlとCapsLockを入れ替える
  • マウスの設定
  • その他OSの初期設定
  • 参考資料
  • MyEnigma Supporters

はじめに

個人的なWindows10設定メモです。

続きを読む

Probabilistic Road Map(PRM) plannerによる経路生成とPythonサンプルコード

PRM

目次

  • 目次
  • はじめに
  • PRM planner
    • 1. Configuration Space (C-Space)の作成
    • 2. C-Space内にランダムにサンプリングする
    • 3. 隣接点を接続する
    • 4. ダイクストラ法による最短距離探索
  • Pythonサンプルコード
  • 参考資料
  • MyEnigma Supporters

はじめに

今回の記事では、

ロボットのパスプランニングの代表的なアルゴリズムの一つである。

Probabilistic Road Map (PRM) plannerについて概要と、

Pythonによるサンプルコードを紹介したいと思います。

 

続きを読む

スタンフォード大学の学生が学ぶベクトル入門

目次

  • 目次
  • はじめに
  • ベクトル入門
  • 線形関数
  • ノルムと距離
    • ノルムの用途
  • 投資におけるリスクヘッジ
  • クラスタリング
  • ベクトルによるNet present value(正味現在価値)の計算
  • 参考資料
  • MyEnigma Supporters

 

はじめに

スタンフォード大学には

機械学習を学ぶ上での第一歩として、

Introduction to Matrix Methods (EE103)という授業があります。

 

今回の記事では、

この授業の教科書である

Introduction to Applied Linear Algebraを

読んだ際の技術メモです。

 

この教科書は下記のリンクのページからpdfをダウンロードすることができます。

 

また、最近この本の日本語訳が発売されました。


スタンフォード ベクトル・行列からはじめる最適化数学 (KS情報科学専門書)

 

本記事では、

上記の教科書のベクトルの部分のみのメモです。

 

本記事では、

上記の教科書の行列の部分のみのメモです。

他の部分に関しては、下記の記事を参照下さい。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

続きを読む

cmderで構築する快適Windowsターミナル生活

 

目次

  • 目次
  • はじめに
  • インストール
  • デフォルトのシェルをbashにする
  • Tabを上に表示する
  • Pathの設定
  • percolの代わりにpecoを使う
  • 最後に
  • 参考資料
  • MyEnigma Supporters

はじめに

最近、Windoes10のPCを使うことが多くなってきたので、

毎日、Windows, Mac, Ubuntuを行き来する生活をしています。

自分の場合は、基本的にChromeとターミナルをメインに使うのですが、

ターミナルの環境をうまく共通化できずに困っていました。

(有名なCygwinは古臭すぎて、MINGWは落ちまくっていました。。)

 

そんな時に、Twitterで

cmder(コマンダーと読むらしい)

というターミナルエミュレータが良いですよと言われ、

試してみたところ、

MacやUbuntuにかなり近い環境を作ることができたので、

設定方法をメモしておこうと思います。

cmder.net

github.com

https://qiita.com/alchemist/items/f2f54cfe545c84af9430qiita.com

nelog.jp

 

続きを読む

外資系コンサルに学ぶプレゼン資料作成の極意

目次

  • 目次
  • はじめに
  • 資料を作る前に、プレゼンの目的と対象の聴衆を確認する
  • スライドを作る前にそのスライドのメッセージ(二行以下)を決める
  • 文字の大きさは12p以上
  • 同じ言葉を複数回使わない
  • できるだけ情報量を減らす(インクを減らす)
  • グラフはメッセージを補足し強調するものにする
  • 絶対値より、変化率や差分に注目する
  • 各項目の名前が長い場合は、横向きの棒グラフを使う
  • 図や文字の後ろに透かし画像を効果的に入れる
  • 青色を基調としたデザインにする
  • プレゼンの最後には、必ず次の行動が明確になるようにする
  • 参考資料
  • MyEnigma Supporters

 

はじめに

マッキンゼーやボストンコンサルティンググループなど、

一度は聞いたことがあるこれらの会社は、

外資系コンサル会社と呼ばれています。

 

彼らのメインの仕事の一つが、

ビジネスに関連するプレゼンテーションを実施し、

クライアントにビジネス的な決断をさせることです。

 

今回の記事では、

下記の資料を元に、外資系コンサルが利用している

プレゼン資料作成の極意をまとめてみます。

 

続きを読む

移動ロボット(自動運転車?)のための機械学習のメモ

 

目次

  • 目次
  • はじめに
  • Twitter メモ
  • 記事内の動画リンク
  • 参考資料
  • MyEnigma Supporters

はじめに

先日、下記のような、

非常に力の入った記事を見つけたので、

ゆっくり読みながらTwitterでメモを取ったので、

そのまとめ記事です。

 

非常に素晴らしい記事なので、

ロボットのソフトウェアをやっている人は一読をおすすめします。

 

続きを読む