時計を壊せ

駆け出してからそこそこ経ったWebプログラマーの雑記

Google Cloud Firestore datastore modeをいい感じに操作するやつを作った

Google Cloudにおいて、古くはApp Engine Datastore、その後にCloud Datastore、現在はCloud Firestore datastore modeという形で存在するものがある。 俗に単にDatastoreと呼ばれることが多いと思うので、このエントリでは単にDatastoreと呼ぶことにする。 …

株式会社はてなに入社しました

株式会社はてなに入社しました 1年ぶりです 株式会社はてなに入社しました - hitode909の日記

YAPC::Hiroshima 2024が終わった

yapcjapan.org 終わった……。というのが率直な気持ち。 怪我や事故などの大きなトラブルなく終わることができて本当にホッとしている。 2023年度は仕事も忙しく、かつプライベートも色々あり、とにかく様々が立て続けにあってずっと頭がパンクしていたように…

Mustache Templateの実装を書いた

この記事はPerl Advent Calendar 15日目の記事です。 qiita.com さて 様々からの現実逃避とISUCONに向けたPerlのリハビリでmustache template engineをちまちま自作してたんだけどついにmustache/specなどから作ったテストが全部通ってしまった— かるぱねる…

ISUCON13にPerlで挑んだ

この記事はPerl Advent Calendar 14日目の記事です。 qiita.com チーム「銀河鉄道の昼」としてISUCON13にPerlで挑みました。 最終的に2台構成で最終スコア7083、最高スコアは1台構成での9381でした。 上位30チームが50000点弱以上なので、残念ながら惨敗と言…

Linux以外ではDockerでIPv6が扱えないので簡易なTCP Reverse Proxy Serverを書いた

まずは公式ドキュメントをご覧ください。 docs.docker.com IPv6 is only supported on Docker daemons running on Linux hosts. 残念! Docker Desktop for Macなどでローカル開発をしているときに、ローカルで立ち上げたプロセスからDocker内にあるコンテナ…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

YAPC::Kyoto 2020~2023の思い出

3年前、2020年の2月にこんな記事を書きました。 blog.perlassociation.org まだその脅威の全貌が明らかにならないままに刻一刻とタイムリミットは迫り、 YAPC::Kyoto 2020のために積み上げてきたものとそれをその状況下で実施することのリスクを直視して、頭…

UNIVERGE IX2105で宅内ネットワークを構築した

とある分譲マンションを購入して入居したところ、棟一括契約のインターネット回線以外は引けないようで、それを使わざるを得なかった。 宅内への配線は1000BASE-Tが1本あり、宅内に設置されたスイッチングハブを通じて各部屋へ配線されている。 ネットワーク…

Google Cloud Workflowのエミュレータを作り始めた

github.com Google Cloud Workflowのエミュレータを作り始めた。 標準関数などもだいたいひとまずの実装が終わってきて、ある程度動くようになっている。 Cloud Workflowを検証・導入する機会があって、便利な一方でエミュレータが提供されておらずローカル…

ISUCON12予選に1人で挑み惨敗を喫しました

FAILでスコア0でフィニッシュです。ありがとうございました……。 経緯 今回のISUCON、チームワークの難しさに悩みすぎて血迷ったのでソロで出ます— かるぱねるら (@karupanerura) 2022年7月9日 近頃、チームで仕事するの難しいなーと感じていたところ、気が狂…

GCSへのアクセスをIdentity Aware Proxyで制限したいのでProxyを作った

storybookを共有したいなど、GCSに静的ファイルを配置しつつもそれを限定したメンバーだけに見せたいような用途ではアクセスを簡単かつ確実に制限するために、その制限にIdentity Aware Proxyを使いたくなることがあります。 しかし、Identity Aware Proxyは…

PerlNavigatorがすごい

年々とelispのメンテが雑になってきて、ついにはemacsclientがemacs serverにうまく接続できなくなってしまい、とはいえ普通にスタンドアロンで立ち上げると動くのでログも取れずに原因究明が難しく、もはやこのままでは引退も近いかと思われたので、悪あが…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

YAPC::Japan::Online 2022が終わり、その先の未来について

YAPC::Japan::Online 2022が終わりました。 JPA代表あるいはYAPC::Japan::Online 2022の主催としてのコメントはこちらに書きました: blog.yapcjapan.org ここでは、個人的に考えていることを書いてみます。 コミュニティ主催のカンファレンスの価値はなんだ…

コードレビューとPull Request、そしてその承認機能の副作用について考える

