有什麼適合碎片時間看的計算機基礎書籍推薦?

目前在學JS。我每天碎片時間太多,無法直接敲代碼練習,實操的練習時間還是有的。只是不想浪費這些碎片時間。有沒有書可以推薦下,比如計算機基礎類的,演算法等等


計算機基礎類的,可以看下 《計算機是怎樣跑起來的》《程序是怎樣跑起來的》通俗易懂,圖解,適合每天拿來看


謝邀~~

我是來安利我寫的一系列電子書的~~。自然是《全棧增長工程師指南》了——GitHub - phodal/growth-ebook: Growth Engineering: The Definitive Guide。全棧增長工程師指南

我們都會學習,但是有時候我們只是不知道應該學習什麼而已。這也是其他技術書籍所欠缺的。它可以告訴你,你可以學習什麼,然後看什麼書。

每一小節都都是一篇文章,目錄:

  • Growth: 全棧增長工程師指南
    • 全棧工程師是未來
      • 技術的革新史
      • 軟體開發的核心難題:溝通
      • 大公司的專家與小公司的全棧
      • 全棧工程師的未來:無棧
  • 基礎知識篇
    • 工具只是輔助
      • WebStorm 還是 Sublime?
      • 語言也是一種工具
    • 提高效率的工具
      • 快速啟動軟體
      • IDE
      • DEBUG 工具
      • 終端或命令提示符
      • 包管理
    • 環境搭建
      • OS X
      • Windows
      • GNU/Linux
    • 學好一門語言的藝術
      • 一次語言學習體驗
      • 輸出是最好的輸入
      • 如何應用一門新的技術
    • Web 編程基礎
      • 從瀏覽器到伺服器
      • 從 HTML 到頁面顯示
    • HTML
      • hello,world
      • 中文?
      • 其他 HTML 標記
      • 小結
    • CSS
      • 簡介
      • 樣式與目標
      • 選擇器
      • 更有趣的 CSS
    • JavaScript
      • hello,world
      • JavaScriptFul
      • 面向對象
      • 其他
  • 前端與後台
    • 後台語言選擇
      • JavaScript
      • Python
      • Java
      • PHP
      • 其他
    • MVC
      • Model
      • View
      • Controller
      • 更多
    • 後台即服務
      • API 演進史
      • 後台即服務
    • 數據持久化
      • 文件存儲
      • 資料庫
      • 搜索引擎
    • 前端框架選擇
      • Angular
      • React
      • Vue
      • jQuery 系
    • 前台與後台交互
      • Ajax
      • JSON
      • WebSocket
  • 編碼
    • 編碼過程
    • Web 應用的構建系統
      • Web 應用的構建過程
      • Web 應用的構建實戰
    • Git 與版本控制
      • 版本控制
      • Git
    • Tasking
      • 如何 Tasking 一本書
      • Tasking 開發任務
    • 寫代碼只是在碼字
    • 內置索引與外置引擎
      • 門戶網站
      • 內置索引與外置引擎
    • 如何編寫測試
      • 測試金字塔
      • 如何測試
    • 測試替身
      • Stub
      • Mock
    • 測試驅動開發
      • 紅-綠-重構
      • 測試先行
    • 可讀的代碼
      • 命名
      • 函數長度
      • 其他
    • 代碼重構
      • 重命名
      • 提取變數
      • 提煉函數
    • Intellij Idea 重構
      • 提煉函數
      • 內聯函數
      • 查詢取代臨時變數
    • 重構到設計模式
      • 過度設計與設計模式
  • 上線
    • 隔離與運行環境
      • 隔離硬體:虛擬機
      • 隔離操作系統:容器虛擬化
      • 隔離底層:Servlet 容器
      • 隔離依賴版本:虛擬環境
      • 隔離運行環境:語言虛擬機
      • 隔離語言:DSL
    • LNMP 架構
      • GNU/Linux
      • HTTP 伺服器
    • Web 緩存
      • 資料庫端緩存
      • 應用層緩存
      • 前端緩存
      • 客戶端緩存
      • HTML5 離線緩存
    • 可配置
      • 環境配置
      • 運行機制
      • 功能開關
    • 自動化部署
      • 依賴與包倉庫
      • 構建軟體包
      • 上傳和安裝軟體包
  • 數據分析
    • 構建-衡量-學習
      • 想法-構建
      • 產品-衡量
      • 數據-學習
    • 數據分析
      • 識別需求
      • 收集數據
      • 分析數據
      • 展示數據
    • 用戶數據分析:Google Analytics
      • 受眾群體
      • 流量獲取
      • 移動應用
    • 網站性能
      • 網站性能監測
      • 網站性能
    • SEO
      • 爬蟲與索引
      • 什麼樣的網站需要 SEO?
      • SEO 基礎知識
      • 內容
    • UX 入門
      • 什麼是 UX
      • 什麼是簡單?
      • 進階
      • 用戶體驗要素
    • 認知設計
  • 持續交付
    • 持續集成
      • 持續集成系統
      • 持續集成流程
    • 持續交付
      • 基礎設施
      • 持續部署
    • 持續學習
      • 持續閱讀
      • 持續編程
      • 持續寫作
  • 遺留系統與修改代碼
    • 遺留代碼
      • 遺留代碼
    • 如何修改遺留代碼
      • 修改遺留代碼
    • 網站重構
      • 速度優化
      • 功能加強
      • 模塊重構
  • 回顧與架構設計
    • 自我總結
      • 吾日三省吾身
    • Retro
      • Retro 的過程
      • 三個維度
    • 架構模式
      • 預設計式架構
      • 演進式架構:擁抱變化
    • 浮現式設計
      • 意圖導向
      • 重構
      • 模式與演進
    • 每個人都是架構師
      • 如何構建一個博客系統
      • 相關閱讀資料
    • 架構解耦
      • 從 MVC 與微服務
      • CQRS
      • CQRS 結合微服務

