若將人生所走的道路譬喻成顏色,那麼,每個人在每個階段所選擇的顏色皆有所不同。而在轉換的過程中,會產生許多前所未見的色彩。最後,在不斷的攪和中,產生了對的顏色,而它將用來填補適合的人生缺口。
廢文。
iAudio 9之不專業開箱
目前使用的耳機:MDR-EX76LP/WQ、ATH-SJ5
雖然iaudio是韓國的,但不可否認,他的音質真的是不錯阿,如何不錯,後面討論。以下為圖片 ~
聽說i9是走環保路線~怎麼說呢~先看他的外盒

沒錯~就只有這個紙盒!夠環保吧XD
拿出內容物
內容物(正面)

內容物(側面)

內容物(背面)

注意左上角
沒錯!...它是MIK!不是MIC。(這年頭想買到非MIC的真是難阿= =)

內容物(底部)

很好奇為什麼長這樣吧?答案跟環保有關,晚點在揭曉XD
內容物(頂部)

提示:頂部的造型跟底部有關
取出機器~

跟IPod一樣,都是以一塊透明壓克力板從上面和下面夾住機器。
拿出後 ~

(保護膜還没撕)
使用中~(已包膜)

左下角為擴音
配件

一般開箱圖都會有的超級比一比~!!
(正面)

(側面)

(疊一疊)

會想買這台,是因為原本的機器表現實在太糟糕了。音源是正版CD,用Windows Media Player擷取,擷取方式是WMA變動位元速率,位元速率選240 ~ 355 kbps,每首歌的位元速率擷取出來都有310kbps以上(無損實在太佔容量,而且我也沒這麼講究)。這種音源,原本機器播放時,音樂高頻的部分就會破音,許多樂器穿插的部分都模糊帶過,聽起來没立體感,糊在一起。換掉後,才發現原本的機器音質有多差。
同一首歌,i9的表現相當突出,層次分明,有立體感,怎麼說呢?例如:聽F.I.R.的Fly away,副歌時,可以清楚感覺右後方有阿沁的合聲,快結束時,還會出現飛的合聲。某些歌曲還能辨識出樂器的位置!它有39種EQ,大部分都能以不同的方式詮釋音樂,為什麼說大部分呢?因為我也有點木耳,真的感覺不出來有差別阿ˊˋ。
操作上,以左下到右上的方式滑動,或許是UI設計的不錯,花一天左右就可以上手了。
因為音質的表現優異,能較易聽出耳機的差別。Sony家的耳機,真如許多人所說,較偏重bass,我的MDR-EX76LP/WQ亦同,不太合我的胃口。目前較常用ATH-SJ5,整體表現很滿意,為一缺點就是攜帶有點不便,等考完試後來去找一附滿意的耳道式。
揭曉底部與頂的設計的用意!
置於底部上的說明書

右邊為起點,逆時針看
成果

細節

