タグ

ブックマーク / techblog.karupas.org (6)

  • YAPC::Hiroshima 2024が終わった - 時計を壊せ

    yapcjapan.org 終わった……。というのが率直な気持ち。 怪我や事故などの大きなトラブルなく終わることができて当にホッとしている。 2023年度は仕事も忙しく、かつプライベートも色々あり、とにかく様々が立て続けにあってずっと頭がパンクしていたように思う。 ほかにも様々な状況などが重なった結果、今回はあまりまともにYAPCを手伝うことができなかった。 できたのが杜甫々(とほほ)さんとそーだいさんへの講演オファーをするくらいで、あとは多少の相談に乗ったりくらいで運営としての事前準備は今回は殆ど関われていない。 それでもこれだけ多くの人がYAPCを楽しんでもらえたのは、これを準備してきたコアスタッフの面々と他のJPA理事の面々のおかげだとおもう。当にありがたい。 「段取り八分、仕事二分」とは言うが、その「二分」の部分だけでも貢献しようと当日はできる限りのことをした。 その結果、当日

    YAPC::Hiroshima 2024が終わった - 時計を壊せ
    ishiduca
    ishiduca 2024/02/26
    杜甫々(とほほ)さんのキーノートだけはなんとか途中から直接聞くことができた。これが、本当に面白かった。
  • Mustache Templateの実装を書いた - 時計を壊せ

    この記事はPerl Advent Calendar 15日目の記事です。 qiita.com さて 様々からの現実逃避とISUCONに向けたPerlのリハビリでmustache template engineをちまちま自作してたんだけどついにmustache/specなどから作ったテストが全部通ってしまった— かるぱねるら (@karupanerura) December 12, 2023 ということで、ひさしぶりにCPANizeしました。なんか早速bug fixが見つかって早々に0.02です。 metacpan.org 今のPCでは初めてのCPANizeだったようで ~/.pause がなくてちょっと焦った。 なんで? 人生色々。様々があります。 たとえば、やることに追われたり、悩ましい考え事に苛まれたり、やることに追われたり、やることに追われたり、様々があります。 一方でISUCONも

    Mustache Templateの実装を書いた - 時計を壊せ
  • 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内にあるコンテナに通信したいことは割りとよくあるユースケースだと思う。 こういうときは、基的には宛先をIPv4のLoopback Addressである127.0.0.1に向けてあげて、 IPv6を使わないようにしてあげるとよい。 localhostを使ってしまうと、名前解決でIPv6のLoopback Addressに名前解決されるケースがあり、そうなればIPv6に対して接続しようとしてしかしIPv4でしかlisten(2)されていないのでコケる。 しかし、世

    Linux以外ではDockerでIPv6が扱えないので簡易なTCP Reverse Proxy Serverを書いた - 時計を壊せ
    ishiduca
    ishiduca 2023/10/10
  • errnoから何のエラーか簡単に調べるためのワンライナーの解説 - 時計を壊せ

    qiita.com こんなワンライナーがあります: % perl -E 'say$!=24' Too many open files これの正体に迫っていきたいと思います。 どのように解釈されるのか まずはこれがいったいどのようにParseされるのかを知るために、 -MO=Deparse を付けて実行してみましょう。 % perl -MO=Deparse -E 'say$!=24' use feature 'current_sub', 'evalbytes', 'fc', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval'; say $! = 24; -e syntax OK say $! = 24 キモはこれです。 $! という変数に 24 を代入して、その式の結果を say が受け取っています。 Perlの代入式は左辺

    errnoから何のエラーか簡単に調べるためのワンライナーの解説 - 時計を壊せ
    ishiduca
    ishiduca 2019/05/29
  • npmに上がっていないブラウザ向けに書かれたJavaScriptをnode.jsから雑に使うの術 - 時計を壊せ

    ブラウザ向けに書かれたJavaScriptだと、windowに対してexportしていて、nodeから使いにくくて困ることがある。 nodeでも動くようなpatchを書けばいいという話ではあるが、githubにコードが上がっていないとやりにくくてつらい。 そこで、適当なObjectをcontextにして、vmでぶん回すことで、雑に解決することができた。 以下はGeoHexというライブラリのJavaScriptの実装がwindow.GEOHEXにエクスポートする実装であったために困ったので雑に解決した例。 "use strict"; var http = require('http'); var co = require('co'); var get = function (url) { return new Promise(function (resolve, error) { http.

    npmに上がっていないブラウザ向けに書かれたJavaScriptをnode.jsから雑に使うの術 - 時計を壊せ
    ishiduca
    ishiduca 2015/08/11
  • #isucon2 で惨敗してきました - 時計を壊せ

    潔く。 思った事 ソースを見て DB重そう 参照系クエリでJOINしまくってるなー recunt_soldとか 更新系重そうだなー IS NULL ORDER BY RAND appがstatic file返してるの無駄だなー front endがapacheなのはやめたほうがよさそう 最終的にはmemcachedにレスポンス突っ込んでnginxのmemcachedモジュールで返せればいいなー recunt_soldは別パスにしてSSIで分離出来るとキャッシュの寿命分けられていいなー 負荷を見て やっぱりDB重いなー これいっそRedisとかで書き換える方がいいのでは でもRedis普段使ってないし怖いなー ベンチ直後のappが重い? いろいろ疑ってみたが原因わからず DBIをdisconnectしてみたが、遅くなった いつの間にか解消されててなぞ rev負荷あんま無いなー appたててし

    #isucon2 で惨敗してきました - 時計を壊せ
    ishiduca
    ishiduca 2012/11/04
  • 1