# ykzts.com > ウェブアプリケーション開発の実績や制作物を掲載したポートフォリオです。過去の実績、作品、各種ソーシャルネットワーキングサービスへのリンクなどの連絡先情報をまとめています。 このサイトは、ポートフォリオと技術ブログを統合したサービスです。 ## Profile - **Name**: 山岸和利 - **Occupation**: ソフトウェアエンジニア - **Tagline**: TypeScriptやRubyを用いたフルスタックなウェブアプリケーション開発を得意とするソフトウェア開発者です。Next.jsやRuby on Railsに造詣が深く、大規模システムのモダン化からOSSへの継続的な貢献まで幅広く取り組んでいます。 ## Technologies Next.js, TypeScript, Go, Rails ## Social Links - [facebook](https://www.facebook.com/ykzts) - [github](https://github.com/ykzts) - [mastodon](https://ykzts.technology/@ykzts) - [threads](https://www.threads.net/@ykzts) - [x](https://x.com/ykzts) ## Works - [blurhash-loader](https://ykzts.com/#blurhash-loader): Webpack向けのカスタムローダー blurhash-loaderを開発、メンテナンスしています。画像からBlurHashアルゴリズムを用いてプレースホルダー用の極めて短い文字列を生成し、ビルドプロセス中に自動で適用できるように設計しました。これによりReact、Vue、Svelteなど様々なフロ... - [Haneru Developers](https://ykzts.com/#haneru): 配信者の因幡はねるさんをテーマにしたファン向けウェブサービス群 Haneru Developersを主宰、開発、運用しています。Next.jsを中心にVercelを活用し、データベースやキャッシュにはSupabaseやUpstashなどのSaaSを組み合わせることで、フロントエンドだけで完結する軽快... - [Chat Styles](https://ykzts.com/#chat-styles): YouTube LiveのチャットをOBS Studioで美しく表示するためのCSSジェネレーター Chat Styles を開発しています。プレビュー画面を見ながら直感的にスタイルを調整でき、生成されたCSSをコピーするだけで即座に配信の雰囲気に合わせたチャット表示を実現できます。 - [Manael](https://ykzts.com/#manael): 画像特化のリバースプロキシ Manael をGo言語で開発しています。PNGやJPEGをWebPなどに動的に変換する機能を必要最小限に絞り、NginxやVarnishなどのキャッシュレイヤーと組み合わせる前提で設計しました。これにより高速かつリソース消費の少ない画像配信環境を簡単に構築でき、運用負荷... - [Mastodon](https://ykzts.com/#mastodon): オープンソース分散型SNS Mastodonのコミッターとして貢献を続けています。MastodonはActivityPubプロトコルを採用することで、同じプロトコルに対応した他のサービスと相互接続できる分散型のシステムです。主にバグ修正、コードのリファクタリング、日本語ローカライズを中心に、プロジェ... - [coloring-xml.xslt](https://ykzts.com/#coloring-xml-xslt): XML文書を見やすく彩色するXSLTスタイルシート coloring-xml.xsltを公開しています。ブラウザで生のXMLを開いた際のツリー表示を、タグ、属性、テキストが色分けされた読みやすいHTMLに瞬時に変換します。折りたたみ表示やダークモード対応なども備えており、APIデバッグや仕様書確認の... - [node-xmlhttprequest](https://ykzts.com/#node-xmlhttprequest): Node.js環境でブラウザ互換のXMLHttpRequestを実現するライブラリ w3c-xmlhttprequest のメンテナーを務めています。TypeScriptへの完全移行、GitHub ActionsによるCI/CD化、Jestへのテストフレームワーク移行など、10年以上にわたって現代的... ## Articles - [RoonServerをsystemdから公式Dockerイメージへ移行した](https://ykzts.com/blog/2026/06/28/roonserver-docker-official-migration.md): 先日Roon LabsのコミュニティフォーラムにてRoonServerの公式Dockerイメージがghcrで公開されたというお知らせがありました。これを機にもともとサーバー上でsystemdで動かしていたRoonServerをDockerでの運用へと移行しました。 - [XMLHttpRequestとFetch APIの機能差および移行における制約の整理](https://ykzts.com/blog/2026/05/31/xmlhttprequest-vs-fetch-api-comparison.md): Web標準における非同期通信の主流はXMLHttpRequest (以下、XHR) からFetch APIへと移行しましたがユースケースによっては現在でもXHRを選択せざるを得ない領域が存在します。本稿では主要な3つの機能差 (キャンセル、ダウンロード進捗、アップロード進捗) について、最新の仕様および実用上の制約を踏まえて比較と解説します。 - [静電容量無接点方式キーボードを使い続ける理由と変遷](https://ykzts.com/blog/2026/03/25/why-i-keep-using-capacitive-keyboards.md): 2000年代のHHKBから始まりRealforce 87UBを経て最新のRealforce R3へと至るキーボードの変遷について。60%レイアウトの限界やインターフェースの互換性そして複数OS環境における実運用を整理しました。 - [プログラミング未経験者によるVibe Codingは現実的か](https://ykzts.com/blog/2026/03/16/vibe-coding-for-beginners-reality-check.md): ブラウザゲームを生成AIに作らせる比較動画を題材に、プログラミング未経験者がVibe Codingを行う際の現実的な壁について考察します。実行環境の制約やAI出力の理解など、開発に求められる基礎リテラシーの重要性に迫ります。 - [Manael v3.0.0をリリースしました](https://ykzts.com/blog/2026/03/08/manael-v3-release.md): 画像変換プロキシサーバーManaelのv3.0.0をリリースしました。libvipsへの移行や、Gemini、Copilot Coding Agent、CodeRabbitを組み合わせた最新の開発プロセスについて紹介します。 - [RØDECaster Pro IIとKVMモニターで作る複数PCのオーディオ環境](https://ykzts.com/blog/2026/03/05/rodecaster-pro-ii-multi-pc-audio-setup.md): 配信やDTMを行わないソフトウェアエンジニアの視点から複数PCのオーディオ環境をRØDECaster Pro IIとKVMモニターで構築した事例を紹介します。MacやWindowsなど複数端末の音声をまとめ、SM7Bを直接駆動するメリットや現状の不満点についてまとめました。 - [GitHub CodespacesとAIエージェントで作る快適なクラウド開発環境](https://ykzts.com/blog/2026/03/02/github-codespaces-ai-agent.md): GitHub CodespacesをAIエージェントの安全なサンドボックスとして活用し、ローカルのリソース消費や破壊リスクを排して並行開発を加速させる、次世代のクラウド開発環境構築術。 - [Next.jsのApp Routerとv16におけるキャッシュ戦略](https://ykzts.com/blog/2026/02/27/nextjs-app-router-cache-strategy-v16.md): Next.jsについてApp Routerが導入された必然性からv16におけるキャッシュ戦略の転換、そしてインフラストラクチャにおけるVercel依存 (ロックイン) の誤解について改めて整理し、備忘録として残しておこうと思います。 - [生成AIを活用したソフトウェア開発における技術的課題と対策](https://ykzts.com/blog/2026/02/25/generative-ai-and-oss-licenses.md): 昨今のソフトウェア開発において、大規模言語モデル (LLM) を組み込んだコーディング支援技術や、自律的にタスクを処理するAIエージェントの導入が進行している。本稿では、これらの技術を開発フローに組み込むことによって生じるプロセス上の変化と、オープンソースソフトウェア (OSS) のライセンスに関わる技術的な課題について整理する。 - [開発プロセスの移行とサイト統合](https://ykzts.com/blog/2026/02/21/migration-to-nextjs.md): これまでブログの運用に用いてきたDocusaurusから、Next.jsとSupabaseを組み合わせた構成へと刷新しました。これに併せてSEOの観点およびポートフォリオとブログの権威性を集約するためにドメインをykzts.com配下へと統合しています。 - [PlayStation 5を購入しました](https://ykzts.com/blog/2022/11/03/bought-ps5.md): ゲームは基本的にWindows PCでプレイしているのに加えて購入しづらいという話を度々耳にしていたのでPlayStation 5 (PS5) は購入するつもりがあまりなかったのですが2023年夏に発売予定のFINAL FANTASY XVI (FF16) がPS5以外はサポートしないそうなのでPS5を購入しました。 - [2021年振り返り](https://ykzts.com/blog/2021/12/31/lookback.md) - [ゼルダの伝説 ブレス オブ ザ ワイルドをクリアしたというお話](https://ykzts.com/blog/2021/09/30/botw.md): ゼルダの伝説 ブレス オブ ザ ワイルドをクリアしました。記録によれば2019年7月に購入した2本でお得 ニンテンドーカタログチケットを使って引き換えているようなのですがプレイを始めたのは2021年9月となり、二年以上もの間隔を空けてしまいましたね。 - [NieR Replicant ver.1.22474487139...の実績を全て達成した](https://ykzts.com/blog/2021/05/16/nier-replicant.md): 先月末に発売されたNieR Replicant ver.1.22474487139...を買いまして、一ヶ月弱ほどで実績を全て達成させられました。最初の方はほかのゲームと平行しつつのんびりとプレイしていたのですが周回を重ねてシナリオの核心に近付くにつれて続きが非常に気になってしまいここ数日はずっとNieR Replicantのことばかり考えていました。副業を始めたばかりであったり本業もちょうど忙しくなっていたタイミングではあったのですが睡眠時間や個人的な勉強の時間を犠牲にすることによって解決しました。 - [w3c-xmlhttprequest v3.0.0をリリースしました](https://ykzts.com/blog/2020/08/01/w3c-xmlhttprequest-v3.md): 表題の通りw3c-xmlhttprequest v3.0.0をリリースしました。細かなバグの修正や最新のXMLHttpRequestの仕様に追従させたりと様々な変更が含まれていますが一番大きな変更としてはECMAScript 2015からTypeScriptへの移行でしょう。 - [DeNA TechCon 2019でLTの発表をしました](https://ykzts.com/blog/2019/08/24/dena-techcon-2019.md) - [Frontend Conference Fukuoka 2018でLTの発表をしました](https://ykzts.com/blog/2019/08/24/frontend-conf-fukuoka-2018.md) - [ブログのシステムをHugoからGatsbyに変更しました](https://ykzts.com/blog/2019/07/27/replace-to-gatsby.md): 一年ほど前にブログのシステムをHugoに切り替えたばかりなのですがGatsbyに変更しました。Hugoに切り替えた際に危惧していた通り、Hugoのテンプレートに慣れることがどうしてもできませんでした。 - [転職します](https://ykzts.com/blog/2018/08/31/new-job.md) - [GoのMirakurunクライアントパッケージを公開しました](https://ykzts.com/blog/2018/06/10/go-mirakurun.md): GoでMirakurunのWeb APIを利用するためのクライアントパッケージ go-mirakurunを公開しました。 - [Mastodonに関する記事をgihyo.jpに寄稿しました](https://ykzts.com/blog/2018/04/25/mastodon-gihyo.md): 少しご報告が遅くなってしまいましたがgihyo.jpにMastodon New Yearという記事を寄稿しました。 - [ブログのシステムをWordPressからHugoに変更しました](https://ykzts.com/blog/2018/04/24/replace-to-hugo.md): これまでWordPressを使ってブログを書いていましたが、Hugoに変更しました。 - [RubotyのDiscordアダプターを作りました](https://ykzts.com/blog/2017/11/10/ruboty-discord.md): 最近は仲間内のチャットなどではDiscordをよく使っています。またOSSプロダクトのサポートチャットとしてDiscordを採用している事例もよく目にするようになってきています。 Discordにこの記事で詳しく説明しません。Discordについて気になった方は櫛井さんの書かれたブログ記事がとても良くまとめられているのでご参照ください。 Discordでボットを作るためのライブラリーとしてdiscordrbがあります。discordrbは多機能でさまざまなことができるとても便利なライブラリーなのですが、多機能すぎて少し使い難い側面もありました。そのためRubyでチャットボットを簡単に作ることができるフレームワークであるRubotyのDiscordアダプターを作りました。 - [Mastodon Developers Kaigi #0 を開催しました](https://ykzts.com/blog/2017/08/31/mastodon-developers-kaigi.md): 先日、Mastodon Developers Kaigi #0というカンファレンスの開催をしました。こうしたカンファレンスの主催をするのは初めてでしたが多くの方の協力によって大きな問題も起こることなく、とても意義のあるカンファレンスにできました。 - [Mastodonのコミッターになりました](https://ykzts.com/blog/2017/07/31/mastodon-committer.md): 四月の半ばからMastodonへのコントリビュートを繰り返していたところ、今月の24日にmasterブランチへmergeする権限をいただきました。 - [QiitadonをMastodon v1.4.1にアップグレードした話](https://ykzts.com/blog/2017/06/03/qiitadon-upgrade.md): こんにちは@ykzts@ykzts.technologyです。気付けばMastodonへのコミットの数が100を超えていました。公式にもPull Requestのレビュワーにも任命されて、Mastodon関連で少し忙しくなっています。 さて、技術情報共有サービス「Qiita」を運営するIncrements株式会社が先日Mastodon インスタンス「Qiitadon」を公開しました。 - [Mastodonについてのあれこれ](https://ykzts.com/blog/2017/04/30/about-mastodon.md): Mastodonについての話題がここ数週間の内に破竹の勢いでかけめぐっています。ここまでの勢いというのはTwitterができたばかりの2007年のころが思い起こされ、とてもなつかしい気持になっています。 - [優秀なエンジニア](https://ykzts.com/blog/2017/03/12/excellent-engineer.md): わたし自身が優秀なエンジニア (ソフトウェアエンジニア) であると他者から評価される、されないといったことは正直 興味を抱くところはない。評価とかを気にすることなく自身が興味を抱いた技術についてひたすら知識を深めていくだけである。 だが、自分では自分のことを優秀だと思っているし、優秀だと言うようにしている。 - [BaberuTV 進捗報告](https://ykzts.com/blog/2017/03/01/progress-of-baberutv.md): 少し前から作っているBaberuTVだが、順調に開発が進行している。 - [「技術力」とはいったいなんなのか](https://ykzts.com/blog/2017/02/28/technical-capabilities.md): ここ数年、ずっと自問自答している。 W3Cの勧告やRFCといった技術仕様や、言語やツールのREADMEを読むことによって得られる知識を持っているだけで「技術力」があると言えるのか、と。 - [FacebookやTwitterをしばらくひかえます](https://ykzts.com/blog/2017/02/26/keep-humanity.md): ここ数箇月の間にさまざまな悪いことが重なってしまい、FacebookやTwitterといった推敲をほとんどせずに投稿を行うような場ではネガティブなことばかり書いてしまう兆候が見られます。これはわたし自身にも、わたしの投稿を見てくれている方のどちらにも良くないことでしょう。そのため、少し落ち着くためにどちらもしばらくひかえることにしようと考えています。 - [2017年の春から開発者として働き始める人が読むべき技術書](https://ykzts.com/blog/2017/02/13/mandatory-technology-books.md): わたしがソフトウェア開発者として働くようになってからもう何年も経ちますが、通読した技術書は0です。技術書を読まなくてもソフトウェア開発者として働き続けることはできます。 この技術書を読まなければならないといったことを半ば強制的に言ってくる人の言葉には耳を貸さなくても大丈夫です。 - [WebSocketでタイムラインを表示させるだけのウェブアプリケーション「tweet receiver」を作っている](https://ykzts.com/blog/2017/01/31/tweet-receiver.md): tweet receiverというウェブアプリケーションを作りました。 - [import()を使ったHTTP/2時代のフロントエンド実装](https://ykzts.com/blog/2016/12/23/dynamic-import.md): この記事はhttp2 Advent Calendar 2016の二十三日目の記事である。 今年……2016年はHTTP/2が大いなる躍進を遂げた年であったと感じる。 Amazon CloudFrontも今年の九月にHTTP/2の対応が追加された (Amazon CloudFront now supports HTTP/2)。またFastlyでも十一月から一般利用が可能となった (HTTP/2 is now in General Availability)。 - [ピクシブ株式会社を退職します](https://ykzts.com/blog/2016/12/01/goodbye-pixiv.md): 現在有休消化期間中ですが、2016年十二月三十一日をもってピクシブ株式会社を退職します。ピクシブに入社したのは2014年十二月です。まるまる二年、勤めていたことになります。 - [TVを作っています](https://ykzts.com/blog/2016/11/28/making-tv.md): 最近、TVを作っています。TVといっても映像を受信して映す機械を作っているわけではありません。TVのように映像を再生して、見ることのできるウェブサービスを開発しています。 そのウェブサービスの名前はBaberuTVです。その名前の通りにbaberu.tvというドメイン名で公開しています。 - [ペンと剣](https://ykzts.com/blog/2016/11/20/pen-and-sword.md): 「ペンは剣よりも強し」という格言がある。この格言はペン (言論) は剣 (暴力行為) に勝るという意味を持つ。 しかし今の日本では剣を持つのは難しく、また剣を使わない状態であっても暴力行為を行って肯定されることはまず起こり得ない。 - [details要素とsummary要素はHTML 5には含まれていません](https://ykzts.com/blog/2016/10/04/details-and-summary-is-not-html5.md): details,summary要素に対応し、投稿内で指定箇所を折りたためるようになりました - Qiita Blog Qiita とQiita:Teamで本文中にdetails要素とsummary要素を使えるようになりました。 両要素についてQiita Blogでは > HTML5から、ユーザが明示的に操作をすることで追加の詳細情報を閲覧することができるようになるdetails要素が加わりました。また、その追加情報の要約を記載するために、summary要素も同時に追加されました。これらの要素を使用すると、ウェブブラウザは要約の文章に加えて、開閉するためのUIを表示します。そしてユーザがそのUIを使って開いた際に、details要素が持つ内容が初めて表示される、という挙動となります。 という説明がされていますが、details要素とsummary要素は2014年十月二十八日に勧告されたHTML 5の仕様には含まれていません。同年の二月に公開された勧告候補まではdetails要素とsummary要素は存在しましたが、四月に公開された勧告候補でdetails要素とsummary要素はなくなりました。 - [MackerelのTシャツをいただきました](https://ykzts.com/blog/2016/09/29/mackerel-t-shirt.md): 株式会社はてなさまよりMackerelのTシャツをいただきました。 - [WordPress.comでブログを書き始めます](https://ykzts.com/blog/2016/09/25/first-post.md): これまでわたし、山岸和利 (@ykzts) はTumblrでブログを書いていましたが、今後はWordPress.comでブログを書くようになります。今まで更新していた「人生が二度あれば」はそのまま残しますが、以後更新されることはありません。 Tumblrでは2007年からブログを書き始めました。2014年ごろから更新頻度が停滞してしまっていたとはいえ、九年以上お世話になっていたということになります。 2007年当時のTumblrは日本人による創作物を「引用」の要件を満さない形での無断転載が横行していました。Tumblrのサービスとしての機能は非常に優れているというのに使っている人たちがこうでは悪いものとして認識されてしまうのではないだろうかという義侠心のもと、Tumblrは他者の創作物を転載すること以外もできるということを示したくTumblrでブログを書き始めたのです。 - [fetch API から XMLHttpRequest への置き換えを決意した話](https://ykzts.com/blog/2016/07/20/goodbye-fetch-api.md): 最近 fetch API をヘビーに使うようになっていて、いろいろと勘所もわかってきていて、Promise ベースなのはやっぱりすごく便利なんだけれども、現状だと機能が全然足りないなあ、と。 - [nginx の設定ファイルで正規表現を使って www. なしのドメイン名にリダイレクトさせる](https://ykzts.com/blog/2016/05/21/redirect-to-hostname-without-www.md): 一つのサーバーに複数のドメイン名のウェブページを同居させることはよくある話だと思います。負荷のことを思えばドメイン名単位でサーバーを分けたほうが良いのでしょうが、さしたアクセスが見込めないウェブページを集約しても問題は起きないでしょう。 ただ www. つきでアクセスされた際に、www. なしのドメイン名へのリダイレクトをさせる処理をドメイン名単位で一つ一つ書いていくのは無駄です。 nginx の server_name ディレクティブでは正規表現を使えます。nginx が正規表現エンジンとして使っている PCRE では名前付きキャプチャに対応しているので次のように書けます。 - [エンジニアの採用でGitHubのアカウントの提出を求めることに関して](https://ykzts.com/blog/2016/05/01/github-account-for-recruitment.md): 近年 エンジニアの採用においてGitHubのアカウントの提出を求められる企業が増えつつあります。それに対して採用の場で個人的な活動の結果を求めるのかと憤る人もいます。 たとえばデザイナーの採用でポートフォリオの提出が必須とされていることは多くあります。それと同様にエンジニアの採用でGitHubのアカウントとそこから見ることのできる成果物の提出を求めることに対する違和感はないのではないかと思います。 - [株式会社アニメイトラボにジョインしました](https://ykzts.com/blog/2015/11/01/join-to-animatelab.md): 2015年11月1日付けで株式会社アニメイトラボにジョインしました。 - [転職しました](https://ykzts.com/blog/2015/05/14/join-to-pixiv.md): 去年の末ごろからピクシブ株式会社で働いています。 - [二年強の間勤めていた会社から会社を退社いたしました](https://ykzts.com/blog/2014/10/16/goodbye-heartrails.md): 平成二十六年十月十五日をもちまして、二年強の間勤めておりました会社から退社いたしました。 - [CoffeeScriptのfunction式において明示的なreturn文を記述するべきであるか否か](https://ykzts.com/blog/2013/12/16/function-of-coffeescript.md): CoffeeScriptの関数は明示的にreturnするべき 「CoffeeScriptの関数は明示的にreturnしてはいけない理由」を探す暇あったら他にやるべきことあるのでは? という両者相反する内容の記事がございました。両論もっともな内容であり、また実行速度だけではなく思想も絡んでしまう非常に煩わしい問題であります。 - [誰がオープンソースソフトウェアを酷いものにしてしまうのか](https://ykzts.com/blog/2013/10/18/get-along-with-oss.md): iBus 1.5がクソすぎるという記事がございました。iBusはGNU/LinuxなどのUnixに似た環境を提供するOSのGUIで専ら使われるインプットメソッド (IM) の一つです。iBusはオープンソースソフトウェア (OSS) として提供されており、Google CodeのProject Hostingを用いた管理がなされており、そちらからダウンロードすることができます。 わたしが実際にiBusを使っていた時期というのは決して長いものではなく、また今回「クソすぎる」と強い言葉で否定されてしまっている1.5はまだ使っておりません。ですのでiBusに関して詳しいことを話すのは避けますが、OSSに対して「クソすぎる」というような表現を用いるのはいかがなものかと思ってしまいます。 - [JavaScriptはモダンな言語とは呼べないのか](https://ykzts.com/blog/2013/09/10/thoughts-on-javascript.md): モダンな言語でHTML5を開発しよう! 俯瞰して理解するaltJSの比較 (前編 - TypeScript, CoffeeScript, Hexe) と題する記事があった。この記事は見出し中にある「HTML5を開発しよう」という言葉からして意味が通っていない。だが記事の内容から「HTML 5を始めとし、CSSやJavaScriptといったウェブ関連の技術を用いたアプリケーション作りをしよう」という意図であろうと類推することができる。しかしこの記事で問題なのはそのような重箱の隅を突くが如き枝葉末節な部分ではない。この記事の中で薦められているいわゆるaltJSと称される複数の言語たちではない、JavaScriptという言語はモダンな言語ではない、つまり近代的な言語ではないと断言してしまっていることである。 > ここ数年のHTML5やCSS3の劇的な進化に比べて、JavaScriptの言語としての進化は緩やかだったのではないでしょうか。HTML5の登場により、リッチなウェブサイト・コンテンツ・アプリケーションが求められる時代になったのに、それを制御する言語が未だレガシーなものであり、ニーズに追いついていないのが現状です。 先に引用した一文は前述した記事の第一段落に記された内容である。この短い一文の中に、事実誤認から来ているのであろう誤りが複数含まれてしまっている。このような記事は非常に度し難く、そして許すことができない。 - [JavaScriptでアニメーションを書く場合にはCSSも活用するべき](https://ykzts.com/blog/2013/08/18/css-animation.md): はてなブックマークの人気エントリーをながめていたところJavaScriptでアニメーションを書く初歩の初歩のような記事が目にはいりました。初歩であればこそ、この記事で省かれているrequestAnimationFrameの話をするべきではないのかとも思いますが、それよりもわたしは元の記事に掲載されているコードがJavaScriptを用いて十ミリ秒の間隔を開けて複数の処理を何度もウェブブラウザーにさせてしまっていることが気になりました。また、いくつかの処理を完了させてから、setTimeoutを用いて任意の時間が経過するのを待ち、同様の処理を行うというかたちになっていますので、処理に時間がかかってしまえば、なめらかな描写は到底実現されないものとなってしまっています。 - [HTML.jsについて](https://ykzts.com/blog/2013/08/14/do-not-use-html-js.md): HTML.jsというJavaScriptで楽にDOM操作を行えるようにするライブラリーがあります。結論から申しますと、このライブラリーは絶対に使うべきではないライブラリーとなっています。 - [w3c-xmlhttprequest 1.1.0をリリースしました](https://ykzts.com/blog/2013/08/11/w3c-xmlhttprequest.md): w3c-xmlhttprequest 1.1.0をリリースしました。ソースコードはGitHubにございますので、よろしければご確認ください。またPull Requestは熱烈に歓迎いたします。 - [JavaScriptは決して遅くない](https://ykzts.com/blog/2013/08/06/javascript-is-not-slow.md): 数年前ならいざ知らず、現代のJavaScriptは充分に高速な動作が実現されている。無論C言語で記載されたいわゆるネイティブアプリケーションと比較すれば計算速度等では大きく劣ってしまう。だがしかし複雑な計算等を必要としない通常範囲のアプリケーションであればJavaScript (とHTMLとCSS) で記述がなされたアプリケーションの実行速度はネイティブアプリケーションと遜色ないものになると半ば強い確信を抱いている。ではJavaScriptで記述がなされているアプリケーションの動作が緩慢であるという認識がなぜ多くの場でなされているのか。それは単純な理由である、そのアプリケーションの作者が知識不足でDOM操作が冗長的なものとなっており無駄が多くなってしまっているからだ。 - [SPDYはどのような状況でも速度向上が見込めるような万能な技術ではない](https://ykzts.com/blog/2013/02/02/spdy-is-not-silver-bullet.md): ここ最近、俄かにSPDYが流行の兆しを見せているように見える。言及されぬ技術は使われず、そして使われぬ技術は存在しない物であるのと同義であると私は考えるので悪い事ではないのだが、本来SPDYを使う上で注意すべきである点を無視して言及しているように見えるので一度深く熟考する必要があるのではないだろうか。 - [iOS 6.0にアップデートしてSafariのデバッグコンソールが使えなくなってしまったので代替方法を考えた](https://ykzts.com/blog/2012/10/13/debug-console-for-ios-safari.md): iPhoneとiPadのシステムソフトウェアをiOS 6.0にアップデートしたところ、Safariのデバッグコンソールを表示する方法を見付けられなくなってしまった。Webインスペクタというのが追加され、Mac OS X上で動作するSafariがあれば効率良くデバッグ出来るようになったようなのだが、非常に残念な事に現在の私の手許にはMac OS Xの環境が存在しない。なのでiOSのSafariでのデバッグが出来ないようになってしまった。探せば既存のデバッグコンソールを表示する方法があるのかも知れないが、しばらく探しても見付ける事が出来なかったので、非常にその場凌ぎの解決法で済ませた。 - [HTML 5は「アメリカ人」が標準化させようとしている物ではありません](https://ykzts.com/blog/2012/10/03/relationship-between-html5-and-americans.md): さようならHTML5…。アメリカ人と日本人の標準化に差を感じる 内容に関しても思う所は御座いますが、一つだけ。 HTML 5の仕様を現在 書いていらっしゃるGoogle社のIan Hickson氏はアメリカの方ではなくスイスで生まれた方です。現在どちらに住まれているのかは存じませんが少なくとも「アメリカ人」と表現されるような方ではないかと考えます。 - [BlobBuilderインターフェースが非推奨となっていた](https://ykzts.com/blog/2012/08/18/blobbuilder-interface-is-deprecated.md): 最近になって気がついたがBlobBuilderインターフェースが非推奨となっていた。Chronium 21.0.1180.75にてnew WebKitBlobBuilder()といった記述のあるスクリプトを実行すると「BlobBuilder is deprecated. Use “Blob” constructor instead.」といった表示がコンソールに出力されるようになっている。まだ現時点では使えはするようだがいつ使えないようになってしまうのかわからない。なのでつかうようにと表示されているようBlobはどういった仕様でどのようにつかえるものなのかを簡単に調べてみた。 - [node-xmlhttprequestをnpmに登録しました](https://ykzts.com/blog/2012/06/23/register-node-xmlhttprequest-to-npm.md): node-xmlhttprequestをnpmに登録しました。 - [XMLHttpRequestをもっと便利につかえるようになるであろうresponseType属性について](https://ykzts.com/blog/2012/06/18/xmlhttprequest-response-type.md): XMLHttpRequest Level 2のWorking DraftにはresponseTypeという属性があります。この属性に'json'という値を代入することにより、req.send()を実行したのちに、response属性にあたかもJSON.parse(req.responseText)としたかのようなobjectがいれられるようになります。readyState属性の値がXMLHttpRequest.DONE (4) になった段階でresponseTextをパースするようなコードを書けば良い話ではあるのですが、コードの短縮化簡潔化をはかれて多くの人はしあわせになれるのではないでしょうか。この記事を執筆している段階では当該仕様はWorking Draftであり、実装もまだFirefoxでしかおこなわれていないようです (Opera 12.00以降でも対応しているそうです) が、とても便利につかえそうなものなので今後 多くの環境で実装されることをねがいたいものですね。 - [W3Cによる仕様に沿わせてNodeで動作するXMLHttpRequestを作成してみました](https://ykzts.com/blog/2012/06/14/node-xmlhttprequest.md) - [nginxで既存のHTTPヘッダーを上書きして送出する方法](https://ykzts.com/blog/2012/04/01/custom-http-header-on-nginx.md): nginxで任意のHTTPヘッダーを追加したい場合にはadd_headerディレクティブを用いますが、add_headerディレクティブは追加しようとしたフィールド名が重複するHTTPヘッダーが既に用意されていた場合には既にある物に「,」区切りで連結してしまいます。たとえば強制的に出力するContent-Typeを変更するためにadd_header Content-Type text/css;のようにしてもContent-Type: text/html, text/cssといった形の不正なHTTPヘッダーが出力されてしまいます。