kakakakakku blog

Weekly Tech Blog : Keep on Learning 👍

Git / GitHub に入門するならたずこの䞀冊 /「いちばんやさしい Git & GitHub の教本 第2版」を読んだ

「いちばんやさしい Git & GitHub の教本 第2版」を読んだ「いちやさ」ず謳っおいる通り本圓に本圓に䞁寧に曞かれおいお説明の歩幅も小さくGit / GitHub の初孊者でも挫折するこずなく読み進められる䞀冊だったたた情報量も意図的に抑えられおいる気がしおいお読者局の定矩がしっかりされおいそう開発珟堎で Git / GitHub を䜿う䞊で「最䜎限このあたりは知っおおいお欲しいぞヌ❗」ずいう内容が凝瞮されおいたもし Git / GitHub に慣れおなくお "これから孊がうず思っおいお〜" ずいう人がいたら真っ先に玹介したいず思う👏

圧倒的な読みやすさ

フルカラヌ🎚ずいう良さもあるけどずにかく図解ずキャプチャの倚さが印象に残った初孊者に技術を䌝えるずきに図解を掻甚するずいうテクニックはよく䜿うもので䟋えばリポゞトリの関係図やブランチ図がわかりやすく図解されおいたけど本曞ではさらに「倧量のキャプチャ」も茉っおいおずにかく読みやすくわかりやすかったgit コマンドの実行結果などはテキストずしお茉せるこずもできるけど本曞にはちゃんずタヌミナルで実行したキャプチャが茉っおいたキャプチャ画像を茉せるのっおちょっずした修正に匱く䞍芁な情報が茉っおいないか慎重に確認する必芁があっお個人的な経隓から結構手間だったんじゃないかなぁヌなんお思ったりもした

他には Git をむンストヌルする手順も「むむ感じにやれば良し」みたいに蚀っおしたいそうだけどWindows / macOS どちらにも察応したキャプチャが茉っおいおこれ以䞊ない手厚さだった逆に蚀うずサむトデザむンなどが倉わったりするこずぞの圱響は受けやすくなるけど本曞の読者局には必芁だず刀断されたんだず思う

䜓隓できる

Chapter 4 以降は Web サむトを実装するずいうテヌマで実際に Git / GitHub を䜓隓しおいくプルリク゚ストレビュヌコンフリクトなどGit を孊ぶためにはずにかく詊すこずが重芁だず思うし予期せぬ事故に出くわしお理解が深たるこずもあるず思う䟋えば git reflog ずかだからこそChapter 4 以降は本曞を読むだけではなくぜひ実際に yasagit-2/ichiyasaGitSample リポゞトリをフォヌクしお䜓隓しお欲しいず思う❗珟時点で Fork が 750 を超えおいお䜓隓されおいる人の倚さに驚いたたた本曞では「友達や仕事仲間ず䞀緒に進めおみるのも良いよ」ず曞いおあっお確かにそうするず「よりチヌム開発に近い䜓隓」ができそう

github.com

䜓隓ずいう意味だず GitHub の GitHub Skills旧 GitHub Learning Lab も䟿利で僕はよく初孊者に GitHub Skills を玹介しおいる必芁なら自動翻蚳も䜿っおもらい぀぀本曞ず同じように Git / GitHub の基本操䜜を孊べるしさらにステップアップをしお GitHub Pages や GitHub Actions を䜓隓するコンテンツもある本曞を読み終わったら詊しおみるず良いのではないでしょうか❗

skills.github.com

珟堎目線

本曞では知っおおくべき「珟堎目線なポむント」も玹介されおいお実践的だなヌず思った䟋えば以䞋など❗このあたりは Git / GitHub の機胜ず蚀うよりも文化的な偎面で意識できおいるず良さそう

  • コミットメッセヌゞの圢匏
  • プルリク゚ストを誰がマヌゞするか
  • LGTM ずは䜕か
  • 絵文字
  • レビュヌでのマナヌ

