2009/06/27

被誤解最深的偉大藝人—Michael Jackson

   我已經厭倦了被人操縱的感覺。這種壓迫是真實存在的!他們是撒謊者,歷史書也是謊言滿佈。你必須知道,所有的流行音樂,從爵士到搖滾到hip-hop, 然後到舞曲,都是黑人創造的!但這都被逼到了史書的角落裡去!你從來沒見過一個黑人出現在它的封面上,你只會看到貓王,看到滾石樂隊,可誰才是真正的先驅 呢?
  自從我打破唱片紀錄開始——我打破了貓王的紀錄,我打破了披頭四的紀錄——然後呢?他們叫我畸形人,同性戀者,性騷擾小孩的怪胎!他們說我漂白了自己的皮膚,做一切可做的來詆毀我,這些都是陰謀!當我站在鏡前時看著自己,我知道,我是個黑人!
                           ——麥可‧傑克森

  麥可‧傑克森,這個流行樂壇上光芒奪目的名字,這個最為人所知的巨星,十多年來,卻一直被籠罩在媒體鋪天蓋地的負面報導中,以及淹沒在世人茶餘飯後恣意嘲諷的口沫中。

   而真實的麥可‧傑克森呢?卻是一個極為有愛心的人,他一直在歌中呼籲和平,宣傳環保,傳達博愛,關注社會,抨擊不公。而他在現實在也是這樣做的——在他 二十多年的慈善事業生涯中,他是全球所有藝人中捐助慈善事業最多的一位,多次得到人道主義大獎,併兩次得到諾貝爾和平獎提名,除向全世界近四十個慈善機構 作出捐贈外,他還創立"拯救世界基金會(1992成立)","拯救兒童基金會Heal(2001成立)","麥可‧傑克森燒傷中心(1984.2成 立)","麥可‧傑克森愛滋病救助中心(1986成立)","麥可‧傑克森有色人種教育基金會(1987成立)","麥可‧傑克森兒童醫院(華沙 -1993成立)","麥可‧傑克森兒童醫院(巴黎-1995成立)","麥可‧傑克森糖尿病患者基金會(1999年成立,和伊麗莎白‧泰勒)"……每年 無償提供數以萬計的患者——特別是兒童患者,貧困患者醫療幫助。一向不願聲張的麥可一定還有別的研究機構和福利基金,只是,這所有的一切,媒體不願去過多 宣傳,因為,他們不需要救世主形象的流行歌手,為了滿足大眾的獵奇心理,他們寧願報導甚至製造一些負面陰暗聳人聽聞的消息。

We Are The World - Michael Jackson


  這麼多年來,麥可‧傑克森已經被媒體妖魔化了,最明顯的就是:明知他是患了嚴重的"白癜風"症,卻偏要說他是漂白的,誤導了許多人,也使麥可蒙受了十多年的不白之冤,明知他的"戀童案件"有太多疑點且還沒有水落石出,就已經迫不及待地給他定罪了!

  以下文章,將層層分析,麥可的膚色以及他的兩宗"戀童案"。


2009/06/26

請教別人,但不要依賴別人

國立中山大學政治經濟系
副教授 劉孟奇

(原載於「看雜誌」32期)


俗諺說:「人之患,在好為人師。」這句話雖然明顯是在揶揄(而且我自己顯然就是該被這句話消遣的對象),但是它也揭露一個職場真理,那就是:絕大部分的人都喜歡被別人請教,而且喜歡自己的意見受到別人重視。


對於職場新鮮人而言,建立良好的人際關係是非常重要的事情,而比起「不停向別人吹噓自己的豐功偉業」,可能一個善於請教別人,並讓別人覺得「孺子可教」的年輕人,更能讓別人留下深刻的正面印象。

請教別人前,先做好功課


雖然說「請教別人」是個好習慣,但是對於年輕人而言,要特別注意的是,不要把「請教別人」跟「把責任推給別人」混為一談。否則一旦別人發現「給你意見」變成「被你依賴」的同義詞,很快大家就會紛紛以「沒時間」、「有事情」為藉口,來迴避你的提問。


舉例而言,如果你是為了一件正在推動中的工作,而想請教你的上司或前輩,最好的請教時機是在你已經做過準備功課,有了一些草案構想,但是還沒有明確定見的時候。這時候你可以請教別人,請他們針對已經成形的草案構想,給你一些建議、經驗、或其它可能方向。


