2012年2月4日

[mysql]如何在mysql中設定時間自動寫入

這一篇算是寫給 YOGO 我自己看的,順便當作心得記錄一下,每次在寫php&mysql時,常常會需要把當下時間寫進資料庫裡,但每次卻還要自己寫php程式把時間寫入到mysql資料庫中,例:

date("Y-m-d H:i:s");

每次都要使用像這樣的php語法,然後再寫進資料庫裡;後來 YOGO 發現,其實只要在phpmyadmin中把該欄位設置為 timestamp,然後把預設值設為 CURRENT_TIMESTAMP,就可以像id一樣,不必為它在增加時給它值了。

因為MySQL 的 timestamp 型態的屬性比較特別, 預設 timestamp 的屬性是, 只要有值 新增/修改(同一個row), MySQL 會自動幫你將 "timestamp 型態的欄位" 寫入現在時間.

有兩種屬性可供調整使用:

  • 自動初始化: 此欄位 寫入 資料時, 自動將 timestamp 的欄位寫入現在時間(建立時, 自動寫入時間).(DEFAULT CURRENT_TIMESTAMP)
  • 自動更新: 此欄位 修改 資料時, 自動將 timestamp 的欄位寫入現在時間(更新時, 自動寫入時間). (ON UPDATE CURRENT_TIMESTAMP)

主要有下述 四種 設法/時機: (範例轉載自官方網站: MySQL 5.1 Reference Manual - TIMESTAMP Properties)

  • 自動初始化 及 自動更新
    ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
  • 只做自動初始化 (建立時初始化, 更新時不修改時間)
    ts TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  • 只做自動更新 (建立時不做初始化動作)
    ts TIMESTAMP DEFAULT 0 ON UPDATE CURRENT_TIMESTAMP
  • 全都不做(使用這個的話, 或許直接用 DATETIME 的型態 似乎比較方便?)
    ts TIMESTAMP DEFAULT 0

漫談資料備份的重要性

最近公司因為一次臨時性的斷電,造成一些設備出現了一些問題,其中又以儲存檔案的 D-Link DNS-323 發生的問題最為大條;話說當初公司會採購 D-Link DNS-323 就是基於資料備份保全與檔案分享的需求,關於這部份 YOGO 在之前的文章就有談到過了,在此就不再重覆,有興趣的朋友請看一下 YOGO 之前的文章。

NAS的應用與簡介(一)
NAS的應用與簡介(二)家庭與個人的應用
NAS的應用與簡介(三)企業與公司的應用
如何建置自己的購物網站
[好物推薦]打造自己的私人雲
FileZilla Client安裝使用教學

原本 YOGO 以為只要採 RAID1 磁碟陣列資料保護機置,在資料保全上應該就不會有什麼太大的問題,結果證明 YOGO 把事情想的太簡單了;在這次臨時性的斷電事件中,YOGO 發現了幾個之前沒想到的盲點,再此提出 YOGO 個人看法給各位朋友作為參考,但需先聲明以上皆為 YOGO 的個人看法,不一定全是正確的,這部份 YOGO 需事先聲明一下喔!!

要確保資料能夠保全的第一個基本條件,需要有一台支援 RAID1 磁碟陣列(或以上)規格的 NAS 機器,也就是說至少要是 2Bay 的 NAS 機器才行,而採購 NAS 機器要考慮的重點是該機器的製作商與功能,價格的部份不應該佔太大因素,為何 YOGO 會這樣說呢?聽我娓娓道來各位看倌就明白了。

之前 YOGO 在 [好物推薦]ICY BOX 酷盒 NAS下載機 IB-NAS4220-B FileZilla Client安裝使用教學 這2篇文章中有提到有一台性價比都不錯的機器,但好友買回來過保固期後機器就壞了,而 YOGO 公司所採購的 D-Link DNS-323 當初也是看 D-Link 是台灣大廠,且公司的 IP分享器與 HUB 都是用 D-Link 的,再加上 D-Link DNS-323 價格不高又有支援 RAID1 磁碟陣列,所以便採購 D-Link DNS-323 回來當資料分享及備份機。