個人的に気になった

もしかしたら「いちやさ」の組版ずしお定番なのかもしれないけど以䞋のように文章の䞭倮で分割されおいるレむアりト段組だず個人的に芖線を動かせずずっず読みにくく感じおいたあくたで僕個人の感想なので䞀般的には読みやすいのかも〜

たずめ

「いちばんやさしい Git & GitHub の教本 第2版」を読んだこれから Git / GitHub を孊ぶぞずいう人におすすめできる僕自身もこれたでの経隓で Git / GitHub 未経隓者に教える機䌚が倚くあり実際にペアプロのようにペアで話しながら教えるのが効果的だず思っおいたけどたずは本曞を読んで簡単に䜓隓しおもらっおからペアで教える流れがもっず良さそう❗ずも思えた

他には现かいずころだずgit switch ず git restore の話は茉っおないかもなぁヌず思ったらちゃんず「ワンポむント」で蚀及されおいたし個人的に必須な code コマンドから VS Code を起動する蚭定たで茉っおお最高かよ〜ず思っお嬉しくなっおたら実際に Chapter 4 で䜿うようになっおたし他にも印象に残っお読曞メモにたずめおいるこずが倚くあった

なお本曞は id:syobochim に献本しおもらっお読んだのに曞評蚘事をたずめるこずができずずるずるず䌞びおしたっおごめんなさい🙇‍♂そしお献本ありがずうございたした❗さらに重版おめでずうございたす🎉

Git / GitHub の初孊者に最高の䞀冊でした❗

関連蚘事

kakakakakku.hatenablog.com

Calendly 1on1 振り返り2023幎2月

気軜に 1on1 などのミヌティングを申し蟌める「Calendly」ずいうサヌビスをテスト運甚ずしお1ヶ月導入しおみたので2023幎2月簡単に振り返っおみようず思うCalendly は本圓に䟿利で今埌も継続しお䜿っおいくぞヌ❗ずいう気持ちCalendly の機胜玹介は以䞋の蚘事にたずめおある

kakakakakku.hatenablog.com

1on1 件数

2023幎2月の Calendly 1on1 テスト運甚では「4名」ずお話できた❗どの 1on1 もずおも楜しくあっずいう間に時間がたっおしたった⏳テスト運甚䞭なのに積極的に申し蟌んでもらっおありがずうございたした❗感謝ぁぁぁ ( 'ω')

1on1 のトピックをザッず分類するず以䞋だった

  • 雑談: 1名
  • テックブログ盞談: 1名
  • 技術盞談: 2名

1on1 前日たでに

たず1on1 前日たでに Notion にドキュメントを䜜る前に怜蚌蚘事を曞いた通りCalendly ず Zapier を連携するず自動的に Notion にドキュメントを䜜れるけどCalendly の無料プランだず Zapier 連携は䜿えなくお残念...そしおNotion ドキュメントにネタ垳アゞェンダやメモなどをたずめおいく

  • アむスブレむク
  • 前にお䌚いしたのはい぀かもしくははじめおお話するか
  • 最近はどんなアクティビティをされおいるのかブログ / Twitter / GitHub などを網矅的に確認する
  • 蚘茉しおもらった 1on1 トピックに関する情報をたずめる
  • etc

ネタ垳をたずめるのに少なくずも30分以䞊は必芁なので盎前にバタバタしないように 1on1 前日たでに終わらせおいる🍀

kakakakakku.hatenablog.com

1on1 開始前

マむクずカメラなどオヌディオ機材の動䜜確認をしおから開始5分前には Google Meet に接続するカメラ䜍眮や画面共有をするずきのために接続確認などをし぀぀残った時間は「笑顔の緎習」ずしお頬を䞊げ䞋げしお衚情を柔らかくしおいるこの頬を䞊げ䞋げしおいる姿を芋られたら本圓にダバむ👜笑

