Subscribe: Beyond those variables
http://samsharehome.blogspot.com/feeds/posts/default
Added By: Feedage Forager Feedage Grade C rated
Language: Chinese traditional
Tags:
action 目標  app ipeg  app  google  initapp  iphone 開發技巧  iphone  objective  sun  xib xib  xib  位元  目標 動作  開發技巧 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Beyond those variables

Beyond those variables





Updated: 2017-02-09T12:50:13.178+08:00

 



facebook api use on fb iframe canvas

2011-03-31T23:05:24.612+08:00

Recently there is a case that runs on facebook iframe canvas with php, which needs login verification and retrive information at each page, so I wrote a sample php to do this. fbmain.php will verify user is login or not, retrive user information and tell if user is a fan of some page. Right below is the sample that includes fbmain.php. (P.S. To run the sample code below you need to download lib



重構與否,不要陷入迷思

2010-08-14T11:24:09.892+08:00

很多對程式有著很大熱情的工程師們都會認為良好的程式碼才是一切,於是不斷找空檔將其重構。但事實上這些年我慢慢試著阻止自己這樣作,當然,如果是真的寫的很差的程式,例如每個地方都有相同一塊塊的code,整理是必需的。 不過常常重構也是產生更多問題的開始,例如已經穩定的產品,工程師為了要加入一些設計模式而造成出貨時間的延宕。在台灣大多數的公司都沒有系統架構師這個職位,所以都由工程師來擔任設計,一開始所思考的想法便不是宏觀大局的眼界,日後才會需要一直改... 寫程式的初衷是要達到它的功能,並不是為了要做出藝術品,這就是我的觀點,因為使用者不會在意背後到底是怎麼做的,如果能讓人用的滿意,就是好產品!



iPhone App[iPeg] 上架摟~

2010-05-28T10:43:35.708+08:00

經過一次的reject,整體審核時間約14天(所以其實沒有意外的話,Apple每次的審核大約是7個工作天(當地時間)),終於在今天上架了,我自己很感動的去購買第一個app(0.99 us)... 其實這過程中,程式不是最難的,是美工...程式只花2天,但美工改了6次阿...希望各位給予一點建議指教^^, 順便膨場一下!! 本次的版本共有8關: 1. Cross  2. Addition  3. Rocket  4. Pyramid  5. SingleArrow  6. DoubleArrow  7. Diamond  8. SpaceShuttle 日後會繼續增加關數,如果您是這方面的好手,也可以提供我一些建議。iTunes Store位址: http://itunes.apple.com/us/app/ipeg/id370548177?mt=8或是直接在iPhone中搜尋



iPhone開發技巧(5) 找到先前版本的 iPhone SDK 與 Xcode

2010-04-29T16:02:35.097+08:00

抱歉隔了好長一大段時間才又寫了新的文章,因為Sam最近在忙論文口試與準備上架第一個iPhone App,在整個開發過程中有參考不少的網路OpenGL ES for iPhone教學,但是有些人可能會發現到因為Apple更新速度很快,所以很多程式框架是在2009年被拍成教學,但在2010年那些框架就全改了。並且,在你申請完ADC帳號後,作實機測試的時候也有一項很麻煩的問題,例如Sam的iPhone更新到3.1.3但是Xcode與SDK是3.1.2,然後執行時候它會和你說裝置版本不符合所以不能Run,這時候千萬不要Restore版本歐!!(除非你裡頭資料不要了...),於是你上去ADC找,會發現只有最新版本Snow Leopard,通常像Sam還沒升級(還是leopard)的就認命Restore...。 Sam在這裡提供大家一個小技巧來下載之前版本的iPhone SDK與Xcode,



iPhone 開發技巧(4) 通知追蹤

2010-03-25T16:46:03.496+08:00

我們平常對於iPhone App的開發,都是著重在MVC或商業邏輯上,當然大家一定會有自己的一套除錯方式,或是利用Performance Tool等來進行調效,不過這裡Sam想和大家說一下通知追蹤。 iPhone應用程式中的互動可分為三大類:Delegate(委派)、Target-Action(目標-動作)及Notification(通知)。 Delegate(委派)的作用方式可將它想像成使用者告知A去做事,而A事先把這份責任委派給B,因此,A在接收到做事指令後會直接轉交B來執行(聽起來有點類似推卸責任...雖然最後還是會把事情做完...)。 Target-Action(目標-動作)的作用方式有點類似觸發的概念,大多用在UIControl的子類別中,例如UIBarButtonItem在新建時可以設定target與action, 表示當使用者按下這個UIBarButtonItem,會



iPhone 開發技巧(3) 不用NIB(XIB)產生應用程式

2010-03-24T21:08:14.999+08:00

延續技巧(2)的結論,Sam覺得還是示範一下怎麼樣不用NIB(XIB)來產生應用程式。 首先,新建一個Window-based Application的Project,然後你會在左方看到如下圖所示的檔案清單。 接下來請毫不猶豫的砍掉Classes資料夾與Resources資料夾內的MainWindow.xib。刪除的同時會有視窗跳出,請選擇Also Move to Trash。 打開Resources資料夾中的plist,刪除下圖中紅色圈選列並存檔關閉。 然後我們在Other Sources內的main.m開始編寫程式碼,有兩個最重要的介面要實作,分別是UIViewController與UIApplicationDelegate。 UIViewController的功用為建立應用程式所需之視圖,當被載入時建立一個UIView,然後在view上加入一個UILabel顯示文字



iPhone 開發技巧(2) 要不要使用NIB(XIB)?

2010-03-24T21:08:43.774+08:00

我們在開發應用程式的時候都會使用InterfaceBuilder的視覺化界面來配製NIB(XIB)內的元件,這樣的確是比較省事,不過說穿了,NIB(XIB)在編譯的時候一樣是去產生一堆code。如果想知道你的NIB(XIB)到底在幹嘛,Adrian Kosmaczewski這位仁兄寫了一套轉換模組nib2objc,可以拿來玩看看。 一般開發者總是會認為從頭到尾都用code去產生的效能會最好,事實上這個觀念也沒有錯,Matt Gallagher 針對 UITableView 的顯示進行了比較,一方是由InterfaceBuilder產生,另一方用code來建立視圖。 不出所料,模擬器上code大勝20% 但是在實機上,一開始Code贏了15%,不過第三個cell之後,卻由NIB(XIB)開始領先了17%。 再經過微調每個儲存格中字型不要自動符合大小



iPhone 開發技巧(1) release 的使用

2010-03-24T21:08:57.886+08:00

一般而言,iPhone開發的時候要自己管理記憶體,雖然可以使用autorelease pool來讓Objective-C自動回收,但大多數的程式設計師還是喜歡自己掌控變數的生死,因此就會使用到大量的release方法。 例如: NSMutableArray *array = [[NSMutableArray alloc] initWithObjects:@"A", @"B", @"C", nil]; [array release]; 但是如果你的變數是從其他物件指定(assign)過來的話,又在指定完直接給它release的話,就會產生EXC_BAD_ACCESS的錯誤(前提是這個變數在原本物件也有被release)。而常常程式設計師在寫的昏天暗地的時候就會搞混(所以人家都說管理記憶體是一件很煩的事情),所以請記住一個口訣: “Only release if you did an



再會了~昇陽 So long, old friend

2010-03-24T21:09:12.232+08:00

歐盟今天通過了Oracle與Sun的併購案,也等於宣告Sun這個偉大公司的離去~ Java之父James Gosling在他的部落格貼出一幅畫,應該非常貼切許多Java人(或者是傾向Open Source程式開發者)的心聲... 畫中Java吉祥物Duke與疑似Linux吉祥物企鵝的角色一同悼念著Sun的墓碑。雖然Sun的業務不會消失,且Java不是依附在Sun旗下,但多少它的名義已經逝去了,以後變成與Oracle關連...有人還用語法回應了Sun的歷史,呵呵 Sun sun = new Sun( 1982 ); sun.create( "SunSparc", "Solaris", "Java", "OpenOffice" ); sun.buy( "MySQL"); oracle.buy( sun, 2010 ); oracle.getPatents( sun );



心智圖與甘特圖運用

2010-03-24T21:09:44.646+08:00

最近這兩天在整理論文的東西,也順便預定了一下論文時程,老實說,又要系統實作、手機應用加上專家訪談,真的是相當累人,所以只要一環進度落後就會造成很大的影響,因此甘特圖就是必備的東西。 甘特圖(Gantt Chart)由亨利·甘特於1910年開發的,主要為透過條狀圖來顯示項目、進度、和其它時間相關因素隨著時間進展的情況。 其中,橫軸表示時間,縱軸表示活動(項目)。線條表示在整個期間上計劃和實際的活動完成情況。甘特圖可以直覺地表明任務計劃在什麼時候進行,及實際進展與計劃要求的對比。管理者由此可以非常便利地弄清每一項任務(項目)還剩下哪些工作要做,並可評估工作是提前還是落後,亦或正常進行。除此以外,甘特圖還有簡單、醒目和便於編制等特點。 Sam自己在mac上用的是這一套自由軟體 Gantt Project,除了支援各項功能外,也支援各國語系與各系統(MacOSX, Windows, Linux



Google GO 語言獲得 TIOBE 評選為2009年度程式語言

2010-01-20T13:25:03.410+08:00

TIOBE的年度語言排名又出爐了 ~ Java仍然穩站第一位,php排名提升,python仍然不動,不過由於iPhone的關係,Objective-C 躍昇到12名,而去年11月才發表的Google GO語言則莫名其妙的一下跳到13名... 原文出處:http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html



安裝PostgreSQL on Mac OSX

2010-03-24T21:10:13.489+08:00

之前Sam使用過資料庫的經驗有Oracle、MSSQL,當然最常依然是MySQL。基於php全球使用人數眾多,而通常與MySQL直接綁在一起變成書籍、課程等,也讓MySQL的聲名大噪。不過最近由於論文要研究一些國外的典藏系統(DSpace),發現他們除了商用資料庫外,也有使用PostgreSQL(念法為post-gres-ql)。PostgreSQL首次發行日為1989,MySQL為1996,所以請不要因為沒聽過它的名號就認為它很新或不夠成熟... 一般業界近年來普遍認為MySQL較為快速與容易上手,PostgreSQL則是被定義為強大的、注重資料完整性、對於SQL描述嚴格,速度較慢也較難上手。如要了解開源碼資料庫最新相關規格(2009)比較請參考http://www.devx.com/dbzone/Article/29480 而就Sam實作的典藏系統來說,Transaction非常



如何做一個出色的程式人員(轉)

2010-03-24T21:12:18.963+08:00

轉自 http://blog.csdn.net/lkjxshi/archive/2010/01/07/5149541.aspx 愛這行! ! ! 從事任何行業都一樣,只有真正的愛上了這份工作,才會投入熱情,才會在順境中自我警醒,在逆境中尋找突破。這個行業的競爭很激烈,你停下來走,別人就立刻會跑步超過你,沒有對這一行業的一種熱情,就很難在困境中保持一種執著的態度堅持到底。 踏踏實實“紮馬步” 今天無意中看了“校長”的“程序員&司機”,其中談到了關於程序員速成的問題。其實速成班畢業的“系統殺手”早已在遍布大江南北,只是在互聯網時代,互聯網的應用型軟件生命週期越來越短,業務驅動主導的情況下,這種速成方式看起來反而提高了企業生產效率。但這樣的人才也就只能寫幾個Facebook上的插件應用或者iGoogle上的Gadget,真的要出Google,Amazon,Yahoo改變互聯網世界的企業,還是



反三段論

2010-03-24T21:12:36.402+08:00

剛在JavaWorld@TW上看到有某大軟體公司在徵人,並且面試題目考的是相當有難度的Syllogism 三段論是由亞里士多德創立,用於推出結論。至於反三段,是人們日常思維中常用到的推理模式。其形式如下: 如果P並且Q則會R 所以,如果非R並且P則會非Q 或者 如果P並且Q則會R 所以,如果非R並且Q則會非P ------------------------------------------------------------------------ 現試以MBA入學考試的邏輯題為例: 如果所有的鳥都會飛,並且鴕鳥是鳥,則鴕鳥會飛。 依據上述斷定,增加以下哪個條件,能推出「有些鳥不會飛」? A. 鴕鳥不是鳥,且鴕鳥會飛; B. 有的鳥會飛,且鴕鳥是鳥; C. 鴕鳥不會飛,但鴕鳥是鳥; D. 鴕鳥不會飛,且所有的鳥都會飛; 解析:前提部分可以表示用邏輯結構表示為“如果p且q則r”,有些



未來五年內開發者所需的技能

2010-03-24T21:13:03.737+08:00

剛看到這篇有趣的文章,其中提到: 1: One of the “Big Three” (.NET, Java, PHP) - 學會三大巨頭之一(.NET, Java, PHP) 2: Rich Internet Applications (RIAs) - RIA技能(Flash, Flex, JavaFX, Sliverlight) 3: Web development - 網站開發 4: Web services - 網路服務開發 5: Soft skills - 請放眼IT產業未來的觀點,並觀察公司外的走向 6: One dynamic and/or functional programming language - 雖然Ruby, Python目前還不是主流語言,但它們觀念是,所以有朝一日爬升上來時,你會的話就很吃香 7: Agile methodologies - 敏捷開發



免費的雲端防毒軟體 - Panda Cloud Antivirus

2010-03-24T21:13:18.351+08:00

免費的雲端防毒軟體 http://www.cloudantivirus.com/en/ 以「第一個沒有更新選項的防毒軟體」聞名全球的Panda Cloud Antivirus,能以最快最即時的雲端防護機制來對抗最新最危險的病毒威脅。別說不可能,藉由集體人工智慧的幫助,Panda先進的伺服器群組能在雲端收集來自世界各地用戶的惡意程式資訊,並且自動進行病毒碼辨識,進而將新的惡意程式病毒株在短短幾分鐘內歸檔完畢。集體人工智慧結合了本機電腦偵測技術與即時的雲端掃描機制,能在提供最強大防護的同時,帶給電腦最低程度的資源耗損(僅需消耗20MB的記憶體容量)。 Panda Cloud Antivirus相容於Windows XP (32位元)、 Windows Vista (32位元 / 64位元) 以及Windows 7 (32位元 / 64位元) 等知名操作系統,並且廣泛支援了11國語言。 近期



Google發表新的程式語言「Go」

2009-11-11T17:47:41.601+08:00

轉載自http://www.ithome.com.tw/itadm/article.php?c=58033: Google周一(11/10)發表了新的系統程式語言「Go」,以加速程式開發。Go結合了像是Python動態語言的開發速度,以及擁有C及C++語言等編譯語言的效能及安全性,同時也是一個開放源碼計畫。 Google表示,近十多年來運算環境變化很大,但卻沒有新興的系統語言,導致軟體開發跟不上電腦發展速度。例如有愈來愈多的開發人員不喜歡Java及 C++的笨重型態,因而轉向動態的Python與JavaScript語言,而現在受歡迎的系統語言亦未妥善支援基本的垃圾蒐集或平行運算概念。 這也使得Google認為現在值得嘗試新的語言。Go是一個並行的,具垃圾蒐集功能的語言,並可快速編譯。它在單一電腦上可於幾秒內編譯一個大型的Go程式;而且提供一個軟體架構模型以讓相依分析更容易,並避免



Google IO大會上Guido van Rossum對於GAE的演講

2009-11-11T12:09:53.482+08:00

由於python創始人Guido van Rossum被Google收錄進去...所以python可說是google開發的主力,而GAE也是基於python + django的環境改寫而成, 我們來聽聽去年Google IO大會上Guido van Rossum對於GAE的演講 然後也有介紹python的特性與其他相關部分



Flash Loader 載入外部 swf 時 stage=null 的問題

2009-10-17T23:32:33.186+08:00

剛剛寫as的時候發生一個問題,由於被載入的swf裡頭有運用stage作場景控制,故被主頁載入時出現 TypeError: Error #1009: Cannot access a property or method of a null object reference. 原因在於被載入的swf在主頁尚未將它加入至場景上時就呼叫了建構子,因此,我們可以運用以下的方法解決: public function Page05DocumentClass() { if (stage){ initApp(); } else { addEventListener(Event.ADDED_TO_STAGE, initApp); } } private function initApp(evt:Event=null):void



創造「耐心練習周期」(轉)

2009-09-10T10:16:40.836+08:00

的確我是一個極度沒有耐心的人,所以要從現在開始訓練... 耐心是心的一種性質,可以藉由蓄意的練習而大幅提升。我發現可以磨練耐心的一個有效方法,就是創造真正的練習周期,也就是在心中設定練習耐心藝術的時間周期。生活本身變成了一間教室,課程叫做「耐心」。 你可以從短短的五分鐘開始,然後逐漸延長你的耐心的容忍度。剛開始的時候,不妨告訴自己:「好,接下來這五分鐘,我不要對任何事情生氣,我要保持耐心。」你將會有驚人的發現。保持耐心的企圖,尤其是你知道只要忍耐一下子,就會立刻加强耐心的容忍度。耐心是那種食髓知味的特質,你將會發現,你確實有能力保持耐心,即使時間長一點也可以。日子久了以後,你甚至會變成一個很有耐心的人。 當我們保持鎮定時,不讓自己生氣或懊惱時,就可以冷靜而堅定地控制行為,這比發怒生氣有效多了。這個讓心靈朝耐心努力的過程簡單易學,重要就是把持自己想發脾氣的情緒,不再鑽牛角尖。 有



前瞻與創意思考

2009-07-27T22:36:51.365+08:00

創新事實上是指創意加變革,單單只有創意但未付諸行動,就還不是創新。例如 明基科技董事長 李焜耀 說過“創新是一種行為的習慣,習慣獨特的方法、理念與結果,勇於做自己”,不隨波逐流,不盲從,正是創新的根源。 但是,創新並不是突然靈光乍現就足夠,必須還得包括詳細的分析與系統化的流程一步步實現,然而時代在變,人也在變,整個外在環境都在劇烈變動,組織的管理與運作也必須改變,不過需要改變什麼?什麼需要改變?可以奇異的領導力四個“E”為其重點: (一) Energy : 高度的幹勁 (二) Energize : 激勵他人的能力 (三) Edge : 制定艱難決策的精準度 (四) Execute : 貫徹執行達成目標的能力 由此可見創新是能夠被管理的,但如何能有效領導創新呢?身為一個創新領導的角色,該員必須要有幹勁,並能影響其他人使他們同樣有幹勁,另外必須要精準不莽撞(瞎忙),並要真正做的到。



適當地運用研發與創新

2009-06-28T01:10:01.516+08:00

"研發"囊括了"研究"與"發展",並可細分為三個部分: 1. 基礎研究 - 主要為了增加科學知識,或許沒有後續的商業應用。 2. 應用研究 - 增加特定應用或需求的知識。 3. 發展 - 應用知識產生有用的實體產品。 Sam感覺大部分在台灣的中小企業都是先產生3的想法再回過頭去研究2...至於1基本上是無產值所以不太被重視。因為總是要在最短時間內得到成效,如果不好才能評估改進或淘汰,或許因應各國的風情不同會產生差異性的結果,但從過去歷史的經驗上,很多大賣的產品都不是專門為了商業利益所開發,可能是機緣巧合,也可能只是對該項事物有極大化的熱情,而促使個人與團隊不惜成本去研究,最後出乎意料的受到好評。 日前感謝"大Sam"的關照,有榮幸去參加Google Marissa Mayer的座談會,她也敘述了Google為外人津津樂道的80/20理論。Sam認為,20%的時間拿來計畫員工真正



Objective-C 初級讀本翻譯

2009-06-06T20:24:30.704+08:00

由於目前 Sam 開始寫 iPhone 程式,但又完全不熟悉 Objective-C,所以只能依照 Apple dev center 內的教學流程走,當然也要從 Objective-C 的一些觀念下手,Sam 花了兩天時間將 Learning Objective-C: A Primer 這篇文章翻譯成中文,畢竟有關資源實在太少,也只能希望未來更多人能夠幫忙翻譯裡頭一些好文章,讓大家一起加入 iPhone 開發的行列。 如果翻的不好還請多多見諒。 文章下載



Mircosoft Azure 的野心

2009-05-29T12:18:59.113+08:00

有在注意產業相關新聞的人應該都知道微軟已經和Zend(PHP)合作了。很多人可能覺得很奇怪,也有些人認為這樣很好,讓PHP能夠更容易在Windows伺服器上使用... 哪有那麼簡單!!! Sam 覺得微軟是為了他們的雲端平台Azure,畢竟一開始就落後了Google, Amazon, IBM,想要及時迎頭趕上是蠻麻煩的,於是乎只好搬出這招,打著PHP的光環吸引更多PHP開發者(為數驚人的高市占率),而且其他家平台都是 Java、Python 之類的語言,較為小眾市場或不是那麼容易入門,相對的以商業角度來看,微軟下對了一步險棋。 但就Sam開發的經驗來看,PHP似乎在系統動態套件擴充部份有一點糟糕,有玩過PHP設定的人都知道要把套件 1.重新編譯(Unix-like) 2.套件檔放到lib下然後修改設定檔(Windows) ,不過雲端平台表示碰不到系統,自然就無法安裝這些東西,這是



GAE ( Google App Engine ) 模式為什麼將來會流行?

2009-05-26T18:36:10.862+08:00

一開始寫這篇文章標題時,本來想下"為甚麼GAE( Google App Engine )在台灣乏人問津...",但是與其批判,不如說一些真正吸引廠商或老闆的條件比較實在。 講到GAE就不能不提雲端,雲泛指網路世界,其實中國把Cloud Computing稱作雲運算,但Sam還是覺得台灣翻的好,因為重點是終"端"使用者。Google之所以能夠讓用戶端幾近立即的得到搜尋結果,在於內部程式幾乎都實作了Map和Reduce方法去驅動機器讓資料中心平行同步幫您處裡,才能夠達到如此高的效率(參見Map-Reduce)。 這時候我們開始回歸到現實面,如果您擁有一家軟體開發,或目前已經在提供現上應用服務的企業(無論大小),您會怎麼處理資料? 目前情況不外乎是砸錢設機房、買伺服器、請網管維護、負擔線路費用,或是中小企業租用虛擬伺服器。但如果以上都能省略呢? 俗話說 "打蛇打七寸",既然公司是以軟體與