不過老實說 D-Link 的機器都是堪用而已且問題很多,不管是公司的IP分享器或 HUB 都曾送修多次,但 D-Link 的售後服務真的是作的不錯(我說的是之前,現在不是很好且客服電話不是沒人接就是忙線中),所以不例外的 D-Link DNS-323 買沒多久就送修了,再加上 D-Link 是台灣大廠,不過產品卻沒有中文化(老實說這真的很不可思議,連 Buffalo日本野牛在台灣賣的 NAS 機器都有中文化,台灣大廠 D-Link 的 NAS 機器居然沒有,真不知道 D-Link 在想什麼,可能是後來太多人反應吧,才又推出中文化套件)

再加上 D-Link DNS-323 控制界面很不人性化,與 Synology 或  QNAP 人性化界面相比更是天差地遠(新的 D-Link 機器如 DNS-320DNS-325 都已改成圖型化界面,不過總感覺 D-Link 都是跟在別人的後頭走),且 D-Link 的 NAS 機器提供的功能都只是一般常用的功能而已,不像 SynologyQNAP 的機器可以以安裝套件,擴充新的功能(新的 D-Link 機器如 DNS-320DNS-325 也可以透過安裝擴充套件增加新功能,但很多功能還是付之闕如)。

不過若與 SynologyQNAP 的機器相比,D-Link 機器的售價相對比較便宜,不過就如 YOGO 之前在 NAS的應用與簡介(三)企業與公司的應用 這篇文章中所說的,整台電腦中最有價值的部份是什麼呢?是主機?是硬碟?其實都不是,最有價值的部份其實是「硬碟裡的資料」,當平常若沒有作好定期備份的習慣,等到有一天硬碟掛了,那時就真的懂得什麼叫作「千金難買早知道,神仙難配後悔藥」;雖然有軟體可以救回掛掉的硬碟資料,但計費方式卻也讓人望之卻步,所以各位朋友在採購 NAS 機器千萬不要只以價格作為採購依據,一定要考慮到廠牌口碑與功能。

若要採購 NAS 機器的話,YOGO 首推 SynologyQNAP 這二家,而這二家中 YOGO 較推薦的是 SynologySynology 除了基本功能一應俱全擴充套件多外,最重要的是他還有異地備份功能,也就是說若您擁有另一台Synology網路伺服器或rsync相容伺服器,您還可以備份透過網路備份伺服器檔案。

異地備份功能有什麼好處呢?以 YOGO 公司臨時性的斷電事件為例,若因臨時性斷電造成機器或檔案損壞,也不用怕公司重要的檔案從此一去不回,因為在其他地方還有一份備份,待公司機器修復後,再將遠端檔案同步回公司的機器即可,而這個功能目前只有看到 Synology 的機器有,其他廠牌的機器還沒看到有此功能。

Synology 機器的另一個功能是支援 不斷電系統(UPS),支援清單請看這 http://www.synology.com/support/faq_show.php?q_id=300&lang=cht,YOGO 不確定其他廠牌的機器是否有支援此功能,但 YOGO 覺得這個功能很重要。

為什麼 YOGO 會說 不斷電系統(UPS)很重要呢?因為「UPS不斷電系統」有一個重要的功能,就是「防雷擊突波」,而這個功能卻常被使用者忽略,但卻是一個很重要的功能,關於箇中緣由請參考 YOGO 之前寫的 如何建置自己的購物網站 這篇文章中的 Step3 選擇上網方案及網通設備,YOGO只在大略講一下事情發生的經過。

話說當年 YOGO 任職的公司,全體員工都興高采烈的在慶祝春節假期,誰知年後開工時卻發現公司的3C設備全都燒掉了,一查之下才知道在春節期間公司大樓有停電,而當台電恢復送電時,瞬間突波太大造成公司3C設備燒毀,所以當時公司若有採用「UPS不斷電系統」就可以避免悲劇的發生。