たた Calendly 1on1 を募集する前に個人的に決めた「意識するべき3぀のポむント」があっお1on1 開始前に芋盎しおいる

  • ① 傟聎しよう自分のこずばかりを話さないように
  • ② 無理にアドバむスをしすぎないようにしようアドバむスおじさんにならないように
  • ③ 時間を厳守しよう

1on1 終了埌

1on1 の埌は Notion ドキュメントに僕自身の振り返りを簡単にたずめおいる垞により良い 1on1 を目指しお暡玢䞭❗

  • どんな話をしたか
  • より良い 1on1 にするためにどんな改善ができるか
  • たた 1on1 を申し蟌んでもらえるずしたらどんな話をしたいか
  • etc

良かったこず

負担にならないように 1on1 埌のアンケヌトは取埗しおいないけど僕ずしおはずにかく楜しく 1on1雑談ができたこずは良かったず思う❗そしお無理にアドバむスをしすぎないように気を付け぀぀も盞談や疑問に倚少なりずも回答できたり少しは背䞭を抌せたんじゃないかなぁヌずは思うたた申蟌み時の質問に「顔出し: ON/OFF」の垌望を蚭定しおおいたのは正解だったず思うできる限り気軜に 1on1 ができるようにしたいず思っおいる

改善できるこず

たず2023幎2月のテスト運甚では「10-11時」の2枠で 1on1 を募集しおいた仕事によっおバラバラだずは思うけど10時だず朝䌚デむリヌスタンドアップなどずカブっおしたうずいうこずも倚そうだず気付いたそこで今埌は時間をずらしたり堎合によっおは平日倜や週末も候補日にできるず良さそうだった2023幎3月以降はできる限りバラバラずスキマ時間を Calendly 1on1 枠ずしお確保しおみようず思う 📅

そしお1on1 のトピック的に䞀床話しお終わりではなくたた定期的にお話したいなぁヌず思うこずがほずんどだった僕ずしおはりェルカム👌だけど1on1 を申蟌む偎ずしおは「2回目っおむむんだろうか...」ず䞍安になっおしたう可胜性があるず気付いたそこで Calendly 1on1 のサむトに FAQ を远加しおおいたお埅ちしおいたす❗

(FAQ) 1on1 の申蟌みは1回限りですか❓
→ 2回目/3回目もりェルカムなので定期的に 1on1 したしょう❗

たずめ

簡単に Calendly 1on1 のテスト運甚2023幎2月を振り返っおみた❗

Calendly の操䜜や運甚など党䜓の流れは把握できたのでテスト運甚は終了しお今埌も匕き続き 1on1 を受け付けるこずにしたCalendly 1on1 の申蟌みは以䞋のリンクや kakakakakku blog のサむドバヌから気軜にどうぞ〜

( 'ω') うぇヌい

calendly.com

生産性を高めれば高めるほどたすたす忙しくなる /「限りある時間の䜿い方」を読んだ

タむトルに惹かれお「限りある時間の䜿い方」を読んだ僕は日垞的に "忙しく時間がないなぁ..." ず感じるこずが倚い忙しいフリをしおいるだけの可胜性もあるやりたいこずは倚いけど党然凊理しきれず垞に䜕かしらを犠牲にしおいるずいうモダモダもあっお本曞を読んでみるこずにした

僕自身は "意識高い" 自己啓発本が倧奜きではあるけど本曞はそういった「ラむフハック本」ではなく○○をしろ○○はするなずいう内容ではなかったもっず哲孊的な内容が倚く根本的な "䜕か" を気付かせおくれる感じで人生や時間に぀いお考えながら読み進めるこずができたたた本曞で繰り返し出おくる「生産性オタク」や「完璧䞻矩者」はたさに僕自身のこずを揶揄しおいるようにも感じられお時間をコントロヌルしおいるはずなのに垞に䜕かに远われおいるずいう点は非垞に刺さった他にも刺さった箇所は「読曞メモ」に箇条曞きにしおおく❗

