發表文章

[Python] 將 Matplotlib 的圖形轉換成Array

實作Matplotlib產生圖形並取得Array資料 最近剛好在做實驗的時候,遇到一個狀況要讓ML對某個圖表做處理,而這張圖表是已經將資料處理過的了,試了好幾種方式讓ML做判斷,還是沒有辦法達到預期的結果,後來才想說把圖轉成Array直接做處理,以下是分享如何將Matplotlib產生好的圖型取出Array。 點這裡看程式碼 參考資料: Agg Buffer To Array

[心得] 圖解 微分、積分生活中的微積分-第一章

這本書應該是目前看過教微積分最白話的書藉。 記得以前只要聽到微積分就覺得非常的害怕,而且這科也是被當最多次的,對於非理科學生還要上微積分真的是很痛苦,而這也是求學階段最害怕的一門課之一。 而隨著時間的推移有時工作上會用到微分,才開始對這個有一些認識,了解到說學了微積分後是能夠做什麼,例如 : 經濟相關的計算、物理運動上的計算,當然還有現最熱門的機器學習也有用到。 在這本書的第一章概略的提到積分與微分的不同,而且用了生活上的東西來描述這兩個是怎樣的概念。 微分 : 用拍照的過程來描述, "時間" 對 "揮動雙手的朋友" 做微分= "朋友揮動雙手的瞬間樣貌",用意在於求瞬間的變化量。 另外也有提到將地球看成一個平面圓形時,對圓形半徑做微分,就是求腳下這一點的切線。 積分: 控制料理的火候、用時間對火力做積分而得到適當的熱度。 在這本書中用了幾個生活中的例子,可以比較容易的認識這兩個是什麼,目前讀完第一章覺得還滿有趣的。

2018 的年度計畫

大家已經定好年度計畫了嗎? 過去的一年花了大部份的時間在日語學習上,雖然現還沒有辦法很流利想說什麼就說什麼,但是也算初步完成了2017的年度計畫了。 新的一年也不能忘記重新定目標,首先重新開始寫Blog這邊荒廢了很久,此外重新定義這邊的主題,未來不再只是分享iOS開發,將會加入更多其他的東西,目前將會加入的有 Python、MQL4/5、C#,同時也會紀錄學習機器學習的過程。 今年上半年的書單 : Deep Leaning-用Python進行深度學習的基礎理論實作 Python 資料科學學習手冊 Python 期貨演算法交易實務121個關鍵技巧詳解 文科生也看得懂的電路學 圖解微分、積分-生活中的微積分 寫到這邊,覺得一本比一本還要硬,之後會再分享閱讀的進度與心得。

OpenGL Float texture 實驗

最近在寫一個智慧剪圖的 app  Cutto , 裡面因為需要執行大量的影像處理,所以有非常多的浮點運算,需要用 OpenGL 來維持使用的流暢度。在使用 OpenGL 來做計算的時候,input 常常是是以一個圖像(或稱 texture)的方式來輸入。對 Cutto 來說,input 必須要是浮點數,因此驗證 iPhone 是否志願 float textures 就變得很重要了。 下面的實驗結果證實在 iPhone 4S 以上的裝置上,GL_FLOAT 或是 GL_HALF_FLOAT_ES 的 texture 都是支援的。這個結果真是欣慰! 不過順帶一提的是,假如我們的 output 也要是浮點數怎麼辦?答案是在 OpenGL 裏,所有浮點 texture 都不是 color-renderable  OpenGL ES 3.0 spec Table 3.12 ,也就是不能當作 output render to FrameBuffer object。唯一的辦法是自己做  floating point pack in glsl 。看起來 OpenCL 真的是有他的需求在,希望 apple 趕快在 iOS 上支援啊。 下面是實驗的 code:

使用 Cordova 3.0 做Hybrid App 就上手

圖片
所謂Hybrid App : 混合式應用程式 (Hybrid App) 開發在此指的是,以一般以 Web App 方式開發用戶端程式,但最後可在 包裝後像 原生 App 一樣上架至應用程式商店的作法 。  Cordova (前身為Phonegap )近期發佈了3.0的版本, 這次做了蠻大的一個創新 使用CLI (Command line interface) 好處是一切透過終端機下命令來執行, 解決了以往繁瑣的初始化步驟 (久了就會忘記怎麼裝的Orz) 輕量化的核心,有需要用的套件再引入即可 透過下載的方式安裝套件ex:透過Github的網址下載open source plugin. 看著Cordova頻繁的更新版本,讓我對於Hybrid app 開發又更有信心了 使用Cordova cli 步驟 需要安裝 node.js  nodejs.org  有詳細的安裝流程說明 安裝cordova 工具 $ sudo npm install - g cordova 安裝好以後會看到以上畫面 接著建立你的app resource 在你的工作目錄內建立你的 app  空的資料夾 $ cordova create hello com . example . hello HelloWorld 安裝的過程可能會花費一點時間,可以先喝杯咖啡~ 參數說明: hello -  你的資料夾路徑 com.example.hello - 反轉的網址是提供你的專案作為識別這裡先隨便打即可 HelloWorld -  就是在手機裡面顯示的app 名稱 當然以上的參數 在於app 專案建立後  都是可以修改的 接下來你需要安裝發佈的平台: 所以先切換回根目錄 $ cd hello 然後選擇你要的平台一一輸入: $ cordova platform add ios $ cordova platform add android $ cordova platform add blackberry10 $ cordova platform add firefoxos 可以透過這個指令列出已經安裝過的平台 $ cordova platforms ls 當然你也可以移除他 $ cordova

Caffeine+ Boost Your Productivity

圖片
Most people wouldn't doubt that coffee shop is one of the best places to work, since it seems to have certain magic power to make people being highly productive. But, do we must go into the coffee shop in order to enjoy the cozy atmosphere? The answer now is "NO"!! The app called "Caffeine" could able to give you a portable coffee shop anytime and anywhere you like. You could have all of the coffee shop buzz you want without trying hard to fight for a seat in the real shop, or spend much money to buy latte one after another. "Caffeine", an awsome app which re-create the coffee shop atmosphere for you by serving you many coffee shop buzz easily. You can mix one unique coffee shop buzz along with your own beloved music together to play at a time. Oh, and don't forget to help yourself to make a cup of coffee before you start to stick to this app!! Now, with "Caffeine", who will say that we must go to the real coffee shop to enj

快速將List中重覆資料排除

最近工作的關係要從不同的table來撈資料。對於Linq不太熟的我真的是一大挑戰。 以前用SQL就可以很快的將不同table組在一起同時可以做group資料。現回到Linq上來 Linq也可以做grounp資料。但是如果中間做了很多復雜的查詢與應用到~可能不太方便用group的話…雖然網路上有很多方法是用泛型加foreach的方式去比較,但是操作上可能還是有點復雜與要再加工一下…這個時候可以用下列的方法做處理。 var list = new List<string> {"A", "C", "B", "D", "A", "B", "E", "D", "B", "C"};     var set = new HashSet<string>(list);  foreach (string item in set)    {      Console.WriteLine(item);     }