2012年3月31日 星期六

使用 Flex 程式畫出 QRCode - 續

程式碼輸出的問題解決了,接著當然要把沒完成的文章打完。

上一篇分享的程式碼在輸出一般的英數字是沒有問題,但是當輸入的字是中文字時,反解的結果總是變成「?」,讓我覺得十分奇怪,明明在維基百科上看到 QR Code 的說明是支援 UTF-8 的文字,而 Flash 本身也支援多國語系,難不成是因為 Flash 實際上走的是 UTF-16 ,造成文字因為編碼不同造成無法反解?

在沒有什麼文件的狀態下,我開始程式碼的 hack 旅程…

修改程式的呈現方式

上一篇文章在輸入程式碼的時候,格式常常跑掉。沒辦法,HTML 本來就很容易被一些符號給打亂,越長的程式遇到這種情形的機率自然也越大。本來只是在網路上找一段 CSS 讓部分的文字能夠等寬,明顯這個機制已經不再適用。得到作改變的時候了。

後來發現早在一年多前就已經有人分享,在這個地方看到原來已經有專為程式碼輸出的 js 函數庫。雖然其中介紹的 Blogger 專用的編碼工具,因為 Blogger 網站改版變得無法使用,但是對於身為程式人員的我,少量 HTML 代碼是可以處理的。

本來這個語法無法作用在這個 Blog 上,經過另開新站測試發現是和舊的 CSS, js 相衝,重設版型之後終於解決了這個問題。再斷斷續續花上一天的時間修改舊文章(還好帶程式碼的文章還不算太多),終於本站「改頭換面」了。希望以後能在這裡發表更多的文章。

2012年3月25日 星期日

使用 Flex 程式畫出 QRCode

在入手第一支智慧手機沒多久,就知道有 QR code 這個東東,當時認為它是一個神奇的東西,由於當時手機鏡頭的像素不夠高,許多 QR code 無法順利辨視,而沒有怎麼放在心上。直到最進身邊看到的應用越來越多,也就產生要自己作出 QR code 圖型的念頭。

對於寫程式的我,並不認為 QR code 的產生是不可行的,只要有已經釋出的函數庫,或是不太難理解的演算規則,產生出圖片應該不成問題。尤其是最近因為專案因素對於使用 Action Script 繪圖有不少的實作機會,更是增加自己不少信心,不過現實總是有些不如預期,繞了一些遠路後才找到解法。

在快要下決定研究 QR code 生成的數學公式時,還好發現在 Google Codes 裡發現有人提供的函數庫,讓我免於研究那些可能會讓人煩燥的數學公式,不過函數庫裡有小 Bug,以至不支援中文字,還好最後查到問題點,在這裡作一下記錄…

使用 FLEX 連結 FTP Server 初探

最近公司的一個使用 Adobe AIR Runtime 製作的工具,需要包含上傳檔案的功能,由於檔案可能超出一般 http server 的上傳上限,或是等待時間。所以產生需要修改上傳模式的研究需求,想到的方式有兩個,第一種是將要上傳的檔案切割後分開上傳,在伺服器端將這些片斷拼回原來的檔案。而第二種方式則是改用本來就支援大檔案的傳輸協定,像是拿 FTP 取代 HTTP 傳輸檔案。

我負責的是後者,在網路上查詢了一些資料,發現一些網路上的範例有提到使用 Socket 和 FTP Server 建立連線,以資料串流的方式上傳檔案,並沒有發現 Flex framework 裡有提供類似 FtpClient 的類別可以使用。不過在嘗試理解範例的同時,發現一些似乎沒有寫完整的地方,讓人覺得有「規則沒講通」的感覺,為此花了一些時間去了解一下 FTP 的機制,在底下記錄一下已經理解的內容…


首先是 FTP 的傳輸特性,它由一開始就是設計來作為檔案傳輸的協定,在溝通上有兩種類型的連線(頻道),分別為「command channel(命令頻道)」和「data channel(資料頻道)」,前者用來發出命令以及取得命令的結果,後者則是資料的傳輸。以一般使用者的角度下認知的「保持連線狀態」指的是 command channel 仍在連線狀態中。但是實際上在一段時間沒有任何動作下,達到 Server 設定的閒置上限(timeout)後會被 Server 斷線,所以其實一些 FTP 軟體會在背後幫使用者作重新登入的動作。

2012年3月11日 星期日

工作的態度

最近一個同部門的同事離職,雖然對我造成一些困擾,像是本來分配在他身上的工作和研究項目,得分攤在其它同事身上。不過其實內心裡並不會覺得有太多的可惜,也許只能說他和這個公司不合,所以要往其它的志方發展。

離職的理由中,讓我有感觸的是「我覺得在其它地方比較能夠學到東西」這句話,想起在入社會之前,師長會這樣勤學生不要想著一入社會就到多大多有名的公司任職,可以拿到多高薪多有地方職位。要由基層開始作起,要多學習,不要在意一開始在不起眼的小公司,學了幾年有能力經驗,才有資格去追求理想的工作。

當年聽起來覺得很合理,不過現在以管理層級的角度看,卻覺這句話的味道怪怪的。感覺讓一些人認為只要到小公司「過個水混混年資」或是「學習進大公司需要的技能」後就可以離開,使得這類人對於公司並沒有向心力,只是完成交辦的工作其它的都工作,但是人力的流動和投入的訓練成本,卻讓公司很傷很傷。

讓我感觸較深的原因,就在於我是那個訓練人員。花了大量的時間精力去思考如何協助學習,也用心規劃給予的工作和考慮能否得到成訧感。而自己手邊的工作,不是往後排就是在其它人下班之後完成。而得到的回報,就是一切打水漂,讓人感覺不怎麼舒服。

不過總歸是讓我慢慢能修改未來找人時的標準,不會再心軟讓「只想學習」的人進來…