目錄
技術視野
大腦理論與智慧型機器探索者—Jeff Hawkins 專訪 1
Xerox PARC為何與眾不同,今日的研究院當如何打造 3
無模式文本編輯與“剪下、複製、貼上”的歷史 5
導航者:程式設計師的未來 9
AI工程師職業指南
如何成為一名機器學習算法工程師 14
如何成為一名推薦系統工程師 17
如何成為一名對話系統工程師 20
如何成為一名數據科學家 23
如何成為一名異構並行計算工程師 26
如何成為一名語音識別工程師 31
如何成為一名自然語言處理工程師 34
求取技術突破:深度學習的專業路徑 36
實戰路徑:程式設計師的機器學習進階方法 39
人工智慧,為我所用
深度學習在推薦領域的套用 44
表示學習在信息推薦系統中的套用 47
Bandit算法與推薦系統 50
打造企業級雲深度學習平台—小米雲深度學習平台的架構設計與實現 56
機器學習平台JDLP長成記 59
Weiflow—微博機器學習框架 62
微博深度學習平台架構和實踐 65
機器學習在熱門微博推薦系統的套用 68
特徵選擇在新浪微博的演進 71
美麗聯合業務升級下的機器學習套用 73
自然語言處理技術在推薦系統中的套用 75
淺析強化學習及使用Policy Network實現自動化控制 81
強化學習解析與實踐 86
基於容器的AI系統開發 95
看得“深”、看得“清”——深度學習在圖像超清化的套用 97
見微知著:細粒度圖像分析進展 100
基於深度學習的計算機視覺技術發展 105
面向圖像分析套用的海量樣本過濾方案 110
人臉識別技術發展及實用方案設計 112
SLAM剛剛開始的未來之“工程細節” 115
深度學習中的注意力機制 118
聲紋識別技術助力遠程身份認證 123
TensorFlow下構建高性能神經網路模型的最佳實踐 126
在物聯網設備上實現深度學習 130
無人駕駛剛剛開始的未來 133
人工智慧學術前沿
深度增強學習前沿算法思想 139
WSDM 2017精選論文 141
ICLR 2017精選論文 143
WWW 2017精選論文 145
AISTATS 2017精選論文 148
ACL 2017精選論文 150
前端開發創新實踐
下一代Web 套用模型——Progressive Web App 154
餓了么的PWA升級實踐 160
WebAssembly,Web的新時代 164
WebAssembly初步探索 170
WebAssembly在白鷺引擎5.0中的實踐 172
在Node.js中看JavaScript的引用 175
Node.js異步編程之難 178
58同城Android端HTTPS實踐之旅 181
微信終端跨平台組件Mars在行動網路的探索和實踐 185
原生JavaScript 模組的現在與未來 188
詳解HTTP/2 Server Push—進一步提升頁面載入速度 191
Webpack在現代化前端開發中的作用與未來 . 196
使用WebGL提升可視化中的布局性能 199
Redux or Mobx:前端套用狀態管理方案的探索與思考 203
Hybrid Go:去哪兒網Hybrid實踐 210
蘇寧前端基礎工具集 213
被低估的Babel 216
探索Headless Chrome 217
CSS模組化演進 220
前端工程師為什麼要學習編譯原理 223
移動開發十年
十年一顧 iOS 與Android 這樣改變了我們 227
餓了么商家版iOS端訂單模組的重構之路 227
穩定性與記憶體最佳化—小型團隊的Android 套用質量保障之道 . 229
談Fuzz 技術挖掘Android 漏洞 234
安居客Android模組化探索與實踐 237
淺談Android視頻編碼的那些坑 240
從源碼角度剖析Android 系統EGL 及GL 執行緒 244
基於拆分包的React Native在iOS端載入性能最佳化 247
Qunar React Native大規模套用實踐 252
餓了么移動基礎設施建設 256
美團點評酒旅移動端Vue.js最佳實踐 259
前端感官性能的衡量和最佳化實踐 261
微信全文搜尋最佳化之路 263
ofo移動端的過去與未來 267
基於接口的訊息通信解耦 268
Retinex圖像增強算法及App端移植 273
使用Server-Side Swift 開發RESTful API 275
微信小程式
微信小程式的編程模式 279
微信小程式技術解讀 281
從《小睡眠》談微信小程式開發的實用技術與注意事項 284
《輕課》微信小程式踩坑歷險記 286
使用Vue.js開發小程式:解析前端框架mpVue 288
微信開發深度解析之快取策略 290
VR與AR開發
Web 端VR 開發初探 298
PC VR遊戲的CPU性能分析與最佳化 300
HoloLens開發與性能最佳化實踐 307
Unreal Engine 4 VR套用的CPU性能最佳化和差異化 309
VR中的互動之熵 314
ARKit:簡單的增強現實 318
網際網路套用架構面面觀
京東分散式資料庫系統演進之路 324
萬人協同規模下的代碼管理架構演進百度代碼管理概況 327
微信數據強一致高可用分散式資料庫PhxSQL 設計與實現 331
同程旅遊快取系統(鳳凰)打造Redis時代的完美平台實踐 335
百萬用戶分散式壓測實踐手記 338
電商物流系統技術架構進化史 343
有道雲筆記跨平台富文本編輯器的技術演進 .. 345
不再谷滿谷,坑滿坑,看蘇寧庫存架構轉變 350
唯品會雙11大促技術保障實踐 355
畫像在同城物流調度系統的實踐 358
大數據技術深度實踐
Heron :來自Twitter 的新一代流處理引擎(原理篇) 365
Heron:來自Twitter的新一代流處理引擎(套用篇) 368
圖資料庫—大數據時代的高鐵 371
圖資料庫在CMDB領域的套用 376
使用SMACK 堆疊進行快速數據分析 382
微博商業數據挖掘方法 384
探討大數據時代構建高可用資料庫的新技術 .. 388
使用Marathon 管理Spark 2.0.2 實現運行運行期擴容的executor 調度 391
大數據引擎Greenplum 那些事 395
OLTP類系統數據結轉最佳實踐 397
PostgreSQL並行查詢介紹 399
基於Spark的大規模機器學習在微博的套用 403
HBase在滴滴出行的套用場景和最佳實踐 405
Livy:基於Apache Spark的REST服務 408
Amazon Aurora深度探索 411
大數據的分散式調度 419
網易數據運河系統NDC 設計與套用 423
餓了么大數據平台建設 428
分散式資料庫
微信分散式數據存儲協定對比—Paxos 和Quorum 432
資料庫壓縮技術探索 434
淺談分散式事務控制在銀行套用的實現 438
ColumnStore在大數據中的套用實踐 439
Redis Cluster探索與思考 441
支持自動水平拆分的高性能分散式資料庫TDSQL 446
物聯網開發技術棧
物聯網技術現狀與新可能 450
基於JavaScript語言的快速物聯網開發架構 452
遊歷JavaScript IoT套用開發平台 456
使用Python進行物聯網端到端原型開發 460
管中窺豹:一線工程師看MQTT 463
物聯網安全與實戰 467
IoT通信技術選型及模型設計的思考 470
微軟、百度、阿里巴巴三大物聯網雲平台探析 .. 472
如何基於Android Things 構建一個智慧型家居系統? 475
淺析物聯網套用層協定CoAP 478
藍牙Mesh 技術初探 482
雲計算演進與套用
談談OpenStack 大規模部署 486
業務視角下的微服務架構設計實例 491
Hurricane實時處理系統架構剖析 493
實施微服務的關鍵技術架構 500
網易雲容器服務基於Kubernetes的實踐探索 503
Kubernetes 、 Microservice以及ServiceMesh解析 506
單體套用到Kubernetes微服務架構的遷移方案 509
容器技術經驗談
Docker 在美團點評的實踐 512
CoreOS vs. Docker容器大戰引擎 516
基於模板引擎的容器部署框架 518
微服務套用容器化場景中常見問題總結 521
追本溯源,詳解Serverless架構及套用 524
基於Mesos/Docker構建去哪兒網數據處理平台 . 526
容器與OpenStack:從相殺到相愛 530
Mesos容器引擎的架構設計和實現解析 532
基於Docker持續交付平台建設的實踐 535
追求極簡:Docker鏡像構建演化史 540
區塊鏈
最小可行性區塊鏈原理解析 544
如何使用區塊鏈技術進行項目開發 552
寫給CTO的主流區塊鏈架構橫向剖析 554
關於區塊鏈,程式設計師需要了解什麼 559
區塊鏈現有套用案例分析 561
產品定位的“生死劫”——你的區塊鏈產品能否活過2017 年 564
區塊鏈在著作權保護方面的探索與實踐 565
區塊鏈技術在零售供應鏈的商業化套用 568
區塊鏈技術實現及在政務網的套用 569
將區塊鏈用於京東供應鏈溯源防偽 574
關於C++你應該更新的知識
C++14 實現編譯期反射—剖析magic_get 中的magic 577
C++17中那些值得關注的特性(上) 580
C++17中那些值得關注的特性(中) 583
C++17中那些值得關注的特性(下) 587
作者簡介
程式設計師編輯部,是CSDN《程式設計師》的策劃和編輯者,《程式設計師》是國內針對開發人員的專業技術刊物,一直秉承服務中國IT人員的思想積極發展,在中國開發人員中擁有較高的知名度。是廣大開發者了解技術發展趨勢、學習與提高的重要參考資料。
前言
般般武藝皆可為你所用
生物在適者生存的“演化”過程中塑造,而未必愈加清晰地感知世界。例如青蛙的大腦被設定為捕
食移動的橢圓。把蒼蠅麻醉,擺在它旁邊,青蛙視若不見—它們能餓死在食物近前;然而又會毫不猶豫地捕食由人拋出的小紙片,直到再也無法下咽。青蛙只能看到你我所見的一小部分,卻以為自己了解整個世界,那我們呢?
計算機技術似已發展到“其觸頭者言象如石,其觸尾者言象如繩”的體量,無人可瞻其全貌。《程式設計師2017 精華本》則匯集當下每個正在影響我們生活的技術領域,當你感到對周遭熟視無睹,它將成為你更清晰了解程式世界的一扇窗。
或許直覺告訴你,攀登職業的山峰,總應向更高處邁步,而計算機科學中經典問題“Hill Climbing”已表明,這種策略幾乎無法令你登上頂峰。更有效的方式則是,嘗試在廣闊的地域漫步—尤其在初級階段,隨機選擇新落腳點,一旦找到頂峰,就別再浪費時間,儘管接下來的幾步仍會是上升台階。《程式設計師2017 精華本》是你手中的地形圖,帶你領略那些未曾踏足,卻重要的地域。
軟體與硬體,程式語言與作業系統,前端與後端的界線並不如你預想中那般格格不入,請試著從“系統與過程”的角度閱讀手中這本書,也許你會發覺般般武藝皆可為你所用。
程式設計師編輯部