タグ

JavaScriptとnode.jsに関するski_yskのブックマーク (117)

  • ‎pad.js - ターミナルからでも使えるファイル共有サーバ MOONGIFT

    ファイルを共有する仕組みは意外と簡単ではなかったりします。Apple製品同士であればAirDropが使えますが、異なるマシン間において、目の前の相手にデータを送りたいと思うことはよくあります。そして大抵メールになったりします。 今回はインターネットを介してファイルを送信、受信できる‎pad.jsを紹介します。 ‎pad.jsの使い方 ‎pad.jsが魅力的なのはコンソールで送れることでしょう。認証もいらず、さくっと送れます。 $ curl -F "file=@IMG_3721.jpg" http://127.0.0.1:9090/IMG_3721.jpg 逆に取り出す場合にはwgetでも良いでしょう。URLを指定するだけです。 $ wget http://127.0.0.1:9090/IMG_3721.jpg --2018-10-15 13:35:40-- http://127.0.0.1

    ‎pad.js - ターミナルからでも使えるファイル共有サーバ MOONGIFT
  • local-web-server - HTTPS/HTTP2も使えるローカル開発用HTTPサーバ MOONGIFT

    ローカルで開発を行って、結果がうまくいったらサーバにアップロードするというのはよくある開発風景です。そんな時に必要なのがローカルでの開発用サーバです。Apacheやnginxでもいいですが、設定が面倒です。 そこで使ってみたいのがlocal-web-serverです。単なる静的配信に限らず多彩な機能が揃っています。 local-web-serverの使い方 local-web-serverはnpmでインストールします。 $ npm install -g local-web-server これで ws というコマンドが使えます。まず機能としては単純な静的配信サーバの他、SPA対応があります。これはどのURLにアクセスしても指定したファイル (通常は index.html)を返してくれるものです。 また、HTTPS対応であったり、Web APIのプロキシ機能、HTTP2も対応しています。JSO

    local-web-server - HTTPS/HTTP2も使えるローカル開発用HTTPサーバ MOONGIFT
  • HTTP Responder - WebHookを使った開発を便利に MOONGIFT

    WebHookはシステム連携するのに便利な仕組みですが、呼び出されるのがサーバ側とあって、開発時の確認がしづらいのが問題です。ngrokなどを使ってローカル環境を外部に繋ぐこともできますが、準備が面倒と感じる人もいるでしょう。 そこで使ってみたいのがHTTP Responderです。WebHookの内容を確認できるWebサービスです。 HTTP Responderの使い方 最初に自分の好きなURLを設定します。 後はそのURLに来たアクセスについて、細かく情報が確認できます。 HTTP Responderで設定したURLをWebHookに設定することで、どういった情報が送られてくるかが一目で分かるようになります。さらにレスポンスも決めることができます。URLを複数作れるので、サービスごとに分けられるのも便利です。 HTTP Responderはnode/JavaScript製のオープンソー

    HTTP Responder - WebHookを使った開発を便利に MOONGIFT
  • ReLaXed - Web技術からPDFを生成

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました PDFを作るのは数年前に比べると、さほど難しくなくなっています。プリンタドライバ形式でPDFを生成するプロダクトは多く、簡単な体裁のものであればすぐに作成できます。 しかし、よりこだわったレイアウトであったり、自動化となると、まだまだ技術が必要です。今回はWeb技術PDFが作れるReLaXedを紹介します。 ReLaXedの使い方 ReLaXedはコンテンツをPug(かつてのJade)フォーマットで記述します。そしてPDFを生成します。 日語も使えますが、フォントの指定が必要です。 ReLaXedはPugをテンプレートに採用することで、Webブラウザでの閲覧とPDFによるダウンロードの両方がサポートされます。CSSも使えるので、表示のカスタマイズも容易です。eBookや履歴書、

    ReLaXed - Web技術からPDFを生成
  • Stencila - ドキュメントと表計算をシームレスに連携させるオフィススイート MOONGIFT

    Pythonを使っている人にとってはお馴染みのJupyter Notebook。コードと文章を一緒に書けるのでプログラミングに関連したコンテンツが見やすくなります。様々な種類の文書を埋め込む際には同様の手法が便利です。 オフィスでよく使われる文書や表計算でも同じことができそうです。それがStencilaです。 Stencilaの使い方 ドキュメントと表計算が一つのドキュメントにまとめられます。こちらはドキュメント。 こちらは表計算。 埋め込むとこんな感じになります。計算式を埋め込むことができます。 グラフも表計算を使って表現できます。 Microsoft OfficeでもOLEを使って連携はできます。しかし元ファイルを移動してしまったらリンクが切れてしまったりします。更新も複数のアプリケーションを使うのが面倒です。Stencilaは一つのファイルとしてまとまっているので、メンテナンスしやす

    Stencila - ドキュメントと表計算をシームレスに連携させるオフィススイート MOONGIFT
  • docxtemplater - テンプレートからWord/PowerPointファイルを生成 MOONGIFT

    エンジニアであってもオフィススイートを使う機会はあります。例えばWordを使ったり、PowerPointでプレゼンを作ったりするでしょう。資料はMarkdownやシステムに入っていて、それを取り出してファイルの内容に埋め込んだりする作業は手間です。 そこで使ってみたいのがdocxtemplaterです。テンプレートされたオフィスファイルを使ってWord/PowerPointファイルを生成します。 docxtemplaterの使い方 デモです。 {} で囲まれた部分がテンプレートとして置き換わります。 繰り返し処理もできます。 状態による分岐処理も。 XMLを埋め込むこともできます。細かい文字装飾はそちらでできます。 テーブルでも繰り返し処理ができます。 リスト。 docxtemplaterではもっと多機能なものはPro版として販売されています。しかし簡易的な文書であればオープンソース版でも

    docxtemplater - テンプレートからWord/PowerPointファイルを生成 MOONGIFT
  • CodiMD - リアルタイムコラボレーション付きのMarkdownエディタ MOONGIFT

    Markdownは業務の中でも広く使われるようになっています。個人でメモとして使う範疇を遙かに超えて、Markdownなしでは仕事が回らないというチームすらあるのではないでしょうか。 そんな方達にお勧めなのがCodiMDです。共同編集をサポートしたMarkdownノートアプリです。 CodiMDの使い方 エディタです。2ペインになっています。左側が編集、右側にプレビューが表示されます。 他のブラウザの編集がリアルタイムに反映されます。 画像はドラッグ&ドロップでアップロードされます。 メニューです。プレゼンテーションモードや各種フォーマットでのダウンロードが可能です。 PDFは残念ながら日語が表示されませんでした(Herokuに日フォントが入っていないせいだと思いますが)。 テーブルもサポートされています。 PDFの埋め込み。 MathJax。 Graphvizによるグラフ埋め込み。

    CodiMD - リアルタイムコラボレーション付きのMarkdownエディタ MOONGIFT
  • GROWI - 情報共有を潤滑にするWikiエンジン

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 社内の情報共有はとても大事です。情報の格差が生まれると、結果にも差が生まれ、社内で壁が生まれていきます。全員が情報をオープンにし、共有しなければなりません。 そのための仕組みとしてWikiを導入するのは良いことです。今回はMarkdownで記述できるチーム用WikiのGROWIを紹介します。 GROWIの使い方 最初にアカウントを作ります。 設定画面です。 ページを作ります。 Markdownで記述します。 テーマを変更できます。 プレゼンテーションモードもあります。 差分を確認する機能。 コンテンツは階層管理されます。 GROWIはLDAP認証にも対応し、社内での利用にも向いています。検索はElasticsearchを用いており、全文検索できます。さらにログインしていないユーザに

    GROWI - 情報共有を潤滑にするWikiエンジン
  • Secure Spreadsheet - CSV/Excelファイルにパスワードを付与 MOONGIFT

    Excelファイルでセキュリティを保ちたい場合にはパスワードをかけておくでしょう。しかしCSVファイルはパスワードがかけられず、平文のままで扱われたりZip圧縮してパスワードをかけられます。 そんな運用に不便さを感じたら使ってみたいのがSecure Spreadsheetです。 Secure Spreadsheetの使い方 Secure SpreadsheetCSVExcelファイルに対してパスワードをかけられるCLIツールです。実行するとExcelファイルになります。 $ cat event.csv | secure-spreadsheet --password secret > output.xlsx できあがったファイルを開こうとするとパスワードが聞かれます。 Secure Spreadsheetを使えばファイルのパスワードロックが簡単にできます。CLIなので、バッチ処理でまとめ

    Secure Spreadsheet - CSV/Excelファイルにパスワードを付与 MOONGIFT
  • searchive - ローカルのPDFを検索

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました ローカルにあるドキュメントを手早く検索したいと思ったことはないでしょうか。デスクトップ検索を使っても良いですが、検索結果の出方が思った形ではなかったりして、結局中身を見ながら探したりします。 もしPDFを探しているならば使ってみたいのがsearchiveです。特定ディレクトリ以下のPDFだけを検索できます。 searchiveの使い方 トップページです。 まずインデックス対象のディレクトリを設定します。複数ディレクトリ指定できます。 後は検索するだけです。日語も利用できます。 searchiveは検索結果を出した後、フィルタを使って絞り込めます。NOTなどを使って複数キーワードを組み合わせた検索もサポートされていますので、目的のドキュメントに素早く辿り着けるでしょう。電子書籍など

    searchive - ローカルのPDFを検索
  • Spectrum - 複数参加できるオンラインコミュニティ

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 一言でコミュニティといっても様々な形式があります。オフラインのコミュニティもあれば、オンラインもあります。チャットのようにフローな会話もあれば、フォーラムのようなストック型もあるでしょう。 Spectrumはオンラインコミュニティを形成するソフトウェアで、フローとストックの間にあるような作りになっています。 Spectrumの使い方 ログインしました。まずはコミュニティを探します。 すでに多数のコミュニティが形成されています。この中から気になるものを購読します。 ジョインすると、ダッシュボードのような画面でフォーラムの更新情報をチェックできます。 ユーザプロフィール。ここからメッセージを送れます。 SpectrumはFacebookグループだけ抽出したようなソフトウェアかも知れませ

    Spectrum - 複数参加できるオンラインコミュニティ
  • nexe - nodeスクリプトをラッピングして実行ファイル化

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました nodeを使えばJavaScriptでローカルで動くコマンドなどを作ることが出来ます。これはとても便利で個人的にはよく使うのですが、そのためには予めnodeがインストールされていなければなりません。 もちろんバイナリでも配布されているのですが、インストールの手間は初回実行には相当大きいと言えます。そこで使ってみたいのがnodeスクリプトを実行ファイル化するnexeです。 nexeの使い方 nexeは他の同じようなソフトウェアと同じく、nodeの実行エンジンをスクリプトと一緒にするタイプのソフトウェアです。 コンパイルはこのように行います。 nexe -i ./ -o ./hello-world.nex -r 0.8.18 コンパイルのためにnodeのコンパイルまで行うので初回は時間

    nexe - nodeスクリプトをラッピングして実行ファイル化
  • markuplint - 各種マークアップに対応したLintツール

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました 企業などで品質を標準化するためにはフォーマットをチーム内で合わせる必要があります。個々人の書いたコードを目でチェックするのはとても大変です。そこで使えるのがLintツールになります。 今回紹介するmarkuplintHTMLやWeb Componentなど様々なマークアップをチェックするソフトウェアです。 markuplintの使い方 markuplintは設定ファイルを作成し、ターゲットになるHTMLファイルを指定して実行します。 $ markuplint -r ~/.markuplintrc index.html <markuplint> warning: インデントは2幅スペースにしてください。 (indentation) [/index.html:102:1]<br> 1

    markuplint - 各種マークアップに対応したLintツール
  • markdownlint-cli - より良いMarkdownドキュメントを目指す

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Markdownは柔軟な記法をサポートしています。なんとなく書いてもそれっぽく表示されます。しかし、会社などで何人もMarkdownを使うようになると一定の統一された基準が必要になるでしょう。 そこで使ってみたいのがmarkdownlint-cliです。MarkdownLintツールかつCLIになります。 markdownlint-cliの使い方 インストールが終わったら後はmarkdownlintコマンドを実行するだけです。そうすると直すべきポイントがリストアップされます。 $ markdownlint README.md README.md: 210: MD007 Unordered list indentation README.md: 92: MD009 Trailing

    markdownlint-cli - より良いMarkdownドキュメントを目指す
  • node dependencies view - nodeプロジェクトの依存性を可視化

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました nodeに限った話ではありませんが、各プログラミング言語では多くのライブラリを利用します。自分では一つしか使っていないつもりでも、そのライブラリが別なライブラリに依存し、そのライブラリがまた別な…と広がっていくのはよくある話です。 そんなnodeプロジェクトの依存性を可視化してくれるのがnode dependencies viewです。 node dependencies viewの使い方 実行例です。あまりにも多岐に渡っており、全体像が見えないくらいです。 こちらはまだ見やすいかと思います。 画像を見てぴんときた方も多いと思いますが、実際の画像化はGraphizに依存しています。dotファイルを出力する形になりますので、後はPDFにするか、PNGにするかは自由です。プロジェクト

    node dependencies view - nodeプロジェクトの依存性を可視化
  • Darkwire.io - Web Cryptography APIを用いたセキュアなチャット MOONGIFT

    オンラインチャットは手軽にオンライン上の人たちと会話できる便利なシステムです。あまりに手軽で、ついつい余計なことまで喋ってしまって後で問題になることがあります。データの安全性は常に考えるべきでしょう。 そこで注目したいのがDarkwire.ioです。Web Cryptography APIを用いた暗号化チャットシステムです。 Darkwire.ioの使い方 トップページ。チャットルームのURLが生成されます。 チャット中の画面。句読点が最後に残ってしまうことがありました。 Darkwire.ioではIRCのように /me や /nick といったコマンドが利用できます。日本語入力はちょっとした問題がありましたが、表示は問題ありません。Web Cryptography APIを使ってWebSocket上を安全なデータが流れる、そんなチャットシステムになります。 Darkwire.ioはnod

    Darkwire.io - Web Cryptography APIを用いたセキュアなチャット MOONGIFT
  • mind - node/JavaScript製のニューラルネットワークライブラリ MOONGIFT

    ディープラーニングはここ数年人気の高い技術ですが、技術の基礎は理解しつつもそれをコードレベルで表現するのはとても難しいでしょう。そして、そのためのライブラリは多数出てきています。 もしWebブラウザ上で手軽に試したいのであればmindを使ってみてください。 mindの使い方 こちらはデモです。映画を10、レーティングします。 その結果をもとに、映画のレーティングを類推します。 mindはWebブラウザまたはnodeの中で動かすことができるニューラルネットワークライブラリになります。JavaScriptでディープラーニングを試してみたい方はmindをベースにしてみてはいかがでしょうか。特徴としてはワードベクトル生成、設定ベース、プラグインによる拡張と言った点が挙げられています。 mindはnode/JavaScript製のオープンソース・ソフトウェア(MIT License)です。 ste

    mind - node/JavaScript製のニューラルネットワークライブラリ MOONGIFT
  • clasp - ローカルでGoogle Apps Scriptを開発

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Google Apps Scriptを使えばGoogleスプレッドシートであったり、スライドなどを自動操作できる仕組みが作れます。さらにWeb APIもあり、外部からデータをウケたり、送信することも可能です。 そんなGoogle Apps Scriptをローカルで作成できるのがclaspです。 claspの使い方 clasp new で新しいプロジェクトが作れます。一度 clasp pull するとCode.gsがダウンロードされるので、後は編集してpushします。 $ clasp push └─ Code.gs └─ appsscript.json Pushed 2 files. ローカルで開発はできますが、実行できる訳ではないので注意が必要です。開発したらpushして、それから

    clasp - ローカルでGoogle Apps Scriptを開発
  • wcode - Webブラウザ上で動作するプログラミングエディタ

    AtomやVisual Studio Codeなど、Web技術を使ってプログラミングエディタが動くのが当たり前になっています。JavaScriptエンジンの高機能化はもちろん、HTML5の高機能化によって実現されています。 wcodeは同じようにWeb技術を使ったコードエディタです。Webブラウザ上で動作するのがポイントです。 wcodeの使い方 実行しました。起動する際にはディレクトリを指定します。 入力補完機能付きです。 ハイライトもあります。 フォルダの作成もできます。 wcodeはまさにAtomやVS Codeのような感覚で使えます。ローカルで使う意味はないかも知れませんが、Webサービスとしてコードエディタを提供しているサービスは多いかと思います。そうしたサービスがwcodeをベースにすると開発者にとっては使い勝手が良さそうです。 wcodeはnode/JavaScript製のオ

    wcode - Webブラウザ上で動作するプログラミングエディタ
  • node-git-server - node製のカスタマイズできるGitサーバ

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Gitリポジトリを管理するサービスやソフトウェアは多いですが、そのGit管理の仕組みを自分のサービスでも取り入れたりと思う方は多いはずです。そうした場合、Git操作の仕組みをすべてすべて自分でイチから実装しなければなりません。 しかしnode-git-serverを使えば幾分簡単になりそうです。node-git-serverはカスタマイズできるGitサーバです。 node-git-serverの使い方 node-git-serverの基的なコードです。以下のコードではpush/fetchに対応しています。 const Server = require('node-git-server'); const repos = new Server(path.resolve(__dirna

    node-git-server - node製のカスタマイズできるGitサーバ