整體設計蠻有創意的。有機會來去買種子~挖我家花圃的土來種種XD
雖然iaudio是韓國的,但不可否認,他的音質真的是不錯阿,如何不錯,後面討論。以下為圖片 ~
聽說i9是走環保路線~怎麼說呢~先看他的外盒
沒錯~就只有這個紙盒!夠環保吧XD
拿出內容物
內容物(正面)
內容物(側面)
內容物(背面)
注意左上角
沒錯!...它是MIK!不是MIC。(這年頭想買到非MIC的真是難阿= =)
內容物(底部)
很好奇為什麼長這樣吧?答案跟環保有關,晚點在揭曉XD
內容物(頂部)
提示:頂部的造型跟底部有關
取出機器~
跟IPod一樣,都是以一塊透明壓克力板從上面和下面夾住機器。
拿出後 ~
(保護膜還没撕)
使用中~(已包膜)
左下角為擴音
配件
一般開箱圖都會有的超級比一比~!!
(正面)
(側面)
(疊一疊)
會想買這台,是因為原本的機器表現實在太糟糕了。音源是正版CD,用Windows Media Player擷取,擷取方式是WMA變動位元速率,位元速率選240 ~ 355 kbps,每首歌的位元速率擷取出來都有310kbps以上(無損實在太佔容量,而且我也沒這麼講究)。這種音源,原本機器播放時,音樂高頻的部分就會破音,許多樂器穿插的部分都模糊帶過,聽起來没立體感,糊在一起。換掉後,才發現原本的機器音質有多差。
同一首歌,i9的表現相當突出,層次分明,有立體感,怎麼說呢?例如:聽F.I.R.的Fly away,副歌時,可以清楚感覺右後方有阿沁的合聲,快結束時,還會出現飛的合聲。某些歌曲還能辨識出樂器的位置!它有39種EQ,大部分都能以不同的方式詮釋音樂,為什麼說大部分呢?因為我也有點木耳,真的感覺不出來有差別阿ˊˋ。
操作上,以左下到右上的方式滑動,或許是UI設計的不錯,花一天左右就可以上手了。
因為音質的表現優異,能較易聽出耳機的差別。Sony家的耳機,真如許多人所說,較偏重bass,我的MDR-EX76LP/WQ亦同,不太合我的胃口。目前較常用ATH-SJ5,整體表現很滿意,為一缺點就是攜帶有點不便,等考完試後來去找一附滿意的耳道式。
揭曉底部與頂的設計的用意!
置於底部上的說明書
右邊為起點,逆時針看
成果
細節
整體設計蠻有創意的。有機會來去買種子~挖我家花圃的土來種種XD
What I want?
前兩天大學指考放榜,在關注菜市場名大戰之於,無意間看到大考放榜台大獨強 顛覆排名,看到這篇新聞,讓我聯想到54%大專畢業生 自認選錯系。其實會有這種結果,不讓人意外,因為,我們的教育體系只教導學生如何唸書,雖然學校會有所謂的性向測驗幫助學生了解,但在我看來,幫助不大。
若想了解自己真正適合的路,必須廣泛的接觸,進而從中了解什麼適合自己,不適合什麼。但我們的教育體系和部分父母僅告訴我們念書就對了,什麼興趣根本不重要,在這種情況下,學生少了廣泛接觸,僅能以曾經接觸過的經驗來做性向測驗,這樣的結果,只能碰運氣。還記得我高一做的性向測驗,其結果是適合做心理學家,當時的我亦認為如此。一直到高二下的某天跟爸爸的朋友學習組裝電腦後,讓我對資訊方面產生興趣,之後我選擇讀資管系。我自認運氣不錯,因為我念資管念得很高興,也越念越有興趣,想更深入了解,甚至會去找課外資料增加自己知識。
現在也有越來越多的例子證明,人只有在做自己喜歡做的事時,才能發揮最大的潛力。我父母因為經濟因素,國中畢業後必須開始工作賺錢,因為當時紡織業正興起,因此他們都選擇到紡織工廠做學徒。婚後,父母合力開了一間小型代工廠,做了幾年,因紡織業開始蕭條,最後只好結束,另起爐灶。因緣際會下,父親認識了一位做薑母鴨的朋友,進而跟他學習,並與母親合力開店。隨著時間推進,店裡生意蒸蒸日上,原本我認為只是因為開在好的地段的緣故。事後我才了解,原來並不是我所想像。父母親開始做薑母鴨後,所投入的心力比過去所做的工作還要多,他們不但不會因更多的投入而感到累,反而越做越開心,因為他們發現這才是他們想要的(做吃的),因此,為了讓薑母鴨的味道能更貼近當地的消費者,會主動詢問顧客的意見,並不斷嘗試與改良口味,還會看美食節目,進而增加知識,藉此做為日後改良的基石。也因此,店裡的生意才會越來越好。雖然父母常因生意太好而疲憊,但他們依然樂在料理之中。
雖然讀書很重要,但興趣更重要。因為沒有興趣,所以念念就忘,考完就忘,這樣一點幫助都沒有。試著找出興趣,並透過興趣吸收更多的知識,使自己不斷成長,走出自己的一片天。千萬不要因為別人說沒有用,就否定該興趣的存在,有沒有用,是由自己決定,而非別人。許多成功的案例在成功以前,都不被看好,甚至嗤之以鼻,所以,相信自己。還記得前陣子看到一位女主管放棄百萬年薪,自己創業,開一間專賣香氛方面產品的店,因為他對該方面有濃厚的興趣。在做這個決定時,她的家人與朋友非常反對。雖然創業過程辛苦,但現在成功了,她不但做得比以前當主管時還開心,收入也較之前高,也有了自己的品牌。自己的人生應該由自己做最後的決定,所以找出興趣,朝自己的路前進吧!
若想了解自己真正適合的路,必須廣泛的接觸,進而從中了解什麼適合自己,不適合什麼。但我們的教育體系和部分父母僅告訴我們念書就對了,什麼興趣根本不重要,在這種情況下,學生少了廣泛接觸,僅能以曾經接觸過的經驗來做性向測驗,這樣的結果,只能碰運氣。還記得我高一做的性向測驗,其結果是適合做心理學家,當時的我亦認為如此。一直到高二下的某天跟爸爸的朋友學習組裝電腦後,讓我對資訊方面產生興趣,之後我選擇讀資管系。我自認運氣不錯,因為我念資管念得很高興,也越念越有興趣,想更深入了解,甚至會去找課外資料增加自己知識。
現在也有越來越多的例子證明,人只有在做自己喜歡做的事時,才能發揮最大的潛力。我父母因為經濟因素,國中畢業後必須開始工作賺錢,因為當時紡織業正興起,因此他們都選擇到紡織工廠做學徒。婚後,父母合力開了一間小型代工廠,做了幾年,因紡織業開始蕭條,最後只好結束,另起爐灶。因緣際會下,父親認識了一位做薑母鴨的朋友,進而跟他學習,並與母親合力開店。隨著時間推進,店裡生意蒸蒸日上,原本我認為只是因為開在好的地段的緣故。事後我才了解,原來並不是我所想像。父母親開始做薑母鴨後,所投入的心力比過去所做的工作還要多,他們不但不會因更多的投入而感到累,反而越做越開心,因為他們發現這才是他們想要的(做吃的),因此,為了讓薑母鴨的味道能更貼近當地的消費者,會主動詢問顧客的意見,並不斷嘗試與改良口味,還會看美食節目,進而增加知識,藉此做為日後改良的基石。也因此,店裡的生意才會越來越好。雖然父母常因生意太好而疲憊,但他們依然樂在料理之中。
雖然讀書很重要,但興趣更重要。因為沒有興趣,所以念念就忘,考完就忘,這樣一點幫助都沒有。試著找出興趣,並透過興趣吸收更多的知識,使自己不斷成長,走出自己的一片天。千萬不要因為別人說沒有用,就否定該興趣的存在,有沒有用,是由自己決定,而非別人。許多成功的案例在成功以前,都不被看好,甚至嗤之以鼻,所以,相信自己。還記得前陣子看到一位女主管放棄百萬年薪,自己創業,開一間專賣香氛方面產品的店,因為他對該方面有濃厚的興趣。在做這個決定時,她的家人與朋友非常反對。雖然創業過程辛苦,但現在成功了,她不但做得比以前當主管時還開心,收入也較之前高,也有了自己的品牌。自己的人生應該由自己做最後的決定,所以找出興趣,朝自己的路前進吧!
How to use JSON to exchange data between Flex and Java from MySQL
張貼者:
L_Flower
on 2009年7月20日 星期一
標籤:
Flex,
Javabean,
MySQL,
RemoteObject
/
Comments: (0)
How to use JSON to exchange data between Flex and Java from MySQL
環境:
Windows XP SP3
Flex Builder 3.2
Eclipse 3.4
MySQL 5.1
Tomcat 6.0
LCDS(LifeCycle Data Service) 2.51
所需Package:
Java:
commons-beanutils
commons-lang
commons-collections
commons-logging
Ezmorph
json-lib
Flex:
as3corelib
1. 先在MySQL建一個table,就叫user好了
2. 新增一些假的資料~
3. 撰寫java程式碼
在這邊會用到JSONArray和JSONObject
將每一筆資料以Key and Value的方式put到JSONObject
然後在被add到JSONArray裡
最後將JSONArray以String的型態回傳給Flex
4. 設定remoting-config.xml
5. 寫一個介面來檢視我們取得的資料(將as3corelib裡的as3corelib.swc複製到Flex專案裡的libs)
6. 執行結果

