顯示具有 nas 標籤的文章。 顯示所有文章
顯示具有 nas 標籤的文章。 顯示所有文章

2020年9月3日 星期四

[NAS] 讓 NAS 能在區網外做外部存取 (external access)

  • Router setting
    • 若 server 是架在區網內, 且區網透過數據機與 Router 來連接 Internet, 則 Router 的部分應該要注意以下三個部分: (以 Synology來說, 也可透過 Synology的服務, 來進行設定).
      • WAN(Wide Area Network): 設定 Router 對外連網
        • 注意是動態 IP or 靜態 IP 上網
          • 以 Hinet為例, 20Mbps以上的資費即可申請固定 IP
          • 撥接的帳號通常也不太一樣 (e.g. Hinet 固定 IP 用 yourHinetID@ip.hinet.net帳號, 動態 IP 則用 yourHinetID@hinet.net 當帳號)
      • DDNS (Dynamic Domain Name Service): 註冊 Domain Name, 每次連線自動配對 Domain Name與動態取得的 IP
        • DDNS server 註冊帳號, e.g. 免費的 FreeDNS
        • Router 註冊 DDNS updater
      • NAT (Network Address Translation): 轉換對外 port 與 Router 內部機器的 port
  • Reference

2017年12月8日 星期五

[Android] sync code


  • version control tools
    • repo
      • 簡介: 主要靠 Manifest 來記錄 remote, remote url, 各 project revision等資訊. Manifest 為一個 XML格式的檔案, 記錄各 project git 資訊, 預設的檔案名稱是 default.xml
      • 用法:
        • repo init -u mainfestURL -b branch
          • 通常第一步即透過 mainfest 的 URL得到想要的 manifest資訊, 會產生一個隱藏資料夾 .repo, 通常也可以製作 snapshot.xml
        • repo sync
          • 通常緊接於 repo init 或是透過 snapshot init後, 需要由 repo 通知各 project 進行 git checkout的動作
        • repo upload
          • 較少用到, Manifest 裡 remote 的欄位有設 review url的話, 便會進行 git push 的動作.
    • git
      • git checkout -b localBranchName remoteBranchName
      • git commit
        git commit --amend
        可修改最後一次 commit的內容
      • git push
        將 change 上到 remote
      • git pull
        sync .git 的資訊, 更新 metadata, 檔案等尚未進行 sync
      • 與 repo 可以整合應用, e.g.:
        repo forall -c 'git checkout branch'
      • git config
        設定 git的 configuration, 通常用在設定 user name跟 e-mail
      • git add fileName
      • git reset
      • 僅更改 file status
      • git checkout
      • 會重新抓檔案
      • git update-index --chmod=-x fileName
      • git diff (--cached)
      • git status
        非常常用, 看各個檔案目前是在什麼 status: tracked, untracked,...
  • Sync Android code
    • Setup repo
      • mkdir ~/bin
      • PATH=~/bin:$PATH
      • curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
      • chmod a+x ~/bin/repo
    • Setup git
      • git config --global user.name "Your Name"
      • git config --global user.email "you@example.com"
      • P.S.: 若是在 synology nas上操作的話, 可能遇到
        error: could not lock config file /var/services/homes/yourName/.gitconfig: No such file or directory
        的問題
        • 在 Control Panel->User Account->Advanced Option中啟用家目錄即可
      • repo init -u https://android.googlesource.com/platform/manifest
      • repo sync -j8
    • Reference: Downloading the Source