不要在一開始沒有想法,也沒有研究過資料的時候,就去請教別人。這不只造成別人必須「從頭教起」的負擔,也等於是「無償要別人替自己做事」—把自己原先應當承擔的蒐集資料、研究、構想及規劃等責任都推給別人。如果對方是你的上司,這更是完全搞錯對方跟你的上下指揮關係。


也不要在你已經有了定見以後,才為了「做做樣子」而去請教別人。如果你請教了上司或前輩,事後卻讓別人覺得自己的意見絲毫不受重視,這只會造成反效果。相 反地,如果你能夠在最後的定案當中,讓別人清楚看到自己的意見受到重視與產生影響,這不只有利於你的人際關係,更有助你在繼續推動工作時得到充分支持。


一言以蔽之,在請教別人時,要盡量減少別人提供意見的成本,而盡量提高別人提供意見的效益。


責任仍在自己


要特別注意的是:不管別人給了自己怎樣的意見,以及自己採納了哪些意見,事情最後的成敗責任仍然在於自己。


如果事情最後進行得不順利,絕對不要抱怨:「我所以這樣做,都是因為某某人跟我說可以這樣做。」只有一個人該負責任,那就是自己—別人提供意見,不是為了讓我們卸責。


反過來,如果事情做得好,絕對不要忘記向那些提供建議的人好好地道謝。「適時感謝別人」雖然經常只是「舉手之勞,惠而不費」,長期下來,保證是個非常值得的投資。

2009/06/21

Android - Driving Direction (Route Path)

Abstract

The DrivingDirection package (com.google.googlenav.DrivingDirection) is removed since Android SDK 1.1. However, in this article, I will show you how to adopt driving direction function in MapView object without the DrivingDirection package.

摘要
地圖駕駛導航的功能在Android SDK 1.1以後已經被移除,不過這篇文章我將會展示如何在沒有DrivingDirection這個package的情況下,依然可以使用駕駛導航的功能,必且顯示在MapView物件。

1. Prepare the map resource and Internet accessibility.

1.1 Open the main.xml file in layout directory, and add a map reource in the file.
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<com.google.android.maps.MapView
android:id="@+id/myMapView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_x="0px"
android:enabled="true"
android:clickable="true"
android:apiKey="0mRN-6bSm63hZJtPZSmcjoZAzdCztLnZv-O4SZw" android:layout_y="105px">
</com.google.android.maps.MapView>
</LinearLayout>



1.1.1 You have to apply a android map api key for your computer. Find the debug.keystore path in Eclpise(Window->Rreferences).

[csie-tw.blogspot.com[6].jpg]

1.1.2 In cmd console, type

cmd:
keytool -list -alias androiddebugkey -keystore "C:\Documents and Settings\Administrator\Local Settings\Application Data\
Android\debug.keystore" -storepass android -keypass android

csie-tw.blogspot.com (1)
1.1.3 Go to http://code.google.com/intl/zh-TW/android/maps-api-signup.html ,type your MD5 fingerprint, so that you can get the map api key as follow.

csie-tw.blogspot.com (1.5)
1.2 Open AndroidManifest.xml, add
<uses-library android:name="com.google.android.maps"/>
and
<uses-permission android:name="android.permission.INTERNET" />

Therefore, the file would be something like:

XML:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.goolge"
android:versionCode="1"
android:versionName="1.0.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".RoutePath"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-library android:name="com.google.android.maps"/>
</application>
<uses-permission android:name="android.permission.INTERNET" />
</manifest>

2. Draw the route path in your map.


2.1 Get KML route file from google.
For a normal user, the google maps help them get the route path in map figures. However, we would like to get the KML file of the route path. I found a parameter in the google map URL controls the output type.

  • output= Output format (blank (default) is a standard webpage for user)
  • output=html Uses the old style Google Local page format from before it merged with Google Maps, with the small map and large sidebar.
  • output=js Outputs JavaScript object literals and function calls used by Google Maps, including encoded polyline data for driving directions, and stage information in HTML format.
  • output=kml Outputs a KML file containing information representing the current map. (works with Normal Searches, Directions and MyMaps)
  • output=nl Outputs a small KML file containing a NetworkLink wrapper linking to a URL from which Google Earth and Google Maps can obtain the information (only known to work with MyMaps).
  • output=embed Outputs HTML suitable for embedding in third party sites, only works with the presence of the encrypted s= param, presumably to stop arbitrary content being included.
  • output=dragdir returns a JSON object that contains the reverse geocode and a an encoded polyline for a given saddr (start point of the route) and daddr (endpoint of the route)
  • output=georss (Geo)RSS output for the current map - probably only MyMaps

