JavaScriptの配列(Array)についてまとめてみた

配列(Array)は我々プログラマにとって馴染み深い要素のひとつです。配列はどんな入門書にも登場し、どんな高度なプログラムにおいても大活躍します。そしてJavaScritpに限らず、他の言語でも配列(あるいはリスト)は登場します。

こんなにも身近な配列ですが、「なんとなく」で使っていて「配列とはなんなのか」「何ができるのか」をあまり把握できていない方も多いと思います(もちろん私もそうです!)。

そこで、配列についてもう一度調べ上げ、情報をまとめてみることにしました。

Read More

NintendoSwitchの購入タイトルが50本行ってたので全部感想書く

Nintendo Switchの発売から1年以上が経ちました。徐々に発売ソフトも増えてきて、ポケモンなどの大型タイトルも発表されるようになってきました。

Switchはとてもお手軽なハードで、私も次々とソフトを購入してしまいます。そして、そんなこんなしてるうちに購入ソフトがちょうど50本行ってました。

VRゲームのときも50本で感想記事を書いたので、Switchでも50本で感想書き散らしたいと思います。今度は全部のソフトについて。

Read More

JavaScript用のシンプルな日時処理ライブラリ「femtofiber」をリリースしました

JavaScriptの日時処理は、正直なところ素晴らしいとはとても言えません。そのため有志による日時処理のライブラリ群は非常に充実しています。

しかしそのうちのどれかが気にいるとは限りません。個人個人によって好みがあるので、どのライブラリを使っても全くピンとこないということもあります。

そこで、私も自分用の新しいライブラリを作ってみました。一人だけで使うのは勿体無いので、公開することにしました。

Read More

なぜWii版マリオ64で長時間放置すると足場が浮かび上がるのか(非技術者向け解説)

ゲームのバグって面白いですよね。進行不可能バグはもちろん論外ですが、ちょっとした不思議なバグはなかなかに楽しめます。

さて、今回話題になったのはWii版(バーチャルコンソール)のマリオ64で、「長時間たつと足場がどんどん浮き上がる」というものです。オリジナル版では起こらず、バーチャルコンソール版だけで起こるというのがミソです。

この摩訶不思議なバグがいったいどうやって起きているのか、確かめていきましょう。

Read More

JavaScriptのStreams APIで細切れのデータを読み書きする

近年、PCに搭載されるメモリは爆発的に増えました。16GBや32GBのメモリが搭載されているのが当たり前の時代です。性能の制限が強いスマートフォンですら4GBほど搭載していることがあります。ストレージの読み書き速度もどんどん加速し、昔では扱えなかったようなデータ量をリアルタイムで処理できます。インターネット回線も同様に大量のデータを扱えるようになりました。

しかし現実的な大きさのデータを一度に扱おうとすると、現代でもそれなりに処理時間がかかります。ユーザはレスポンスに対して敏感で、反応が0.1秒でも遅れるとストレスを感じます。しかし時間がかかるものはかかるのです。この問題は一見どうしようもないように思えます。

そこで登場するのが「データを細切れにして処理する」というコンピュータにおける万能の薬です。細切れにして逐次処理すれば、少しずつデータを処理することができ、素早いレスポンスを実現することができます。

今まで、この「細切れに処理する」という操作は、JavaScriptが苦手とする分野でした。しかしモダンブラウザに導入されつつあるStreams APIの登場によって、この状況は変わろうとしています。

Read More

JavaScriptで綺麗な色を生成する

人は見た目がn割(nには好きな数字を入れてね)だとよく言われます。そしてそれはウェブサイト/ウェブアプリケーションにおいても同じことです!1990年代丸出しのウェブサイトより、2018年的な見た目の方が好まれるでしょう。

見た目において大きな比重を占めているのが「色」です。色を工夫することで、我々はポップな新人歌手から、クールな高級ブランドまで幅広く表現できるのです。

そんな「色」ですが、コンピュータに生成させようとすると、なかなか苦労する羽目になります。そこでこの記事では、綺麗な「色」を生成するための工夫について紹介します。

Read More

グランブルーファンタジー(グラブル)はどんな技術で動いているのか

グランブルーファンタジー(グラブル)も今年で4周年を迎えました。いろいろ問題もありましたが、なんとかサービスも続いています。

2018年の今となっては、リッチなブラウザゲームというものは普通になりましたが、グラブルには4年前当時としてはわりと珍しい技術が使われています。

自分が遊んでいるゲームはどんな技術で動いているのだろう?と気になる人も多いと思います。そこで、この記事では、グラブルを取り巻く技術について簡単に解説したいと思います。

Read More

ハッシュ化されたパスワードをJavaScriptで解析してみよう

インターネットを利用する上で常について回るのがセキュリティの話です。特にパスワードに関するセキュリティの話題は毎日尽きません。私たちは「このパスワードで大丈夫か」「破られはしないか」という不安を抱きながら、眠れない夜を過ごすことになります。

そこでちょっと気分転換をしてみましょう。今日だけはパスワードを破られる側ではなく、破る側に回ってみるのです。いろいろなことが学べますし、きっと楽しいはずです。

Read More

他人に読んでもらうJavaScriptコードを書くために

とりあえず動けばいい、の精神でコードを書ける個人開発とは違い、仕事やオープンソースプロジェクトにおけるコーディングでは、「他人が読むコード」を意識して書く必要があります。

他人が読むのですから、もちろんわかりやすいコードでなくてはなりません。でも、「わかりやすい」とは何でしょう。どうしたら実現できるのでしょう。

この記事では、他人が読む可能性があるコードを書くときに気をつけていた方がいい事項について、いくつか紹介します。

Read More