ブックマーク / efcl.info (8)

  • [JavaScript] URLを文字列結合で組み立てないために、url-cheatsheetを作った

    [JavaScript] URLを文字列結合で組み立てないために、url-cheatsheetを作った URLを文字列結合で組み立てると色々問題が起きやすいので、それを避けるためにURL APIやURLSearchParams APIでURLを組み立てるパターンをまとめたチートシートを作りました。 azu/url-cheatsheet: URL manipulation cheatsheet for JavaScript URLにユーザーが入力した文字列を含めるときはencodeURIComponentでエスケープする URLはプレーンな文字列ではなく構造化された文字列(文字の並びに意味がある文字列)として扱わないと、さまざまな問題を抱えやすいです。 たとえば、次のように文字列結合でURLを組み立てるとパストラバーサルの問題があります。 name に ../../adminのような文字列が

    [JavaScript] URLを文字列結合で組み立てないために、url-cheatsheetを作った
  • fz-browse: fzfライクな自由度の高いインタラクティブな検索ツール、ただしブラウザに表示する

    fz-browse: fzfライクな自由度の高いインタラクティブな検索ツール、ただしブラウザに表示する fz-browseという、fzfライクなインタラクティブな検索ツールを書きました。 fz-browse自体は検索エンジンを持っているわけではなく、既存のripgrepやripgrep-allなどのツールと組み合わせて、インタラクティブな検索体験を自分で組み立てるツールです。 コマンドを組みあわせたインタラクティブな検索(絞り込み)はpercol、peco、fzfなどが有名ですが、これらは検索の結果や操作もターミナル上で行います。 ターミナルは、書籍や画像などのコンテンツを検索した結果を表示してもあまり楽しくない場合があります。 fz-browserでは既存のコマンドラインツールを組み合わせて検索するのは同じですが、この検索結果の表示や操作をウェブブラウザ上で行います。 ブラウザで表示でき

    fz-browse: fzfライクな自由度の高いインタラクティブな検索ツール、ただしブラウザに表示する
  • ブラウザとNode.jsで動く1kBのキーバリューストレージライブラリを書いた

    azu/kvsというブラウザとNode.jsで動くファイルサイズが小さいキーバリューストレージを作りました。 モチベーション ファイルサイズが小さくIndexedDBを使っていて、Node.jsでも透過的に同じAPIで利用できるライブラリが必要となったため作りました。 textlint-editorというアプリを書いていて、キャッシュストレージとしてlocalstorage-ponyfillを使っていました。 しかし、localstorage-ponyfillはブラウザとNode.jsで透過的に動くストレージライブラリですが、LocalStorageベースとなっています。 textlint-editorでは、スクリプトをWeb Workerで動かすため同期的なAPIであるLocalStorageは利用できません。 そのため、IndexedDBベースでシンプルなキーバリューストレージを扱える

    ブラウザとNode.jsで動く1kBのキーバリューストレージライブラリを書いた
  • textlintで日本語の文章をチェックする

    textlintMarkdownなどテキスト向けのLintツールで、テキスト版ESLintみたいな感じのツールです。 JavaScriptでルールを書けるテキスト/Markdownの校正ツール textlint を作った | Web Scratch 最近azu/JavaScript-Plugin-Architectureという小さな書籍を書いていて、色々簡単に使えるような仕組みを追加しています。 この記事では簡単なtextlintの導入方法について紹介します。 公式サイトには一部ルールを含むオンラインデモが公開されています。 textlint · The pluggable linting tool for text and markdown ドットインストールにてNode.jsのインストール、textlintの利用方法、エディタとの連携などのチュートリアルが公開されています。Node.

    textlintで日本語の文章をチェックする
    m0t0m0t0
    m0t0m0t0 2019/12/25
  • Git tagとGitHub ReleasesとCHANGELOG.mdの自動化について

    GitHubには Releases という機能があります。 Release Your Software Creating Releases · GitHub Help GitHubのリリース機能を使う - Qiita 簡単に言えば、gitのtagやbranchに文章や添付ファイルを追加して公開出来るページです。 基的にはgit tagと連携してるので、tagを付けてgit push --tagsをしていれば、自動的に追加されます。 メリットとしては以下のような事が行えます。 git tagにパーマネントリンクがつく(重要!) メッセージ(リリースノート等)が書ける 添付ファイル(zip)をアップロード出来る(配布するバイナリとか) RSS Feedsが自動的に生成される(TagとReleaseの2種類がある) ライブラリ等にtagがついてると利用しやすい。 git tagとGitHub

    Git tagとGitHub ReleasesとCHANGELOG.mdの自動化について
  • ルールプリセットを使ってお手軽にtextlint入門

    textlintはルールで拡張出来る自然言語向けのLintツールです。 textlint 5.1.0でルールのプリセットをサポートしました。 ルール、プリセット、プラグインは以下のような関係です。 rule いわゆるルール rule-preset ルールをまとめたもの plugin ルールとプロセッサ(拡張機能)を持ってる textlintはデフォルトでは一つもルールを持っていません。 そのため、どのルールを入れたらいいか迷った場合に、誰かがまとめてくれたプリセットをとりあえず入れれば、とりあえず文章のチェックが出来るようになります。 textlintの使い方は以下で解説しているのと基的に同じですが、今回はプリセットの使い方を紹介します。 textlintで日語の文章をチェックする | Web Scratch インストール textlint体と2つのプリセットをインストールしてみます

    ルールプリセットを使ってお手軽にtextlint入門
  • 英語の文章をルビ翻訳(ふりがな和訳)するGreasemonkeyを書いた

    タイトルで分かる方は分かるかもしれませんが、いわゆるルビ翻訳をするものを書きました。 ずるっこ! などがイメージとしてかなり近いサービスで、 これをローカルに辞書を持ってどこでも翻訳をかけられるGreasemonkeyを書きました。 類似するジャンルのものだと以下のようなのがありますが、使いどころが違ったり動いてなかったりするので作りました。 英語翻訳 - ふりがな翻訳 & スラッシュリーディング powered by Rubiyaku.com ルビ翻訳 (firefoxアドオン) Ruby Reader (@ruby_reader) | Twitter en-ja-ruby-translator インストール方法ですが、辞書にGENE95 辞書を使っているのでそのままで使える状態では配布してないです。 ライセンスがイマイチ分からないのですが、再配布するには許可が必要そうで(同梱だと再配布

    英語の文章をルビ翻訳(ふりがな和訳)するGreasemonkeyを書いた
  • ブックマークレットを作るコマンドラインツール

    使い方 使い方は簡単で、ファイル名を渡すかパイプでJavaScriptコードを渡せば、javascript: から始まるブックマークレットとして使える文字列を返してくれます。 $ bookmarkletter code.js # or $ cat code.js | bookmarkletter # Broserifyと合わせるケース $ browserify code.js | bookmarkletter

    ブックマークレットを作るコマンドラインツール
  • 1