定價: | ||||
售價: | 243元 | |||
庫存: | 已售完 | |||
LINE US! | 詢問這本書 團購優惠、書籍資訊 等 | |||
此書籍已售完,調書籍需2-5工作日。建議與有庫存書籍分開下單 | ||||
付款方式: | 超商取貨付款 |
![]() |
|
信用卡 |
![]() |
||
線上轉帳 |
![]() |
||
物流方式: | 超商取貨 | ||
宅配 | |||
門市自取 |
為您推薦
類似書籍推薦給您
【簡介】 走出反覆受挫迴圈最有效的方式,就是改變觀念! 從根源解決問題,解開錯誤思維的束縛,脫穎而出。 破除工作盲點最實用的一本書! 打造將才基因系列暢銷近35萬冊!博客來年度百大暢銷排行榜 經濟部中小企業處「金書獎」、公務人員閱讀推薦書籍 每個人在職場起跑的時間都差不多,但是5年、10年後,位置卻差很多,一大關鍵就是許多人被自己的盲點限制了發展。 職場中所有你覺得不應該、不喜歡的事,可能就是你無法前進的關鍵。錯誤的認知像無形的網,將你套住寸步難行!甚至導向邊緣化…… 觀念影響認知,認知改變態度,態度決定結果 3C教父淬鍊半世紀心法,不藏私貼身傳授 本書作者為聯強國際集團總裁杜書伍。1988年聯強國際成立,杜書伍接任總經理時才36歲,之後不斷開拓成長,發展到亞太第一大資通訊通路集團,也帶領出無數將才。 書中針對職場的制度、組織、能力、職涯、將才共5大面向,透過45則觀念短語,直擊誤區,釐清混淆不清的觀念灰色地帶,許多主管不方便明說的觀念,杜書伍也坦白為你破除盲點。 ● 制度:如何分辨是「政策錯誤」還是「執行錯誤」?如何「從組織的角度」看事情? ● 組織: 「造謠者」有哪些特徵?「愛面子」有什麼後遺症? ● 能力:為什麼「熟悉」不等於「能力」?如何不靠「本能」,用「工具」和「方法」做事? ● 職涯:如何分辨真正的「興趣」跟「熱情」?為什麼「有經歷」不等於「有經驗」? ● 將才:如何區分「潛在機會」與「現成機會」?「專業」與「紀律」的關係是什麼? 每則短語都是一記重擊,徹底打通你的職場任督二脈! (本書原書名:《觀念漫談》,此為新修第二版) 【目錄】 作者序 從「軟體基因」著手 前言 年齡數字的魔咒 第一部 組織與制度認知 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 培訓,就像姜太公釣魚 第四部 職涯認知 28 興趣的本質是一樣的 29 體悟意義與價值,而不斷積極追求,叫熱情 30 「資深」,是資產,還是包袱? 31 有經歷,不等於有經驗 32 與時俱進,否則就有被淘汰的風險 33 改變,是一種經驗,是一種能力 34 閱讀,在預知過往未曾經歷的事物與知識 第五部 將才認知 35 人才永遠不夠!只是你是不是人才? 36 幹部,是浮出來的 37 只有「潛在機會」,沒有「現成機會」 38 沒有紀律,就沒有積極度 39 能力是從面對問題中淬鍊出來的 40 不思考未來,就沒有未來 41 「功高震主」與「恃寵而驕」 42 是授權,不是分權 43 審核權與核決權 44 體認功能單位的「專業支持」與「專業制衡」 45 贏的團隊,就是傾巢而出
類似書籍推薦給您
【簡介】 《打造將才基因》系列套書 《打造將才基因》系列套書暢銷近35萬冊!博客來年度百大暢銷排行榜 經濟部中小企業處「金書獎」、公務人員閱讀推薦書籍 生涯發展,貴在得到良師解惑,在每個關鍵點都能用對力氣 聯強國際集團總裁杜書伍不藏私傳授職涯心法 初出社會,一路在職場跌跌撞撞,就是找不到立足點? 好不容易當上小主管,管理工作卻既難且雜,人的問題尤其讓你頭痛? 晉升中高階幹部後,背負企業成長、轉型的壓力,究竟如何達成目標? 從最基層的「士」,到開始帶領團隊的「將」,這些問題,分別在不同階段考驗每個人,決定我們能否進階到下一個階段,也決定組織當下的競爭力。 比起只能靠自己嘗試錯誤,如果有個貼身教練,一路陪你成長、為你解惑,不啻可以更早站穩腳步,少走許多冤枉路。 一手打造出亞太第一的資通訊電子通路集團,聯強國際集團總裁杜書伍是台灣少數具有國際級影響力的企業家。他從小工程師當起,不斷自我學習,最後成為集團CEO的歷程,尤其具有故事性與激勵性。 從人性本質與管理現場切入,一次解答所有疑難雜症 不同於一般管理理論書,《打造將才基因》套書集結了杜書伍40年來的學習心得與管理實戰精華。它不僅涵蓋人性本質與應用情境,更深入淺出,從基層員工,到初中階主管,乃至於高階管理者,都能有所啟發。 出書至今,《打造將才基因系列》已累計暢銷近35 萬冊!更分別蟬聯博客來年度百大暢銷排行榜,並贏得經濟部中小企業處「金書獎」以及登上公務人員閱讀推薦書單。 將近30萬字、四本著作中,幾乎涵蓋所有自我成長與團隊管理會碰到的各種難題,它是案頭上最好的私房教練,也是一套完整的管理釋疑參考書。 全系列共四本書 職涯奠基 《打造將才基因:善用黃金5年,掌握4大關鍵認知,躋身30%的優勢養成法》 針對進入職場的最初黃金五年,就新鮮人如何適應職場生態、理解組織運作、發展個人能力,提出實用主張。是協助個人自我培養,打造扎實基本功的第一本書。 管理進階 《將將:架構組織,建立流程,影響行為,高績效經理人的全方位養成法》 新手主管扭轉劣勢的具體行動指南。本書就組織建構、部門管理、政策落實、組織氣候等層面,提出管理框架,讓經理人擺脫帶人手忙腳亂的窘境,可按部就班,循序漸進推行。 態度養成 《觀念的力度:破除工作的盲點,釐清困惑,從思維植入優秀的基因》 當升遷之路出現斷層時,阻礙你的未必是能力,反而是混沌不清的觀念。 本書從職場制度、組織、能力、職涯、將才等五大面向,藉由45則觀念短語,直指常見的心態盲點,改變錯誤認知,協助你搬開升遷大石。 提升決策 《深思考的鍛鍊:透視本質,化繁為簡,建立觀點,從根源提升解決問題的能力》 懂得深思考,看穿表象之下的本質,無論工作與人生,都會少掉很多不必要的煩惱。 本書除闡述如何打破習以為常的慣性,養成深思考的具體步驟外,並運用深思考來檢視48則關於自我修練、團隊領導、制度設計、識人選才的課題。藉由在閱讀中演練,讓深思考從此成為你的管理DNA。 【目錄】 《打造將才基因:善用入職場黃金5年,掌握4大認知,躋身前30%的優勢養成法》 推薦序 人才競爭的世紀 殷允芃 作者序 觀念普及,是組織躍升的動能 導言 如何閱讀「聯強EMBA」 第1部職場的基本態度與信念 第2部能力的正確認知 第3部制度是know-how還是束縛? 第4部將才的條件 附錄一:躋身組織的前30%關鍵人才 附錄二:不停換工作,只會浮在半空中 《將將》:架構組織,建立流程,影響行為,高績效主管的全方位養成法》 作者序 一將功成萬骨枯 人資序 如何使用本書做主管訓練 黃惠娟 第一部 主管意識 第二部 分工與組織建構 第三部 部門管理與政策落實 第四部 組織行為與組織氣候 第五部 如何提升組織溝通效能 第六部 選才觀念 第七部 訓練與引導 第八部 培養幹部與潛力人才 《觀念的力度:破除工作的盲點,釐清困惑,從思維植入優秀的基因》 作者序 從「軟體基因」著手 前言 年齡數字的魔咒 第一部 組織與制度認知 第二部 組織行為 第三部 能力提升 第四部 職涯認知 第五部 將才認知 《深思考的鍛鍊:透視本質,化繁為簡,建立觀點,從根源提升解決問題的能力》 導論 淬鍊深思考:打破習以為常的慣性 自序 一本建議不要一次讀完的書 第一部 自我修練 第二部 團隊領導 第三部 制度設計 第4部 識人選才
類似書籍推薦給您
【簡介】 提升決策品質必讀的一本書! 打造將才基因系列暢銷近35萬冊!博客來年度百大暢銷排行榜 經濟部中小企業處「金書獎」、公務人員閱讀推薦書籍 工作總是困難重重,想不出來切入點? 絞盡腦汁得出的結論,最後卻發現根本是錯的? 找不到解方的關鍵,可能不是出在問題太難,而是你的思考力不夠。 卓越與平庸經理人的分野在哪裡?莫過於思考的品質。 有些人對凡事都具備遠見,能想得深、走得遠;有些人卻只能看見片斷的表象,結果總是做出膚淺、錯誤的決策。於是,愈強的執行力,反而只會帶來愈大的災難。 就像呼吸與深呼吸的差別,單點與片面的思考已不足以因應這資訊爆炸的年代。要想不迷途、不盲目、做出正確的決定,你需要能打破習以為常的慣性、深度解讀表象下本質的「深思考」。 思考左右決策、決策帶動行動、行動決定成果 3C通路教父淬鍊半世紀心法,不藏私傳授 帶領亞太第一大資通訊通路集團、聯強國際集團總裁杜書伍透過本書,從40年的管理歷練中,歸納出深思考的概念、步驟、到練習與深化。 杜書伍指出:「真正的深思考,指的是反覆追問事物的內涵,仔細去拆解現象,釐清背後的意義。甚至,深思考指的不是一次思考就結束,而是多次、階段性、長期性的思考。」 杜書伍的思考歷程與結果,展現在他對經營心得撰寫的精煉文字裡。每一則都是他經過深思考後的實際演練。 本書針對如何培養深思考提出具體步驟,並就自我修練、團隊領導、制度設計、識人選才四大面向,闡明經理人應該具備的思考邏輯,以及如何看待遇到的各種難題。 1、 自我修練:如何打破負面思考的慣性,不要凡事跟自己過不去? 2、 團隊領導:怎樣改變部屬認知,用正確觀念帶動團隊進步? 3、 制度設計:如何透過制度與工具,提高工作效益,並讓下屬有成就感? 4、 識人選才:擺脫「單點拍板」的盲點,建立一套「系統化」讀人識人的流程。 運用深思考,對問題抽絲剝繭、化繁為簡將非難事,你的眼界也將跟著豁然開朗! 【目錄】 導論 淬鍊深思考:打破習以為常的慣性 自序 一本建議不要一次讀完的書 杜書伍 第一部 自我修練 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 學習管理理論不難,運用適切很難 28 政策制度的落實,是主管的能耐與擔當 第三部 制度設計 29 「末位淘汰制」的精神内涵 30 績效,包含個人績效、部門績效與公司績效 31 績效是有包底的 32 薪資反映「能力」,獎金反映「績效」 33 薪酬,是能力導向?還是職位導向? 34 薪酬制度,不能成為怠惰者的溫床 35 不要陷入:以「特例」當「通例」 36 營運會議,就是「功能整合會議」 37 月報制度,是培訓「六大根源能力」的機制 38 從「月報」聽其言,觀其行,理其思 39 「月報制度」執行方式的省思與變通 40 「化繁為簡」 才有執行力,才有落實度 第四部 識人選才 41 招募,不要被唬了! 42 找人前,先對「應徵市場」有正確的認知 43 「內行」才「識貨」 44 不要用,愛貪小便宜的人 45 不要用,太愛錢的人 46 不要用「困在高薪狀態」的人 47 「喜歡用自己人」背後潛藏的黑洞 48 「人資政策落實」是所有政策落實的基礎
類似書籍推薦給您
內容介紹 ▍AI 界扛霸子 NVIDIA 的深度學習 (Deep Learning) 指定教材! ▍GPT、Transformer、seq2seq、self-attention 機制...大型語言模型 (LLM) 背後的先進技術「硬派」揭密! 近年來,在 NVIDIA (輝達) GPU、CUDA 技術的推波助瀾下,深度學習 (Deep Learning) 領域有著爆炸性的成長,例如最為人知的 ChatGPT 正是運用深度學習技術開發出來的當紅應用。 【★學深度學習,跟 AI 重要推手 - NVIDIA 學最到位!】 除了硬體上的助益外,為了幫助眾多初學者快速上手深度學習,任職於 NVIDIA 的本書作者 Magnus Ekman 凝聚了他多年來在 NVIDIA 所積累的 AI 知識撰寫了本書。除了介紹深度學習基礎知識外,也包括此領域的最新重要進展。本書同時也是 NVIDIA 的教育和培訓部門 -【深度學習機構 (Deep Learning Institute, DLI)】 指定的培訓教材 (https://www.nvidia.com/zh-tw/training/books/)。 要學深度學習,跟深度學習的重要推手 NVIDIA 學就對了!眾多紮實的內容保證讓你受益滿滿! 【★機器視覺、生成式 AI 語言模型 100% 從零開始打造!】 在深度學習的教學上,本書將從神經網路的底層知識 (梯度下降、反向傳播...) 介紹起,帶你打好深度學習的底子。接著會介紹用 Colab 雲端開發環境 + tf.Keras 建構、調校多層神經網路,以及經典的 CNN (卷積神經網路) 圖形辨識模型建構...等機器視覺主題。最後則邁入自然語言處理 (NLP) 領域,在介紹完基本的 RNN / LSTM 知識後,以先進的 Transformer、GPT...語言模型架構做結。 尤其自從 ChatGPT 爆紅之後,自然語言處理 (NLP) 一直是深度學習的熱門研究話題,而這部分正是本書最精彩之處! RNN / LSTM 神經網路雖然問世已有一段時間,現今一些先進的 NLP 模型或許不會用它們來建構,但由它們衍生出來的 hidden state (隱藏狀態) 概念可說是重中之重,我們會帶你好好熟悉,以便能跟後續章節順利銜接上。 之後則會利用各種神經網路技術帶你實作【多國語言翻譯模型】、【Auto-Complete 文字自動完成模型】...等範例。從處理原始文字訓練資料 → 切割資料集 → 建構模型 → 模型調校、優化,從頭到尾示範一遍,帶你紮穩大型語言模型 (LLM) 的建模基礎。 令小編最印象深刻的是,本書所設計的 NLP 章節內容可說是「環環相扣」,從 RNN / LSTM 章節初次觸及 NLP 模型開始,次一章的模型架構幾乎都是為了解決前一章模型的特定問題而生的。這種層層舖墊的獨到方式能讓你深刻理解 RNN / LSTM / seq2seq / encoder-decoder / attention / self-attention 機制...等技術的發展脈絡,對於看懂 Transformer、GPT 等最先進的神經網路技術有莫大的幫助,這絕對是其他書看不到的精彩內容! 本書特色 □【徹底看懂 ChatGPT 背後核心技術 - GPT 的模型架構】 GPT、Transformer、encoder-decoder、seq2seq、self-attention 機制、attention 機制、query-key-value 機制、Multi-head、位置編碼 (positional encoding)、預訓練 (pre-train)、微調 (fine-tune)...各種建模技術輕鬆搞懂! □【生成式 AI 語言模型 100% 從零開始打造!】 ‧用 Colab + tf.Keras 實作多國語言翻譯模型、Auto-Complete 文字自動完成模型 ‧從處理原始文字訓練資料 → 切割資料集 → 建構模型 → 模型調校、優化,從頭到尾示範一遍,帶你紮穩大型語言模型 (LLM) 的建模基礎 □【深度學習基礎知識學好學滿】 ‧紮穩根基!不被損失函數 / 梯度下降 / 反向傳播 / 正規化 / 常規化…一拖拉庫技術名詞搞的暈頭轉向! ‧深度神經網路基礎 / CNN / RNN / LSTM...概念詳解。 ‧多模態學習 (multimodal learning)、多任務學習 (multitask learning)、自動化模型架構搜尋...熱門主題介紹。 □詳細解說, 流暢翻譯 本書由【施威銘研究室】監修, 書中針對原書進行大量補充, 並適當添加註解, 幫助讀者更加理解內容! 書籍目錄 Ch01 從感知器看神經網路的底層知識 1-1 最早的人工神經元 - Rosenblatt 感知器 1-2 增加感知器模型的能力 1-3 用線性代數實現神經網路模型 Ch02 梯度下降法與反向傳播 2-1 導數的基礎概念 2-2 以梯度下降法 (gradient descent) 對模型訓練問題求解 2-3 反向傳播 (back propagation) Ch03 多層神經網路的建立與調校 3-1 動手實作:建立辨識手寫數字的多層神經網路 3-2 改善神經網路的訓練成效 3-3 實驗:調整神經網路與學習參數 Ch04 用卷積神經網路 (CNN) 進行圖片辨識 4-1 卷積神經網路 (CNN) 4-2 實作:以卷積神經網路做圖片分類 4-3 更深層的 CNN 與預訓練模型 Ch05 用循環神經網路 (RNN、LSTM...) 處理序列資料 5-1 RNN 的基本概念 5-2 RNN 範例:預測書店銷售額 5-3 LSTM (長短期記憶神經網路) 5-4 LSTM 範例:文字的 Auto-Complete 機制 Ch06 自然語言處理的重要前置工作:建立詞向量空間 6-1 詞向量空間的基本知識 6-2 做法(一):在神經網路建模過程中「順便」生成詞向量空間 6-3 做法(二):以 word2vec、GloVe 專用演算法生成詞向量空間 Ch07 用機器翻譯模型熟悉 seq2seq 架構 7-1 機器翻譯模型的基本知識 7-2 機器翻譯的範例實作 7-2-1 tf.Keras 函數式 API 簡介 7-2-2 建構模型前的工作 7-2-3 建構模型 7-2-4 訓練及測試模型 7-2-5 實驗結果 Ch08 認識 attention 與 self-attention 機制 8-1 熟悉 attention 機制 8-2 認識 self-attention 機制 8-2-1 self-attention 的基本概念 8-2-2 self-attention 機制的算法 8-2-3 multi-head (多頭) 的 self-attention 機制 Ch09 Transformer、GPT 及其他衍生模型架構 9-1 Transformer 架構 9-1-1 編碼器端的架構 9-1-2 解碼器端的架構 9-1-3 Transformer 內的其他設計 9-1-4 小編補充:觀摩 keras 官網上的 Transformer 範例 9-2 Transformer 架構的衍生模型:GPT、BERT 9-2-1 認識 GPT 模型 9-2-2 認識 BERT 模型 9-2-3 其他從 Transformer 衍生出的模型 附錄 A 延伸學習 (一):多模態、多任務...等模型建構相關主題 附錄 B 延伸學習 (二):自動化模型架構搜尋 附錄 C 延伸學習 (三):後續學習方向建議 附錄 D 使用 Google 的 Colab 雲端開發環境
類似書籍推薦給您
內容簡介 ☆★341張圖例,一次弄懂電腦底層運作的原理★☆ ☆★重點說明作業系統、處理程序、執行緒、程式碼協同底層架構★☆ ☆★從前模模糊糊,似懂非懂的概念,竟然一本書就打通,全腦舒暢,寫程式每個字都知道在做什麼!★☆ 全書共分6章。 第1章闡述了程式語言的概念和編譯器的工作原理,解釋了程式碼生成可執行程式的過程。 第2章著重於程式執行時期,介紹了作業系統、處理程式、執行緒等概念,並強調回呼函式、同步、非同步、阻塞、非阻塞等對程式設計師的重要性。 第3章帶領讀者認識記憶體的作用,深入探討了指標、堆積區域、堆疊區域等記憶體相關概念,並介紹了函式呼叫的實現原理和記憶體分配器的方法。 第4章詳細介紹了電腦系統中最重要的CPU,包括其實現原理、數字識別方式和演變歷程,並解釋了複雜指令集和精簡指令集的出現原因,以及如何利用CPU和堆疊實現函式呼叫、中斷處理、執行緒切換和系統呼叫等機制。 第5章深入講解了電腦系統中的cache,解釋了cache的必要性,並提供了程式設計師編寫cache友善程式的建議。 第6章關注I/O(輸入輸出),介紹了電腦系統實現I/O的過程,解釋了在程式中呼叫read函式時底層的讀取過程,同時提供了高效處理I/O的建議。 本書的特色,就是用最簡單的方式,讓程式設計師快速了解程式執行過程中底層細節的理解和心智模型,以及電腦系統的奧秘。 現代電腦系統被層層抽象,程式設計師在高階語言中撰寫程式時不必關心底層細節,但當遇到較為複雜的問題時,對底層的理解不足會讓解決問題變得困難。而程式設計高手則能輕易解決這些問題,因為他們清楚自己的程式對電腦系統的影響,擁有深入的心智模型。 本書通過視覺化的方式呈現內容,擁有多達341張圖片來解釋相關內容,使閱讀更加直觀易懂。同時使用通俗易懂的語言,從概念的起源開始解釋,讓讀者不僅了解是什麼和為什麼,還能理解其中的來龍去脈,降低對內容的門檻。 這本書旨在幫助讀者建立更深入的心智模型,揭示電腦系統底層的奧秘,讓程式設計師能更有效地解決問題並提升技能水準。 目錄 第1章 從程式語言到可執行程式,這是怎麼一回事 1.1 假如你來發明程式語言 1.1.1 創世紀:CPU是個聰明的笨蛋 1.1.2 組合語言出現了 1.1.3 底層的細節 vs 高層的抽象 1.1.4 策略滿滿:高級程式設計語言的雛形 1.1.5 《全面啟動》與遞迴:程式的本質 1.1.6 讓電腦理解遞迴 1.1.7 優秀的翻譯官:編譯器 1.1.8 直譯型語言的誕生 1.2 編譯器是執行原理的 1.2.1 編譯器就是一個普通程式,沒什麼大不了的 1.2.2 提取出每一個符號 1.2.3 token想表達什麼含義 1.2.4 語法樹是不是合理的 1.2.5 根據語法樹生成中間程式 1.2.6 程式生成 1.3 連結器不能說的秘密 1.3.1 連結器是運行原理的 1.3.2 符號決議:供給與需求 1.3.3 靜態程式庫、動態庫與可執行檔 1.3.4 動態庫有哪些優勢及劣勢 1.3.5 重定位:確定符號執行時期位址 1.3.6 虛擬記憶體與程式記憶體分配 1.4 為什麼抽象在電腦科學中如此重要 1.4.1 程式設計與抽象 1.4.2 系統設計與抽象 1.5 總結 第2章 程式執行起來了,可我對其一無所知 2.1 從根源上理解作業系統、處理程式與執行緒 2.1.1 一切要從CPU說起 2.1.2 從CPU到作業系統 2.1.3 處理程序很好,但還不夠方便 2.1.4 從處理程序演變到執行緒 2.1.5 多執行緒與記憶體分配 2.1.6 執行緒的使用場景 2.1.7 執行緒池是運行原理的 2.1.8 執行緒池中執行緒的數量 2.2 執行緒間到底共用了哪些處理程式資源 2.2.1 執行緒私有資源 2.2.2 程式區:任何函式都可放到執行緒中執行 2.2.3 資料區:任何執行緒均可存取資料區變數 2.2.4 堆積區域:指標是關鍵 2.2.5 堆疊區域:公共的私有資料 2.2.6 動態連結程式庫與檔案 2.2.7 執行緒局部儲存:TLS 2.3 執行緒安全程式到底是怎麼撰寫的 2.3.1 自由與約束 2.3.2 什麼是執行緒安全 2.3.3 執行緒的私有資源與共用資源 2.3.4 只使用執行緒私有資源 2.3.5 執行緒私有資源 + 函式參數 2.3.6 使用全域變數 2.3.7 執行緒局部儲存 2.3.8 函式傳回值 2.3.9 呼叫非執行緒安全程式 2.3.10 如何實現執行緒安全程式 2.4 程式設計師應如何理解程式碼協同 2.4.1 普通的函式 2.4.2 從普通函式到程式碼協同 2.4.3 程式碼協同的圖形化解釋 2.4.4 函式只是程式碼協同的一種特例 2.4.5 程式碼協同的歷史 2.4.6 程式碼協同是如何實現的 2.5 徹底理解回呼函式 2.5.1 一切要從這樣的需求說起 2.5.2 為什麼需要回呼 2.5.3 非同步回呼 2.5.4 非同步回呼帶來新的程式設計思維 2.5.5 回呼函式的定義 2.5.6 兩種回呼類型 2.5.7 非同步回呼的問題:回呼地獄 2.6 徹底理解同步與非同步 2.6.1 辛苦的程式設計師 2.6.2 打電話與發郵件 2.6.3 同步呼叫 2.6.4 非同步呼叫 2.6.5 同步、非同步在網路服務器中的應用 2.7 哦!對了,還有阻塞與非阻塞 2.7.1 阻塞與非阻塞 2.7.2 阻塞的核心問題:I/O 2.7.3 非阻塞與非同步I/O 2.7.4 一個類比:點披薩 2.7.5 同步與阻塞 2.7.6 非同步與非阻塞 2.8 融會貫通:高並行、高性能伺服器是如何實現的 2.8.1 多處理程序 2.8.2 多執行緒 2.8.3 事件迴圈與事件驅動 2.8.4 問題1:事件來源與I/O多工 2.8.5 問題2:事件迴圈與多執行緒 2.8.6 咖啡館是如何運作的:Reactor模式 2.8.7 事件迴圈與I/O 2.8.8 非同步與回呼函式 2.8.9 程式碼協同:以同步的方式進行非同步程式設計 2.8.10 CPU、執行緒與程式碼協同 2.9 電腦系統漫遊:從資料、程式、回呼、閉包到容器、虛擬機器 2.9.1 程式、資料、變數與指標 2.9.2 回呼函式與閉包 2.9.3 容器與虛擬機器技術 2.10 總結 第3章 底層?就從記憶體這個儲物櫃開始吧 3.1 記憶體的本質、指標及引用 3.1.1 記憶體的本質是什麼?儲物櫃、位元、位元組與物件 3.1.2 從記憶體到變數:變數意味著什麼 3.1.3 從變數到指標:如何理解指標 3.1.4 指標的威力與破壞性:能力與責任 3.1.5 從指標到引用:隱藏記憶體位址 3.2 處理程式在記憶體中是什麼樣子的 3.2.1 虛擬記憶體:眼見未必為實 3.2.2 分頁與分頁表:從虛幻到現實 3.3 堆疊區域:函式呼叫是如何實現的 3.3.1 程式設計師的好幫手:函式 3.3.2 函式呼叫的活動軌跡:堆疊 3.3.3 堆疊幀與堆疊區域:以宏觀的角度看 3.3.4 函式跳躍與返回是如何實現的 3.3.5 參數傳遞與傳回值是如何實現的 3.3.6 區域變數在哪裡 3.3.7 暫存器的儲存與恢復 3.3.8 Big Picture:我們在哪裡 3.4 堆積區域:記憶體動態分配是如何實現的 3.4.1 為什麼需要堆積區域 3.4.2 自己動手實現一個malloc記憶體分配器 3.4.3 從停車場到記憶體管理 3.4.4 管理空閒區塊 3.4.5 追蹤記憶體分配狀態 3.4.6 怎樣選擇空閒區塊:分配策略 3.4.7 分配記憶體 3.4.8 釋放記憶體 3.4.9 高效合併空閒區塊 3.5 申請記憶體時底層發生了什麼 3.5.1 三界與CPU運行狀態 3.5.2 核心態與使用者態 3.5.3 傳送門:系統呼叫 3.5.4 標準函式庫:遮罩系統差異 3.5.5 堆積區域記憶體不夠了怎麼辦 3.5.6 向作業系統申請記憶體:brk 3.5.7 冰山之下:虛擬記憶體才是終極BOSS 3.5.8 關於分配記憶體完整的故事 3.6 高性能伺服器記憶體池是如何實現的 3.6.1 記憶體池 vs 通用記憶體分配器 3.6.2 記憶體池技術原理 3.6.3 實現一個極簡記憶體池 3.6.4 實現一個稍複雜的記憶體池 3.6.5 記憶體池的執行緒安全問題 3.7 與記憶體相關的經典bug 3.7.1 傳回指向區域變數的指標 3.7.2 錯誤地理解指標運算 3.7.3 解引用有問題的指標 3.7.4 讀取未被初始化的記憶體 3.7.5 引用已被釋放的記憶體 3.7.6 陣列下標是從0開始的 3.7.7 堆疊溢位 3.7.8 記憶體洩漏 3.8 為什麼SSD不能被當成記憶體用 3.8.1 記憶體讀寫與硬碟讀寫的區別 3.8.2 虛擬記憶體的限制 3.8.3 SSD 的使用壽命問題 3.9 總結 第4章 從電晶體到CPU,誰能比我更重要 4.1 你管這東西叫CPU 4.1.1 偉大的發明 4.1.2 與、或、非:AND、OR、NOT 4.1.3 道生一、一生二、二生三、三生萬物 4.1.4 運算能力是怎麼來的 4.1.5 神奇的記憶能力 4.1.6 暫存器與記憶體的誕生 4.1.7 硬體還是軟體?通用裝置 4.1.8 硬體的基本功:機器指令 4.1.9 軟體與硬體的介面:指令集 4.1.10 指揮家,讓我們演奏一曲 4.1.11 大功告成,CPU誕生了 4.2 CPU 閒置時在幹嘛 4.2.1 你的電腦CPU使用率是多少 4.2.2 處理程序管理與處理程序排程 4.2.3 佇列判空:一個更好的設計 4.2.4 一切都要歸結到CPU 4.2.5 空閒處理程序與CPU低功耗狀態 4.2.6 逃出無限迴圈:中斷 4.3 CPU是如何識數的 4.3.1 數字0與正整數 4.3.2 有號整數 4.3.3 正數加上負號即對應的負數:原碼 4.3.4 原碼的翻轉:反碼 4.3.5 不簡單的兩數相加 4.3.6 對電腦友善的表示方法:補數 4.3.7 CPU真的識數嗎 4.4 當CPU遇上if語句 4.4.1 管線技術的誕生 4.4.2 CPU——超級工廠與管線 4.4.3 當if遇到管線 4.4.4 分支預測:儘量讓CPU猜對 4.5 CPU 核心數與執行緒數有什麼關係 4.5.1 食譜與程式、炒菜與執行緒 4.5.2 任務拆分與阻塞式I/O 4.5.3 多核與多執行緒 4.6 CPU 進化論(上):複雜指令集誕生 4.6.1 程式設計師眼裡的CPU 4.6.2 CPU的能力圈:指令集 4.6.3 抽象:少就是多 4.6.4 程式也是要佔用儲存空間的 4.6.5 複雜指令集誕生的必然 4.6.6 微程式設計的問題 4.7 CPU進化論(中):精簡指令集的誕生 4.7.1 化繁為簡 4.7.2 精簡指令集哲學 4.7.3 CISC與RISC的區別 4.7.4 指令管線 4.7.5 名揚天下 4.8 CPU 進化論(下):絕地反擊 4.8.1 打不過就加入:像RISC一樣的CISC 4.8.2 超執行緒的絕技 4.8.3 取人之長,補己之短:CISC與RISC的融合 4.8.4 技術不是全部:CISC與RISC的商業之戰 4.9 融會貫通:CPU、堆疊與函式呼叫、系統呼叫、執行緒切換、中斷處理 4.9.1 暫存器 4.9.2 堆疊暫存器:Stack Pointer 4.9.3 指令位址暫存器:Program Counter 4.9.4 狀態暫存器:Status Register 4.9.5 上下文:Context 4.9.6 嵌套與堆疊 4.9.7 函式呼叫與執行時期堆疊 4.9.8 系統呼叫與核心態堆疊 4.9.9 中斷與中斷函式堆疊 4.9.10 執行緒切換與核心態堆疊 4.10 總結 第5章 四兩撥千斤,cache 5.1 cache,無處不在 5.1.1 CPU 與記憶體的速度差異 5.1.2 圖書館、書桌與cache 5.1.3 天下沒有免費的午餐:cache更新 5.1.4 天下也沒有免費的晚餐:多核cache一致性 5.1.5 記憶體作為磁碟的cache 5.1.6 虛擬記憶體與磁碟 5.1.7 CPU是如何讀取記憶體的 5.1.8 分散式儲存來幫忙 5.2 如何撰寫對cache友善的程式 5.2.1 程式的局部性原理 5.2.2 使用記憶體池 5.2.3 struct結構重新佈局 5.2.4 冷熱資料分離 5.2.5 對cache友善的資料結構 5.2.6 遍歷多維陣列 5.3 多執行緒的性能「殺手」 5.3.1 cache與記憶體互動的基本單位:cache line 5.3.2 性能「殺手」一:cache乒乓問題 5.3.3 性能「殺手」二:錯誤分享問題 5.4 烽火戲諸侯與記憶體屏障 5.4.1 指令亂數執行:編譯器與OoOE 5.4.2 把cache也考慮進來 5.4.3 四種記憶體屏障類型 5.4.4 acquire-release語義 5.4.5 C++中提供的介面 5.4.6 不同的CPU,不同的秉性 5.4.7 誰應該關心指令重排序:無鎖程式設計 5.4.8 有鎖程式設計 vs 無鎖程式設計 5.4.9 關於指令重排序的爭議 5.5 總結 第6章 電腦怎麼能少得了I/O 6.1 CPU 是如何處理I/O操作的 6.1.1 專事專辦:I/O 機器指令 6.1.2 記憶體映射I/O 6.1.3 CPU讀寫鍵盤的本質 6.1.4 輪詢:一遍遍地檢查 6.1.5 點外賣與中斷處理 6.1.6 中斷驅動式I/O 6.1.7 CPU如何檢測中斷訊號 6.1.8 中斷處理與函式呼叫的區別 6.1.9 儲存並恢復被中斷程式的執行狀態 6.2 磁碟處理I/O時CPU 在幹嗎 6.2.1 裝置控制器 6.2.2 CPU應該親自複製資料嗎 6.2.3 直接記憶體存取:DMA 6.2.4 Put Together 6.2.5 對程式設計師的啟示 6.3 讀取檔案時程式經歷了什麼 6.3.1 從記憶體的角度看I/O 6.3.2 read函式是如何讀取檔案的 6.4 高並行的秘訣:I/O多工 6.4.1 檔案描述符號 6.4.2 如何高效處理多個I/O 6.4.3 不要打電話給我,有必要我會打給你 6.4.4 I/O多工 6.4.5 三劍客:select、poll與epoll 6.5 mmap:像讀寫記憶體那樣操作檔案 6.5.1 檔案與虛擬記憶體 6.5.2 魔術師作業系統 6.5.3 mmap vs 傳統read/write函式 6.5.4 大檔案處理 6.5.5 動態連結程式庫與共用記憶體 6.5.6 動手操作一下mmap 6.6 電腦系統中各個部分的延遲有多少 6.6.1 以時間為度量來換算 6.6.2 以距離為度量來換算 6.7 總結