kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

act: GitHub Actions のワークフローをローカル環境で実行する

GitHub Actions でワークフローを実行するときに git commit と git push を実行して GitHub Actions の実行を待つことがよくある.より迅速に実行して,結果を受け取るために「act」を使って GitHub Actions をローカル環境(コンテナ)で実行する仕組みを…

Calendly: Zapier を使って Notion と連携しよう

「Calendly」は多くのサービスとのインテグレーションをサポートしている."Professional" プラン以上で使える「Zapier インテグレーション」で連携すると,開発をすることなく(ノーコード)イベント駆動な仕組みを実装できる. Calendly を試しながら「ミ…

Calendly: 気軽に 1on1 を申し込もう

仕事に関係なく「話したいなぁ〜」と思った相手とのミーティング(1on1 / 壁打ち / 技術雑談など)を気軽に申し込めるサービス「Calendly」を紹介する❗️ちょっと前から気になってて,試してみたら便利でさっそく導入(テスト運用中)もしてみた.機能は限ら…

GitHub App「Pull Request Size」プルリクエストのサイズをラベル化しよう

GitHub App「Pull Request Size」を使うとプルリクエストの差分量から "サイズを意味する" ラベルを付けてくれて便利❗️やってることは単純だけど「このプルリクエストは大きすぎるな〜」という判断材料にも使える.個人アカウントなら無料なのも嬉しい✌️ git…

リアルなテストデータを作ってモック化までできる Mockaroo

リアルなテストデータを簡単に作ってモック化までできるサービス「Mockaroo」を紹介する❗️データベースのテストデータを作ったり,フロントエンドを実装するときに必要になるバックエンド API をモック化できる.テストデータに test や hoge という文字列を…

オンライン研修に悩むあなたへ /「オンライン研修ハンドブック」を読んだ

