2018年3月26日 星期一

電梯簡報法

通常指只用10秒到30秒的時間傳達事情的概要或概況. 可以掌握以下四個要素

  1.  從why開始而不是what開始
  2.  重點在未來的結果而不是當下
  3.  知道和誰談話並預期對方反應
  4.  轉場收尾, 輕鬆的話題或簡單的問候
或者以另外的角度來說
  1.  說明問題 (why)
  2.  介紹腳色 (問題的用戶或解決問題的人)
  3.  提出解決方法
  4.  預期結果


Ref: 1. https://goo.gl/4TKBEZ
        2. https://goo.gl/KaBmpH

Soft Skill節錄

本文主要目的是用來紀錄自己看softskill後獲得的一些感想, 如果有興趣歡迎討論或者自己找書來看:) , 基本上本文每工作日更新.

第一章 職業

2. 把職業當作企業, 如何推廣服務(coding, management), 如何營銷,提升,思考客戶類型,提供整體專業服務
3. 定至少一個大目標, 大目標清晰,用小目標設定通往大目標的道路, 完成小目標(月週日目標), 大目標自己容易看到提醒與反省
4. 學習與人打交道, 讓別人感到自己重要, 永遠不要批評,換位思考, 避免爭吵
5. 面試前:找關 系獲得推薦, 面試中:技術,證明無須督處也能做好
6. 雇員,獨立諮詢師, 創業, 列出你的選擇並了解
7. 定義自己的專業領域,專業化越深,潛在機會越少,獲得機會越大. 選擇專業:有解決過哪些問題, 能專門解決嗎?特定的工作沒人能做或缺有經驗的人?哪些話題最常出現?那些問題你回覆最多?
8. 花時間思考喜歡的工作環境, 大中小公司的區別
9. 晉升:1. 承擔更多責任:負責不受重視的項目, 帶新人, 製作文檔流程, 簡化或自動化 2.引人注目: 紀錄每日活動,發給主管, 提供演講培訓, 發表意見 3.自學: 可以展現出自我價值,分享曝光自己 4. 成為問題解決者 5.關心office政治 但別花太多時間
10. 成為專業人士, 養成良好習慣 ,管理自己的時間.堅持對的事情, 評估事情的優先順序再工作, 追求自我完善達到高品質
11. 辭職前要先有轉型的計畫,準備好為自己工作, 以副業開始創業.追蹤工作時間,  自己創業後真正工作時間比原先長
12. 自由職業者:問認識的人找到客戶, 吸引式行銷:讓潛在客戶主動找上門,免費提供有價值的東西. 通用規則:時薪應該是雇員時期的兩倍, 客戶沒說不行或太貴就提高價格XD
13. 開發產品: 1.先找到客戶 2. 測試市場 3. 從小地方開始 4. 開始
14. 創業:了解退場策略, 創業流程
15. 在家工作的問題 1.時間管理2.自我激勵:建立時間表與routine, 設鬧鐘專心15分鐘 3.孤獨感
16. 假裝能成功,保持自己能成功的心態
17. 如何寫履歷 1. 雇人寫履歷 2.履歷放到網路上,有創意, 以行動-結果表示, 校對
18. 別對單一技術過度狂熱,保持開放心態

第二章 自我銷售

19. 不管職業哪個階段都可以營造與傳播自己的品牌,取決於自己能給別人帶來怎樣的價值,讓人追隨或傾聽你
20. 打造引人注目的品牌, 品牌不只商標,而是對產品或服務的整體預期.品牌是一種承諾. 品牌有四個要素:傳遞的訊息, 視覺符號, 一致性, 曝光度. 創造屬於自己的品牌:定義自己要傳達的信息與市場, 創造口號描述自己的品牌(*電梯簡報法)
21. 創立成功的blog, 除了便宜又簡單的宣傳自己, 可以提高溝通技巧,組織思想轉化為文字.  成功的方法:持續寫, 確保高品質. 不知道寫甚麼可以與別人展開對話或辯論. 提升訪問量可以透過在其他人blog有意義的討論,有機會就分享自己的blog. 社群網路簽名檔放link, 放到網路論壇.
22. 為他人增加價值, 給人們想要的東西.工作成果90%做成免費的,免費的回報更大.可以視為對未來收費的投資
23. 善用社交媒體,培養社交網絡, 提供有用或有趣的信息.保持活躍度:選定特定平台, RD可以選twitter/ LinkedIn而非Facebook/G+.
24. 演講,報告,培訓: 練習演講,先從團隊的分享開始,尋找演講機會.培訓可以建立自己的聲譽
25. 出書,寫書可以營造出專業的形象, 並且提高聲譽. 明確的市場需求, 事前樹立聲譽累積粉絲,準備大綱給出版社. 也有管道可以自行出書
26. 不怕被看成傻瓜, 多練習別放棄, 持續前進並堅持

第三章 學習

