2013年4月21日 星期日

[轉錄]十招教你清晰職業規劃

第一步:明晰職業規劃,確定職業目標——價值觀和人生定位
  
自我的人生價值和角色定位、人生主要目標的設定等等,簡單的說就是:你準備做一個什麼樣的人,你的人生準備達成哪些目標。這些看似與具體壓力無關的東西其實對我們的影響卻總是十分巨大,對很多壓力的反思最後往往都要歸結到這個方面。卡耐基說:“我非常相信,這是獲得心理平靜的最大秘密之一——要有正確的價值觀念。而我也相信,只要我們能定出一種個人的標準來——就是和我們的生活比起來,什麼樣的事情才值得的標準,我們的憂慮有50%可以立刻消除。”
  
第二步:心態調整——以積極樂觀的心態擁抱壓力
  
法國作家雨果曾說過:“思想可以使天堂變成地獄,也可以使地獄變成天堂。”
  
我們要認識到危機即是轉機,遇到困難,產生壓力,一方面可能是自己的能力不足,因此整個問題處理過程,就成為增強自己能力、發展成長重要的機會;另外也可能是環境或他人的因素,則可以理性溝通解決,如果無法解決,也可寬恕一切,盡量以正向樂觀的態度去面對每一件事。如同有人研究所謂樂觀係數,也就是說一個人常保持正向樂觀的心,處理問題時,他就會比一般人多出20%的機會得到滿意的結果。因此正向樂觀的態度不僅會平息由壓力而帶來的紊亂情緒,也較能使問題導向正面的結果。
  
第三步:理性反思——自我反省和壓力日記
  
對於一個積極進取的人而言,面對壓力時可以自問,“如果沒做成又如何?”這樣的想法並非找藉口,而是一種有效疏解壓力的方式。但如果本身個性較容易趨向於逃避,則應該要求自己以較積極的態度面對壓力,告訴自己,適度的壓力能夠幫助自我成長。同時,記壓力日記也是一種簡單有效的理性反思方法。它可以幫助你確定是什麼刺激引起了壓力,通過檢查你的日記,你可以發現你是怎麼應對壓力的。
  
第四步:建立平衡——留出休整的空間,不要把工作上的壓力帶回家
  
我們要主動管理自己的情緒,注重業餘生活,不要把工作上的壓力帶回家。留出休整的空間:與他人共享時光,交談、傾訴、閱讀、冥想、聽音樂、處理家務、參與體力勞動都是獲得內心安寧的絕好方式,選擇適宜的運動,鍛煉忍耐力、靈敏度或體力……持之以恆地交替應用你喜愛的方式並建立理性的習慣,逐漸體會它對你身心的裨益。
  
第五步:時間管理——關鍵是不要讓你的安排左右你,你要自己安排你的事
  
工作壓力的產生往往與時間的緊張感相生相伴,總是覺得很多事情十分緊迫,時間不夠用。解決這種緊迫感的有效方法是時間管理,關鍵是不要讓你的安排左右你,你要自己安排你的事。在進行時間安排時,應權衡各種事情的優先順序,要學會“彈鋼琴”。對工作要有前瞻能力,把重要但不一定緊急的事放到首位,防患於未然,如果總是在忙於救火,那將使我們的工作永遠處於被動之中。
  
第六步:加強溝通——不要試圖一個人就把所有壓力承擔下來
  
平時要積極改善人際關係,特別是要加強與上級、同事及下屬的溝通,要隨時切記,壓力過大時要尋求主管的協助,不要試圖一個人就把所有壓力承擔下來。同時在壓力到來時,還可採取主動尋求心理援助,如與家人朋友傾訴交流、進行心理諮詢等方式來積極應對。
  
第七步,提升能力——疏解壓力最直接有效的方法是設法提升自身的能力
  