インストラクターとしてオンライン研修を担当しているなら必読とも言える「オンライン研修ハンドブック」を読んだ感想をまとめる.実は "2021年7月頃" に購入して1度読んでいたけど,書評記事はまだ書いていなかった.今さらながら実体験(インストラクター…

Playwright for Python: a タグの href 属性を取得する

Playwright for Python でリンクタグ a タグの href 属性から URL を取得するときは,Locator オブジェクトで get_attribute('href') のように実装する. page.locator('h1#title > a').get_attribute('href') page.locator('h1.entry-title > a').nth(0).ge…

GitHub Actions の「ワークフローの再利用」をプライベートリポジトリで使う

2022年12月のリリースで GitHub Actions の「reusable workflow(ワークフローの再利用)」をプライベートリポジトリでも使えるようになった❗️特に会社でプライベートリポジトリを使っている場合に便利で待望のアップデートだと思う.今まではプライベートリ…

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

2022年の振り返り 幅広く技術を語れるように学び続けた ⭕ 2019年から4年連続で「幅広く技術を語れるように学び続ける」を年間目標にしていて,今年もたくさん学び続けられたと思う.引き続き "自称" 意識高い系❗️まだ技術講師という仕事を続けているため,…

英語でメールやドキュメントをうまく書けるように / Coursera コース「Writing Professional Email and Memos」を受講した

2022年11月頃に Coursera コース「Writing Professional Email and Memos」を受講した.英語学習用のコースではないけど,日頃から英語メールや英語ドキュメントを書く機会があるため,ライティングスキルを伸ばすために受講してみた.2016年に作られたコー…

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

2016年から毎年 OSS に送ったプルリクエストを振り返る記事を書いている.2022年は「計6件」だった.2020年頃から件数は停滞している.今の仕事だとコードを書いて OSS にコントリビュートする機会はほとんどなく,貢献できていないことに残念さは感じる.プ…

SQL で JSON ファイルをお手軽に検索できる Columnq

SQL で JSON ファイルを検索したいなー!でも大袈裟な分析環境は構築したくないなー!って思うときってあるよね❓きっとあるはず〜あるある!今回はお手軽に JSON ファイルを SQL で検索できる「Columnq」を紹介する❗️Columnq は JSON 以外に CSV や Parquet …

GitHub の「エクスポート機能」でデータをバックアップする

GitHub にはアカウントデータを取得する「エクスポート機能」がある.リポジトリ情報だけではなく,issue 情報(コメント含む)やプルリクエスト情報(コメント含む)などもエクスポートできる.2018年12月にリリースされた機能だけど実は今まで使ったことが…

ウェブサービスのデータに所有権はあるのか / 論文「Local-first software: You own your data, in spite of the cloud」を読んだ

2019年に発表された論文「Local-first software: You own your data, in spite of the cloud」を読んだ.論文は Ink & Switch のウェブサイトや著者 Martin Kleppmann のウェブサイトに公開されている PDF で読める.本論文を読んで気になったことをまとめる…

parquet-cli で Parquet ファイルを読む

Parquet ファイルをサクッと読むときに parquet コマンドを使うと便利❗️ Homebrew なら brew install parquet-cli コマンドで簡単にセットアップできる.今回は最新 v1.12.3 を使う.そして parquet コマンドの実装は GitHub の apache/parquet-mr リポジト…

パフォーマンスメトリクスをクライアント側に返す HTTP ヘッダー "Server-Timing"

HTTP ヘッダーを使ってアプリケーションのパフォーマンスメトリクスをクライアント側に返す仕様「Server Timing」を調べながら試してみた.詳細な仕様は以下の W3C ドキュメントに載っている.ドキュメントの Introduction に載っているけど,今まではクライ…

Playwright for Python: GitHub Actions のエラー時にトレース情報を取得する

前回の記事では Playwright for Python の Trace Viewer を使って,ブラウザ操作中に「何が起きていたのか❓」を詳細に確認できることを紹介した(以下のリンク参照).さらに pytest 連携を使って,自動テスト実行中にトレース情報を取得できることも紹介し…

Playwright for Python: ブラウザ操作のデバッグが捗る Trace Viewer

Playwright for Python の Trace Viewer を使うと,ブラウザ操作中に「何が起きていたのか❓」を詳細に探索できる.スクリーンショットや録画だけでは判断できないようなエラーをデバッグするときに使える.また pytest と連携させると自動テスト実行中にトレ…

英語雑談を頑張ろう / Coursera コース「Small Talk & Conversational Vocabulary」を受講した

Coursera コース「Small Talk & Conversational Vocabulary」を受講した.とても些細なことだけど,僕にとってはとても "刺さる" 内容で刺激になった.コース紹介も兼ねてまとめておく❗️ちなみにコース自体は不完全になっていて,最後まで終えても「進行中」…

Textual がスゴイ!Python と CSS でストップウォッチアプリを作ってみた

Textual は Python を使って TUI (Text User Interfaces) アプリを構築できるフレームワークで,ドキュメントには "電卓" や "Color Picker" を実装したサンプルが載っている.アプリのデザインには CSS を使う.Python x CSS という技術スタックで,入門し…

「タニケイ式シャドーイング」本を使って3ヶ月間シャドーイングを続けてみた

英語学習で Speaking と Listening の苦手意識を改善したくて先輩に相談したら「シャドーイングをしよう❗️」とアドバイスをもらった.10年ほど前に(新卒入社した外資系 SIer で働いているとき)一瞬シャドーイングをやろうとしたことはあるけど,数日で挫折…

Playwright for Python: iPhone / iPad / Pixel のブラウザ操作を自動化する

Playwright for Python を使うと iPhone / iPad / Pixel などのデバイスを使ったブラウザ操作を自動化できる. ドキュメントに書いてある通り,playwright.devices の Dict(辞書)にデバイス名を設定して,browser.new_context() でコンテキストを作る.サ…

暫定対応 : Python 3.10 で python-pptx を使おうとすると collections で AttributeError が出てしまう

「python-pptx」は Python で Microsoft PowerPoint ファイルを操作できるライブラリでよく使っている❗️ github.com 最近 Python 3.10(今回の環境だと 3.10.8)で python-pptx を使おうと思ったら,以下のように AttributeError: module 'collections' has …

fukabori.fm (第84回) に出演して「技術の教え方」を語ってきた

技術系ポッドキャスト fukabori.fm (第84回) に出演した❗️ 2018年8月頃から4年間ほどインストラクター(技術講師)をしていて,今まで経験しながら獲得してきた "教える" ノウハウをできる限り「汎化して」話したつもり.キャラを隠しつつ真面目に語ってしま…

Canva の操作 Tips を学べる Coursera コースを受講してみた

2020年9月頃から Canva を使ってブログ記事のサムネイルを作っていて,特に今年は作る機会が増えている気がする.とは言え,僕自身はデザインに詳しくなく,配色すらもよくわからず「なんとなーく」作ってしまっている.専門知識がなくても簡単にサムネイル…

Playwright for Python: ブラウザ操作を録画する

Playwright for Python を使うとブラウザ操作を簡単に録画できる. ドキュメントに書いてある通り,browser.new_context() でコンテキストを作るときに以下の video 関連のパラメータを設定する.注意点は録画データを最後まで保存するために context.close(…

領域展開!DOMAIN EXPANSION🤞「『呪術廻戦』で英語を学ぶ!」を読んだ

2022年8月に発売された「『呪術廻戦』で英語を学ぶ!」を読んだ.呪術廻戦はとにかく好きで(単行本派で漫画もアニメも何周もしている),英語学習の気分転換にでも読もうと思って買ったら,そこそこに本格的な一冊で期待を上回る良書だった.収録されている…

UUID v6, v7, v8 : タイムスタンプでソートできる新しい UUID のドラフト仕様

ID を採番するときによく使われる UUID Version 4 の課題として「順序性がなくソートしにくい」という側面があり,ULID (Universally Unique Lexicographically Sortable Identifier) を使えばソートできるようになるという記事を前に書いた. kakakakakku.h…

インストラクターアンチパターン : オンライン研修での振る舞い編

仕事でインストラクター(技術講師とも言う)になって4年を超えた.また直近2年半ほどはオンライン研修(リモート研修とも言う)をしている.インストラクターはただスライドに書いてあることを喋るのではなく,教授戦略を練って,インストラクションデザイ…

究極の英単語 SVL「Vol.1 初級の 3000 語」と「Vol.2 中級の 3000 語」を読んだ

英単語学習(ボキャビル)をするためにアルクの「究極の英単語 SVL」を4冊購入して,2022年8月中旬から毎日コツコツ読み進めている.記事を書いている今は2022年10月末だけど,2022年9月末までの途中経過としてまとめる! SVL (Standard Vocabulary List) ま…