Skip to content

Zeroplex 生活隨筆

軟體開發、伺服器和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

年份: 2021 年

SQL Server 宣告 (declare) 長字串變數

Posted on 2021 年 12 月 17 日2021 年 12 月 17 日 By 日落 在〈SQL Server 宣告 (declare) 長字串變數〉中尚無留言

若需要動態在 SQL Server 上組 SQL 語句,則必須宣告字串型態的變數 (variable) 供暫存:

DECLARE @query varchar(200)
SET @query = 'SELECT id, mail from user where id in (....)

但若無法預測 where in 語句就很難做變數宣告。

好險 SQL Server 有 reserve word 可以直接使用當下執行環境中的最大值:MAX,所以在無法預測字串長度的狀況下,可以將宣告改寫成:

DECLARE @query varchar(MAX)

按照 SQL Server 官方文件的說明,使用 MAX 的話,字串長度可以到 2^31-1,因此也必須小心使用,以免把機器給燒了。

相關資料:Declare Variable for a Query String

Tags:MSSQL

Spotify 一片黑?

Posted on 2021 年 12 月 16 日2021 年 12 月 16 日 By 日落 在〈Spotify 一片黑?〉中尚無留言
Spotify 一片黑?

家人遇到 Spofity 開起來一片黑,不僅是從 Microsoft Store 安裝的、官方安裝檔安裝的一樣是全黑畫面。到底怎麼回事?

蒐集一下網路上的資料並做測試,原因應該是出在 Spotify 本身,因為多國語言檔中給台灣地區用戶的檔案開天窗,導致顯示時發生錯誤,什麼都看不到。

先別急著退費,軟體出問題是正常的,需要的是一點包容和時間。(你看 Windows 天天出包你還不是不敢說話?有種不要用啊 XD)

現在你可以做的事情是:

  • 向客服部門申訴,你有付錢訂閱,就該讓公司知道你遇到的問題:https://www.spotify.com/tw/about-us/contact/
  • 使用 Spotify 網頁版播放器:https://open.spotify.com/

Tags:分享

臺灣的民主

Posted on 2021 年 12 月 16 日2021 年 12 月 16 日 By 日落 在〈臺灣的民主〉中尚無留言

講個幹話:臺灣的民主,就是的聲音大就聽誰的。

公民的投票權,是給了解議題、有自己想法的人,一個表達想法給政府的機會。然而 2021 四合一公投看到的變成這樣 OO 黨「請投四個同意」、XX 黨「請投四個不同意」,這是誰的想法?投票人的嗎?

到底有多少人會在投票前,花時間蒐集資料來了解優點缺點?還是大家都已經被學校洗腦,反正選擇題有及格就好?

Tags:幹話, 生活雜記

在 Nginx 上啟用 gzip 縮短網站資源傳輸時間

Posted on 2021 年 12 月 16 日2021 年 12 月 16 日 By 日落 在〈在 Nginx 上啟用 gzip 縮短網站資源傳輸時間〉中尚無留言

網站上常見的資源,像是 HTML、CSS、JacaScript、JSON 等等,其實都是文字組成的,而文字壓縮以後大小可以縮小到剩下 10% 左右,因此有些人主張先將圖片轉成 data URI 在用 gzip 壓縮。

Nginx 可以在遇到特定類型的檔案內容時,啟用 gzip 壓縮後再傳輸資料,透過這個方法來加快傳輸速度:

server {
    ....

    gzip on;
    gzip_disable "MSIE [1-6].(?!.*SV1)";   # 排除不支援的瀏覽器
}

再來要注意,不是所有類型的檔案壓縮以後檔案會變小,像是圖片、影片就不適合使用 gzip 壓縮。這邊新增 MIME type 類型,讓 Nginx 只壓縮真正有效的檔案類型:

  • HTML
  • CSS
  • JavaScript
  • plain text
  • xml
  • Java
  • JSON

所以用 gzip_types 來更新一下 Nginx 的設定檔:

server {
    gzip on;
    gzip_disable "MSIE [1-6].(?!.*SV1)";
    gzip_types text/x-component text/css application/x-javascript application/javascript text/javascript text/x-js text/richtext text/plain text/xml;
}

另外有個注意事項,gzip 可以調整壓縮等級:使用較高的的壓縮率,可以讓檔案盡可能的縮小,但壓縮會花掉較多的時間;使用較低的壓縮率,檔案大小只會縮小一點點,但是只需要一瞬間的時間。所以這個參數就要取決於網站的特性、主機的硬體配備來調整。比較中庸的設定如下:

server {
    gzip on;
    gzip_disable "MSIE [1-6].(?!.*SV1)";
    gzip_types text/x-component text/css application/x-javascript application/javascript text/javascript text/x-js text/richtext text/plain text/xml;
    gzip_comp_level 6;  # from 0 to 9
}

Tags:Nginx, 網路架站

啟用 OPcache 加速 PHP 執行

Posted on 2021 年 12 月 13 日2021 年 12 月 13 日 By 日落 在〈啟用 OPcache 加速 PHP 執行〉中有 1 則留言

PHP 是一種直譯式語言,也就是說程式碼開起來以後,讀一行、執行一行,軟體修改後不須重新編譯,直譯器重新再讀取一次即可看到修改後行為上的差異。

這在開發環境是一個非常棒的特性,可以加速開發的迭代速度。但也有缺點,當程式確定要上產品線以後,在正式主機上 PHP 也是讀一行執行一行,每次使用者造訪網頁時都要開啟程式碼讀取一次。

之前在 2010 年時,是讓 PHP 搭配 APC 來將讀取過的結果暫存起來,現在 PHP 官方已經內建 OPcache 工具來處理,不用另外安裝工具。OPcache 會將已翻譯過得檔案建立快取,只要程式碼沒有變更過且有快取可用,PHP 就會直接從快取來執行而不重新讀取程式碼,這對產品線上不常更動的程式非常有用。

開啟 php.ini 並找到 [opcache]:

[opcache]
opcache.enable = 1  ; 設定為啟動
opcache.memory_consumption = 512  ; 使用 512MB 的記憶體做快取

主要就上面這二個設定,其他的可以看說明再調整。

接下來要注意的就是觀察主機記憶體使用量,千萬不要讓記憶體吃光開始使用 SWAP,不然就會變成沒有開啟 OPcache 那樣慢了。

Tags:PHP

文章分頁

上一頁 1 2 3 ... 21 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows WordPress XD 作業系統 分享 好站推薦 專題 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.