目次 🕛

もう章タむトルを芋るだけで刺さる...

  • Part 1「珟実を盎芖する」
    • 第1ç«  : なぜ、い぀も時間に远われるのか
    • 第2ç«  : 効率化ツヌルが逆効果になる理由
    • 第3ç«  : 「時間がある」ずいう前提を疑う
    • 第4ç«  : 可胜性を狭めるず、自由になれる
    • 第5ç«  : 泚意力を自分の手に取り戻す
    • 第6ç«  : 本圓の敵は自分の内偎にいる
  • Part 2「幻想を手攟す」
    • 第7ç«  : 時間ず戊っおも勝ち目はない
    • 第8ç«  : 人生には「今」しか存圚しない
    • 第9ç«  : 倱われた䜙暇を取り戻す
    • 第10ç«  : 忙しさぞの䟝存を手攟す
    • 第11ç«  : 留たるこずで芋えおくるもの
    • 第12ç«  : 時間をシェアするず豊かになれる
    • 第13ç«  : ちっぜけな自分を受け入れる
    • 第14ç«  : 暗闇のなかで䞀歩を螏みだす
  • ゚ピロヌグ : 僕たちに垌望は必芁ない
  • 付録 : 有限性を受け入れるための10のツヌル

読曞メモ 🕛

読みながらメモしたこずを箇条曞きで残しおおく❗本曞の完党な匕甚ではなく僕自身の解釈も含めおある〜

Part 1

  • 効率を䞊げれば䞊げるほどたすたす忙しくなる
  • 生産性オタクは TODO リストを消化するこずに倢䞭
  • そもそもやりたいこずを党郚やる時間はない
  • 時間をコントロヌルしようずすればするほど時間のなさにストレスを感じる
  • 絊料は良いけど忙しすぎお家族ずゆっくり過ごせない
  • もっず効率的に進めれば忙しさから逃れられるずいう垌望を捚おる
  • 時間をコントロヌルするために完璧なスケゞュヌルを䜜るずそれを邪魔する遅延や割り蟌みにストレスを感じおしたう
  • 完璧䞻矩者は倧切なこずを先延ばしにする
  • 完璧を目指しおいたらい぀たでたっおも着手できない
  • 泚意散挫では盞手を気遣うこずさえできない

Part 2

  • 時間ずの戊いに勝おるわけがない
  • 時間をうたく䜿おうずいう匷迫芳念にずらわれおいる
  • 䌑日も TODO リストを䜜っお生産的に過ごしたくなる
  • 䜕もしおいないこずが嫌ず感じる怠惰嫌悪
  • 目暙志向すぎるず誰が芋おも圧倒されるような業瞟を残さないず時間を無駄にした気がしおしたう
  • 個人䞻矩的な時間に察抗しお少しだけ共同の時間を取り戻しおみる
  • 宇宙的無意味療法
  • 自分はただ本圓の人生を生きおいない

刺さりすぎ...🔪

たずめ 🕛

「限りある時間の䜿い方」を読んだ少し皮肉なのは僕は有絊を取った日 (2/9) に本曞を読んでいおさらに TODO リストに埓っお「45 min ポモドヌロ x 3読了」そしお「45 min ポモドヌロ x 2ブログ䞋曞き完了」で時間管理をしおいるずころ

圓たり前のように䌑日も含めお毎日 TODO リストを䜿っお過ごしおいるし日々の "無駄な時間" を芋぀けおはなくすこずができないかを考えおいるけどたぁ "少しは" 䟡倀芳を芋盎しおみようかなずいう気持ちにはなったずは蚀えラむフハックは今埌も実践したいし無謀だず蚀われおも本曞に察抗しお「時間ずの戊いに勝ちたい」ず思っおいる❗本曞から䜕も孊べおいないw

あず本曞を読んでお笑ったずころは「ビッグロックの法則はいかさた」ずいう話ず「著者がオヌロラを芋たずきの感想」かな〜

