高績效心智

作者韓森探訪五千位職場工作者,研究許多關於工作與個人表現的實例,並歸納出一套全新的聰明工作學。這本書會讓你瞭解各行各業的人如何運用高績效心智,在工作上締造佳績,並擁有高品質的生活。


雙重專注

嘗試做愈多,實際上完成的愈少

我們認為做得愈多,成就愈大。但其實這不是正確的,當你嘗試做愈多事情,實際上會完成的反而更少,所以想要成功,必須懂得取捨,選擇最重要的去實行。

高績效人士需要做到「雙重專注」

雙重專注:挑出優先重要的少數的任務,集中精神在這些任務上,全力以赴、精益求精。

諾貝爾經濟獎得主赫伯特·西蒙曾說:「太多資訊只會造成注意力貧乏。」

要做的事情愈多,每一項被分配到的時間就愈少,而投入愈少時間,工作成效就愈差。

很多人以為同時處理多項任務,可增加效率。但研究顯示,同時處理多種工作只會降低效率,所以要慎選工作,完全專注其中,才能做到最好。

法國作家聖修伯里曾言:「所謂的完美,不是沒有什麼可加的,而是沒有什麼可以再減的。」


本書提供了三種策略來實現「雙重專注」

策略一:奧卡姆剃刀:目標愈少愈好,步驟愈少愈好。用心挑出幾件事情,把他們做到最好。

策略二:把自己綁在桅杆上:為自己訂定規則模式,並排除會讓你分心的事物,專注在目標上。

策略三:對老闆說「不」:讓老闆瞭解你對於工作的優先考量,專注在少數幾件事,並可以發揮到最好。


重新設計工作

超時工作,績效反而下滑

作者在研究中發現,如果你每週工時30至50個小時之間,工時增加的確可以提升績效。但一旦每週工時多達50至65個小時,工時增加會伴隨著效益開始減少。若是每週工時超過65個小時,則工時增加反而整體表現下降。

除了賣命工作,如何能更聰明的工作?

聰明的工作,必須要甩開過去的枷鎖,用新的眼光來看待事物,思考是否有更好的做事方式,才能重新設計工作,並在工作中產出最大的價值。

要怎麼做?先從學會問「笨問題」開始:

為什麼報告要用一堆投影片?不能精簡成幾頁嗎?

為什麼要用這個方式?有更好的辦法嗎?

重新設計工作,可以讓工作更具有效率,重點不在於改變的幅度,而在於增進的價值。


學習迴圈

葛拉威爾在《異數》這本書所中提出「一萬小時法則」,並論述一萬個小時的努力練習可能比與生俱來的天份更重要。

如果想要成為傑出的專家,至少要花一萬個小時的反覆練習,按比例計算的話,如果每天工作八個小時,一週工作五天,那麼你至少需要五年的時間。

換句話說,是不是天才已經不是那麼重要,在專業上所投入的練習量才是決定人們是否傑出的關鍵。

可惜,這個法則有諸多錯誤,並不是常規、重複地訓練一萬小時就能夠出類拔萃,而且練習時數會因為不同領域而有所差異。所以要透過有方法、有技巧的「刻意練習」,才能砥礪自己不斷進步。

例如:高水準的職業選手通常不會利用相同的方法反覆練習,而是在每一次練習結束之後,藉由教練的結果評估,從回饋意見中努力改善每個小瑕疵,努力突破自我,才能進步神速。


學習迴圈:比一萬小時更好的練習

作者提出把「刻意練習」的技巧,運用在每日工作上。

「一萬個小時」的練習法並不適用職場,而「刻意練習」對於績效指標明確的技能才有幫助,所以我們需要透過巧妙的轉化,才能把「學習迴圈」運用在職場上。

要在工作上有過人的表現,最有效的方法是透過學習迴圈不斷精進。

作者提出六大步驟來執行「學習迴圈」:

  1. 每天擠出15分鐘

  2. 將一項技能拆解成數個微行為

  3. 檢討微行為的成果

  4. 盡快獲得回饋意見

  5. 用困難來磨練能力

  6. 超越停滯點

每天擠出15分鐘發展一項技能,將該項技能拆解為數個微行為。例如:把讓團隊成員一起集思廣益拆解成幾個微行為,像是「請團隊成員提出更具體的問題」、「請團隊成員提出一個創新的方法」。如果是練習演講,可以拆解成開場、結尾、動作等等,對上述部分提出具體的做法,透過一次練習一項技能來增進演講能力。

隨後,檢討微行為的成果並提出改進做法,例如:「團隊成員提出的方案是否有徹底執行」、「演講過程是否有趣味性」。最後,再綜合其他團隊成員的意見回饋及建議,從而找出問題和正確的方向。


最後兩點:「用困難來磨練能力」、「超越停滯點」是在學習迴圈的過程中,更快加強能力的作法。

用困難來磨練能力

以健康的心態來面對失敗,願意冒險、能夠容忍短期失敗的人,日後往往能有優異的表現。

犯的錯誤愈多,糾錯能力就愈強,知道問題點在哪裡。

超越停滯點

當你發展某項技能時,歷經不斷的練習後,你可能繳出漂亮的成績單、有非常優秀的表現,但接下來可能會遇上瓶頸,而無法繼續前進。

每個人都會追求進步,但到了某個程度之後,就會安於現狀、感到自我滿足,降低學習的動力。

因此,我們必須繼續努力、讓自己站上該領域的巔峰,透過「學習迴圈」不斷精進改善自己的表現,讓學習不會因此停滯。


參考文獻

  1. 一萬小時努力比不過別人五小時?忽略這點,再努力都只是在原地踏步

  2. 「一萬小時天才法則」致命漏洞,10年後終被揭露:光是努力沒有用,不正確的練習等於「埋沒天賦」

  3. 《刻意練習》為什麼一萬小時定律是錯的?我學到的4件事

  4. 練習1萬個小時卻沒有成功:不是你不努力,而是你少做一件「更重要的事」

  5. Kaiwen H…: || Reading ||高績效心智

  6. 讀書心得-高績效心智(Great at Work)

