2013年12月19日 星期四

網站效能不佳?談『如何判定系統變慢原因』的簡易 SOP


        上次『大禹治水』提到,對於採用 Windows+ASP.NET+MSSQL 技術的網站服務,找出網站系統變慢、效能不佳的原因其實有一簡易 SOP 可以起手,減少無頭蒼蠅盲目亂撞的時間成本浪費,這篇就簡單介紹一下這簡易的 SOP。

        符合“簡易”的這個特徵有兩個條件:
  1. 不用額外安裝任何第三方軟件或工具,只使用作業系統內建的基本工具即可。
  2. 與系統特性無關,不需要先理解遇到麻煩的系統任何內部原理與商業邏輯。
        所以任何任何人,都可依照這個 SOP,花個半天時間迅速判斷 80% 以上的網站效能瓶頸點。

2013年12月14日 星期六

我的 log4net 設定的 Best Practice


        一個系統是否容易追蹤與維護?出了問題容不容易快速查閱、釐清問題癥結?系統日誌(System logging)絕對佔著舉足輕重的角色。.NET 寫系統日誌的方案,最出名的大致上只有兩種:log4netNLog。兩者之間沒什麼優劣比較,這種東西,精通其中之一就很夠用。

2013年12月7日 星期六

從『玩股網驚魂記』談大禹治水


        楚狂人的『玩股網』前陣子發文公告系統不穩的情形,這兩天他寫了篇『玩股網驚魂記』說明了前因後果,看完後覺得可以當作一個個案解析的案例。

        先談談文章所說最後發現玩股網無法正常運作的結論:被大量的 Crawler(網路爬蟲抓資料導致伺服器過於忙碌。開頭原本說判斷這應該不是駭客攻擊,其實就結果來看,這也算是一種攻擊手法:分散式服務阻斷式攻擊DDoS

2013年11月30日 星期六

[連載]新創公司歷險記-1:臨危受命,掌握資訊

        今年四月,正徘徊在職涯下一步的十字路口,當時剛好接到前同事電話力邀我加入一個剛成立半年的新創公司團隊,一起打造一個全新的新產品而努力。

        當時被原公司既有的營運系統基於管理上風險的考量,而搞得拳腳難伸的我,在與灰心喪志之下,很受眼前這個可以盡情嘗試各種全新技術與各種假設的創業機會所吸引,毅然訣然地揮別前公司

        由於要能盡情試驗新技術、開發流程與團隊合作的模式,我加入的條件就是我必須擔任掌握這些權力的  Team Lead(這篇)

        然而真正置身此處,才發現事情也沒有想像中那般美好。

2013年11月8日 星期五

YAHOO 2013 HACKDAY 附錄:兩分鐘的 Bubble DEMO 劇本稿


        科技幫助人溝通越來越快速、方便,但是人與人之間的溝通,還缺了一個重要的環節。我們團隊所製作的 Bubble Chat,就是為了補足這遺落的環節。

        進入我們的 APP ,首先結合超級好用的 YahooMap,精準地呈現你所在地週圍,其他人透過這個 APP 所分享的生活大小事,心情喜怒哀樂。

YAHOO 2013 HACKDAY 參賽記錄與心得


        剛好透過 INSIDE 網站宣傳得知 Yahoo 今年所舉辦『駭客松(Hackthon)』。

        我實在認為自認有熱情的開發者,一生中都應該至少來體驗一次這種 “燃燒生命、爆肝寫 Code” 的活動!所以之前總是錯過這類活動的我,這次看到比賽消息,立刻在 FB 上揪團參加。

        由於這次競賽的要求跟過去以往不同,特別強調 UI / UX 設計,並且要求團隊中一定要有至少一個 Designer 參加,所以造成這次比賽隊伍中,女性比例大幅提高,每隊通常會有一個女性參加(本隊也是),甚至有團隊是完全女性組成的四人隊伍。如果去網路上尋找過去幾屆的比賽作品,相比之下也會發現這屆 DEMO 的作品視覺上質感有大幅提升的效果。

2013年10月6日 星期日

Yahoo 2013 Tech Conference 與會小記

        這次榮幸獲 Yahoo HR 的安排參加這場 2013 Tech Conference。看到活動邀請函上寫著『無限供應的自助餐點』,抱著白吃白喝看熱鬧的心情,在 9 / 12 日當天晚上,來到了南港軟體園區的雅虎辦公室。

2013年8月24日 星期六

你這是負責任或推責任?談『系統程式交接』


        我最感到幸運的,是這一路上遇到幾個願意帶我的師傅。其中一個待我相當嚴苛(當時我常常心裡有很多抗拒),然而現在回想起來,卻也從他身上學到、領悟許多。其中他讓我體悟到影響至深、最重要的一點,不是技術,而是某些做事態度,尤其是『程式交接』這件事

2013年8月22日 星期四

先同居後結婚的 Open Source 計劃


        成立一個可以跨越距離、時間約束的虛擬團隊一起完成一些『有潛力』的項目,一直是我很大的一個夢想。然而,在嘗試成就這樣的虛擬團隊,我碰壁了許多次。甚至一度質疑外面成功案例的真實性,反而梅姐砍掉 Yahoo 遠距工作的制度,說服了我:遠距虛擬團隊只是個烏托邦的幻覺

        現在帶的團隊,甚至有一次因為擔心颱風所造成的不便,我們嘗試了一次『在家工作、Skype on line』的遠距合作工作日。就結果而言,那天團隊整體的績效相當差,又一次加深我否定的信心。

        一直到前幾天,看到 XDite 分享自己對遠距合作的經驗與想法,我才豁然開朗以前失敗的問題癥結點在那。XDite 裡面有個心得很棒:參加成員必須是 Senior 的開發者

2013年8月5日 星期一

我從 SVN 退役轉 Git 的三月有感


        這三個月,我的開發工作環境從以往熟悉的 SVN 轉為 GitHub。使用 SVN 這麼多年,心中早已經有一套 SVN 的哲學和心法,突然面對這麼一個對我而言全新的版本控管工具,有許多不易契合的操作,但畢竟兩者擅長不同,所以這裡不以優劣勝敗定論,單純從一個已經使用多年 SVN 的用戶角度來看待剛接觸三個多月的 Git 的心得與想法。

2013年6月15日 星期六

架構師 vs 創業者

        今年初,我以系統架構師的頭銜離開了前公司,來到了一個才 start-up 三個月左右的新創公司當 Team Lead,帶著五、六個人的開發團隊力挽狂瀾、力保三個月後能讓該公司的新創產品能順利上線。

        這段時間我算是忙到昏天暗地,每天工作時間超過十二小時,甚至還有做到清晨四點下班,然後早上十點又繼續上班。可以說沒什麼體力心力寫部落格,任其荒廢了好一段時間。

        這段時間,我不斷受到內心或是外在所謂『架構師』和『創業家』角色之間的拉扯。但想想自己當初跳脫上一間公司的角色來到這裡,諸多原因之一,就是我想認真學習如何成為一個『創業者』!

        但是,架構師和創業家在思維上是很衝突的。

2013年4月9日 星期二

一個打十個的葉問很強,但我要殺很大的瑤瑤!


        傳說中葉師傅是個以一打十的功夫英雄、深居簡出,是個頂尖的人才

        求才若渴的老闆,三顧茅廬尋訪多年、重金禮聘,花費 9999K 終於請出葉師傅到我們公司上班。老闆欣喜若狂,認為嘔心瀝血總算讓這麼一等一的高手出任敝公司職務,公司前途光明,發展不可限量。

        「這位老闆,先說好,沒有以一對十的場面我可是不幹的。」葉師傅醜話說在前頭。

2013年3月14日 星期四

『東西沒壞就不要修』?淺談軟體的技術破產



        只要在軟體開發圈子混一段時間,尤其已經有系統 run 在 production 環境上,十之八九會聽到這句廣為流傳的經驗談:「東西沒壞就不要修。

        這句話,常常被反對重構(refactoring)者掛在嘴上。

2013年2月5日 星期二

軟體開發適合 BottomUp 或 TopDown?

        在進行軟體開發的系統設計,有兩種迥然不同的思維模式,一種是由下到上的 BottomUp,也就像是蓋房子一樣,由地基規劃打底開始,逐步往上;另一種是由上至下的 TopDown,由需求主導,逐步向底層延伸。甚至,微軟曾經為了不得罪兩邊的支持者,提出了折衷的 MiddleOut 從中間往兩邊延展的模式,但落得兩邊都不討好的下場,所以這個含糊其辭的異教論我就不在此討論了。


        十年前當 XML base 的 WebService 初試啼聲,彷若帶來一道曙光,是 IT 界整合的創世救星的年代,那時候各種系統整合的名詞蜂擁而出,開始有 SOA(Service-Oriented Architecture:服務導向架構)、 BPM(Business Process Management)或是 ESB(Enterprise Service Bus:企業服務匯流)⋯⋯等令人眼花繚亂的名詞,當年我負責協助金融業導入相關技術產品與專案,就遇到究竟該 TopDown or BottomUp 僵持不下的爭論。

2013年1月9日 星期三

『微軟私有雲建置及管理規劃營』課後報告



        當單機軟體服務已經幾乎被淘汰,網路服務已經成為顯學,所有的應用幾乎都要求 web 化,網路應用服務供應商如何自己建置,或找到穩定、經濟、合用的伺服器 Hosting 環境,已經成為燃眉之急的要務。
       雲端這個詞正夯,有人認為這只是個行銷名詞,跟過去網業虛擬主機或是主機代管並無差異。為了釐清這樣的誤解,微軟替現在的『雲端運算』做了如下的定義:虛擬化可攜性

Google+ Badge