And the latitude and longitude of source and destination are determined by saddr and daddr parameter, respectively.

For example, a route KML file can be accessed through this URL:
http://maps.google.com/maps?f=d&hl=en&saddr=25.04202,121.534761&daddr=25.05202,121.554761&ie=UTF8&0&om=0&output=kml



In the KML file, each point in the route path is shown in terms of (longitude, latitude, heigth).

2.2 Create DrawPath(…) in your activity. This function do the following procedure.

a) Building the URL from src and dest.
b) Connecting to the URL and create a DocumentBuilder to parse the KML file.

c) Split each point in the path and draw each the line on the mMapView01.

Java:

private void DrawPath(GeoPoint src,GeoPoint dest, int color, MapView mMapView01)
{
// connect to map web service
StringBuilder urlString = new StringBuilder();
urlString.append("http://maps.google.com/maps?f=d&hl=en");
urlString.append("&saddr=");//from
urlString.append( Double.toString((double)src.getLatitudeE6()/1.0E6 ));
urlString.append(",");
urlString.append( Double.toString((double)src.getLongitudeE6()/1.0E6 ));
urlString.append("&daddr=");//to
urlString.append( Double.toString((double)dest.getLatitudeE6()/1.0E6 ));
urlString.append(",");
urlString.append( Double.toString((double)dest.getLongitudeE6()/1.0E6 ));
urlString.append("&ie=UTF8&0&om=0&output=kml");
Log.d("xxx","URL="+urlString.toString());
// get the kml (XML) doc. And parse it to get the coordinates(direction route).
Document doc = null;
HttpURLConnection urlConnection= null;
URL url = null;
try
{
url = new URL(urlString.toString());
urlConnection=(HttpURLConnection)url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.connect();

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(urlConnection.getInputStream());

if(doc.getElementsByTagName("GeometryCollection").getLength()>0)
{
//String path = doc.getElementsByTagName("GeometryCollection").item(0).getFirstChild().getFirstChild().getNodeName();
String path = doc.getElementsByTagName("GeometryCollection").item(0).getFirstChild().getFirstChild().getFirstChild().getNodeValue() ;
Log.d("xxx","path="+ path);
String [] pairs = path.split(" ");
String[] lngLat = pairs[0].split(","); // lngLat[0]=longitude lngLat[1]=latitude lngLat[2]=height
// src
GeoPoint startGP = new GeoPoint((int)(Double.parseDouble(lngLat[1])*1E6),(int)(Double.parseDouble(lngLat[0])*1E6));
mMapView01.getOverlays().add(new MyOverLay(startGP,startGP,1));
GeoPoint gp1;
GeoPoint gp2 = startGP;
for(int i=1;i<pairs.length;i++) // the last one would be crash
{
lngLat = pairs[i].split(",");
gp1 = gp2;
// watch out! For GeoPoint, first:latitude, second:longitude
gp2 = new GeoPoint((int)(Double.parseDouble(lngLat[1])*1E6),(int)(Double.parseDouble(lngLat[0])*1E6));
mMapView01.getOverlays().add(new MyOverLay(gp1,gp2,2,color));
Log.d("xxx","pair:" + pairs[i]);
}
mMapView01.getOverlays().add(new MyOverLay(dest,dest, 3)); // use the default color
}
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
catch (ParserConfigurationException e)
{
e.printStackTrace();
}
catch (SAXException e)
{
e.printStackTrace();
}
}

2.3 Adding MyOverlay class – Drawing the points and lines on the ViewMap.

Java:

package com.goolge;

import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.RectF;
import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;
import com.google.android.maps.Projection;

public class MyOverLay extends Overlay
{
private GeoPoint gp1;
private GeoPoint gp2;
private int mRadius=6;
private int mode=0;
private int defaultColor;
private String text="";
private Bitmap img = null;

public MyOverLay(GeoPoint gp1,GeoPoint gp2,int mode) // GeoPoint is a int. (6E)
{
this.gp1 = gp1;
this.gp2 = gp2;
this.mode = mode;
defaultColor = 999; // no defaultColor

}

public MyOverLay(GeoPoint gp1,GeoPoint gp2,int mode, int defaultColor)
{
this.gp1 = gp1;
this.gp2 = gp2;
this.mode = mode;
this.defaultColor = defaultColor;
}
public void setText(String t)
{
this.text = t;
}
public void setBitmap(Bitmap bitmap)
{
this.img = bitmap;
}
public int getMode()
{
return mode;
}

@Override
public boolean draw
(Canvas canvas, MapView mapView, boolean shadow, long when)
{
Projection projection = mapView.getProjection();
if (shadow == false)
{
Paint paint = new Paint();
paint.setAntiAlias(true);
Point point = new Point();
projection.toPixels(gp1, point);
// mode=1&#65306;start
if(mode==1)
{
if(defaultColor==999)
paint.setColor(Color.BLUE);
else
paint.setColor(defaultColor);
RectF oval=new RectF(point.x - mRadius, point.y - mRadius,
point.x + mRadius, point.y + mRadius);
// start point
canvas.drawOval(oval, paint);
}
// mode=2&#65306;path
else if(mode==2)
{
if(defaultColor==999)
paint.setColor(Color.RED);
else
paint.setColor(defaultColor);
Point point2 = new Point();
projection.toPixels(gp2, point2);
paint.setStrokeWidth(5);
paint.setAlpha(120);
canvas.drawLine(point.x, point.y, point2.x,point2.y, paint);
}
/* mode=3&#65306;end */
else if(mode==3)
{
/* the last path */

if(defaultColor==999)
paint.setColor(Color.GREEN);
else
paint.setColor(defaultColor);
Point point2 = new Point();
projection.toPixels(gp2, point2);
paint.setStrokeWidth(5);
paint.setAlpha(120);
canvas.drawLine(point.x, point.y, point2.x,point2.y, paint);
RectF oval=new RectF(point2.x - mRadius,point2.y - mRadius,
point2.x + mRadius,point2.y + mRadius);
/* end point */
paint.setAlpha(255);
canvas.drawOval(oval, paint);
}
}
return super.draw(canvas, mapView, shadow, when);
}

}

 

3. How to use DrawPath(…) function in your activity.

3.1 Your activity must extends MapActivity, instead of Activity.

Java:

ublic class RoutePath extends MapActivity {
/** Called when the activity is first created. */

MapView mapView;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

MapView mapView = (MapView) findViewById(R.id.myMapView1);
double src_lat = 25.04202; // the testing source
double src_long = 121.534761;
double dest_lat = 25.05202; // the testing destination
double dest_long = 121.554761;
GeoPoint srcGeoPoint = new GeoPoint((int) (src_lat * 1E6),
(int) (src_long * 1E6));
GeoPoint destGeoPoint = new GeoPoint((int) (dest_lat * 1E6),
(int) (dest_long * 1E6));

DrawPath(srcGeoPoint, destGeoPoint, Color.GREEN, mapView);

mapView.getController().animateTo(srcGeoPoint);
mapView.getController().setZoom(15);

}

@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}