世界一流菁英的77個最強工作法

本書針對在「如何實現一流的工作水準」上下了不少功夫,作者認為要在自己的工作上展現出最高水準,需要從「基本功」、「自我管理」、「心理素質」、「領導力」、「自我實現」這五個角度切入,讓這五個行動方針可以具體落實。


基本功

  • 信件內容講究文章精簡、架構清晰及重點明確。

  • 結構化的筆記是邏輯思考能力的象徵。

  • 想法彙整、連結各方論點,並讓分歧意見聚焦。

  • 講究資料的細節,列出結構簡潔的內容,並避免資料有任何疏忽。

  • 說話語調穩重低沉,談話時留意對方在意的事情、瞭解對方的需求,並建立良好的信任關係。

  • 百說不厭的說話能力,相同的內容都能夠抱持著一貫的熱忱。想要讓別人聽的開心,自己就要先樂在其中。

  • 以對所有人都方便的方式來整理資料,就能提高整體的效率。如果資料、檔案都井然有序,要交接給其他人就很容易。


自我管理

  • 早起是自我紀律的象徵。

  • 重視時間:會不會遲到反映出一個人的工作態度,遲到的人代表各方面都沒有責任感。如果團隊工作不遵守時間,會造成整體進度落後。

  • 時間管理:對事情訂定優先次序,重要的事情先做,而不是輕鬆的先做。

  • 注重服裝儀容,提升整體形象。

  • 用錢謹慎、聰明花錢。

  • 健康管理:運動是自我紀律、專注力、持續力的象徵,也是提高工作效率必要的投資。

  • 找到紓解壓力的方式,讓身心靈都能處於健康的狀態,是提高工作生產力的關鍵。

  • 徹底專心,徹底放鬆:在工作的時候徹底專心,而休息時間就盡情放鬆。

  • 養成學習習慣,讓自己每天都有所成長。

  • 累積廣泛的知識:除了工作上的知識,也累積其他領域的知識及技能。


心理素質

  • 自主性的工作:主動找出自己感興趣、能發揮長才,並且對公司和客戶都有好處的工作。
  • 先見之明:以長遠的眼光來思考事物,並做好萬全的準備。
  • 面對競爭,養成危機意識:鞭策怠惰的自己,時常保有危機感、迫切感,使自己發揮潛能到每一項工作上。
  • 做出超乎期待的努力:努力超越自己的極限。

領導力

  • 謙虛為懷、親切待人。
  • 信賴感:對於壞消息,毫不隱瞞地告訴公司和客戶,以確保透明性
  • 重視部屬:讓部屬有被重視的信賴感,並且感受到工作的價值。對於公司內部的向心力會有很大的影響。
  • 讚美能夠提高工作動力:讓部屬有「自己的貢獻被承認」的認同感。適時給予適切的評價,也是上司的重要職責。
  • 以身作則:上司以身教來教育部屬。主管人品端正,組織裡的人也會受到感化而成長。如果上司只會壓榨部屬,或是動口不動手、只挑輕鬆的工作,組織內自然會士氣低落。

自我實現

  • 想做的事情就放手去嘗試:盡情去挑戰所有喜歡的事情,提升自己的人生價值。

  • 不能光靠「喜歡」來選擇工作:如果缺乏才華、無法比別人更努力、做事沒別人講究,就很難與對手競爭。換句話說,重要的是瞭解自己的強項,找到自己的天賦,工作才能做得長久。

  • 「為了什麼而做」的目的性,比「做什麼」來的重要:努力於目前的工作,它就有可能變成你的天職。有些人因為偶然入行,經過長時間努力,做出比別人出色的成績,獲得好評後才慢慢成為天職。

  • 以一流公司為目標:要有「在某個領域不能輸給其他人」的決心。

很多人可能都被問過這樣一個問題,「你究竟想要做什麼」?

相較於其他人的期待,你更應該過屬於自己的人生。不需要為了滿足他人的價值觀和期待而活,重視自己的人生,從事你最想做的工作。


別再相信成功者的話

這本書會教導我們九種在職場上的競爭能力,當你保有職場競爭力,就容易保有薪資:保有薪資,就會保有事業頭銜:如果你對職場競爭、挑戰駕輕就熟,快樂也會如影隨形。


自信心是找工作的王牌

面試的時候,雇主通常很在意應徵者的自信心、企圖心與積極進取的學習態度等等。這些求職者的精神內涵。

自信堅定的語氣常被聯想到「有能力」,因此充滿自信的去面試是非常重要的,在面試的過程中,對於自身的專業技能的回答充滿自信、對於不懂的技能表達學習的興趣,向雇主證明證明你履歷上的東西,是可以運用在工作上的。


溝通協調的藝術

溝通是為了達成某個目的所採取的一種方法,希望對方更瞭解、認同自己的立場,甚至改變他人的決策。

良好的溝通是雙向的,首先要聆聽他人主觀的期待、目標與感受,然後,才能要求對方也聆聽自己的主觀感受。如果雙方都不理解該如何溝通,開始了互相辱罵、指責、埋怨對方,衝突會持續升級,結果因為小事不歡而散。

溝通不僅是一個人展現自我價值的能力,更是體現你是否值得合作的關鍵,一旦培養好溝通協調的能力,將有助於你在團隊合作上更有效的達成目標。


目標計畫

所謂「目標計畫」是針對主管交代的任務,訂出一個工作目標,然後針對工作目標,訂出一個工作計畫,最後在執行過程中,隨著實務現況動態調整計畫內容和流程,以求最終達成「目標計畫。」

工作計畫就是將最終的目標轉變成為一連串可執行的任務,工作計畫能清楚掌握流程、控管任務執行時間。

比如說,工作目標是「撰寫行銷企劃案」,那麼,可執行的工作計畫可能會是:

行銷方案的目的是什麼?

所行銷產品的定位是什麼?

行銷的銷售標準為何?

