タグ kazuho
人気順 10 users 50 users 100 users 500 users 1000 usersHTTP/3時代の優先度制御 - Web配信の高速技術 @kazuho
本記事は、TechFeed Experts Night#13 〜 HTTP3/QUIC…Webプロトコル最前線のセッション書き起こし記事になります。 イベントページのタイムテーブルから、その他のセッションに関する記事もお読み頂けますので、一度アクセスしてみてください。 本セッションの登壇者 セッション動画 Fastlyの奥一穂と申します。今日はHT... 続きを読む
活字と動画のタイパについての個人的感想
動画、活字と比べるとタイパ悪すぎて嫌いなクラスタ。文字ならざっと流し読みして1分で概要わかることを動画で10分解説されるとか… #年寄りの感想 https://t.co/zNbGbrYuBa — Kazuho Oku (@kazuho) October 23, 2022 このツイートを見て自分は活字と動画のタイパというものについて色々と思うところがあったので個人的な... 続きを読む
Kazuho's Weblog: 海賊版サイトのブロッキングについてアンケートをとってみたら興味深い結果が出た
政府がISPに対し対し海賊版サイトのブロッキングを要請し、議論になっています。あなたは以下のどの対策が正しいと思いますか? — Kazuho Oku (@kazuho) April 25, 2018 832票もの回答をいただきました。ありがとうございます。結果をみて、いくつか感想を述べさせていただきたいと思います。 ▪️海賊版サイトに対し、なんらかの新たな対策が必要かどうかについて 83%の方々が... 続きを読む
Kazuho's Weblog: 雑なツイートをしてしまったばかりにrubyを高速化するはめになった俺たちは!
雑なツイートをしてしまったばかりにrubyを高速化するはめになった俺たちは! 逆に言うと、Rubyの文字列型の内部実装がropeになれば、freezeしてもしなくても変わらない速度が出るようになって、結局freezeする必要なんてなかったんやーで丸く収まるんじゃないの?と思いました #雑な感想— Kazuho Oku (@kazuho) October 6, 2015とツイートしたところ、処理系の... 続きを読む
Kazuho's Weblog: 雑なツイートをしてしまったばかりにrubyを高速化するはめになった俺たちは!
Thursday, October 8, 2015 雑なツイートをしてしまったばかりにrubyを高速化するはめになった俺たちは! 逆に言うと、Rubyの文字列型の内部実装がropeになれば、freezeしてもしなくても変わらない速度が出るようになって、結局freezeする必要なんてなかったんやーで丸く収まるんじゃないの?と思いました #雑な感想— Kazuho Oku (@kazuho) Octo... 続きを読む
HTTP/2時代のウェブサイト設計
Transcript of "HTTP/2時代のウェブサイト設計" 1. Copyright (C) 2015 DeNA Co.,Ltd. All Rights Reserved. HTTP/2時代のウェブサイト設計 DeNA Co., Ltd. Kazuho Oku 1 2. Copyright (C) 2015 DeNA Co.,Ltd. All Rights Reserved. ウェブ... 続きを読む
Rebuild: 99: The Next Generation Of HTTP (kazuho)
Kazuho Oku さんをゲストに迎えて、Oracle/Google 訴訟、うるう秒、HTTP/2, H2O などについて話しました。 スポンサー: YAPC::Asia 2015 Show Notes Supreme Court declines to hear Oracle v. Google case over software copyright Justice tells Suprem... 続きを読む
Linux 上で5秒で chroot jail を使えるコマンド「jailing」が凄い! - blog.64p.org
https://github.com/kazuho/jailing/ kazuhoさんがやってくれました。 ずいぶん前からlinuxでchroot jailを作るのに簡単な方法ないかなーと思ってました。個人的にはsystemd-spawnというのを使ってたのですが、幾らか気に入らない所があったり構築に時間がかかったり、ディスク容量を消費していました。簡単に使えて、ディスク容量を消費しないやつがほし... 続きを読む
WebSocketsでの送信処理に関する注意点(CLOSINGステートとcloseイベントに関する疑問) - kazuhoのメモ置き場
WebSocketsの接続状態には、CONNECTING / OPEN / CLOSING / CLOSEDのステートが定められている。一方、CLOSING状態への遷移に対応するイベントは存在せず、CLOSE状態へ遷移した際にcloseイベントが発生するとされている。つまり、「closeイベントが来るまでは送信できるぜー」ってなコードを書いてると、正常系なのにsend()で例外発生する可能性がある... 続きを読む
DRY(don't repeat yourself)するかしないか、その判断基準について - kazuhoのメモ置き場
「過剰なDRYが技術的負債を生む」みたいな内容の記事を書きたいが、うまく言語化できない。「過剰な食事制限が健康を損なう」程度の内容に成り下がりそうだけど、そんなんじゃないんだよ…@methane 実装におけるDRYみたいなものを考えていて、そうすると前者のDRYというのがどこに位置づけられるかはわからないんですが、とにかく暗黙知みたいなものを過剰に増やすDRYは良くないよね、というような話なんです... 続きを読む
トピックブランチ内の変更を無視してgit bisectする方法 - kazuhoのメモ置き場
merge commitについては1st parentのみをたどりながらgit bisectしたいことってありますよね? (参照: テストファーストなGitワークフローについて - kazuhoのメモ置き場)そういうとき、1st parent以外に属するcommitをgit bisect skipするの、どうやったらきれいに書けるのかなと思ってたのですが、以下のやりかたが一番よさげ。 $ git ... 続きを読む
テストファーストなGitワークフローについて - kazuhoのメモ置き場
Gitのワークフローに関する話題が、また盛り上がっているようなので、僕が好んで使っているGitワークフローについて書きます。対象となるソフトウェアは、GitHubやGitHub Enterprise等を使って開発されている、リリースブランチを切らずにmasterにリリースタグを打っていくだけで十分な程度の、ウェブサービス(の部品)やオープンソースプロジェクトです。まず、以下の2点を原則として考えて... 続きを読む
npm (node package manager)の菱形依存問題とdedupeと社内モジュールとJSX - kazuhoのメモ置き場
npmで色々コードを書いていると、以下のような依存関係ができてしまうことがある*1。 a +-- b このように「bが依存するc」と「dが依存するc」が異なるものになってしまうと、(2回cがロードされる分)プログラムが無駄に大きなものになってしまったり、(bとdがお互いで生成したcを使う場合に)片方で生成されたcのインスタンスをもう片方で「instanceof c」してもfalseが返ってきてしま... 続きを読む
WebSocket(RFC 6455)上で使用するプロトコル設計についての備忘録 - kazuhoのメモ置き場
一般論として、全二重の通信プロトコルを実装するにあたっては、いくつか注意すべき点があって、具体的には、到達確認と切断シーケンスについて定めておかないと、送達されたはずのメッセージがロストしていたり、切断タイミングによってエラーが発生*1したりする。具体例をあげると、たとえばTCP/IPにおいてshutdown(2)を用いずに、いきなりclose(2)を呼んでいると、read(2)やwrite(2)... 続きを読む
「今日使われているプログラミング言語の多くは、なぜ1990年前後に誕生したものなのか」に関する一考察 - kazuhoのメモ置き場
若い人たちは、「文字列型」があるプログラミング言語しか知らないかもしれない。だが、汎用的な文字列型が一般的になったのは、プログラミング言語の歴史の中でも比較的最近のことである。たとえば、1972年に誕生したC言語には文字列型がない。1980年代に良く使われていたPascalの文字列型は最大255文字しか格納できなかった。なぜか? それはメモリが貴重なリソースだったから。1980年代のPCの搭載メモ... 続きを読む
GCとかロケット科学すぎてウェブサービス屋さんには似合わない - kazuhoのメモ置き場
※タイトルは釣りです。先のエントリで、採るべき技術的アプローチに関しては、ソフトウェアの修正コストによってかわるという議論があって、ウェブサービスの場合にはソフトウェア製品(やSI)と比べて圧倒的に修正コストが安い。ウェブサービスの場合にロケット科学的な「正しいけど大げさ」なアプローチよりも、小さく作って動かしながら修正していく手法が好まれるのにはそういう背景もあるソフトウェアのアップデートとウェ... 続きを読む
ソフトウェアのアップデートとウェブサービス運用における継続性リスクについて - kazuhoのメモ置き場
Webサービスのようなプロダクトについての議論について教えて下さい - delirious thoughts で呼ばれたような気がしてたけど放置してた。でも今日、express という node.js 上で動作するメジャーなウェブアプリケーションフレームワークを作っているチームが、次世代の製品に取り組み始めたと聞いたので、メモを以下に貼ります。 --------------------------... 続きを読む
Test::Mocha::PhantomJSを書いた - kazuhoのメモ置き場
Test::Mocha::PhantomJSというPerlモジュールをリリースしました。一言でいうと、Perlで書いたサーバサイドロジックを、PhantomJS上で動くMochaのテストコードで検証するためのモジュールです。具体的な手順としては、 t/ 以下に次のようなテストコードを書いて Mochaのテストが含まれるHTMLを返すようにするの2点さえやってしまえば、あとはmake testするだ... 続きを読む
[JSX] JavaScriptバインディングの書き方 - kazuhoのメモ置き場
※この記事はJSX Advent Calendar 2013の一部です。JSXでは、JavaScriptで定義されているオブジェクトをJSXのクラスとして簡単に取り込めるようになっています。やりかたは簡単。「native」属性を付与してクラス定義を書くだけです。たとえばJavaScriptの組み込みオブジェクトであるRegExpのバインディングは、以下のように定義されています。 native fi... 続きを読む
個人サーバのファイアウォールを活かしつつ、どこからでもログインする方法 (CGI編) - kazuhoのメモ置き場
以前、いつでもどこからでもサーバにログインしたくなるときってありますよね。かといって、サーバの sshd への接続を全世界から可能にしておくというのは、たとえパスワード認証を無効化していても避けたいところ。 Dynamic DNS を使って SSH アクセスを制限する方法 - kazuhoのメモ置き場ということでDynamic DNSを使う方法でやってきてたんだけど、いろいろ不便があったので、HT... 続きを読む
オレオレ認証局の適切な運用とName Constraints - kazuhoのメモ置き場
オレオレ認証局が忌避されるべきものとされてきた理由は、X.509 PKIが保証する安全性は、最も信頼性が低い認証局(trusted root)のそれに等しいからです。しかし、X.509 v3以降ではName Constraintsが導入され、「特定のドメインに対してのみ証明書を発行可能な認証局」を定義できるようになっており、同constraintをcritical key usage extens... 続きを読む
パスワードをソルトつきハッシュ化してDBに保存するのがベストプラクティス…とは限らないという話 - kazuhoのメモ置き場
フレームワークの責務とセキュリティ - MugeSoの日記についての感想文です。世の中にはたくさんの通信プロトコルが存在し、中には、特定の条件でパスワードを含む文字列をハッシュ化した値を検証しなければならないものも含まれています。例えば、HTTP Digest認証の場合は、MD5("realm:user:password")を保存しておく必要がありますし、APOPの場合は生のパスワードを、CRAM... 続きを読む
Inline JSONPの長所について (続: サーバサイドからクライアントサイドのJavaScriptを呼び出す際のベストプラクティス) - kazuhoのメモ置き場
サーバサイドからクライアントサイドのJavaScriptを呼び出す際のベストプラクティス - kazuhoのメモ置き場 の件、id:tokuhirom がさくっと HTML::CallJS というモジュールを書いて公開してくれた (Shipped HTML::CallJS - blog.64p.org 参照) ので、どういう Inline JSONP を使うとどういう形で書けるか、ぱっと例をあげた... 続きを読む
サーバサイドからクライアントサイドのJavaScriptを呼び出す際のベストプラクティス - kazuhoのメモ置き場
はてなブックマーク - JavaScript文字列のエスケープ あたりで盛り上がっていた件、僕も、そもそもそういうことはやめたがいい派ですが、一方で、 タグ内に動的生成したデータを埋め込むのは、それほど難しいことではないかと思います。というのは、元のエントリではエスケープ関数を自作していますが、実際はありもののエスケープ関数を組み合わせるだけで、タグ内に正しくエンコードされたデータを埋め込むことが... 続きを読む
ディレクトリの変更を監視して、任意のコマンドを再起動する話 - kazuhoのメモ置き場
plackup -R とか grunt-contrib-watch とか、ウェブアプリケーションの処理系とかビルドツールには、割とこの手のものが組み込まれているんだけど、Windows を無視していいなら、外部ツールを使えばいいわけで。具体的には MATSUNO★Tokuhiro / App-watcher - search.cpan.org をインストールして % watcher --dir s... 続きを読む