環境:
Windows XP SP3
Flex Builder 3.2
Eclipse 3.4
MySQL 5.1
Tomcat 6.0
LCDS(LifeCycle Data Service) 2.51
所需Package:
Java:
commons-beanutils
commons-lang
commons-collections
commons-logging
Ezmorph
json-lib
Flex:
as3corelib
1. 先在MySQL建一個table,就叫user好了
CREATE TABLE `test`.`user` (
`user_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`user_name` VARCHAR(10) NOT NULL,
`user_age` INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (`user_id`)
);
`user_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
`user_name` VARCHAR(10) NOT NULL,
`user_age` INTEGER UNSIGNED NOT NULL,
PRIMARY KEY (`user_id`)
);
2. 新增一些假的資料~
INSERT INTO test.user(user_name,user_age) VALUES('Flower2',22);
INSERT INTO test.user(user_name,user_age) VALUES('Ivy',23);
INSERT INTO test.user(user_name,user_age) VALUES('Mandy',18);
INSERT INTO test.user(user_name,user_age) VALUES('Peter',30);
INSERT INTO test.user(user_name,user_age) VALUES('Com',22);
INSERT INTO test.user(user_name,user_age) VALUES('Ivy',23);
INSERT INTO test.user(user_name,user_age) VALUES('Mandy',18);
INSERT INTO test.user(user_name,user_age) VALUES('Peter',30);
INSERT INTO test.user(user_name,user_age) VALUES('Com',22);
3. 撰寫java程式碼
package com.lflower;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class SQLHandler {
private Connection conn;
private Connection connectMySQL() {
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "1233");
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public String getUsers() {
Statement stmt;
JSONArray users = new JSONArray();
try {
stmt = this.connectMySQL().createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM `test`.`user`");
while (rs.next()) {
JSONObject user = new JSONObject();
user.put("UserId", rs.getString("user_id"));
user.put("UserName", rs.getString("user_name"));
user.put("UserAge", rs.getString("user_age"));
users.add(user);
}
rs.close();
stmt.close();
connectMySQL().close();
} catch (SQLException e) {
e.printStackTrace();
}
return users.toString();
}
public static void main(String[] args) {
new SQLHandler().getUsers();
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class SQLHandler {
private Connection conn;
private Connection connectMySQL() {
try {
conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "1233");
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
public String getUsers() {
Statement stmt;
JSONArray users = new JSONArray();
try {
stmt = this.connectMySQL().createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM `test`.`user`");
while (rs.next()) {
JSONObject user = new JSONObject();
user.put("UserId", rs.getString("user_id"));
user.put("UserName", rs.getString("user_name"));
user.put("UserAge", rs.getString("user_age"));
users.add(user);
}
rs.close();
stmt.close();
connectMySQL().close();
} catch (SQLException e) {
e.printStackTrace();
}
return users.toString();
}
public static void main(String[] args) {
new SQLHandler().getUsers();
}
}
在這邊會用到JSONArray和JSONObject
將每一筆資料以Key and Value的方式put到JSONObject
然後在被add到JSONArray裡
最後將JSONArray以String的型態回傳給Flex
4. 設定remoting-config.xml
<destination id="SQL">
<properties>
<source>com.lflower.SQLHandler</source>
</properties>
</destination>
<properties>
<source>com.lflower.SQLHandler</source>
</properties>
</destination>
5. 寫一個介面來檢視我們取得的資料(將as3corelib裡的as3corelib.swc複製到Flex專案裡的libs)
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import com.adobe.serialization.json.JSON;
[Bindable]
public var users:ArrayCollection;
private function roResult(event:ResultEvent):void
{
var result:String=event.result.toString();
var usersArray:Array=JSON.decode(result) as Array;
users=new ArrayCollection(usersArray);
}
private function roFault(event:FaultEvent):void
{
Alert.show(event.message.toString(), "Error");
}
]]>
</mx:Script>
<mx:RemoteObject id="ro"
destination="SQL"
result="roResult(event)"
fault="roFault(event)"/>
<mx:DataGrid dataProvider="{users}"/>
<mx:Button label="Get users"
click="{ro.getUsers()}"/>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical">
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.controls.Alert;
import com.adobe.serialization.json.JSON;
[Bindable]
public var users:ArrayCollection;
private function roResult(event:ResultEvent):void
{
var result:String=event.result.toString();
var usersArray:Array=JSON.decode(result) as Array;
users=new ArrayCollection(usersArray);
}
private function roFault(event:FaultEvent):void
{
Alert.show(event.message.toString(), "Error");
}
]]>
</mx:Script>
<mx:RemoteObject id="ro"
destination="SQL"
result="roResult(event)"
fault="roFault(event)"/>
<mx:DataGrid dataProvider="{users}"/>
<mx:Button label="Get users"
click="{ro.getUsers()}"/>
</mx:Application>
6. 執行結果
Google Chrome OS~~
今天看到這篇新聞:Google稱Android、Chrome OS路線不同
Google正式提出雲端運算時,就有傳言表示Google會推出一個OS來支持雲端。去年初Android推出後,有人認為Android就是該概念下的產物(因為是以linux為基礎的關係嗎??),但由這篇新聞可以得知不是,因為它無法處理太過複雜的操作,例如附載平衡。畢竟,Android是為行動裝置所開發的,以現階段技術甚至用在netbook上都有問題(畢竟當初定位就是手持行動裝置)。
雖然目前的資訊並未明確指出Google Chrome OS是為雲端所開發的OS(目前僅表示是for netbook),但也沒有足以證實不是的訊息。畢竟,雲端不可能只依賴GAE(Google App Engine)和Google的server(這樣也不符合雲端的概念)。明年下半年就有機會看到Google Chrome OS的身影,現在也只好拭目以待了~。
前幾天Google Chrome OS提出後沒多久,就有一篇文章分析Google Chrome OS會對微軟的作業系統產生多大的影響。以現階段來看,Google Chrome OS可能還無法"明顯"撼動微軟OS的地位,因為之前看過一篇研究,指出Google雖然有廣大愛用者,但對Google的忠程度卻很低。因此,若Google Chrome OS無法推出與微軟的OS有明顯且使用者接受的差異化(這也需要周邊軟硬體開發商支持),對長期使用Windows的使用者來說,肯定是興趣缺缺,況且最近Windows 7炒得正火熱呢XD
Google正式提出雲端運算時,就有傳言表示Google會推出一個OS來支持雲端。去年初Android推出後,有人認為Android就是該概念下的產物(因為是以linux為基礎的關係嗎??),但由這篇新聞可以得知不是,因為它無法處理太過複雜的操作,例如附載平衡。畢竟,Android是為行動裝置所開發的,以現階段技術甚至用在netbook上都有問題(畢竟當初定位就是手持行動裝置)。
雖然目前的資訊並未明確指出Google Chrome OS是為雲端所開發的OS(目前僅表示是for netbook),但也沒有足以證實不是的訊息。畢竟,雲端不可能只依賴GAE(Google App Engine)和Google的server(這樣也不符合雲端的概念)。明年下半年就有機會看到Google Chrome OS的身影,現在也只好拭目以待了~。
前幾天Google Chrome OS提出後沒多久,就有一篇文章分析Google Chrome OS會對微軟的作業系統產生多大的影響。以現階段來看,Google Chrome OS可能還無法"明顯"撼動微軟OS的地位,因為之前看過一篇研究,指出Google雖然有廣大愛用者,但對Google的忠程度卻很低。因此,若Google Chrome OS無法推出與微軟的OS有明顯且使用者接受的差異化(這也需要周邊軟硬體開發商支持),對長期使用Windows的使用者來說,肯定是興趣缺缺,況且最近Windows 7炒得正火熱呢XD
[轉貼]Windows 7不支援 混合硬碟玩完了?
出處:Windows 7不支援 混合硬碟玩完了?
第一次看到混和硬碟時,就覺得它的前景不遠。雖然它擁有非揮發性的快閃記憶體,藉此以減少硬碟讀取的次數,但該在快閃記憶體內放什麼資料,才能真正有效減少其讀取次數,應該是一門很複雜的學問。所以最好的辦法,還是從硬碟先天的缺陷著手-物理限制。
還是等SSD普及的那天來臨吧XD
第一次看到混和硬碟時,就覺得它的前景不遠。雖然它擁有非揮發性的快閃記憶體,藉此以減少硬碟讀取的次數,但該在快閃記憶體內放什麼資料,才能真正有效減少其讀取次數,應該是一門很複雜的學問。所以最好的辦法,還是從硬碟先天的缺陷著手-物理限制。
還是等SSD普及的那天來臨吧XD