並且還提供APP版本——GitHub - phodal/growth: Growth,更適合在手機上看。

Android: http://fir.im/phodal

iOS: https://itunes.apple.com/cn/app/growth/id1078807522?l=zhls=1mt=8

WP: Growth Ren

2016.06.02更新

---

這是一本指導性的書籍,所以:

不要指望從這本書中學到所有的知識點,但是它可以幫你構建你的知識體系。

不要指望從這本書中學到所有的知識點,但是它可以幫你構建你的知識體系。

不要指望從這本書中學到所有的知識點,但是它可以幫你構建你的知識體系。

因此它適合在手機上看,如果你需要有實質意義的內容:請閱讀:GitHub - phodal/growth-in-action: 全棧增長工程師實戰,詳細介紹了如何去開發一個響應式的 Web 應用、如何開發相應的 API 以及移動應用,以及如何開發單頁面應用。還有編寫測試、持續集成等等內容。

(居然少了這個廣告,心累,而且看了也不給點贊。)

  • 序:如何成為全棧增長工程師?
    • 先成為全棧工程師
    • 再成為增長工程師
  • 全棧增長工程師實戰
    • 準備工作和工具
  • 深入淺出Django
    • Django簡介
      • Django應用架構
    • Django hello,world
      • 安裝Django
      • 創建項目
      • Django後台
      • 第一次提交
  • Django創建博客應用
    • Tasking
    • 創建BlogpostAPP
      • 生成APP
      • 創建Model
      • 配置URL
    • 創建View
      • 創建博客列表頁
      • 創建博客詳情頁
    • 測試
      • 測試首頁
      • 測試詳情頁
  • 功能測試與持續集成
    • 編寫自動化測試
      • Selenium與第一個UI測試
    • 搭建持續集成
      • Jenkins創建任務
      • 創建shell
  • 更多功能
    • 靜態頁面
      • 安裝 flatpages
      • 創建模板
    • 評論功能
    • Sitemap
      • 站點地圖介紹
      • 創建首頁的Sitemap
      • 創建靜態頁面的Sitemap
      • 創建博客的Sitemap
      • 提交到搜索引擎
  • 前端框架
    • 響應式設計
      • 引入前端框架
    • 頁面美化
      • 添加導航
      • 添加標語
      • 優化列表
      • 添加footer
  • API
    • 博客列表
      • Django REST Framework
      • 創建博客列表API
      • 測試 API
    • 自動完成
      • 搜索API
      • 頁面實現
    • 跨域支持
      • 添加跨域支持
  • 移動應用
    • hello,world
      • 構建應用
    • 博客列表頁
      • 列表頁
      • 詳情頁
    • Profile
      • Json Web Tokens
      • 登錄表單
      • Profile
    • 創建博客
  • Mobile Web
    • 移動設備處理
    • 前後端分離
      • Riot.js
      • ReactiveJS構建服務
      • 創建博客列表頁
      • 博客詳情頁
      • 添加導航
  • 配置管理
    • local settings


