読者です 読者をやめる 読者になる 読者になる

Panda Noir

JavaScript の限界を究めるブログです。

逆FizzBuzzを解いてみた

JavaScript

一時期はやった逆FizzBuzzをいまさら解いてみました。数年前初めて見たときは難しそうと思ったのですが、今回やってみたらかなりスラスラと解けて驚きました。

続きを読む

Riotのコンポーネント作り4日目 -lazyなcontent

Riot.js JavaScript

お久しぶりです。クロパンダです。

10月から工学研修という、研究室の体験のようなことをしていたのですが、その研究室から借りていたMacを先週ついに返してしまいました。これで使用マシンのスペックが大きく下がって、プログラミングへのやる気も一緒にダダ下がりしています。

今回はスクロールされて可視領域に入ったらフェードインするコンポーネントを作りました。

<lazy-content></lazy-content>
続きを読む

Node.jsでVimライクなエディタをつくる

NodeJS JavaScript ターミナル

qiita.com

この記事に触発されて、ついでにNodeでコマンドラインツール作ってみたかったので始めてみました。名称はズバリ「JEdit」。

今回の記事では、実装していておもしろかったところを取り上げていこうと思います。

続きを読む

Riotのコンポーネント作り3日目 -日付表示

Riot.js JavaScript

3ヶ月空けたと思ったら1週間も空けずに次を作る計画性のなさ。どうもクロパンダです。

今回は日付をフォーマットして表示してくれる要素を作りました。

<date format="yyyy/MM/dd(E)"></date>
続きを読む

構文解析に出てくる用語たち

アルゴリズム 構文解析

構文解析プログラマなら誰しも一度はやったことがあると思います。しかし、構文解析には独自の用語がたくさんあります。

そこで、初心者に向けて用語の解説をしたいと思います。「非終端記号って何?」「トップダウンボトムアップはどう違うの?」と疑問に思ってる方は必読です。

続きを読む

Riotのコンポーネント作り2日目 -アナログ時計

Riot.js JavaScript

約3ヶ月あきました。今回はアナログ時計を作りました。

<analog-clock></analog-clock>
<analog-clock hour="10" minute="10"></analog-clock>
<analog-clock utc="+10:30"></analog-clock>

こんな感じでつかいます。

続きを読む

Rollupは循環参照をうまくさばけないことがある

JavaScript Rollup

Rollupでは、循環参照していてもビルドしてくれます。しかし、子クラスが2つ以上になると意図した通りにビルドしてくれません。

このケースでは、ビルド自体は通るのですが、エラーが起きるコードが出力されます。ビルドは通ってしまうので、落とし穴に気づきにくくかなり厄介です。

続きを読む