GitHub 宕機自救指南:確保開發工作不間斷

1.1 GitHub 宕機事件回顧

在 2025 年 8 月,GitHub 經歷了一次全球性的重大故障事件,此次宕機持續了數小時,對全球范圍內依賴 GitHub 進行代碼托管、協作開發的團隊和個人造成了嚴重影響。眾多開源項目的代碼提交陷入停滯,企業級開發中的 CI/CD 流水線被迫中斷,團隊成員之間的代碼審查與協作溝通也受到極大阻礙。這次事件凸顯了即使是最主流、最可靠的代碼托管平臺,也可能因各種原因出現服務中斷,因此開發者和開發團隊必須提前做好應對準備。

1.2 宕機對開發工作的影響

  • 代碼提交與協作阻塞:當 GitHub 宕機時,開發者無法將本地代碼推送到遠程倉庫,新功能開發、bug 修復等工作成果無法及時共享,團隊協作中的代碼合并工作也無法正常進行,導致開發進度嚴重滯后。例如,一個正在進行緊急版本迭代的項目,由于無法提交代碼,可能錯過預定的發布時間。
  • CI/CD 流程中斷:許多項目依賴 GitHub 的 Webhook 來觸發持續集成和持續部署(CI/CD)流程。宕機期間,CI/CD 流水線無法啟動,代碼變更無法自動進行構建、測試和部署,使得軟件交付周期延長,影響產品的及時上線和更新。
  • 問題追蹤與項目管理混亂:GitHub 的 Issues 功能常用于記錄和追蹤項目中的問題、任務和需求。宕機使得團隊成員無法及時查看和更新問題狀態,項目管理失去有效的可視化手段,團隊成員難以明確工作重點和進度,容易造成工作混亂和重復勞動。

二、診斷 GitHub 宕機原因

2.1 網絡連接問題排查

  • 檢查本地網絡連接:通過 ping 命令測試本地網絡是否正常連接,例如在命令行中輸入 “ping?www.baidu.com”,若無法 ping 通,說明本地網絡可能存在故障,需要檢查路由器設置、網絡線纜連接或聯系網絡服務提供商解決。
  • 排查 DNS 解析問題:DNS 解析錯誤可能導致無法正確訪問 GitHub。可以嘗試使用 nslookup 或 dig 命令查詢 GitHub 域名對應的 IP 地址,如 “nslookup?github.com”。若解析結果異常,可通過修改 DNS 服務器地址來解決,例如切換為 Google Public DNS(8.8.8.8 和 8.8.4.4)或國內的阿里 DNS(223.5.5.5 和 223.6.6.6)。
  • 確認是否存在網絡代理干擾:如果使用了網絡代理,檢查代理設置是否正確,嘗試暫時關閉代理或更換代理服務器后再次訪問 GitHub,以確定是否是代理導致的訪問問題。

2.2 GitHub 服務器狀態確認

  • 查看官方狀態頁面:訪問 GitHub 官方的狀態頁面(GitHub Status?),該頁面會實時顯示 GitHub 各項服務的運行狀態。若頁面提示存在服務中斷或故障,說明是 GitHub 服務器端的問題,只能等待官方修復。
  • 參考第三方監控平臺信息:一些第三方網站如 DownDetector 等也會收集和反饋 GitHub 的可用性信息,可以參考這些平臺上其他用戶的反饋,進一步確認是否是大規模的 GitHub 宕機事件。

2.3 其他潛在因素分析

  • 安全軟件或防火墻限制:本地安裝的安全軟件、防火墻可能會阻止對 GitHub 的訪問。檢查安全軟件和防火墻的規則設置,確保允許相關的網絡連接。例如,在 Windows 防火墻中,添加對 GitHub 域名或 IP 地址的允許訪問規則。
  • 賬號權限與配置問題:極少數情況下,可能是個人賬號的權限問題或特殊配置導致無法訪問。檢查賬號是否存在異常,如被封禁、密碼過期等,并確認本地的 Git 配置是否正確,如 SSH 密鑰是否有效。

