codecamp

致谢

致谢(Acknowledgments)

起初我是打算就把这本书自行出版的,但是之前我和 Pragmatic Bookshelf 的几位朋友有过一段愉快的合作经历,因此我想试试看他们是否还愿意和我合作。十分感谢 Dave 和 Andy 能让我们再次合作。

感谢我的编辑 Susannah Pfalzer,使你现在看到的这本书比之前好得多了。她的指导使得本书能够始终如一地专注于核心内容,让这本书的内容循序渐进,可读性更好。

那几位自愿抽出它们的时间来校正这本书的朋友们让我看到了最有趣、最有思想的批注。感谢他们让本书有了众多美妙的想法。十分感谢 Jeff Holland,Austen Ott,Kevin Gisi,Tony Collen,Harley Stran,Chris Johnson,Drew Neil,Darcy Laycock,Luke Chadwick,Jeff Carley,Marc Harter 和 Nick LaMuro 给出的中肯建议。

我要特别感谢 Chris Warren,Mike Weber,Aaron Godin,Emma Smith,Erich Tesky 和我的其他商业合作伙伴,感谢他们对我的支持,还要感谢 Chris Johnson 让我首次使用了 tmux。

最后,我要极大地感谢我的妻子 Carissa 长久以来对我的不断支持,她辛勤地工作以及对我们女儿的关怀使我能够抽出时间来撰写本书。

本书简介
前言
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }