タグ

ブックマーク / www.moongift.jp (24)

  • ijq - インタラクティブに使えるjq

    Web APIを使った開発ではJSONがデータ送受信フォーマットとしてよく使われます。その際にJSONの構造を調べたり、可視化する際にjqが便利です。しかしjqはCLIなので都度実行して内容を確認する必要があります。 そこで使ってみたいのがijqです。頭にあるiはインタラクティブのiで、ijqはjqをインタラクティブに操作できるツールとなっています。 ijqの使い方 表示したところです。初期表示は左右同じ内容となっています。 下にあるフィルターで絞り込むと、フィルタリングされた内容が右側に表示されます。 jqでは最初にドットを打ちますが、ijqでは省略されているので注意してください。そして完全に一致しないとフィルタリング結果には表示されません。フィルタリング結果が標準出力されますので、それを別なJSONファイルにすることも可能です。 ijqはGo製のオープンソース・ソフトウェア(GPL)で

    ijq - インタラクティブに使えるjq
  • What Anime Is This? - アニメの画像から作品を検索

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました アニメやマンガは日が世界に誇るコンテンツです。その量は膨大で、日々たくさんのアニメが放送されています。気になるアニメの1シーンを見つけても、それがどのアニメなのか、どの話数探すのも大変です。 そこで使ってみたいのがWhat Anime Is This?です。アニメのシーン画像から、アニメに関する情報を検索してくれます。 What Anime Is This?の使い方 画像はローカル、またはURLで指定できます。 $ ./what-anime-cli link https://image2.b-ch.com/ttl2/177/177001a.jpg ✔️ Found! ? Title Native: パンドラハーツ ? Title Romaji: Pandora Hearts ?

  • gDriveOCR - Google Driveを使ったOCR

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました OCRは大抵スキャナなどに備わっています。オープンソースのOCRもあることはあるのですが、品質はあまり高くありません。画像の中から効率的に情報を取り出す方法は手間がかかるイメージがあります。紙文書からテキストデータを取り出すのに苦労した人も多いでしょう。 今回紹介するgDriveOCRはスマートな解決手法になるそうです。OCRとしてGoogle Driveを使います。 gDriveOCRの使い方 たとえば次のようなコマンドを打ちます。日語も指定可能です。 gdriveocr moongift.png 実行後、Wordファイルがダウンロードされます。元の画像と、そのOCR結果が表示されます。 gDriveOCRはGoogle DriveのOCR機能を使って、コマンドでファイルをアッ

    gDriveOCR - Google Driveを使ったOCR
  • Ractive-Player - HTMLをまるで動画のように再生するプレーヤー

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 動画はバイナリフォーマットなので、テキストをコピーしたり、マウス操作で何か表示を変えると言ったインタラクティブ性はありません。ただ流れていく動画を見続けたり、速度を変化させたりする程度しかできません。 もっと動画をインタラクティブに楽しみたい、という願いを叶えてくれそうなソフトウェアがRactive-Playerです。 Ractive-Playerの使い方 中央にあるのがRactive-Playerです。動画のように再生できます。 再生速度の変更もできます。 実体はHTMLです。 マウス操作で背景の色を変えたり出来ます。 Ractive-PlayerはHTMLをまるで動画のように再生したり、停止できます。コンテンツはReactで作られています。レコーディングの機能もあるので、操作し

    Ractive-Player - HTMLをまるで動画のように再生するプレーヤー
  • BluetoothAudioDistancer - PCから離れたらマイク音量を下げる

    在宅勤務をしていて、マイクのオフにし忘れというのはよくあるミスです(Webカメラのオフし忘れもありますが)。その結果、あられもない音を聴かせてしまったり、オフだと思って油断した声を流してしまう可能性があります。 そんなミスをしたことがある方(またはしそうな方)に使ってみて欲しいのがBluetoothAudioDistancerです。 BluetoothAudioDistancerの使い方 利用中。Bluetoothの強度を使っています。 BluetoothAudioDistancerはBluetoothの強度を使って、距離が離れるとマイクをオフにしてくれます。これがあれば離席時に変な音声を流してしまうのを防げるでしょう。Bluetooth派の方は使ってみるとよさそうです。 BluetoothAudioDistancerはSwift製のソフトウェア(ソースコードは公開されていますがライセンス

    BluetoothAudioDistancer - PCから離れたらマイク音量を下げる
  • Graphviz Visual Editor - GraphvizをWeb上で表示、さらに編集も! MOONGIFT

    昔から開発者がビジュアル化のために使ってきたライブラリがGraphvizではないでしょうか。DOT言語と呼ばれる記法に沿って書くことで、画像やSVGとしてドローされたデータを出力できます。 そんなGraphvizのビジュアル化をWeb上で行い、さらに編集まで行えるのがGraphviz Visual Editorです。 Graphviz Visual Editorの使い方 基的な形。 エンジンはdotだけでなく、fdp/neato/osage/patchwork/twopiから選択できます。 複雑なものでも問題なく描けます。 こんな複雑なものでも瞬時に描画されます。 拡大したり、選択しているノードが左側のエディタでハイライトされます。 図形の追加も可能です。 DOT記法のビジュアル化するツールはよくありますが、Graphviz Visual Editorは編集もできるのが特徴です。どの部分

    Graphviz Visual Editor - GraphvizをWeb上で表示、さらに編集も! MOONGIFT
  • freezeframe.js - アニメーションGIFの再生/停止を可能にするJavaScriptライブラリ MOONGIFT

  • Handtrackjs - 手をリアルタイムに認識する

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 機械学習を用いることで、オブジェクトを認識する精度が飛躍的に向上しています。写真の中に何が映っているかタグ付けしたり、顔認識したりする例があります。特定のオブジェクトに関して認識する例もあります。 今回のHandtrackjsも特定のオブジェクトを認識します。それは名前の通り、手の認識です。 Handtrackjsの使い方 画像を認識している例です。 複数の手のひらでも問題ありません。 このように見えない部分があっても正しく認識されています。 Webカメラを使った例。認識は高速です。 連続認識。指の数が変わっても認識されています。 利用例としてゲームが上げられています。 Handtrackjsは認識精度が高く、さらに高速です。指が何といった認識はできませんが、指の動きなどは追従

    Handtrackjs - 手をリアルタイムに認識する
    lilpacy
    lilpacy 2021/02/03
    使ってみたい
  • EasyGrid - 外部依存のないグリッドライブラリ

    コンテンツを綺麗に並べる際に必要なのがグリッドです。さらにレスポンシブに対応しようと思うとJavaScriptライブラリが欲しくなるでしょう。グリッドと一言でいっても奥が深い技術です。 今回はそんなグリッドを手軽に導入できるEasyGridを紹介します。 EasyGridの使い方 基的な同じ高さのコンテンツを並べる例。 フィルタリング。こちらはフィルタリング前。 フィルタリング。異なる色でもグルーピングできます。 縦の長さが異なるコンテンツを並べる例。 BootstrapのCardを利用する例。 同じくBootstrapのPostを使うこともできます。 ムービーリストと名付けられたリスト表示。 EasyGridのいいところは外部ライブラリへの依存がないことでしょう。VanillaJSでの実装なので、任意のフレームワークと組み合わせて使えます。この手のライブラリはjQueryを使うことが多

    EasyGrid - 外部依存のないグリッドライブラリ
  • Unclack - キーボード入力中はミュートに

    コロナ禍になってオンライン会議を開くことが増えてきました。そうした中で気になるのが他の人のキータイプ音です。イヤフォンを使っている際など、耳元でカチャカチャ音が鳴るのは非常に気になります。 そうした人に使ってみて欲しいのがUnclackです。キーボード入力時だけ音声をミュートにしてくれるユーティリティです。 Unclackの使い方 初期設定です。 入力中。小さなマークが付いてミュートになっていると教えてくれます。 Unclackは入力する側がインストールしなければいけません。そのため、他人がどう聞いているか気にしない人にとっては意味がないかも知れません。しかしオンライン会議はもちろん、配信やゲームなどでキーボード音を響かせてしまうのが気になる人はインストールしておきましょう。 UnclackはmacOS用のソフトウェアです。 Unclack for macOS

    Unclack - キーボード入力中はミュートに
  • typewriter-app - 文章作成サービスを集めてElectron化

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 文字を書く場面は色々あります。プログラミング、ブログ、ツイート、ドキュメント、小説など場面によって最適なエディタは異なるかも知れません。実際、使い分けている人もいるでしょう。 今回紹介するtypewriter-appは特化型の文章を書くためのサービス、TypefullyとHemingwayをラッピングしたElectronアプリになります。 typewriter-appの使い方 最初はTypefullyが表示されます。これは連続ツイートを作成するためのエディタです。 日語も利用できます。 ついでHemingway。こちらはLintが組み込まれた文章ツールです。 どちらもテキストを書くという意味では同じですが、特徴やターゲットが大きく異なります。目的に合わせて利用するツールを変えるの

    typewriter-app - 文章作成サービスを集めてElectron化
  • MTDeck - TweetDeckをスマホでも楽しむ

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました パソコンでTwitterをディープに楽しんでいる人は、大抵TweetDeckを使っているようです。複数のカラムを使いこなし、さらに複数アカウントを上手に管理しようと思うとTweetDeckは使い勝手がいいでしょう。しかしスマホには対応していません。 そこで使ってみたいのがMTDeckです。TweetDeckをスマホ対応のデザインに変換するUserScriptです。 MTDeckの使い方 Androidの場合、KiwiBrowserを利用します。 インストール後にTweetDeckを見ると、一番左にあるカラム情報が下に並んでいます。 検索結果も使えます。 アカウントプロフィール。 MTDeckはTweetDeckをそのままスマホ対応させるUserScriptなので、デザインが大幅に変

    MTDeck - TweetDeckをスマホでも楽しむ
  • ytGREP - YouTube動画の字幕を検索

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 動画コンテンツの難しいところは、映像から検索できないことでしょう。動画の中の色や表情などで検索するのは難しい(できないことはないですが)ですが、字幕を使えばセリフの検索はできないことはなさそうです。 そんな機能をGoogle機能拡張として提供してくれるのがytGREPです。 ytGREPの使い方 字幕が公開されている動画で、まず字幕データを読み込みます。 後は検索した単語が話されたタイミングにジャンプして動画を再生できます。 ytGREPはYouTube全体ではなく、特定の動画の中にある単語を検索します。その動画の中で使われた単語が話されたタイミングを調べるのに便利です。なお、英語の字幕にしか対応していないようなので注意してください。 ytGREPはGoogle Chrome用、T

  • Dgraph - GraphQLをネイティブサポートしたデータベース

    GraphQLがREST APIに替わる存在として注目を集めています。その多くはデータベースのラッピングライブラリとして提供されています。MySQLやPostgreSQL、MongoDBなどをデータベースとして、フロントにGraphQLインタフェースを用意するような実装です。 今回紹介するDgraphはGraphQLネイティブなデータベースになります。 Dgraphの使い方 Dgraphの管理画面です。 クエリはなぜかエラーになります。 スキーマでデータの構造を調べられます。 バックアップ設定です。 サーバの接続設定画面。 DgraphはGraphQLのみが提供されるデータベースになります。プロトコルはJSONのほか、gRPCも利用できます。また、正規表現や全文検索、位置情報検索もネイティブサポートしています。今後GraphQLが注目されていく中で、成長が期待できるソフトウェアです。 Dg

    Dgraph - GraphQLをネイティブサポートしたデータベース
  • Piping Server - HTTPを使ったパイプライン

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました UnixやLinuxではコマンドをパイプする機能があります。あるコマンドの出力を次のコマンドに繋ぐことで、複雑な処理を一度にできるようになります。開発者であればよく利用する機能でしょう。しかし、このパイプラインはローカルマシン内でしか使えません。 便利な機能なパイプをネットワーク越しでも可能にしよう、それがPiping Serverです。 Piping Serverの使い方 たとえば任意のパスに対して出力します。そうすると受け取り待ちで待機になります。 $ echo 'hello, world' | curl -T - https://ppng.io/hello [INFO] Waiting for 1 receiver(s)... 別なマシンやターミナルで結果を受け取ります。 $

    Piping Server - HTTPを使ったパイプライン
    lilpacy
    lilpacy 2021/01/22
  • imgdiff - 高速な画像差分

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました テキストで差分を出すのはdiffコマンドなど、多数用意されています。しかしコンピュータ上で扱うメディアはテキストだけではありません。ほかにも画像や動画、音声ファイルなどがあります。それぞれ2つのファイルがあった時に、差分を確認したいと思うのは自然なことです。 今回紹介するimgdiffは画像の差分表示に特化したソフトウェアです。高速性が売りです。 imgdiffの使い方 コマンドです。ピクセル単位での比較なので、JPEGでやると差分が多くなります。PNGがいいでしょう。 imgdiff --diff-image a.png b.png output.png 画像はKYOTO CMEX オリジナル「間違い探し」第1弾『ビットサミット』(「BitSummit 7 Spirits」チケッ

    imgdiff - 高速な画像差分
    lilpacy
    lilpacy 2021/01/22
  • Procedural GL JS - WebGLで地図を立体的に表示

    WebGLを使うと通常のDOMでは表現しづらいことも実現できます。GPUを使うことでグラフィックスの性能も向上しますが、JavaScriptの実装と大きく異なるので習得の時間が必要です。 今回紹介するProcedural GL JSはWebGLを使った実装例になります。こうした表現もできるのだという学びになるでしょう。 Procedural GL JSの使い方 普通の地図表示としても使えます。 山脈を表示しています。立体になっています。 拡大しています。 平面的な表示です。 Procedural GL JSはTHREE.jsを使って高度に合わせて実際の山脈に合わせて表示します。サンプルとしてニュージーランドの地図もあります。回転したりズームイン、ズームアウトもでき、地図をよりリアルに体験できます。 Procedural GL JSはJavaScript製のオープンソース・ソフトウェア(Mo

    Procedural GL JS - WebGLで地図を立体的に表示
  • WebVRM - Web上でVRMを閲覧、動かす MOONGIFT

  • TypeScriptToLua - TypeScriptをLuaに変換

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 世の中には様々なプログラミング言語がありますが、モダンなものほど似通って感じます。一つの言語をベースにして、後は方言を書き換えるような具合で別な言語に移行できたりします。そうなると、一つの言語から自動でコンバートもできるのではないかと期待してしまいます。 その実装例として見てみたいのがTypeScriptToLuaです。名前の通り、TypeScriptで書かれたコードをLuaに変換します。 TypeScriptToLuaの使い方 コードの例です。TypeScriptで書いた例。 class A { private name: string; constructor() { this.name = ''; } setName(name) { this.name = name; } h

    lilpacy
    lilpacy 2020/12/29
  • gron - JSONをコード化して検索しやすくするコマンド

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました JSONはシステム開発で多用されています。それだけにJSONを扱いやすくするツールがあれば、それだけで生産性が上がることでしょう。システムから出力したJSONを検索したり、目的通りにデータが入っているか確認する機会は多いはずです。 そんな時に使えるのがgronになります。JSONを検索するのに便利なコマンドです。 gronの使い方 gronでの検索例です。一行ごとに並んでいるので値が分かりやすいです。 $ gron "https://api.github.com/repos/tomnomnom/gron/commits?per_page=1" | fgrep "commit.author" json[0].commit.author = {}; json[0].commit.aut

    lilpacy
    lilpacy 2020/12/06
    jsonをオブジェクトっぽいコードに変換してくれるツール。階層が深いときとか見やすくなりそう