2018-01-01から1年間の記事一覧
もう7年目。主に仕事について。 大きな仕事と新しい仕事に取り組んだ一年だったと思う。this.aereal.org今年前半はHTTPS化という大きい仕事を担当した。やりがいはあったけれど正直に言えば重荷が降りたという気持ちが大きい。言葉を選ばずに言えば、2018年…
を作りました。 github.com 外部HTTPリクエストをスタブするTest::WWW::StubというPerlのモジュールや、スタブするレスポンスをあらかじめ記録しておいた実際のレスポンスから再現するVCRというRubyのライブラリなどにインスパイアされました。 使い方はこう…
normalized_url = begin URI.parse(url) rescue URI::InvalidURIError URI.parse(url.gsub(/\p{^ASCII}/) {|s| URI.encode_www_form_component(s) }) end URL中の非ASCII文字列をパーセントエンコードしてない (例: http://example.com/?q=姉) と `URI::Inva…
この記事ははてなエンジニアAdvent Calendar 2018の16日目の記事です。 昨日はid:akiymによるOpenSSLはどこにいるでした。地味にOpenSSL系のモジュールはリポジトリのセットアップ時にハマりがちで、かつたまにバージョンアップでビルド引数の渡し方が変わっ…
知らなかった……。 Warning: >The --link flag is a legacy feature of Docker. It may eventually be removed. Unless you absolutely need to continue using it, we recommend that you use user-defined networks to facilitate communication between tw…
EC2 Container ServiceのBlue/Greenデプロイメント | Amazon Web Services ブログ GitHub - aws-samples/ecs-blue-green-deployment: Reference architecture for doing blue green deployments on ECS.これら眺めてみる。 方針としてはLBのtarget groupをつ…
SNSというかTwitterで同僚をフォローするのをやめて精神衛生が良くなった。 一緒に仕事をするうえでパーソナリティも知りたいなと思って基本的にフォローしていたのだけれど、最近それによって楽しいとか便利と思うことより、きついと感じる機会のほうが多く…
同僚が社内グループに『みんなではじめるデザイン批評』を読んだ感想を書いていて、それが良かったのとそういえばこんなことあったなと思い出したので読んだ感想がてら書きます。 みんなではじめるデザイン批評―目的達成のためのコラボレーション&コミュニケ…
エンジニアのためのマネジメントキャリアパス ―テックリードからCTOまでマネジメントスキル向上ガイド作者: Camille Fournier,及川卓也(まえがき),武舎広幸,武舎るみ出版社/メーカー: オライリージャパン発売日: 2018/09/26メディア: 単行本(ソフトカバー)…
SAマウントカメラ・レンズをご愛用の皆さまへ | レンズ | SIGMA|株式会社シグマレンズ交換式カメラを開発・製造しているシグマがカメラシステムを終了させる告知を出して、告知をすること判断自体とその告知内容がとても丁寧で心証が良かったです。 前提 カ…
こういうかんじ: mysql> select table_name, table_rows, avg_row_length, (data_length + index_length) / 1024 / 1024 as total_mb, data_length / 1024 / 1024 as data_mb, index_length / 1024 / 1024 as index_mb from information_schema.tables where…
builderscon tokyo 2018で話しました。2017に続いてスピーカーとしての登壇で光栄です。こういうイベントで何も話さないとどことなく居心地が悪くなる性分なので、スピーカー or die (不参加) となるところだったのでよかったです。 トークについて speakerd…
最近、TypeScriptで癒されたさ重視でaws-cdkを見ています。aws-cdkはCloudFormation (以下CFn) をよりプログラマブルに扱う高級な・抽象的なライブラリと見てよく、概念もほぼ対応しているのですが、Appsという概念はaws-cdkに固有のもので特色たりえるもの…
aereal.org長らくさくらのVPSでホスティングしていたのだけれども運用がめんどうになったのでこれを機にGCPへ移行した。登場人物は: Google Cloud Storage Google Cloud Load Balancing Google Cloud CDN Google Cloud Deployment Manager ……の4つ。 Google …
aws-cdkを見ている。TypeScriptもしくはJavaでAWSの構成管理ができる。CloudFormationのプログラマブルなやつと考えるとよい。TypeScriptは癒しなので癒されました。今日は感動ポイントをご紹介。 policyの変換がすごい CFnのなかでもS3のbucket policyを書…
const { resolve } = require('path'); const { Linter, Configuration: { findConfiguration } } = require('tslint'); const tslintJsonPath = resolve(__dirname, '../tslint.json'); const { results: config } = findConfiguration(tslintJsonPath); co…
System Preferences → Notifications → “When mirroring to TVs and projectors”にチェックを入れてプレゼン中に通知が出ないようにしましょう。(僕は念の為、通知センターからもチェックしています)ありがとうスティーブ。
Reactでちょっとした計算機を作ろうと思い、せっかくなのでStorybookを試してみることにした。 できたもの GitHub - aereal/delay-time-calcBPMとフィードバックさせたい音の音価を入れるとディレイタイムがミリ秒で出力される。BPM 120で8分ディレイをかけ…
HTTP::Request#content($bytes) もしくは HTTP::Request#add_content($bytes) を呼んでもcontent-lengthは自動で計算されず、0になる。 なのでそのままリクエストを送ると、ちゃんとcontent-lengthだけbodyを読む実装はボディが空だとみなすのでちゃんとcont…
aws cloudformation package はS3にfunctionとかいいかんじにアップロードして、そのARNが埋められてそのまま aws cloudformation deploy 実行可能なテンプレートを出力してくれる そのパスを指定する引数が --output-template-path cloudformation自体はS3…
結論 実装ではなくインターフェースに依存させる Goのinterfaceは実装の明示が必要ないので便利 aws-sdk-goのスタブ 外部ライブラリの例としてaws-sdk-goを使ったこういったコード例を考える: type CertificateFetcher struct { client *dynamodb.Client } f…
kichijojipm.connpass.com 参加した。酔った勢いで参加登録し、新幹線と宿を予約をし、東京は吉祥寺に舞い降りました。 ライブと仕事でしか東京に行かないので西のほうに行くのは新鮮。 設計というテーマもさることながらしんぺいさん (id:nkgt_chkonk) を見…
delveとは Go向けのデバッガで、ステップ実行とかブレイクした行のレキシカル変数が見えたりといった基本的な機能を提供しつつ、dlv debug でコンパイルしつつ実行 (go run) したりgo(1)とほどよく統合されている。後述するheadlessモードがあっていわゆるリ…
rm -rf /var/cache/apt/archives/* /var/lib/apt/lists/* してないか確認する。コンテナのプロビジョニングを試行錯誤しているときに docker-compose run --rm app bash とかやりがちだけど、最初の方に apt-get update && apt-get install && rm -rf /var/c…
スクリプトで自動化したいときは困る。そういうときは unzip -o /path/to/kure.zip のように -o オプションを使うとよい。 -o overwrite existing files without prompting. This is a dangerous option, so use it with care. (It is often used with -f, h…
「予定あり」「予定なし」という概念があり、これが「予定あり」の予定が入っているときのみ「時間を探す」などでブロックされる。 言い換えると予定が「予定なし」だと他の人からは空いているように見える。 ちなみに「終日」にするとデフォルトが「予定な…
- Fix mirror() (haarg) #9 https://metacpan.org/changes/release/MIYAGAWA/LWP-Protocol-PSGI-0.10#L4 changesには `LWP::UserAgent#mirror` についてのみ言及があるけど、`get()` メソッドの `:content_file` 引数にも影響がある。`mirror` メソッドも `:…
GitHub - aereal/nikki昨年末からぼちぼち書いている。 モチベーション いわゆるページを動的に生成するWebアプリケーションのパフォーマンスチューニングの練習台 サーバサイド、クライアントサイド双方に渡る改善を試みる余地がある 諸々のWeb技術の遊び場…
github.com sudo mkdir -p /opt/mackerel-agent/plugins sudo chown -R $(id -un):$(id -gn) /opt/mackerel-agent/plugins mkr plugin install aereal/mackerel-plugin-macbook-battery-health@v0.0.2 cat <<EOS >> /usr/local/etc/mackerel-agent.conf [plugin.me</eos>…
r7さんらの振り返りがおもしろかったので自分も書き出した。 medium.com medium.com 継続しているサービス dアニメストア 5,184 JPY/year 過去作から最新作までたくさん配信されているのでなにか見たいな〜という時に便利。 最近はテレビ放映とタイミングを…