工作計畫必須是一個條理分明的時間計畫表,將眾多繁瑣的任務做有計畫的安排與執行,按計畫照表操作,而當計畫執行中出現問題,或是有緊急的計畫出現耽擱了另一個計畫的執行時間,這時候,交錯的執行不同的任務計畫,並能彈性的調整不同目標的優先次序就很重要了。


激勵心法

好的主管要懂得員工的能力和需求,更要懂得組織所授予的任務和計畫。一方面有能力不同的部屬,另一方面,有上面組織交辦的任務,如何協調團隊成員來達成任務,就是一個主管所需要做的事情。

正確的激勵是要鼓舞部屬發揮優勢能力,運用其能力去執行組織命令,並由部屬設想有效率的工作目標。

當目標能有效率的切割為能符合部門不同成員的個人目標時,這個主管就有效達成了領導管理這件事情,並能徹底激勵部屬向前衝刺,以達成團隊目標。


自我行銷

自我行銷的重點,是要突出一個人的「專業口碑」與「自我形象」

專業口碑指的是一個人在職場上的專業能力、技術和解決問題的卓越能力。自我形象則是一個人的道德操守、內涵及特質。將這兩點表裡一致的實踐出來就是所謂的自我行銷。


快樂之道與工作的價值

傳統職場管理有所謂的X理論、Y理論與Z理論。

X理論認為:「人性好惡勞,都不喜歡工作,而管理者必須採用強制的懲罰措施,迫使他們為達到組織目標而工作。」這是一種從人性本惡出發的職場觀點。

1、員工都是厭惡工作、懶惰並推卸責任。

2、因為員工不喜歡工作,因此必須以懲罰來強迫、控制或威脅他們朝向組織目標工作。

3、大多數的員工視工作保障為第一優先,並無具備進取心。


Y理論認為:「人性是積極、勤奮且具有責任心的,人們樂於接受任務,而且會主動承擔責任,以追求自我實現。」這是屬於人性本善的職場理論。

1、員工視工作如同休息或娛樂一般自然。

2、員工如能認同工作目標時,即能做到自我監督及自我控制。

3、一般的人都能學會接受甚至主動承擔責任。


Z理論認為:「人性無善惡,當人們未達經濟基本需求時,會努力工作;假設人們一旦達到經濟需求的基本安全感,就會努力提升生活的價值,尋求一個可以發揮創造力及生產力的工作場所。」這是屬於人性化的管理。

1、 制度與人要兼顧:X理論著重制度,而Y理論則著重人,均各有所偏,因此制度與人要兼顧,才是合理。

2、懲罰與激勵要兼用:X理論視人天性偷懶、不喜工作,故採取懲罰手段;Y理論視人天性勤快、喜歡工作,故採取激勵手段;Z理論則認為有些人須用激勵,有些人須用懲罰,視對象不同,所用的手段因人而異。

3、生理與心理需要並重:X理論重視人類生理需要的滿足,故主張以高薪和良好工作環境來吸引人才;Y理論重視人類心理需要的滿足,故主張以參與式管理和民主式領導來激勵員工;Z理論則兼重人們的生理與心理需要同時兼顧。

因為人存有極大的個別差異,對工作責任感的體會亦有所不同。一般人是為了追求自己需要的滿足而工作,因此主管與部屬之間必須建立在人性基礎上,創造制度化與和諧的工作環境。

Z理論指在組織與成員相互間存在的一種高度責任、信任與相互支持信念,同時也要強調對團體的忠誠,並依據企業的實際狀況,因地制宜地實施最符合企業和員工利益的管理方法。


參考文獻

  1. X理論 - 教育百科

  2. Y理論 - 教育百科

  3. Z理論 - 教育百科

  4. 淺探『激勵制度理論』

  5. 營造自由而不放任的環境,讓員工盡情釋放潛能 | 經理人

哈佛的5堂大腦行為學 思考的藝術

本書提及「哈佛大學十分注重培養學生的思維能力」,點破我們長年的思維錯誤以及癥結點。在這個資訊爆炸的時代,如何有效地獲取知識並做出正確決策,達到全面性的思考。


美國心理學家斯賓塞‧約翰曾說:「要做出一個更好的決策,首先要停止執行一個錯誤的決策。」

雖然我們都無法在每次的決策中,讓事情往更好的方向發展,但要盡量降低錯誤決策發生的機率。

希拉蕊曾說:「人生就是不斷的在做抉擇,而我們的選擇,以及怎樣處理自己的選擇,將決定我們成為什麼樣的人。」


提問的能力

愛因斯坦曾說:「解決問題可能只是技巧,而提出新的問題卻需要創造性的想像力,提出問題比解決問題更為重要。」

如果想要解決問題,那你一定要學會如何問問題。提問可以讓人思緒清楚、激發創意,並找出做事的新方向。

彼得杜拉克說:「過去的領導者可能是一個知道如何解答問題的人,但未來的領導者必將是一個知道如何提問的人。」


試著接受「不只一個答案」的解答

哈佛大學第24任校長內森‧馬什‧普西說:「一個人是否具有創造力,是一流人才和三流人才的分水嶺。」

對於生活中的許多事物,解決問題的方法或答案常常不只一種。若決策者認為問題只有一個解決方案,那麼在找到某個答案之後就會停滯不前,放棄繼續探索事物的動力,而擁有創造性思維的人總是努力吸取各種新知識,靈活運用思維將是邁向成功的第一步。


以下分享書中決策者必須培養的想像力與思考力,運用以下4個技巧找出嶄新方法:
1、擁有懷疑一切的精神
2、努力探索一切的不可能
3、盡量運用發散思維,設想眾多可能性
4、不斷重新評估

決策者在面對很多問題時,容易受到自己思維的限制,因此要保持良好的創新能力,當發現問題時,就能找到與眾不同的解決方式。

換位思考

哈佛教授經常引用這句話來教育學生:「無論面對怎樣的災禍與不幸,都要學會樂觀地面對,只要能夠換一種心態,換一個角度看問題,生活便能充滿陽光和歡樂。」

