【Linux】【Apache】http重新導向https

Apache設定檔


環境:Ubuntu 16.04 、Apache 2.4.18


Ubuntu 的Apache 中並沒有 httpd.conf 這個設定檔,
httpd.conf 通常指的就是在 /etc/apache2 底下的設定檔。

若要修改Apache 的設定,
在 /etc/apache2/sites-available 資料夾底下有兩個設定檔,分別是:
000-default.conf:http 的設定檔案
default-ssl.conf:https 的設定檔案

經由這兩個檔案來協助,
通常不會直接去動 /etc/apache2/apache2.conf

【Windows】【IIS】no mapping for the unicode character exists in the target multi-byte code page.

在Win10上使用IIS時,遇到

FTP 資料夾錯誤
複製檔案到 FTP 伺服器發生錯誤。請確認您有權可以將檔案放到伺服器上。
詳細資料:

200 Type set to I.
207 Entering Passive Mode (IP...).
451 No mapping for the unicode character exists in the target multi-byte code page.



【Git】Git LFS:Git Large File Storage

下載 https://git-lfs.github.com/

$ git lfs install
設定檔在 ~/.gitconfig裡,多了這幾行

【Hardware】晶片製造流程介紹 IC Design Flow

IC(Integrated circuit 集成電路、積體電路) 與 Chip(晶片)的差異:
可以指同一種東西,Chip常由多個IC組成,
在晶片製造後期通常會稱晶片為Chip而較少稱作IC。


【Python】安裝 Jupyter Notebook

> pip3 install jupyter

安裝完後

> jupyter notebook




【Git】git push 上傳時卡在"Writing objects 0% "

想把較大的檔案文件上傳到github,大約1GB大小,

由於以往沒有上傳這麼大的檔案過,雖然盡量不要直接上傳大型二進位檔案(影片或大圖片)上傳及下載速度會拖很久,

但這次上傳的是C#教材範例程式,檔案真的很肥。

當欲上傳時 $ git push 卻卡在"Writing objects 0% "

因上傳的資料夾太大了、Buffer卻沒這麼大,可以把上傳Buffer調整大一點


$ git config --global http.postBuffer 524288000

或者

$ git config http.postBuffer 524288000

前者在Win10作業系統 設定檔路徑為 C:\users\User\.gitconfig
後者設定檔在 .git\config


(524288000 Bytes = 500MB)
(1048576000 Bytes = 1GB)
(2097152000 Bytes = 2GB)

數字不可調超過電腦記憶體大小。

除了調整Buffer大小之外,也可以分批上傳。

【Java】JDK、JRE、JVM等 JAVA名詞介紹

JDK:Java 開發工具包(Java Development Kit),專門給程式設計師用的一個軟體開發套件。
又被稱Java SDK軟體開發工具包。
常看到J2SE、或是SE版本是Java標準版本 Standard Edition,
EE版本則是企業版本 Enterprise Edition。
JDK裡包含有JRE。

JRE:運行"用Java製作好的軟體"時所需要的環境(Java Runtime Environment)。
所以一般使用者、玩家們要載、安裝 JRE 才能玩"透過java開發的遊戲、軟體"。

JVM:Java虛擬機器(Java Virtual Machine),可以想像成模擬器,已經包在JRE裡面。
透過JRE裡面的JVM運行,我們才得以跨平台使用java軟體。
就類似能在電腦上模擬手機運行畫面、進而玩手機遊戲。


【版本對應】
JDK 1.7 <=> JRE 7u... <=> Java SE 7
JDK 1.8 <=> JRE 8u... <=> Java SE 8
JDK 11 <=> Java SE 11 (Java 11 的 JRE包含在JDK11裡,但沒有單獨釋出JRE 11,
所以官方網站只找的到JRE7、JRE8...等,卻找不到JRE 11)

【Android】【Linux】Android vs Linux的差別

Android 是 Google基於 Linux核心上開發出來的。

而 Linux是用C語言開發的。
Android之所以能跑 Java 編寫出來的app,是因為在核心上運行了JVM虛擬機器。