private void DrawPath(GeoPoint src, GeoPoint dest, int color,
MapView mMapView01) {

// code in section 2.2

}

}

3.2 The screenshot

Emulator:
csie-tw.blogspot.com (3)
HTC G1: Actually, the driving direction is just one of the function of our project. Our project is so-called Dynamic ridesharing.

csie-tw.blogspot.com (5)

4. Trouble Shooting

When the program is executed, we can observe the logcat in Eclipse to see if the parsing procedure works properly or not. If there is no path shown on the map, you should check if the distance of source and destination is too long(e.g., from Taiwan to Japan). No routing path will be shown in this case.
[csie-tw.blogspot.com (4)[4].jpg] 
To enable the logcat, please refer to:
http://csie-tw.blogspot.com/2009/05/enable-android-log-androidlog.html

5. Source code

Download here http://www.mediafire.com/?tlfshkkq58l38p1#

or http://webtoolplus.com/downloads/RoutePath.zip.

Please let me know if it's broken.

6. References

[1] Google Map Parameters:
http://mapki.com/index.php?title=Google_Map_Parameters
[2] Enable Android log:
http://csie-tw.blogspot.com/2009/05/enable-android-log-androidlog.html
[3] Setup the Android (Trad. Chinese):
http://csie-tw.blogspot.com/2008/01/androideclipse.html
[4] Android – Update current location by LocationProvider
http://csie-tw.blogspot.com/2009/09/android-update-current-location-by.html

2009/06/03

選對學校,一畢業就是國際人

國際化的口號從業界喊到學界,學生必須了解,「國際化」代表的不只是提升外語能力,更重要的是國際化的涵養。而為了增加學生的涵養,各校使出渾身解數,五花八門的國際化措施,或許也是選擇研究所時的參考指標。

陳孟珠 2005年10月 Cheers雜誌