很多看似無法解決的問題,換一個思考方式,最後的結果可能完全不同。

有一句英國諺語說:「想知道別人的鞋子是否合腳,只要穿上別人的鞋子走一英里就行了。」

它的基本意思是說,你要想真正瞭解別人,就要學會站在別人的角度來看問題。如果決策者懂得換一個心態來看待問題,對解決問題來說有利無害。


心向作用

在瞭解他人或事情的真相時,我們很容易被「第一印象」影響,陷入了表面的認識,甚至被偽裝的假象迷惑。由於先入為主的思想,以及資訊量不足的情況下,會對事情產生偏見而影響決策,這種固有的心理狀態、習慣或態度,又稱為「心向作用。」

例如看到員工上班時無精打采、表現失常,主管可能就會對該名員工印象不好,甚至會有「懶惰不負責任」的評價,但事實是家人生病,造成員工精神焦慮,而得不到充足的睡眠時間,所以工作上就無法專心。如果主管因為員工的表現而進行懲處,也不去瞭解背後的原因,就有可能會失去一位優秀的員工或造成更大的反彈。


內群體偏好

心理學研究發現,心懷偏見的人或多或少都出現過歧視行為,這是一種內在本能。以貌取人、種族歧視、歧視身心障礙人士等行為是怎麼形成的?

現代心理學研究證明,歧視是人們內心的一種保護性偏見,可以幫助人類檢測和預防疾病。由於肉眼無法看見病菌,只能透過心理機制避免潛在的感染。哥倫比亞大學心理學教授馬克‧沙勒指出,歧視行為是大腦的預防醫學,幫助人類對於周圍異常事物提高警覺。

比方說,看到有人流鼻涕、或是臉上有大片色斑等不正常的情況,人們會懷疑是某些疾病的特徵,並保持安全距離,以免受到病菌威脅。即使那些人不一定會對自己的健康構成威脅。

另外,一項針對美國「厭惡種族主義」的長期研究指出,這些群體的成員聲稱自己是平等主義者,但仍然會有種族歧視行為,比方說,相對於黑人,他們還是更願意幫助白人。


決策者總是容易受到歧視行為而影響判斷,因此必須盡量克服這些錯誤認知,以達到最好的決策。

心理學家發現一個消除偏見的絕佳方法,就是發揮觀察力及想像力

決策者透過細微的觀察,以不同角度看待決策過程,並分析事物的本質來徹底消除偏見。想像力可以透過閱讀書籍、美術、音樂舞蹈等等來培養,將原先抱有偏見的事物產生新的認知,讓看事情的角度更客觀。

減少危機

我們經常聽到人們抱怨:「如果早知道,就不會發生這樣的事情了。」

在決策中只要提前做好預防,就能應對可能隨時出現的危機,不至於影響到最終的決策結果。決策者能事先分析潛在的危機,並制定相關的「危機管理」方案,以利危機發生時可以立即根除。


遠離錯覺

美國前總統巴拉克‧歐巴馬曾說:「不能讓失敗來定義你,你必須把失敗當作導師,並讓失敗經驗指引你如何在下一次有不一樣的作為。」

在資訊大爆炸時代,如何有效的獲取、整理及分析資訊,並做出最正確的決定,是決策者需要思考的一個重要議題,擁有的可利用資訊越多,出現對事物不確定性的錯覺就會越少,因此預防錯覺最好的方法,就是擁有充足的資訊量。


過度自信

微軟總裁比爾‧蓋茲說:「世界不會在意你的自尊,人們看的只是你的成就。在你沒有成就以前,切勿過分強調自尊。」

美國知名作家奧格.曼狄諾說:「一個人想要獲得成功,必須具備的特質有很多種,其中最重要的就是自信心。」

決策者若是缺乏自信,就會在面對各種選擇是猶豫、徬徨,造成嚴重後果,甚至錯失良機。但當人們過度高估自己的能力時,則會出現過度自信的情況,當過度自信發生時,決策者只看到對自己有利的資訊,對未來可能發生的情況,表現得過於自信與樂觀,而無法準確地判斷事物的真理。


雞尾酒效應

我們在進行決策時,倚靠的是各種符合邏輯或根據個人信念,加上綜合各項因素的推理,然後才做出行動,但實際上有許多決策的因子會影響我們的判斷。比方說,當你抬頭看牆上的時鐘一時,是不是會覺得秒針在你看它的第一秒鐘走得特別慢?膽小的人走夜路時,誤把樹木看成人形、或把自己的腳步聲以為有人緊緊跟在背後。

在上述的例子中,雖然人們沒有意識到這些因素的存在,但事實上大腦仍然接收、處理了這些訊息,而且這些無意識的訊息也在不知不覺中影響人們的決定或行為。

每一個人幾乎都有過這種經驗,特別是在聚餐、酒會等公開社交場合上。你正在專心和朋友聊天,周圍有有談話聲、音樂聲,儘管周圍的噪音很大,我們還是可以聽到朋友說的內容,更特別的是,這時候,如果遠處有人提到你的名字,你也會馬上注意到。這就是所謂的「雞尾酒會效應」(Cocktail Party Effect)或「雞尾酒會現象。」


人的注意力有兩種特徵,集中性與指向性

集中性:當意識或心理活動專注於某個事物時,注意力會在這個事物上集中起來。

指向性:當意識或心理活動選擇某個事物時,會忽略其他事物。

我們的注意力是有選擇性的,當我們全神貫注於某一件事情或目標時,往往以最重要、最感興趣的資訊為主要關注對象,而忽略不在原本預期的事物,甚至是視而不見。

記憶錯覺

很多人相信,當你一旦經歷過某事件並形成記憶之後,那份記憶就永遠不會改變。不過,美國的心理學家伊莉莎白‧羅芙托斯卻說:「即使我們深信不疑的記憶,也不一定真實存在。」

像平常生活中,我們明明記得好像沒有關門,但回去看時卻已經關了。又或是明明記得小時候做的一些事情,但卻被父母否定從未發生過。