JVM透過 Kernel 來運行,Android app 透過 JVM來執行。

【Linux】Linux vs Unix 的差別

Unix是多行程、多用戶的作業系統,透過文字指令來操作。

先有不開源的 Unix,才有 開源自由軟體Linux(GNU/Linux)。

Linux 跟 Unix 指令、功能皆大同小異,
Linux 是 Unix的重現版,但是Linux並沒有包含任何Unix的程式碼。

Linux是Kernel,
Linux發行版(Linux distributions) 是作業系統。


【Python】if __name__ == '__main__' 的意思

初學 Python 看別人程式碼的時候,
以為 if __name__ == '__main__':  這串敘述等同C語言 int main() 裡面的區塊。

但後來才認識到,這串 if __name__ == '__main__':  效果及用法卻截然不同。

尤其是 python 就算有這句敘述,仍然是由上而下一行行執行,
而C語言則是先執行int main()區塊。




用python寫好的一個.py檔案,只會發生以下兩種情況:

【Python】requirements.txt 寫法


在 Python Package中,通常會加入一個名為 requirements.txt 的檔案,

裡面放的是執行這包 Package 所需要用到的library套件。

(在Github隨便找幾篇別人寫的程式來當範例:1、2、3)


【Chrome套件】不用登入會員也能看蘋果日報、擋住各大閒置視窗--uBlock Origin


在蘋果日報網站上看新聞時,常常要登入會員才能看

(推測是以網頁cookie來記錄使用者看了幾則新聞)



我們可以透過 Chrome 擴充套件 -- uBlock Origin (好用程度跟 AdBlock 並駕齊驅)來防止需要登入才能看的狀況。

另外,uBlock Origin 除了阻擋瀏覽器的一般廣告之外,還能而外執行指令、小腳本、或過濾條件。


【這到底是什麼】 WIFI的 3G、4G、5G世代?頻率5GHz 與 2.4GHz 差異?

常聽到的3G、4G、5G網路是什麼?
WiFi中的 5G跟2.4G又是什麼?

上述兩者大相逕庭。
3G、4G、5G網路指的是網路世代(Generation),
每個世代傳輸速度都進步了至少10倍以上速率、盡可能降低網路延遲。
世代彼此間的通訊協議、訊號涵蓋範圍、基地台的傳輸功率(包括對人體潛藏的風險)皆有所不同。
今年是2020年,台灣所使用的手機基本都是 4G行動網路。



5GHz 與 2.4GHz 指的是頻率通道,要透過5GHz頻率傳輸還是要走2.4GHz這條通道。
5GHz 技術較新,欲連接的設備(如筆電、手機)不一定都支援。
5GHz 帶寬較寬,理論上能比 2.4GHz 傳輸來的快。
5GHz 訊號能射得比較直比較遠、2.4GHz 較會繞障礙物。
2.4GHz 容易受到家中電器的訊號干擾,如微波爐、使用2.4GHz頻段的無線滑鼠或鍵盤 (滑鼠、鍵盤以及WIFI訊號都會斷斷續續的)

【Win10】開啟熱點分享

不論是筆電或桌電要開分享,必須先開啟WIFI,否則會找不到開啟熱點選項。
(桌機的主機板必須有無線網卡支援WIFI、或者插上外接WIFI裝置 如:USB轉無線Wi-Fi)

【Foobar2000】播放.tak 無損音樂

不知道為何 Potplayer 雖然支援 .tak格式,但卻無法正常打開音樂文件來播放,遇到曲目都會自動地不斷跳下一首。






【Router】【中華電信】ADSL數據機-管理者帳號密碼

家用的中華電信Hinet路由器 (ZyXEL ADSL Modem) 俗稱小烏龜
這台中華電信免費安裝的熱點分享路由器,
因為沒有天線,Wifi訊號沒辦法傳送到很遠




【Python】PYTHONHOME 跟 PYTHONPATH 簡略說明


系統環境變數:

