“tag:program”
全部 | 书籍 (37) | 影视 | 播客 | 音乐 (1) | 游戏 | 演出
Designing Data-Intensive Applications [图书] 豆瓣 Goodreads
9.4 (21 个评分) 作者: Martin Kleppmann O'Reilly Media 2017 - 4
Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including relational databases, NoSQL datastores, stream or batch processors, and message brokers. What are the right choices for your application? How do you make sense of all these buzzwords?
In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications.
Peer under the hood of the systems you already use, and learn how to use and operate them more effectively
Make informed decisions by identifying the strengths and weaknesses of different tools
Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity
Understand the distributed systems research upon which modern databases are built
Peek behind the scenes of major online services, and learn from their architectures
A Philosophy of Software Design [图书] 豆瓣 谷歌图书 Goodreads
8.9 (11 个评分) 作者: John Ousterhout Yaknyam Press 2018 - 4
This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first introduces the fundamental problem in software design, which is managing complexity. It then discusses philosophical issues about how to approach the software design process, and it presents a collection of design principles to apply during software design. The book also introduces a set of red flags that identify design problems. You can apply the ideas in this book to minimize the complexity of large software systems, so that you can write software more quickly
编程珠玑 [图书] 豆瓣
Programming Pearls
9.3 (20 个评分) 作者: [美] Jon Bentley 译者: 黄倩 / 钱丽艳 人民邮电出版社 2008 - 10
本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。.
多年以来,当程序员们推选出最心爱的计算机图书时,《编程珠玑》总是位列前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师Jon Bentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上最受欢迎的专栏,最终结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为第一卷,主要讨论计算机科学中最本质的问题:如何正确选择和高效地实现算法。..
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。解决方案的代码均以C/C++语言编写,不仅有趣,而且有很大的实战示范意义。每章后所附习题极具挑战性和启发性,书末给出了简洁的解答。...
Head First 设计模式(中文版) [图书] 豆瓣
9.7 (21 个评分) 作者: Elisabeth Freeman / / Eric Freeman 译者: O'Reilly Taiwan公司 中国电力出版社 2007 - 9
《Head First设计模式》(中文版)共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。前言先介绍这本书的用法;第1章到第11章陆续介绍的设计模式为Strategy、Observer、Decorator、Abstract Factory、Factory Method、Singleton,Command、Adapter、Facade、TemplateMethod、Iterator、Composite、State、Proxy。最后三章比较特别。第12章介绍如何将两个以上的设计模式结合起来成为新的设计模式(例如著名的MVC模式),作者称其为复合设计模式(这是作者自创的名称,并非四人组的标准名词),第13章介绍如何进一步学习设计模式,如何发觉新的设计模式等主题,至于第14章则很快地浏览尚未介绍的设计模式,包括Bridge、Builder、Chain of Responsibility、Flyweight、Interpreter、Mediator、Memento、Prototype,Visitor。第1章还介绍了四个○○基本概念(抽象、封装、继承、多态),而第1章到第9章也陆续介绍了九个○○原则(Principle)。千万不要轻视这些○○原则,因为每个设计模式背后都包含了几个○○原则的概念。很多时候,在设计时有两难的情况,这时候我们必须回归到○○原则,以方便判断取舍。可以这么说:○○原则是我们的目标,而设计模式是我们的做法。
编写可读代码的艺术 [图书] 豆瓣
The Art of Readable Code: Simple and Practical Techniques for Writing Better Code
8.4 (20 个评分) 作者: [美] Dustin Boswell / [美] Trevor Foucher 译者: 尹哲 / 郑秀雯 机械工业出版社 2012 - 7
细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。
本书关注编码的细节,总结了很多提高代码可读性的小技巧,看似都微不足道,但是对于整个软件系统的开发而言,它们与宏观的架构决策、设计思想、指导原则同样重要。编码不仅仅只是一种技术,也是一门艺术,编写可读性高的代码尤其如此。如果你要成为一位优秀的程序员,要想开发出高质量的软件系统,必须从细处着手,做到内外兼修,本书将为你提供有效的指导。
程序员修炼之道 [图书] 豆瓣
The Pragmatic Programmer
7.2 (10 个评分) 作者: Andrew Hunt / David Thomas 译者: 马维达 电子工业出版社 2005 - 1
《程序员修炼之道》由一系列的独立的部分组成,涵盖的主题从个人责任、职业发展,直到用于使代码保持灵活、并且易于改编和复用的各种架构技术。利用许多富有娱乐性的奇闻轶事、有思想性的例子以及有趣的类比,全面阐释了软件开发的许多不同方面的最佳实践和重大陷阱。无论你是初学者,是有经验的程序员,还是软件项目经理,本书都适合你阅读。
还有1个属于同一作品或可能重复的条目,点击显示。
The Pragmatic Programmer [图书] 豆瓣
8.9 (8 个评分) 作者: David Thomas / Andrew Hunt Addison-Wesley Professional 2019 - 9
“One of the most significant books in my life.” —Obie Fernandez, Author, The Rails Way
“Twenty years ago, the first edition of The Pragmatic Programmer completely changed the trajectory of my career. This new edition could do the same for yours.” —Mike Cohn, Author of Succeeding with Agile, Agile Estimating and Planning, and User Stories Applied
“. . . filled with practical advice, both technical and professional, that will serve you and your projects well for years to come.” —Andrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks
“. . . lightning does strike twice, and this book is proof.” —VM (Vicky) Brasseur, Director of Open Source Strategy, Juniper Networks
The Pragmatic Programmer is one of those rare tech books you’ll read, re-read, and read again over the years. Whether you’re new to the field or an experienced practitioner, you’ll come away with fresh insights each and every time.
Dave Thomas and Andy Hunt wrote the first edition of this influential book in 1999 to help their clients create better software and rediscover the joy of coding. These lessons have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology, and the Pragmatic philosophy has spawned hundreds of books, screencasts, and audio books, as well as thousands of careers and success stories.
Now, twenty years later, this new edition re-examines what it means to be a modern programmer. Topics range from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you’ll learn how to:
Fight software rot
Learn continuously
Avoid the trap of duplicating knowledge
Write flexible, dynamic, and adaptable code
Harness the power of basic tools
Avoid programming by coincidence
Learn real requirements
Solve the underlying problems of concurrent code
Guard against security vulnerabilities
Build teams of Pragmatic Programmers
Take responsibility for your work and career
Test ruthlessly and effectively, including property-based testing
Implement the Pragmatic Starter Kit
Delight your users
Written as a series of self-contained sections and filled with classic and fresh anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best approaches and major pitfalls of many different aspects of software development. Whether you’re a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you’ll quickly see improvements in personal productivity, accuracy, and job satisfaction. You’ll learn skills and develop habits and attitudes that form the foundation for long-term success in your career.
You’ll become a Pragmatic Programmer.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Pro Git [图书] 豆瓣 Goodreads
Pro Git
8.9 (25 个评分) 作者: Scott Chacon Apress 2009 - 8
Git is the version control system developed by Linus Torvalds for Linux kernel development. It took the open source world by storm since its inception in 2005, and is used by small development shops and giants like Google, Red Hat, and IBM, and of course many open source projects.
* A book by Git experts to turn you into a Git expert
* Introduces the world of distributed version control
* Shows how to build a Git development workflow
What you’ll learn
* Use Git as a programmer or a project leader.
* Become a fluent Git user.
* Use distributed features of Git to the full.
* Acquire the ability to insert Git in the development workflow.
* Migrate programming projects from other SCMs to Git.
* Learn how to extend Git.
This book is for all open source developers: you are bound to encounter it somewhere in the course of your working life. Proprietary software developers will appreciate Git’s enormous scalability, since it is used for the Linux project, which comprises thousands of developers and testers.
The Effective Engineer [图书] 豆瓣 Goodreads
9.4 (7 个评分) 作者: Edmond Lau The Effective Bookshelf, Palo Alto, CA. 2015 - 3
The most effective engineers — the ones who have risen to become distinguished engineers and leaders at their companies — can produce 10 times the impact of other engineers, but they're not working 10 times the hours.
They've internalized a mindset that took me years of trial and error to figure out. I'm going to share that mindset with you — along with hundreds of actionable techniques and proven habits — so you can shortcut those years.
Introducing The Effective Engineer — the only book designed specifically for today's software engineers, based on extensive interviews with engineering leaders at top tech companies, and packed with hundreds of techniques to accelerate your career.
For two years, I embarked on a quest seeking an answer to one question:
How do the most effective engineers make their efforts, their teams, and their careers more successful?
I interviewed and collected stories from engineering VPs, directors, managers, and other leaders at today's top software companies: established, household names like Google, Facebook, Twitter, and LinkedIn; rapidly growing mid-sized companies like Dropbox, Square, Box, Airbnb, and Etsy; and startups like Reddit, Stripe, Instagram, and Lyft.
These leaders shared stories about the most valuable insights they've learned and the most common and costly mistakes that they've seen engineers — sometimes themselves — make.
This is just a small sampling of the hard questions I posed to them:
What engineering qualities correlate with future success?
What have you done that has paid off the highest returns?
What separates the most effective engineers you've worked with from everyone else?
What's the most valuable lesson your team has learned in the past year?
What advice do you give to new engineers on your team?
Everyone's story is different, but many of the lessons share common themes.
You'll get to hear stories like:
How did Instagram's team of 5 engineers build and support a service that grew to over 40 million users by the time the company was acquired?
How and why did Quora deploy code to production 40 to 50 times per day?
How did the team behind Google Docs become the fastest acquisition to rewrite its software to run on Google's infrastructure?
How does Etsy use continuous experimentation to design features that are guaranteed to increase revenue at launch?
How did Facebook's small infrastructure team effectively operate thousands of database servers?
How did Dropbox go from barely hiring any new engineers to nearly tripling its team size year-over-year?
What's more, I've distilled their stories into actionable habits and lessons that you can follow step-by-step to make your career and your team more successful.
The skills used by effective engineers are all learnable.
And I'll teach them to you. With The Effective Engineer, I'll teach you a unifying framework called leverage — the value produced per unit of time invested — that you can use to identify the activities that produce disproportionate results.
Here's a sneak peek at some of the lessons you'll learn. You'll learn how to:
Prioritize the right projects and tasks to increase your impact.
Earn more leeway from your peers and managers on your projects.
Spend less time maintaining and fixing software and more time building and shipping new features.
Produce more accurate software estimates.
Validate your ideas cheaply to reduce wasted work.
Navigate organizational and people-related bottlenecks.
Find the appropriate level of code reviews, testing, abstraction, and technical debt to balance speed and quality.
Shorten your debugging workflow to increase your iteration speed.
Use metrics to quantify your impact and consistently make progress.
程序员的呐喊 [图书] 豆瓣 Goodreads
A Programmer's Rantings
7.7 (12 个评分) 作者: [美]Steve Yegge 译者: 徐旭铭 人民邮电出版社 2014 - 5
《程序员的呐喊》的作者是业界知名的程序员—来自google的steve yegge,他写过很多颇富争议的文章,其中有不少就收录在这本书中。本书是他的精彩文章的合集。
《程序员的呐喊》涉及编程语言文化、代码方法学、google公司文化等热点话题。
对工厂业界的各种现象、技术、趋势等,作者都在本书中表达了自己独特犀利的观点。比如java真的是一门优秀的面向对象语言吗?重构真的那么美好吗?强弱类型语言到底哪个更好?敏捷真的靠谱吗?程序员要不要懂数学等。另外,他还谈到了很多大公司的理念,比如亚马逊做平台为什么那么成功等。最后,本书还收录了他写的google面试攻略,这篇文章可以说为无数应试者点亮了明灯。
《程序员的呐喊》讨论的都是程序员非常关注的热点话题,内容广泛,观点独到,非常适合广大程序员阅读参考。
高效程序员的45个习惯 [图书] 豆瓣 Goodreads
7.8 (9 个评分) 作者: [美] Venkat Subramaniam / [美] Andy Hunt 译者: 钱安川 / 郑柯 人民邮电出版社 2010 - 1
“书中‘切身感受’的内容非常有价值——通过它我们可以做到学有所思,思有所悟,悟有所行。”
——Nathaniel T. Schutta,《Ajax基础教程》作者
“此书通过常理和经验,阐述了为什么你应该在项目中使用敏捷方法。最难得的是,这些行之有效的实战经验,竟然从一本书中得到了。”
——Matthew Johnson,软件工程师
十年来,软件行业发生了翻天覆地的变化。敏捷方法大行其道,测试和测试驱动开发在很多开发人员的工作中扮演着重要的角色。作为一名程序员,你应该培养怎样的素质,方能对多变的环境应对自如,始终立于不败之地?
本书简明实用、见解深刻,总结了高效程序员在开发过程中的45个个人习惯、思想观念和方法,有助于开发人员在开发进程、编码工作、开发者态度、项目和团队管理,以及持续学习等5个方面积极修炼。通过学习这些内容,养成这些好的习惯,你可以极大地提升自己的编程实力,更快速、更可靠地交付更高质量的软件,从而成为真正的高效程序员。
Node.js开发指南 [图书] 豆瓣
7.8 (12 个评分) 作者: 郭家寶(BYVoid) 人民邮电出版社 2012 - 7
Node.js是一种方兴未艾的新技术,诞生于2009年。经过两年的快速变化,Node.js生态圈已经逐渐走向稳定。Node.js采用了以往类似语言和框架中非常罕见的技术,总结为关键词就是:非阻塞式控制流、异步I/O、单线程消息循环。不少开发者在入门时总要经历一个痛苦的思维转变过程,给学习带来巨大的障碍。 而本书的目的就是帮助读者扫清这些障碍,学会使用Node.js进行Web后端开发,同时掌握事件驱动的异步式编程风格,以便进一步利用Node.js的高级特性。
黑客与画家 [图书] 豆瓣
Hackers and painters:big ideas from the computer age
9.1 (9 个评分) 作者: 保罗·格雷厄姆 译者: 阮一峰 人民邮电出版社 2013 - 10
本书是硅谷创业之父Paul Graham 的文集,主要介绍黑客即优秀程序员的爱好和动机,讨论黑客成长、黑客对世界的贡献以及编程语言和黑客工作方法等所有对计算机时代感兴趣的人的一些话题。书中的内容不但有助于了解计算机编程的本质、互联网行业的规则,还会帮助读者了解我们这个时代,迫使读者独立思考。
本书适合所有程序员和互联网创业者,也适合一切对计算机行业感兴趣的读者。
还有1个属于同一作品或可能重复的条目,点击显示。
Hackers & Painters [图书] 豆瓣
9.1 (7 个评分) 作者: 保罗·格雷厄姆 O'Reilly Media 2010 - 6
"The computer world is like an intellectual Wild West, in which you can shoot anyone you wish with your ideas, if you're willing to risk the consequences. " --from Hackers & Painters: Big Ideas from the Computer Age , by Paul Graham We are living in the computer age, in a world increasingly designed and engineered by computer programmers and software designers, by people who call themselves hackers. Who are these people, what motivates them, and why should you care? Consider these facts: Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into a computer. So has your camera. Soon your TV will. Your car was not only designed on computers, but has more processing power in it than a room-sized mainframe did in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet. Hackers & Painters: Big Ideas from the Computer Age , by Paul Graham, explains this world and the motivations of the people who occupy it. In clear, thoughtful prose that draws on illuminating historical examples, Graham takes readers on an unflinching exploration into what he calls "an intellectual Wild West." The ideas discussed in this book will have a powerful and lasting impact on how we think, how we work, how we develop technology, and how we live. Topics include the importance of beauty in software design, how to make wealth, heresy and free speech, the programming language renaissance, the open-source movement, digital design, internet startups, and more.
The Practice of Programming [图书] 豆瓣 Goodreads
作者: Brian W. Kernighan / Rob Pike Addison-Wesley 1999 - 2
With the same insight and authority that made their book The Unix Programming Environment a classic, Brian Kernighan and Rob Pike have written The Practice of Programming to help make individual programmers more effective and productive. This book is full of practical advice and real-world examples in C, C++, Java, and a variety of special-purpose languages. Kernighan and Pike have distilled years of experience writing programs, teaching, and working with other programmers to create this book. Anyone who writes software will profit from its principles and guidance.
重构(第2版) [图书] 豆瓣
Refactoring: Improving the Design of Existing Code,Second Edition
作者: [美] Martin Fowler 译者: 熊节 / 林从羽 人民邮电出版社 2019 - 3
本书是经典著作《重构》出版20年后的更新版。书中清晰揭示了重构的过程,解释了重构的原理和实践方式,并给出了何时以及何地应该开始挖掘代码以求改善。书中给出了60多个可行的重构,每个重构都介绍了一种经过验证的代码变换手法的动机和技术。本书提出的重构准则将帮助开发人员一次一小步地修改代码,从而减少了开发过程中的风险。
本书适合软件开发人员、项目管理人员等阅读,也可作为高等院校计算机及相关专业师生的参考读物。
The Algorithm Design Manual [图书] 豆瓣
作者: Steven S Skiena Springer 2011 - 11
....The most comprehensive guide to designing practical and efficient algorithms....
Written by a well-known algorithms researcher who received the IEEE Computer Science and Engineering Teaching Award, this new edition of The Algorithm Design Manual is an essential learning tool for students needing a solid grounding in algorithms, as well as a special text/reference for professionals who need an authoritative and insightful guide. Professor Skiena is also author of the popular Springer text, Programming Challenges: The Programming Contest Training Manual.
软件开发者路线图 [图书] 豆瓣
Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman
8.0 (7 个评分) 作者: [美] Dave H. Hoover / [美] Adewale Oshineye 译者: 王江平 机械工业出版社 2010 - 9
作为一名软件开发者,你在奋力推进自己的职业生涯吗?面对今天日新月异和不断拓展的技术,取得成功需要的不仅仅是技术专长。为了增强专业性,你还需要一些软技能以及高效的学习技能。本书的全部内容都是关于如何修炼这些技能的。两位作者Dave Hoover和Adewale Oshineye给出了数十种行为模式,来帮你提高主要的技能。
本书中的模式凝结了多年的调查研究、无数次的访谈以及来自O’Reilly在线论坛的反馈,可以解决程序员、管理员和设计者每天都会面对的困难情形。本书介绍的不只是经济方面的成功,学徒模式还把软件开发看成一种自我实现的途径。读一读这本书吧,它会帮你充分利用好自己的生命和职业生涯。
厌倦了自己的工作?去找一个玩具项目来帮你重拾解决问题的乐趣吧,这叫“培养激情”。
感觉要被新知识淹没了?做点以前做过的事情,重新探索一下自己熟悉的领域,然后通过“以退为进”再次前进。
学习停滞了?那就去寻找一支由富有经验和才能的开发者组成的团队,暂时呆在里面“只求最差”。
Cracking the Coding Interview [图书] 豆瓣 Goodreads
作者: Gayle Laakmann McDowell CareerCup 2015 - 7
Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your very best. I've coached and interviewed hundreds of software engineers. The result is this book.
Learn how to uncover the hints and hidden details in a question, discover how to break down a problem into manageable chunks, develop techniques to unstick yourself when stuck, learn (or re-learn) core computer science concepts, and practice on 189 interview questions and solutions.
These interview questions are real; they are not pulled out of computer science textbooks. They reflect what's truly being asked at the top companies, so that you can be as prepared as possible. WHAT'S INSIDE?
189 programming interview questions, ranging from the basics to the trickiest algorithm problems.
A walk-through of how to derive each solution, so that you can learn how to get there yourself.
Hints on how to solve each of the 189 questions, just like what you would get in a real interview.
Five proven strategies to tackle algorithm questions, so that you can solve questions you haven't seen.
Extensive coverage of essential topics, such as big O time, data structures, and core algorithms.
A behind the scenes look at how top companies like Google and Facebook hire developers.
Techniques to prepare for and ace the soft side of the interview: behavioral questions.
For interviewers and companies: details on what makes a good interview question and hiring process.
登录用户可看到来自其它网站的搜索结果。