相信你一定有發現,國內大學校園愈來愈國際化了。從過去實行已久的交換學生制度開始,現今學校不再只是拼命把學生往國外送,更積極將校園塑造成國際化環境。畢竟交換學生、雙聯學位、國際競賽的名額與機會再多,實際參與的學生仍是少數,校園環境的改造卻足以影響每一個人。

在今年有史以來最大規模的大學校務評鑑計劃中,首次增加的評鑑項目「國際化程度」,亦以學校外籍生比例、全英語授課比例、外籍教師比例等「在地化」指標來審視各校的國際化程度。

《Cheers》雜誌將從各校在推動國際化時,提供給學生的「環境」與「機會」兩大指標,幫助學生選擇更有優勢的就讀環境。

國際化環境
英語授課是初步開始

中山大學國際交流處處長黃賀,用「流動性」(Mobility)簡單定義了學校國際化的表現。

「當中山管理學院今年通過國際AACSB認證時,美國華盛頓大學商學院院長只問了我,你們學校老師一年出國幾次?」黃賀表示,學校師生一來一往的流動很重要,語言能力便是讓師生得以流動的重要條件之一。因此,全面性開設英語補救教學或提高英語授課比例,是各校邁向國際化的第一步。

台灣科技大學今年暑假特別從美國請來老師,提供碩士新生共200小時的免費英語課程,為期1個半月、每天6小時。

元智大學研發長徐澤志表示,目前全校每個系所規定要有四分之一的專業課程以英語授課,其中元智財務金融研究所更在兩年前以全英語授課,學生論文也以英文撰寫。

台灣大學管理學院從今年9月開始,各系所的核心課程也將改以英語授課。雖然如同台大國企系主任林修葳所表示,少數學生對英語授課的內容吸收仍有困難,需要助教在課餘時間進行補救教學。但學校全面英語授課,不但能訓練本地學生英文程度,更重要的是可以吸引外籍生就讀。

為什麼外籍生人數多寡是重要的?或許你也會認為沒什麼影響。

外籍生兵團,讓你彷彿置身國外

外籍生人數增加,第一個衝擊的是校園學務的整體環境。

銘傳大學設有全國獨一無二的國際學院,是外籍生的大本營,從教育部的資料顯示(見表),銘傳共有201位的外籍生,人數名列全國第3,僅次於台大與政大,如果僅看大學部人數,銘傳更是全國第1。

龐大的外籍生兵團,尤其大學部學生在校期間久、牽涉的校務範圍更廣,使得銘傳大學包含學務、教學與總務系統,不國際化都不行。「全校其實都被國際學院搞得苦哈哈的,」國際學院院長高少凡笑著表示,每個行政系統都被迫英語化,連學費繳費單也是英文,學生選出來的學生會會長也是外籍生。對其他學生而言,這樣的校園環境宛如在國外求學一樣。

另一方面,和外籍生在課堂的互動,則是前所未有的體驗與收穫。

台灣師範大學也是外籍生的集中地之一,華語文教學研究所二年級學生林華一就表示,所內有幾位外籍生來台專攻華語教學,從他們身上可以更貼近觀察到一般外國人在學中文所遭遇的各種困難與思考,對於自己的研究或教學實習都很有幫助。

麥可波特走進大學教室

元智大學促進國際化環境的創新做法,則採取「課程移植」。

元智研發長徐澤志解釋,為了讓學生不用出國留學也能實際體驗名校的教學方式與課程內容,去年首度獲得美國麻省理工學院(MIT)史隆管理學院授權,將聞名全球的競爭力大師麥克.波特(Michael Poter)的「國際競爭策略」課程引進校內,授課對象以研究所及EMBA學生為主,並以個案的方式進行授課及討論。

這份在全球僅授權數十所學校的課程,在台灣僅有台大和元智兩校取得。由於成效良好,徐澤志表示將鼓勵、補助老師多多前往國外知名學校進行短期教學研究以及課程移植。

至於積極通過國際認證,則是系所追求國際化發展的另一個趨勢。

今年4月,中山大學與輔仁大學管理學院成為台灣首度通過「國際高等商管學院聯盟」(AACSB)學術認證的學校。而今年甫加入國際組織「華盛頓協定」的中華工程教育學會,也在5月份公布國內首批通過「工程及科技教育認證」共4校12學系名單,包含中原大學、逢甲大學、虎尾科技大學以及雲林科技大學分別有若干學系通過認證。這項國際認證,在國外可獲得會員國家的認可。因為在歐美工業國家中,畢業生就讀的校系是否通過教育認證,是取得專業工程師資格的基本要件之一。

通過認證對於在學學生又有什麼好處?