試著碎片看書 效果都不是很好……

感覺不如學個scheme之類的靈活語言,碎片的時候玩一玩,會有很多收穫。

現在在安卓機上跑emacs沒事就能寫個片段,scheme都是代碼少思想多那種,打得慢也沒事。


我的碎片時間一般喜歡看技術手冊


演算法類的,可以看《編程珠璣》,本身就是雜誌專欄文章結集,每章篇幅適中。當然其實這本書是很有深度的,看到哪篇文章對自己有用,未來再回來深鑽吧。這本書的續篇稍弱,但也值得讀:編程珠璣II 。

其他還有很多知名博客文章和雜誌文章出成書的,比如:

  • YC創始人Paul Graham的黑客與畫家
  • Ruby之父松本行弘的 松本行弘的程序世界 和 代碼的未來

  • Joe Spolsky的 軟體隨想錄

  • 吐槽王Steve Yegge的 程序員的吶喊

  • Coding Horror的 高效能程序員的修鍊 和 程序員的修鍊 : 從優秀到卓越
  • Tom DeMarco等講項目管理的項目百態每篇篇幅很小


按題面意思題主想找的是通俗易懂的書籍,但為了知識連貫性,還是會穿插一些必須實操的書,只需要讀一讀的我會標註「易讀」:

1、《編碼:隱匿在計算機軟硬體背後的語言》 ,這本書真的淺顯易懂,從與非門到寄存器,再組成RAM,主要幫助你理解電信號如何轉換成二進位!你看完加運算的進位電路設計就會明白「溢出」是怎麼一回事了。(易讀)

2、王爽的《彙編語言》,這本書很精簡,沒有龐大的概念。一直是邊做實驗邊學,帶你用指令操作寄存器,並且跟蹤結果,你能清楚觀察到內存中每個位元組的變化!做完實驗你就有體會,數據類型確實挺重要的,因為沒準你會覆蓋別的數據!這裡面直接操作地址,想學好指針的千萬別錯過!

3、為了深入理解彙編與電路之間的關係,推薦第三本書《Digital Computer Electronics》,是一本解構4位CPU電路的書(剛回去翻,發現找不到了,很可惜,這本書對我的幫助很大!)。反正我記得最清楚的是,一條彙編指令mov ax,cs 存儲在內存中,後半部分其實存的是兩個寄存器ax,cs 對應的地址,前半部分存的是mov 對應的二進位。前半部分進入解碼器進行解碼,接著通過控制矩陣找到這兩個地址,再進行操作。

4、讀完以上三本估計你就能很好理解大部分計算機概念了,現在推薦《C程序設計語言》和《C primer plus》,《征服C指針》,這三本介紹了很多C語言特性,注意必須採用《老碼識途》中的方法邊寫邊調試,對比不同的寫法在寄存器,內存中每個位元組的變化,如此你才算是真正懂的了,光看書是沒用的,很快就忘記了!

5、數據結構推薦程傑《大話數據結構》,代碼很少,直接用插圖形式描繪數據結構執行過程。我看完這本書,再去找c語言演算法代碼來調試,簡直太容易理解了。(易讀)

6、語言層面差不多了,下面的就要進入操作系統了,推薦hurlex同學的《一個基於x86架構的簡單內核實現》和《xv6-book》,另推薦網易公開課李志軍老師的《操作系統》課程

7、資料庫方面推薦《mysql 必知必會》,入門書!不是原理書,教你資料庫語句。

8、編譯原理方面推薦網易公開課華保建老師《編譯原理》!然後推薦目錄 | TIPI: 深入理解PHP內核因為前面介紹了C語言嘛。如果只是想捧在手裡讀一讀可以看看《自製編程語言》(易讀)