27. 自我學習: 大致瀏覽-開始實踐-回頭學習-重新實踐-分享教學他人
28. 十步學習法: 先確定如何開始, 學習範圍, 基礎知識. 十步: 1.了解全局 2.確定範圍 3.定義目標 4.尋找資源 5.建立學習計畫 6.篩選資源 7.開始學習 8.動手做 9.全面掌握學以致用 10.教學
29. 1-6只做一次, 7-10針對5訂立的計畫循環. 第2點將大主題切為小主題 ,第3點定義成功的目標
30. 7.只學可以動手做的部分,別學太多 8.動手做發現問題 9.透過學習解答找到的問題 10.用自己的話教別人
31. 找到一位導師, 1.導師有做到我想做的事 2. 導師有幫助別人做到我想做的 3. 導師取得了可展示的成就 4. 能與導師相處並充滿智慧, 尋找可以透過身邊, 公司前輩或網路上,或交換需求
32. 成為導師: 得到成就感,深入學習與領悟, 徒弟可能會幫到妳,自身成長
33. 教學: 以謙虛的角度看待問題, 以權威的口吻解釋問題. 練習將不連貫的知識組織並說出.
34. 學位:有學位較容易不受職位限制,較容易有進入行業的方法, 沒有也可以考慮認證.
35. 找出自己的弱點:1.哪些工作花最多時間 2.哪些可以改進的重付勞動 3. 哪些沒有理解的東西 4.答不出來的面試題 , 定位問題後花時間學習直到掌握他

第四章 生產力

36. 專注: 練習保持專注, 習慣專注的感覺
37. 提出生產力提升計畫, 從季計畫,月計畫,周計畫(kanbanflow), 日計畫, 將計畫寫成卡片放進日計畫裡, 有變動移動到下個周計畫. 隔一段時間休息
38. 番茄工作法: 設定25分鐘"專注"工作5分鐘休息. 重點是規劃一天要完成幾個番茄鐘並且設定要完成的數量.熟悉了之後會學會如何設置優先順序
39.

2018年1月3日 星期三

Mastering CMake Chapter 3


第一章第二主要說明為甚麼要用CMake與跨平台, UI的使用方式, 在這裡就不說明了. 從這篇開始主要從第三張開始說明我抓到的重點

Chapter 3.1
  • cmake 的最底層是source code, 主要是C 或 C++ . source code可以組成target, target通常是可執行檔或 library . 
  • 目錄用來存放source code並且有一個 CMakeLists檔案, 可以用來產生一個或多個target
  • 每個目錄有一個local generator來負責產生Makefile
  • 所有的local generator共享一個global generator來負責整個build的過程, global generator被cmake 產生並且驅動
  • cmake被command line呼叫後會產生一個cmake class, 並且根據使用的generator (例如 Makefiles in Unix系統) 來產生對應的global generator, 之後便交由global generator來管理每個configuration 與產生所有makefiles,至於產生makefiles則是根據不同的目錄由產生不同的local generator來處理
  • CMakeLists 由 CMake command組成. 每個command是Cmake程式中的一個class, 主要可以分成兩個部分:InitialPass與FinalPass, 
    • InitialPass 將command的參數送進cmake class的instance中, 並且表現出他的操作. 而大部分的command沒有FinalPass, 
    • FinalPass主要是整個專案所有的command的InitialPass都處理完後才會開始處理, 主要是負責一些在InitialPass中還無法使用的global information. 
    • 當所有的InitialPass與FinalPass都載入cmake 中後便可以產生makefiles
Chapter 3.2  Target
  • 整個cmake最重要的就是target, 以下cmake command可以產生target
    • add_library
    • add_executable
    • add_custom_target
  • 舉例來說, 使用a.c, b.c來建立一個靜態library的指令如下
    • add_library(foo STATIC a.c b.c)
      • 在這個指令之後, foo這個target 名稱可以在此專案的其他地方當作library使用
      • add_library選擇的模式有三種, STATIC, SHARED, MODULE
      • 其中Module模式產生的library在大部分的OS中與shared library類似,但在OS X中有差異
      • 如果不選擇模式, 預設會是STATIC, 但可以透過CMAKE設定變數BUILD_SHARED_LIBS來改變預設是STATIC或SHARED
  • target會紀錄general properties, 可以透過set_target_properties , get_target_properties或 set_properties, get_properties來設定或查看, 最常使用的properties是用來設定Link_flags
  • target 使用 target_link_libraries來儲存所需要的library清單
    • target_link_libraries的參數可以是library的名字, library的路徑 或者是透過 add_library指令產生的library名稱
  • 每個CMake產生的library會紀錄所有此library的相依library, 所以可以透過target_link_libraries把 B library link到 CMake產生的A library, 在透過target_link_library把A link到 執行檔E, 這樣E就會link到 lib A與 lib B
Chapter 3.3 Source Files

  • source files的結構與target很像, 主要是用來存filename, extension與 general properties.
  • 可以透過set_source_files_properties 或 get_source_files_properties來設定
  • 常見的properties如下
    • COMPILE_FLAGS : compile flags, 包含 -D或-I
    • GENERATED : GENERATED property表示這個source file是在build的過程中產生的, 這樣cmake在處理相依性時會與一般檔案不同, 因為在cmake開始執行時這些檔案是不存在的
    • OBJECT_DEPENDS : 用來加入這些source file 應該相依的其他檔案, 此指令較少使用
    • ABSTRACT WRAP_EXCLUDE : cmake不直接使用這個properties, 某些loading command或extensions會根據此properties來決定把c++的class包裝成其他語言




待續