Panda Noir

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

とりあえず動かしたい!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にはデフォルトでワークスペースと呼ばれる機能が存在します。が、使い方をまとめてあるサイトがなく、せっかく便利な機能なのにもったいないと思ったので、記事を書いてみました。

暗号化だけじゃない!サイトを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パッケージの雛形を作ったことはありました。しかし、これをいちいち複製するのは結構面倒です。そこでシェルスクリプトを使って雛形からリポジトリを生成してみました。

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

全文探索・ファイル名検索はプログラマにとって日常動作ですよね。でもオプションがわからなかったりして一々調べなおしがちです。そんなことないか。 というわけで今回はシーン別に検索をする方法をまとめてみました。Ubuntu 17.10でのみ検証を行いました。…

中級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楽しみですね。 仕様書を読んだわけではありませんので厳密なことは言えません。ご容赦ください。

Node.jsのFile操作まとめ

ファイル読み込み処理を書くたびにググっているので、まとめてみました。書き込みについては、読み込みとほぼ同じなので割愛します。

購読すべきJavaScriptブログまとめ

日頃から情報をかき集めていきたい人間なので、ためになりそうなブログを探してみました。今回、調査対象としたのは次のサービスです。 はてなブログ FC2ブログ アメーバブログ ライブドアブログ JUGEMブログ ソネットブログ ヤフーブログ 調査手法としては…