アプリなら、コメントが見やすい!
トップへ戻る
VTuber
kakakakakku.hatenablog.com
記述したテンプレートから YAML を生成するツール 「ytt」 を試す.ytt は YAML に対して「テンプレート機能」と「オーバーレイ機能」が使える.VMware 社を中心に開発されているツールセット Carvel に含まれている. carvel.dev YAML のテンプレート機能やオーバーレイ機能と言えば,特に Kubernetes の文脈だと Kustomize や Helm が代表的だと思う.ytt も似たように使えるけど Kubernetes に限らず「汎用的に使える」というメリットがある.他にはテンプレート構文を含めても「YAML フォーマットとしては valid のまま」という点もメリットに挙げられると思う.汎用的に使えるということは,例えば AWS CloudFormation テンプレートを生成することにも活用できる.ytt と関連ツールの違いは以下のドキュメントに
コンテナワークロードにおけるセキュリティ対策の理解を深めるため「Docker/Kubernetes 開発・運用のためのセキュリティ実践ガイド」を読んだ.実は本書は 2021年7月頃 に1度読み終わっていたけど,実際に気になった部分を試したり,CKS (Certified Kubernetes Security Specialist) を受験 しながら読み直していたら書評記事をまとめるのが遅れてしまった (;・∀・) 本書を読んで1番良かったと感じるのは「セキュリティに関して "知らなかったことに気付けた"」ことだと思う.苦手意識のあるセキュリティ領域に対して「視野を広げる」ことができた.本当に読んで良かったと思うし,何よりも「日本語で」読めることに感謝しかない!本書は 2020年2月 に出版されていて,Kubernetes 1.16.1 を前提にしていたり,ランタイムなども含めて多少のアッ
Kubernetes でコンテナワークロードの脅威検出として使える「Falco」に入門する.CNCF (Cloud Native Computing Foundation) で Incubating に位置しているプロジェクトで,今回は実際に Falco を使って Pod に対する操作(振る舞い)を検出したり,独自ルールを作る.Falco はコンテナに限らず,ホスト側のプロセスも監視できる. falco.org インストールをする 🦅 以下の検証環境を使う.ドキュメントに書いてある Ubuntu の手順をそのまま使って,ワーカーノードに簡単に Falco v0.31.1 をインストールできた.また Helm を使って Kubernetes 上に Falco を DaemonSet としてインストールをする選択肢もある.Falco は日本語ドキュメントがとても充実しててイイ✨ Kubern
最近「Monokle」を使っている.Monokle(モノクレ)は「Kubernetes マニフェスト用エディタ」とも言えるアプリで,2週間ほど使って操作にも慣れてきたので紹介する!macOS でも Windows でもアプリをダウンロードすればすぐに使えるぞ! github.com 機能 ☸️ Monokle の機能(できること)はドキュメントに載っている.機能は本当に多くて,継続的にリリースもされている.今回は代表的な機能を4点紹介する!Monokle v1.6.0 を前提にする.UI は日々変わるかも! マニフェスト操作 Kustomize 対応 Helm 対応 Kubernetes クラスタ統合 kubeshop.github.io 検証環境 ☸️ 今回はブログ記事用にサンプルマニフェストを管理するディレクトリを作った(非公開).すぐに試すなら普段仕事などで使っている GitHub
「Software Design 2022年4月号」を読んだ.本誌の第2特集「堂々と使える!人に教えられる!本質から学ぶ Git」に寄稿をされた id:syobochim に献本(ギフトコード)をもらったので第2特集を中心にまとめる.献本ありがとうございます! Software Design (ソフトウェアデザイン) 2022年04月号 [雑誌] 技術評論社Amazon 第2特集 目次 本特集は以下の4章から構成されている.基礎的な内容から実践的な内容まで幅広くまとまっている.ただ内容的には 1,2,4 章と 3 章で前提となる技術レベルが違う気もするので,初学者は 1,2,4 章を読んで,Git の内部まで興味があれば 3 章も読んでも良さそう. 第1章 : コミットの記録、リポジトリの状態確認のやり方 第2章 : ブランチやリモートリポジトリの扱い 第3章 : 本質から学ぶ git コ
2022年3月1日に β リリースになった「一般社団法人 Python エンジニア育成推進協会」の新試験「PythonZen & PEP 8 検定試験」に合格した💡現在まだ β だけど合格すると「本認定」になる.PythonZen (PEP 20 - The Zen of Python) と PEP 8 から出題されるため,どのように Python で「良いコード(良いとは何だろう?)」を書くかというお作法の理解を確認できる.試験とは言え,受験料は「無料」だし自宅で「24時間いつでも」受験できるから気軽に挑戦してみると良いんじゃないかと✌️ www.pythonic-exam.com プレスリリースを読んでいたら本試験をリリースした背景が載っていた.Python を知らない人が書いている書籍 や PythonZen や PEP 8 を知らない講師 と書いてあり,プログラミング教育界隈とし
プロダクトのロードマップを公開できるサービス「Roadmap.show」を試した! サービス自体はとてもシンプルで,例えば「機能 A は開発中だよ!」とか「機能 B は予定してるけどまだ未着手だよ!」という状況をユーザーに伝えることができる.以下の YouTube を見るとすぐわかる!最近は GitHub public roadmap など,全ては公開せずとも一部のロードマップを公開するプロダクトも増えていると思う. www.youtube.com 「Roadmap.show」の機能をザッとまとめてみた!基本的に無料で使えるけど,Premium プランに契約するとより大規模に使える. 機能状況を伝えることができる (In Progress / Planned / Roadmap / Done) In Progress の場合は「進捗度合い」を表示できる Planned と Roadmap
環境構築をせずにブラウザを使ってサクッと学ぶときによく Katacoda を使っている.過去には Envoy や Kubernetes を学ぶときにも Katacoda の学習コンテンツを使った.本当に便利なプラットフォームでお世話になっている👌 Katacoda - Interactive Learning Platform for Software Engineers Try Envoy を "ほぼ" 完走した - kakakakakku blog 2021年2-3月に CKAD と CKA を受験した / 受験 Tips と 勉強方法をまとめる - kakakakakku blog Katacoda で簡単に学習コンテンツを作れる! 最近個人的に「学習コンテンツ(ハンズオン)」を作る予定があり,手順書だけではなくサクッと試せる環境もあったら良いなぁーと思って調査をしていたら,Kat
気になっていた「Design It!」を読んだ.副題に「プログラマーのためのアーキテクティング入門」と書いてある通り,ソフトウェアのアーキテクチャをどのようにデザインするか?という観点で視野を広げられる1冊だった.読む前は「そもそもアーキテクチャというものは抽象度が高いし〜」とか「ソフトウェアによっても要件が違うから再現性も低そうだし〜」という懸念もあったけど,うまくまとまっていて読んで良かった!と思えている💡理論的な内容から Lionheart という具体的なシナリオ紹介もあった.また後半は「アーキテクトの道具箱」として,すぐに試せるアクティビティが多く紹介されていた. Design It! ―プログラマーのためのアーキテクティング入門 作者:Michael KeelingオライリージャパンAmazon 目次 本書は大きく「3部構成」になっている.本書における重要な用語などは序盤から出
GitHub の Co-authored-by(複数人によって実装されたコミットであることを表現する)を試した.OSS リポジトリのコミットログを眺めているときにたまーに見かけることはあったけど,今まで意識して使ったことはなかった.詳しくは以下のドキュメントとブログに載っている. docs.github.com github.blog 仕組み 仕組みは簡単で「コミットメッセージ」を複数行にして,以下のフォーマットを追加すると GitHub 側で認識してくれる. Co-authored-by: name <name@example.com> Co-authored-by: another-name <another-name@example.com> さっそく試す.今回は GitHub アカウント kakakakakku と検証用 GitHub アカウント kakakakakku-sandb
コードを書き換えず,フラグを使って機能を有効化するプラクティスを「Feature Flag(フィーチャーフラグ)」と言う.一般的に main ブランチ(もしくは master や trunk)は常にリリースできる状態にしておくため,並行開発のために feature ブランチを作る.しかし,開発が長期化すると main ブランチとの差が大きくなり,コンフリクトが起きて,ブランチ運用面での考慮が必要になる.あるある! Feature Flag を実現する選択肢は多くある.単純に if ステートメントや設定ファイルを使った「コードレベルでの制御」もできるし,高機能を求めるなら LaunchDarkly や Unleash や AWS AppConfig など「サービスレベルでの制御」もできる.最近は使ったことがなかった Unleash を試して記事を書いたりしていた. 高機能な Feature
2021年10月に Redash の最新バージョン「Redash v10.0.0」がリリースされた.そして現在は「Redash v10.1.0」まで出ている.また Redash 界隈ではよく知られた「正式リリースまで到達しなかった v9.0.0」という話もあり,実に2年振りの正式リリースとなる.Redash を使っている会社だとでは「v8 → v10」にアップデートする機会が多いと思う. バージョン リリース日 v9.0.0-beta 2020-06-11 リリース v10.0.0-beta 2021-06-16 リリース v10.0.0 2021-10-01 リリース v10.1.0 2021-11-23 リリース 今回は Change Log を確認しつつ,「個人的に気になった Redash v10.1.0 新機能と機能改善」を「計5点」紹介する.全ての変更点は以下に載っている. gi
「プロダクト・レッド・オーガニゼーション (The Product-Led Organization)」を読んだ.プロダクト主導型にプロダクトを伸ばしていくためのプラクティスを学べてとても刺激になった.僕自身は直近3年半ほど技術講師として仕事をしていて,前職などで携わってきた「プロダクト開発(BtoB / BtoC)」の現場から長く離れていることもあり,また戻りたくなった.本書は翻訳者である id:ykmc に献本をしてもらった.書評記事を書くのが遅れてしまって申し訳ない!そして,友人である 横道稔 の名前が表紙に載っていて素直に嬉しかった.出版おめでとう👏 プロダクト・レッド・オーガニゼーション 顧客と組織と成長をつなぐプロダクト主導型の構築 作者:トッド・オルソン日本能率協会マネジメントセンターAmazon 目次 本書を読んで素晴らしく感じたのは,ある意味「勘」や「暗黙知」に依存しや
2021年の振り返り 🎉 幅広く技術を語れるように学び続けた ⭕ 2019年から3年連続で「幅広く技術を語れるように学び続ける」を年間目標にしていた.直近3年ほど技術講師をしているため「教える」ことを軸に学ぶことが多く「語れる = 教えられる」という目標設定は自分自身に合っている.2021年も四半期ごとに以下の中目標を掲げていた. 1-3月 : Kubernetes を実践的に学ぶ 4-6月 : 機械学習に入門する 7-9月 : Kubernetes をセキュリティ観点で学ぶ 10-12月 : 機械学習を実践的に学ぶ 継続的にインプットをし続けて,後述するテックブログも中目標に沿って多く書けた.また「CKAD」や「CKA」や「Python 3 エンジニア認定データ分析試験」に合格するなど,マイルストーンも達成できた.でも「CKS」は準備時間が取れず受験できなかった.それでも2020年と比
Jupyter Notebook を使っていると「バージョン管理がしにくい」と感じることがある.当然ながら Jupyter Notebook (.ipynb) は JSON なので diff を取ることはできるけど,Notebook 自体のメタデータも含まれてしまって見にくすぎる.今回はそんな課題を解消できる nbdime (Jupyter Notebook Diff and Merge tools) を紹介する. github.com 導入する 詳細な手順はドキュメントに載っている.今回は以下のコマンドを使った.環境によっては依存する JupyterLab も必要になるかも. $ pip install nbdime $ pip install jupyterlab $ nbdime extensions --enable nbdime.readthedocs.io 導入後に Jupyt
「仕事ではじめる機械学習 第2版」を読んだ.実は「第1版」を買ってずっと積読をしていたところに「第2版」が出たので書い直した📖書名に「仕事ではじめる」と書いてある通り,現場の視点で理解しておくべき「機械学習」の知識がまとまっていて良かった.そして,本当に読みやすく挫折させないように工夫して書かれているのも素晴らしかった!読書メモを見返しながら書評記事をまとめる. 仕事ではじめる機械学習 第2版 作者:有賀 康顕,中山 心太,西林 孝オライリージャパンAmazon 目次 「第I部」では幅広く知識を学び「第II部」ではケーススタディから学ぶ.流れるように最後まで読み進めることができる.「第1版」と比較すると「MLOps」や「解釈性」など,重要なトピックが追加されているため,間違いなく「第2版」を読むべきだと思う. また本書を読んでいて個人的に感じたのは「関連するけど詳しくは扱わないトピック」
Helmfile のドキュメントを読んでいたら Advanced Features として「Deploy Kustomization with Helmfile(Helmfile で kustomize をデプロイする)」という機能が載っていた.最初はどういう意味?と疑問だったけど,簡単に言うと helmfile apply コマンドを使って kustomize プロジェクトをデプロイできる機能だった. 試したことをまとめていく! github.com Helmfile で kustomize をデプロイする ☸️ さっそく base/ と overlays/ から構成された通常の kustomize プロジェクトを準備する.今回は kakakakakku/sandbox-kustomize を使う.そして Helmfile の設定ファイルである helmfile.yaml を追加しておく
Kubernetes で Deployment を使うと Pod を安全にデプロイ(ロールアウト)できる.そのときに更新する Pod の割合として Max Unavailable と Max Surge という設定値があり,デフォルト値は以下のようにドキュメントに書いてある.今回は動作確認をしながら図解もしていく. Max Unavailable(停止状態になる最大 Pod 数) .spec.strategy.rollingUpdate.maxUnavailable デフォルト値 : 25%(小数点切り捨て) 値には 絶対値 or % を設定できる Max Surge(宣言した Pod 数を超えて作れる Pod 数) .spec.strategy.rollingUpdate.maxSurge デフォルト値 : 25%(小数点切り上げ) 値には 絶対値 or % を設定できる kuberne
2021年7月30日に Docker Blog に公開された以下の記事を参考に「Dockerfile で新しく使えるようになった構文 "heredocs"」を試す.Dockerfile で「ヒアドキュメント」を使うと,今まで RUN と && \ を組み合わせて複数コマンドを 1 レイヤーにまとめていた Tips を使わずにシュッと書けるようになる.なんと! www.docker.com なお RUN と && \ を組み合わせる Tips は Intro Guide to Dockerfile Best Practices で「Tip #3: Identify cacheable units such as apt-get update & install」として紹介されていたり,とてもよく知られていると思う. www.docker.com 検証用 Dockerfile 今回は以下のよう
seccomp (Secure computing mode) はプロセスに対してシステムコールを制限する Linux kernel の機能で,今回は「Docker と seccomp」を組み合わせて試す.ドキュメントは以下にある. docs.docker.com seccomp デフォルトプロファイル まず,Docker はデフォルトで seccomp をサポートしている.Docker (Moby) の GitHub リポジトリにデフォルトプロファイル default.json がある.プロファイルは長く感じるけど,比較的簡単に読める.基本的に SCMP_ACT_ERRNO(拒否) となり,ホワイトリストとして列挙したシステムコールを SCMP_ACT_ALLOW(許可) としている. moby/default.json at master · moby/moby · GitHub 基本
先週末に「Python 3 エンジニア認定データ分析試験」を受験して合格した🎉とても良い試験で,特に試験勉強をする過程で知識の幅が広がった.試験の認知度向上のためにも紹介したいと思う.当然ながら試験問題に関しては何も書かず,基本的に公開情報をベースにまとめていく! www.pythonic-exam.com 試験概要 : Python 3 エンジニア認定データ分析試験 📊 試験名にもある通り「Python 3 エンジニア認定データ分析試験」は Python を使った「データ分析」に関する理解を問う試験で「数学」や「Python ライブラリ」に関する出題が多くある.詳しくは以下に出題範囲を載せる. セクション 出題数 出題率 データエンジニアの役割 2 5.0% Python と環境 : 実行環境構築 1 2.5% Python と環境 : Python の基礎 3 7.5% Pytho
Pandas で groupby() 関数を使うと,データセットをグループ化して集計できる.さらに Grouper オブジェクトと組み合わせると,より高機能なグループ化を実現できる.今回は groupby() 関数と Grouper オブジェクトを組み合わせて「時系列データの集計」を試す.最後に関連する resample() 関数も試す. pandas.DataFrame.groupby — pandas 1.2.4 documentation pandas.Grouper — pandas 1.2.4 documentation データセット 🪢 今回使うサンプルデータセットを準備する.まず,Pandas の date_range() 関数を使って 2020/1/1 ~ 2020/12/31 の範囲で1年間の DatetimeIndex を作る.そして DatetimeIndex をイ
NumPy で「n次元配列」を「1次元配列」に変換するときに ravel() 関数と flatten() 関数がサポートされている.ravel() 関数に関しては,正確には numpy.ravel() 関数と numpy.ndarray.ravel() 関数がある.それぞれの違いを整理するためにドキュメントを読みながら試してみた.今回は Numpy 1.20.2 を前提にする. numpy.ravel — NumPy v1.20 Manual numpy.ndarray.ravel — NumPy v1.20 Manual numpy.ndarray.flatten — NumPy v1.20 Manual 簡単に違いを整理しておくと,ravel() 関数は基本的には「参照」を返して,flatten() 関数は「コピー」を返す.パフォーマンスにも差がある.個人的には flatten という
Jupyter Notebook で Pandas のコードを実装しているときに同じような表示関連設定を繰り返し使うため,メモも兼ねてまとめておく.オプションは他にも多くあり,詳細はドキュメントに載っている.今回は Python 3.9 と Pandas 1.2.4 を前提とする. pandas.pydata.org オプション一覧を取得する 🎯 まず,Pandas では options でオプション一覧(名前空間)を取得できる.例えば display など.また options.display でオプション一覧(display 名前空間)を取得できる.例えば chop_threshold や colheader_justify など多くある. dir(pd.options) # ['compute', 'display', 'io', 'mode', 'plotting'] dir(p
個人で使っている Git リポジトリ(GitHub リポジトリ)の中に「複数ブランチを並行して操作する頻度が高いリポジトリ」がある.例えば,以下のように「4個」のブランチがあり,どれも操作する可能性がある場合など.今までは頻繁にコミット(git commit コマンド)をしてからブランチを切り替えたり,一時的に退避(git stash コマンド)をしていたけど,頻度が高くなると少し面倒だった. master or main ブランチ branch-a ブランチ branch-b ブランチ branch-c ブランチ git-worktree(git worktree コマンド) 操作を改善するために調べたところ「git-worktree」という機能があった.今まで知らなかった!そして Git 2.5(2015年7月リリース)から使える機能だった📣「git-worktree(git wor
機械学習コンペティションを開催する Kaggle のサイトを見ていたら「Kaggle Courses」という「学習コンテンツ」が公開されていて,Python や SQL や 機械学習など様々なトピックを学べるようになっていた.なんと無料💰現時点でコースは「計17種類」もある.今回は今まで何となく使っていた「Pandas」を学ぶコースを受講してみた.Pandas 未経験者や Pandas の基本的な機能を一通り学びたい人におすすめ👌 www.kaggle.com アジェンダ 📊 Pandas コースは「計6個」のレッスンから構成されていて,Pandas の基礎(DataFrame と Series)から,Pandas でのデータ取得や欠損値の取り扱いまで幅広く学べる.そして,一歩一歩「歩幅を小さく」学べるため,理解できずに挫折することなく進められる点も素晴らしい! Creating,
最近 MacBook Pro を新しく移行をしたときに,個人的に必須な「スクリーンショット」関連の設定をした.頻度は低くても毎回調べていたので,今さらながらまとめておく.大きく3点ある! 1. 画面右下に表示されるサムネイルを無効化する デフォルト設定だと「スクリーンショット」を取得すると画面右下に数秒サムネイルが表示される.とても邪魔なので無効化する.なお「スクリーンショット」アプリケーションから設定する場合は「オプション」→「フローティングサムネールを表示」を OFF にすれば OK! $ defaults write com.apple.screencapture show-thumbnail -bool FALSE 2. 影を無効化する デフォルト設定だと「スクリーンショット」に影が付いてしまう.ブログに画像を添付するときに邪魔だし,画像サイズ(縦横)も微妙に増えてしまうため,無効
2021年2-3月に Kubernetes の資格 CKAD (Certified Kubernetes Application Developer) と CKA (Certified Kubernetes Administrator) を受験した.3年後に更新をするであろう自分のためにも勉強方法をまとめておく.当たり前だけど,出題に関する内容は書かず,受験 Tips と勉強方法にフォーカスする.なお,試験情報は以下に載っている.一言でまとめると「勉強過程も試験本番もとにかく楽しかったー🙌」かな! www.cncf.io www.cncf.io カリキュラム(出題範囲)は GitHub に PDF として公開されている. CKAD (Certified Kubernetes Application Developer) 13% - Core Concepts 10% - Multi-Co
GitHub に公開されている「Kubernetes Network Policy Recipes」を使うと,Kubernetes の Network Policy をわかりやすく学べる.現時点だと「計14種類」の Network Policy レシピ(サンプル)が載っていて,実際に使う機会がありそうな設定も多くて参考になる.さらに Network Policy の YAML を読むだけだとイメージしにくかったりする Ingress と Egress や Allow と Deny の関係性も図解されているのも素晴らしい! github.com レシピ一覧 現時点で公開されているレシピをまとめる.日本語訳は参考程度に載せておく! ✅ Basics DENY all traffic to an application(アプリケーションへの全てのトラフィックを拒否する) LIMIT traffi
次のページ
このページを最初にブックマークしてみませんか?
『kakakakakku blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く