既然壓力的來源是自身對事物的不熟悉、不確定感,或是對於目標的達成感到力不從心所致,那麼,疏解壓力最直接有效的方法,便是去了解、掌握狀況,並且設法提升自身的能力。通過自學、參加培訓等途徑,一旦“會了”、“熟了”、“清楚了”,壓力自然就會減低、消除,可見壓力並不是一件可怕的事。逃避之所以不能疏解壓力,則是因為本身的能力並未提升,使得既有的壓力依舊存在,強度也未減弱。
  
第八步,活在今天——集中你所有的智慧、熱忱,把今天的工作做得盡善盡美
  
壓力,其實都有一個相同的特質,就是突出表現在對明天和將來的焦慮和擔心。而要應對壓力,我們首要做的事情不是去觀望遙遠的將來,而是去做手邊的清晰之事,因為為明日作好準備的最佳辦法就是集中你所有的智慧、熱忱,把今天的工作做得盡善盡美。
  
第九步,生理調節——保持健康,學會放鬆
  
另外一個管理壓力的方法集中在控制一些生理變化,如:逐步肌肉放鬆、深呼吸、加強鍛煉、充足完整的睡眠、保持健康和營養。通過保持你的健康,你可以增加精力和耐力,幫助你與壓力引起的疲勞鬥爭
  
第十步,日常減壓
  
以下是幫助你在日常生活中減輕壓力的10種具體方法,簡單方便,經常運用可以起到很好的效果:
1、早睡早起。在你的家人醒來前一小時起床,做好一天的準備工作
2、同你的家人和同事共同分享工作的快樂。
3、一天中要多休息,從而使頭腦清醒,呼吸通暢。
4、利用空閒時間鍛煉身體。
5、不要急切地、過多地表現自己。
6、提醒自己任何事不可能都是盡善盡美的。
7、學會說“不”。
8、生活中的顧慮不要太多。
9、偶爾可聽音樂放鬆自己。
10、培養豁達的心胸

2013年4月10日 星期三

SOCKET 參數


/usr/include/bits/socket.h
 
/* Protocol families.  */
#define PF_UNSPEC       0       /* Unspecified.  */
#define PF_LOCAL        1       /* Local to host (pipes and file-domain).  */
#define PF_UNIX         PF_LOCAL /* POSIX name for PF_LOCAL.  */
#define PF_FILE         PF_LOCAL /* Another non-standard name for PF_LOCAL.  */
#define PF_INET         2       /* IP protocol family.  */
#define PF_AX25         3       /* Amateur Radio AX.25.  */
#define PF_IPX          4       /* Novell Internet Protocol.  */
#define PF_APPLETALK    5       /* Appletalk DDP.  */
#define PF_NETROM       6       /* Amateur radio NetROM.  */
#define PF_BRIDGE       7       /* Multiprotocol bridge.  */
#define PF_ATMPVC       8       /* ATM PVCs.  */
#define PF_X25          9       /* Reserved for X.25 project.  */
#define PF_INET6        10      /* IP version 6.  */
#define PF_ROSE         11      /* Amateur Radio X.25 PLP.  */
#define PF_DECnet       12      /* Reserved for DECnet project.  */
#define PF_NETBEUI      13      /* Reserved for 802.2LLC project.  */
#define PF_SECURITY     14      /* Security callback pseudo AF.  */
#define PF_KEY          15      /* PF_KEY key management API.  */
#define PF_NETLINK      16
#define PF_ROUTE        PF_NETLINK /* Alias to emulate 4.4BSD.  */
#define PF_PACKET       17      /* Packet family.  */
#define PF_ASH          18      /* Ash.  */
#define PF_ECONET       19      /* Acorn Econet.  */
#define PF_ATMSVC       20      /* ATM SVCs.  */
#define PF_RDS          21      /* RDS sockets.  */
#define PF_SNA          22      /* Linux SNA Project */
#define PF_IRDA         23      /* IRDA sockets.  */
#define PF_PPPOX        24      /* PPPoX sockets.  */
#define PF_WANPIPE      25      /* Wanpipe API sockets.  */
#define PF_LLC          26      /* Linux LLC.  */
#define PF_CAN          29      /* Controller Area Network.  */
#define PF_TIPC         30      /* TIPC sockets.  */
#define PF_BLUETOOTH    31      /* Bluetooth sockets.  */
#define PF_IUCV         32      /* IUCV sockets.  */
#define PF_RXRPC        33      /* RxRPC sockets.  */
#define PF_ISDN         34      /* mISDN sockets.  */
#define PF_PHONET       35      /* Phonet sockets.  */
#define PF_IEEE802154   36      /* IEEE 802.15.4 sockets.  */
#define PF_CAIF         37      /* CAIF sockets.  */
#define PF_ALG          38      /* Algorithm sockets.  */
#define PF_MAX          39      /* For now..  */
       
