雖然自己學習程式的環境並不是頂好,身邊不總是有高手相助排除疑難,不過就自己累積多年「被程式玩」的經驗,多少應該還是有一些能夠拿得上枱面的心得可以分享,在一些事情將告一個段落之際,我又開始想要回到這裡繼續發表一些文章。
我常對剛入門學習程式,許多環節進入不了狀況的人說自己的例子。記得在大學時候自己去學了 Java 的書自學,整本書的範例機乎讓我打過一遍,但是「類別 Class」和「物件 Object」的觀念,卻是等到過了一年之後,才慢慢掌握,在這之前都是照著書本或是網路上的範例進行,卻不明白自己是在作什麼。
2014年6月13日 星期五
2014年6月8日 星期日
學習新技術雜感
在連續差不多半年的碩士論文主題製作、撰寫的「死亡行軍」終於到一個段落之後,終於可以把一些時間拿來學習累積許久沒動的新技術,幾天來學習過程,讓我再一次感覺到,現在的環境對於要進入一個領域的初學者來說,有越來越不「友善」驅勢,除非有人帶或是從很早的版本就開始接觸,要進入一個新技術的門檻也越來越難。
這樣子的問題,由一些「XXX 入門」或是「XXX 簡單學」的書中可以看得出來,不知道是為了節省篇幅還是單純習慣使然,一些書本的作者喜歡用某某工具,用簡短的步驟、精簡的話語帶過一開始的環境建置工作,如果照著作可以功能那還好,但偏偏就是出現一些小問題,讓學習的人面對看不懂的錯誤訊息,在嘗試幾種方式仍無法解決的狀況下,「放棄學習」的念頭會浮現。
以上,就是最近我在學習新技術的縮影,有幾年程式經驗,對電腦應用有粗淺底的我都如此,可以想見比我更「資淺」的新手,想必會感受到更大的挫折吧!
這樣子的問題,由一些「XXX 入門」或是「XXX 簡單學」的書中可以看得出來,不知道是為了節省篇幅還是單純習慣使然,一些書本的作者喜歡用某某工具,用簡短的步驟、精簡的話語帶過一開始的環境建置工作,如果照著作可以功能那還好,但偏偏就是出現一些小問題,讓學習的人面對看不懂的錯誤訊息,在嘗試幾種方式仍無法解決的狀況下,「放棄學習」的念頭會浮現。
以上,就是最近我在學習新技術的縮影,有幾年程式經驗,對電腦應用有粗淺底的我都如此,可以想見比我更「資淺」的新手,想必會感受到更大的挫折吧!
2014年3月5日 星期三
使用 GraphicsMagick 將圖片轉正
早期數位相機儲存的照片不帶有方向資訊,所以需要再手動把相機撗擺所拍出來照片轉正。而如真新一點的照像機,包含智慧型手機會在檔案裡加入像是焦距、光圈…等資訊,而方向也是其中之一。在這裡可以看到其中的定義,在 Windows 8 或是在 Mac 中看到的圖片縮圖、預覽會先抓取這個資訊預先轉正,所以平常沒有這種感覺。
不過瀏覽器是一個例外,由同事測試得到的資訊,在 iPad 上的 Safari 會自動偵測圖片方向,並作轉正的動作。而其它 PC / Mac / Android 的瀏覽器都還是用圖片原來內容呈現。
這造成一個問題,當使用者利用手持裝置拍照並直接上傳,在瀏覽器所看到的圖片方向是不能被預期的。因此才會有使用 GraphicsMagick 來替所有上傳圖片作轉正的需求。
不過瀏覽器是一個例外,由同事測試得到的資訊,在 iPad 上的 Safari 會自動偵測圖片方向,並作轉正的動作。而其它 PC / Mac / Android 的瀏覽器都還是用圖片原來內容呈現。
這造成一個問題,當使用者利用手持裝置拍照並直接上傳,在瀏覽器所看到的圖片方向是不能被預期的。因此才會有使用 GraphicsMagick 來替所有上傳圖片作轉正的需求。
2014年2月14日 星期五
Zinc 全螢幕功能需要注意的地方
Flash 可以輸出成為執行檔,不依靠 flash player 直接在作業系統中執行。另一種角度來說,就像是把自己寫的程式和 flash player 包在一起。成為執行檔可以打開一些限制,像是能夠同時讀取本機與網路上的資料,或是執行系統命令。不過本來就沒有的寫入檔案功能,並不會因此冒出來。
全螢幕的功能,就是變成執行檔可以使用的功能之一。
在 MDM Zinc 裡,猜想是因為帶入的多視窗的概念,導致既有的方法失效,需要用它所提供 Forms 的方法來達到視窗的最大化、最小化、還原。最大化和全螢幕不同,全螢幕的狀態會把系統工具列、 Dock 等也一併隱藏。
使用 Zinc 開發的專案,很早就發現一個狀況,就是全螢幕的功能正常,但是取消全螢幕的功能卻時好時壞,系統工具列在取消的同時出現,但是程式並沒有回到原來視窗的狀態,還是維持全螢幕的大小,只是上頭多出現了系統工具列。一直到最近才找到時間去研究這個問題。
全螢幕的功能,就是變成執行檔可以使用的功能之一。
在 MDM Zinc 裡,猜想是因為帶入的多視窗的概念,導致既有的方法失效,需要用它所提供 Forms 的方法來達到視窗的最大化、最小化、還原。最大化和全螢幕不同,全螢幕的狀態會把系統工具列、 Dock 等也一併隱藏。
使用 Zinc 開發的專案,很早就發現一個狀況,就是全螢幕的功能正常,但是取消全螢幕的功能卻時好時壞,系統工具列在取消的同時出現,但是程式並沒有回到原來視窗的狀態,還是維持全螢幕的大小,只是上頭多出現了系統工具列。一直到最近才找到時間去研究這個問題。
2014年2月9日 星期日
使用 Joda-Time 取得各時區的時間
話說前陣子研究 Joda-time 來取得各個時區的時間後,就把它應用在專案裡面。不過幾天專案發現出問題,讓我發現它的一個小小的問題。
問題的原因發生在把資料庫的時間轉換成我希望的時區,所以我寫了下面這個函數…
乍看之下沒有什麼問題,不過當選擇到某些特定的時區的時候就會出狀況,說 Joda-Time 不支援這個 TimeZone ID。
問題的原因發生在把資料庫的時間轉換成我希望的時區,所以我寫了下面這個函數…
public Date getLocaleTime(Date date, String TimeZoneID) { DateTime time; if (date == null) time = new DateTime(DateTimeZone.forID(TimeZoneID)); else time = new DateTime(date, DateTimeZone.forID(TimeZoneID)); return time.toLocalDateTime().toDate(); }
乍看之下沒有什麼問題,不過當選擇到某些特定的時區的時候就會出狀況,說 Joda-Time 不支援這個 TimeZone ID。
2014年2月7日 星期五
使用 MDM Zinc 遇到的兩個問題
MDM Zinc 是一個能夠把 Flash 發佈檔 swf 打包成應用程式,能在 windows, mac, linux 上直接執行,除此之前,藉由呼叫它所提供的函數庫,能讓 Flash 程式具有如同一般應用程式的能力,達到像是寫入檔案、取得網卡 Mac Address…等原本 Flash 不允許作的事情。第一次和它接觸好像是在五,六年前,還是 2.0 的版本,為了作一個單機、展示用的行銷光碟。
幾個月後,因緣之下又接到類似的需求,為了要讓 Flash 能夠寫入檔案,我又再一次選擇了這個工具,只不過不同的是,這次 4.0 的版本反而讓我吃了不少苦頭,花了兩三個星期的工夫才找到問題答案。在此作一下記錄,也許哪個遇到一樣問題的人,有緣看到這篇文章能夠少繞一些路。
這次發佈程式的平台是 mac,使用的是 ActionScript 2 的語法。遇到的問題分別是「文字輸入框裡無法出現游標,退位鍵在刪除一個字後就卡住了」,另一個問題則是「當程式打包成安裝檔,順利安裝到 mac 之後,不管多少支程式,在 launchpad 裡都只有一支程式的圖示」。
幾個月後,因緣之下又接到類似的需求,為了要讓 Flash 能夠寫入檔案,我又再一次選擇了這個工具,只不過不同的是,這次 4.0 的版本反而讓我吃了不少苦頭,花了兩三個星期的工夫才找到問題答案。在此作一下記錄,也許哪個遇到一樣問題的人,有緣看到這篇文章能夠少繞一些路。
這次發佈程式的平台是 mac,使用的是 ActionScript 2 的語法。遇到的問題分別是「文字輸入框裡無法出現游標,退位鍵在刪除一個字後就卡住了」,另一個問題則是「當程式打包成安裝檔,順利安裝到 mac 之後,不管多少支程式,在 launchpad 裡都只有一支程式的圖示」。
2014年1月31日 星期五
新年簡訊
一直以來,自己就不太會主動和別人打交道,好友之間很少主動聯絡,而春節簡訊則是一次都沒有發過,最近為了改變自己的個性,這個農曆年突然有嘗試發個拜年簡訊想法。
不過到了桌子前,卻是一個字也生不出來。不想打些制式的文字,花了簡訊錢只為了告訴對方還沒忘了他。但是要在短短幾句話裡把祝福及心理想說的話講出來,還真是困難。對於平時文章中綴字滿滿的我,突然有抓不到的簡訊重點的感覺。
想了許久沒有頭緒之下,決定到網路找找例子來參考,沒看不打緊,一看突然有種很強烈的感觸,好像突然回到十幾二十年前,好像看到了每年都會遇到一次,寒假作業裡寫吉祥話,猜燈迷的單元。似乎在這個部分並沒有因為時代不同而有太大的改變。
不喜歡寒假作業裡的這個單元,那勾起過往那不愉快的回憶。吉祥話只是照抄既有的、制式的文字,遇到範例寫光自己所會的全部,只能很不情願的苦思新文句。心中沒有祝福,只有應付作業的想法,以及對學校總是出這種虛應故事的題目感到厭煩。
父母很不看重這種「不會考」的東西,所以往往隨口敷衍一下,講一些不怎麼通順的句子。對我來說,那些是文字是不願意,但被強迫放到作業裡面的內容。寫過了,就不會想要再看到它第二遍。
對每件要作的事情認真,是自我的要求,也是努力營造的個人風格。雖然新春簡訊似乎不必要那認真,不過要我把這種文字打到手機上,花錢把它們發出去卻是千百個不願意。
再看看吧!當能夠把握文字,寫出自己能認可的話語後,才會發出吧!也許是明年,又或著這一兩天。再多多磨練~~
不過到了桌子前,卻是一個字也生不出來。不想打些制式的文字,花了簡訊錢只為了告訴對方還沒忘了他。但是要在短短幾句話裡把祝福及心理想說的話講出來,還真是困難。對於平時文章中綴字滿滿的我,突然有抓不到的簡訊重點的感覺。
想了許久沒有頭緒之下,決定到網路找找例子來參考,沒看不打緊,一看突然有種很強烈的感觸,好像突然回到十幾二十年前,好像看到了每年都會遇到一次,寒假作業裡寫吉祥話,猜燈迷的單元。似乎在這個部分並沒有因為時代不同而有太大的改變。
不喜歡寒假作業裡的這個單元,那勾起過往那不愉快的回憶。吉祥話只是照抄既有的、制式的文字,遇到範例寫光自己所會的全部,只能很不情願的苦思新文句。心中沒有祝福,只有應付作業的想法,以及對學校總是出這種虛應故事的題目感到厭煩。
父母很不看重這種「不會考」的東西,所以往往隨口敷衍一下,講一些不怎麼通順的句子。對我來說,那些是文字是不願意,但被強迫放到作業裡面的內容。寫過了,就不會想要再看到它第二遍。
對每件要作的事情認真,是自我的要求,也是努力營造的個人風格。雖然新春簡訊似乎不必要那認真,不過要我把這種文字打到手機上,花錢把它們發出去卻是千百個不願意。
再看看吧!當能夠把握文字,寫出自己能認可的話語後,才會發出吧!也許是明年,又或著這一兩天。再多多磨練~~
訂閱:
文章 (Atom)