我們的記憶都具有重構性,在儲存記憶的同時,也可能會將虛假的資訊同時收納進來。

人們的記憶不像影像記憶那樣精確且真實,容易出現錯誤,因為人們對之前所經歷事情的記憶,會因為後來的事情,而產生一定程度的修正。這種現象在生活中也十分常見,就算人麼經歷相同的事情,也會在各自的記憶中出現不同程度的差異。

但是,如果是在一些重大決策中,記憶的可信度卻常常會攸關生死。無論是「雞尾酒效應」或是記憶錯覺,都是在告訴決策者,要盡量避免錯覺的影響,使自己在決策的過程中走向偏路。


排解壓力

哈佛大學心理學家博士丹尼爾‧戈爾曼說過:「在決定一個人是否成功的關鍵要素中,智商的作用只占二O% ,而情商的作用卻占八O%。」

情商(EQ)又稱情緒智力,它主要是指認識自我,控制情緒,激勵自己以及處理人際關係等相關的個人能力。

高情商的人比較能注意到自己的內在狀態,也比較能管理自身的壓力,就算在高壓力的環境下,也不會因為過度緊張做出太多情緒化的判斷,而導致決策失誤。

情商之父丹尼爾‧戈爾曼(Daniel Goleman)說過:「真正頂尖的領導者並非取決於其能力,而是擁有高情商。」

高 EQ 者對於環境變化的適應力很強,也樂於接受新事物。他們能敏銳察覺他人的內在情緒、注重團隊成員的感受,建立互信並強化凝聚力,透過從其他人的角度看待事物,判斷評估決策結果對他人所造成的影響,進而提升決策品質。


斜槓的50道難題

上一篇分享了「斜槓青年」這一本書,探討斜槓的人生觀以及生活意義。這次想跟大家分享另一本書,書中請到三位成功的斜槓人士,將自身摸索出的經驗,提供一些指南與建議,幫助我們在追求斜槓人生的道路上更加得心應手。


未來趨勢

在 AI 人工智慧、5G、 IOT 時代來臨,許多技術的發展都有顯著的突破,其應用也逐漸滲透到各個領域當中。我們不清楚何時會對我們的工作環境帶來影響,因此要盡速培養不會被取代的能力及價值。面對未來科技的進步,使自己具有創新及多元能力,並發展為跨領域人才,這些特質會是斜槓思維的核心部分。


多重職業、多重收入

許多人認為「斜槓青年」就是「多職」、「兼職」或是「多重收入」,但作者認為其焦點應放在「多重才能」與「多重價值」上。這些才能通常是你的喜好或興趣,例如你很喜歡彈吉他,你可以教任何人而不一定要收費。因為當你具備這些才能,就能夠創造價值,因為是自己喜歡做的事,所以更有學習熱忱,不只是滿足了生活的樂趣也拓展人生的發展性。


斜槓發展

對於想轉換跑道的人,作者建議先穩定原本的工作下在發展斜槓,也就是說,利用多餘的時間去發展第二專長和興趣,讓興趣創造出的價值產生出收入,當收入逐漸達到原本的一半以上時,就可以逐漸轉移重心到後者上,並快速提高後者的收入,當後者收入超越前者時,才考慮是否放棄原本的正職,並投入到新的領域上。

先穩定單槓,再開始斜槓


斜槓思維

何謂斜槓思維,這邊區分了幾種類型:

  1. 多角色扮演

小斜槓概念,工作性質為垂直發展,例如:網站程式設計師、資訊安全工程師、演算法開發工程師。

  1. 跨組織整合

中斜槓概念,工作性質為橫向發展,例如:產品規劃/客戶管理 /生產管理。

  1. 多方位發展

大斜槓概念,工作性質為跨不同領域,成為真正的斜槓工作者,例如:程式設計師、廚師、健身教練、社群編輯。


如果還無法具有多方位發展的能力,建議可以先從多角色扮演的小斜槓,以及跨組織整合的中斜槓來提升自我的競爭力。

斜槓青年

由於目前在服兵役,有一些空閒時間,那不如就趁現在多看點書,累積點知識及智慧。我認為看書的好處很多,例如透過閱讀來獲得書本裡的經驗,思考別人所經歷過的事情,以及對事情的看法來培養自我的理解能力與人生觀,對於之後我撰寫文章也會有所幫助。看書不僅可以讓我保持心情愉悅,也能適時地清理雜亂的思緒和煩躁感,當生活上遇到不如意的事,拾起書本,看著許多激勵人心的故事,讓所有負面情緒都煙消雲散。

斜槓青年一直是近年的熱門的話題,讓我們透過此書來瞭解它的運作概念,以及如何晉身為斜槓青年的一份子吧!



斜槓人生

有人認為斜槓青年就是擁有幾份兼差;或是把它象徵成沒有穩定收入的自由職業,然而成為斜槓青年的目的並非是想要額外的收入,而是為了追求更豐富的人生。過去我們在考量職涯時,基本只上就只會單一發展,根據自身專長及優勢來選擇工作,再慢慢往上爬。然而斜槓青年帶來一種新的思維,透過橫向發展,結合自身愛好與優勢發展多種領域,並獲得多重收入。


利用空閒時間培養新的興趣,例如烹飪、健身、繪畫等等……即使這些嗜好還無法成為穩定收入的來源,但可以讓人生更加充實與圓滿。

多元人生

未來真正優秀的人才,往往是那些有著全面知識結構的專業人才。對於大多數人來說,我們工作上所需要的能力都是一些複雜的綜合能力,例如用戶經營、產品開發等等,它們需要更全面的知識結構與多元技能。不難發現很多年輕人都在利用業餘時間不停地學習,所學的知識不一定與自身的專業領域相關。


財務自由

很多有錢人除了消費較無限制之外和一般人可能毫無區別,也會為了追求更多財富犧牲許多寶貴的事物,像是與愛人、家人相處的時間,以及自身的健康及興趣。

那我們要如何獲得財務自由呢?

