ORM到底是用還是不用?

ORM即Object/Relation Mapping的簡寫,一般稱作「對象關係映射」,在Web開發中最常出沒於和關係型數據庫交互的地方。接口、中間件、庫、包,你都可以這麼稱呼它。

我們可以結合PHP和MySQL,從ORM的四個核心理念來認識它:

  • 簡單:ORM以最基本的形式建模數據。比如ORM會將MySQL的一張表映射成一個PHP類(模型),表的字段就是這個類的成員變量
  • 精確:ORM使所有的MySQL數據表都按照統一的標準精確地映射成PHP類,使系統在代碼層面保持準確統一
  • 易懂:ORM使數據庫結構文檔化。比如MySQL數據庫就被ORM轉換為了PHP程序員可以讀懂的PHP類,PHP程序員可以只把注意力放在他擅長的PHP層面(當然能夠熟練掌握MySQL更好)
  • 易用:ORM的避免了不規範、冗餘、風格不統一的SQL語句,可以避免很多人為Bug,方便編碼風格的統一和後期維護 

Read more »

Backbone JS框架指南

Backbone 是一個前端 JS 代碼 MVC 框架,被著名的 37signals 用來構建他們的移動客戶端。它不可取代 Jquery,不可取代現有的 template 庫。而是和這些結合起來構建複雜的 web 前端交互應用。

Read more »

HTML5 Boilerplate

HTML5 Boilerplate是一個幫助快速建立健壯並且高適應性Web應用或網站的樣板,其用戶有 GoogleMicrosoftNASABarack ObamaNike 等等。

主要特性:

  1. 精簡並且適合移動設備;針對Google Analysis進行了優化;
  2. 提供適合移動設備的圖標;
  3. 文檔內容豐富,包含眾多使用技巧和提示。
  4. 內置Nomalize.css v1.0.x。
  5. 內置jQuery和Modernizr特徵檢測庫。
  6. 提供Apache等服務器的設置,以此保證網站的高性能。

你可以下載源代碼查看文檔或者研究範例,當然你也可以按照你自己的需求來定製

認識HTML5

 一、HTML5現況

  1. HTML5將於2014年發布正式版
  2. 廣義論及HTML5時,實際指的是HTML、CSS和JavaScript在內的技術組合
  3. 各瀏覽器HTML5支援程度:http://www.findmebyip.com/litmus/
  4. HTML5空白樣板:http://html5boilerplate.com/

二、HTML5和HTML4的差異

以下資料引用自:http://www.css88.com/archives/2796

  1. 簡潔的DOCTYPE:
    HTML5 只有一個簡單的文檔類型:<!DOCTYPE html>。它不使用版本,因此該文檔類型適用所有版本的HTML。
  2. 簡單易記的語言標籤:
    你並不需要在<html> 中使用xmlns 或xml:lang標記。<html lang="en"> 將對HTML5 有效。
  3. 簡單易記的編碼類型:
    你現在可以在meta 標籤中使用"charset":<meta charset="utf-8″ />
  4. 不需要閉合標籤:
    在HTML5 中,空標籤(如:br、img 和input )並不需要閉合標籤。
  5. 廢棄的標籤:
    下面這些標籤並不被HTML5 支持:<acronym>、<applet>、<basefont>、<big>、<center>、<dir>、<font>、<frame>、<frameset>、<noframes>、<s>、<strike>、<tt>、<u> 和<xmp>。
  6. 更加語義化的新增標籤:
    HTML5 新增的一些新標籤除了不僅僅是更具語義的<div> 標籤的替代品,並不提供額外的功能。這些都是新增的標 籤:<article>、<section>、<aside>、<hgroup>、<header>,<footer>、<nav>、<time>、<mark>、<figure> 和<figcaption>。
  7. 表單增強:
    HTML5 為表單提供了幾個新的屬性、input 類型和標籤。到目前為止,只有Opera對HTML5 有比較好的支持。你因此應該下載Opera 來查看大部分新特性如何工作。
  8. 新的INPUT類型:
    color, email, date, month, week, time, datetime, datetime-local,number,range,search, tel, 和url
  9. 新屬性:required, autofocus, pattern, list, autocomplete 和placeholder
  10. 新元素:<keygen>, <datalist>, <output>, <meter> 和<progress>
  11. 視頻和音頻:
    音頻: ogg (ogg, oga), mp3, wav, AAC
    視頻: ogg (ogv), H.264 (mp4)
  12. 基於JavaScript 的2D 繪畫:
    HTML5 中最讓人興奮的特性是<canvas> 還有很多內容,比如數據存儲,拖放等等

