分類
好用軟體

更輕量的CMS

在找看有沒有更輕量的CMS時, 發現有完全不用資料庫型態的CMS, 目前試了兩個:

其中 pico cms 還不是 html 而是使用了 md (markdown) 的靜態檔案的內容上架方式, 沒有管理介面.

而 WonderCMS 則是有管理介面, 可以做 page / blog post 型態的內容管理.

基本上這兩組 CMS 都不依賴資料庫, 訴求為快速又方便地做內容管理, 除了程式很小外, 也都有 theme / plugin 可供安裝擴充使用.

分類
懶得分類

國曆與農曆同日的計算-為什麼農曆每19年有7個閏月

由於國曆(陽曆)是以地球繞行一週為一年, 而農曆(陰曆)則是以月亮繞行一週為一個月, 而日的單位則為地球自轉一週為一日, 所以若需要同一日的算法如下:

平均一年為 365.2422日, 一個農曆月為 29.5306日, 以現行農曆每19年7個閏月來看, 共計 (19*12+7) * 29.5306 = 6939.691日.

而以19年國曆來看, 共計 19 * 365.2422 = 6939.608日, 所以若以農曆每19年7閏月來看, 則很有機會會同一日期, 若有前後差, 基本上與閏年有關, 所以會有一點落差.

可以參考:

分類
數學

pi (π)的一百萬位與找出你的 pi day

今天是圓週率日, 3/14, 來看看 python 下取得更多位數的圓週率 pi.

可以參考這篇: https://pypi.org/project/math-pi/

程式實作如下:

https://colab.research.google.com/drive/1K1tmZF7Uf2AyKRWVUvdsozQ7VP0eC0td?usp=sharing

不過它不是用計算的, 而是利用了另一個專案: https://pypi.org/project/pi-1mp/ 這個 pi 的 1百萬位數字來的, 所以無法取得多於 1百萬位.

另外比較有趣的是這個 find your pi day. 大家都知道 pi 是無理數, 所以各式各樣的數字排列都可以有機會被找到, 例如找自己的生日, 以周杰倫生日為例: 1979/1/18 可以利用:

分類
懶得分類

18TB的硬碟

這裡看來的:

https://www.techbang.com/posts/84544

單顆硬碟18TB了啊, 好大耶…

來看看一些之前的小記錄:

1TB的SD卡: https://diary.tw/archives/1554

1TB硬碟: http://diary.tw/archives/422

2TB硬碟: http://diary.tw/archives/746

分類
好用軟體

快速好用的大型文字記錄檔案檢視器-klogg

klogg 是基於 glogg 的一個分支開發專案, 有完整的圖型化介面與跨平台特性, 可以開啟大型的文字記錄檔, 非常快速方便, 尤其是在查找特定內容時, 可以利用 regular expression 的方式進行, 非常方便快速.

另外也可以當做即時的記錄檔檢視器, 因為在更新內容時, 會直接加入尾端, 方便檢視即時的記錄.

來看看他的介面吧:

上方為開啟的文字記錄檔, 下方則利用了 regular expression \/wp-cron 來查找 wordpress cron 的執行呼叫, 而右邊的紅色則是出現的頻次, 由於 cron 執行的算頻繁, 所以會整面紅紅的. 下方則是查找比對的結果, 而在檔案標籤上右側出現的藍色往下箭頭, 則是表示有新內容產生了.

官方網站: https://klogg.filimonov.dev/

而 glogg 可以參考這篇: https://edoswaldgo.com/software/glogg-best-free-multiplatform-log-viewer/

參考資料: https://stackoverflow.com/questions/159521/text-editor-to-open-big-giant-huge-large-text-files

 

 

分類
PHP

[PHP]使用file_get_content來進行post request

在 php 程式中, 使用 curl 來進行 web request 是常用的方式, 不過由於在 https://repl.it/ 這個服務中, php webserver 並未安裝 curl, 所以需要改用 file_get_content()這個函數來進行 web request, 然而若為一般的 get request, 直接將網址傳入即可, 但若需要進行 post request 要如何操作呢?

這時會用到一個 http context options:

https://www.php.net/manual/en/context.http.php

範例程式如下:

<?php