財務自由並不表示有足夠的資本,而是取決於被動收入與日常支出的差額。所謂被動收入,就是不需花費太多時間和力氣就能自動獲取,例如銀行存款的利息收入、理財投資等等。而主動收入是必須花費精力才能得到的收入,像是我們平常的工作都是主動收入,這些收入都是用勞力和時間換來的。

如果被動收入穩定且大於日常支出,當我們不用在為錢工作,而是為了自己的興趣工作,就算沒有足夠的財富,也已經實現了財富自由。過自己真正想要的生活,就是財務自由的意義所在。


美好人生

如今越來越多年輕人不再滿足於「單一職業」的生活方式,而是開始藉由多重職業、多重收入來體驗更豐富的生活。從某種意義上來看,「斜槓青年」所提倡的人生就是一種讓自己生活得更快樂,在保留一份穩定工作的同時,也能去探索不同領域的潛在可能性,並找到人生的熱情與意義。

Hexo 備份

我們在使用 Hexo 網誌框架時,會事先在 GitHub 上新增 GitHub Pages 來完成 Blog 搭建,透過輸入 hexo g -d 進行部署,所產生的是靜態網頁並發布在網站上,不過卻沒有備份到 .md 檔案,這樣我們辛辛苦苦寫的文章卻沒有備份到。所以本篇將會說明如何將我們所撰寫的文章,及相關的配置設定一同備份至 GitHub ,這樣當原始檔案遺失時才有機會進行還原,而不是只有 Hexo 所產生出的靜態檔案。

每次透過 hexo g -dmaster 會儲存 Blog 的靜態檔案。

分支建立

因為需要要儲存其它的檔案,所以要先在自己的 GitHub Pages 的 Repository 上建立一個新的分支, Repository 名稱為 username.github.io ,當然你也可以存在別的 Repository 。一開始只會有 master 分支,而這邊示範為在原本的 Repository 上新增 backup 分支。

步驟

初始化這個目錄,進行版本控制。

1
git init

建立新分支 backup

1
git checkout -b backup

Hexo 本身在 .gitignore 中排除了不需要上傳的檔案,所以直接 git add. 即可:

1
2
3
4
5
6
7
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/

將檔案加至暫存區及儲存庫:

1
2
git add .
git commit -m "Commit update"

設定要推上遠端 GitHub Server 的節點:

1
git remote add origin git@github.com:username/username.io.git

可以使用 npm scripts 來執行上面重複的命令:

1
2
3
4
5
{    
"scripts": {
"b": "git add . && git commit -m \"Commit update\" && git push origin master:backup"
}
}

每行命令用 && 符號來分開執行。

之後就可以透過輸入 npm run b 來佈署 .md 檔、主題及相關配置:

1
npm run b

當切換至分支 backup 後就會看到原本在本地的檔案。

git-backup

除了上述方法以外,也可以使用 hexo-git-backup 套件來備份檔案:

安裝套件:

1
npm install hexo-git-backup --save

_config.yml 檔案設定:

1
2
3
4
5
backup:
type: git
repository:
github: git@github.com:username/username.git,branchName
gitcafe: git@github.com:username/username.git,branchName

執行備份:

1
hexo backup

1
hexo b

如果想連主題一起備份的話,可新增 theme 欄位:

1
2
3
4
5
6
backup:
type: git
theme: coney,landscape,xxx
repository:
github: git@github.com:username/username.git,branchName
gitcafe: git@github.com:username/username.git,branchName

如果想要更改 commit 訊息的話,可新增 message 欄位:

1
2
3
4
5
6
backup:
type: git
message: Commit update
repository:
github: git@github.com:username/username.git,branchName
gitcafe: git@github.com:username/username.git,branchName

參考文獻

  1. Hexo 備份 md 檔 - 《Chris 技術筆記》
  2. Hexo備份至GitHub | 大专栏

Markdown editor - MarkText

一開始在撰寫 Blog 都是使用 VSCode 來進行,儘管 VSCode 可以在編寫的過程中即時預覽出渲染的畫面結果,但效率仍然不是很好,就算 Markdown 已經讓我們用很輕鬆的方式來寫 HTML 內容,但仍然要去瞭解一些相關的語法,於是後來就找到一個非常好用的 Markdown 編輯利器 MarkText ,它是一個可視化的 Markdown 編輯器,可以讓你在編寫的過程中非常流暢且迅速,透過互動式介面即可完成很多需要輸入語法才能達成的功能。

首先到官網根據你的系統來下載 MarkText

完成安裝後執行 MarkText ,可以在左上角看到一個設定按鈕,點擊後會有一排選單,倒數第三個選項 Theme 可以根據你想要的風格來更換編輯器主題:

MarkText 功能

接下來介紹 MarkText 的主要功能,當你輸入完一段文字後可以發現最前面有一個符號可以點選,點擊後會跳出選單讓你可以變更該段文字的樣式,不管是標題、副標題、粗體、斜線或是 HTML 及 JavaScript 程式碼區塊都可以設定,讓你用更直覺的方式來編寫 Markdown 。

也可以設定各種清單樣式,或是表格的欄數都能直接設定,撰寫起來非常方便快速:

透過 VSCode 打開 .md 檔案,可以發現剛才在 MarkText 編輯的內容都自動幫你轉成 Markdown 語法:

透過 MarkText 讓你在編寫 Markdown 的過程像在編輯文件一樣方便,就算 Markdown 語法不熟悉也能輕鬆進行編寫。

參考文獻

  1. MarkText 超入門 - 撰寫Markdown的超級利器

JavaScript - 音樂播放器




此範例程式碼同步於 CodePenGitHub

本文教學如何使用 JavaScript 實作簡易音樂播放器,首先建立一個 music 資料夾並將要播放的影音檔放至此資料夾,此範例音樂來源為 youtube Audio Library 無版權音樂。

製作歌曲選單列表

首先將 music 資料夾內的音樂檔名列出,利用 ul 及 li 來製作條列式選單:

