2026年6月20日 星期六
2025年12月21日 星期日
Theme Capsule 風格展示艙
Theme Capsule 不是一個 UI Framework,也不是一套設計系統。
- 它比較像是一個 「風格展示艙」:每一顆 Capsule = 一種強烈、可感知的 UI 風格
- 同一個功能頁面(Home / Admin / Dashboard / Blog),在不同主題下會呈現完全不同的氣氛
- 所有風格都被拆解成 可理解、可複製的設計 token 與元件寫法
歡迎了解我的設計理念 - Source on GitHub
2025年12月10日 星期三
Imgduck完全在瀏覽器內運行的圖片壓縮小工具
雖說已有squoosh.app這開源的線上縮圖工具,當初第一次用覺得很驚豔,因為可以直接預覽壓縮前後的差異,很酷,但只能處理單個圖檔,現在已是vibe coding時代了,功能不符那就自己打造吧,一樣開源。
Imgduck是一款完全在瀏覽器內運行的圖片壓縮小工具。很酷的幾點是:
- 拖拉圖檔,單檔多檔皆可
- 貼上剪貼簿內容,用複製的貼上也行,多檔也可以
- 甚至拖拉整個資料夾喔
2020年6月10日 星期三
Redis設定maxclients產生maximum open files錯誤的問題
12214:M 10 Jun 20:48:01.544 # You requested maxclients of 50000 requiring at least 50032 max file descriptors.
3 12214:M 10 Jun 20:48:01.544 # Server can't set maximum open files to 50032 because of OS error: Operation not permitted.
4 12214:M 10 Jun 20:48:01.544 # Current maximum open files is 10240. maxclients has been reduced to 10208 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
這問題真的是很瞎
3 12214:M 10 Jun 20:48:01.544 # Server can't set maximum open files to 50032 because of OS error: Operation not permitted.
4 12214:M 10 Jun 20:48:01.544 # Current maximum open files is 10240. maxclients has been reduced to 10208 to compensate for low ulimit. If you need higher maxclients increase 'ulimit -n'.
這問題真的是很瞎
2020年5月24日 星期日
2019年9月22日 星期日
2019年9月19日 星期四
2018年1月14日 星期日
[MySQL][ERROR] Could not use /var/log/mysql-slow-queries.log for logging (error 13)
因為Zabbix最近有效能的問題,監控數千台有時會整個斷圖,想搞清出到底是Server不夠力還是DB本身不夠力,但是斷圖什監控項資料都沒了,都無法釐清當時狀況,很尷尬,所以另外裝了Percona Monitoring and Management (PMM)來監控Zabbix Server跟DB,PMM安裝可用docker實現無腦安裝很簡單,但設定上有些麻煩目前還搞不定,其中有項功能就是會自動幫你rotate slow log,但我發現只會幫你mv,不會幫你touch,意思就是更名後就沒有slow log,那就不會紀錄slow query囉,這就不易debug
2017年10月11日 星期三
[MySQL]預設innodb_log_file_size太小,對IO影響有多大呢?
基本上innodb_log_file_size我從沒用過預設值,一般來說都要求要能夠撐住1小時的寫入量,同事管的一台MySQL有效能上的問題,請我幫忙看,iostat看了一下還滿忙的,IOPS在1000~3000左右,IO吞吐量介於25MB~80MB,幾乎全是寫IO為主,以SAS 15000轉RAID 10來說算忙碌的,但看起來IO還不至於撐不住,看了一下MySQL內讀寫比為8:2,比對OS的顯得不太合理,寫IO怎麼會那麼重,再看一下設定,innodb_log_file_size居然用預設值,只有5MB,2個也不過10M,算了一下適當的大小應該要1.4G,10M對1.4G這也差太多了,log file豈不是一直被替換,寫IO這麼忙應該是這個問題,請同事找時間先改成1G看看,那改了之後IO差多少呢?
下圖是PMM的監控項,時間範圍涵蓋更改innodb_log_file_size的前後時間段,看中間的兩個圖分別是IO吞吐量跟IOPS,更改innodb_log_file_size後的數據讓我嚇了一跳,同樣的QPS下,IO變得一點都不忙碌了,也差太多
那如何計算innodb_log_file_size的大小呢?可參考Calc_innodb_log_file_size.sh
下圖是PMM的監控項,時間範圍涵蓋更改innodb_log_file_size的前後時間段,看中間的兩個圖分別是IO吞吐量跟IOPS,更改innodb_log_file_size後的數據讓我嚇了一跳,同樣的QPS下,IO變得一點都不忙碌了,也差太多
那如何計算innodb_log_file_size的大小呢?可參考Calc_innodb_log_file_size.sh
2017年9月25日 星期一
[MySQL]初始化資料庫後,竟無法啟動,Error Log無錯誤訊息紀錄
測試Percona 5.7.19-17,原本就已搭好Master了,就在Slave上安裝完Server後,準備初始化資料庫,我直接把Master的my.cnf拿來用,初始化資料庫成功,自定義的Error Log目錄下有產生對應的mysql_error.log,預設的Error Log路徑下沒有,到這裡一如往常沒有問題
但接下來MySQL竟然啟動FAILED,怪的是mysql_error.log竟然沒有錯誤訊息,難道錯誤寫到預設Error Log下,一看還真的產生了一個,不過是空的,如下圖
但接下來MySQL竟然啟動FAILED,怪的是mysql_error.log竟然沒有錯誤訊息,難道錯誤寫到預設Error Log下,一看還真的產生了一個,不過是空的,如下圖
2017年9月11日 星期一
[Oracle]ORA-01034: ORACLE not available
話說把Oracle移轉到新的server之後,為了讓client可以不要調整,所以得把新的server的hostname與ip改成跟之前的一樣,就在同事調完hostname與ip重開Server後,我打算啟動Oracle,結果剛進sqlplus就遇到下圖的錯誤
ORA-01034: ORACLE not availableProcess ID: 0
Session ID: 0 Serial number: 0
2017年7月4日 星期二
[SQL Server]從備份檔bak產生完整Restore命令
之前一直在異機還原,要還原的DB往往拆成好多個data file,異機的磁碟分區又不一樣,還原就很麻煩了,要改路徑,不知為什用SSMS產生的Restore命令竟不完全,當時上網有找到一位大大寫好的SP,可從BAK產生Restore命令,可是我忘記是從哪找到的,最近剛好套用到SQL 2016時會出錯,發現是RESTORE FILELISTONLY的結果集不太一樣,於是改了一下再放上來給有需要的人
2017年5月25日 星期四
[SQL Server]SSMS 17.1出來了
下載位址在Download SQL Server Management Studio
話說之前用SSMS 16.5.3在Object Explorer要refresh Databases時,只要是Database在Restoring狀態,總是會回應緩慢,然後Errror就會出18456的錯誤呢,我還想說是我哪裡設定有問題,一查SSMS 2016 - Refresh Databases & Login Failed 18456原來是bug,要17.0才會修正
這次出了17.1就更新看看囉,那錯誤真的沒了,回應快了很多,而且UI的圖示長得不太一樣了呢
話說之前用SSMS 16.5.3在Object Explorer要refresh Databases時,只要是Database在Restoring狀態,總是會回應緩慢,然後Errror就會出18456的錯誤呢,我還想說是我哪裡設定有問題,一查SSMS 2016 - Refresh Databases & Login Failed 18456原來是bug,要17.0才會修正
2017年4月21日 星期五
[MySQL]MySQL 5.7 inet_aton參數不允許空字串
話說把一個資料蒐集的DB從Percona 5.6升級到5.7,結果用LOAD DATA INFILE的入庫腳本幾乎全部失敗,顯示如下的錯誤
Incorrect string value: '''' for function inet_aton
因為來源資料有ip,所以用inet_aton轉換成整數存入,都運作好幾個月的腳本怎麼會升級後出錯呢?而且它都是顯示第一行出錯,我怎麼看第一行都是對的@@
後來嘗試了一下inet_aton在5.6與5.7的差異
各位猜猜看,下面哪個會出錯?
select inet_aton(null);
select inet_aton(0);
select inet_aton('');
Incorrect string value: '''' for function inet_aton
因為來源資料有ip,所以用inet_aton轉換成整數存入,都運作好幾個月的腳本怎麼會升級後出錯呢?而且它都是顯示第一行出錯,我怎麼看第一行都是對的@@
後來嘗試了一下inet_aton在5.6與5.7的差異
各位猜猜看,下面哪個會出錯?
select inet_aton(null);
select inet_aton(0);
select inet_aton('');
2017年4月20日 星期四
2017年4月16日 星期日
[Docker]測試SQL Server Agent on Linux
因為SQL Server vNext(CTP1.4)的docker image並沒有包含SQL Server Agent,要使用它需要手動安裝,步驟可以參考Install SQL Server on Ubuntu,因為安裝過程遇到一些錯誤,我把遭遇到的問題跟解法列出來,供大家參考
首先啟動mssql-server-linux的container然後進入bash,查看一下process
首先啟動mssql-server-linux的container然後進入bash,查看一下process
2017年4月13日 星期四
[Docker]測試Microsoft SQL Server vNext
以往DBA在Mac上要測試SQL Server都要用VirtualBox或是Paralles之類的虛擬機器,現在多了Docker這個選擇,那如果是Developer的話,更要用Docker,因為真的是秒裝,非常快速,本篇來介紹一下如何來測試Microsoft SQL Server vNext (CTP1.4),關於image的說明可參考microsoft/mssql-server-linux
第一次使用可以先docker pull下載它,需要花上一段時間喔,因為image有1G多
docker pull microsoft/mssql-server-linux
啟動就很簡單了
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<Passw0rd>' -p 1433:1433 -d microsoft/mssql-server-linux
其中環境變數ACCEPT_EULA與SA_PASSWORD是必要的
第一次使用可以先docker pull下載它,需要花上一段時間喔,因為image有1G多
docker pull microsoft/mssql-server-linux
啟動就很簡單了
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=<Passw0rd>' -p 1433:1433 -d microsoft/mssql-server-linux
其中環境變數ACCEPT_EULA與SA_PASSWORD是必要的
2017年3月29日 星期三
[轉載][SQL Server][PowerShell]dbatools - best practices and instance migration module
最近發現一個給SQL Server DBA用的Free PowerShell tools,目前有超過150個命令可用,尤其是有很多Migration Commands,真是非常方便啊
有興趣的自己試試,網址如下
dbatools - best practices and instance migration module
有興趣的自己試試,網址如下
dbatools - best practices and instance migration module
2017年3月26日 星期日
來試試Docker for Mac
在Mac及Windows下並無法直接使用Docker,必須透過Linux的VM才行,所以在Mac下通常得先安裝VM才能使用Docker,而Docker For Mac的出現,讓在Mac上使用Docker變得簡單,它內建xhyve VM,不再需要安裝額外的VM就能使用囉
Docker For Mac的安裝檔與教學可參考Install and Run Docker for Mac,安裝很簡單就不多做說明
安裝成功後,可以執行docker相關命令試試
docker version
Docker For Mac的安裝檔與教學可參考Install and Run Docker for Mac,安裝很簡單就不多做說明
安裝成功後,可以執行docker相關命令試試
docker version
訂閱:
文章 (Atom)
