共有3系通過認證的逢甲工學院長林秋裕分析,未來和國際接軌後,學生在台灣修的學分將可被世界各國承認,更重要的是,由於這個認證特別著重在教學品質,一旦通過,學生也能第一線感受到教學品質的不同。

此外,通過國際認證也代表後續不間斷的改善過程,中山管理學院院長蔡憲唐就曾表示,獲得AACSB的認證後,每年的年度報告,以及每5年的實地訪查,都是督促中山管院繼續努力的力量。

國際化機會
遊學、交換學生、海外實習、移地教學

校園營造國際化的環境有助引導學生學習,若能進一步提供各式各樣的學習機會當然是更迷人的親身體驗。

逢甲大學每年編列250萬元設置翰海獎助學金,提供學生暑/寒假期間前往海外遊學。逢甲國際事務處處長楊蜀珍強調,學校不是只提供獎學金讓學生去玩,學生除了出發前後應修習學校所開之英語課程,回國後也必須擔任該校生活英語學習志工。

交換學生計劃一直是學生最熟悉的國際化機會之一,對無法負擔出國留學的學生而言也是體驗外國文化最經濟實惠的方式。

今年剛從政大企研所畢業的學生余盈盈,去年申請到瑞典斯德哥爾摩交換學生半年。余盈盈表示,歐洲學校的國際交換生本來就多,和各國學生相處之後才發現原來自己的國際觀如此糟糕,「由於歐洲學制不同,各國的交換生年紀甚至都比我們還小,可是他們卻很有主見、想得很遠。」回到國內,余盈盈也非常不習慣台灣的新聞媒體,「國外的新聞媒體一打開就可以吸收很多國際知識,在台灣想知道國際大事真的只能看CNN了。」

曾經前往荷蘭參加交換計劃的中山大學人力資源管理研究所畢業生黃詩萍也有相同體悟。黃詩萍認為所謂的國際化,是能了解、包容不同文化。在出國前她很看重交換學生的經驗有助日後就業,但回國後她卻不再用那麼功利的看待這段異地求學的經驗,因為她認為最重要學習體驗是包容力。

余盈盈和黃詩萍目前分別任職於華碩以及IBM,也不約而同地負責了部份國際業務:余盈盈有一半的工作時間需要跟國外客戶溝通,黃詩萍則是公司外籍員工的人資窗口。在學期間的國際化經驗,對於就業看來還是有所幫助。

移地教學,讓體驗更真實

移地教學,在過去一直是國內EMBA特有的課程設計,因為一般年輕學生大多負擔不起國外教學、參訪費用,對EMBA學生而言,移地教學似乎也更有跨足當地商業市場的附加價值。然而中山管理學院今年首度開辦的CAT計劃,卻是國內首度為一般研究生所設計的移地教學計劃。

CAT(該學程簡稱CAT:C-Canada, A-Austria, T-Taiwan )計劃其實就是由中山管院和加拿大維多利亞大學(Victoria University)、奧地利林茲大學 (Johannes Kepler University at Linz)3校合作推動的 Global MBA 。中山大學國際交流處處長黃賀表示,該學程以Doing Business in Region(區域性商業)為主軸,由3校分別發展出區域特色與跨洲際的課程,來自3校的學生以國際團隊的方式在3個國家巡迴上課,學習亞洲、歐洲及北美的管理經貿議題。

黃賀解釋,今年第1屆試辦的學生成員包含了5位台灣學生、10位奧地利學生以及2位加拿大學生,這批學生在今年暑假結束台灣2個月的課程(其中尚包含了一週的大陸參訪)之後,目前正在加拿大進行下一階段課程。

除了海外移地教學,海外實習也是各校下一步開展的目標。雲林科技大學企研所的大陸、海外實習活動至今已實施了3年,地點包括大陸上海、青島、深圳等地,去年甚至有學生遠赴越南台商企業實習。逢甲大學在去年暑假也首次辦理大陸南京三商電腦與上海建築事務所的學生實習。

另一個好消息則是,日前中華工程教育協會正式成為「國際交換生實習協會」(IAESTE)的合作組織之一,該組織自1948年成立以來,全球已有超過80個國家/地區加入成為成員,並有超過30萬名學生體驗過跨國實習經驗。今後在大專院校主修與IAESTE所提供實習學科相關之在學生,皆可透過中華工程教育學會申請跨國實習訓練課程。

當各大學積極端出跨海學習的機會,鼓勵學生打開學習視窗,這些資源都可提高未來畢業後,個人碩士學位的附加價值,千萬不要輕易錯過!戈顥芸(元智大學企管研究所畢業)