1
2
3
4
5
6
7
<ul id="musicSources">
<li>Slug_Love_87</li>
<li>Mosquito_Mojito</li>
<li>Groove_Tube</li>
<li>Loose_Slip</li>
<li>Flutes</li>
</ul>

將 ul 設定 margin-left 與 padding-left 為 0 來取消 ul 左邊的外距與內距,防止 ul 內縮; li 加上 list-style-type:none; 來取消符號顯示。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ul {
background-color: rgb(0, 0, 0);
margin-left: 0;
padding-left: 0;
color: #ffffff;
}

li {
list-style-type: none;
line-height: 30px;
border-bottom: 1px solid rgb(0, 0, 0);
}

li:hover {
background-color: rgb(71, 71, 71);
cursor: pointer;
}

以上語法會產生如下表格:

事件委派( Event Delegation)

如果要替每個 li 都綁定 click event hander ,可以使用 for 迴圈來綁定,也就是有幾個 li 就要加幾次 addEventListener ,之後在新增歌曲還要在綁定一次事件,讓程式碼複雜化。

過去有介紹過瀏覽器事件的運作原理: DOM - 事件處裡及傳遞機制 ,我們可以將 click 事件綁定在 parent 上,藉由 Event Bubbling 來傳遞給 child ,而非直接將事件綁定在 child 上,可以減少監聽器的數量,只要判斷目標(e.target)是哪個項目再去執行即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
window.addEventListener('load', () => {
let musicSources = document.querySelector('#musicSources');
musicSources.addEventListener('click', musicTarget = (e) => {
if (e.target.tagName.toLowerCase() === 'li') {
if (document.querySelector(".musicSpan")) {
document.querySelector(".musicSpan").remove();
}
if (document.querySelector("audio")) {
document.querySelector("audio").remove();
}

let target = e.target; //取得按下的歌曲(li)
const pn = target.innerText; //取得歌曲名稱(文字內容)
let span = document.createElement('span') //建立span元件
span.className = 'musicSpan'; //指定class名稱
span.innerHTML = '4'; //指定span裡的文字(4表示三角形符號)
target.appendChild(span); //放入li元件
playMusic(pn); //播放音樂
}
});
})

我們將 click 事件綁定在 id 為 musicSources 的 ul 上,再利用 e.target.tagName 判斷是不是 li 就可以了,讓程式碼簡潔許多,之後如果新增歌曲一樣會綁定 click 事件。

當按下歌曲時,歌曲前方顯示一個三角形符號

這裡使用 Webdings 字型來產生三角形符號。首先指定字型 font-family: Webdings; ,輸入 4 就是使用三角形符號,在將文字放在 span 內即可。

1
2
3
4
5
6
7
let target = e.target; //取得按下的歌曲(li)
const pn = target.innerText; //取得歌曲名稱(文字內容)
let span = document.createElement('span') //建立span元件
span.className = 'musicSpan'; //指定class名稱
span.innerHTML = '4'; //指定span裡的文字(4表示三角形符號)
target.appendChild(span); //放入li元件
playMusic(pn);//播放音樂

播放音樂

建立 audio 元件並指定路徑來源為 music 資料夾:

1
2
3
4
5
6
7
function playMusic(a) {
let myAudio = document.createElement('audio');//建立audio元件
myAudio.setAttribute("src", "music/" + a + ".mp3");//src 音檔路徑,a為傳入的歌曲名稱
myAudio.setAttribute("controls", "controls"); //顯示撥放器
bottom.appendChild(myAudio); //加入在id名稱為bottom的元件裡
myAudio.play(); //播放音樂
}

當點擊歌曲時就新增一個 audio 元素,點擊其它歌曲時再將原本的 audio 元素移除,暫停和跳轉可以使用 audio 內建的功能。

隨機播放

右上角建立隨機播放按鈕,同樣使用 Webdings 字型來產生樣式:

1
<span id="random" title="隨機播放" onclick="randomPlay()">~</span>

當點擊按鈕呼叫 randomPlay() 函式,使用 random() 來產生 0~4的整數值,將值帶入 li 標籤的 index ,接著再執行 click 事件就會執行播放音樂程式碼:

1
2
3
4
5
function randomPlay() {
let num = Math.floor(Math.random() * 5); //隨機數0~4
let randomLi = document.querySelectorAll('li')[num]; //將值帶入 li 的 index
randomLi.click(); //觸發click事件
}

完整範例執行結果:

參考文獻

  1. JavaScript 精選16堂課:網頁程式設計實作

Web Storage




在介紹什麼是 Web Storage 之前,讓我們來瞭解一下 HTTP COOKIES 的作用。

HTTP COOKIES

Client 和 Server 透過 HTTP 協定來進行通訊,但是 HTTP 是無狀態協定(Stateless Protocol),也就是說每次 Client 對 Server 發出的請求都是獨立的,每一次的請求都無法得知上一次請求的內容與資訊。

我們可以透過 cookie 把 server 所傳送過來的一些資料保存在 Client ,Cookie 常用於會員登入、購物車資訊、使用者設定偏好。

當使用者第一次登入網站, Server 就能將登入的相關資訊進行加密並儲存在 Client 的硬碟或記憶體中,之後 Cleint 發送 request 到 Server 就會附上 Cookie , Server 就可以直接讀取來減少使用者重複輸入資料的行為。

Web Storage 概念

Web Storage 是 HTML5 的新規範,一種將少量資料儲存於 Client 端的技術,只要支援 Web Storage API 規格的瀏覽器,都能透過 JavaScript 操作。

過去 Cookie 只允許每個網站儲存 4KB 的資料,而 Web Storage 可以儲存 1MB ~ 5MB 。 Cookie 在每個 HTTP request 送出時都會被傳送到 Server ,不管有沒有使用到 Cookie 中的資訊,在某種程度上會降低執行的效能與浪費網路頻寬,而且 Cookie 如果沒有加密則不適合放入重要的資訊。