/*       *   Protocol   families,   same   as   address   families   for   now.  
PF=AF    */ /* Address families.  */
#define AF_UNSPEC       PF_UNSPEC
#define AF_LOCAL        PF_LOCAL
#define AF_UNIX         PF_UNIX
#define AF_FILE         PF_FILE
#define AF_INET         PF_INET
#define AF_AX25         PF_AX25
#define AF_IPX          PF_IPX
#define AF_APPLETALK    PF_APPLETALK
#define AF_NETROM       PF_NETROM
#define AF_BRIDGE       PF_BRIDGE
#define AF_ATMPVC       PF_ATMPVC
#define AF_X25          PF_X25
#define AF_INET6        PF_INET6
#define AF_ROSE         PF_ROSE
#define AF_DECnet       PF_DECnet
#define AF_NETBEUI      PF_NETBEUI
#define AF_SECURITY     PF_SECURITY
#define AF_KEY          PF_KEY
#define AF_NETLINK      PF_NETLINK
#define AF_ROUTE        PF_ROUTE
#define AF_PACKET       PF_PACKET
#define AF_ASH          PF_ASH
#define AF_ECONET       PF_ECONET
#define AF_ATMSVC       PF_ATMSVC
#define AF_RDS          PF_RDS
#define AF_SNA          PF_SNA
#define AF_IRDA         PF_IRDA
#define AF_PPPOX        PF_PPPOX
#define AF_WANPIPE      PF_WANPIPE
#define AF_LLC          PF_LLC
#define AF_CAN          PF_CAN
#define AF_TIPC         PF_TIPC
#define AF_BLUETOOTH    PF_BLUETOOTH
#define AF_IUCV         PF_IUCV
#define AF_RXRPC        PF_RXRPC
#define AF_ISDN         PF_ISDN
#define AF_PHONET       PF_PHONET
#define AF_IEEE802154   PF_IEEE802154
#define AF_CAIF         PF_CAIF
#define AF_ALG          PF_ALG
#define AF_MAX          PF_MAX

2013年4月3日 星期三

電腦的層次架構

類型層次說明範例
軟體應用軟體使用者所使用的軟體Office, Browser, Media Player, ….
軟體系統軟體程式師所使用的開發工具編譯器、組譯器、虛擬機、IDE, …
韌體作業系統電腦軟體系統的基礎架構MS. Windows, Linux, iOS, … (包含驅動程式)
硬體指令層組合語言 => 機器指令LD, ST, ADD, CALL, RET, ….
硬體數位邏輯層訊號為 0 與 1 的數位電路AND, OR, NOT, XOR, 全加器, ALU, CPU, …
硬體電子電路層電壓、電流電阻、電容、電感、電晶體、CMOS
硬體基礎材料層矽、鎵、鍺、砷半導體

馮紐曼架構:電腦的五大單元


馮紐曼架構:電腦的五大單元

  1. 算術單元:(ALU)
  2. 記憶單元:(Memory Unit)
  3. 控制單元:(Control Unit)
  4. 輸出/輸入單元:(I/O Unit)

[XP] 小算盤 MR 使用

MR:記憶某變數,來作運算使用

時間日期秒數轉換

可以將日期時間轉換為總秒數,提供驗證使用
    http://www.epochconverter.com/

C語言標準函式庫

轉自http://www.wretch.cc/blog/candyand29