因為有了前車之鑑,後來公司將重要的3C產品的插座都改用有防突波功能的插座,再加用因為公司已購買 D-Link DNS-323 回來當資料分享及備份機,所以心想在資料保全上應該不會有什麼問題了,誰知道這就是 YOGO 前面所說的把事情想的太簡單了的開始。

為什麼 YOGO 會這樣說呢?因為 YOGO 少考慮到一個因素,雖然說停電後若突然送電時的突波過大有可能會燒毀3C產品,但若突然停電也有可能使3C產品損壞,以此次 YOGO 公司臨時性的斷電事件為例,目前初步判斷有可能是硬碟損毀,也就是硬碟在運轉時突然失去電力,造成硬碟快速停止轉動,而使硬碟造成損壞,且是一次二顆硬碟同時失去電力而快速停止轉動,所以有可能二顆硬碟同時損壞,所以這時就算採 RAID1 磁碟陣列(或以上)規格的 NAS 機器,所有檔案也有可能付之一炬。

誠如 YOGO 上述所言,這時 NAS 機器有支援異地備援與 不斷電系統(UPS)功能就很重要了;異地備援能讓你快速恢復工作環境中所需的檔案與資料,而有支援 不斷電系統(UPS) 的 NAS 機器可以設定在停電多久後,自動並安全的將電腦或機器關機,這個功能是確保電腦或機器不會因為突然停電,而啟動 不斷電系統(UPS) 後,因人員不在機器旁邊,無法進行人工關機,待 不斷電系統(UPS) 備用電源用盡,突然斷電而損壞了機器或設備。

所以 YOGO 才會說有支援異地備份與 不斷電系統(UPS)的功能很重要,而就 YOGO 所知目前市面上有支援異地備份與 不斷電系統(UPS) 的機器就只有 Synology ,所以 YOGO 才會特別推薦他們家的機器,雖然 Synology 的機器比較貴一些些(真的只有一些些),但提供的功能比較完善,檔案損毀這件事碰到一次就知道有多痛了(更何況YOGO 還碰到二次呢,真是無言)。

下面是 YOGO 建議公司下次設備更新時的採購清單,有興趣的朋友可以參考看看.

Synology DiskStation DS212j網路儲存伺服器

。免開電腦的省電的下載伺服器
。DLNA 認證的媒體伺服器
。隨時隨地存取檔案
。搭載獲獎無數的DSM作業系統

詳細資訊:
http://tw.partner.buy.yahoo.com/gd/buy?gdid=3140184&mcode=MV9FMWo0Mk43NjNDVFNaNUxMVGM1ZlhlQ2hrSjhhQTNHVkg0eG1XUE01WGFVPQ==

WD 節能型 Green系列 3.5吋 2TB SATA2 硬碟機

。新款環保節能硬碟
。搭配AFD先進格式技術
。大容量2TB
。搭載動態節能轉速
。內建64MB大緩衝
。代理商提供有限保固服務
。型號 WD20EARS

相關資訊:
http://tw.partner.buy.yahoo.com/gd/buy?gdid=1954544&mcode=MV9FMWo0Mk43NjNDVFNaNUxMVGM1ZlhlQ2hrSjhhQTNHVkg0eG1XUE01WGFVPQ==



OPTI 不斷電UPS加值型 ES800C

。通過國家安全級檢磁BSMI認證
。強大的監控軟體
。自動穩壓功能
。可直接以電池模式開機
。網路線及電話線防護
。強大的監控軟體

相關資訊:
http://tw.partner.buy.yahoo.com/gd/buy?gdid=35947&mcode=MV9FMWo0Mk43NjNDVFNaNUxMVGM1ZlhlQ2hrSjhhQTNHVkg0eG1XUE01WGFVPQ==

