.git 檔案過大,會需要依照當時專案的環境做不同處理,這裡將各種可能的狀況,提供解決方案。
當 .git 檔案過大,伺服器記憶體不足時,會出現以下錯誤:
swap Out of memory, malloc failed (tried to allocate xxxxxxxxxx bytes)
通常會發生這問題,原因都在於這個 git repository 已經使用一定時間,提交次數非常多,導致 .git 檔案過大
例如,.git 檔案就佔據 2Gb
遇到這狀況時,可能遇到一些問題,例如:主機環境是否能變動,commit 資訊是否要保留等
以下針對各種問題,提供對應的解決方法:
Continue Reading這裡支援 Python 2.7, 3.4+
下載瀏覽器 driver ,請依照你瀏覽器目前的版本下載對應的 Driver
在這裡,我們目前 Chrome 版本是 79.x,因此下載的是 chromedriver 79.x版本,
下載完成後,將 driver 放置環境變數,並且給予執行的權限
sudo cp chromedriver /usr/local/bin
sudo chmod +x /usr/local/bin/chromedriver
安裝
pip install -U selenium
//or
pip3 install -U selenium
建立專案
vim test.py
建立爬蟲腳本,前往奇摩首頁,搜尋欄輸入 seleniumhq 後,送出搜尋
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome()
browser.get('http://www.yahoo.com')
assert 'Yahoo' in browser.title
elem = browser.find_element_by_name('p') # Find the search box
elem.send_keys('seleniumhq' + Keys.RETURN)
browser.quit()
執行
Continue Reading在本地預計使用docker 建構 mysql ,卻發現 3306 port 被佔用的情況。
這時,透過 刪除指定進程方式,來移除佔用 3306 port 的 process
先將 3306 process 找出,並且移除
Continue ReadingNignx & PHP-FPM 架構中,發送單一請求若header傳輸量過大,就會爆出 request record is too big 的錯誤,
可以檢查是否直接透過http params 方式來夾帶參數
當參數過大,就會導致內容無法送達而爆出錯誤。
Continue Reading使用 Guzzle 只能透過 POST 方式來傳遞 application/x-www-form-urlencoded form params
( 官方原文:form_params - Used to send an application/x-www-form-urlencoded POST request. )
若使用 PUT, DELTE 則需要改用 body 或者 json 格式傳輸,例如:
Continue Reading這裏說明 npm global 安裝完畢出現 command not found 解決方式,以 vue-cli 安裝為例
安裝 vue-cli 流程發生無法從環境變數中直接使用 vue 指令,出現 command not found 或者 sh: vue-cli-service: command not found 該如何解決:
在新主機安裝 vue-cli 之後
npm install -g @vue/cli
在執行版版檢查時,發生 vue: command not found
# vue --version
-ash: vue: command not found
解決這問題的方式如下:
Continue Reading當 Volumes 容量不足時,可以直接在 Volumes 容量,
調整容量後,實際容量還不會增加,這時還必須再進行系統指令進行擴容
這裡分別說明針對分割區 及 檔案系統 進行擴容的方式:
提醒,再增加容量前,建議先建立快照
在開始前,先透過 lsblk
查看目前磁碟區,以及確認你要擴充的磁碟
接著檢查你磁碟的類型,例如:
sudo file -s /dev/xvda
接著,請針對磁碟的類型,進行對應的擴容方式
以下說明三種類型的擴充方法:
Continue ReadingHTTPS 超文本傳輸安全協定(HyperText Transfer Protocol Secure)是一種讓HTTP傳輸過程可透過 SSL/TLS 來對封包進行加密的安全傳輸協定,預設使用的是 443 port。
也就是在不安全的傳輸,額外建立安全機制。
在敏感及機密性的網路傳輸,都必須使用 HTTPS 避免身份及隱私被劫持。
Continue Reading在 Linux 維護專案時,有時遇到檔案權限問題,這裡說明如何一次處理的方式
例如,要將 /var/www/ 底下所有檔案及資料夾進行權限變更,作法如下:
一次修改資料夾權限為 755
find /var/www/ -type d -exec chmod 2775 {} \;
一次修改檔案權限為 644
find /var/www/ -type f -exec chmod 0664 {} \;
Continue Reading
在 NAS 建立對外網站,通常會使用 proxy 方式來做轉導
本篇會預設你已經對於 Docker, NAS 有基礎的了解,並且知道如何在 NAS 新增 Docker 服務,以及設定網域指向的知識。
Continue ReadingSynology NAS 預設都會使用 80 port,且會轉導到 500x port
這裡將說明如何變更 80 port 。
變更 Synology 預設 80 port 的方式很簡單
首先 ssh 登入到 NAS
接著,修改 nginx 設定
vi /usr/syno/share/nginx/WWWService.mustache
vi /usr/syno/share/nginx/DSM.mustache
vi /usr/syno/share/nginx/server.mustache
接著 重啟服務
synoservicecfg --restart nginx
Continue Reading
在Terminal 使用vim 之後,若出現複製貼上會出現 00~, 01~ 或 0~, 1~
原因可能是你的Terminal 正處於bracketed黏貼模式( bracketed paste mode)
在一些尚未更新或較為老舊的terminal可能會出現00~ 01~ 的字段
解決方式是直接透過以下語法將 bracketed paste mode 關閉
printf "\e[?2004l"
在內部測試機測試瀏覽器錄音功能需要用到 Https,在這裡記錄如何在 localhost 環境安裝憑證及設定 https
Continue Reading透過 GCP Storage 儲存檔案,在前端呈現時出現了 CORS 問題
錯誤訊息: Access to fetch at url from origin url has been blocked by CORS policy: NO ‘Access-Control-Allow-Origin’ header is present on the requested resource. …
原因是在於,GCP Storage 為了預防惡意取用而預設不開啟。
這裡紀錄如何透過 Gsutil 開啟 GCP storage 跨域請求
Continue Reading