kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

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…

textlint で句読点をチェックする

ブログ記事も含めて文章を書くときに使う句読点は , と . に統一している.2006年頃から使っているからもう15年以上になる.macOS や Windows をセットアップするときに最初にデフォルト設定を変更するのも「句読点」だったりする.しかし,フォーマットが…

nbdime : 簡単に Jupyter Notebook の diff を取る

Jupyter Notebook を使っていると「バージョン管理がしにくい」と感じることがある.当然ながら Jupyter Notebook (.ipynb) は JSON なので diff を取ることはできるけど,Notebook 自体のメタデータも含まれてしまって見にくすぎる.今回はそんな課題を解消…

おすすめ!シンプルに使えるポモドーロタイマー「Tomato 2」

仕事や個人作業を進めるときに「ポモドーロ」を実践している.試行錯誤をしながら,もう7,8年は続けていると思う.2016年に紹介記事を書いていて,今も運用は大きく変わらないけど,タイマーアプリは「Tomato One」から「Tomato 2」に乗り換えている.今回は…

Scratchpad は便利!Jupyter Notebook で検証用のセルをシュッと追加する

Jupyter Notebook でコードを書いているときに「検証のために一時的にセルを追加してコードを書いて終わったらセルを消す」という操作を頻繁にしている(表現しにくいけど...).些細な操作ではあるけど地味に面倒だった. そこで「Scratchpad」を使ったら便…

Feature Engineering : Kaggle Courses で「特徴量エンジニアリング」を学ぶ

Kaggle が公開している「Kaggle Courses」で「Feature Engineering」コースを受講した.機械学習モデルを構築するときに重要になる「特徴量エンジニアリング」を多岐にわたる観点から学べる.「特徴量エンジニアリング」の目標は「データセットを目の前の問…

現場の視点で機械学習に必要な知識を学べる「仕事ではじめる機械学習 第2版」を読んだ

「仕事ではじめる機械学習 第2版」を読んだ.実は「第1版」を買ってずっと積読をしていたところに「第2版」が出たので書い直した書名に「仕事ではじめる」と書いてある通り,現場の視点で理解しておくべき「機械学習」の知識がまとまっていて良かった.そし…

train_test_split() の stratify パラメータを使って層化サンプリングをする

データセットを分割するときに scikit-learn の train_test_split() をよく使う.今回は train_test_split() に設定できる stratify パラメータを試す.stratify は「層化」という意味で「データセットの特性を考慮した分割」とも言える.特に「不均衡データ…

scikit-learn の Pipeline を使って前処理やアルゴリズムをまとめて宣言する

scikit-learn の Pipeline を使うと,データセットの前処理や機械学習アルゴリズムなどを「1つのオブジェクトに」まとめることができる. scikit-learn.org 前回の記事で紹介した「Kaggle Courses」の「Intermediate Machine Learning」コースでも使われてい…

Intermediate Machine Learning : Kaggle Courses で学びながら「住宅価格予測」コンペに参加する

Kaggle が公開している「Kaggle Courses」で「Intermediate Machine Learning」コースを受講した.Kaggle のコンペティション「Housing Prices Competition for Kaggle Learn Users(住宅価格予測)」をテーマに試行錯誤をして,実際にモデルを登録すること…

入門者でも挫折せずに読める!「機械学習図鑑」で "17種類" のアルゴリズムを学ぶ

「機械学習図鑑」を読んだので簡単にまとめる.正確には今年5月頃に読んでいたけど,まだ書評記事を書いてなかった まず前提として,本書を読んだときには僕は機械学習に詳しくなく入門者だった.機械学習に関連する書籍を何冊か買ってみたけど,そのときの…

小学生も楽しめる!Minecraft Hour of Code でプログラミング的思考を学ぶ

今年8月頃から Minecraft に今さらドハマリをして平日深夜や週末に時間を捻出しつつプレイをしている.そして娘と一緒にやるようにもなった.ふと Minecraft をテーマにしたプログラミング的思考を学ぶコンテンツはあるのかな?と思って調べてみたら「Hour o…

imbalanced-learn の SMOTE モジュールを使って簡単にオーバーサンプリングを実現する

分類などの機械学習モデルを構築するときにデータセットに偏り(不均衡データ)があると適切に学習できない可能性がある.データセットを強制的に増やす操作を「オーバーサンプリング」と言って,SMOTE (Synthetic Minority Over-sampling Technique) や ADA…

iris データセットを libsvm フォーマットにする : scikit-learn の dump_svmlight_file()

scikit-learn の datasets モジュールの中に libsvm フォーマットのデータセットを扱う関数がある.libsvm フォーマットは以下のフォーマットでデータセットを表現し,1番左にラベル(教師データ)を持つ.例えば Amazon SageMaker の組み込みアルゴリズム X…

Kubeval で kustomization.yaml を対象外にする

Kubeval で Kubernetes マニフェストを検査する場合に kustomize を使っていると,以下のように kustomization.yaml でエラーになってしまう.kustomization.yaml には kind フィールドがなく,Kubeval の対象外にしたい! $ kubeval --version Version: 0.1…

macOS のディスプレイ設定でメニューバー(通知欄)の位置を変えることができる

Mac

リモートワークに移行してから,以下のように大きく「2拠点(部屋)」で日々仕事をしている.それぞれの部屋で微妙に機材も違っていて,今回は Mac (macOS) のディスプレイ設定 Tips を紹介する. 通常業務 自宅 正面ディスプレイ : LG 27UL850-W 左側ディ…

kubectl や kube-apiserver など Kubernetes バイナリを checksum で検証する

以下のドキュメントを読んでいたら kubectl コマンド(バイナリファイル)をダウンロードした後に checksum を使って検証(改ざんなし)をする手順が載っていた.kubectl に限定する必要はなく kube-apiserver などにも適用できる.さっそく試していく! kub…

Helmfile で kustomize プロジェクトをデプロイする機能を試した

Helmfile のドキュメントを読んでいたら Advanced Features として「Deploy Kustomization with Helmfile(Helmfile で kustomize をデプロイする)」という機能が載っていた.最初はどういう意味?と疑問だったけど,簡単に言うと helmfile apply コマンド…