9、網路方面太深奧了,推薦一本新書《網路是怎樣連接的》,從你打開瀏覽器訪問頁面說起。知乎還有類似的問題呢!(易讀) 用戶用瀏覽器訪問一個網站的時候背後的過程與步驟是怎樣的? - 互聯網 - 知乎

10、瀏覽器方面推薦《how browsers work 》中文 版,也就幾十頁,看一看有好處的!(易讀)


謝邀,

看到碎片時間和書籍這兩個關鍵詞,其實我原本是不打算回答的。原因很簡單,碎片時間不適合看書,看書至少應該有1個小時時間持續閱讀;另外開發是很靠動手的,你都沒有時間直接敲代碼,純粹靠讀書,並不能提高你的代碼水平。

但還是覺得盡量給點建議,以下都是基於題主只有碎片時間基礎上給出的建議,但是我還是題主能把碎片時間放在一起,有較為完整的時間看書或者打碼。

如果只有碎片時間不建議看書了,碎片時間還要拿出一本書,這很不值得。拿出手機吧,以前端領域為例子,就刷刷掘金上的文章吧,csdn也可以。上面的文章有些是高級部分,你可以直接跳過,去找一些感興趣的教程類的文章。遇到特別感興趣和質量高的文章看完收藏下,晚上回家實現下。

至於題主說的計算機基礎和演算法類的書,其實對於初學者而言都是需要花很大精力和花很長時間讀的。特別是演算法類,如果是零碎時間,可能一個演算法都沒理解透徹就要去干別的事了。下次還需要重新讀,這樣白白花了時間還沒有效果。

建議題主花較為完整的時間系統學習:

JavsScript高級程序設計

JavaScript設計模式與開發實踐

還需要補一下計算機類基礎知識,可以參考以下書籍:

演算法導論

數據結構 (嚴蔚敏)

操作系統概念-&> Linux內核完全剖析

PS: -&>代表讀完前者再讀後者

點贊加關注,乾貨持續分享中


學 js 碎片時間看犀牛書正好。我當年就是在公交車上看掉的。

當然,看的是電子版...


貌似放了好久,謝邀。

沒看過幾本書,推薦擼手冊

先擼簡單點的:w3school 在線教程,裡面的HTML、CSS、JavaScript很基礎,適合入門;

然後再擼MDN:Web 技術文檔,也算是進階必擼的吧,Web的領航者,

路上看手冊最好的一點是,這些都是碎片化的知識點,一個一個啃就好了,不像許多書每一個章節的連貫性那麼強。


碎片時間還看編程書多無聊啊,不妨看幾本開腦洞的書呢,我推薦幾本吧:

1. 特德姜(Ted Chiang)的短篇科幻小說集:

你一生的故事 (豆瓣)

軟體體的生命周期 (豆瓣)

特德姜是布朗大學CS專業科班出身,現在據說在西雅圖做technical writer,他寫的短篇小說真是篇篇精彩,比如這個2005年發表在Nature雜誌(沒看錯,就是那個頂級學術期刊:Nature)上的短篇《前路迢迢》。

2. 凱文·凱利的那本《失控》

失控 (豆瓣)

二十年前的那幫geek開的腦洞吧,把它當成一本賽博朋克的書來看也是很過癮的。


說真的,我不太用碎片時間閱讀計算機圖書。我一般會特意空出一段時間來閱讀。

碎片時間我一般用來放鬆自己??


其實我也一直在找尋碎片時間如何學習編程,根據我的經驗來講:

碎片時間不看任何需要動手編程和需要大腦計算的知識,就看一些簡單的知識,程序員最怕什麼,怕打斷思路,碎片時間很容易被打斷,每次我在家需要做編程相關工作時,我都提前告訴我女朋友,不要給我說話,不要叫我吃飯,不要叫睡覺,不要……,總之不要理我就行。

我建議看一些基礎性的書籍和理論性的書籍。

那些講計算機原理的,可能你覺得這好像跟編程沒有毛關係啊,其實你讀了這一類的書有助於你理解程序是如何在計算機執行的,更有利於你學習編程知識。你可以看看瀏覽器工作原理,看看瀏覽器是如何渲染頁面的,如何執行js的等。