PATH:放置系統指令(Windows CMD等等)的路徑,以便系統能找到指令所在位置的資料夾,
同時也會放置了PYTHON指令腳本及Library。




PYTHONHOME:如果沒有設定此值的話,PYTHONHOME預設值為 python安裝目錄。所以通常不用特別為此值進行設定。若要自己設定,在Windows系統輸入環境變數
PYTHONHOME值=%PATH%、或指向python安裝目錄




PYTHONPATH:用來放私人或自己開發的模組套件的位置。
如:模組放在桌面上PYTHONPATH=C:\Users\使用者名稱\Desktop。

【Win10】刪除開機選單


在同一台電腦上配置2個以上Windows作業系統的話,

除了透過 Bios 選擇要用哪個磁區開機之外,如果是Windows系統 Windows也有提供自己的開機選單(Windows Boot Manager),用以載入不同版本的Windows作業系統。


【Python】對付__pycache__的幾種方法


python在執行包含其他模組import module的過程中,會出現__pycache__的資料夾,
這顧名思義是python cache的檔案。



裡面是一些 .pyc檔案。


註:
.py:編寫好的程式碼、Script。
.pyc:Python經過編譯(Compile)後產出的位元組碼(Bytecode)。以便未來在 import module時,程式能夠更快載入。
$ python -m compileall main.py
.pyo:優化(Optimizations)過後的.pyc。
.pyd:可視為.dll檔案。
.pyw:以視窗模式執行的檔案(以pythonw.exe開啟)。





防止__pycache__產生的方法:

在下指令的時候,可單次防止__pycache__資料夾產生
$ python -B main.py


或者另一個方法是,

添加系統環境變數 PYTHONDONTWRITEBYTECODE=1 (或是其他非空數字)

可防止之後在命令列模式下產生__pycache__資料夾。








至於若直接對.py檔右鍵 點擊 Edit with Idle,按F5執行仍會跑出__pycache__資料夾來,對此還不知道如何解決。

Idle 的 Command在註冊表中的這個路徑
電腦\HKEY_CLASSES_ROOT\Python.File\Shell\editwithidle\shell\edit36\command

其預設值為
"C:\Users\GJLMoTea\AppData\Local\Programs\Python\Python36\pythonw.exe" -m idlelib "%L" %*




防止__pycache__上傳到Github的方法:

今天若僅是不將__pycache__上傳同步到github上,
新增一個 .gitignore 檔案到專案裡也是一個辦法,
並輸入進以下內容
__pycache__/
*.py[cod]
這樣一來便防止所有的 __pycache__ 資料夾、防止所有的 .pyc、.pyo、.pyd 檔案上傳。

【Win10】在BASH上 alias自己想要的編輯器 - start notepad++




在Windows平台上使用BASH Shell,卻不想再使用 Vim 或 Nano 編輯器嗎?
或是使用CMD,卻不想使用 Notepad編輯器?

想透過 Notepad++ 這個強大的編輯器,來增加使用上的便利性。



預想是能夠在安裝了Notepad++之後,能夠:

$ notepad++ 小說.txt

像這樣一行指令就能出現新的 Notepad++視窗,來開啟小說.txt這個檔案

【Win10】建立索引,讓資料能被搜尋、加快資料搜尋速度


Win 10電腦上,有些放在D槽或其他磁碟區的資料沒辦法透過搜尋來找到,
在查找上顯得不方便。


搜尋索引選項




【Win10】替應用程式設定啟動快捷鍵 Hotkey for Application


替應用程式設定啟動快捷鍵

這邊以 Line通訊軟體 作為例子,

找到應用程式,開啟檔案位置(此位置為"Line捷徑"的位置)





【Win10】更改電腦名稱 Rename Win10 Computer


重新命名電腦名稱


更改本機名稱 會影響到WiFi、或藍芽連線時顯示的名稱

搜尋"設定" -> 系統 -> 關於 -> 重新命名此電腦

【Win10】 Notepad++ 的一些個人化設定



更改背景顏色


設定 -> 設定程式語言格式 -> 選取主題