Panda Noir

JavaScript の限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。

2018-01-01から1年間の記事一覧

HTMLで絶対パスを有効的に使う

http://example.com/hoge と http://example.com/hoge/を区別せずに扱おうとすると、相対パスの問題が起きます。これを回避するために絶対パスを使いたいですが、一々フルで書くのはめんどくさいので<base>タグを使って楽をしようと思います。</base>

Neovimにでなぜか入力した文字がおかしくなった

Neovimを起動直後に「あいうえお」と入力すると「いうえおあ」になる、という問題に直面しました。このときの解決法をご紹介します

とりあえず動かしたい!Dockerいじり

対象読者 イメージとかコンテナとかどうでもいいんじゃ!動かして覚えるからサンプルよこせ!という方。僕自身「よくわからんけどなんか動いたぞ!」レベルなので。 できるようになること 詳しい解説は他の方がいくらでも書かれているので、解説はしません。…

\sが完全には空白文字を網羅できていなかった件

「空白文字」が世の中に何種類あるかご存じですか?半角スペース、全角スペース、タブ、改行くらいは分かると思いますが、実は世の中にはもっと空白文字があります。なんと空白文字だけで30文字以上もあります。これだけある空白文字を、/\s/は果たして網羅で…

tmuxで特定ペインを常に一定サイズに固定する

よくターミナルをリサイズするので、時計ペインのサイズが固定だと嬉しいと思い、スクリプトを組んでみました。

終了時に「実行中のプロセスが存在します」と言わせないためのtmux起動法

zshrcにtmux attachと記述してtmuxを起動させるというテクニック、ご存知ですよね?とても便利ですし僕自身使っていました。 しかし、この方法では端末の×ボタンを押したときに「この端末を閉じますか?」という警告メッセージが出ます。とてもストレスですし…

たった2つのポイントで!zshでもfish並のインクリメンタル補完を実現する

fishのインクリメンタル補完(下のような補完)が神すぎてzshをやめてfishを使っていました。 しかし、fishを使っているうちに色々と不具合が出てきました。 シェルスクリプトがbashやzshと異なる (2018/6/19追記) 設定ファイルの書き方がbashやzshと異なる ba…

Ubuntuのワークスペースの使い方まとめ

Ubuntuにはワークスペースという機能が存在します。ワークスペースを活用するとノートパソコンの小さい1画面もかなり快適になります。なにせフルスクリーンにしたアプリをキーボードでササッと入れ替えられるので。 また、デュアルディスプレイの画面操作も…

暗号化だけじゃない!サイトをhttps化するメリット

今朝、ConoHaからのメールで「Let's Encryptというサービスを使えば無料でhttps化できる」と知ったのでホームページをhttps化してみました。かなり簡単だったのでご紹介したいと思います。 実際にhttps化したサイトがこちら↓ Panda Noir

void演算子の活用法を考えてみた

考えてはみましたが、実際に使うと多分怒られます。

これでもう怖くない!npm versionで失敗しないための3つのポイント

npm versionコマンドの挙動がよくわからない tagがズレた CHANGELOG.mdをいつコミットすればいいのか dist/の生成タイミング などなど、npmパッケージのアップデートはややこしすぎます。毎回不安になるのでポイントをまとめました。

UnitaryJS 0.1.2公開しました

今回のアップデートは大きな変更点が2つあります。 Point.fromPolar()の追加 GroupがfillStyleなど描画用のプロパティを持てるようになった

Webサービス同士をつないで新しいサービスを作る「IFTTT」

