kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

kubelet が他ノードのラベルを操作しないように制限できる NodeRestriction を試した

Kubernetes で有効化できる Admission Plugin である「NodeRestriction」の動作確認をした.簡単にまとめておく! 「NodeRestriction」は kubelet に対して Node / Pod の操作範囲を制限できる.具体例を挙げると kubelet によるラベル操作を自ノードに制限…

Re:VIEW で textlint-filter-rule-comments を使う

textlint で textlint-filter-rule-comments を使うとコメント記法で「特定のルールを無視する」範囲を設定できる. github.com しかし textlint-plugin-review と組み合わせて Re:VIEW で textlint-filter-rule-comments を使う場合は ではなく #@# という…

Kubernetes と AppArmor を組み合わせてファイル操作を制限する

AppArmor (Application Armor) とは Linux Security Modules の1つで,プログラムに対して「ファイル操作」や「マウント操作」などを制限する.詳しくは以下のドキュメントに載っている. ubuntu.com コンテナワークロードのセキュリティ対策として,AppArmo…

便利な Kubernetes マニフェスト用エディタ「Monokle」

最近「Monokle」を使っている.Monokle(モノクレ)は「Kubernetes マニフェスト用エディタ」とも言えるアプリで,2週間ほど使って操作にも慣れてきたので紹介する!macOS でも Windows でもアプリをダウンロードすればすぐに使えるぞ! github.com 機能 ☸️ …

Software Design 2022年4月号の特集「本質から学ぶ Git」を読んだ