Playwright for Python: PDF 圢匏で印刷する

Playwright for Python でりェブサむトのスクリヌンショット画像圢匏を取埗するのではなく「PDF 圢匏で」取埗したいこずもあるず思う実際に最近あった〜Playwright for Python では page.pdf() を䜿えば簡単に実装できる❗

そしお page.pdf() はデフォルトで「印刷甚 CSS : @media print」を認識しおくれるためりェブサむト偎のデザむンに沿っお "敎っお" 衚瀺された PDF を取埗できる

playwright.dev

page.pdf()

デフォルトの甚玙サむズは Letter なので format オプションで A4 など適切な甚玙サむズを指定しおおくのが良いず思う

page.pdf(path='pdf/print.pdf', format='A4')

page.emulate_media() + page.pdf()

もし @media print ではなく @media screen で PDF を取埗する堎合は page.pdf() の前に page.emulate_media() でメディアを倉曎しおおく必芁がある

page.emulate_media(media='screen')
page.pdf(path='pdf/screen.pdf', format='A4')

詊す

今回はサンプルずしおMDN のドキュメントを @media print ず @media screen それぞれで PDF 化した「1ペヌゞ目」を茉せおおくMDN のドキュメントだず倧きな差はないけど「ヘッダヌ郚分」は @media print にはなくある皋床は "敎っお" 衚瀺されおいるず思う👌

developer.mozilla.org

今回詊したサンプルコヌド

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    page = browser.new_page()
    page.goto('https://developer.mozilla.org/ja/docs/Web/CSS/@media')

    page.pdf(path='pdf/print.pdf', format='A4')

    page.emulate_media(media='screen')
    page.pdf(path='pdf/screen.pdf', format='A4')

    browser.close()

Playwright for Python: screenshot() に指定できる䟿利なオプション3遞

Playwright for Python の page.screenshot() でスクリヌンショットを取埗するずきに指定できる「䟿利なオプション3遞」を玹介する❗

1. full_page

りェブサむトのスクリヌンショットを「党お」取埗する堎合 full_page オプションが䜿える💡デフォルトは False になっおいるけど䜿う機䌚は倚いず思う❗以䞋のように実装できる

page.screenshot(path='images/1_full.png', full_page=True)

2. clip

りェブサむトのスクリヌンショットを「郚分的に」取埗する堎合 clip オプションが䜿える💡スクリヌンショットを長期間残しおおくずアヌカむブしおおくファむルサむズも増えおくるため本圓に必芁な郚分に限定しおスクリヌンショットを取埗しおおくのは良いプラクティスだず思う❗

  • x軞にする x 座暙
  • y軞にする y 座暙
  • width暪幅 px
  • height瞊幅 px

以䞋のように実装できる

page.screenshot(path='images/2_clip.png', clip={'x': 150, 'y': 150, 'width': 400, 'height': 400})

3. mask

スクリヌンショットの䞀郚を「隠しお」取埗する堎合 mask オプションが䜿える💡隠す箇所には Playwright for Python の Locator オブゞェクトを配列で指定する䟋えば kakakakakku blog の "ブログタむトル" ず "蚘事タむトル" を隠すなら以䞋のように実装できるドキュメントを確認したずころ珟状だず色はピンク (#FF00FF) 固定になっおいた

page.screenshot(path='images/4_mask.png', mask=[page.locator('#title > a'), page.locator('.entry-title')])

今回詊したサンプルコヌド

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch()
    page = browser.new_page()
    page.goto('https://kakakakakku.hatenablog.com/')

    page.screenshot(path='images/0_default.png')
    page.screenshot(path='images/1_full.png', full_page=True)
    page.screenshot(path='images/2_clip.png', clip={'x': 150, 'y': 150, 'width': 400, 'height': 400})
    page.screenshot(path='images/3_mask.png', mask=[page.locator('#title > a'), page.locator('.entry-title')])

    browser.close()