Web Storage 的存取都是在 Client ,與 Cookie 一樣都是使用 key / value 的儲存格式,不會像 Cookie 一樣,隨著 request 發送給 Server 端,因為 Web Storage 只作用在 Client 端瀏覽器,並不會占用頻寬和影響網站效能。

Web Storage 分兩種,一個是 sessionStorage,另一個是 localStorage,兩者主要差別在於生命週期和有效範圍的不同。 localStorage 不會隨著瀏覽器關閉而消失,適合用在需要跨分頁或跨視窗的場合,除非手動清除資料不然關閉瀏覽器後資料還是會一直存在; sessionStorage 則是頁面關閉後資料就會消失,資料只對當前頁面有效,適合用在資料暫時保存的場合。

cookie、localStorage、sessionStorage 異同表

類型 cookie localStorage sessionStorage
大小 4KB 一般為 5MB 一般為 5MB
生命週期 過期或是執行刪除指令才會消失 執行刪除指令才會消失 頁面關閉後會消失
有效範圍 同一網站的網頁都可以存取 同一網站的網頁都可以存取 只有在單一分頁能存取
儲存格式 key / value key / value key / value
連線到 Server 時會自動帶上 不會 不會
安全性 較低 較高 較高

瀏覽器支援 Web Storage

可以透過以下方式來判斷瀏覽器是否支援 Web Storage:

1
2
3
4
5
if (typeof(Storage) !== "undefined") {
// Code for localStorage/sessionStorage.
} else {
// Sorry! No Web Storage support..
}

localStorage

由於同源政策(Same-origin policy)限制,只能存取相同網站的 local storage。

所謂同源是指協定、主機(domain與ip)、埠號 (port) 都必須相同。例如我們有一個網址:http://www.cyting.com/image/page.html ,來判斷下列何者屬於同源:

網址 結果 原因
http://www.cyting.com/image/activity.html 同源
http://www.cyting.com/image/dir/web.html 同源
https://www.cyting.com/prod.html 不同源 協定不同
http://www.cyting.com:8001/dir/region.html 不同源 埠號不同
http://cyting.demo.com/dir/store.html 不同源 主機不同

在 HTML5標準,Web Storage 只允許儲存字串資料,存取方式有以下三種:

setItem & getItem

儲存一個 localStorage 變數 userName ,並指定它的值為 Cyting 。

1
2
let name = "Cyting";
localStorage.setItem('userName',name);

使用 getItem 讀取資料:

1
let value = localStorage.getItem(userName); // Cyting

陣列索引

儲存語法:

1
2
let name = "Cyting";
localStorage.["userName"] = name;

讀取語法:

1
let value = localStorage.["userName"];

屬性

儲存語法:

1
2
let name = "Cyting";
localStorage.userName = name;

讀取語法:

1
let value = localStorage.userName;

刪除 localStorage

透過呼叫 removeItem 或是 delete 來刪除 localStorage。

1
2
3
localStorage.removeItem("userName")
delete localStorage.userName;
delete localStorage["userName"]";

如果是想清除 localStorage 的全部資料,可以使用 clear() 方法。

1
localStorage.clear();

localStorage 實例

程式碼同步於CodePen

使用者輸入姓名後可點擊「儲存至local storage」按鈕將資料儲存起來,當點擊「從local storage讀取資料」時就會讀取剛才輸入的姓名並輸出在頁面上,而「清除local storage資料」按鈕會將儲存的資料進行清空。

1
2
3
4
5
6
7
8
<body>
<br /> 請輸入您的姓名:
<input type="text" id="inputname" value=""><br />
<div id="show_LocalStorage"></div><br />
<button id="btn_save">儲存至local storage</button>
<button id="btn_load">從local storage讀取資料</button>
<button id="btn_clear">清除local storage資料</button>
</body>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
window.addEventListener('load', () => {
if (typeof(Storage) == "undefined") {
alert("您的瀏覽器不支援Web Storage");
} else {
btn_save.addEventListener("click", saveToLocalStorage);
btn_load.addEventListener("click", loadFromLocalStorage);
btn_clear.addEventListener("click", clearLocalStorage);
}
})

function saveToLocalStorage() {
localStorage.username = inputname.value;
show_LocalStorage.innerHTML = "儲存成功!";
}

function loadFromLocalStorage() {
if (localStorage.username) {
show_LocalStorage.innerHTML = "歡迎 " + localStorage.username + " !";
} else {
show_LocalStorage.innerHTML = "暫無資料";
}
}

function clearLocalStorage() {
localStorage.clear();
loadFromLocalStorage();
}

當使用者將瀏覽器關閉仍可以成功讀取資料,因為儲存在 local storage 的資料不會因為關閉瀏覽器而消失。

sessionStorage

sessionStorage 只能保存在單一的瀏覽器視窗或分頁上,瀏覽器一關閉儲存的資料就會消失,主要是用於保存一些臨時的資料,避免使用者重整頁面的時候資料就不見了。使用 sessionStorage 語法與 localStorage 相同。

儲存:

1
2
3
4
let name = "Cyting";
sessionStorage.setItem('userName',name);
sessionStorage.["userName"] = name;
sessionStorage.userName = name;

讀取:

1
2
3
let value = sessionStorage.getItem(userName);
let value = sessionStorage.["userName"];
let value = sessionStorage.userName;

清除:

1
2
3
sessionStorage.removeItem("userName")
delete sessionStorage.userName;
delete sessionStorage["userName"]";

如果是想清除 sessionStorage 的全部資料,可以使用 clear() 方法:

1
sessionStorage.clear();

參考文獻

  1. JavaScript 精選16堂課:網頁程式設計實作

  2. Day20 localStorage、sessionStorage

  3. Cookie、LocalStorage、SessionStorage 差異

  4. [筆記] HTTP Cookies 和 Session 使用

  5. [不是工程師] Cookie 是文檔還是餅乾?簡述HTTP網頁紀錄會員資訊的一大功臣。

  6. [HTML5]簡述HTML5的Client端暫存-localStorage/sessionStorage

  7. [Html 5] WebStorage - localStorage和sessionStorage