ISUCON13 に参加した

前回の様子: ISUCON12 の予選に参加した - きりきりやま こんいす〜 www.youtube.com 今年も unasuke, lime1024 とチーム「たんぽぽの上の刺身」で Ruby 実装で参加した。いつメン。 最終スコアは 15,549 点の 139 位。100 位切りたかったな〜。 タイムライ…

Cisco C841M の IOS イメージが突然いなくなった

ある日突然インターネットがこわれたので確認にいくとルーターにしている C841M の様子がなにやらおかしい。 普段はピカピカしているのに SYS ランプだけがゆっくりと点滅している1。 とりあえず電源を引っこ抜いて再起動しつつコンソールでつないでみる。 R…

Go で DB にいれるデータを暗号化したい

センシティブなデータを DB に保存するにあたって、Go で暗号化を実装した。 その過程で暗号化についていろいろ調べたので、Go で暗号化したいけど暗号化のことはよくわからないという人を対象にまとめる。 今回は鍵の導出に PBKDF2 を、暗号アルゴリズムに …

ISUCON12 の予選に参加した

今年も unasuke, lime1024 とチーム「たんぽぽの上の刺身」で ISUCON に参加した。このチームでの参加は 3 回目になる。 おととしは ISUCON10 の予選に参加した - きりきりやま で、昨年はあまりにも無力でブログを書くことができなかった。 今年は Ruby 実…

2021年

畑をはじめた 昨年、庭にプランターで家庭菜園をはじめたけど、今年は近所の貸農園になった。 家庭菜園むずかしいとか昨年は言っていたんだけど、細かいこと気にしなければほっといたら育つ (というか育ちすぎる) し、物量で殴って最終的に辻褄をあわせるの…

人間に水を飲ませる技術

妻が水を飲まない。健康のために水を飲むと自ら宣言したのに飲まない1。毎日「今日はこれを飲む」と言って 2L のペットボトルを仕事部屋に持っていくのに 500ml も飲んでいない。https://twitter.com/mtkasr/status/1384856756963135488 を見てぴよログで水…

2020年

L2SW を買った ついにラックマウントタイプの機器を買ってしまった、うるさい。 my new gear... pic.twitter.com/0EVpPXLhQ8— やまま (@kirikiriyamama) 2020年3月6日 家庭菜園をはじめた なんか思っていたよりだいぶ難しくて、まずパラメータがとても多い。…

ISUCON10 の予選に参加した

unasuke, lime1024 とともにチーム「たんぽぽの上の刺身」として、Ruby 実装で参加した。最終スコアは 1302 点。 明確に役割を決めてはいなかったが、結果として自分は主にインフラ周りをみていた。 今年はリモートで参加したが特に不便は感じなかった。Zoom…

UTF-8 の文字列をできる限り Shift_JIS に変換したい

Shift_JIS の CSV で連携する外部サービスがあり、DB では UTF-8 でテキストを持っていたため文字コードを変換する必要が生じた。 ところが UTF-8 に存在する多くの文字は Shift_JIS に対応がないため変換することができない1。 そこで、事前に NFKC 形式で …

Rails アプリケーションを Fargate に移行した

これが こうなった インフラ構成 リバースプロキシをなくした リバースプロキシを採用する場合、主な役割としては以下が想定される。 SSL/TLS 終端 リクエストのキューイング 静的ファイルの配信 このうち 1 と 2 については ALB で代替することができる。現…

Rails に初コントリビュートした

Rails::Application#config_for merges shared configuration deeply by kirikiriyamama · Pull Request #37913 · rails/rails · GitHub うれしい。 Rails::Application#config_for は Rails.env に応じて YAML ファイルを Hash として読み込むメソッドであ…

YAMAHA WLX202 のバグを踏んだ

経緯 Wi-Fi の調整をしていて、そのときは問題ないのだが、ある程度の時間をおくと 5 GHz 帯だけ繋がらなくなる現象が発生していた。2.4 GHz を捨てようとしていたので 5 GHz が落ちるとわりと困る。AP を再起動するとなおるからしばらくはそれでお茶を濁し…