$postdata = http_build_query(
    array(
        'var1' => 'some content',
        'var2' => 'doh'
    )
);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-Type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://example.com/submit.php', false, $context);

?>

也就是利用了 http context options 來組合出要傳遞的參數. 如此一來便能很快速地應用在僅有 file_get_contents() 環境而沒有 curl 的 php webserver 環境來進行 post request.

參考資料:

https://stackoverflow.com/questions/2445276/how-to-post-data-in-php-using-file-get-contents

https://www.php.net/manual/en/context.http.php

 

分類
好用軟體

雲端服務供應商線上費用計算機

三大雲端服務供應商提供的線上費用計算機:

  1. GCP: https://cloud.google.com/products/calculator
  2. Azure: https://azure.microsoft.com/pricing/calculator/
  3. AWS: https://calculator.s3.amazonaws.com/index.html

使用雲端服務, 能快速方便地估算出每月費用, 以達成成本預估與預算爭取. 也容易做比較與達成遷移時成本的計算.

另外還有其他家的也整理如下:

  1. Oracle cloud: https://www.oracle.com/cloud/cost-estimator.html
  2. IBM cloud: https://www.ibm.com/cloud/cloud-calculator

 

分類
Javascript

hls.js 應用於html video tag播放 HLS功能的外掛

同事介紹的這組 hls.js (https://github.com/video-dev/hls.js/)是應用於 video tag 中的播放 HLS (http live streaming) 的外掛, 可以讓原本的 video tag 增加播放 HLS 功能.

相較於之前介紹的 clappr player (https://diary.tw/archives/1811), 這組 hls.js 是直接使用 video tag 來進行(其實 clappr player 是在 div 下自建 video tag, 只是 hls.js 更直接).

hls.js 可以直接讓 browser 的 video tag 播放 hls 內容, 包含了 vod 與 live streming, 也提供了 web demo lab, 方便大家自行測試開發:

https://hls-js.netlify.app/demo/

(之前的 clappr demo 在這裡: http://clappr.io/demo/)

若需要公開測試的 hls 來源, 可以參考:

相信對於開發實作 hls video player 應用, 能有很大的幫忙.

 

分類
程式技術

使用Clappr Video Player時滿版需求(CSS)

之前 Flash Player 因為已經 EOL 下架了. 參考: https://diary.tw/archives/11 (相信很多人也已經改了 html5 的解決方案了).

不過若是以純 video player, 個人建議使用這個 clappr player 是適合的替代品( https://github.com/clappr/clappr) , 用純 html5 的 media element 解決方案來達成 media player 功能, 無論是 mp4 或是 hls 的 live streaming.

目前有個使用上的需求, 就是要能滿版 player , 也就是不要出現比例上不正確時的上下出黑(letterbox)或左右出黑(pillarbox)的狀況.

上下出黑的 letterbox 示意圖:

左右出黑的 pillarbox 示意圖:

而要拉伸視訊至滿版播放器要如何進行設定呢? 原本在查找 clappr doc (http://clappr.github.io/)時, 一直沒有找到對應的設定, 後來發現其實在原本的 css 就有個設定可以達成, object-fit 這個屬性: https://developer.mozilla.org/zh-TW/docs/Web/CSS/object-fit

當這個屬性設定為 object-fit: fill; 時, 就可以達成 stretch to fit 的功能, 也就是不成比例的拉伸(或壓縮)為對應的尺寸, 而不會出現為了維持比例而出現的 letterbox 或 pillarbox.

可以參考這個範例:

https://codepen.io/timhuang/pen/vYGvpqo

繼續閱讀:

https://www.jacksonlin.net/20181218-letterbox-on-youtube/

 

分類
WebTrend

什麼是LBRY, 和Youtube有什麼關係?!

這個 LBRY 讀做 library, 主要的訴求是:

LBRY is a free, open, and community-run digital marketplace.
Build the future of content freedom.

可以參考這裡: https://lbry.tech/

LBRY is a secure, open, and community-run digital marketplace.

可以參考這裡: https://lbry.org/

簡單地說就是一個供應安全、自由、開放、又是社群經營的數位市集, 所以能有內容儲存、交易、推薦等機能的一個開放架構.