-->

2021/03/07

WordPress 新版編輯器感覺很讚

一陣子沒碰,最近才注意到 WordPress 的新版編輯器,功能越做越齊全,看起來操作也不難。

有點想跳槽了 XD

舊筆電回收後的用途

鄰居舊的筆電問我是還能維修再利用,其實不是不能,而是要用在哪裡?

主機太舊的話,文書處理可能還撐得住,網頁瀏覽就不一定了。

2021/03/04

window 10 檔案總管沒有回應的臨時解決方法

在檔案總管檔案以後,才發現 windows 中除了內建瀏覽器很重要以外,還有內建一個 dependency 高到沒人知道怎麼修的檔案總管 (explorer.exe)。

如果遇到以下之一的狀況,表示檔案總管 (explorer.exe) 可能出現狀況:

  • 打開檔案總管後,快速存取、本機均沒有列出檔案、磁碟機
  • 檔案總管中在檔案按下滑鼠右鍵後,指標轉不停,視窗沒回應
  • 桌面檔案圖示突然消失
  • 桌面偶爾閃一下,然後開始工作表消失重新顯示

網路上找到的方法都試過,可能有好這麼一下下,但問題還是會繼續。我把方法整理下來,需要的人可以試試看,但不保證能復原。



刪除右鍵快取


把下面幾個機碼刪除:
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\BagMRU
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
如果懶得開登錄檔編輯器,可以從我這邊下載已經寫好的 script 執行。(記得要使用管理者權限執行)



透過系統工具檢查問題


windows 裡面有二個工具可用:sfc.exe (System File Checker) 和 DISM

先用管理員身份執行 Power Shell,然後執行以下指令:
sfc /scannow

待 sfc 執行結束,會在結果說明是否有修復系統。有的話,記得重新開機。


若系統損壞太嚴重,再考慮透過 DISM 分析、並重新下載 windows 10 系統檔來進行修復:
Dism /Online /Cleanup-Image /CheckHealth
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /RestoreHealth

最後祝福各位重新開機治百病 >"<


2021/03/02

Nginx 上傳大檔案需要調整的參數

 Nginx 上傳大型檔案,在網路上查到的,基本上就是修改「client_max_body_size」:

client_max_body_size 100m; # 限制上傳大小為 100MB

也可以改成無限制:

client_max_body_size 0;


但要注意的是,若 Nginx 在主機上是當作 reverse proxy 使用時,Nginx 收到檔案預設是先暫存在自己的主機上面,等到資料接收完畢後再一起丟到 server。

當檔案丟到 server 時,超過預設的「client_body_timeout」的  60 秒,就會視為失敗。因此遇到抄道行檔案,使 Nginx 將資料傳至 server 時間比預期的還要長 (不是 local network 等) 時,記得要將「client_body_timeout」延長:

client_body_timeout 300s

2021/02/26

Self-build Metasploit 3 Virtualbox image

Did not found any download, so build it my own .... TAT
I need to say the Metasploit 3 build script is really awesome !


Build information:

torrents:

2021/02/02

npm 和 yarn 戰爭還在持續 ....

lbry-desktop checkout 下來,按照說明想要看 dev 上怎麼玩,但是看文件下指令就是會死。

弄了老半天結果是 npm 和 yarn 設定互相卡。索性把 yarn 全砍了,全部用 npm 下去執行。


npm install 完成以後,就可以打開 package.json 來看:
  "scripts": {
    "compile:electron": "node --max_old_space_size=4096 ./node_modules/webpack/bin/webpack.js --config webpack.electron.config.js",
    "compile:web": "yarn copyenv && cd web && node --max_old_space_size=4096 ./node_modules/webpack/bin/webpack.js --config webpack.config.js",
    "compile": "cross-env NODE_ENV=production yarn compile:electron && cross-env NODE_ENV=production yarn compile:web",
    "copyenv": "cp ./.env* web/",

按照這個設定檔下指令「npm run compile:electron」即可

2021/01/29

讓 rsync 顯示進度指示

 問了男人以後,發現其中地方有一個沒注意到:

--progress              show progress during transfer


原來 rsyc 也可以顯示大致上的進度。



2021/01/28

Docker on Windows 10 鳥鳥的

Docker client 的是窗是長這樣:



如果要進 images 就更麻煩了,沒有好的 shell 可以用:


好險只打算用一次做 dirty work ....

2021/01/18

快速複製 table 資料 - insert into select

遇到一個奇怪的需求,要備份特定資料表的資料。因為很懶所以直接從 SQL 動手。

用 show create table 複製原有資料表的 schema:

> show create table users \G                                                                                         
***************************[ 1. row ]***************************
Table        | users
Create Table | CREATE TABLE `users` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(100) DEFAULT NULL,
  `email` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_name` (`name`),
  KEY `idx_email` (`email`)
) ENGINE=InnoDB


再來用 「insert into select」 的方法來從原有的資料表拉資料:

insert into backup (name, email)
select name, email from users where id in (1, 3, 5)


這個作法好像會比一次一筆資料拉還要快一些,不過要注意的是 id (或是 auto_increment) 等欄位要忽略,讓 DB 自己處理,不然之後新增資料可能會出現 duplicated keys 之類的問題。

2021/01/16

Lutris 在 Ubuntu 20.04 上啟動失敗

 Lutris 0.5.8 在 Ubuntu 20.04 上啟動時會自動中斷,在 console 底下看到錯誤訊息:

Traceback (most recent call last):
  File "/usr/games/lutris", line 54, in 
    from lutris.gui.application import Application  # pylint: disable=no-name-in-module
  File "/usr/lib/python3/dist-packages/lutris/gui/application.py", line 53, in 
    from .lutriswindow import LutrisWindow
  File "/usr/lib/python3/dist-packages/lutris/gui/lutriswindow.py", line 26, in
    from lutris.gui.widgets.sidebar import LutrisSidebar
  File "/usr/lib/python3/dist-packages/lutris/gui/widgets/sidebar.py", line 6, in
    from lutris import platforms, runners, services
  File "/usr/lib/python3/dist-packages/lutris/platforms.py", line 19, in 
    _init_platforms()
  File "/usr/lib/python3/dist-packages/lutris/platforms.py", line 14, in _init_platforms
    runner = runners.import_runner(runner_name)()
  File "/usr/lib/python3/dist-packages/lutris/runners/wine.py", line 229, in __init__
    "default": dxvk.DXVKManager().version,
  File "/usr/lib/python3/dist-packages/lutris/util/wine/dxvk.py", line 56, in version
    return self.versions[0]
  File "/usr/lib/python3/dist-packages/lutris/util/wine/dxvk.py", line 45, in versions
    self._versions = self.load_dxvk_versions()
  File "/usr/lib/python3/dist-packages/lutris/util/wine/dxvk.py", line 65, in load_dxvk_versions
    with open(versions_path, "r") as dxvk_version_file:
FileNotFoundError: [Errno 2] No such file or directory: '/home/zeroplex/.local/share/lutris/runtime/dxvk/dxvk_versions.json


在 reddit 上面看到有人遇到同樣情況,似乎把設定檔塞到正確位置即可:

$ mkdir -p /home/zeroplex/.local/share/lutris/runtime/dxvk/
$ wget https://cdn.discordapp.com/attachments/538903130704838656/796102070825779250/dxvk_versions.json
$ mv dxvk_versions.json /home/zeroplex/.local/share/lutris/runtime/dxvk/