Panda Noir

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

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ブログ ソネットブログ ヤフーブログ 調査手法としては…

寿司で学ぶCSSアニメーション

あけましておめでとうございます。新年一発目の記事です。書き初め・・・というのでしょうか? 挨拶はこれくらいにして記事に入ります。みんな🍣大好きですよね?僕も大スシです。そんなみんな大好き🍣でCSSアニメーションを学んでみましょう。

祝WebComponents実装!実際にコンポーネントを作ってみた

いよいよWebComponentsが主要ブラウザでサポートされたそうなので、ライブラリ抜きで実装してみました。

Logojoyでカッコイイロゴを作った

ロゴマークを選んだりラベルを書くだけでAIがロゴを作ってくれるというサービス、Logojoyを使ってロゴを作ってみました。

どういう需要があるのかわからないけどミュータブルなNumber作ってみた

JavaScriptのNumberはイミュータブルですが、for文のiに対してconstできなかったり微妙に使い勝手が悪いのでミュータブルなクラスを作ってみました。もっとも、演算子オーバーロードができないので使い勝手はこの上なく悪いですが。

SvelteのDynamic Componentがわかりづらかったので解説

Svelte 1.45.0にて実装されたDynamic Componentがドキュメントもなくてわかりづらかったので、コンポーネントを作ってみて調べました。

アナログ時計の影をCSSでいい感じに表現する

物理的に計算するのは光源の設定などがめんどうだったのでしませんでした。

npm-scriptsはどうやらbashらしい

500記事目ですが、そんなこと関係ないです。普通にいつもどおり書きます。 詳しいドキュメントがみつからなかったのがアレですが、少し調査した結果を報告いたします。

boost::spirit::qiを使って構文解析する

JavaScript onlyブログじゃなくなってきてるな、と思う今日この頃です。 今回はC++のライブラリBoostを使って構文解析をする方法についてです。

シェルを作ってみる その3

この記事は東北大学 計算機科学研究会 Advent Calendarの11日目の記事です。 いよいよクリスマスが近づいてきましたね。僕は彼女がいないのでただの平日ですが。ガッキーみたいな可愛い彼女ほしい 第三回目の記事ですので、第一回、第二回を先にご覧ください…

functionの呼び出し方でthisが変わる時代は終わったんだよ(ブチギレ)

もう二度と「JavaScriptは呼び出し方によってthisが変わるという奇怪な言語なんですよ~(ドヤ顔)」とかするでないぞ??

chshしたらログインできなくなった人へ

496記事目です。もうちょいで500記事ですね。何か考えないと。 今回の記事は例えば自作シェルを試しにchshしちゃったてへぺろ(・ω<)という人に向けた記事です。僕だね。

どうぶつタワーバトル攻略

全くプログラミング関係ない記事ですがご容赦ください。 今回は僕が300戦ほどしてみて気づいた重要そうなテクを紹介します。

シェルを作ってみる その2

この記事は東北大学 計算機科学研究会 Advent Calendarの11日目の記事です。 第二回目の記事ですので、第一回からご覧ください。

scpしたときに「open terminal failed」と出る問題に対応する

どうもこんにちは。皆さんお元気ですか?僕はAdvent Calendarのネタが切れたり、飲み会で飲みすぎて開始1時間後からの記憶が全部吹き飛んだり色々と大変な今日この頃です。 さて今回のテーマはscpコマンドが「open termianl failed」と出てきたときの対処法…

シェルを作ってみる その1

この記事は東北大学 計算機科学研究会 Advent Calendarの10日目の記事です。 部活の飲み会で記憶をふっ飛ばして、そのまま二日酔いで日曜が潰れたために書く暇がなく、大遅刻しています。今回はBourne ShellやZ shell、fish shellといった、いわゆる「シェル…

Git修行編

Git

この記事は東北大学 計算機科学研究会 Advent Calendarの8日目の記事です。 超入門したはいいけど次の修行がわからずに困っている人向けの記事です。決してアドベントカレンダーのネタが切れてつなぎで書いてるわけじゃないです

プログラムが書けるとグラビア画像収集が捗るぞ!

この記事は東北大学 計算機科学研究会 Advent Calendarの7日目の記事です。 ほぼネタです。しかもシェルスクリプトなのでプログラムかと言われると微妙ですね。プログラミング初心者に「こんなこともできるんだぜ!」と示したかっただけなので許してください…

dotfilesを作るときのOS別対応をする

この記事は東北大学 計算機科学研究会 Advent Calendarの6日目の記事です。 僕の場合、実家のPCがMacで手元のパソコンがUbuntu、さらにConoHaでCentOSを借りているので色々と問題が生じているわけです。今回はそんな中で工夫してみたことを書いてみようと思…

有限オートマトンとはなんぞや

この記事は東北大学 計算機科学研究会 Advent Calendarの4日目の記事です。早くもネタ切れしてます。 授業でオートマトンをやったのと、有限オートマトンについて調べてみてもなかなかわかりやすい記事がないので書いてみることにしました。授業以前に本を読…