公告版位
從小害怕寫作文, 文筆不佳到現在, 還請各位讀者大大:
1. 發現有錯誤, 請留言告知. (或者你 '覺得' 不對也行)
2. 用字措辭不當, 請留言告知.
3. 有看沒有懂? 幫到忙也好, 幫倒忙也罷, 總之留個言吧.

pseudo-class vs pseudo-element


CSS v3 之前 (CSS v1, CSS v2) 沒有在語法上明確的區分 pseudo-class 和 pseudo-element 之間的不同. 二個都是以單一個 : 字元開頭.

但 CSS v3 的語法有明確的區分 pseudo-class 和 pseudo-element. 不過現行的 browser 為了相容性的原故並沒有嚴格區分此二者的語法.

  • pseudo-class 偽類別: 以單一個 : 字元開頭.
文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

Unicode 的誕生背景


最早電腦使用的字元編碼都是 ASCII. ASCII 作為美國的計算機編碼標準, 理所當然的只包含了英語的 26 字母大小寫, 再加上一些常用符號. 後來因應一些非英語系國家/地區需要, IBM 將 ASCII 編碼擴充加入他們各自所需要的一些特殊字元, 是為 code page. 例如: code page 437 是原始的英文頁碼; code page 858 是帶有歐元符號的多語言頁碼 (我們用的正體中文是 code page 950). 所以 DOS, Windows 作業系統上有 chcp 指令可以查訽/切換不同的 code page.

但是這只解決了區域性的交流問題. 國際交流上的問題依然存在(註一). 例如: 亞洲語系的問題, CJK 字元編碼統一的問題... 於是有了 Unicode 聯盟, 致力於制定標準, 並努力的將全球各種文字符號的編碼統一, 以利於資訊的交流.

註一: 主要是因為可使用的編碼數只有 256 個, 而不同 code page 之間會對應不同的符號, 進而無法得知資訊的原始樣貌.

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

Python3


Python3 已經支援 unicode, 所有的 .py 檔, 預設都是 UTF-8 編碼, 有沒有附帶 unicode BOM (Byte Order Mark) 都可以. 所以只要使用預設是 UTF-8 的編輯器 (例如: VS Code 或者在 Win10 下使用 notepad) 建立新的 .py 檔即可.

但是直接用 Python3 執行非 UTF-8 編碼的 (例如: Big5, UTF-16 BOM, UTF-16 no BOM 等編碼) .py 檔, 就會出錯 (Non-UITF-8 code). 例如使用 Python3 執行 Big5 編碼的這一段程式:

text = '字串測試'
print(len(text))
文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

前言


最近發現 Google Drive 的操作界面和我 2016 年寫利用雲端硬碟作為分享檔案及存放網頁的空間這一篇貼文時有些不同, 變動大了一些. 所以, 重新截取了操作畫面記錄一下如何利用它來作為分享檔案及存放網頁的空間. 也順便記錄一下如何解決某些類別的檔案 (.exe, .msi, .js...) 分享時無法直接下載的問題.

如何利用 Google Drive 作為分享檔案及存放網頁的空間


新版 Google Drive 的分享操作畫面如下: (sorry, 我習慣用英文界面, 用中文的可能要自行腦補一下.)

文章標籤

MagicJackTing 發表在 痞客邦 留言(1) 人氣()

前言


原本在 python 裡安裝 Jupyter 環境並不是什麼大事, 不過因為最近微軟的底層 library (ucrtbase.dll) 當中的 fmod() 函數, 修正修出了一個 bug (只要 Win10 更新至 2004 及 20H2 就會出現, 參考: 微軟 developercommunity 網站), 使得眾多需要用它的軟體 (例如: 線性代數函數庫) 都出了問題. 並且要到下一次更新時才會解決 (20H2 的下一個版本) 因此整個使用 windows 平台的 AI 及大數據相關的底層函數庫不得不做出一些更動. 像是 numpy 就決定: 原本最新的版本 1.19.4 不更動, 等候 MS 把問題解決, 問題就自解了 (因為其他平台並沒有這個問題); 但是相對的, 為了讓 Windows 平台上必需使用 numpy 的其他套件可以有暫時的解決方案, 而更動了 1.19.3 版進行暫時性的修補.

2021-01-13 更新:
numpy 已經釋出 1.19.5, 上述問題已經由新版的底層 OpenBLAS 函數庫解決. Windows 用戶安裝 numpy 已經不需再另行指定版本. (但是還是要注意是否避開了 1.19.4) MS 的修正應該是會隨著 21H1 一起發布.

文章標籤

MagicJackTing 發表在 痞客邦 留言(2) 人氣()

Windows Terminal's 設定 Git Bash, SSH, Docker, Anaconda


Windows Terminal 是 Windows 10 的一個免費 APP, 可以從 Microsoft Store 下載取得.

它自動認得 WSL 裡安裝的 Distro, 看起來相當不錯. 不過卻少了 git for windows 的 Git Bash, 和 SSH 的設定. 以下是如何設定讓它也可以直接啟動 Git Bash, 直接用 SSH 連上主機, 連上 Docker Container, 進入 Anaconda Prompt.

