發表文章

目前顯示的是 2016的文章

NAT64 和 DNS 64

參考資料NAT64 and DNS64 in 30 minutesDNS64與NAT64的網路佈署圖 IPv4 要用完了 (喊了十幾年, 最近是玩真的了), 在骨幹和 server 都轉成 IPv6 的過渡期, 用戶端也要轉換, 不然 server 是轉心酸的。但是大量 server 還是用 IPv4, 所以要讓 client 能同時支援 IPv4 和 IPv6才行。如果你是網管, 希望讓用戶可以同時連 IPv4 和 IPv6 的位置, 一個可能的作法是建置「純 IPv6 環境」, 永遠拿到 IPv6 位置, 永遠連 IPv6 的位置。但要讓 IPv6 client 也能連 IPv4 位置, 需要 NAT64+DNS64 幫忙處理。 原理是 DNS64 會同時查 IPv6 和 IPv4 的位置, 有 IPv6 就用 IPv6, 沒有就轉換 IPv4 為 IPv6, prefix 配合 NAT64 的設定, 讓 client 連往該 IP 的封包會先經過 NAT64 router。第二份 slide 有詳細的流程圖。 然後 NAT64 會再轉換 IPv6 的封包成 IPv4 出去, 無縫接上用 IPv4 位置的 server。至於 client 收到 DNS64 回應的正常 IPv6 位置, 就透過一般 router 直接出去, 不用經過 NAT 64。 對設計後端 server 的人來說, 有愈多用戶可以連 IPv6 位置, 有愈高的機會考慮用 IPv6 位置。對 app 開發者來說, 了解有些用戶的網路環境會用 DNS64+NAT64 的配置, 所以要用 domain name 連上自家 server, 這樣自家 server 用 IPv4 或 IPv6 都會通。

查詢 Web 標準是否有支援

如何 git merge 更改檔名的檔案

參考資料:http://stackoverflow.com/questions/4722423/how-to-merge-two-branches-with-different-directory-hierarchies-in-git 如果在 branch 裡有 rename file X 為 Y, 並且 master 和 branch 都有改 X ( Y ) 的內容。那麼, merge master 的時候, git 可能會回報 master 的 X 被刪除了, 造成 merge conflict (deleted in ... and modified in ...)。 解法是提高 merge.renameLimit, 比方說 git config merge.renameLimit 999999999。merge 時間會久一點, 但 git 會找出 X 在 branch 裡已被 rename 成 Y。

用 vimdiff 作 git merge

參考文章http://www.rosipov.com/blog/use-vimdiff-as-git-mergetool/http://yodalee.blogspot.tw/2013/03/vimdiffgit-merge-conflict_28.html 以前我用 kdiff3, 後來需要在 terminal merge, 改試 vimdiff, 也很好用。 設定:$ git config --global merge.tool vimdiff 執行 (在 git merge 有 unsolved conflict 後):$ git mergetool UI 顯示: 左上: LOCAL 中上: BASE 右上: REMOTE 下面: 編輯區 vim 指令:[c, ]c: 在 hunk 間移動, 和 vim-gitgutter 一樣 搜 "<<<<" 找 conflict:diffget LOCAL: 目前的 hunk 選用 LOCAL:diffget REMOTE: 目前的 hunk 選用 REMOTE:diffupdate: 更新 diff 畫面 修改後存檔離開, 會自動 resolved conflict。無修改離開會跳過 merge, 維持原本狀態。 其它查看 merge 狀態:$ git status 如果整份檔案都要選用 LOCAL, 改用 git 指令:$ git checkout --ours 全用 REMOTE:$ git checkout --theirs

Android 雜項備忘

有需要就慢慢補記....解開 apk 內容 (包含解開 binary 的 AndroidManifest.xml) android - How to parse the AndroidManifest.xml file inside an .apk package - Stack Overflow

software license 備忘

這東西太複雜了, 看到不錯的連結就備忘一下:Licenses - Choose a License: 簡化的比較表, 容易看出差異Comparison of free and open-source software licenses - Wikipedialicensing - What "sublicense" actually means? - Programmers Stack Exchange: BSD 和 MIT 不同, 前者不允許改 license, 後者可 (更寛鬆)