分類
程式技術

略縮語(ellipsis)的html特殊字元與直排走文

略縮語, 也就是… (這裡用三個點來表示, 但在 html 裡, 有特殊字元可用, 分別是水平用的 … 與垂直的 ⋮ 兩個特殊字元 (參考完整版本: https://dev.w3.org/html5/html-author/charref)

另外直排走文的部分可以使用 writing-mode 這個屬性來指定, 如 vertical-rl 與 vertical-lr, 一般中文若為直式走文, 應為從右至左, 所以是 vertical-rl.

不過有趣的是, 在原本的水平走文時, 使用 … 與 ⋮ 都可以正常顯示方向, 但在垂直走文時, 這兩個略縮語, 反而會造成相反的方向, 這點在使用上要特別注意, 或是反過來說, 只需要使用 … 即可, 走文方向控制會處理好這個略縮語的走向.

參考這個在 jsfiddler 的範例:

https://jsfiddle.net/timhuang/jxhhyxkz/2/

 

另外也請參考略縮語的 css 自動截字的語法: 網頁排版文字排不下的略語語法 https://diary.tw/archives/1292

writing-mode語法參考: http://ithelp.ithome.com.tw/articles/10139081

分類
數學

[數學]快算答案的算式

題目: 1999 x 19981998 – 1998 x 19991999

答案是 0

算式:

分類
懶得分類

1TB的SD卡

同事傳來一個網址:

http://www.appledaily.com.tw/realtimenews/article/3c/20160922/953422

真的科技在進步的速度很快, 現在已經有 1TB 的 SD 卡問世了, 之前寫過

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

再來是

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

現在是 1TB 的 SD卡, 真的進步的速度很快呢.

分類
好用軟體

如何在mac os下的Firefox也有手勢放大縮小功能

習慣好用的Firefox, 在 MAC 下也是, 原來試著用 Safari, 再來用一下 Google Chrome, 都還是沒有 Firefox 的方便好用, 但是可惜在 MAC 下的 Firefox 預設並沒有支援兩指手勢(pinch)縮放畫面功能, 雖然仍有支援上下一頁的 swipe, 還有兩指的上下捲動, 但少了這一味還是可惜了一點.

查找了一下, 有個 plugin 可以提供這樣的功能:

https://addons.mozilla.org/zh-TW/firefox/addon/pinch-to-zoom-firefox-osx/

這樣一來就可以讓在 MAC 上的 Firefox 也支援 pinch to zoom 的功能了.

分類
好用軟體

CloudFlare已開始在免費計畫中支援Websockets!

CloudFlare (https://www.cloudflare.com/)自之前開始支援免費的 SSL 後, 現在又一新增功能, 免費的 Websockets, 大家都知道之前在使用 CloudFlare 時, 若要使用 Websockets 服務, 必須到 Enterprise tier 的 Plan 才有支援, 費用上可能很可觀, 不過現在開始, 已經支援了, 而且在所有 Plan 都提供了, 也就是即使是免費計畫也包含了.

大家的 nodejs project , 有使用 websockets 的, 都可以透過這個支援而使用 CloudFlare 了, 是不是太棒了.

來看看他的說明吧:
https://support.cloudflare.com/hc/en-us/articles/200169466-Can-I-use-CloudFlare-with-WebSockets-

分類
數學

[數學]證明A(a), B(b)的中點座標是(a+b)/2

設 A點座標為 a, B點座標為 b, 則 A, B 的中點座標為 (a+b)/2, 證明之.

這是國中數學一維數線上的問題, 兩點的中點為兩點座標和除以2, 如何證明呢? 其實中點就是到兩點距離相等, 所以證明的方式也就是算出 A 到中點, 與 B 到中點的距離一樣就可以了. (距離算法為兩點座標相減取絕對值)

設 C點座標為 (a+b)/2, 則 AC距離為

abs((a+b)/2 – a) = abs((b-a)/2)

另外 BC距離為

abs((a+b)/2 – b) = abs((a-b)/2)

abs((b-a)/2) = abs((a-b)/2) 所以距離相等, 故 C點為 AB的中點, 得證.

分類
好用軟體

中文的假文產生器

通常在製作網頁設計時, 會需要一些假內容來進行排版的驗測, 當然, 找一些新聞網站也就可以有這些內容的填充物, 今天發現一個還蠻好玩的網站可以提供這樣的功能, “亂數假文產生器 Chinese Lorem Ipsum “: http://www.richyli.com/tool/loremipsum/

上面可以自選需要多約多少字的文章, 目前提供了 100, 200, 300, 400, 500, 1000 這幾種字數供應用, 下面還有個 “純標題版” 供排標題使用: http://www.richyli.com/tool/loremipsum/title.asp

這個功能很實用也很方便, 可以在設計網頁排版時, 有些假資料可用, 而且又是無意義的文章, 較不會影響排版的驗測.

另外還有這些工具也能達到相同的效果:
http://neocqd.appspot.com/textgen/
http://more.handlino.com/

相關文章:
http://blog.miniasp.com/post/2010/04/17/Useful-tools-Chinese-Lorem-Ipsum-generator.aspx
http://taiwan.chtsai.org/2010/04/25/zhongwen_jiawen_chanshengqi/

分類
Javascript

將瀏覽器進入全螢幕的方法(requestFullscreen)

有時在一些網站看到可以將特定的內容進行全螢幕的檢視, 早期僅有 video 可以有這樣的功能, 現在也可以透過瀏覽器擴充方法來進行特定內容的全螢幕檢視.

程式碼如下:

function launchFullscreen(element) {
    if (element.requestFullscreen) {
        element.requestFullscreen();
    } else if (element.mozRequestFullScreen) {
        element.mozRequestFullScreen();
    } else if (element.webkitRequestFullscreen) {
        element.webkitRequestFullscreen();
    } else if (element.msRequestFullscreen) {
        element.msRequestFullscreen();
    }
}

function exitFullscreen() {
    if (document.exitFullscreen) {
        document.exitFullscreen();
    } else if (document.mozCancelFullScreen) {
        document.mozCancelFullScreen();
    } else if (document.webkitExitFullscreen) {
        document.webkitExitFullscreen();
    } else if (document.msExitFullscreen) {
        document.msExitFullscreen();
    }
}

其中 launchFullscreen 傳入指定的容器物件, 如 div 就可以利用擴充方法 requestFullscreen 來進行全螢幕檢視, 而 exitFullscreen 則不用傳入物件, 使用 document 的擴充方法 exitFullscreen 即可離開全螢幕檢視.

範例:
http://sample.diary.tw/40/index.htm

參考資料:
http://xuhong.github.io/2014/05/23/fullscreen/
https://developer.microsoft.com/en-us/microsoft-edge/platform/documentation/dev-guide/device/fullscreen-api/

[2020/09/02 17:41]

由於 requestFullscreen() 是只針對特定 element , 所以在轉換網址時, 會恢復沒有全螢幕的狀況, 若是希望能持續有全螢幕效果, 可以使用 iframe 方式進行, 可以參考範例: https://codepen.io/timhuang/pen/KKzXWKa

分類
懶得分類

中華電信連微軟雲端服務異常

今早同事通知網站異常, 經檢查, 發現走中華電信路由的電路, 無法連上微軟的雲端服務, 走台哥大4G則是正常, 初步研判是中華對微軟雲端問題.

剛好朋友也在問今天 skype 是不是異常, 回覆應該是上面的問題, 中華電路對微軟雲端路由問題, 目前其他家的網路(如台哥大, 遠傳等)沒有異常.

由於是 IP 層就無法連線, 所以許多相關服務也都無法使用, 像是 office 365 / skype / Azure 等, 應該有大量的客訴發生了吧, 相信兩邊也都在積極處理中, 看何時會恢復囉.

這裡有持續性的連線資料MRTG圖, 所以查得斷線時間約在 (2016/6/24) 9:25 左右, 之後若有恢復會再記錄下來, 供各位參考.

歷經兩小時, 終於恢復了, 時間約在11:15起陸續正常了. 這次相信影響的受災戶還不少.

分類
PHP

CentOS中apache與php寫入權限與SELinux設定

由於 CentOS 有 SELinux 的權限設限, 所以相對一些安全層級也都比較高, 最近有個需要用 php 寫入檔案(或是上傳檔案的應用), 原本的 php 在預設狀況下, 就會對 /tmp 有寫入的權限(預設是會在 /tmp/systemd-private-xxxxxx 下的私有 /tmp), 所以上傳時沒有問題, 但使用 move_uploaded_file() 至目的目錄時, 會有寫入的權限問題.

方式如下:

Method A
1. 要寫入需要有對應的權限, 建議方式是將要寫入的目錄給予 apache 執行用戶的擁有者, 如 CentOS 配 apache 時, user 為 apache

chown -R apache /var/www/mysite1/upload

2. 此時只需要給予對應目錄 755 的權限即可(通常預設也是這個).

chmod -R 755 /var/www/mysite1/upload

Method B (不建議)
1. 直接給予該目錄 global write 的權限, 777 即可, 不過會有安全性的考量

chmod -R 777 /var/www/mysite1/upload

完成之後, 若仍無法寫入, 則是因為 SELinux 的設限, 所以即使完成了上面的設定也無法寫入, 此時要再進一步設定 SELinux, 方式如下:

sudo chcon -t httpd_sys_rw_content_t /var/www/mysite1/upload -R

原因為預設的 webservice 能擁有的權限角色為 httpd_sys_content_t , 是無法寫入檔案的, 所以需要再進一步設定 SELinux 才行.

參考資料:
https://blog.lysender.com/2015/07/centos-7-selinux-php-apache-cannot-writeaccess-file-no-matter-what/

另外寫得很仔細的 SELinux 資料可以參考:
https://www.digitalocean.com/community/tutorials/an-introduction-to-selinux-on-centos-7-part-1-basic-concepts
https://www.digitalocean.com/community/tutorials/an-introduction-to-selinux-on-centos-7-part-2-files-and-processes
https://www.digitalocean.com/community/tutorials/an-introduction-to-selinux-on-centos-7-part-3-users