發表文章

目前顯示的是 十月, 2014的文章

2014 PHPConf Taiwan 參加記錄

圖片
又是一篇流水賬,事隔好幾天了,我都詞窮了 :P

今年的 PHPConf 辦在輔仁大學,是 10/18 (六),活動網站點這個,然後一如往常,
如果沒有參加的朋友,通常都是看 PPT 比較多,不過我個人非常推薦了解一下今年的 phpconf 議題,很妙的是,我覺得大部份的議題跟 PHP 本身沒有太多的關係,架構面跟效能處理上的議題比較多 (ex: mongoDB, MySQL...),而且都蠻實務的,一整天聽下來有物超所值的感覺哦 !


以下就由本 blog 特派員小 win 做個簡單的 conf 記錄!~

場地來說,雖然也不是第一次到輔大了,不過那個會場真的是有些遠,好熱啊... (不知道為什麼今天特別的熱)。但是學校場地能這樣子也算不錯了,雖然下午會議室有點悶,不過是可接受範圍,感謝辛苦的工作人員還搬電扇來 :)。

一去就是滿滿的人潮在簽到。

這袋子跟去年的很像內,大象就是可愛!

個人識別證。



微博 LAMP 優化之路

第一場,微博 LAMP 演變,講者是中國最有影響力的 PHP 技術專家惠新宸,Laruence,採用 live 的方式進行議程,挺炫的啊,第一次體驗這種 live 議程,不過訊號斷斷續續有點可惜,有興趣可以先看這個網址

大部份在講網站性能優化/結構優化,前端 php 後端 C, 從 LAMP 到 LNMP, O+ 替換 APC 等分享。很多專有名詞我沒有聽過 (ex: yaf, apc...)...,唯一的心得是覺得在台灣做網站,流量也很少有機會需要這樣優化我的網站,機會很少,有點可惜...。

然後聽完這場之後學到一個很有趣的名詞:  首屏時間 (頁面整個 load 完的時間 (數據填滿用戶瀏覽器的時間))。



創意與專案管理的冰與火之爭
這場我沒有太多的想法耶 XDD 抱歉。
只是很少再跟程式相關的場合聽到跟 PM 有關的議程,這也是一種開創呀~



whoscall & MongoDB gogolook CTO 分享 mongoDB 的應用,雖然我沒有用過 MongoDB,不過是很實戰的分享經驗,講者說明了從 GAE 轉換到 AWS 使用 MongoDB 的過程之中遇到什麼樣的問題以及以何種方式去解決等等。
聽完之後我才知道原來 Time Sync (時間同步) 這麼重要,index size fit in memory,有多少資料配多少的記憶體,…

做 Mobile Web 的兩三事...

圖片
是說編編擔任前端一職至今也兩年了,也有做過幾次 Mobile Web,(雖然稱不上專業...,但是我沒有放棄要努力好好學的意思...),之前一直想要記錄一下心路歷程,但是一直停留在我那點好幾次分頁的 google 草稿,再加上今年年中有一段懶散,一直沒有寫文章 。

對了,我喜歡片段式的記錄自己學的東西,然後再一次集結起來。

(此圖僅是示意圖而已)

我見過兩種手機版網站的開發的方法

1. 一種是真的當作另一個網站在開發

MySQL Error Code: 1175 錯誤

其完整的錯誤描述如下:
Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect.


事件起因:
我想要刪除某個 id 在多對多 table 的所有 row。


解法:
在 Delete From ... 之前加上
SET SQL_SAFE_UPDATES = 0; 
即可解決。

MySQL Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) ... 錯誤

在執行 MySQL 的 Stored Procedures 時,因參數帶入中文而有這樣的錯誤訊息。
簡單來說是跟語系的設定有關,但不管我怎麼修改 database 的 charset 或是 table 的語系,依舊沒有解決這樣的問題,因此在 stored procedures 裡面加了 COLLATE 的語法。
要注意的是 COLLATE 不是加在參數設定的地方,而是在 WHERE = 時為該 field 設定 COLLATE utf8_unicode_ci 的設定。

Example:  不能這樣寫 如果將 COLLATE 的設定寫在參數的地方,MySQL 將會回傳 Error 1235: This version of MySQL doesn't yet support 'COLLATE with no CHARACTER SET in SP parameters,... 的訊息。

DELIMITER $$
CREATEPROCEDURE`ls_cn_sp_getadminuser`(
IN`_admin_account`VARCHAR(255)COLLATEutf8_unicode_ci,
IN`_admin_password`VARCHAR(255)COLLATEutf8_unicode_ci
)
begin
# 撈出該 adminUser 的資料
SELECT*
FROM`ls_cn_admin_user`
WHERE`admin_account`=_admin_account
AND`admin_password`=_admin_password;
END

Example:改成這樣寫

DELIMITER $$
CREATE PROCEDURE`ls_cn_sp_getadminuser`(
     IN`_admin_account`VARCHAR(255),
IN`_admin_password`VARCHAR(255))
begin
# 撈出該 adminUser 的資料
SELECT*
FROM`ls_cn_admin_user`
WHERE`admin_account`=_admin_accountCOLLATEutf8_unicode_ci
AND`admin_password`=_admin_passwordCOLLATEutf8_unicode_ci;END







『程式設計人應該知道的 97 件事』讀後感

圖片
這本書非常適合在寫程式寫到腦袋有點鈍掉,又不想停下來好好休息的人拿去咖啡廳坐著看一看。

