這是 Google I/O 2018 的影片的一些摘要、心得,建議是直接看影片是比較快拉~XD Deliver search-friendly JavaScript-powered websites (Google I/O ’18) 這個前端程式詮釋網站內容導致 SEO 問題其實也討論很久了,前陣子 …
分類彙整: 程式開發
[JavaScript] unload/beforeunload 離開頁面事件處理替代方案
這個功能早期大家一定不陌生,離開頁面前會彈跳視窗,不是跟你說要記得儲存就是提醒你別這麼快走,後面還有好康。 但最近這功能好像就沒怎麼看到了!? 經朋友提起,研究一下,發現是 Chrome 51 版本後被拿掉了,原因就是:這功能大多是在詐騙網站使用的XD 所以現在有掛這功能都不給客製化訊息,由瀏覽器統 …
[PHP] 產生碰撞(collision)機率低的短亂碼
這主題看似容易其實很有深度。從為甚麼要有這個「亂碼」開始,就是希望可以在做某件事的時候讓「重複」(碰撞)的機率減低,而最好的狀況就是不存在碰撞。 寫程式的人可能多少都用過「隨機」函數,但其實這方法並不是真的隨機,沒有想像中那般真的無法預測,也無法單靠它來避免碰撞。 不過有些變形的操作倒是能「盡量」避 …
[PHP] 快速開發 PHP extension 延伸外掛模組工具框架: PHP-CPP
前言 這東西神到一個沒話說! 絕對是現在開發 PHP extension (延伸外掛模組),最好用的辦法!沒有之一。 會用到它的緣由主要是手邊正在開發一個網站端工具,Github 上面也找得到部分原始碼,不過因為是採用 C 語言撰寫,所以就花了點時間 porting PHP 版本。 問題來了,一樣的 …
[Crawler] Google 與 Facebook 爬蟲觀察進度 – 它會叫了!(誤)
標題浮誇請忽略,主要是這兩邊蟲子最近都有人有新觀察。國外這篇文章「Googlebot’s Javascript random() function is deterministic」,作者觀察到 Google 爬蟲執行 JavaScript 有一個自己的「道理」,這塊有興趣自己看文章便知一二,而我的 …
[FB2WP] Facebook 粉絲頁留言同步網站功能更新細節
這功能最大功臣還是要歸 WordPress 自身提供的方法: url_to_postid 透過 API 反解出留言發文本身帶的文章連結還不打緊,要怎麼對應網站中文章才是問題! 透過這個內建方法,可以去幫我解析出原本發文的文章編號,有編號好辦事~ 而且這次又貼心又賭爛(都不說有改版)的 Webhook …
[WooCommerce] 根據商品分類判斷購物車商品去留的方法
這是過年期間解決的一個問題,覺得也滿有意思的! 情境 一個購物網站,不只有賣實體商品,還包含非實體的課程商品。 問題 課程商品下單勢必不能加上運費,但如果同時跟實體商品一起購買的話會發生跟著免運的情況XD 解決辦法 思路有兩種: 運費個別分攤在每樣商品,再透過計算商品的運費級距來完成組合運費的架構( …
[MAMP] 更新切換 PHP 版本的方法,測試你程式相容性
MAMP 是我電腦上安裝的 PHP 開發環境工具,使用原因無他,簡單、方便。 而且對於進階玩家來說,就算要自己編譯過 extensions 或是測試 PHP 新版本也都沒問題~ 當然不免的說,如果有問題,那要找到問題解答也容易,因為用的人也不少! 本人無偏好某款太 GEEK 的開發環境,重點是團隊成 …
[PHP] 取得上一個月時間資訊的方法
做這個題目如果只是想著「阿不就這個月減一,就是上個月拉!」的話,那肯定會出事XD 試想一下,如果這個月是 1 月,那上個月是? 12月,對吧? 但是!是「去年」的 12月。 所以要取得前一段時間的資訊還真不是給他「-1」就可以算出來~ PHP 中的 strtotime 是個很厲害的方法,可以語意的表 …
[PHP] 使用 DOMDocument 方法存取 HTML 片段,發生異常解法
寫爬蟲不是撈回來就行,還有一系列整理的功夫。 其中 PHP 使用 DOMDocument 也是比較好的解法! 這幾天再把爬回來的 HTML 片段資料做屬性置換時發生一些問題,又以下面這個問題最離奇! 一段 <p><img src=”…”>…</p>…. …
