2020-01-01から1年間の記事一覧
去年 作ったもの aereal/cdk-dynamodb-expression: DynamoDB expression builder for AWS CDK TypeScript (AWS CDK) tagged template literalでDynamoDBの式を書いたらexpressionとexpressionAttribute{Name,Value}を返す aereal/go-dynamodb-attribute-conv…
重い仕事・比較的やりたくない仕事・とっかかりが見つからない仕事など、アサインされたけれどどうにもやる気が出ない仕事に出くわすことはしょっちゅうあると思う。 そういう時におすすめしたいのが「誰か一緒にやりませんか」とペアプロ・ペア作業相手を募…
moznion.hatenadiary.com サーバが脆弱という意味では弱者だけれども、一方でreadinessとかの豊かな情報が欠けているという意味ではクライアントもか弱い存在で、このミスマッチが根本的に問題を難しくしていると思う 素朴なモデルだとクライアントは自身で…
blog.sushi.money 僕も最近は正常系から書くことが多いです。こうすると悪い設計に早く気付きやすいという利点があると感じています。 ここでは単体テストのような開発者向けのテストを想定していて、E2Eテストのようなテストでは必ずしも当てはまらないでし…
cdk-dynamodb-expression aereal/cdk-dynamodb-expression: DynamoDB expression builder for AWS CDK AWS CDKでDynamoDBの式を書く時に便利なグッズ。 usageより: import { DynamoAttributeValue } from "@aws-cdk/aws-stepfunctions-tasks"; const builder…
Gitもシェル (zsh) もよく使うコマンドをエイリアスとして設定して任意の入力で呼び出すことができる。 このエイリアスについていくつか派閥があると感じていて、おおまかには: エイリアスをまったく使わない 入力の手間を減らすため極限まで短いエイリアス…
※組織の話は詳しくないので自信はないけれど、こう思ったという話を書きます ※現在の所属組織の社内ブログに書いた内容を一部修正して転載しています プラットフォームのプロダクトマネジメント メルカリのSREであるdeeeetさん (eは4つ) のこの記事が良かっ…
Documentation part AWS API GatewayのREST APIはOpenAPIに準拠したドキュメントの生成もサポートされている *1。API GatewayのREST APIはリソースやメソッドなどの部品から成る。特別な定義なしでも、これらAWS上のリソースが持つ各種プロパティからデフォ…
id:masawadaとid:side_tanaと一緒にはやいTシャツ屋さんで参加しました。初期スコアが最高スコアでした。察してください。 チームでやった主なこと: New Relicの導入 Web Transactions SQL Logs デプロイ自動化 デプロイするたびにNew Relicのdeploymentsを…
概要 これまで業務・プライベートの双方でAWS CDK (Cloud Development Kit)というInfrastructure as a CodeツールをDeveloper Previewのころから着目し利用してきたので、その特徴を競合と比較しながら説明します。 概観を掴んでもらうことを目的とするので…
が、今後5年のテーマかなーと思いはじめた。ここでいうアーキテクトは「ソフトウェアの誕生から運用を通したライフサイクル全体を通して良い感じにするためにあらゆる手を尽して準備する役割」くらいの意味で言っている。 「ひどい目に遭わないよう準備する…
前職で掲題のような取り組みを提案して始めてみたら予想以上に盛り上がったので書いておく。かなり低コストに始められるので以下に書くような課題感を持つところではおすすめできると思う。 どんな会か 会の名前は「今月のホットトピックス」と銘打った。前…
github.comというのを書いた。ご利用ください。スロークエリを解析する時に「このクエリ、アプリのどこから呼んでいるんだろう?」と調べたいことがよくある。 だいたい遅いクエリって長くて複雑だったりするのでいちいち横に縦にスクロールして全容を把握し…
退職するにあたって、人事評価とかそういった枠組みをすべて取り払って去る自分に対して言い残したことがあれば伝えてほしいなと思い、自分がどう見えていたかをGoogle Formによるアンケートというかたちで同僚に乞い、ありがたいことにたくさん送ってもらえ…
gyazo.com const buildBiyon = (max) => { let incr = 1; let count = 0; return () => { if (count === 1) { incr = 1; } if (count >= max) { incr = -1; } count = count + incr; return "ニ".repeat(count); }; }; (() => { const biyon = buildBiyon(5)…
scrapit.vercel.app……というのを作った。ソースコード: GitHub - aereal/scrapitblog.sushi.moneyPCのブラウザではこういうブックマークレットでブクマしている一方、Androidで見ている時にぱっとやる方法がなくて、ブラウザのブックマークに入れておき後でP…
anond.hatelabo.jpルール: ヘボン式に倣う 広域地方公共団体の区別はしない 大阪府なら大阪、広島県なら広島、とする (含めると都や道などが2020年現在で識別されてしまうため) 使ったコードは以下: #!/usr/bin/env ruby require 'abbrev' prefs = DATA.each…
AWS CDKの昨今 最近は仕事でもプライベートでもAWSのリソース配備にはAWS CDKを使っている。 ちなみに最近はCDK for Terraformが出るなど、AWSに限らないツールキットを指向している雰囲気があるので「仕事は {ここにAWS以外のクラウドプロバイダが入る} だ…
公開しているライブラリほどじゃないにせよ、チームで開発しているTypeScriptで書いたコードにちらほらドキュメンテーションしていきたい。 それESLintで とりあえず今までろくに書いていなかった部分はいまさっき書き足すPull Requestを作ったけれど、今後…
@types/react-domで `ReactDOM.render` の第2引数 (container) はnullを許容しており、`document.getElementById` の返り値の型に合わせているそう。 しかしランタイムがnullを許容しているわけではなくnullを渡すと実行時例外になる。TypeScriptを使ってい…
2020年8月14日付けで退職する運びとなった。 入社が2012年なので勤続丸8年を迎え社内でも古株の方になってきつつある。Web業界にしてはわりと長くいたほうだと思う。 自分自身でもこんなに長く籍を置くとは思っていなかったので驚いている。退職を決めた理由…
タイトルですべて言い切ってしまった。JWE (= JSON Web Encryption) にはInitialization Vectorというフィールドが含まれており、これは暗号化処理ごとにランダムな値が使われる。 なので、同じペイロード・同じ秘密鍵を使って暗号化しても暗号化したトーク…
cloud.google.com/goはGo向けのGCPのAPIライブラリ。一部を除き単にHTTPリクエストを送っているのでX-Rayでトレースする *1 のは造作もないだろうと思ったら思いがけず難航し、だらだら調査していたら2日かかってしまった。詳しいメモと結論はScrapboxにまと…
app.yamlに公開したくない情報を含める - aereal-techより。環境固有の値とかapp.yamlに書いてコミットしたくないけど、CD = Continuos Deliveryするためには必要でどうしよう、という時に思いついた策。valid JSON is valid YAMLなので、雛形となるJSONをリ…
コードを書かない問題解決 ソフトウェアエンジニアとしての価値観とか仕草みたいなのはだいぶid:hitode909さんの影響を受けており、その中でも自分が大きく変わったと思うのは、問題解決の手段としてソフトウェアにこだわりすぎないという視点を手に入れたこ…
VPS→Cloud Bucketのホスティング機能→Firebase Hosting + Gatsbyという変遷を辿っていた自分のサイトをNext.jsのSSG (= Server-side generation) とHeadless CMSであるcontentfulに移行した。aereal.org最近出たNext.js 9.3でSSGサポートがちょっと良くなっ…
scrapbox.io仕事と趣味が曖昧な方の人間なのであれこれ触ったり作ったりするのが好きなんだけど、これまでは作ったものをGitHubに置いてREADMEを書いてそれだけで終わっていてなんかもったいなあと感じていた。GitHubに置くからにはと、リポジトリをいきなり…
github.com記録するLambdaを作るAWS CDKのリソースライブラリを作った。いますぐ npm i -S @aereal/cdk-ecs-task-retirement-events-mackerel-annotator !こういうアノテーションが作られるモチベーションと利点はScrapboxに書いたように: [ECS]のtask停止は…
macOSには /usr/libexec/path_helper というスクリプトがあり、これは /etc/zprofile で実行されOSがPATHをよしなに設定するというものだが、ユーザーが追加したパスより優先度高く追加するようになっており、かなり傍迷惑。 /usr/local/binなどより任意のパ…