「Software Design 2022年4月号」を読んだ.本誌の第2特集「堂々と使える!人に教えられる!本質から学ぶ Git」に寄稿をされた id:syobochim に献本(ギフトコード)をもらったので第2特集を中心にまとめる.献本ありがとうございます! Software Design (ソ…

Descheduler for Kubernetes : 戦略に違反する Pod を他のノードに移動する

Kubernetes を使っていると,運用面で起動中の Pod を他のノードに移動(再スケジューリング)したくなる場面がある.以下に具体的な例を挙げる.理由としては,Kubernetes では kube-scheduler によって Pod を起動する前にノードが決まる仕組み(スケジュ…

Pod Topology Spread Constraints : Pod を Multi AZ 配置する

Kubernetes で「Pod Topology Spread Constraints」を使うと Pod をスケジューリングするときの制約条件を柔軟に設定できる.今回は Zone Spread (Multi AZ) を試す!詳しくは以下のドキュメントに載っている! kubernetes.io spec.topologySpreadConstraint…

Pandas で NDJSON (.jsonl) を読み込む

Pandas で NDJSON (Newline Delimited JSON) を読み込む場合 read_json() 関数に lines=True パラメータを設定すれば OK! pandas.pydata.org NDJSON サンプル dataset.jsonl { "id": 1, "name": "Alice" } { "id": 2, "name": "Bob" } { "id": 3, "name": "…

Airflow : SlackAPIPostOperator と SqsPublishOperator に入門する

前回の記事では Airflow 検証環境にプリセットされている DAG を使って BashOperator と PythonOperator と BranchPythonOperator を試した.今回は新しく DAG を作りつつ,気になる他のオペレーターを試す. kakakakakku.hatenablog.com SlackAPIPostOperat…

無料で受験できる Python 新試験「PythonZen & PEP 8 検定試験」に合格した

2022年3月1日に β リリースになった「一般社団法人 Python エンジニア育成推進協会」の新試験「PythonZen & PEP 8 検定試験」に合格した現在まだ β だけど合格すると「本認定」になる.PythonZen (PEP 20 - The Zen of Python) と PEP 8 から出題されるため…

プロダクトのロードマップを公開できるサービス「Roadmap.show」を試した

プロダクトのロードマップを公開できるサービス「Roadmap.show」を試した! サービス自体はとてもシンプルで,例えば「機能 A は開発中だよ!」とか「機能 B は予定してるけどまだ未着手だよ!」という状況をユーザーに伝えることができる.以下の YouTube …

Airflow : PythonOperator と BranchPythonOperator に入門する

前回の記事では Airflow 検証環境を使って「Airflow Tutorial」を進めた.BashOperator を使った基本的な DAG を理解できるようになった!今回はプリセットされている他の DAG を使って BashOperator と PythonOperator と BranchPythonOperator を試す. ka…

Airflow : Tutorial を使って Python で実装された DAG の基礎を学ぶ

前回の記事で構築した Airflow 検証環境を使って「Airflow Tutorial」を進めていく!今回紹介する「Airflow Tutorial」は本当によくできてて,Airflow の基本的な仕組みや操作を学べる.そして Python で実装された DAG も読めるようになる.どの項目も丁寧…

Airflow : Docker で検証環境を構築して画面と CLI と REST API で操作する

ワークフローを管理するソフトウェア「Apache Airflow」に入門する.今までは本当にザッと試した程度の経験しかなく,テックブログに記事を書いたことすらなかった.幅広くある機能を試しながら学習ログを記事にしていく.今回は Airflow の検証環境を構築し…

「なぜシブヤの小学2年生はタブレットを使いこなせるのか?」を読んだ

書籍タイトルに興味を持って「なぜシブヤの小学2年生はタブレットを使いこなせるのか?」を読んだ.去年10月に出版された.ICT(情報通信技術)時代における小中学校での「タブレット導入」ドラマを生々しく読めて良かった. 第1章 : ICT 時代の到来。校長は…

Redash v10 を試そう!「Redash ハンズオン資料」v10 をリリースした

Redash ハンズオン資料 v10 リリース 2017年に公開をしてから Redash のリリースに合わせて継続的に更新をしてきた「Redash ハンズオン資料 (redash-hands-on)」を「Redash v10.1.0」に対応させた.お待たせしました!数年前ほどではなくても,現在もそこそ…

Katacoda を使って学習コンテンツを作ろう : Syntax 編

引き続き Katacoda を使って学習コンテンツを作る機能を試していく.今回は4記事目となり「Syntax(構文)」を詳しく調べる.過去3記事も合わせて読んでもらえればと!連載は今回で終了 kakakakakku.hatenablog.com kakakakakku.hatenablog.com kakakakakku.…

Katacoda を使って学習コンテンツを作ろう : Layouts 編

引き続き Katacoda を使って学習コンテンツを作る機能を試していく.今回は3記事目となり「Layouts(レイアウト)」を詳しく調べる.過去2記事も合わせて読んでもらえればと! kakakakakku.hatenablog.com kakakakakku.hatenablog.com Layouts(レイアウト)…

Katacoda を使って学習コンテンツを作ろう : Enviroments 編

前回の記事では Katacoda を使って学習コンテンツを作る手順をまとめた.今回は「Environments(環境)」を詳しく調べる. kakakakakku.hatenablog.com Environments(環境) 以下のドキュメントに載っている通り,多くの環境を使える.代表的な環境を載せる…

Katacoda を使って学習コンテンツを作ろう

環境構築をせずにブラウザを使ってサクッと学ぶときによく Katacoda を使っている.過去には Envoy や Kubernetes を学ぶときにも Katacoda の学習コンテンツを使った.本当に便利なプラットフォームでお世話になっている Katacoda - Interactive Learning P…

アーキテクチャをどのようにデザインするのか /「Design It!」を読んだ

気になっていた「Design It!」を読んだ.副題に「プログラマーのためのアーキテクティング入門」と書いてある通り,ソフトウェアのアーキテクチャをどのようにデザインするか?という観点で視野を広げられる1冊だった.読む前は「そもそもアーキテクチャとい…

GitHub の "Co-authored-by" をモブプログラミングに使う

GitHub の Co-authored-by(複数人によって実装されたコミットであることを表現する)を試した.OSS リポジトリのコミットログを眺めているときにたまーに見かけることはあったけど,今まで意識して使ったことはなかった.詳しくは以下のドキュメントとブロ…

フィーチャーフラグにはタイプ(リリース・実験・運用・許可)がある!

コードを書き換えず,フラグを使って機能を有効化するプラクティスを「Feature Flag(フィーチャーフラグ)」と言う.一般的に main ブランチ(もしくは master や trunk)は常にリリースできる状態にしておくため,並行開発のために feature ブランチを作る…

「Redash v10.1.0」で気になった新機能と機能改善

2021年10月に Redash の最新バージョン「Redash v10.0.0」がリリースされた.そして現在は「Redash v10.1.0」まで出ている.また Redash 界隈ではよく知られた「正式リリースまで到達しなかった v9.0.0」という話もあり,実に2年振りの正式リリースとなる.R…

プロダクト主導型組織を目指そう /「プロダクト・レッド・オーガニゼーション」を読んだ

「プロダクト・レッド・オーガニゼーション (The Product-Led Organization)」を読んだ.プロダクト主導型にプロダクトを伸ばしていくためのプラクティスを学べてとても刺激になった.僕自身は直近3年半ほど技術講師として仕事をしていて,前職などで携わっ…

高機能な Feature Flag サービス「Unleash」の React SDK を試した

引き続き Feature Flag を実現するサービス「Unleash」を試していく.これまで「Unleash デモ」と「Unleash Ruby SDK(サーバサイド SDK)」を試して以下の記事にまとめてある.今回は「Unleash React Proxy SDK(フロントエンド SDK)」を試す. kakakakakk…

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

2021年の振り返り 幅広く技術を語れるように学び続けた ⭕ 2019年から3年連続で「幅広く技術を語れるように学び続ける」を年間目標にしていた.直近3年ほど技術講師をしているため「教える」ことを軸に学ぶことが多く「語れる = 教えられる」という目標設定…

高機能な Feature Flag サービス「Unleash」の Ruby SDK を試した

引き続き Feature Flag を実現するサービス「Unleash」を試していく.今回は Unleash server を構築して,実際に Unleash SDKs を使ってコードを書いていく.前回デモを試した記事は以下にある. kakakakakku.hatenablog.com Unleash server を構築する 「Un…

高機能な Feature Flag サービス「Unleash」のデモを試した

コードを書き換えず,フラグを使って機能を有効化するプラクティスを「Feature Flag(もしくは Feature Toggle)」と言う.Feature Flag を実現するサービスとして「Unleash」があり,単純に機能を有効化するだけではなく,有効化する条件を設定したり,カナ…

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

2016年から毎年 OSS に送ったプルリクエストを振り返る記事を書いている.2021年は「計4件」だった.コードを書く機会がとにかく減っていることに関係するけど,2020年と同じ件数だった.プライベートリポジトリには毎週のようにコミットをしているため,Git…