kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

kubecolor を使って kubectl の実行結果を色付けしよう

kubecolor コマンドを使うと kubectl コマンドの実行結果を色付けして読みやすくできる.kubectl コマンドの実行結果は基本的に白黒なので,リソース数が多かったり,例えば -o wide オプションを使って表示項目を増やしたりすると,読みにくくなることもあ…

kubectl-neat を使って Kubernetes のマニフェストをスッキリ表示する

「kubectl-neat(kubectl neat コマンド)」を使うと Kubernetes のマニフェストから「冗長な」情報を削除して表示できる.知っておくと便利!GitHub リポジトリの README.md を読むと「メタデータ」や「デフォルト設定」や「Admission Controllers によって…

「あのサービスに似たサービス」を探せる AlternativeTo

「AlternativeTo」を使うと「あのサービス(ツール)に似たサービス(ツール)」を探せる.有名な Product Hunt にも Alternative products という機能があって似ているけど,「AlternativeTo」はサービスだけではなくツールも多く登録されている.個人的に…

3年間続けた「ブログメンタリング」の振り返りと2021年の方向性

2017年12月から「ブログメンタリング」という個人活動を続けて「3年間」になった.ブログメンタリングを簡単に表現すると「技術ブログに悩んでいる人の悩みを解消する 1 on 1」と言える.ブログメンタリング内容などの詳細は,2019年6月に DevLOVE X で登壇…

n8n.io 入門 : IFTTT のようなワークフローを構築しよう

「n8n.io」を使うと GitHub / Slack / Google Sheets など多くのサービス(ドキュメントを見ると 240 以上もインテグレーションできる!)を組み合わせて自由に「ワークフロー」を構築できる.関連サービスで言えば IFTTT のような感じ!例えば IFTTT Pro に…

2020年の振り返りと2021年の抱負

2020年の振り返り 幅広く技術を語れるように学び続けた 2019年から継続して,2020年も「幅広く技術を語れるように学び続ける」を目標に掲げていた.目標としては定量的に評価できないし,無限にある技術領域の全てを学ぶことはできないけど,1年前に理解で…

iTerm2 上でコマンドを組み立てられる新機能「Composer」を試した

2020年11月にリリースされた「iTerm2 v3.4」に追加された新機能「Composer」を使うと「iTerm2 上でコマンドを組み立ててから」実行できるようになる.例えば,ワークショップを試すときに <ここを修正> や <REPLACE> や {id} など,実行するコマンドの中に含まれてい</replace>…

Pod に「優先度」を設定できる PriorityClass と Non-preempting 機能を試した

Kubernetes の「PriorityClass」を使うと Pod に優先度(プライオリティ)を設定できる.例えば,通常 Pod を起動するために必要なリソースを確保できない場合は Pending になるけど,そういう場合でも優先的に起動できるようになる.逆に「優先度を低くした…

2020年のプルリクエストを振り返る

2016年から毎年 OSS に送ったプルリクエストを振り返る記事を書いている.2019年と比較すると,2020年は大きく減って「計4件」だった.GitHub は毎日のように使っているし,多くあるプライベートリポジトリに定期的にコミットもしているけど,OSS への貢献に…

nginxdemos/nginx-hello イメージを使うと簡単に「コンテナ ID」を確認できる

コンテナを複数起動して,ロードバランサーなどを使って「期待通りに振り分けできているよ!」という挙動をデモで見せたいときがある.実際に最近あった.例えば nginx:alpine イメージを使うと,全て同じ index.html から Welcome to nginx! とレスポンスを…

python-docx を使って Python でリッチな Word ドキュメントを作る

python-docx を使うと Python で Word ドキュメントを操作できる.新しく Word ドキュメントを作ることもできるし,既存の Word ドキュメントから文章を抽出することもできる.前に紹介した python-pptx と関連している.最近 PowerPoint の文章を Word に繰…

python-pptx で PowerPoint の「非表示スライド」を判定する

Python で PowerPoint を操作するライブラリ python-pptx は本当に便利で,前に「発表者ノート」を抽出するサンプルコードを紹介したけど,引き続き今も使っている.PowerPoint ファイルの文章レビューを自動化したり,業務で使うスクリプトも増えてきた.作…

DevOps Topologies : DevOps 文化を築くベストプラクティスな組織構造とは

DevOps 文化を築くときに知っておくと便利なサイト「DevOps Topologies」を読んだ.「アンチパターン = DevOps Anti-Types」な組織構造(計7種類)と「ベストプラクティス = DevOps Team Topologies」な組織構造(計9種類)が紹介されている.サイトではそれ…

「5分あったらやること」をリストアップしよう /『「ひとり会議」の教科書』を読んだ

書籍名に惹かれて『1日10分であらゆる問題がスッキリする「ひとり会議」の教科書』を読んだ.「ひとり会議」とは「積極的にテーマを持って自分に質問を投げかける場」のことで,簡単な「セルフコーチング」と表現しても良さそう. 僕自身,平日は朝イチに「…

複数ユーザーでも簡単に画面共有ができる「Screego」を試した

リモートで働くことが増えたであろう今年は「画面共有」を使う機会も増えたと思う.例えば,ミーティング中に資料を投影したり,リモートペアプロ(モブプロ)をしたり.僕自身は技術講師として,演習中にトラブルになっているお客様の問題解決をするときに…

簡単にできる!macOS で PDF を結合する Tips

Mac