IFTTT(イフト)というサービスをご存知ですか?IFTTTとは「IF This Then That(Thisが起きたらThatをする)」の略です。様々なサービス同士をつなぐというシンプルなサービスです。 (2010年に誕生した比較的古いWebサービスなので取り上げるのは今更感がスゴイ…

yarn-or-npmが有能すぎた

これこそ全人類が求めていた答えだ(確信)

HTMLで省略可能なタグの「仕様」

HTML5には「仕様で」省略できるタグが存在すること、ご存知ですか?今回はそんなタグたちを紹介しようと思います。

標準出力に色をつけてカラフルにログ表示する

こんなカッコイイことができるようになれます。

式変形をアニメーションにするサービス作った

こんな感じで式変形の様子がアニメーションになります。結構革新的ではないですか??個人的には大満足の出来です。 diffがうまく取れず、よくわからない変形になったり、iPhoneだと表示が崩れたりしますがご愛嬌ということで。

npmリポジトリの雛形を生成するシェルスクリプト書いた

以前npmパッケージの雛形を作ったことはありました。しかし、これをいちいち複製するのは結構面倒です。そこでシェルスクリプトを使って雛形からリポジトリを生成してみました。

全文検索・ファイル名検索する手法

オプションを混乱しがちなので、まとめてみました。find、ag、grep についてまとめてあります。 ※ OSのバージョン、コマンドのバージョンによっては使えないオプションがある場合があります。 ファイル名を検索する $ find -name "*.js" $ ag -g "\.js$" $ a…

中級Vimmerなら覚えたい!バッファとレジスタ

Vimを長く使っていても意外と使ってなかったりするバッファとレジスタ。覚えるとかなり便利なのでご紹介しようと思います。

ベジェ曲線を完全に理解したので解説する

よくペイントツールに出てくる「ベジェ曲線」。かなり難解ですよね。なぜならWikiに書いてある「ベジェ曲線」とペイントツールの「ベジェ曲線」が厳密には異なっているからです!今回はどちらも完全に理解したので解説記事を書こうと思います。

Jestいいぞ

今更コードのカバレッジを気にし始めたクロパンダです(プログラミング歴7年目())。今までは結構ざっくりとテストを書いてきていました。というのも、コードカバレッジという概念がどうも七面倒でやる気が起きなかったのです。 しかし、JavaScriptテストツー…

文字列からミリ秒を計算するライブラリtime-f作った

setIntervalの秒数指定の場面など、ミリ秒で指定する場面は多いです。これをもう少しリーダブルにかけると嬉しいですよね?そこで今回は「time-f」というライブラリを作りました。

Vimで選択した文字列を利用して検索する

Vim

「選択範囲内で検索する」ではなく、「選択した文字列で検索する」というTipです。 ヤンクする /を入力する(検索できる状態にする) <C-r>を押す ヤンクしたレジスタ名を入力する(ただのyでヤンクした場合は、無名レジスタなので"を押せばOK) まあこれだけのTipで</c-r>…

イミュータブルを簡単に実現するライブラリ「Immer」

なかなかクールなライブラリだったので紹介します。

enumをそこそこ綺麗に書く

今日で本ブログは6周年となりました。特に何かするわけではありませんが。 本題に入ります。enumをJavaScriptでそこそこ綺麗に書くテクニックの紹介です。 const [SUN, MON, TUE, WED, THU, FRI, SAT] = Array(7).keys(); これだけのTipです。Array(7)をArra…

log = console.log;はなぜダメなのか

本記事ではNodeJSのコードを検証しています。ChromeやSafariなどブラウザによっては実装が異なる可能性があります。

Closure Compilerが遅すぎるので早くする

google-closure-compilerここにガッツリ書いてありましたが、今まで気づいていませんでした。だいたい今まで8秒かかっていたところが2秒に縮まりました。4倍早くなった計算です。

gulpでJSの圧縮+モジュールバンドルをする

GulpっぽくRollupする記事が日本語で見つからなかったので書きました。

ES2015のクラス構文は今までのクラス構文の糖衣構文ではない

もう2018年になったのに今更ES2015の話かよという感じですね・・・ES2018といえばAsync Iterator楽しみですね。 仕様書を読んだわけではありませんので厳密なことは言えません。ご容赦ください。