pCloud Partner Program

有趣的iOS上Safari播放mp4問題

程式技術 2019/08/14 17:46
views: 6900 times
今天在測試一個 nginx reversed proxy 上, 代理 upstream server mp4 檔案時的播放問題.

之前沒特別有這個狀況, 但今天開始不能播放(感覺應該是在ios 12.4起發生), 十分有趣, 從 nginx server log 也看不出來原因, 只知道 nginx server 在 ios safari request 時, sent-byte 大小小於原始的 mp4 檔案, 所以也只能從 ios safari 的 developer mode 來著手.

先進行 ios safari developer mode, 可以參考:

https://unrealnavigation.com/blog/web-inspector-with-ios-simulator

然後發現原來 safari 會 request byte-range 0-1 這樣的狀況, 難怪都不會送出完整結果, 這樣一來原因就明確了, 實務上的狀況可以參考這篇:

https://www.stirtingale.com/guides/2018/10/mp4-not-working-cloudflare

若是原本的 server 沒有支援 byte-range 時, 會導致 status 200 而非 safari 預期的 206, 而導致失敗. 接下來就可以來找解決方案.

以 nginx proxy_pass 的反向代理結構來看, 可以利用這個方案:

https://stackoverflow.com/questions/22728016/nginx-is-not-accepting-range-of-bytes

使用 proxy_force_ranges on; 即可.

當然, 原本的 upstream 也需要有支援才能解決.

如此一來, 便能在 ios safari 於 request mp4 資源時, 下達的 byte-range 於快取或未快取內容皆可正常工作.

PS. 於查找過程找到一篇介紹 nginx revered proxy hash key 算法資料可供參考:
https://tomme.me/nginx-proxy-cache-server/

top

Google Data Studio篩選器中文欄位問題

好用軟體 2019/08/02 14:26
views: 19579 times
這個問題很有趣, 在引用 mysql database connection 下的 datasource 時, 文字欄位要下篩選器,  來過濾資料,  發現中文字會篩選不出符合的結果,  英數字是沒問題的.

另外測了使用文字檔上傳的 csv 做 datasource 時, 則沒有這樣的問題.

於是查了一下資料, 有篇文章提到了這個問題與他的解法:

https://www.en.advertisercommunity.com/t5/Data-Studio/Filtering-with-utf-characters/td-p/1198985

居然是使用了 REGEXP_REPLACE 方式來新建立一個 computed field 進行使用, 是可行的, 不過想說用輕量一點的文字函數來試, 如 REPLACE, TRIM 居然都不行, 真是太奇妙了。

詳細的 function 可以參考:

https://support.google.com/datastudio/table/6379764?hl=en

top

選擇適合的資料庫-Choosing The Right Database

程式技術/Database 2019/06/25 10:42
views: 56493 times
這篇文章很棒, 仔細地介紹了資料庫的種類與特性, 給在選擇應用資料庫的朋友們, 有個較為完整的概念與取捨:

https://towardsdatascience.com/choosing-the-right-database-c45cd3a28f77

簡單整理一下重點:

CAP: https://zh.wikipedia.org/wiki/CAP%E5%AE%9A%E7%90%86

在分散式的系統架構下, 不能同時滿足這三個條件的 CAP定理:

Consistency: 一致性, 所有分散的節點都能有一致的資料
Availability: 可用性, 每次查詢皆可取得正確(但不一定最新)的結果.
Partition tolerance: 分區容錯性, 部分節點異常或資料異常, 系統仍能保持運作.

(也請參考這篇: https://ithelp.ithome.com.tw/articles/10158554)

而傳統資料庫管統系統需要能滿足 ACID 的部分如下:

https://zh.wikipedia.org/wiki/ACID

Atomicity: 原子性, 在一個交易內的異動是不會被分割的.
Consistency: 一致性.
Isolation: 獨立性, 在各交易操作的狀況下, 是不會互相影響的.
Durability: 持續性, 在未異動的資料, 是能持續保持不變的.

傳統 ACID 在現代資料庫是無法同時滿足的, 所以在分散架構下的 CAP 是另一個檢視要件, 主要應用在 NoSQL 環境.

另外各式資料庫的特性如同原文介紹, 有 key-value, document, graph 不同的資料存放型態.

而其中最重要的部分是應用情境的問題:

How many relationships are in your data?
What is the level of complexity in your data?
How often do the data change?
How often does your application query the data?
How often does your application query the relationship underlying the data?
How often do your users update the data?
How often do your users update the logic in the data?
How critical is your Application in a disaster scenario?

若是能妥善理解與處理這些可能的問題, 就能找到適合的資料庫, 而實務上也是有可能互相混搭應用的, 區分為不同的資料庫應用方式, 但更重要的是適當的搭配與選擇.


繼續閱讀:
https://blog.longwin.com.tw/2013/03/nosql-db-choose-cap-theorem-2013/
top

DemosWP好用免費線上wordpress測試與展示服務

好用軟體 2019/05/17 11:34
views: 86781 times
之前介紹過 cloudaccess 的免費代管 wordpress 與 joomla:

https://diary.tw/tim/1222

這次看到的服務商是這家:

https://demoswp.com/

目前只有提供 wordpress 功能, 對於建立 demo 與測試十分夠用, 而且有 https 與 ftp / mysql 管理等, 十分適合建立與學習測試 wordpress 的地方.

使用方便很容易, 註冊後, 即可於後台建立網站:

用戶插入圖片


十分方便好用, 需要的朋友們可以試看看.

繼續閱讀:
https://free.com.tw/demoswp/
top

有趣的1752年9月

懶得分類 2019/05/10 11:22
views: 91127 times
昨天朋友提到有趣的月曆, 其中 1752年 9月短少了一些日子, 9/3~9/13 少了這幾天.

利用 linux 下的指令 cal 1752 進行查找, 果然得到有趣的結果:

用戶插入圖片

用戶插入圖片

這個鄉野傳說, 不, 原因是這樣的:

https://zh.wikipedia.org/wiki/1752%E5%B9%B4
https://en.wikipedia.org/wiki/1752
https://people.cs.nctu.edu.tw/~tsaiwn/introcs/03_Labs/Lab08/

所以就有這麼有趣的現象了.

但是 browser 就沒辦法做到了...
https://codepen.io/timhuang/pen/QRNWxY
top
TAG 1752, calendar

PREV : [1] : [2] : [3] : [4] : [5] : ... [105] : NEXT



Patriot美商博帝 BURST 960G 2.5吋 SSD固態硬碟
TEAM十銓 L5 Lite 3D 1TB 2.5吋 SSD固態硬碟
統一 番茄汁(6入/組)
UNITEK TYPE-C 轉VGA/HDMI/PD充電/HUB 鋁合金多功能轉接器
亞果元素 CASA Hub VH1 Type-C 轉 VGA - HDMI二合一顯示轉接器


 Waiting...