C-1 標準輸出輸入函數 
® FILE* fopen(const char* filename, const char* mode):使用 mode模式開啟參數 filename的檔案,傳回檔案串流,失敗傳回 NULL。 
® FILE* f reopen(const char* filename, const char* mode, FILE* stream):關閉檔案後重新開啟檔案。 
® int fflush(FILE* stream):清除緩衝區的內容,成功傳回 0,失敗傳回EOF。 
® int fclose(FILE* stream):關閉檔案。 
® int remove(const char* filename):刪除參數的檔案,失敗傳回非零值。 
® int rename(const char* oldname, const char* newname):將檔案名稱oldname 改為 newname,失敗傳回非零值。 
® FILE* tmpfile():建立"wb+"模式的暫存檔案,當結束程式後就會關閉且刪除此檔案。 
® char* tmpname(char s[L_tmpnam]):指定暫存檔案的名稱為s。 
® int setvbuf(FILE* stream, char* buf, int mode, size_t size):指定串流暫存區尺寸size,使用 mode參數值_IOFBF 為完整暫存區、_IOLBF 是線性暫存區或_IONBF沒有暫存區。 
® void setbuf(FILE* stream, char* buf):指定串流的暫存區為參數buf。 
® int fprintf(FILE* stream, const char* format, ...):將格式化字串寫入檔案串流。 
® int printf(const char* format, ...):在標準輸出顯示格式化字串。 
® int sprintf(char* s, const char* format, ...):將格式化字串輸出到字串s。 
® int fscanf(FILE* stream, const char* format, ...):從檔案串流讀取指定格式的資料。 
® int scanf(const char* format, ...):從標準輸入讀取指定格式的資料。 
® int sscanf(char* s, const char* format, ...):從字串 s 讀取指定格式的資料。 
® int fgetc(FILE* stream):從檔案串流讀取一個字元。 
® char* fgets(char* s, int n, FILE* stream):從檔案串流讀取一個字串。 
® int fputc(int c, FILE* stream):寫入一個字元到檔案。 
® char* fputs(const char* s, FILE* stream):寫入一個字串到檔案。 
® int getc(FILE* stream):從檔案串流讀取一個字元。 
® int getchar(void):從標準輸入讀取一個字元。 
® char* gets(char* s):從標準輸入讀取一個字串。 
® int putc(int c, FILE* stream):寫入一個字元到檔案。 
® int putchar(int c):在標準輸出顯示一個字元。 
® int puts(const char* s):在標準輸出顯示一個字串。 
® int ungetc(int c, FILE* stream):將一個字元放回檔案串流。 
® size_t fread(void* ptr, size_t size, size_t nobj, FILE* stream):從檔案讀取指定大小的資料。 
® size_t fwrite(const void* ptr, size_t size, size_t nobj, FILE* stream):將指定大小的資料寫入檔案。 
® int fseek(FILE* stream, long offset, int origin):移動檔案指標到 offset位移量,其方向是 origin 參數值 SEEK_SET 的檔案開頭、SEEK_CUR 是目前位置或 SEEK_END檔尾。 
® long ftell(FILE* stream):目前檔案指標的位置。 
® void rewind(FILE* stream):重設檔案指標到檔頭。 
® int feof(FILE* stream):是否到達檔尾。 
® int ferror(FILE* stream):是否檔案串流產生錯誤。 

C-2 字元檢查函數(ctype.h) 
® int isalnum(int c):isalpha(c)或 isdigit(c)的字元。 
® int isalpha(int c):isupper(c)或 islower(c)的字元。 
® int iscntrl(int c):是否是ASCII控制字元。 
® int isdigit(int c):是否是數字。 
® int isgraph(int c):是否是顯示字元,不含空白字元。 
® int islower(int c):是否是小寫字元。 
® int isprint(int c):是否是顯示字元 0x20 (' ')到0x7E ('~')。 
® int ispunct(int c):是否是顯示字元,不包含空白、字母、數字字元。 
® int isspace(int c):是否是空白字元。 
® int isupper(int c):是否是大寫字元。 
® int isxdigit(int c):是否是十六進位字元。 
® int tolower(int c):轉換成小寫字元。 
® int toupper(int c):轉換成大寫字元。 

