Năm mình 20 tuổi, một người mình gặp trên đường tặng mình cuốn sách với lời đề tặng:
“Hành trình thực sự không phải là về những nơi em đến, mà là về những người em gặp.”
Đọc những dòng này, sau khi chia tay những người bạn mới để theo đuổi những mảnh đất xa lạ, mình đã khóc như mưa.
Một thập kỷ đã đi qua, mình quên dần những nơi mình đã đi, những món mình đã ăn, nhưng mình vẫn không thể nào quên được cảm xúc mình đã từng có với những người mình gặp trên đường.
Càng lớn, mình càng thấm thía bài học này.
Sau khi tốt nghiệp, mình đã quên dần điểm số, thi cử, nhưng mình vẫn không thể quên được đứa bạn người để hộp sô cô la ngoài cửa phòng mình khi mình trầm cảm khoá bản thân trong phòng cả tuần không nói chuyện với ai.
Sau khi rời công việc đầu tiên, những món đồ đắt đỏ mà mình mua với khoản lương đầu tiên đã hỏng hay không còn giá trị nhưng mình vẫn không thể nào quên được người đồng nghiệp người đã dạy cho mình từ cách viết commit trên GitHub đến cách chọn giày chống nước đến cách tránh né chính trị văn phòng.
Nếu phải chọn giữa tiền bạc, danh vọng, và con người, mình hy vọng sẽ luôn có thể chọn con người.
同時也有3部Youtube影片,追蹤數超過12萬的網紅prasertcbs,也在其Youtube影片中提到,เนื้อหาในคลิปนี้จะเป็นการจำลองสถานการณ์ว่าเรามีไฟล์ต่าง ๆ อยู่ใน folder ก่อนที่จะมาใช้ git และ github โดยสาธิตให้เห็นถึงขั้นตอนในการ ► 03:32 ทำ git i...
「github commit」的推薦目錄:
- 關於github commit 在 Facebook 的精選貼文
- 關於github commit 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於github commit 在 91 敏捷開發之路 Facebook 的最佳解答
- 關於github commit 在 prasertcbs Youtube 的精選貼文
- 關於github commit 在 prasertcbs Youtube 的精選貼文
- 關於github commit 在 prasertcbs Youtube 的最佳貼文
- 關於github commit 在 Git Guides - git commit - GitHub 的評價
- 關於github commit 在 Day09【Git與GitHub】Git 提交流程(上) - iT 邦幫忙 的評價
- 關於github commit 在 Write Better Commits, Build Better Projects | The GitHub Blog 的評價
- 關於github commit 在 How to Git Commit [Beginner Git Tutorial] - YouTube 的評價
- 關於github commit 在 Git Commit - W3Schools 的評價
- 關於github commit 在 Github 介紹 的評價
- 關於github commit 在 Git basics: Your first commit to GitHub - Daily Dev Tips 的評價
- 關於github commit 在 Git + GitHub 版本控制教學(1) - 提交一個commit - June Monster 的評價
- 關於github commit 在 如何查看github中的commit内容 - CSDN博客 的評價
- 關於github commit 在 How can I rollback a git repository to a specific commit? 的評價
- 關於github commit 在 Git Commit 空資料夾 - Ray's Notes 的評價
- 關於github commit 在 Merging two GitHub repositories without losing commit history 的評價
- 關於github commit 在 Le Git Graph - Commits Graph for GitHub 的評價
- 關於github commit 在 閱讀筆記: 「GitHub 上常常看到的奇妙commit 到底是什麼?」 的評價
- 關於github commit 在 Link to the issue number on GitHub within a commit message 的評價
- 關於github commit 在 How To Undo a Commit in GitHub - SheCanCode 的評價
- 關於github commit 在 How to Remove a Commit From Github - How-To Geek 的評價
- 關於github commit 在 How to git push an existing project to GitHub - TheServerSide 的評價
- 關於github commit 在 An Intro to Git and GitHub for Beginners (Tutorial) 的評價
- 關於github commit 在 Git 05: Git Add Changes - Commit | NSF NEON 的評價
- 關於github commit 在 Create Your First Github Project in VSCode - JC Chouinard 的評價
- 關於github commit 在 GitHub For Beginners: Commit, Push And Go - ReadWrite 的評價
- 關於github commit 在 Deploying React apps to GitHub Pages - LogRocket Blog 的評價
- 關於github commit 在 Github基本使用教學– 將你的NVIDIA機器學習專案都記錄起來吧! 的評價
- 關於github commit 在 GitHub For Dummies - Google 圖書結果 的評價
- 關於github commit 在 Beginning Git and GitHub: A Comprehensive Guide to Version ... 的評價
- 關於github commit 在 Introducing GitHub: A Non-Technical Guide - Google 圖書結果 的評價
github commit 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
本篇文章探討的也是資安系列問題,而這次的目標主角則是 MAC 系統上廣為流傳的 Homebrew 系統。
結論:
作者透過觀察 Homebrew 的 Github Action 流程,成功得上傳一個會列印一行的程式碼到 iterm2 套件中,讓所有安裝的使用者都會於 Terminal 上看到一行作者客製化的訊息。
本次的漏洞是作者刻意從 Homebrew 的 Vulnerability Disclosure Program 專案中去嘗試尋找可能的問題,所有的操作都有跟官方專案的人探討過流程,並且一切的 PoC 都是單純證明該攻擊的可行性,所以有興趣研究的人請遵循一樣的想法去做,不要認真的想攻擊。
原因:
1. Homebrew 透過 Github Action 執行 CI/CD 動作
2. Homebrew 撰寫了一個自動合併 Pull Request 的 Action
3. CI 內會透過一個Ruby的 Git Diff 第三方函式庫來驗證,只要符合下列條件就可以自動合併
- Modifying only 1 file
- Not moving/creating/deleting file
- Target filepath matches \ACasks/[^/]+\.rb\Z
- Line count of deletions/additions are same
- All deletions/additions matches /\A[+-]\s*version "([^"]+)"\Z/ or - -\A[+-]\s*sha256 "[0-9a-f]{64}"\Z
- No changes to format of versions (e.g. 1.2.3 => 2.3.4)
作者一開始想要從該規則下手,找尋有沒有可能塞入惡意攻擊並且騙過系統讓其自動合併,然而這些規則看起來沒有什麼太多問題,於是作者轉往其他領域去找尋問題,其中一個想法就是到底該 Ruby 的 Git Diff 是如何實作,也許從實作下手更有辦法去欺騙這一切。
很順利的是,作者真的於該函式庫中找到問題,對於一個 Git Diff 的結果來說,該函式庫會透過 +++ "?b/(.*) 這樣的正規表達式來判別檔案路徑的資訊而並非程式修改內容,譬如下列 diff
```
diff --git a/source file path b/destination file path
index parent commit hash..current commit hash filemode
--- a/source file path
+++ b/destination file path
@@ line information @@
Details of changes (e.g.: `+asdf`,`-zxcv`)
```
作者就開始思考,如果讓程式碼可以符合 +++ "?b/(.*) 的規則,是否有辦法讓程式碼不被視為一個檔案的修改,因此就可以修改多行程式碼但是讓 CI 系統認為只有一行程式碼於是進行自動合併
作者最初的想法如下,第一行用來放惡意程式碼,第二行用來偽裝檔案路徑,經過一番嘗試後作者真的成功塞入了類似 PRINTF 的程式碼到環境中並觸發自動合併。接者各地使用者透過 brew 安裝 iterm 版本都會看到使用者塞入的程式碼。
```
++ "b/#{Arbitrary codes here}"
++ b/Casks/cask.rb
```
原文還有更多作者的思路過程,有興趣的不要錯過
原文:
https://blog.ryotak.me/post/homebrew-security-incident-en/#fn:7
測試用PR:
https://github.com/Homebrew/homebrew-cask/pull/104191
github commit 在 91 敏捷開發之路 Facebook 的最佳解答
大家今天是不是一直都在謹慎判斷網路上的消息是不是整人的玩笑話呢?
我這邊也要放個真實的公告消息。
2022 年的下列三門課培訓,即將往上調漲各票種費用。原因是,這三門課都額外提供了多個語言的練習影片,供大家上完課之後回去可以反覆觀看練習。
擔心跟不上課上練習步驟的同學也可以安心一點了。
最重要的在這一段:
「如果你是在 2021/4/8 00:00:00 之前所填寫的報名表單,將採2021現有票種價格計算。」
如果你想早點卡位順便搶一波折扣,請自己挑選你有興趣的課程先填寫報名表單吧。
1. TDD 與持續重構:https://tdd.best/courses/tdd-continuous-refactoring-2021-08/
2. 針對遺留代碼加入單元測試的藝術:https://tdd.best/courses/unit-testing-gracefully-with-legacy-code-202109/
3. 極速開發:https://tdd.best/courses/extreme-developing-202109/
上面三個連結都是2021的資訊,因為到年底之前的課程都已經額滿,所以想上2022 的課,又希望可以享受今年的優惠價,就去填報名表單吧。
#我是認真的
—
我把每一段 lab 的操作,都額外錄好了影片,目的是讓大家除了在上課時能專心學習核心概念,要動手練習時也不用擔心眼睛跟不上 91 live coding 的速度,或是課後回家練習時忘了91上課時是怎麼操作的,而是可以掌握自己的節奏,照著影片跟 github commit history 的每一個 commit 反覆練習。
錄製這些影片其實我也付出了蠻多心力在上面,事實上也付出了一些代價。(例如學員如果將影片外流的風險、線上影片平台的 license 費用、錄影軟體的授權費用等等...)
希望這些額外的改變,能讓更多想學習又害怕自己上課當下跟不上,課後練習不知從何下手的朋友,提供一點點幫助,讓上課學習的效果更好。
如果是之前上過該門課的朋友,也希望可以得到之前上課練習的影片,讓自己可以重溫一下練習的手感,不需要為了這個重新報名課程嘿,私訊給我,我會跟你說明滿足怎樣的條件,就可以獲得這些練習影片。
github commit 在 prasertcbs Youtube 的精選貼文
เนื้อหาในคลิปนี้จะเป็นการจำลองสถานการณ์ว่าเรามีไฟล์ต่าง ๆ อยู่ใน folder ก่อนที่จะมาใช้ git และ github โดยสาธิตให้เห็นถึงขั้นตอนในการ
► 03:32 ทำ git init เพื่อสร้าง local repository ขึ้นมา
► 04:25 การสร้าง remote repository บน github
► 07:54 การกำหนด user.name และ email ของ git (สร้างไฟล์ .gitconfig)
► 09:07 การ commit change ด้วย Visual Studio Code
► 09:30 การ push (ส่ง) ไฟล์จาก local repository ไปยัง remote repository (บน github)
► 13:21 การ pull (ดึง) ไฟล์จาก remote repository (บน github) ลงมายัง local repository (local hard drive)
► 14:37 การ sync (push/pull) ไฟล์จาก local และ remote repository
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอน git เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGsV1ZAyP4m_iyAbflQrKrX
playlist สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอนภาษา C เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
playlist สอนภาษา C++ ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
playlist สอนภาษา C# ► https://www.youtube.com/playlist?list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
playlist สอนภาษา Java ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
playlist สอนภาษา PHP เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
playlist สอนภาษา R เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
#prasertcbs #prasertcbs_git #prasertcbs_github
github commit 在 prasertcbs Youtube 的精選貼文
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอน Jupyter Notebook ► https://www.youtube.com/playlist?list=PLoTScYm9O0GErrygsfQtDtBT4CloRkiDx
playlist สอน git เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGsV1ZAyP4m_iyAbflQrKrX
playlist สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอนภาษา C เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
playlist สอนภาษา C++ ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
playlist สอนภาษา C# ► https://www.youtube.com/playlist?list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
playlist สอนภาษา Java ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
playlist สอนภาษา PHP เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
playlist สอนภาษา R เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
github commit 在 prasertcbs Youtube 的最佳貼文
เนื้อหาจะเป็นการจำลองสถานการณ์ว่าเราได้พัฒนาโปรแกรมขึ้นมา โดย source code เก็บอยู่ใน folder โดยไม่มีการใช้โปรแกรมสำหรับจัดการเวอร์ชั่นของซอฟแวร์มาก่อน ลองมาดูว่าหากต้องการใช้ git เพื่อที่จะทำ version control ให้กับ source code ใน folder นี้จะต้องทำอย่างไร โดยมีคำสั่งหลัก ๆ ที่ใช้เรียงตามลำดับดังนี้
การใช้ git init เพื่อสร้าง local repository ให้กับ project/folder
การใช้ git config --global user.name "username" เพื่อกำหนดชื่อผู้ใช้
การใช้ git config --global user.email "me@anyemail.com" เพื่อกำหนด email ของผู้ใช้
การใช้ git add .
การใช้ git commit
การใช้ git remote add origin https://github.com/prasertcbs/atlas.git
การใช้ git push -u origin master
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอน git เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GGsV1ZAyP4m_iyAbflQrKrX
playlist สอนภาษา Python ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python OOP ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEIZzlTKPUiOqkewkWmwadW
playlist สอน Python 3 GUI ► https://www.youtube.com/playlist?list=PLoTScYm9O0GFB1Y3cCmb9aPD5xRB1T11y
playlist สอนภาษา C เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
playlist สอนภาษา C++ ► https://www.youtube.com/playlist?list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
playlist สอนภาษา C# ► https://www.youtube.com/playlist?list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
playlist สอนภาษา Java ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
playlist สอนภาษา PHP เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
playlist สอนภาษา R เบื้องต้น ► https://www.youtube.com/playlist?list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
#prasertcbs #prasertcbs_git #prasertcbs_github
github commit 在 Day09【Git與GitHub】Git 提交流程(上) - iT 邦幫忙 的推薦與評價
哈嘍,大家好. 今天我們要進入加入索引、提交版本流程嚕! ✦首先我們要先知道以下四個指令。 檢查狀態:git status; 加入索引:git add . 提交更新:git commit -m ... ... <看更多>
github commit 在 Write Better Commits, Build Better Projects | The GitHub Blog 的推薦與評價
[Commits] are snapshots of your entire repository at specific times…based around logical units of change. Over time, commits should tell a story ... ... <看更多>
github commit 在 Git Guides - git commit - GitHub 的推薦與評價
git commit creates a commit, which is like a snapshot of your repository. These commits are snapshots of your entire repository at specific times. ... <看更多>