Panda Noir

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

jQueryを(多少は)マシに書けるFWを作った

jQuery、遊びツール作る分には重宝するのですが、やはりこのレベルでもつらく感じるのでフレームワークを作ってみました。

iOS11が神アップデートだった

思ってた以上に神だった…優勝。優の勝利してる。鬼ヤヴァい。ヤヴァイ兵長。今回技術記事じゃないけど許して。興奮がおさまらない。

代入演算子を連結したら直感に反する挙動になった

ことの発端は、変数入れ替えのコードゴルフをしていたときでした。変数入れ替え手法のひとつとしてa^=b;b^=a;a^=b;というものがあるのですが、これを短くしようと躍起になっていたら起きました。

アルゴリズム勉強会 第二回 幅優先探索

第二回とありますが続かない可能性が高いです。

アルゴリズム勉強会 第一回 深さ優先探索

(本記事はリライト記事です。元の記事は削除しました) 第一回とありますが続かない可能性が高いです。

Fisher-yatesアルゴリズムでコードゴルフ

コードゴルフしてたらたのしくなったので、コードゴルフテクの紹介記事を書こうと思います。

ブログに独自ドメイン導入した!

神!!!!!!!!!!!あびゃーーーー(ナシ汁が飛び散る音) いやーpandanoir.netと一緒にpandanoir.infoを取ってはいたのですが、はてなブログProが月600円かかるのがネックで設定していなかったんですよ。Proにならないと独自ドメイン設定できない鬼畜設…

分割代入の評価順に関する研究

以前、Fisher-Yatesアルゴリズムについての記事を書きました。先日、記事中のコードをより短くできないか?とふと思い検証してみたところ、「分割代入の評価順と代入演算子を悪用すればいいんじゃないか」と思いつきました。今回はそのテクニックを紹介しよ…

Vue.js + nginxでSPA構築してみた

今までサーバー側をしてこなかったせいでSPAに対する印象があまりよくなかったのですが、サーバー側の設定をうまくすると通常のサイトとほとんど同様のページを作れると気がついたので構築してみました。

絶対URLと相対URLを理解できてなかった

意外と指定方法がたくさんあることをつい最近知りました。

アクセスするたびにランダムで手牌を表示してくれるサイト作った

10分クオリティですがとりあえずできました。 実際に麻雀をしたときに実現可能な配列のみ表示するので、白14枚のようなありえない手牌は出ません。 まあぶっちゃけると生存報告記事です。

Laravel5.4 でGraphQL式のAPIを実装してみた

一応アクセスしたら結果が返ってくるようにはなりました。なんで動くのかはLaravel初心者の僕には理解できませんでした。

操車場アルゴリズム解説

(本記事はリライト記事です。元の記事は削除しました) 逆ポーランド記法は数式からカッコが消せるという魔法のような記法です。今回は中置記法の数式を逆ポーランド記法にする、操車場アルゴリズムについて解説します。 (逆ポーランド記法は「後置記法」とも…

Node.jsの対話モードが書いてない処理を挟んでくる

といってもふつうにしている分には困ることがあまりないであろう処理なので、気にしなくてもいい気はします。

クラスにProxyを設定したい

ES2015でClassとProxyが追加されました。この二つをうまく組み合わせると強力なツールになりそうですよね。しかし、Proxyを継承するといったことができないので、ややトリッキーなやり方をしなければなりません。

麻雀シミュレーションライブラリを作った

のに記事にするのを忘れていました。 github.com

即席Immutableライブラリを作ってみた

たった17行という超即席ライブラリです。なぜ作ったかというと、この記事のいうImmutableのメリットをJavaScriptでも授かりたいと思ったためです。たった17行でもできてしまってビックリしました。 nekogata.hatenablog.com

Getterのパフォーマンスについて調査してみた

ES5で追加された機能、Getterと生プロパティのパフォーマンスの差について知りたくなったので検証してみました。超今更って感じですがね。

UnitaryJS v0.1.0公開しました

最初のマイナーアップデートです。Ellipse(楕円)、Curve(曲線)クラスを追加した他、様々な修正が行われています。 変更点 スタイルがくずれないように.setStyle()を呼ぶよう変更 lineDashやlineCap、lineDashOffset、lineJoin、lineWidthをサポート .push()…

Atomという神エディタ

Sublime Text 3?そんなやつもいたなぁ(遠い目) Windowsユーザになって早1年。Vimのない環境なのでエディタを一から選びなおすことになり、今日までSublime Text 3を使ってきました。しかし、Atomに触れてみたらすごすぎて一気に引き込まれました。

飯テロ用サイトを作った

飯テロを唐突にしたくなるときありますよね?でも、高クオリティの画像を探すのは意外と骨が折れる作業です。そこで、高品質な飯テロ画像のツイートを一覧表示するサイトを作りました。

ConoHaのVPSに独自ドメインを設定する方法

いろいろ試行錯誤したのでまとめます。 (DNS関連は不勉強なので、詳しい原理の説明はできません)

ドメインを取得しました

バイトを始めたのでお金を気兼ねなく使えるようになりました。そこで早速ドメイン取りました。 これでついにホームページが完成です!独自ドメイン、レンタルサーバ(VPS)なのでようやく正真正銘、自分のサイトです。 ホームページ

ConoHaと契約したのでホームページを移行しました

まだドメイン取ってないのでアレですが。これでようやくFC2とオサラバ!こんにちはデータベース!です。 新しいホームページPanda Noirよりアクセスできます。 追記 ドメイン取得しました。 http://pandanoir.net

逆FizzBuzzを解いてみた

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

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

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

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

qiita.com この記事に触発されて、ついでにNodeでコマンドラインツール作ってみたかったので始めてみました。名称はズバリ「JEdit」。 今回の記事では、実装していておもしろかったところを取り上げていこうと思います。

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

3ヶ月空けたと思ったら1週間も空けずに次を作る計画性のなさ。どうもクロパンダです。 今回は日付をフォーマットして表示してくれる要素を作りました。 <date format="yyyy/MM/dd(E)"></date>

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

構文解析はプログラマなら誰しも一度はやったことがあると思います。しかし、構文解析には独自の用語がたくさんあります。 そこで、初心者に向けて用語の解説をしたいと思います。「非終端記号って何?」「トップダウンとボトムアップはどう違うの?」と疑問に…

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

約3ヶ月あきました。今回はアナログ時計を作りました。 <analog-clock></analog-clock> <analog-clock hour="10" minute="10"></analog-clock> <analog-clock utc="+10:30"></analog-clock> こんな感じでつかいます。