macOS のデフォルト機能で簡単に「PDF を結合する」Tips を「3種類」紹介する.以下の3世代で動作確認をした. macOS Mojave macOS Catalina macOS Big Sur 1.「プレビュー」アプリを使う 特定のページを選択して結合したいときに! PDF を「プレビュー」ア…

Docker Compose で複数コンテナの準備完了を TCP / HTTP で待機できる「dockerize」を試した

Docker Compose を使って複数コンテナを起動するときに,タイミングによっては接続エラーになってしまう場合がある.具体的な例としては「データベースコンテナ」の起動が遅いために「アプリケーションコンテナ」が接続エラーになってしまうことが挙げられる…

よく使う "hub" コマンドを調べて "gh" コマンドに移行した

最近まで GitHub リポジトリを操作するときに ghq コマンドと hub コマンドを使っていた.リポジトリを git clone したり ~/ghq 直下のディレクトリに移動する場合に ghq コマンドと peco を使って,その他の操作は hub コマンドと git コマンドを使っていた…

Secret を暗号化して Git 管理を可能にする「Sealed Secrets」を試した

Kubernetes で設定値や機密情報を管理する場合,ConfigMap と Secret が代表的な選択肢として挙げられる.しかし Secret は暗号化ではなく Base64 でエンコードをする仕様になっているため,Git リポジトリで直接マニフェストを管理できないという懸念点があ…

Mac でターミナル操作をレコーディングしてシュッと公開できる「asciinema」

Mac で「ターミナル操作」をレコーディングしたくなる場面がある.ブログに載せたり,GitHub リポジトリの README.md に載せたり,プレゼンテーションでデモを行う場合のバックアップ用途として使ったりする.今までは Terminalizer や ttyrec + ttygif を使…

モノリス分割はこうやる!「How to break a Monolith into Microservices」を読んだ

研修中に「マイクロサービス」の解説をしていると,たまに「モノリス分割」に関する質問が出てディスカッションをすることがある.当然ながら万能な分割アプローチはないけど,例えば DDD (Domain-driven design) などのアプローチを選択するなど,選択肢は…

Argo CD に入門するために「Getting Started」をカスタマイズしながら試した

今回は Argo CD に入門するためにドキュメントに載っている「Getting Started」を試す.任意の Kubernetes クラスターに Argo CD をセットアップして,アプリケーションのデプロイを体験できる.また Argo CD UI を使った画面操作も体験できる.しかし GitOp…

Kubernetes を網羅的に学ぶなら「Kubernetes 完全ガイド 第2版」を読むべし

「Kubernetes 完全ガイド 第2版」を読んだ.今年6月に「第1版」を読み終わって,書評記事を書こうと思っていたら,タイミング良く今年8月に「第2版」が出版された.出版おめでとうございます!最初は目次を見ながら差分を中心に読んでいたけど,大幅にアップ…

kind を使って Feature Gates を有効化した Kubernetes クラスターを構築する

Mac のローカル環境で Kubernetes の検証をするときに,お手軽な Docker Desktop for Mac "Edge" を使っている.Feature Gates を有効化した Kubernetes クラスターで検証をするときは minikube に --feature-gates オプションを指定して使うこともある. Do…

入門から実践まで CircleCI のノウハウが凝縮された「CircleCI 実践入門」を読んだ

9月に出版された「CircleCI 実践入門」を読んだ.素晴らしかった!なぜ CI/CD が必要なのか?という背景から,CircleCI 入門,CircleCI 実践まで,網羅的に解説されている.ボリュームは多く,読みごたえはあるけど,必要な箇所から読むこともできる.また「…

「Slack Orb」を使って CircleCI から Slack に通知する

CircleCI のジョブ結果を Slack に通知する場合,今までは CircleCI の Webhook と Slack の Incoming WebHooks を組み合わせて実現していた.最近読んでいる「CircleCI 実践入門」に「Slack Orb」を使う方法が載っていたので,プライベートで使っている Git…

2年間も積読していた「スタンフォード式 最高の睡眠」を読んだら朝スッキリと起きられるようになった

8月に「スタンフォード式 最高の睡眠」を読んだ.今さら?と思われるかもしれないし,僕が「睡眠」に興味を持っていることに驚かれるかもしれない.本書は「2017年2月」に出版されていて,友人に「読んでみたら?」と薦められたこともあり「2018年8月」に購…

Brewfile で Homebrew のライブラリを管理しよう!

Mac

Homebrew で Mac の環境構築をする機会は多いと思う.ライブラリをインストールするときに brew install xxx と実行すればすぐに使える.ただし,Mac を移行したり,再インストールするときに brew install を再実行するのは面倒で,今回は Homebrew Bundle …

Flux と kustomize を組み合わせた GitOps 入門チュートリアル「Using Flux with Kustomize」を試した

昨日の記事では GitOps に入門できる Flux のチュートリアル「Get started with Flux」を紹介した.次は Flux と kustomize を組み合わせて,ベースマニフェストに対して環境ごとに異なる設定値を適用する流れを学んでいく. kakakakakku.hatenablog.com チ…

Flux を使った GitOps 入門チュートリアル「Get started with Flux」を試した

最近よく聞くようになった「GitOps」というデリバリ戦略があり,Single Source of Truth として Git を採用し,Kubernetes リソースなどを継続的にデリバリーしていく.GitOps では,直接 kubectl などを実行せず,例えば GitOps Operator などを使って,Ope…