還有可以讀幫助文檔,這個文檔剛看起來很枯燥,讀一段時間你會發現很有意思,你會有一種想讀遍所有編程文檔的衝動,而且這個幫助文檔特別有利於你的編程技術成長,經常讓你有種大徹大悟的感覺。沒有看幫助文檔就開始使用就像摸著石頭過河,一不小心就掉坑裡,看了幫助文檔就像是你有一張這條河的圖紙,很清晰明了知道怎麼去抵達彼岸。其實程序員很浮躁的,一般都是不看幫助文檔,都是上來就用,結果掉坑裡了就開始罵作者老娘了。利用碎片時間看幫助文檔是最合適不過了。我建議你讀讀es的標準,jQuery的文檔等。

你也可以看看一些特立獨行的人傳記,這樣的書對於我來說就是激勵,雖然我也知道有些描述是假的,但是它確實可以激勵自己繼續堅持。你會對自己說我也要像他那樣,雖然我們可能一輩子都成不了那樣的人,但是可以激勵當下的自己,尤其是在看一些IT界的人物傳記。做任何事情都需要堅持,要想堅持下去,就得有個東西一直激勵自己,無論是物質的還是精神的。


謝邀。歪個樓,我覺得碎片時間的話,不要讀技術書籍了,每天接觸的都是代碼,功到自然成。

世界這麼大,好書那麼多,為什麼不開闊自己的視野,平衡生活和工作。最近看了程序周邊的一本書,&<增長黑客&>挺長見識的,而且裡面好多東西立刻可以給自己做的產品應用起來,效果看得見,對於老闆,老闆肯定更滿意,對於自己,也擴展了自己的範圍,不是更好。上面是單純舉個例子,生活還有很多精神,身體上的追求,人生苦短,正確的時間做正確的事情吧

而且,預感單純的技術會越來越不值錢。除非是不可替代的那種


學js?看來是要入前端坑啊。。。推薦幾本看過的

從你的需求來看,比較適合中低深度的科普性書籍

1. 『JavaScript 高級程序設計』

就是大家口中的紅寶書,剛入行的時候也被這『高級』二字嚇到,只敢遠觀不敢褻玩。

直到某天在公交車上看到一個哥們在看這書,跑過去聊了會。這哥們當時在淘寶實習的,跟我說這書非常基礎。。後來自己看了果然寫的很直白。

所以千萬別被書名忽悠啊,大膽看吧~

2.『圖解HTTP』

做前端不可避免的要了解 HTTP 協議,官方協議文檔雖然準確,卻充滿著通篇晦澀的術語。這本薄薄的書入門是一個很好的選擇。

圖文並茂,準確生動。建議最好看完一部分用chrome看看網路請求對照理解。

3.『編程大師訪談錄』

頂級程序猿們的日常,有種讀小說的感覺,無閱讀壓力。

不是教你鋸木頭,而是讓你產生對大海渴望。

4.『頸椎病康復指南』

哈哈,此乃程序猿終極讀物,推薦這個主要希望你入行就能關注自己的健康。

就想某同事說的,做什麼工作最終拼的都是身體素質啊~

還有一些什麼『黑客與畫家』、『編碼』、『大話數據結構』,都只看過小部分,有興趣也可以了解了解。


如果你想利用你的碎片時間的話,可以試試我的一個全音頻的系列教程《陪你讀書》,當時做這個東西的時候就是想讓團隊的人利用空餘的時間鞏固一下基礎知識,坐公交,睡覺前都可以聽,感興趣可以看看陪你讀書(JavaScript WEB前端培訓教程)


我一般都是在github上瞅瞅issues,或者看看博客。

畢竟這些都不需要動手,大部分也不太用動腦子。


各位都沒審題啊。學JS和看計算機基礎書籍,其實沒什麼太大關係。

計算機基礎書籍,請用大塊時間專門學習。JS,請上機實踐。

碎片時間的話,坐車時不妨閉目養神;走路時左顧右看,小心過馬路。


首先這個需要看你碎片時間有多長

之前上學的時候我路程接近2個小時 而且是上了地鐵一直坐到頭 所以是完整的一段看書時間, 很多書我都是那段時候在地鐵上看的

後來上班了, 路程縮減到半個小時, 中間還要轉地鐵線路, 導致大腦context switch的開銷太大了... 經常上班的時候看的部分到了下班再看就不記得前面說什麼了.