三、本地倉庫應急協作

3.1 利用本地倉庫進行代碼提交與管理

Git 的分布式特性使得每個開發者的本地倉庫都是一個完整的代碼副本,即使 GitHub 不可用,也能在本地繼續進行開發工作。開發者可以在本地正常執行 git commit 命令提交代碼變更,這些提交會保存在本地倉庫中。通過 “git log” 命令可以查看本地提交歷史,確保代碼的版本管理和追溯。

3.2 補丁文件交換實現代碼同步

  • 生成補丁文件:當需要與團隊成員共享代碼變更時,開發者可以使用 “git format - patch” 命令生成補丁文件。例如,要生成最近 3 次提交的補丁文件,可以執行 “git format - patch HEAD~3”,這會在當前目錄下生成以.patch 為后綴的文件,每個文件對應一次提交的代碼變更內容。
  • 傳輸補丁文件:通過多種方式將補丁文件傳輸給團隊成員,如企業內部的即時通訊工具(如企業微信、釘釘)的文件傳輸功能,或者通過內部郵件發送。在局域網環境下,也可以利用共享文件夾進行文件共享。
  • 應用補丁文件:接收方在本地倉庫中使用 “git apply” 命令應用接收到的補丁文件。例如,若補丁文件存放在 “~/patches/” 目錄下,執行 “git apply ~/patches/*.patch” 即可將發送方的代碼變更同步到本地倉庫,實現代碼的共享與協作。

3.3 搭建局域網臨時協作網絡

  • 創建局域網共享倉庫:團隊中可以選擇一位成員在局域網內創建一個裸倉庫(bare repository),通過 “git init --bare” 命令即可創建。然后,利用 Samba(適用于 Linux 系統)或 Windows 共享文件夾功能,將該倉庫所在目錄設置為共享,確保其他團隊成員能夠訪問。
  • 添加遠程倉庫地址:其他成員在自己的本地倉庫中,使用 “git remote add” 命令添加這個局域網共享倉庫為遠程地址。例如,若共享倉庫的網絡路徑為 “//192.168.1.100/shared_repo”,則執行 “git remote add temp_repo //192.168.1.100/shared_repo”。
  • 進行代碼同步:成員之間通過 “git push temp_repo” 和 “git pull temp_repo” 命令,將本地代碼推送到共享倉庫以及從共享倉庫拉取其他成員的代碼,從而在局域網內實現代碼的交換與同步,維持團隊協作開發,避免對 GitHub 服務器的依賴。

四、多平臺鏡像與代碼遷移

4.1 啟用國內鏡像平臺

  • Gitee 遷移步驟
    • 注冊 Gitee 賬號并創建與 GitHub 項目對應的倉庫。
    • 在本地倉庫中,使用 “git remote set - url origin?https://gitee.com/username/repo.git” 命令將遠程倉庫地址切換為 Gitee 倉庫地址。
    • 執行 “git push - u origin -- all” 推送所有分支到 Gitee 倉庫,使用 “git push origin -- tags” 同步標簽信息。
    • 仔細檢查項目中的 “.gitignore” 文件,確保未提交不必要的文件到新平臺。同時,由于 Gitee 的 Webhook 觸發規則等 CI/CD 配置可能與 GitHub 不同,需要對相關配置文件進行適配調整。
  • 其他國內鏡像平臺介紹:除 Gitee 外,還有如碼云企業版等平臺,也提供了代碼托管服務,并且在網絡訪問速度等方面具有一定優勢,對于國內團隊在 GitHub 宕機時作為臨時替代方案具有一定可行性。

4.2 自動化鏡像同步設置

  • GitLab 鏡像配置方法
    • 首先在本地生成 SSH 密鑰對,通過 “ssh - keygen -t rsa -b 4096 -C "your_email@example.com"” 命令生成,然后將公鑰分別添加到 GitHub 和 GitLab 平臺,實現免密登錄。
    • 使用 gitlab - mirrors 等工具進行自動化鏡像同步配置。可以編寫腳本實現,例如在 “post - push” 鉤子中添加命令:git push origin main || echo "GitHub 推送失敗"; git push gitlab - backup main || echo "GitLab 備份失敗",這樣每次向 GitHub 推送代碼時,也會自動同步到 GitLab 備份倉庫。
    • 利用 GitHub Action 中的 “gitlab - mirror - and - ci - action”,實現代碼變更實時鏡像到 GitLab 并觸發其 CI 流水線,確保在 GitHub 宕機時,開發與 CI/CD 流程能夠在 GitLab 平臺繼續進行。
  • 其他自動化同步工具推薦:還有一些開源工具如 MirrorGit 等,也能實現多平臺代碼倉庫的同步功能,開發者可以根據項目需求和技術棧選擇合適的工具進行配置使用。

4.3 多遠程倉庫配置技巧

  • 單命令推送至多個平臺:通過 “git remote set - url -- add origin?https://github.com/username/repo.git” 和 “git remote set - url -- add origin?https://gitee.com/username/repo.git” 等命令,將多個遠程倉庫地址添加到本地倉庫的 origin 遠程。這樣在執行 “git push origin main” 等推送命令時,代碼會同時推送到多個配置的遠程平臺,實現一次操作,多平臺備份與同步。
  • 配置注意事項:在使用多遠程倉庫配置時,要確保各個遠程平臺的 SSH 密鑰等認證配置正確,避免因認證失敗導致推送失敗。同時,要注意不同平臺對倉庫命名、分支管理等方面的細微差異,以免出現同步問題。

五、通信與項目管理替代方案

5.1 實時任務協調工具

  • 企業微信 / 釘釘群組:在 GitHub 宕機期間,創建項目專屬的企業微信或釘釘群組,利用群內的文字、語音、視頻會議功能進行任務分配。例如,通過 “@成員 A 請在今天下班前完成支付模塊的單元測試” 這樣的消息明確任務責任人與時間節點。使用群公告及時發布重要通知,如 “GitHub 故障期間請使用 Gitee 倉庫提交代碼”。此外,借助騰訊文檔等共享在線文檔,實時記錄任務進度,成員更新狀態后通過 “@” 相關負責人進行確認,確保信息同步和任務跟蹤。
  • 其他即時通訊工具推薦:Slack、飛書等即時通訊工具也具備類似的群組協作和文件共享功能,團隊可以根據自身使用習慣和已有的工具生態選擇合適的工具進行實時任務協調。

5.2 問題追蹤與看板管理替代方案

  • Jira 替代 GitHub Issues:將 GitHub Issues 中的數據導出為 CSV 文件,然后導入到 Jira 中。在導入過程中,需要仔細映射字段,例如將 GitHub 的 “Assignee” 對應到 Jira 的 “Assignee”,確保數據的準確遷移。使用 Jira 的 Scrum 看板來管理項目迭代,通過設置標簽(如 “hotfix”)來區分緊急任務,方便團隊成員快速識別和處理。
  • Trello 輕量級方案:創建 Trello 看板,設置 “To Do/Doing/Done” 等列來管理任務狀態。通過卡片詳細描述任務細節,并可以上傳補丁文件等作為附件。利用 Trello 與 Slack 等工具的集成功能,當卡片狀態變更時自動向團隊成員發送通知,保持項目進展的透明度和信息同步。

5.3 離線協作機制

  • 補丁包傳遞:在網絡完全中斷等極端情況下,可以通過生成補丁包進行離線協作。使用 “git bundle create repo.bundle -- all” 命令生成包含所有分支的倉庫快照補丁包,通過 U 盤等移動存儲設備將補丁包傳輸給其他成員。接收方執行 “git clone repo.bundle./local - repo” 命令即可在本地恢復倉庫內容,實現代碼共享與協作。
  • 本地 Wiki 文檔協作:在局域網環境下,搭建本地 Wiki(如使用 DokuWiki 等開源 Wiki 軟件),團隊成員可以在本地 Wiki 上記錄代碼審查意見、項目文檔等信息,實現離線狀態下的文檔協作與知識共享。

六、CI/CD 流水線切換策略

6.1 快速遷移構建服務

  • Jenkins 配置
    • 安裝 “Maven Integration” 和 “Publish Over SSH” 等插件,以支持 Maven 項目構建和通過 SSH 進行文件部署。
    • 在 Jenkins 中重新配置 Git 倉庫地址為 Gitee 或 GitLab 等替代平臺的 URL。
    • 定義流水線步驟,包括拉取代碼、使用 Maven 進行編譯、通過 SSH 將生成的 Jar 包部署到服務器以及執行啟動腳本等操作,確保在新的代碼托管平臺上能夠正常進行項目構建與部署。
  • GitLab CI/CD 配置:在項目的.gitlab - ci.yml 文件中重新定義任務。例如,對于 Java 項目:

yaml

build:image: maven:3.8.6 - openjdk - 17script:- mvn clean package - DskipTestsartifacts:paths:- target/*.jar
deploy:script:- scp target/*.jar user@server:/app/- ssh user@server "systemctl restart app"

將觸發方式從 GitHub Webhook 改為 GitLab 的 Pipeline Trigger,確保在 GitLab 上代碼變更能夠自動觸發 CI/CD 流程。

6.2 云原生替代方案

  • 阿里云效流水線:在阿里云效控制臺新建流水線,選擇 “從代碼庫觸發” 并關聯 Gitee 等替代平臺的倉庫。通過拖拽式操作編排構建、測試、部署等步驟,例如添加 “單元測試” 階段并配置覆蓋率閾值,確保軟件質量。配置釘釘通知,當流水線執行失敗時自動發送報警信息,及時通知團隊成員處理問題。
  • 其他云原生 CI/CD 平臺介紹:騰訊云的 CODING、華為云的 CodeArts 等云原生 CI/CD 平臺也提供了豐富的功能和便捷的操作界面,團隊可以根據自身的云服務使用情況和項目需求選擇合適的平臺進行 CI/CD 流水線的遷移與配置。

七、數據備份與恢復策略

7.1 實時文件同步設置

  • rsync + inotify 自動化備份:在服務端配置 “/etc/rsyncd.conf” 文件,設置允許連接的客戶端 IP 地址范圍,并配置密碼認證以確保安全。在客戶端使用腳本實現實時同步,例如利用 inotify 工具監控代碼目錄變化并觸發 rsync 同步。示例腳本如下:

bash

#!/bin/bash
src_dir="/path/to/your/code/dir"
dest_user="backup_user"
dest_host="backup_server_ip"
dest_dir="/path/to/backup/dir"
inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f %e' -e modify,create,delete $src_dir |
while read file; dorsync -avz --delete $src_dir $dest_user@$dest_host:$dest_dir
done

該腳本會實時監控代碼目錄的修改、創建和刪除操作,并及時將變更同步到備份服務器。

7.2 定期備份策略制定

  • 制定備份計劃:確定定期備份的時間間隔,如每周周末或每月月末進行一次全量備份。可以使用操作系統的任務調度工具(如 Windows 的任務計劃程序或 Linux 的 crontab)來定時執行備份腳本。
  • 選擇備份存儲介質:備份數據可以存儲在本地大容量硬盤、網絡附加存儲(NAS)設備或云端存儲服務(如 Amazon S3、阿里云 OSS 等)。根據數據重要性和恢復需求選擇合適的存儲介質,確保備份數據的安全性和可恢復性。

7.3 數據恢復流程演練

  • 模擬恢復場景:定期模擬 GitHub 數據丟失或損壞的場景,進行數據恢復演練。例如,刪除本地或測試環境中的部分代碼文件,然后嘗試從備份中恢復數據,檢驗備份的有效性和恢復流程的順暢性。
  • 優化恢復流程:根據演練結果,對數據恢復流程進行優化和改進。記錄恢復過程中遇到的問題和耗時,針對性地調整備份策略、恢復腳本或存儲架構,確保在實際需要恢復數據時能夠快速、準確地完成操作,減少數據丟失帶來的損失。

八、長期預防策略

8.1 定期鏡像倉庫到多個平臺

  • 選擇合適的鏡像平臺組合:除了前面提到的 GitLab、Gitee 等平臺外,還可以考慮 Bitbucket 等。根據項目特點和團隊需求,選擇 2 - 3 個不同的平臺進行倉庫鏡像。例如,對于開源項目,可以同時將代碼鏡像到 GitHub、GitLab 和 Gitee,以擴大項目的影響力和可訪問性,同時提高代碼的安全性和可用性。
  • 自動化鏡像同步設置:利用前面介紹的自動化同步工具和腳本,確保代碼在主倉庫和鏡像倉庫之間實時同步。定期檢查鏡像同步的狀態和日志,及時發現并解決同步過程中出現的問題,如網絡中斷、認證失敗等,保證鏡像的及時性和完整性。

8.2 自動化監控 GitHub 狀態頁

  • 使用 Prometheus 警報:通過 Prometheus 監控 GitHub 狀態頁的相關指標,如頁面響應時間、HTTP 狀態碼等。配置 Alertmanager 與 Prometheus 集成,當 GitHub 狀態頁出現異常(如響應時間過長或返回非 200 狀態碼)時,及時向團隊成員發送警報通知,如郵件、短信或即時通訊工具消息。
  • 其他監控工具推薦:也可以使用 Zabbix、Nagios 等監控工具來實現對 GitHub 狀態的監控。這些工具具有豐富的插件和擴展功能,可以根據團隊的具體需求進行定制化配置,確保能夠及時捕捉到 GitHub 宕機等異常情況。

8.3 制定團隊協作應急手冊并定期演練

  • 編寫應急手冊:將本文中提到的各種應急方案和操作步驟整理成詳細的團隊協作應急手冊,包括本地倉庫應急協作方法、多平臺鏡像與代碼遷移流程、通信與項目管理替代方案、CI/CD 流水線切換策略以及數據備份與恢復策略等內容。手冊應采用清晰易懂的語言和步驟描述,方便團隊成員在緊急情況下快速查閱和執行。
  • 定期演練與培訓:定期組織團隊進行 GitHub 宕機應急演練,模擬不同場景下的故障情況,讓團隊成員熟悉應急流程和各自的職責。演練結束后,進行復盤總結,針對演練中出現的問題進行改進和優化。同時,對應急手冊中的內容進行更新和完善。此外,還可以開展相關的培訓課程,向團隊成員講解 Git 的高級應用、多平臺協作技巧以及應急處理的重要性

編輯分享

給我一篇關于GitHub宕機自救指南的技術文章大綱

生成一篇GitHub宕機自救指南的技術文章大綱,要求包含應急通訊方案

寫一篇1000字的關于GitHub宕機自救指南的技術文章大綱

AI 搜索

搜索、提問或發消息

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/94862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/94862.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/94862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RK3588 android12 DDR開發指南相關記錄

一,DDR打印信息 DDR 打印信息包括 loader 中的打印和 kernel 中的打印,loader 中打印的解析如下:DDR Version 1.05 20170712// DDR 初始化代碼的版本信息,用于核對版本。從這行開始,已經進入DDR初始化代碼 In SRX // 有…

Docker 部署 GitLab 并開啟 SSH 使用詳解

在日常使用 GitLab 時,很多人習慣通過 SSH 協議 而不是 HTTPS 來拉取與推送代碼。但是在使用 Docker 部署 GitLab 的過程中,經常遇到 SSH 端口未開放、只能本地訪問、客戶端無法連接 等問題。本文將從零開始,詳細講解如何在 Docker 中正確開啟…

C/C++---前綴和(Prefix Sum)

在C算法與數據結構領域,前綴和是一種時間復雜度優化利器,尤其適用于頻繁查詢數組區間和的場景。它通過預先計算“前綴累積和”,將原本O(n)時間的區間和查詢壓縮至O(1),是面試、競賽及工程開發中高頻使用的基礎技巧。 一、前綴和的…

[n8n] 全文檢索(FTS)集成 | Mermaid圖表生成

第5章:全文檢索(FTS)集成 在前一章中,我們構建了REST API服務作為數據訪問入口。 本章將介紹全文檢索(FTS)集成,它如同智能搜索引擎,為工作流系統提供高效靈活的檢索能力。 核心架構 前文傳送: 技術選型 SQLite …

用戶模式與內核模式:操作系統的“權限雙軌制”

要理解用戶模式與內核模式,首先需要明確一個核心概念——進程(Process)。我們日常用C語言編譯生成的.exe文件,本質是“存儲在磁盤上的靜態程序”;當它被加載到內存并開始運行時,就轉化為“動態活動的進程”…

探索 Vertex AI 與 Elasticsearch

作者:來自 Elastic Jhon Guzmn 了解如何將 Vertex AI 與 Elasticsearch 集成來創建 RAG 應用。按照本教程配置一個 Gemini 模型并在 Kibana 的 Playground 中使用它。 更多閱讀: Elasticsearch:在 Elastic 中玩轉 DeepSeek R1 來實現 RAG …

[新啟航]白光干涉儀在微透鏡陣列微觀 3D 輪廓測量中的應用解析

引言微透鏡陣列作為由數百至數千個微米級透鏡單元組成的光學元件,在成像系統、光通信、傳感器等領域應用廣泛,其表面微觀 3D 輪廓參數(如曲率半徑、面型誤差、中心厚度等)直接影響光學性能。白光干涉儀憑借非接觸、高精度、三維成…

MTK Linux DRM分析(十四)- Mediatek KMS實現mtk_drm_drv.c(Part.2)

一、MTK KMS分析 mtk_drm_kms_init 函數分析 mtk_drm_kms_init 是 MediaTek DRM 驅動程序中的一個靜態函數(static int mtk_drm_kms_init(struct drm_device *drm)),位于 mtk_drm_drv.c 文件中。該函數的主要作用是初始化 DRM 設備的 Kernel Mode Setting (KMS) 子系統,包…

大模型RAG(Retrieval-Augmented Generation)

RAG檢索增強生成 一種結合了檢索與生成能力的人工智能技術,主要用于增強大型語言模型在特定任務中的表現。 含義 RAG 將檢索系統與生成模型相結合,當接收到一個查詢或問題時,模型首先通過檢索模塊從大規模知識庫中尋找與查詢相關的信息片段&a…

企業版Idea 無快捷鍵的啟動方式

在沒有快捷鍵的情況下啟動 IntelliJ IDEA 企業版,可以通過以下幾種方式進行操作: 1. 通過應用程序菜單啟動(適用于 macOS) 在 macOS 系統中,可以打開 Launchpad,在應用程序列表中找到 IntelliJ IDEA&#x…

智慧清潔革命:有鹿機器人如何重塑三大行業未來

作為有鹿智能巡掃機器人,每天清晨當城市還未蘇醒,我已悄然完成數萬平方米的清潔工作。搭載254TOPS算力的具身智能大腦,我正重新定義保潔、環衛和物業行業的清潔標準。技術賦能:智慧清潔的全面突破我搭載的Master2000通用具身大腦和…

安寶特方案丨AR異地專家遠程支持平臺,適合:機電運維、應急處置、監造驗收

隨著車間設備智能化程度的不斷提高,其復雜性越來越高,故障維修難度越來越大,嚴重依賴設備原廠的技術支持和上門服務。但設備廠家受制于地理遠近和專業人才數量的限制,服務的及時性和服務質量均很難保證。鑒于市場現有的通信聊天軟…

QT應用層項目20250822

01.服務器端代碼1.dbhelper.cpp#include "dbhelper.h" #include <iostream> #include <cstring>using std::string; using std::cerr; using std::cout; using std::endl;template <typename T> std::vector<T>& operator<<(std::…

【Linux】Linux基礎開發工具從入門到實踐

前言&#xff1a;學了Linux的指令&#xff0c;再就是Linux基礎開發工具&#xff0c;熟練掌握基礎開發工具是提升效率的關鍵。本文學習Linux的基礎開發工具&#xff0c;無論是軟件安裝、代碼編輯&#xff0c;還是編譯調試、版本控制&#xff0c;一套順手的工具鏈能讓你在開發路上…

黑馬點評|項目日記(day02)

目錄 一. 全局id生成器 1.為什么需要全局id生成器 2.傳統方式的缺陷: 3.典型全局 ID 生成方案的設計思路 二.優惠券秒殺-Redis實現全局唯一id 三.優惠券秒殺-添加優惠券 四.優惠券秒殺-實現秒殺下單 五. 一人一單問題 1.單體項目下 1,超賣問題思路分析 2.樂觀鎖解決問…

shell腳本編程規范與變量

文章目錄Shell編程文檔整理一、Shell介紹1.1 簡介1.2 Shell解釋器二、快速入門2.1 編寫Shell腳本2.1.1 創建腳本示例2.1.2 賦予執行權限2.2 執行Shell腳本三、Shell程序&#xff1a;變量3.1 語法格式3.2 變量使用3.3 變量類型四、字符串4.1 單引號4.2 雙引號4.3 獲取字符串長度…

【AGI使用教程】Coze 搭建智能體(1)

歡迎關注【AGI使用教程】 專欄 【AGI使用教程】GPT-OSS 本地部署&#xff08;1&#xff09; 【AGI使用教程】GPT-OSS 本地部署&#xff08;2&#xff09; 【AGI使用教程】Coze 搭建智能體&#xff08;1&#xff09; 【AGI使用教程】Coze 搭建智能體&#xff08;2&#xff09; 【…

(二分查找)Leetcode34. 在排序數組中查找元素的第一個和最后一個位置+74. 搜索二維矩陣

首先要明確二分查找算法如何實現&#xff0c;是采用左閉右閉還是左閉右開 左閉右閉 第?種寫法&#xff0c;我們定義 target 是在?個在左閉右閉的區間?&#xff0c;也就是[left, right] &#xff08;這個很重要?常重要&#xff09;。 區間的定義這就決定了?分法的代碼應…

損失函數,及其優化方法

什么是損失函數&#xff1f;損失函數&#xff0c;也稱為代價函數&#xff0c;是一個用來??衡量機器學習模型預測結果與真實值之間差距??的函數。損失函數的優化方法有哪些&#xff0c;各自優缺點是什么&#xff0c;他們的應用范圍是什么&#xff1f;方法類別代表算法核心思…

pyqt+Python證件號智能校驗工具

目錄 一、引言 二、GUI界面設計 1.相關提示 2.效果演示 3.界面設計.py 三、主要程序詳解 1.導入相關模塊 2.初始化設置 3.校驗過程 四、總程序代碼 一、引言 在數字化轉型加速的背景下&#xff0c;證件信息核驗已成為金融、政務、安防等領域的剛需。傳統人工校驗存在…