2020-01-01から1年間の記事一覧
最近 Next.js Learn を使って Next.js に入門した.今度は Next.js でプロトタイプを実装しながら学ぶため,プロジェクトの初期構築として create-next-app を使うことにした.少し調べたところ,create-next-app はもともと Segment 社で実装されて,現在は…
例えば「オフライン対応」のアプリケーションを実装して動作確認をするときなど「オフライン環境」が必要になる場合もある.単純に WiFi をオフにすれば良いこともあるけど,WiFi をオフにせず,部分的にオフライン環境をエミュレートできると便利.具体的に…
2019年8月にリリースされた Git 2.23 から,Experimental(実験的機能)として新コマンド git switch と git restore が使える.今までずっと使ってきた git checkout は機能が多すぎたため,機能を分割し git checkout の代替としてリリースされた.個人的…
Kubernetes の CronJob を使って Job を定期的に実行するときに,マニフェストに設定できるフィールド concurrencyPolicy と suspend を試す機会があった.振り返りながら整理しておく. kubernetes.io Concurrency Policy とは? CronJob では,例えば「ジ…
2020年3月に出版された「みんなでアジャイル」を読んだ.本書はアジャイルを「ムーブメント」と位置付けて,アジャイルの魅力を紐解く内容になっている.具体的なアジャイルフレームワークに特化せず,顧客中心主義やコラボレーションなど,アジャイルなスタ…
2月頃に Next.js を学ぶために Next.js Learn (Basic) を試した.詳しくは以下の記事にまとめてある. kakakakakku.hatenablog.com 今回はその続きと言える Next.js Learn (Excel) を試して学んだことをまとめる.Basic と比較すると,一歩踏み込んだレベル…
2020年1月に Leanpub で出版された「ghq handbook」を読んだ.本書は Leanpub で $4.99 から購入できる. leanpub.com リポジトリ管理を楽にするコマンドラインツール ghq 自体は前から知っていたけど,今までの運用(特定のディレクトリ直下にひたすら git …
git-config(~/.gitconfig など)に url.<base>.insteadOf もしくは url.<base>.pushInsteadOf を設定すると,Git リポジトリ URL(プロトコル含む)を書き換えることができる.例えば GitHub リポジトリを git pull するときは HTTPS URL を強制し,git push するときは</base></base>…
「継続的アウトプット」を意識して,毎週 kakakakakku blog を更新している.そして振り返りのためにブログに関係するメトリクスを取得している.もちろん Google Analytics も Google Search Console も使っているけど,Hatena Blog に関係するメトリクスも…
Jupyter Notebook を使ってデモ環境を作るときに while と print を組み合わせて,定期的に表示を更新したかった.例を出すと「時計のように」毎秒表示を更新するイメージとなる.調べたところ IPython.display モジュールに clear_output 関数があり,解決…
2012年に Heroku のエンジニアによって提唱された「The Twelve-Factor App」は素晴らしく,アプリケーションをうまく開発し,うまく運用するための「ベストプラクティス」として知られている.2020年になった現在でもよく引用されていると思う.日本語訳もあ…
マイクロサービスを実現するときに Envoy の「サーキットブレーカー (Circuit Breaking)」はよく話題に挙がる.Try Envoy には「サーキットブレーカー」を試すコンテンツがなく,今回ドキュメントを読みながら検証環境を構築し,動作確認をした.もし Try En…
前に Try Envoy で Envoy と Jaeger を組み合わせた「トレーシング」を試したときに,Envoy の設定ファイル envoy.yaml に generate_request_id: true を設定した.そのときは generate_request_id: true を設定すると Envoy が x-request-id ヘッダを自動的…
新機能ではないけど,Mackerel の「グラフアノテーション機能」は便利でよく使っている.メトリクスの推移を分析するときに,同じタイミングで発生したイベント情報(デプロイ/キャンペーン開始/テレビ放送など)と紐付けることができる.実際にアノテーシ…
Python で実装した処理のパフォーマンスを計測するときに,たまに timeit を使っている.timeit は処理を繰り返し実行することにより,精緻な計測結果を把握できる.今までは timeit を import して直接実行していたけど,よく調べてみると,Jupyter Noteboo…
MySQL 関連の検証をしたり,データベース未経験者に SQL を教えたりするときに,よく MySQL 公式の「world データベース」を使っている.「国と都市と言語」を対象にしたデータセットとなり,とても使いやすいと思う.例えば「Redash ハンズオン」でも使って…
MySQL(5.7 以降)で「JSON 型」のカラムから指定したキーを取得する場合 JSON_EXTRACT() を使う.もしくは JSON_EXTRACT() と同じ動作をする -> オペレータを使うこともできる.以下に members テーブルの info カラムから name キーを取得する SQL を載せ…
React を使ってプロトタイプを実装したりすることはあるけど,今まで Next.js を試したことがなかった.そろそろ入門しなければ!という危機感もあり,Next.js Learn (Basic) を一通り試してみた.入門する前と比較すると「Next.js でできること(基礎の基礎…
数日前から,突然 Karabiner で「command + クリック」の組み合わせが動かなくなってしまった.事象としては,Karabiner 単体ではなく,以下の「日本語環境設定 (Complex Modifications)」を使っている場合に起きていた.ただし,Mac で US 配列を使っている…
Mackerel の go-check-plugins で check-http を使うと,エンドポイントの「チェック監視」を設定できる.なお,単純に外形監視をする場合は,Mackerel の機能で「URL 外形監視」を使える.ただし,ローカルエンドポイントを対象にするなど,check-http を使…
2019年11月から Envoy の理解を深めるために,Envoy 公式の学習コンテンツ「Try Envoy」を試しながら,学んだことをブログにアウトプットしてきた.2020年1月末でやっと「ほぼ完走」することができたため,まとめ記事を書く.なお「Try Envoy」はどのコンテ…
今回は「Try Envoy」の「Implementing Metrics and Tracing Capabilities」を紹介する.Envoy を実戦投入するときには「モニタリング」や「トレーシング」など,関連する技術トピックも把握しておく必要があると思う.今回の「Implementing Metrics and Trac…
今回は「Try Envoy」の「Controlling load balancing policies」を紹介する.Envoy でサポートされている「ロードバランスポリシー」の種類を学べる.ただし,Weighted round robin の動作確認は期待通りに動かず,消化不良な感じになってしまった.個人的に…
既に1月後半になり,遅くなってしまったけど,毎年恒例の「振り返りと抱負」をまとめておこうと思う. 2019年の振り返り 幅広く技術を学べた 2019年の目標は「幅広く技術を語れるように学び続ける」としていた.未経験の技術は無限にあるし,苦手意識のある…
今回は「Try Envoy」の「Implementing Blue / Green Rollouts」を紹介する.Envoy でサポートされている様々なルーティング設定の中から「HTTP Header ベースルーティング」と「加重ラウンドロビン」を学べる. Implementing Blue / Green Rollouts 手順は以…
前回の記事から少し時間がたってしまったけど,Material-UI を使ったプロトタイプ開発を続けている.今回は GridList コンポーネントをサンプルコードを参考に実装しながら理解を深めていく.グリッドリストはフォトリストのようにコンテンツを並べる UI の…
OSS に送ったプルリクエストを振り返ろうと思う.プルリクエストの振り返りは2016年からしているけど,2019年は前半に多く送った背景もあり,既に「2019年(1-6月)」の期間で記事を書いている.今回は後半として「2019年(7-12月)」を振り返ろうと思う.後半の…
今回は「Try Envoy」の「Detecting Down Services with Health Checks」を紹介する.高可用性のために Envoy でサポートされている「ヘルスチェック (Health Checking)」と「外れ値検出 (Outlier Detection)」を学べる. Detecting Down Services with Healt…
「mdline」を使うと「タイムライン(年表)」を簡単に作れる.実装は必要なく,Markdown から HTML に変換できる.シチュエーションは限定的かもしれないけど,非常に面白く,試してみた! github.com Ruby Releases History 今回は mdline を試すサンプルと…
2019年11月に発売された「初めての GraphQL」を読んだ.1度ザッと読んだ後に,気になっていた Apollo Server と Apollo Client の実装を写経しながら理解を深めていたため,書評をまとめるのに少し遅れてしまった. タイトルに「初めての」とある通り,Graph…