我不知道大家 coding 到有點 co 不下去的時候會做些什麼事情,如果是我,就是在臺北東區亂走路,但又不至於走9遍忠孝東路,或是焦慮的喝著有咖啡因的液體...,沒有要幹嘛,但就是也不想睡覺休息 XD。常常我是邊走路邊想事情。

這本書,整體來說,並沒有什麼總結,只是很多人對於工程師的一些想法,不論思考, 做事的方式, coding 跟重構等等。

有些人的想法,看了會很有共鳴,你會覺得,好像我也是這樣做, 好像...我也是這樣想。有些人的想法,可能跟你互斥,不過都是別人的經驗,你可以汲取你認為好的,或是思考一下,不想做 plan A,那如果是你,你會有什麼樣的 Plan B,因為方法沒有一定,端看你的工作環境,  coding 方式, 同事, 客戶等等。


蠻意外的共同點
有幾位專家認為增進 coding 的能力之一是共同參與別人的 open project,或是去看那些開源的專案的程式碼。這點我自己承認我沒做好,因為我沒什麼耐心看別人的 code,除非是我很有興趣的專案,像是一些用 JavaScript 寫出來的效果等等... :P (還需要多培養....)
註解不是邪惡 P.32 那篇是個很好的故事,簡單來說就是,作者在念大學的時候,老師出了一題算出平均值的程式,題目不難,作者得到了一個勉強的分數,但是老師在評分卷上寫著: 『沒有註解 ?』 。老師會這樣問的原因是,老師跟作者都知道這段程式碼目的是要做什麼 (因為已經知道題目了),但是這樣還不夠,『程式碼必須可以對下一個的程式設計師解釋他自己』。但是也不該過度註解,註解最好可以用來解釋程式無法解釋地清楚的地方 (可以跟『在程式碼無法表達之處註解』, P.34  做比較)總是有機會會寫到很複雜的功能『如果這東西很難寫,那麼也應該很難讀』,這句的意思為反意,要注意程式碼的可讀性 (update 2015-01-15,謝謝 洪象成)。
學習程式以外的語言 是的,這篇我很有體悟,尤其剛參加完英文講者蠻多的 JSDC 之後,要好好學英文...
程式碼的審查. P.28 這篇建議可以給會被 code review 的新人看看,我曾經有犯過這種錯,就是被別人 code review,但是我覺得那是對方的偏見,改了我的 code 有時候心情蠻差的。但我後來是…

JSDC 2014 會後

圖片
今年的 JSDC 一樣是辦在中研院,這是第二次參加了,
不過上次是工作人員,這次是會眾。
(我很抱歉中途離開了 JSDC 的工作人員的 member。)


和以往很不同的是,今年的票價是 (早鳥 4500 ) 5500 台幣,議程講者較多國外講者,然後有現場口譯。
整體的滿意度是:

票價: ***議程: *****中餐跟點心: ******
現場口譯個人認為還不錯,挺需要的,口譯人員的翻譯我也覺得不錯。



然後不知道為什麼,每次去中研院天氣都很普通.....
在三天連假有其中兩天 7 點就要起床前往中研院參與這樣的盛事,不是一件簡單的事情,我曾經早起睏到後悔報名 XDDD,但是心裡知道不能如此墮落。

Day 1,第一天的入場程序不知道為什麼卡很久,真的不知道為什麼 XD....


Future of Enterprise Web Applications
接著是第一場的 Sencha 的講者,老實說第一場完全處於登出狀態,理由是自以為聽得懂英文,太晚戴上口譯翻譯機,第二點是這個議程的結束讓我完全處於有點錯愕的狀態,有點可惜,我覺得好像沒有聽到太多關於架構面的事情,我想或許他們把重點放在 Day2 的 Workshop 吧...,不過我沒參加 Day2 的 workshop。

mobile web 的 scroll 行為調整

最近研究起 Mobile Web,發現某區塊在上下滑動的時候沒有那種很滑的感覺(不好意思... 真的不知道怎麼形容這種感覺),想要這種感覺的話,可以試試 overflow-scrolling 的屬性:

-webkit-overflow-scrolling: touch;
overflow-y: scroll

畢竟 mobile web 不是 native App,如果想要 scroll 很順的話,可以參考看看。不過要很抱歉的說我並沒有細心的研究這個 CSS 的用法,不過上網查到的都是介紹使用 overflow-scrolling 。有機會我會再詳細補上。


參考:
Native Scrolling on Touch Devices & Polyfilling
Momentum Scrolling on iOS Overflow Elements

skrollr 製作滾動視差 ( Parallax Scrolling )

Skrollr 網址。

這篇不是教學文,只是稍微提及,製作滾動視差的話,Skrollr 是我遇過目前很好的入門,問題是寫到最後難以避免整個 HTML 架構跟 inline-style 混搭風,如果你能接受 HTML 充斥著 data-attribute 跟 inline-style 倒是可以試試看這款。


問題點 :
小的在使用 Skrollr 上發現在 Mobile 觀看時會綁架整個頁面,也有不少人在 Stackoverflow 提及此問題。最後我很孬的只有結論出兩種解法 :

要嘛就是在 Mobile 或是 Tablet 拿掉 skrollr。 (我最後選擇了這種...)修正他。

參考 :

如何使用 skrollr 做出簡易的 Parallax Scrolling 網頁