C-3 字串函數 
® char* strcpy(char* s, const char* ct):將字串 ct複製到字串 s。 
® char* strncpy(char* s, const char* ct, size_t n):將字串 ct前 n個字元複製到字串s。 
® char* strcat(char* s, const char* ct):連結字串ct 到字串s之後。 
® char* strncat(char* s, const char* ct, size_t n):連結字串 ct前 n個字元到字串 s。 
® int strcmp(const char* cs, const char* ct):比較字串cs和 ct。 
® int strncmp(const char* cs, const char* ct, size_t n):比較字串cs和 ct的前 n個字元。 
® char* strchr(const char* cs, int c):傳回字元 c第一次出現在字串 cs位置的指標。 
® char* strrchr(const char* cs, int c):傳回字元 c第後一次出現在字串 cs位置的指標。 
® char* strpbrk(const char* cs, const char* ct):傳回字串 ct任何字元在字串 cs第一次出現的位置指標。 
® char* strstr(const char* cs, const char* ct):傳回字串 ct在字串 cs 第一次出現的位置指標。 
® size_t strlen(const char* cs):傳回字串 cs的長度。 
® char* strerror(int n):傳回指定錯誤代碼的說明文字內容。 
® char* strtok(char* s, const char* t):以字串t 的任何字元為分隔字元,找尋字串 s中下一個 token記號。 
® void* memcpy(void* s, const void* ct, size_t n):從位置 ct複製 n個字元到位置s,傳回 s。 
® void* memmove(void* s, const void* ct, size_t n):從位置ct 搬移 n個字元到位置s,傳回 s。 
® int memcmp(const void* cs, const void* ct, size_t n):比較位置 ct 和位置cs的前 n個字元。 
® void* memchr(const void* cs, int c, size_t n):傳回cs位置開始前 n個字元第一次出現字元 c的位置指標。 
® void* memset(void* s, int c, size_t n):取代 cs 位置開始前n個字元成為字元 c,傳回位置指標 s。 

C-4 數學函數 
® double exp(double x):自然數的指數e^x。 
® double log(double x):自然對數 logx 
® double log10(double x):十為底的對數 log10x。 
® double pow(double x, double y):傳回參數 x為底,參數y的次方值x^y。 
® double sqrt(double x):參數 x的平方根。 
® double ceil(double x):傳回大於或等於參數 x的最小 double 整數。 
® double floor(double x):傳回小於或等於參數x的最大double整數。 
® double fabs(double x):傳回參數 x的絕對值。 
® hypot(double x, double y):傳回√(x^2+y^2)公式的值 
® double ldexp(double x, int n):x乘以 2 的 n次方是 x*2^n。
® double frexp(double x, int* exp):將參數x的浮點數分解成尾數和指標,x = m*2^exp,傳回 m值的尾數,將指數存入參數 exp。 
® double modf(double x, double* ip):將浮點數x分解成整數和小數部分,傳回小數部分,將整數部分存入參數 ip。 
® double fmod(double x, double y):如果 y為非零值,傳回浮點數 x/y的餘數。 
® double sin(double x):正弦函數。 
® double cos(double x):餘弦函數。 
® double tan(double x):正切函數。 
® double asin(double x):反正弦函數。 
® double acos(double x):反餘弦函數。 
® double atan(double x):反正切函數。 
® double atan2(double y, double x):參數 y/x的反正切函數值。 
® double sinh(double x):hyperbolic 正弦函數,sinh(x)=(e^x -e^(-x))/2。 
® double cosh(double x): hyperbolic 餘弦函數, cosh(x)=(e^x+e^(-x))/2。 
® double tanh(double x): hyperbolic 正切函數,tanh(x)=(e^x-e^(-x))/(e^2+e^( -x))。 

