-
Professional JavaScript for Web Developers
This eagerly anticipated update to the breakout book on JavaScript offers you an in-depth look at the numerous advances to the techniques and technology of the JavaScript language. You'll see why JavaScript's popularity continues to grow while you delve through topics such as debugging tools in Microsoft Visual Studio, FireBug, and Drosera; client-side data storage with cookies, DOM storage, and client-side databases; HTML 5, ECMAScript 3.1, the Selectors API; and design patterns including creational, structural, and behavorial patterns. -
Structure and Interpretation of Computer Programs, second edition
Structure and Interpretation of Computer Programs has had a dramatic impact on computer science curricula over the past decade. This long-awaited revision contains changes throughout the text. There are new implementations of most of the major programming systems in the book, including the interpreters and compilers, and the authors have incorporated many small changes that reflect their experience teaching the course at MIT since the first edition was published. A new theme has been introduced that emphasizes the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming and lazy evaluation, and nondeterministic programming. There are new example sections on higher-order procedures in graphics and on applications of stream processing in numerical programming, and many new exercises. In addition, all the programs have been reworked to run in any Scheme implementation that adheres to the IEEE standard. -
More Joel on Software
Joel, Apress, Blogs, and Blooks ...I was learning the hard way about how to be a publisher and probably spending way too much time looking at web sites and programming than I should have in response to that. Anyway, one day I came across this web site called , which was run by a guy with strong opinions and an unusual, clever writing style, along with a willingness to take on the conventional wisdom. In particular, he was writing this ongoing series about how bad most user interfaces were--mostly because programmers by and large knew, as Joel and I would say, using the same Yiddish--derived NYC vernacular that we both share, "bupkis" about what users really want. And I, like many, was hooked both by the series and the occasional random essay that Joel wrote. And then I had this epiphany: I'm a publisher, I like reading his stuff, why not turn it into a book?...Read the complete Foreword -- Gary Cornell, Cofounder, Apress Since the release of the bestselling title Joel on Software in 2004, requests for a sequel have been relentless. So, we went back to the famed JoelonSoftware.com archives and pulled out a new batch of favorites, many of which have been downloaded over one million times. With Joel's newest book, More Joel on Software, you'll get an even better (not to mention updated) feast of Joel's opinions and impressions on software development, software design, running a software business, and so much more. This is a new selection of essays from the author's web site, http://www.joelonsoftware.com. Joel Spolsky started his weblog in March 2000 in order to offer his insights, based on years of experience, on how to improve the world of programming. This weblog has become infamous among the programming world, and is linked to more than 600 other web sites and translated into 30+ languages! Spolsky's extraordinary writing skills, technical knowledge, and caustic wit have made him a programming guru. With the success of Joel on Software, there has been a strong demand for additional gems and advice, and this book is the answer to those requests. Containing a collection of all--new articles from the original, More Joel on Software has even more of an edge than the original, and the tips for running a business or managing people have far broader application than the software industry. We feel it is safe to say that this is the most useful book you will buy this year. What you'll learn * The best approaches to managing and hiring extraordinary people * Advice for those interested in the software industry as a career and for managers who want to get them * Joel's unique impressions of how to create products and design--good and bad * An "in the trenches" look at how to start and run an effective software business (or any business for that matter) * A true sense of what it takes to create a differentiated, unique, motivated organization Who this book is for Anyone interested in the software business will truly enjoy this book, but in particular this should be required reading for managers of technical businesses. Table of Contents * My First BillG Review * Finding Great Developers * A Field Guide to Developers * Three Management Methods (Introduction) * The Command and Control Management Method * The Econ 101 Management Method * The Identity Management Method * The Perils of JavaSchools * Talk at Yale * Advice for Computer Science College Students * Font Smoothing, Anti-Aliasing, and Subpixel Rendering * A Game of Inches * The Big Picture * Choices = Headaches * It's Not Just Usability * Building Communities with Software * Martian Headsets * Why Are the Microsoft Office File Formats So Complicated? * Where There's Muck, There's Brass * Evidence-Based Scheduling * Strategy Letter VI * Can Your Programming Language Do This? * Making Wrong Code Look Wrong * Foreword to Eric Sink on the Business of Software * Foreword to Micro-ISV: From Vision to Reality * Hitting the High Notes * Bionic Office * Up the Tata Without a Tutu * Simplicity * Rub a Dub Dub * Top Twelve Tips for Running a Beta Test * Seven Steps to Remarkable Customer Service * Picking a Ship Date * Camels and Rubber Duckies * Five Whys * Set Your Priorities -
深入理解LINUX网络内幕
本书系统地阐述了网络的基本概念,并指导你如何用C语言实现。同时描述了Linux网络的全貌,解释了Linux代码是如何工作的,主要网络特性的目的,网络通信的主要问题,以及在不同解决方案间是如何抉择的。同时,本书还包含了大量的流程图和其他图表以帮助读者理解。 -
Coder to Developer
'Two thumbs up' - Gregory V. Wilson, "Dr. Dobbs Journal" (October 2004). No one can disparage the ability to write good code. At its highest levels, it is an art. But no one can confuse writing good code with developing good software. The difference - in terms of challenges, skills, and compensation - is immense. "Coder to Developer" helps you excel at the many non-coding tasks entailed, from start to finish, in just about any successful development project. What's more, it equips you with the mindset and self-assurance required to pull it all together, so that you see every piece of your work as part of a coherent process.Inside, you'll find plenty of technical guidance on such topics as: choosing and using a source code control system; code generation tools - when and why; preventing bugs with unit testing; tracking, fixing, and learning from bugs; application activity logging; streamlining and systematizing the build process; and, traditional installations and alternative approaches. To pull all of this together, the author has provided the source code for Download Tracker, a tool for organizing your collection of downloaded code, that's used for examples throughout this book. The code is provided in various states of completion, reflecting every stage of development, so that you can dig deep into the actual process of building software.But you'll also develop 'softer' skills, in areas such as team management, open source collaboration, user and developer documentation, and intellectual property protection. If you want to become someone who can deliver not just good code but also a good product, this book is the place to start. If you must build successful software projects, it's essential reading. -
More Exceptional C++
More Exceptional C++ continues where Herb Sutter's best-selling Exceptional C++ left off, delivering 40 puzzles that illuminate the most challenging -- and most powerful -- aspects of C++. More Exceptional C++ offers many new puzzles focused on generic programming and the C++ Standard Template Library, including important techniques such as traits and predicates, as well as key considerations in using standard containers and algorithms -- many of them never covered elsewhere. More Exceptional C++ contains a detailed new section (and two appendices) on optimization in single- and multithreaded environments. It also provides important new insights on crucial topics first introduced in Exceptional C++, including exception safety, generic programming, and memory management. For all C++ programmers.