Google Chrome Puppeteer入門筆記

Puppeteer is a Node library which provides a high-level API to control headless Chrome over the DevTools Protocol. It can also be configured to use full (non-headless) Chrome.

官方GitHub: https://github.com/GoogleChrome/puppeteer

Puppeteer 最低支援到Node v6.4,但是官方提供的範例必須要使用Node v7.6以上,目前Node穩定版已經推到v8,所以我裝v8.8.1

在專案中npm i puppeteer就可以安裝

主要是基於chromium來模擬各種動作,

Read More »

Yii framework - Memcache

memcached是一套分散式的快取系統,但server間並不互相同步,而是由client端去做分散存取(hash計算),存資料時hash算出要存的server,取資料時用相同的hash算法指到要讀的server

用key-value的方式儲存資料

memcache有LRU機制(Least Recently Used),會在內部儲存空間不足時自動讓較少使用到的資料失效(expire),讓新的資料可以覆蓋到該空間上

Read More »

Yii framework - CActiveForm Widget(實作篇)

這邊不會詳述關於CActiveForm(extends CWidget)的背後實作,不過可以大致說它是一個集成了各種表單常用的功能,並且封裝成一個物件的小工具,內部同樣包含了許多CHTML類別的調用

參考資料: http://www.yiichina.com/doc/api/1.1/CActiveForm

這邊我想直接使用CActiveForm造一個簡單的二元數字加減乘除(但要不同頁面),

Read More »

Yii framework - View

View單純呈現頁面結果,呼叫CController::render()傳入view id就可以渲染出該頁面。

render()預設會去存取protected/views/ControllerID資料夾。

通常網頁中會有些固定不變的元素(HTML主結構),這時會拆分出來放在protected/views/layouts下,

而render()時預設會先輸出layouts下的main.php(如果有的話),這時你要render的內容會被預設放在$content這個變數內,使用<?php echo $content; ?>輸出它

Read More »

Yii framework - Controller

Controller處理使用者發出並經過經過應用呼叫的request

Controller

Controller繼承自CController,但由於可能會有很多Controller,為了提高共用性,可在protected\components中定義了class Controller extends CController,再由各種情境自行去定義class xxxController extends Controller並存放在protected\controllers下。

controller執行時會呼叫相對應的action,action會與model溝通並將結果呈現在view上。

Read More »