推薦一些我在地鐵上看完的書, 主要基於這幾個條件:

1. 方便攜帶, 很多經典的書(比如Code Complete) 雖然好讀, 但是太厚了.... 基本上不能隨身看, 我又不喜歡電子書 所以沒有考慮它們

2. 計算機及計算機相關

3. 不需要紙筆, 有些書最好邊讀邊標註(特別是演算法書) 所以不適合這裡推薦.

4. 不需要上機, 地鐵上看書當然不能邊看邊敲代碼

5. 不需要大量的思考, 曾經試著在地鐵上讀GEB 後來放棄了...

下面推薦:

計算機基礎

  1. CODE (amazon.com 的頁面), 有相關基礎的話這本書讀起來就像是在複習, 很輕鬆.

  2. The Annotated Turning (amazon.com 的頁面), 很有意思的一本書, 相比上一本可能讀起來不是那麼輕鬆, 特別是後面幾章.

  3. The New Turning Omnibus (amazon.com 的頁面), 這本書非常適合樓主的要求, 每篇都是一個CS領域的簡單介紹, 短而精巧, 讀起來很有意思.

  4. The Mythical man-month(amazon.com 的頁面) , 人月神話, 也是很適合碎片閱讀

  5. Introduction to the theory of computation (amazon.com 的頁面), 這本應該是我在地鐵上讀過最難讀的了.. 通篇都是純計算理論, 所以我跳過了幾乎所有理論證明的部分. 雖然看起來這本書感覺很厚, 但其實我買的paperback 版本驚人的小且薄.

編程

  1. The Pragmatic Programmer (amazon.com 的頁面), 經典, 關鍵是特別好讀.

  2. Clean Code(amazon.com 的頁面), 算是一本軟體工程的集大成

  3. The Practice of Programming (amazon.com 的頁面), 值得反覆閱讀的一本書, 而且適合碎片時間

  4. Programming Pearls (amazon.com 的頁面), 編程珠璣.

  5. Javascript: The good parts (amazon.com 的頁面), 同樣值得反覆閱讀的經典, 第一遍可以在碎片時間裡讀, 但以後最好能實踐一番,

  6. The principles of object-orientated javascript (amazon.com 的頁面), 才100頁, 來回一趟地鐵就讀完了.

  7. High Performance website (amazon.com 的頁面), 也是很好多而且很有用的一本書, 每篇短而精.

其他

這些都不是直接和CS相關, 但是間接對我有幫助的書.

  1. The Design of everyday things (amazon.com 的頁面), 人機交互的經典
  2. Pragmatic thinking and learning (amazon.com 的頁面), 很多關於思維方式, 學習方式的建議.

  3. Don"t make me think (amazon.com 的頁面), 關於前端, 界面, UI 的思考

  4. Master of Doom (amazon.com 的頁面), 關於id software, 關於john carmack.

除了這些實體書外, 如果有ipad 還可以下一個 Dash, 隨身閱讀各種語言和庫的文檔.

PS1. 雖然我列出的都是英文, 但是大部分都有中文版, 可以去中文亞馬遜搜索 (主要是我買中文書太麻煩了...)

PS2. 雖然這些適合碎片時間閱讀, 但是我還是強烈建議有完整的時間的話可以總結回顧一下讀過的內容, 甚至反覆閱讀你喜歡的部分. 因為碎片閱讀很快就會忘記的.

暫時先想到這些.


瀉藥

計算的本質 (豆瓣)

很薄很輕鬆的一本書,講了一點自動機、圖靈機、lambda calculus、解釋執行,深入淺出,好看不累(??????) ? 適合非科班或者科班還沒學計算理論者食用


沒法敲代碼就用紙寫。

不用計算機反而能練習讀程序的能力。


推薦閱讀:

HTML 和 CSS 花了很多人力物力,寫成之後,怎麼防止別的公司扒皮?模仿不說,扒源碼的問題怎麼防?
網易前端微專業的一道js題求解?
JS如何跨域操作DOM?
學習js看書籍好還是上機直接敲代碼好?
前端在什麼情況下應該跳槽?

TAG:前端開發 | JavaScript | 前端入門 | 計算機基礎 |