オフィスのリモート会議の環境を整えた

これまで Revolabs FLX UC 500 をつかっていたが、人数が増えたり (10+) 会議室が広くなるにしたがって部屋の端にいる人たちの声を拾いにくくなってしまった 1。あと諸々あって以下の機材を導入した。 YAMAHA YVC-1000 (スピーカーフォン) https://sound-sol…

Slack でチャンネルが作成されたら通知する

いつの間にか新しいチャンネルがつくられていること、ままある。 仕組み Slack の Events API (Event Subscriptions) で channel_created を GAS に通知する GAS で Slack に投稿する 同じやりかたで emoji を通知したりもできる。 GAS のスクリプト var web…

同僚と開発環境共有会をした

弊チームは全員がリモートで働いていて、日常的に同僚の開発環境を見ることがないので、極稀に発生するメンバーが物理的に集う機会に開発環境の共有会 (という名の自慢会) をした。 git push --force の代わりに --force-with-lease を使うと安心ということ…

2018年

家のネットワークを Cisco にした AP が1台しかないのになぜか WLC がある。 キャンプにいくようになった 某アニメの影響。3月末に飯能で初キャンプに挑むが寒すぎて全く眠れず太陽のありがたみを知る。 成田でキャンプしたときの様子 結婚した 紙切れ一枚で…

PAY.JP のスタブライブラリをつくった

1年半くらい前に。 github.com 最近コミットしていないけど今でも特に問題なく使えると思う。 WebPay のスタブライブラリ 1 がとても好きで、それを参考に実装した。 WebPay のサービス終了に伴い GitHub からは消えてしまったのだが ↩

CloudFormation で Subnet に IPv6 CIDR を設定する

Resources: Vpc: Type: AWS::EC2::VPC Properties: CidrBlock: 10.128.0.0/16 VpcCidrBlock: Type: AWS::EC2::VPCCidrBlock Properties: AmazonProvidedIpv6CidrBlock: true VpcId: !Ref Vpc Subnet: Type: AWS::EC2::Subnet Properties: CidrBlock: 10.128.…

勤務先の Wi-Fi 環境を改善した

2.4 GHz 帯はもう諦めている。 前提 駅前のガラス張りのオフィスビル やったこと 周波数帯の調整 W53 (5250 - 5350 MHz), W56 (5470 - 5725 MHz) は気象レーダーなどにも使用されており、それらを検出した場合、レーダー波を優先するために一時的な停波やチ…

AMI の名前はアカウント内で一意

です。

Rails + CircleCI で MySQL の utf8mb4 をつかう

前提 ActiveRecordをutf8mb4で動かす - Qiita 気合でコンテナ上の MySQL の設定を変更する circle.yml database: override: - mysql -u root -e 'set global innodb_file_format = Barracuda' - mysql -u root -e 'set global innodb_file_per_table = 1' - …

本当は怖い less

tl;dr パイプから大きいデータを less に渡すとメモリ死する。 パイプから読むとき 必要に応じて動的にバッファが確保される。起動直後に G とか押すと全部メモリにのる。GB オーダーのファイルでそういうことすると死ぬ。 どうしたらいいの -B オプションを…

jpmobile - タブレットは PC のテンプレートをつかうようにする

app/controllers/application_controller.rb include Jpmobile::ViewSelector before_filter :disable_mobile_view_if_tablet private def disable_mobile_view_if_tablet if request.mobile.try(:tablet?) disable_mobile_view! end end

R3/I2 ファミリーで instance store をつかう

tl;dr 起動時にフォーマットしてマウントする。 Amazon Linux のデフォルト cloud-init によって ephemeral0 が起動時にマウントされる。 $ grep mounts -A1 /etc/cloud/cloud.cfg mounts: - [ ephemeral0, /media/ephemeral0 ] $ tail -1 /etc/fstab /dev/s…

2014年

ブログを移行したよ spice life に join \SPOTLIGHTS/ リリースした はじめて gem をつくった はじめて OSS に PR をおくった アメリカいった 島根いった Rails 寺子屋 の師範になった 歯がとれた