Liusan 柳桑
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.

      Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

      Explore these features while you wait
      Complete general settings
      Bookmark and like published notes
      Write a few more notes
      Complete general settings
      Write a few more notes
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note No publishing access yet

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.

    Your account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Your team account was recently created. Publishing will be available soon, allowing you to share notes on your public page and in search results.

    Explore these features while you wait
    Complete general settings
    Bookmark and like published notes
    Write a few more notes
    Complete general settings
    Write a few more notes
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 每日 IT 用語筆記 > 想到就記錄,填補開發路上的坑坑洞洞。 ### D24 開發用語 + 開發流程 ``` アイデア(想法) → POC(概念驗證) → MVP(最小可行產品) → 本格開発(正式開發) → リリース(發佈) ``` + POC vs MVP 差異 + POC(Proof of Concept)概念驗證 + 👉 驗證技術/想法是否可行 = 能不能做 + MVP(Minimum Viable Product)最小可行產品 + 👉 驗證市場是否有需求 = 有沒有人用 + ドッグフーディング(Dogfooding) :內部試用自家產品 + 例)新しい Slack 風のツールを開発中で、今社内でドッグフーディングしています。(我們正在開發類似 Slack 的新工具,目前在公司內部試用中。) + キックオフ(Kick-off) :專案啟動,源自足球的「開球」 + 例)コールデンウィーク明けにキックオフします。(會在黃金週後啟動專案。) ### D23 TTL + TTL = Time To Live 的縮寫,表示「存活時間」或「有效期限」 + 目的:控制資料在系統中的存活期限,避免資料太舊以確保更新性 + 原理:設定一個時間值(通常單位是秒),超過後資料會自動失效或被刪除 + 實際用途: + DNS 中的 TTL:透過快取減少查詢次數,提升解析時間 + 網路封包中的 TTL:防止網路封包無限循環,提升網路穩定性 + 設定資料庫中的 TTL:自動清理過期資料,以節省儲存空間與確保資料時效性 ### D22 命令式 vs 宣告式 + 命令式程式設計(Imperative Programming) + 關注如何執行(How) + 具體步驟描述 + 直接修改變數 + 明確的迴圈、條件 + 宣告式程式設計(Declarative Programming) + 關注要什麼結果(What) + 結果導向描述 + 避免狀態變更/副作用 + 抽象化的操作 + 實務作法:使用純函式(Pure Functions)、不重新賦值變數(Immutability)、避免破壞性變更(Non-destructive operations) 透過宣告式程式設計,能提升程式碼可讀性與可維護性,但在需要考慮效能優化等情況(Case by case),以命令式撰寫會更適合。 ### D21 本地端部署 On-premises オンプレミス(On-premises,本地端部署):是指在公司內部本地環境中部署和管理資訊技術基礎設施,包括伺服器、軟體和資料庫等。與雲端服務(Cloud)相對,On-premises 提供完全的自主控制權,主要應用於需要嚴格資料控管的情況,如政府部門、銀行、醫療相關行業。 * 本地端部署(On-premises) * 完全自主控制、自行負責安全措施、受硬體限制不易擴展、需專業 IT 團隊、高度機密資料 * 雲端服務(Cloud) * 依賴第三方服務、與服務商共同責任、可即時彈性過展、快速部署需求、有效成本控制 * 混合雲(Hybrid Cloud)策略 * 可結合兩者優勢,在關鍵系統使用 On-premises,一版應用採用 Cloud 服務 ### D20 GraphQL vs RESTful API * GraphQL:Client 主導的靈活查詢 * 是一種 API 查詢語言,單一端點 `/graphql` * Client 端指定「彈性」資料結構 * 一次拿到所有需要的資料,減少網路請求 * 強型別系統 - 自動產生文件和型別檢查 * 適合複雜的資料關聯查詢 * REST: Server 主導的標準化操作 * 是一種基於 HTTP 的軟體架構風格,多個端點 `/users`、`/posts…` * Server 端定義「固定」資料結構 * 成熟的工具生態,學習曲線平緩 * 明確的HTTP 語義和快取機制 * 適合簡單的 CRUD 操作 ### D19 字元編碼 Character Encoding 文字コード 由於電腦只認識 1 和 0(二進位),必須透過字元編碼,將文字轉換成數字來儲存資訊。而為了解決不同系統之間的通訊需求,需制定共同標準,以達到相同的編碼結果。 * ASCII * 美國標準資訊交換碼(American Standard Code for Information Interchange),由 ANSI 制定的電腦編碼系統 * 提供 128 個字元組合的 7 位元編碼,支援英文字母、數字、符號 * EBCDIC * 延伸二進位編碼十進位交換碼(Extended Binary Coded Decimal Interchange Code),由 IBM 提出的解決方案 * 提供256 個字元組合的 8 位元編碼,用於企業行系統 * Shift-JIS * 日本電腦系統通用的字碼標準 * Big-5 * 台灣通用的字碼標準 * Unicode * 統一碼/萬國碼,由統一碼聯盟 (The Unicode Consortium) 制定,涵蓋世界上所有文字的國際字碼標準 * 使用 21 位元的編碼空間,實際儲存需透過 UTF-8、UTF-16 等編碼格式 * UTF-8 * UTF-8(8-bit Unicode Transformation Format)是一種可變長度的Unicode 編碼格式 * 向後相容 ASCII,為目前全球編碼主流 > Unicode vs UTF-8 用書來比喻 Unicode = 圖書分類標準,決定全世界每本書的編號 UTF-8 = 實際書本擺放方式 ,決定編號文學 001 的書放在第 1 格 #### 發展歷史 1960s ASCII(7位元):只有英文 1970s EBCDIC:IBM 企業級電腦專用 1980s 各國自製編碼:Shift_JIS 日本 / Big5 台灣 / EUC (Extended Unix Code)… 1990s Unicode(21位元):統一全球標準 2000s UTF-8:最佳實作方式 ### D18 雲端應用開發流程 1. 需求分析 & 技術選型 Technology Selection 2. 前端開發:React + React Router + Axios + Zustand 等套件 3. 後端開發:Node.js + Express + PostgreSQL 4. 整合測試:API介面、資料庫連接、前後端整合等 5. 容器化準備:環境變數、路徑配置 6. Docker/Podman 容器化 7. AWS ECR:提供容器映像存儲服務 8. Kubernetes Cluster(K8s 叢集):自動化部屬、擴展及管理多個容器的系統 9. ArgoCD GitOps:持續部署自動化 後端到部署相關的知識實在過於薄弱,連一些工具相關的單詞都不知道是在做什麼,只好一個一個坑慢慢補了。 ### D17 開發相關 * 編譯 コンパイル Compile * 重新編譯 再コンパイルする Recompile * 從編譯到執行 コンパイルから実行まで From compile to execution * 渲染 レンダリング Rendering * 解決衝突 コンフリクトを解決する Resolve conflicts * 管理依賴 依存関係を管理する Manage dependencies * 更新/安裝/移除套件 パッケージを更新する/インストールする/削除する Update/Install/Remove packages * 擴充系統功能 システム機能を拡張する Extend system functionality * 安裝擴充套件 拡張パッケージをインストールする Install extension package * 開發外掛程式 プラグインを開発する Develop plugin ### D16 常見開源授權 * MIT * 最自由的軟體授權條款 * 需保留版權聲明 * 代表:前端三大框架 Angular/React/Vue、PHP Laravel、jQuery * Apache 2.0 * 廣泛應用在商業開發,提供專利保護 * 需保留版權聲明 + 標註修改 * 代表:swift、Apache2、Android、Kubernetes * GPL(General Public License) * 最早出現的開源條款 * 強制開源(又稱病毒式開源),衍生作品必須同樣採用 GPL * 代表:Linux、MySQL、WordPress * BSD * 介於 Copyleft(著作傳)至 Copyright(著作權)之間的Copycenter(中間版權) * 需保留版權聲明,允許閉源 * 代表: nginx、Django、FreeBSD * LGPL * 較寬鬆的GPL * 只有修改部分需開源 * 代表:OpenOffice * CC0(Creative Commons Zero) * 放棄所有版權,無任何要求 = No Rights Reserved * 代表:免費圖庫素材 ### D15 實現多人協作:OT vs CRDT 為了解決多人協作時的衝突,主要有兩種實現方案: 1. Operational Transformation (OT):操作轉換 2. Conflict-free Replicated Data Types (CRDTs):無衝突複製資料型態 兩種演算法的差異主要如下: * OT:透過「轉換操作」解決多人協作的衝突 特徵:由伺服器處理(集中式)達到即時同步,保證強一致性,但實作上相對複雜 * 應用:Google Docs、Notion、HackMD * 框架:ShareJS * CRDT:透過「特殊資料結構」避免衝突產生 特徵:去中心化(分散式)架構達到異步同步,保證最終結果一致性,擴展性高 * 應用:Git 版本控制、分散式資料庫 * 框架:Yjs、AutoMerge ### D14 WAF(Web Application Firewall)網站應用防火牆 WAF 是專門保護網頁應用程式安全的防火牆,透過監控及過濾 HTTP/HTTPS 流量,阻擋來自網路的惡意攻擊。 特點: 1. 運作在應用層(OSI模型第7層):針對應用程式層面的攻擊,負責過濾惡意流量 2. 反向代理結構:網站流量會先經過 WAF,再到網站伺服器,避免伺服器直接暴露真實IP地址 3. 攻擊檢測:識別SQL注入、跨站腳本(XSS)、跨站請求偽造(CSRF)、分散式攻擊(CC Attack)、惡意 Bot 爬蟲等常見攻擊 ### D13 退信 Bounce バウンス 退信(Bounce):指發送的電子郵件無法送達收件人,而被退回給寄件人的情況。退信率(無法寄達的郵件佔總寄出郵件的比例)高低,將影響到寄件人郵件信譽(Email Reputation),使郵件容易被標記為垃圾信件。 郵件退信可區分為: 1. 絕對退信(Hard Bounce):無法被收信服務器接收的永久退信 例) 無效的郵件地址、不存在的域名、被列入黑名單 2. 軟性退信(Soft Bounce):暫時性原因導致無法寄送被退回,通常會自動嘗試重新發送 例) 收信郵箱容量已滿、郵件檔案過大、臨時性伺服器問題 根據 SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議)錯誤代碼,了解退信通知的種類與其對應解決方式,即可有效降低退信率。 ### D12 課金方式 1. 従量課金(じゅうりょうかきん) /使用量課金:從量計費 Usage-based pricing/ Pay-as-you-go pricing(PAYG) 例) 雲端服務根據儲存容量計費 2. 定額課金(ていがくかきん):固定費率 Flat-rate pricing / Fixed pricing 例) 月費固定的Netflix 串流服務 3. 定額従量課金:基本費用+根據用量額外計費 Hybrid pricing 例) 手機費率、瓦斯費 4. ユーザー数課金:用戶數計費 Per-user pricing / User-based pricing 例) Salesforce、Slack 等企業用 SaaS 軟體 5. 段階的課金:階梯式計費 Tiered pricing / Graduated pricing 例) 電費 ### D11 FP - Pure Function & Currying * 純函數 Pure Function:單輸入單輸出,不產生副作用(Side Effect)的 function ``` const add = (a, b) => a + b ``` * 柯理化 Currying:將一個接受 n 個參數的function,轉換成 n 個只接受一個參數的 function ``` const curriedAdd = a => b => a + b ``` * 函式程式設計 Function Programming(FP):以純函數(Pure Function)為基礎,利用柯理化(Currying)等技術實現的設計模式 ``` const nums = [1, 2, 3]; const added = nums.map(curriedAdd(2)); // [3, 4, 5] ``` ### D10 更新與修復 * 熱修復 (Hotfix):針對緊急問題的快速應對 * 修補程式 (Fix Patch):有計劃性的更新 * 更新(Update):軟體的一般性更新 * 服務包 (Service Pack = SP):大規模更新套件 * 錯誤修復 (Bug fix):修正特定缺陷 * 臨時解決方案 (Workaround):暫時性迂迴策略 * 解決方案 (Solution):根本性解決辦法 * 發布 (Release):軟體公開 * パッチ(patch)を当てる/Hotfixを適用(てきよう)する:套用更新檔/熱修復 * Stage/Patchをリリースする:發布~ * ワークアラウンド(Workaround)/更新を実施(じっし)する ### D9 略語 りゃくご * LGTM:Looks Good To Me 看起來不錯 = 給過 * TL;DR:Too Long; Didn’t Read 太長了,沒看 = 懶人包 * WIP:Work In Progress 工作進行中 * TBD:To Be Determined 待確定 * TBR:To Be Reviewed 待審核 * BTW:By The Way 順帶一提 * FYI:For Your Information 供參 ### D8 認證標準 * ISO/IEC 27001 * 資訊安全管理系統的國際標準,2022年新版涵蓋資訊安全、網路安全與隱私保護 * 由國際標準化組織(ISO/IEC)制定,作為ISMS認證的基礎標準 * ISMS 認証 * 情報セキュリティマネジメントシステム認証 * ISMS = 資訊安全管理系統(Information Security Management System) * 基於ISO/IEC 27001 * 在日本,由日本資訊經濟社會推進協會(JIPDEC)作為認證機構運營 * JIS 日本産業規格 * JIS = 日本工業規格(Japanese Industrial Standards) * 基於日本工業標準化法制定的國家標準 * 由日本產業標準調查會(JISC)制定 * Pマーク * プライバシーマーク 隱私標章 * 基於JIS Q 15001(個人情報保護) ### D7 網路用語 * プロトコル Protocol 協定 * クライアント Client 客戶端 * サーバー Server 伺服器端 * リクエストrequest 請求 * レスポンス response 回應 * ネットワーク Network 網路 * LAN(Local Area Network)區域網路:限制封閉區域內連線,現代LAN通常由無線 Wi-Fi 和有線乙太網路構成 * WAN(Wide Area Network)廣域網路:提供遠距離網路連線 * INTERNET インターネット 網際網路:連接全球網路 ### D6 淺拷貝 vs 深拷貝 * 賦值 Assignment(代入 だいにゅう) * 原始型別是 by value(值傳遞):複製實際的值 * 物件型別是 by reference(引用傳遞):只改變指向的對象,完全共享同一物件 * let obj1 = {x: 10}; * let obj2 = obj1; * 淺拷貝 Shallow Copy(シャローコピー) * 只複製物件的最外層,內部巢狀結構則是共用 * spread operator: let obj3 = {...obj1}; * 深拷貝 Deep copy(ディープコピー) * 完全複製整個物件結構 * let obj4 = JSON.parse(JSON.stringify(obj1)); ``` // 原始型別 let a = 5; let b = a; // 值的複製(賦值) // 物件型別 let obj1 = {x: 10}; let obj2 = obj1; // 引用的複製(賦值,不是淺拷貝) // 淺拷貝 let obj3 = {...obj1}; // 複製最外層屬性 // 深拷貝 let obj4 = JSON.parse(JSON.stringify(obj1)); // 完全複製 ``` > Ref:[Javascript 的 Shallow copy VS Deep copy](https://fufong79570.medium.com/javascript-%E7%9A%84-shallow-copy-vs-deep-copy-f1ed7dca5db0) + 精神時光屋:精神と時の部屋(せいしんとときのへや,Hyperbolic Time Chamber) + プロジェクトの締め切りが迫る中、上司が精神と時の部屋に入った。 + まるで精神と時の部屋に入ったかのように、外の世界から切り離された感覚になった。 ### D5 開發用語 クレデンシャルをセットする Setting credential 設定憑證 テストが失敗する・落ちる Test failed 測試失敗 コンストラクタで引数(ひきすう)を渡す Pass arguments in the constructor 透過建構子傳入參數 キャッシュを消す Clear cache 清除緩存 ### D4 開發用語 * ソースコード Source code 原始碼 * リファクタリング Refactoring 重構 * コードレビュー Code review 程式碼審查 * バージョン管理 Version control 版本控制 * デザインパターン Design patterns 設計模式 * デフォルト Default 預設值 * カスタム Custom 客製化 * コネクション Connection 連線 * リダイレクト Redirect 重新導向 * プラットフォーム Platform 平台 ### D3 多租戶技術 Multi-Tenancy Technology マルチテナント(Multi-Tenancy Technology,多租戶技術):是一種「軟體架構技術」,允許單一軟體同時為多個使用者(租戶)提供服務,而租戶之間的資料和操作完全獨立,具備可擴展性並降低維護成本。 #### 實際應用: SaaS(軟體即服務,Software as a Service)雲端服務架構,如 Gmail, Salesforce, Dropbox 等,不同租戶之間資料隔離,但共享相同的軟體基礎設施。 ### D2 命名規則 Naming Convention 1. 烤肉串命名 `kebab-case`(ケバブケース) * 使用小寫字母,單詞之間用連字符(-)連接 2. 駝峰式命名 `camelCase`(キャメルケース) * 小駝峰 lowerCamelCase:第一個單詞首字母小寫 * 大駝峰 UpperCamelCase:首字母都大寫,又稱 PascalCase 3. 蛇形命名 `snake_case`(スネークケース) * 小蛇形式 lower_snake_case:全部小寫字母 * 大蛇形式 UPPER_SNAKE_CASE:全部大寫字母,又稱SCREAMING_SNAKE_CASE ### D1 藍綠部署策略 Blue-Green Deployment ブルーグリーンデプロイメント(Blue-Green Development,藍綠部署):是一種「軟體更新策略」,透過設定兩個完全相同但獨立的環境,一旦新功能在綠色環境測試完成,就會將使用者從舊版(藍色)切換至新版(綠色),以達到最小停機時間的目的。

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password
    or
    Sign in via Google Sign in via Facebook Sign in via X(Twitter) Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    By signing in, you agree to our terms of service.

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully