タグ

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

  • GRV - ターミナル上のGitリポジトリビューワー

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Gitは普段の運用ではpush/pullの繰り返しですが、時に履歴を確認したいと思うことがあります。そんな時、logコマンドだけではなかなか辛いです。そんな時になってGitリポジトリビューワーが欲しくなりますが、GUIアプリケーションのインストールは面倒です。 そこで使ってみたいのがGRVです。ターミナル上で使えるGitリポジトリビューワーです。 GRVの使い方 立ち上げたところです。3ペイン構成でとても見やすいです。 ちゃんと差分を見ることもできます。 GRVではローカルのブランチはもちろん、リモート側を見ることもできます。ログを見る際の基的な機能は押さえていますので、GRVだけあれば大抵のニーズには応えられることでしょう。インストールしておくと便利です。 GRVはGo製のオー

    GRV - ターミナル上のGitリポジトリビューワー
  • Chartkick.js - 多数のグラフに対応したラッパーライブラリ MOONGIFT

    Webシステムで一番苦労させられるのがグラフではないでしょうか。HTMLの表現力が上がったと言っても、コードを書かなければなりません。特にグラフやチャートになるとコード量も増えがちです。 そこで使ってみたいのがChartkick.jsです。多くのパターンに対応したクライアントサイドのグラフライブラリです。 Chartkick.jsの使い方 曲線のグラフ。 円グラフ。 ドーナッツグラフ。 棒グラフ。 横型。 エリアグラフ。 点だけのグラフ。 バブルチャート。 複数の要素を同時に。 横棒グラフでもできます。 横棒グラフで積み上げ型。 複数の要素でかつグルーピング。 色を変えた円グラフ。 データが一定でない要素同士でも。 10分ごとといった細かい単位でも。 細かい横棒グラフ。 Chartkick.jsは Chart.js、GoogleチャートそしてHighchartsに対応しており、これらのグラ

    Chartkick.js - 多数のグラフに対応したラッパーライブラリ MOONGIFT
  • electron-viz - GUIのGraphvizチャートエディタ&ビューワー

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Graphvizを使うとノードを使ったフローチャート、クラス図をはじめ様々なチャートを画像にすることができます。ただし最初に環境を整えるのが手間であったり、dotファイルを書いた後にコマンドで変換しなければなりません。 そんな手間暇を軽減してくれるのがelectron-vizです。Electronで開発されており、GUIでGraphvizを編集できます。 electron-vizの使い方 electron-vizのメイン画面です。左側がエディタ、右側にチャートが描かれます。 例えばこのような図を描きました。オートプレビューが有効になっていれば編集した直後にチャートが描かれます。チャートの内容はGraphviz チュートリアルよりお借りしました。 二つに分かれるサンプル。 さらに複雑

    electron-viz - GUIのGraphvizチャートエディタ&ビューワー
  • MariOCaml - ステージ自動生成型スーパーマリオ

    リリースされてから数十年経ってなお、みんなに愛されているスーパーマリオブラザーズ。最近では自分でステージが作れるスーパーマリオメーカーが人気で、さらに盛り上がりを見せています。 そんなスーパーマリオブラザーズの世界をOCamlで作成するのがMariOCamlです。実際に遊ぶこともできるようになっています。 MariOCamlの使い方 ゲーム画面です。矢印キーを使って操作します。 ゲームクリアしました。 ゲーム画面。雰囲気はスーパーマリオ3に近いノリです。 MariOCamlの特徴としてはゲームステージが自動生成されていることで、それゆえに再読み込みするごとにステージが新しくなります。そのため毎回違った雰囲気の中で遊べるようになっています。 MariOCamlはOCaml製のオープンソース・ソフトウェア(MIT License)です。 https://mahsu.github.io/mari

    MariOCaml - ステージ自動生成型スーパーマリオ
  • CommitCal – GitHubのコミットログをカレンダー表示

    GitHubのプロフィールページにはアクティビティに応じたカレンダー機能があります。あれを全て埋めるべく活動するのは開発者にとってのモチベーションに繋がっているのではないでしょうか。 しかし単純にカラーリングだけでなく、もっと何をしたかを知りたいと思ったらCommitCalを使ってみましょう。GitHubのコミットログをiCalファイルにしてくれます。 CommitCalの使い方 そうするとURLが表示されるので、それを叩くとiCalファイルがダウンロードされます。カレンダーアプリに登録すれば定期的に取得してくれるはずです。 CommitCalではユーザ名を入れるだけなので、公開されているプロジェクトに対してのみ有効です。企業内部で使う時にはプライベートなプロジェクトも取得できるように改造しても良さそうですね。 CommitCalはnode/JavaScript製のオープンソース・ソフトウ

    CommitCal – GitHubのコミットログをカレンダー表示
  • CodeNav – GitHubでのコードビューサポート

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました GitHub上でコードをホストしていると、その上でコードを閲覧する機会が増えていきます。そんなとき、ページ内で検索したり、リポジトリの検索をしたりと検索機能をメインで使うかと思います。しかしこれは意外と面倒です。 そこで使ってみて欲しいのがCodeNavです。マウスオーバー、クリックでコードナビゲーションしてくれるGoogle Chrome機能拡張、Firefoxアドオンです。 CodeNavの使い方 CodeNavを使うとGitHub上でのコード閲覧がとてもスムーズになります。一つ一つの機能は他の機能で代替できますが、入力する必要がなかったり画面が切り替わらずに検索できるのは便利です。 CodeNavはGoogle Chrome/Firefox用のオープンソース・ソフトウェア(M

    CodeNav – GitHubでのコードビューサポート
  • Deb.js·JavaScriptのデバッグを効率化する小さなライブラリ MOONGIFT

    最近のWebブラウザの進化によってJavaScript開発はとても便利になっています。ブレイクポイントを差し込んだり、コンソールを使うことでどんどん開発が進められるようになっているでしょう。 そんなJavaScript開発をさらに便利にしてくれそうなソフトウェアがDeb.jsです。ごくごく小さなデバッガーです。 Deb.jsの使い方 Chrome ウェブストアで公開されていますので、インストールします。 こちらがインストール画面です。 インストールされるとDebアイコンが追加されます。 こんな感じでURLに?debjsを追加すると自動で読み込まれるようになります。 任意の関数に.deb()を追加するとスタックとレースされるようになります。 引数や返り値、実行時間などもとれて便利です。 色分けもされるので分かりやすいですね。 開発効率向上を考えると、デバッグ方法は色々知っておいて損はないでし

    Deb.js·JavaScriptのデバッグを効率化する小さなライブラリ MOONGIFT
  • magpie – Gitを使ったオンラインメモ

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Evernoteは利用者のとても多いサービスです。日々たくさんのノートが保存されています。しかし中には自分のプライバシーに関わるものだけにクラウドではない場所に保存しておきたいと考える人もいるでしょう。 そこで使ってみたいのがmagpieです。Evernoteレベルとは言いませんがノートを自由の作成、保存できるオンラインノートブックです。 magpieの使い方 magpieの特徴としてはpipでインストールした後、magpieコマンドを実行してどこでも使えるという点でしょう。また、Gitベースで保存するので履歴管理もできるようになっています。そのままでは日語が使えないのが残念ですが、修正すれば良いかと思います。 magpieはPython製のオープンソース・ソフトウェア(MIT

    magpie – Gitを使ったオンラインメモ
  • ZenPen·集中して文書を書き上げたい時に使って欲しいWebベースのテキストエディタ MOONGIFT

    集中して作業するためのコツは、それ以外の情報を一切封じるのが一番です。特にコンピュータ関係は誘惑が多すぎて厄介です。他の情報が一切見られない状態にしなければ集中するのは困難でしょう。 多様なテキストエディタが全画面モードをサポートしていますが、今回はWebベースで実現するZenPenを紹介します。 ZenPenの使い方 こちらがメイン画面。左側にメニューが出ていますが、それもうっすら出ているだけで気になりません。 日語も問題ありません。なおデータはlocalStrageに保存されるのでオフラインでも、突然ブラウザを終了しても問題ありません。 黒ベースに変更。こちらのが落ち着きますね。 分かりづらいのですがワードカウンターがあります(右側)。指定した文字数までカウントアップくれます。 保存フォーマットはテキスト、MarkdownHTMLから選択できます。 全画面モード。こうなると集中でき

    ZenPen·集中して文書を書き上げたい時に使って欲しいWebベースのテキストエディタ MOONGIFT
  • Flyspray - PHP製、複数プロジェクト対応のBTS MOONGIFT

    システムと言えばバグがつきものです。これは皮肉でもなんでもなく、どれだけ優秀な人が作ろうとも人の手で作られている限り、不具合は必ず入り込みます。問題はそれに気付いたら報告し、修正するのが必要ということです。 不具合を管理するためのシステムがBTS(バグトラッキングシステム)です。最近ではプロジェクト管理や課題管理の中に取り込まれつつありますが、専用のシステムも数多く存在します。今回はその一つ、Flysprayを紹介します。 Flysprayの使い方 FlysprayはPHP製のシステムで、インストーラーが付属しています。 例えばこんな感じに不具合が一覧で表示されます。 新規登録の画面です。アサイン、プライオリティ、バージョンなどといった情報が追加できます。 バグ報告内容です。 不具合の中でディスカッションも可能です。 イベントログがあります。管理上便利ですね。 管理画面のプロジェクト設定画

    Flyspray - PHP製、複数プロジェクト対応のBTS MOONGIFT
  • Mailr - Vim好きが作ったPython製のWebメーラー

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Webメールと言えばGmailが一番使われている気もしますが、それでも自社でメールサーバを立てて運用しているケースは多いです。その際に何のクライアントを使うか悩んでしまいますよね。 IMAPに対応したメーラーは多数ありますが、Webブラウザ上で使えるものが良い場合はMailrをインストールしてみましょう。 Mailrの使い方 Mailrの特徴としてはGmail風に関連したメールをまとめてくれる機能があったり、2パネルでの表示があります。2パネルなのはVimの2パネルモードが大好きだからだそうです。試した限りでは新しいメールを作成する機能がありませんでしたが、MarkdownまたはreStructuredTextが使えるそうです。 2パネル表示というのは意外とありなのかと思います。G

    Mailr - Vim好きが作ったPython製のWebメーラー
  • Copy as Markdown - タブや画像のURLをMarkdownフォーマットでコピー

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 個人的に超便利! 最近、何でも文書をMarkdownで書くようにしています。統一しておくことで後でメンテナンスするのも簡単ですし、MarkdownであればHTMLPDF、ePubへ変換することもできます。汎用的なフォーマットはとりあえずメモしておくと言った時にも使えて便利です。 そんなMarkdownを使っている方にお勧めしたいGoogle Chrome機能拡張がCopy as Markdownです。今見ているタブや画像のURLをMarkdownフォーマットでクリップボードにコピーしてくれます。 Copy as Markdownの使い方 Chrome ウェブストアで公開されていますのでインストールは簡単です。 例えばURLの場合は次のようになります。 [Asciidia - EB

    Copy as Markdown - タブや画像のURLをMarkdownフォーマットでコピー
  • JavaScriptで国際化処理をするのに便利·Pomo MOONGIFT

    PomoはJavaScript製のgettextです。po/moファイルの読み込みに対応しています。 プログラミングの出力するメッセージを国際化する際によく使われているのがgettextです。類似の仕組みを提供するJavaScriptライブラリは幾つかありますが、poファイルをそのまま読み込めるのがPomoです。 ソースコードです。poファイルをダイレクトに読み込んだり、コード上でテキスト変換情報を与えることもできます。 確かにpoファイルを読み込んでいるのが分かります。 対応しているフォーマットがpoまたはmoになります。普段使っている翻訳エディタが使えて、そのファイルをそのまま読み込めるのでサーバとクライアントで作業が分断せずに済むのではないでしょうか。 PomoはJavaScript製のソフトウェア(ソースコードは公開されていますがライセンスは明記されていません)です。 MOONGI

    JavaScriptで国際化処理をするのに便利·Pomo MOONGIFT
  • Geckoエンジンを使ったHTML2PS·mozilla2ps MOONGIFT

    Webサイトのサムネイル表示や画像変換するといったニーズは未だに多い。Web APIを用いた方法であれば、「SimpleAPI - ウェブサイト・サムネイル化ツール」や「HeartRails Capture | サイトのURLから画像/PDFを生成」等のサービスがあるが、やはり自分のサイトで行いたいというニーズは強い。 方法は幾つかあるが、Mozilla系のGeckoエンジンを使ったこのような手法はいかがだろう。 今回紹介するオープンソース・ソフトウェアはmozilla2ps、GeckoエンジンのレンダリングをPSファイルにするソフトウェアだ。 HTMLをpsファイルに変換するソフトウェアとしては、html2psと言うソフトウェアがある。これはそのGeckoエンジン版と言える。さすがにGeckoエンジンとあって、日語表示も問題ない。 起動にはXUL Runnerが必要なので、ご注意いただ

    Geckoエンジンを使ったHTML2PS·mozilla2ps MOONGIFT
  • Mosh Chrome - Native Client製。Google Chrome用Moshクライアント MOONGIFT

    Moshというのは以前紹介した新しいネットワーク接続の仕組みです。今後増えるかも知れませんが、サーバ/クライアント両方にインストールする必要があるので普及に時間がかかっています。 そこでまずはクライアントということで、ChromeアプリとしてリリースされているMosh Chromeを使ってみましょう。 Chrome ウェブストアでインストールできます。 サーバに接続します。現在のところパスワード認証のみサポートしています。 筆者のところは全て公開鍵認証なのでログインできず…。 Mosh ChromeはNative Clientで作られていますので動作は速いです。コンセプトとしてはChrome OS向けのMoshクライアントというのがあるようです。持ち歩くのが当たり前のデバイスであればMoshのが相性は良さそうです。 Mosh ChromeGoogle Chrome用、GPL v3のオープ

    Mosh Chrome - Native Client製。Google Chrome用Moshクライアント MOONGIFT
  • My Mind·Web上で高度なマインドマップを実現! MOONGIFT

    マインドマップは今もよく使います。頭の中を整理したり、網羅して考えることで思わぬ抜けを防げるようになります。ドリルダウンする形なので必要なところだけをメンテナンスするのも簡単です。 問題はマインドマップは専用アプリケーションが多いということです。インストールすれば良いのですが、それすら面倒という方は多いでしょう。そこで使ってみたいのがWebブラウザ上で使えるMy Mindです。 最初の表示です。 エンターとタブでどんどん作っていけます。 ノードの移動もできます。 ノードによっては小ノードのSUM/アベレージ数を出すこともできます。 より複雑なマップのデモ。これくらい使いこなせると面白そうですね。 保存を押すとJSONファイルでダウンロードされます。逆にJSONファイルをアップロードすれば再現もできますので、My Mindの置き場所はさほど問題ではないのかも知れません。サーバサイドの仕組みが

    My Mind·Web上で高度なマインドマップを実現! MOONGIFT
  • ModSecurity - セキュリティリスクを軽減するWebアプリケーションファイアウォール MOONGIFT

    これは要導入検討ですね。 Webアプリケーションをセキュアに開発するのは基ですが、それでも人が作るものである以上バグを含んでしまうのは致し方ありません。そこで未知の不具合を含めて防衛するための手段を考えなければなりません。 その一つとして、さらに外部からのアタックに対して考えられる手段がWebアプリケーションファイアウォール、通称WAFです。各種Webサーバに組み込めるオープンソースのWAF、それがModSecurityです。 デモが用意されておりインジェクションを起こそうと試みることができます。 特徴 ModSecurityの特徴として、多彩なWebサーバに対応しているというのがあります。Apache/nginx/IISサーバに対してインストールが可能です。また、以下のような特徴があります。 HTTPトラフィックのロギング 通常、Webサーバのログではリクエストボディは保存されません。

    ModSecurity - セキュリティリスクを軽減するWebアプリケーションファイアウォール MOONGIFT
  • RapydScript·Pythonっぽく書けるJavaScript代替言語 MOONGIFT

    JavaScript代替言語が数多く出回り始めていますが、その一種で見られるのは既存のプログラミング言語に似せて作られてJavaScriptに変換されるタイプです。 RapydScriptもその系統です。ベースになっている言語はPythonで、Python風に書いてJavaScriptへ変換できるコンパイラーがRapydScriptになります。 インストール インストールはnpmで簡単にできます。 $ npm install rapydscript -g 使ってみる ではさっそく使ってみましょう。例えば以下のようなコードがあります。 $ cat test.pyj def greet(): alert("Hello World!") 普通にPythonっぽいですね。そして変換を実行します。-oを付けると出力先ファイル名が指定できます。特に指定しない場合は標準出力にJavaScriptが出ます

    RapydScript·Pythonっぽく書けるJavaScript代替言語 MOONGIFT
  • websocketd - Bashスクリプトだけで使えるWebSocketサーバ

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました HTML5の目玉機能の一つと言えるWebSocket。使ってみたいとは思いつつもHTTPサーバとは別でサーバを立てるとなると若干の面倒さを感じてしまうのではないでしょうか。 そこで使ってみたいのがwebsocketdです。inetdくらいのカジュアルさで使えるWebSocketサーバです。 例えばこんな感じでファイルをcount.shというファイルを作成します。 #!/bin/bash for COUNT in $(seq 1 10); do echo $COUNT sleep 1 done 後はポートを指定して実行するだけです。 $ websocketd --port=8080 ./count.sh これでWebSocketサーバが立ち上がります。実際に使うHTMLファイルは次の

    websocketd - Bashスクリプトだけで使えるWebSocketサーバ
  • GitHub Notification Helper for Gmail – GitHubからのメールを素早く開くChrome機能拡張

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました GitHubを使って複数人で開発している時にお勧め! GitHubでは課題やコメント、pull reqがあるとメールで通知してくれる機能があります。便利な機能ですが、GitHub Notification Helper for Gmailを使うとさらに手軽になりそうです。 メールの下の方にあるリンクをクリックすればGitHubに飛べる訳ですが、GitHub Notification Helper for Gmailを使えばさらに素早くジャンプできるようになります。 ボタンを押すか、Shift + Gでもジャンプできるようになります。スクロールしてリンクをクリックする手間すら省いてくれるちょっとしたことですが便利なソフトウェアです。 あるメールを感知してボタンを追加すると言った機能は