她只花了半年念完研究所

71年次、今年剛從元智大學企研所畢業的戈顥芸,嚴格說來她只花了半年就念完研究所。

半年,對學生來說,很容易一下子就渾渾噩噩地度過。但戈顥芸先是在大四那年申請5年一貫的學碩士學程,在僅剩的1年研究所時光中,又花了半年到美國史丹佛大學(Stanford University)管理科學系進行交換學生計畫。

戈顥芸謙虛的說,自己是因為不愛讀書,也自認不是讀書的料,因此希望能用時間換取空間,雖然壓縮求學時間真的很苦,也在還沒充分學習到研究方法之前就得開始寫論文(戈顥芸在研一下學期出國之前就已完成畢業論文),但能早一點踏入職場,比其他同儕多一點經驗,再辛苦也值得。

回憶起今年初還熱騰騰的出國經驗,戈顥芸表示,在史丹佛的3個月課程中,最有收穫的反倒不是專業領域,而是2門分別為研究生開設的語言課與專業溝通技巧。戈顥芸解釋,語言課程主要在教導學生如何參加正式的學術研討,在課程中還安排每位學生至少模擬擔任一次研討會主持人,「主持研討會的過程全部錄影存證,期末就要看著自己在錄影帶裡的糗樣寫下建議報告。」雖然始終覺得自己表現得不夠好,這門課卻也讓戈顥芸對國外的教學印象深刻。

另外一堂商業溝通策略,則讓戈顥芸學習到非常實用的技巧,包含撰寫履歷、電話行銷、向客戶做簡報等,都在回國之後的求職與工作中充分發揮。

今年6月底才回國的戈顥芸,8月中便開始到一家國際行銷研究公司上班。她對自己的未來很有想法,從沒考慮過要到一般MBA熱門的外商公司如P&G或花旗銀行工作,只希望能真正運用自己所學的行銷研究能力,「其實我真正想從事的是創意設計的工作,到電影公司也行。」

你不一定非得要像戈顥芸一樣辛苦,將時間壓縮得如此緊湊,但是如果能有像她一樣的海外學習經驗,相信絕對會是人生的plus。

國際化機會
遊學、交換學生、海外實習、移地教學

校園營造國際化的環境有助引導學生學習,若能進一步提供各式各樣的學習機會當然是更迷人的親身體驗。逢甲大學每年編列250萬元設置翰海獎助學金,提供學生暑/寒假期間前往海外遊學。逢甲國際事務處處長楊蜀珍強調,學校不是只提供獎學金讓學生去玩,學生除了出發前後應修習學校所開之英語課程,回國後也必須擔任該校生活英語學習志工。

交換學生計劃一直是學生最熟悉的國際化機會之一,對無法負擔出國留學的學生而言也是體驗外國文化最經濟實惠的方式。

今年剛從政大企研所畢業的學生余盈盈,去年申請到瑞典斯德哥爾摩交換學生半年。余盈盈表示,歐洲學校的國際交換生本來就多,和各國學生相處之後才發現原來自己的國際觀如此糟糕,「由於歐洲學制不同,各國的交換生年紀甚至都比我們還小,可是他們卻很有主見、想得很遠。」回到國內,余盈盈也非常不習慣台灣的新聞媒體,「國外的新聞媒體一打開就可以吸收很多國際知識,在台灣想知道國際大事真的只能看CNN了。」

曾經前往荷蘭參加交換計劃的中山大學人力資源管理研究所畢業生黃詩萍也有相同體悟。黃詩萍認為所謂的國際化,是能了解、包容不同文化。在出國前她很看重交換學生的經驗有助日後就業,但回國後她卻不再用那麼功利的看待這段異地求學的經驗,因為她認為最重要學習體驗是包容力。

余盈盈和黃詩萍目前分別任職於華碩以及IBM,也不約而同地負責了部份國際業務:余盈盈有一半的工作時間需要跟國外客戶溝通,黃詩萍則是公司外籍員工的人資窗口。在學期間的國際化經驗,對於就業看來還是有所幫助。

移地教學,讓體驗更真實

移地教學,在過去一直是國內EMBA特有的課程設計,因為一般年輕學生大多負擔不起國外教學、參訪費用,對EMBA學生而言,移地教學似乎也更有跨足當地商業市場的附加價值。然而中山管理學院今年首度開辦的CAT計劃,卻是國內首度為一般研究生所設計的移地教學計劃。