文章標籤

MagicJackTing 發表在 痞客邦 留言(2) 人氣()

前言


前幾天 (寫完其實已經過了一個多月了), 在 Windows10 上, 遇到了一個非常機車的問題: Python for Window 的執行檔 python.exe 被 Anaconda 版的 python.exe 綁架了.

狀況是這樣的, 最近去上了大數據/AI的課, 上課時教 python 的老師用的是 Anaconda 所提供的 Jupyter Notebook 環境, 所以同學的電腦上安裝的都是了 Anaconda 個人版 (Individual Edition) for Windows. 而我個人則是標新立異愛作怪, 用 Python 內建的虛擬環境, 再加裝上 jupyterlab 相關的 package, 還有其他上課所需的 package 來應付上課時的需求. (其實是因為上課之前試用過 Anaconda, 覺得它真的太肥了, 而且 Anaconda 整體反應有點 lag. 所以決定改用 python 內建的虛擬環境的功能內建置 jupyterlab 環境...)

其實, 說起來 Anaconda 對於一個 python 初學者同時又對電腦運作不甚了解的人來說, 算是一個不錯的選擇. 它以容易上手的圖形環境展現給一般使用者, 同時又預設好 jupyter notebook 網頁, 讓初學者可以只專注在學習 python 上. 可惜的是, 它的圖形系統有點厚重. 和它在 CLI 環境的輕便好用完全是二回事. 好了, 廢話不多說, 來看看到底發生什麼事?

文章標籤

MagicJackTing 發表在 痞客邦 留言(1) 人氣()

Windows 平台的安裝建議


在 Windows 安裝多個版本的 python 你需要注意以下幾點:

  • 使用一致的 '系統安裝' 或者 '用戶安裝'. 也就是第一個版本的 python 你是用 '用戶安裝', 以後就都用 '用戶安裝'. 不要一個是 '系統安裝' 下一個卻是用 '用戶安裝'. (這樣子當 Python 環境出現問題時會比較容易排查)
  • 在可行的狀況下, 盡量是用 '系統安裝'. 除非是要不到系統管理者權限無法進行 '系統安裝', 才改用 '用戶安裝'.
  • 除了最常用的版本之外, 其他的版本不要加進環境變數 PATH 裡 (即安裝時, 第一頁的 Add python 3.x to PATH 不要勾選). 如果已經裝錯了, 可以直接使用 '編輯系統環境變數' 來刪掉它 (一般是有二個 C:\Program Files\Python3x\Scripts\C:\Program Files\Python3x\).
  • 使用時請配合使用 python 虛擬環境 (強列建議), 或者參考以下說明.

文章標籤

MagicJackTing 發表在 痞客邦 留言(10) 人氣()

Python 自 3.3 版開始提供虛擬環境 (PEP405, virtual environments in core, Sept. 29, 2012).

個人以為主要是為了清理出一個乾淨開發環境, 以便將來部署時不會多出一些有的沒的 package:

  • 別的專案用的, 而且這個專案用不到的.
  • 正在測試學習的.
  • 或者猜想著這個 package 到底是有沒有用到 (不曾記得安裝過, 但實際上是因為和另一個 package 相依而自動安裝進來了).
  • 避免 package 和 python 本身 (以及其他 package) 不相容的問題. 同時也可以避免這些多出來 package 引發不相容的問題. (小弟不才只寫過二個 python 小專案, 引用的東西不多, 所以一直沒有遇到)

新版本的 python 可能或多或少會和一些 package 不相容(註一), 尤其像是當年 python 3.0 那樣的大改版. 但是各個 package 之間的版本相依性也是經常會引發問題. 使用虛擬環境可以讓我們在構建專案時把環境先弄好, 並鎖定為專案的專用環境, 不必擔心因為別的專案的需求而弄壞了這個專案的環境.

文章標籤

MagicJackTing 發表在 痞客邦 留言(1) 人氣()

highlight.js 的介紹文章貼在後面.

highlight.js 加行號


一開始在痞客邦套用 highlight.js 時, 沒有找到可以設定行號的功能. 隨後又在它的文件網站上看到作者希望保持原本 highlight.js 的設計初衷 "單純" (simplicity). 不只是程式上的單純化, 還有應用上的單純化, 簡單化. 因此原作者也就堅持不加上行號的功能(註一). 所以使用時也就沒有多想, 沒有行號就沒有行號唄.

文章標籤

MagicJackTing 發表在 痞客邦 留言(0) 人氣()

Close

您尚未登入,將以訪客身份留言。亦可以上方服務帳號登入留言

請輸入暱稱 ( 最多顯示 6 個中文字元 )

請輸入標題 ( 最多顯示 9 個中文字元 )

請輸入內容 ( 最多 140 個中文字元 )

reload

請輸入左方認證碼:

看不懂,換張圖

請輸入驗證碼