三、讓所有IE都支援HTML5的作法(加在<head></head>中)

<!–[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]–>

前端性能優化

如果不是不可能,你也很難拒絕承認性能目前已是任何正規網站項目的最關鍵方面之一,無論它是一個小型的網站組合,一個移動優先的web應用,一直到一個大規模的商業項目。研究,論文和個人體驗都告訴我們快速是最好的。

性能不僅僅是非常重要,它也相當的有趣,而且這也是我越來越投入的事,不僅在工作方面(我一直在煩我們的首席性能工程師),也在項目與CSS魔法網站方面)。

在這篇長文章中,我將分享收穫,關於快速,簡單且非常有趣的性能知識的點點滴滴,以便使你的行為可以像一個初級的網頁設計師和前端開發者;希望對任何想開始學習性能的人,這篇文章可以成為一個正規的介紹,並使它們的前端變得超快。這些技巧是你能非常容易實現的。它只需要一點小技巧,以及一些瀏覽器怎樣工作的基礎知識,你就能開始玩轉系統了!

Read more »

jQuery 2.0發佈 不再支持IE 6/7/8

jQuery 2.0如期發佈,該版本不再支持IE 6/7/8瀏覽器,因此變的更輕更快,但仍然可以繼續運行在JavaScript環境中,在兼容這些老版本瀏覽器時,由於自身原因,常會產生一些錯誤。但別擔心,jQuery團隊將繼續對1.x 版本分支進行維護,如果你無法拋棄IE 6/7/8,那麼你可以繼續使用jQuery 1.9和即將發佈的1.10。

Read more »

提早6小時下班的工作術

用架構化創造最高效率─泉正人

上天平等地賜給每個人相同的時間,給個人每天都同樣有24小時,但你是不是常常覺得時間總是不夠用?為什麼成功的人會有那麼多的時間?

其實成功人士都能夠利用架構工作術來善加規劃時間,什麼是架構化?架構工作術又該怎麼做呢?

一、什麼是架構?
架構就是無論是誰、無論何時、無論做幾次,都能獲得相同成果的一套系統。

二、什麼是工作架構化?
所謂的工作架構化,就是建立起一套工作的執行模式,排除才能意志力記憶力,讓任何人都能做到的例行公事。 Read more »

SA & SD & RD & PG & PM & DBA & MIS

  • SA(SA: System Analyst) 系統分析師:
    在軟體開發團隊中,屬於中高階的基層管理者與領導者。
    他們除了須具備優秀的文字、語言溝通能力之外,還要有良好的分析、組織、邏輯思考能力。
    當然也需要有良好的人際關係,以及深厚的技術背景與知識。
    Read more »

SA/SD 的角色與定位

常在許多軟體公司與專案經理們討論軟體人員的職掌時,發現到,耶? 怎麼我所認知的 SA/SD 與他們實際的工作內容大大不同。嗯,所以我想就針對 SA/SD 來給個正名與定位吧。

Read more »

心智圖

心智圖(Mind Map),又稱腦圖、心智地圖、腦力激盪圖、思維導圖、靈感觸發圖、概念地圖、樹狀圖、樹枝圖或思維地圖,是一種圖像式思維的工具與及一種利用圖像式思考輔助工具來表達思維的工具。 Read more »