另外雖說現在 YOGO 已經很少用空白DVD來備份資料了,但經過這次的臨時性的斷電事件後, YOGO 深深的體認到用空白DVD來備份檔案還是有其必要性,所以各位看倌還是別怕麻煩,要定期定時用空白DVD來備份資料,就 YOGO 多年來用空白DVD來備份資料的經驗,空白DVD的品質對於DVD光碟機的讀取真的會有影響,因為是要備份資料用的,所以空白DVD還是要選好一點的比較妥當,YOGO個人覺得 SONYRitek錸德 都不錯。

SONY DVD+R 16X燒錄片 (100片)

。知名品牌SONY,品質保證
。16x/4.7GB/120min
。適用於Date&Video及遊戲片專用

錸德 RiTEK X版 16X DVD+R 燒錄片(100入)

。第一大廠錸德製造生產
。16x/4.7GB/120min
。適用於Date&Video及遊戲片專用

相關資訊:
http://tw.partner.buy.yahoo.com/gd/buy?gdid=2293857&mcode=MV9FMWo0Mk43NjNDVFNaNUxMVGM1ZlhlQ2hrSjhhQTNHVkg0eG1XUE01WGFVPQ==

2012年2月3日

[好書推薦]社群遊戲開發:使用HTML5, CSS和JavaScript

一直以來YOGO對於歐萊禮發行的書都有很高的評價,而這次這本「社群遊戲開發:使用HTML5, CSS和JavaScript」依舊維持「深入但淺顯易懂」的寫作方式,對於越來越風行的社群遊戲開發,這本「社群遊戲開發:使用HTML5, CSS和JavaScript」會是一本很值得參考的開發參考書,推薦給有興趣的朋友參考看看。


社群遊戲開發:使用HTML5, CSS和JavaScript

內容簡介

Making Isometric Social Real-Time Games with HTML5, CSS3, and JavaScript

用動畫元件和地圖呈現簡單的立體世界
製作棋盤式社交即時遊戲

任何熟悉Zynga Farmville的人都知道這種社群遊戲有多趣和迷人。本書將從頭到尾教你如何只使用開源碼設計和建置這類的社群遊戲。詳盡的範例和程式碼幫助學會如何繪圖,動畫,增加音效,確認分數以防作弊,以及更多技巧。

在這本書的結尾,將會完成一個叫度假村的專案,裡頭結合所有學過的技術。也將學會如何整合你的遊戲到臉書上。只要熟悉JavaScript、HTML5和CSS3就可以了!

.使用HTML5的Canvas元素製作動作更流暢的2D動畫元件(Sprite)
.為了高效能的圖畫創作一塊『棋盤格』圖案
.設計一個在手持式裝置和個人電腦上運行的一樣好的圖形化使用者介面(GUI)
.使用HTML5的影音元件為你的遊戲增加音效
.使用webWorkers建置遊戲的finding-path函式
.使用PHP和MySQL在伺服器端建立一個使用者端的資料模型
.用動態CSS3物件使你的遊戲更生動

目錄

前言

1.圖形函式:Canvas和Sprites
與canvas物件合作
創造出流暢的動畫
與sprites合作
像素能做什麼?
選擇呈現我們圖畫的方法

2.製作一個棋盤(isometric)

3.介面考量
GUI設計和互動網頁遊戲
執行GUI

4.HTML5 音效和顯像最佳化
使用Audio元素增加音效
使用Web Workers API管理成本花費的工作
本地端和Session儲存

5.讓遊戲與人連結
預防作弊和伺服器端的運作
Final game完工之路
讓這遊戲更出色
運用Facebook加入社交網絡

 

線上試讀:
http://www.books.com.tw/exep/assp.php/yogoman/exep/prod/lookinside.php?item=0010533625


相關資訊:
http://www.books.com.tw/exep/assp.php/yogoman/exep/prod/booksfile.php?item=0010533625

寺廟巡禮免費廟宇開站即將開放

讓各位久等了, 寺廟巡禮系統目前正火速趕製中, 目前先釋出最新進度的樣板 本系拱採永久免費製, 供有興趣的朋友參考, 可至下方網頁預約申請   寺廟巡禮系統線上說明 http://www.iwa.com.tw/   寺廟巡禮系統線上樣板 http://...