CAT(該學程簡稱CAT:C-Canada, A-Austria, T-Taiwan )計劃其實就是由中山管院和加拿大維多利亞大學(Victoria University)、奧地利林茲大學 (Johannes Kepler University at Linz)3校合作推動的 Global MBA 。中山大學國際交流處處長黃賀表示,該學程以Doing Business in Region(區域性商業)為主軸,由3校分別發展出區域特色與跨洲際的課程,來自3校的學生以國際團隊的方式在3個國家巡迴上課,學習亞洲、歐洲及北美的管理經貿議題。

黃賀解釋,今年第1屆試辦的學生成員包含了5位台灣學生、10位奧地利學生以及2位加拿大學生,這批學生在今年暑假結束台灣2個月的課程(其中尚包含了一週的大陸參訪)之後,目前正在加拿大進行下一階段課程。

除了海外移地教學,海外實習也是各校下一步開展的目標。雲林科技大學企研所的大陸、海外實習活動至今已實施了3年,地點包括大陸上海、青島、深圳等地,去年甚至有學生遠赴越南台商企業實習。逢甲大學在去年暑假也首次辦理大陸南京三商電腦與上海建築事務所的學生實習。

另一個好消息則是,日前中華工程教育協會正式成為「國際交換生實習協會」(IAESTE)的合作組織之一,該組織自1948年成立以來,全球已有超過80個國家/地區加入成為成員,並有超過30萬名學生體驗過跨國實習經驗。今後在大專院校主修與IAESTE所提供實習學科相關之在學生,皆可透過中華工程教育學會申請跨國實習訓練課程。

當各大學積極端出跨海學習的機會,鼓勵學生打開學習視窗,這些資源都可提高未來畢業後,個人碩士學位的附加價值,千萬不要輕易錯過!戈顥芸(元智大學企管研究所畢業)

她只花了半年念完研究所

71年次、今年剛從元智大學企研所畢業的戈顥芸,嚴格說來她只花了半年就念完研究所。

半年,對學生來說,很容易一下子就渾渾噩噩地度過。但戈顥芸先是在大四那年申請5年一貫的學碩士學程,在僅剩的1年研究所時光中,又花了半年到美國史丹佛大學(Stanford University)管理科學系進行交換學生計畫。

戈顥芸謙虛的說,自己是因為不愛讀書,也自認不是讀書的料,因此希望能用時間換取空間,雖然壓縮求學時間真的很苦,也在還沒充分學習到研究方法之前就得開始寫論文(戈顥芸在研一下學期出國之前就已完成畢業論文),但能早一點踏入職場,比其他同儕多一點經驗,再辛苦也值得。

回憶起今年初還熱騰騰的出國經驗,戈顥芸表示,在史丹佛的3個月課程中,最有收穫的反倒不是專業領域,而是2門分別為研究生開設的語言課與專業溝通技巧。戈顥芸解釋,語言課程主要在教導學生如何參加正式的學術研討,在課程中還安排每位學生至少模擬擔任一次研討會主持人,「主持研討會的過程全部錄影存證,期末就要看著自己在錄影帶裡的糗樣寫下建議報告。」雖然始終覺得自己表現得不夠好,這門課卻也讓戈顥芸對國外的教學印象深刻。

另外一堂商業溝通策略,則讓戈顥芸學習到非常實用的技巧,包含撰寫履歷、電話行銷、向客戶做簡報等,都在回國之後的求職與工作中充分發揮。

今年6月底才回國的戈顥芸,8月中便開始到一家國際行銷研究公司上班。她對自己的未來很有想法,從沒考慮過要到一般MBA熱門的外商公司如P&G或花旗銀行工作,只希望能真正運用自己所學的行銷研究能力,「其實我真正想從事的是創意設計的工作,到電影公司也行。」

你不一定非得要像戈顥芸一樣辛苦,將時間壓縮得如此緊湊,但是如果能有像她一樣的海外學習經驗,相信絕對會是人生的plus。

2009/06/01

C++繼承整理

From: Zeroplex 生活隨筆

Inheritance by:

Public:
public -> public
protected -> protected
private -> 不被繼承

Protected:
public -> protected
protected -> protected
private -> 不被繼承

Private:
public -> private
protected -> private
private -> 不被繼承

2024年React state management趨勢

輕量化 在過去Redux 是 React 狀態管理的首選函式庫。 Redux 提供了強大的功能和靈活性,但也帶來了一定的學習成本和複雜度。 隨著 React 生態的不斷發展,越來越多的開發者開始追求輕量化的狀態管理函式庫。 Zustand 和 Recoil 等庫以其簡單易用、性...