C-5 日期/時間函數 
® clock_t clock(void):傳回程式開始執行後所使用的 CPU 時間,以ticks為單位,除以常數CLK_TCK就是秒數。 
® time_t time(time_t* tp):傳回目前的曆法時間(Calendar Time),也會指定給參數的 tp指標,如為無效時間,傳回-1。 
® double difftime(time_t time2, time_t time1):傳回參數time2和 time1的時間差,即 time2-time1。 
® time_t mktime(struct tm* tp):將參數*tp的當地時間改為曆法時間, 如果不能轉換傳回-1。 
® char* asctime(const struct tm* tp):傳回參數 tm結構指標轉換成日期/時間格式的字串,字串最後有新行字元\n。 
® char* ctime(const time_t* tp):傳回參數 time_t 指標轉換成當地日期/時間的字串,字串最後有新行字元\n。 
® struct tm* gmtime(const time_t* tp):傳回將參數的 time_t指標轉換成UTC(Coordinated Universal Time)日期/時間的tm結構指標。 
® struct tm* localtime(const time_t* tp):傳回將參數的 time_t 指標轉換成當地日期/時間的tm結構指標。 
® size_t strftime(char* s, size_t smax, const char* fmt, const struct tm* tp):將參數 tp 的日期/時間以格式化字串 fmt 輸出到字串 s,s 最多儲存 smax個字元。 

C-6 工具函數 
® int abs(int n)、long labs(long n):傳回整數n的絕對值。 
® double atof(const char* s):將參數字串 s轉換成浮點數,如果字串不能轉換傳回0.0。 
® int atoi(const char* s):將參數字串 s轉換成整數,如果字串不能轉換傳回 0。 
® long atol(const char* s):將參數字串 s 轉換成長整數,如果字串不能轉換傳回0。 
® double strtod(const char* s, char** endp):函數忽略字串 s前的空白字元,將數字部分轉換成浮點數,如果尚有未轉換的部分字串,則設成參數 endp 指標。 
® long strtol(const char* s, char** endp, int base):函數忽略字串s 前的空白字元,將數字部分轉換成長整數,如果尚有未轉換的部分字串,則設成參數 endp 指標。 
® unsigned long strtoul(const char* s, char** endp, int base):如同 strtol函數,其傳回值是無符號長整數。 
® void* calloc(size_t nobj, size_t size):傳回一塊參數 nobj陣列大小的記憶體指標,nobj元素大小為 size 初值為 0,錯誤傳回 NULL。 
® void* malloc(size_t size):傳回大小 size 記憶體指標,沒有指定初值,錯誤傳回 NULL。 
® void* realloc(void* p, size_t size):將指標 p 的記憶體改為size大小,不會更改原記憶體的值,多配置部分初值為0,錯誤傳回NULL。 
® void free(void* p):釋放參數 p指標的記憶體空間。 
® void abort():強迫程式以不正常方式結束,如同呼叫 raise(SIGABRT)函數。 
® void exit(int status):程式以正常方式結束,傳回系統環境狀態值,0表示正常結束。 
® int system(const char* s):將字串 s 的指令傳給環境來執行,也就是執行 MS-DOS的指令。 
® char* getenv(const char* name):傳回參數 name 的環境字串,如果沒有傳回 NULL。 
® void* bsearch(const void* key, const void* base, size_t n, size_t size, int (*cmp)(const void* keyval, const void* datum)):陣列基礎的二元搜尋函數,陣列是參數 base,鍵值是參數 key,n 是陣列大小,size 是每個元素的大小,最後的參數是指向函數的指標,這是比較元素大小的函數,找到傳回該元素指標,沒有找到傳回 NULL。 
® void qsort(void* base, size_t n, size_t size, int (*cmp)(const void*, const void*)):陣列基礎的快速排序法函數,陣列是參數 base,n 是陣列大小,size 是每個元素的大小,最後的參數是指向函數的指標,這是比較元素大小的函數。 
® int rand(void):傳回亂數的整數值,其值的範圍是 0到 RAND_MAX常數,其值為 0x7FFF。 
® void srand(unsigned int seed):指定亂數的種子數,參數是無符號整數,如果沒有指定,預設的種子數為1。

   PDF