kakakakakku blog

Weekly Tech Blog: Keep on Learning!

2022-01-01から1年間の記事一覧

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) ま…

Playwright for Python: ブラウザ操作を自動化しよう!

ブラウザ操作を自動化して,E2E (End to End) テストやスクレイピングをするときに使えるライブラリ Playwright を試す.Playwright の特徴としてまず「クロスブラウザ」があり,Chromium / Firefox / WebKit をサポートしている.また「複数言語」という特…

英語学習のモチベーションを高めよう /「村上式シンプル英語勉強法」を読み直した

2022年8月に「村上式シンプル英語勉強法」を読み直した.Amazon の購入履歴を見るとなんと2012年(新卒で入社した外資系 SIer に在籍しているとき)に購入していた!当時読んだ記憶はもう薄れているけど,10年たって改めて読み直した❗️って今だと Kindle で …

ソートできるユニークな ID を ULID で採番する

ユニークな ID を採番するときに UUID (Universally Unique Identifier) v4 を使う場面は多いと思う.しかし要件によっては UUID だと「順序性がなくソートしにくい」という側面もあったりする.今回はユニーク性を維持しつつミリ秒精度でソートできる ULID …

Google Sheets で条件付き書式を使って「今日 / 週末 / 祝日」に背景色を設定する

最近(2022年8月頃)から新しく習慣化に取り組んでいることがあって Google Sheets に数値を記録している.そのときに Google Sheets で以下の画像のように「背景色」を設定している.設定するときに Microsoft Excel でも Google Sheets でも「条件付き書式…

多くのデータベースに対応したマイグレーションツール migrate を MySQL で試した

データベースのマイグレーションを行うツール migrate を試した.migrate は MySQL / MariaDB / PostgreSQL / Amazon Redshift / MongoDB / Cassandra など,多くのデータベースに対応している.GitHub リポジトリを見るともっと多くのデータベースに対応し…

脳波で評価するペアプロとモブプロの効果とは / 論文「Comparing Participants’ Brainwaves During Solo, Pair, and Mob Programming」

2021年に XP 2021 で発表された論文「Comparing Participants’ Brainwaves During Solo, Pair, and Mob Programming(意訳 : ソロ・ペア・モブプログラミング中の参加者の脳波の比較)」を読んだ.早稲田大学の論文だった.ソロプログラミング(1人)/ ペア…

モブプログラミングの導入実験から得られたプラクティス / 論文「Mob Programming: Find Fun Faster」を読んだ

2016年に発表された論文「Mob Programming: Find Fun Faster」を読んだ.調べると「モブプログラミング」に関連する論文も多くあって,気になった論文から読んでいる.本論文ではモブプログラミングを導入するという「実験」を通して得られたプラクティスを…

プログラミングの講義をうまく行う 10 Tips / 論文「Ten quick tips for delivering programming lessons」を読んだ

2019年に発表された論文「Ten quick tips for delivering programming lessons(意訳 : プログラミングの講義を行うための簡単な 10 Tips)」を読んだ.僕自身のキャリアとして「今まで」も「今後」もプログラミングを教える機会は多く,今までの教授戦略を…

使いたい API がきっと見つかる!public-apis リポジトリ

フロントエンドのプロトタイプ実装をするときや API を使ったアプリケーションを実装するときなど「ササッと使える API があると便利なんだけどー!」という場面はよくある!本当によくある.今回紹介する GitHub の public-apis リポジトリは,2022年8月時…

プログラミングを上手に教える 10 Tips / 論文「Ten quick tips for teaching programming」を読んだ

2018年に発表された論文「Ten quick tips for teaching programming(意訳 : プログラミングを教えるための簡単な 10 Tips)」を読んだ.直近は技術講師(インストラクター)として4年間ほどクラウドなどを教えていて,コースによってはプログラミングを教え…

Parson's Problems : 入門者にプログラミングを教えるときに使えるプラクティス

プログラミングを教えるときに使える「Parson's Problems(もしくは Parson's Puzzles とも言う)」というプラクティスを最近知った!「Parson's Problems」はコードの各行がバラバラになっていて,インデントも含めて正確に並び替えたら正解になるというパ…

ペアプロって本当に効率的なの? / 論文「The Costs and Benefits of Pair Programming」を読んだ

2000年に発表された論文「The Costs and Benefits of Pair Programming(意訳 : ペアプログラミングのコストと利点)」を読んだ.個人的にペアプログラミングやモブプログラミングの経験はそれなりにあって,メリットとデメリットは理解しているつもりだけど…