用語 レビュアー 対象となるコードをレビューする人のことを指します。 レビュイー レビューを受ける人、つまりレビューする対象のコードを書いた人のことを指します。 tl;dr アプリケーション開発業務におけるコードレビューはコードの正しさや質そして一貫…

ISUCON11予選に参加しました

id:Sixeightとid:aerealとチームにゃんこ選抜というチーム名で予選に参加しました。 再試験スコアは25746点、ベストスコアは記録をちゃんと残せてなかったけど3万ちょっとでした。 予選通過ラインが10万点ちょっとだったので、全然届かずという結果。色々と…

Goの並列テストが何並列で実行されるのかを知りたい

Goの並列テストそのもにについては、Mercari Engineer Blogで@yoshiki_shibataさんによって解説されているこの記事が有名かと思います。 engineering.mercari.com 並列に実行されるということは、これはレースコンディション問題に対するテストケースの作成…

株式会社はてなに入社しました

2年連続で株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

WEB+DB Press Vol.119のPerl Hackers Hubに寄稿しました

WEB+DB PRESS vol.119 Perl Hackers Hubも第64回ということでキリが良いですね。 個人的にはありがたいことに3度目のPerl Hackers Hub掲載です。 今回は「少しマニアックなPerlのテクニック」ということでPerlにまつわる少しニッチなTips集のようなものを書…

TypeScriptでタプル型の順列を得たい

たとえば、 [1, 2, 3] というタプル型があった場合に [1, 2, 3] | [1, 3, 2] | [2, 1, 3] | [2, 3, 1] | [3, 1, 2] | [3, 2, 1] みたいな組み合わせが欲しい。 これは順序を指定するようなケースに型制約を持たせるときに役立ち、io-tsなどを使ってType Guar…

株式会社はてなに入社しました

株式会社はてなに入社しました 株式会社はてなに入社しました - hitode909の日記

はてなブログおみくじ2020

はてなブログおみくじ2014

Google App Engineでローカル開発をするときにdispatch.yamlをもとにReverse Proxyしてくれるツールを書いた

これです github.com なぜ作ったのか dispatch.yaml や dispatch.xml はGoogle App Engine(以下GAE)のFrontendでルールベースでL7 HTTP Reverse Proxyしてくれるものです。 cloud.google.com これはMicroservicesをやる上では大変便利なものになっています。…

errnoから何のエラーか簡単に調べるためのワンライナーの解説

qiita.com こんなワンライナーがあります: % perl -E 'say$!=24' Too many open files これの正体に迫っていきたいと思います。 どのように解釈されるのか まずはこれがいったいどのようにParseされるのかを知るために、 -MO=Deparse を付けて実行してみまし…

バックアップ用NAS検討

ことのあらまし バックアップしてたらバックアップ用のHDD飛んだ…— かるぱねるら (@karupanerura) 2019年5月2日 お亡くなりだー pic.twitter.com/owNsHgCEX6— かるぱねるら (@karupanerura) 2019年5月2日 なんとか認識まで行ったけどどこに退避しようか… pic…

Japan Perl Associaton代表理事に就任します

SEE ALSO: blog.perlassociation.org なぜ平成も終わるこのご時世に?と思う方もいらっしゃると思います。 思いの丈を書いてみます。 昨今のWeb開発のトレンドとしては、動的型付け言語から静的型付け言語へシフトが進んでいます。 また、PaaS/SaaS/FaaSの普…

YAPC::Tokyo 2019で話したことの落穂拾い、あるいはISUCON8予選問題出題の感想

話してきた。スライドはこちら。 speakerdeck.com 20分で話せるボリュームにまとめるにはちょっとスコープが広すぎて抽象的かつ割と普通な結論になってしまったなと題材選びに反省がある。 もう少し具体例について堀り下げられる時間がほしかったが、コンテ…

YAPC::Tokyo 2019で「ISUCON8予選問題の裏側」について話します

こんな感じのトークをします: ISUCONとはIikanjini Speed Up CONtestの略で、アプリケーションからOSレイヤまでなんでもありのWebアプリケーションの総合的な高速化スキルを競うコンテストです。2018年で第8回目の開催となり、参加者数は1000人を超えます。…

CSS初め

このブログのデザインに対して冷静になった結果、どうも背景の主張が強すぎてタイトルとかが読みにくいという思いに至った。 はてなブログはたしかカスタムCSSが書けたはずなので、CSSでなんとかすることにした。 書いたのはこんな感じ: body:before { conte…