欢迎来到相识电子书!
标签:Programming
-
Masterminds of Programming
Description Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. Think along with Adin D. Falkoff (APL), James Gosling (Java), Bjarne Stroustrup (C++), and others whose vision and hard work helped shape the computer industry. You'll find advice you can apply to systems you're developing, even if you don't use the specific languages being discussed. Full Description Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. In this unique collection, you'll learn about the processes that led to specific design decisions, including the goals they had in mind, the trade-offs they had to make, and how their experiences have left an impact on programming today. Masterminds of Programming includes individual interviews with: * Adin D. Falkoff: APL * Thomas E. Kurtz: BASIC * Charles H. Moore: FORTH * Robin Milner: ML * Donald D. Chamberlin: SQL * Alfred Aho, Peter Weinberger, and Brian Kernighan: AWK * Charles Geschke and John Warnock: PostScript * Bjarne Stroustrup: C++ * Bertrand Meyer: Eiffel * Brad Cox and Tom Love: Objective-C * Larry Wall: Perl * Simon Peyton Jones, Paul Hudak, Philip Wadler, and John Hughes: Haskell * Guido van Rossum: Python * Luiz Henrique de Figueiredo and Roberto Ierusalimschy: Lua * James Gosling: Java * Grady Booch, Ivar Jacobson, and James Rumbaugh: UML * Anders Hejlsberg: Delphi inventor and lead developer of C# If you're interested in the people whose vision and hard work helped shape the computer industry, you'll find Masterminds of Programming fascinating. -
Pro JavaScript Design Patterns
As a web developer, you’ll already know that JavaScript™ is a powerful language, allowing you to add an impressive array of dynamic functionality to otherwise static web sites. But there is more power waiting to be unlocked--JavaScript is capable of full object-oriented capabilities, and by applying OOP principles, best practices, and design patterns to your code, you can make it more powerful, more efficient, and easier to work with alone or as part of a team. With Pro JavaScript Design Patterns, you’ll start with the basics of object-oriented programming in JavaScript applicable to design patterns, including making JavaScript more expressive, inheritance, encapsulation, information hiding, and more. With that covered, you can kick-start your JavaScript development in the second part of the book, where you’ll find detail on how to implement and take advantage of several design patterns in JavaScript, including composites, decorators, façades, adapters, and many more. Each chapter is packed with real-world examples of how the design patterns are best used and expert advice on writing better code, as well as what to watch out for. Along the way you’ll discover how to create your own libraries and APIs for even more efficient coding. * Master the basics of object-oriented programming in JavaScript, as they apply to design patterns. * Apply design patterns to your kick-start your JavaScript development. * Work through several real-world examples. -
C语言核心技术
C程序员在编写程序时手头一定要有这本书。在这本书中,C 语言专家 Peter Prinz和Tony Crawford为你提供大量的编程参考信息。全书叙述清晰,语句简洁,分析深刻。本书主题包括: C 语言的语法、GNU编译器选项、标准链接库函数、GDB和make、预处理指令、C99特色和扩充。 本书内容丰富,总共包含21章,能够让你深刻了解C 语言关键概念,比如类型转换、动态内存管理、指针处理等。想知道 GNU make 或 GNU 调试器的细节吗?本书开辟专门的章节来讲解。一书在手,程序开发会更加顺利!Peter 和 Tony 所编写的这本书会成为C语言程序员必备的工作利器! 作者简介: Peter Prinz是积极的研讨会组织者和关键课程开发者,向成百上千的Unix和windows系统开发者授课。作为德国IT公司Authensis AG的主要开发者和合伙人,他拥有计算机电话通信软件的丰富开发经验。Peter也是多本有关c/c++软件开发图书的合著者,其中大多数图书是与Ulla Kirch-Prinz合著的,其中就包括0'Reilly出版的《C Pocket Reference》。 -
Programming Collective Intelligence
Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the enormous amount of data created by people on the Internet. With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you've found it. Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general -- all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains: * Collaborative filtering techniques that enable online retailers to recommend products or media * Methods of clustering to detect groups of similar items in a large dataset * Search engine features -- crawlers, indexers, query engines, and the PageRank algorithm * Optimization algorithms that search millions of possible solutions to a problem and choose the best one * Bayesian filtering, used in spam filters for classifying documents based on word types and other features * Using decision trees not only to make predictions, but to model the way decisions are made * Predicting numerical values rather than classifications to build price models * Support vector machines to match people in online dating sites * Non-negative matrix factorization to find the independent features in a dataset * Evolving intelligence for problem solving -- how a computer develops its skill by improving its own code the more it plays a game Each chapter includes exercises for extending the algorithms to make them more powerful. Go beyond simple database-backed applications and put the wealth of Internet data to work for you. "Bravo! I cannot think of a better way for a developer to first learn these algorithms and methods, nor can I think of a better way for me (an old AI dog) to reinvigorate my knowledge of the details." -- Dan Russell, Google "Toby's book does a great job of breaking down the complex subject matter of machine-learning algorithms into practical, easy-to-understand examples that can be directly applied to analysis of social interaction across the Web today. If I had this book two years ago, it would have saved precious time going down some fruitless paths." -- Tim Wolters, CTO, Collective Intellect -
Windows编程启示录
为什么Windows的工作方式是这样的?. 为什么“关闭计算机(Shut Down)”选项要放在开始菜单中? 为什么会设计一个“开始(Start)”按钮? 我怎么才能进入到对话框的消息循环中? 为什么GetWindoeText函数会有着奇怪的行为? 为什么注册表文件会被叫作“蜂房”? 如果我们追溯Windows的历史,就会发现在Windows中许多奇怪的事情都有着合乎逻辑的解释。在理解了这些事情之后,你不仅能够获得开发能力的大大提高,同时也能够避免遭受更多的挫折。Remond Chen在Micorsoft的Windows开发团队中工作了十余年,他将为你揭开那些有必要知道的“Windows内幕”。 Chen风趣的写作风格、深入的洞察力以及引人深思的幽默,使他成为了世界上最优秀的技术博客作者之一(博客地址:http: //blogs.msdn.com/oldnewthing/)。在本书中,他不仅给我们带来了许多幕后的故事,宝贵的技术建议,还带来了许多启发性的轶事;这些都将帮助你最大程度地理解Windows。.. 在本书中,你将了解以下的内容: ·我们如何设计像自动售货机那样有效的用户界面。 ·深入理解窗口和对话框的管理机制。 ·为什么性能优化与我们在直觉上的理解很不一样。 ·COM对象和Visual C++编译器的薄弱之处。 ·向后兼容的关键技术细节——Windows的做法以及这样做的原因。 ·大多数开发人员所不知道的Windows程序安全漏洞。 ·如何使你的程序更好地在Windows系统中运行,做一个Windows系统的“良好市民”。 -
Beginning Python
Beginning Python: From Novice to Professional is the most comprehensive book on the Python ever written. Based on Practical Python, this newly revised book is both an introduction and practical reference for a swath of Python-related programming topics, including addressing language internals, database integration, network programming, and web services. Advanced topics, such as extending Python and packaging/distributing Python applications, are also covered. Ten different projects illustrate the concepts introduced in the book. You will learn how to create a P2P file-sharing application and a web-based bulletin board, and how to remotely edit web-based documents and create games. Author Magnus Lie Hetland is an authority on Python and previously authored Practical Python. He also authored the popular online guide, Instant Python Hacking, on which both books are based. -
How to Think Like a Computer Scientist: Learning with Python
""How to Think Like a Computer Scientist"" is an introduction to programming using Python, one of the best languages for beginners. This is a Free Book -- you can download it from thinkpython.com. But if you would like to make a contribution to this project, you can do it by buying a hardcopy or paying to download the electronic version here. Thank you! -
Programming Perl
Perl is a powerful programming language that has grown in popularity since it first appeared in 1988. The first edition of this book, "Programming Perl," hit the shelves in 1990, and was quickly adopted as the undisputed bible of the language. Since then, Perl has grown with the times, and so has this book. "Programming Perl" is not just a book about Perl. It is also a unique introduction to the language and its culture, as one might expect only from its authors. Larry Wall is the inventor of Perl, and provides a unique perspective on the evolution of Perl and its future direction. Tom Christiansen was one of the first champions of the language, and lives and breathes the complexities of Perl internals as few other mortals do. Jon Orwant is the editor of "The Perl Journal," which has brought together the Perl community as a common forum for new developments in Perl. Any Perl book can show the syntax of Perl's functions, but only this one is a comprehensive guide to all the nooks and crannies of the language. Any Perl book can explain typeglobs, pseudohashes, and closures, but only this one shows how they really work. Any Perl book can say that "my" is faster than "local," but only this one explains why. Any Perl book can have a title, but only this book is affectionately known by all Perl programmers as "The Camel." This third edition of "Programming Perl" has been expanded to cover version 5.6 of this maturing language. New topics include threading, the compiler, Unicode, and other new features that have been added since the previous edition. -
Algorithm Design
Algorithm Design introduces algorithms by looking at the real-world problems that motivate them. The book teaches students a range of design and analysis techniques for problems that arise in computing applications. The text encourages an understanding of the algorithm design process and an appreciation of the role of algorithms in the broader field of computer science. August 6, 2009 Author, Jon Kleinberg, was recently cited in the New York Times for his statistical analysis research in the Internet age. -
Learning Perl, Fourth Edition
"Learning Perl", better known as "the Llama book", starts the programmer on the way to mastery. Written by three prominent members of the Perl community who each have several years of experience teaching Perl around the world, this latest edition has been updated to account for all the recent changes to the language up to Perl 5.8. Perl is the language for people who want to get work done. It started as a tool for UNIX system administrators who needed something powerful for small tasks. Since then, Perl has blossomed into a full-featured programming language used for web programming, database manipulation, XML processing, and system administration - on practically all platforms - while remaining the favorite tool for the small daily tasks it was designed for. You might start using Perl because you need it, but you'll continue to use it because you love it. Informed by their years of success at teaching Perl as consultants, the authors have re-engineered the Llama to better match the pace and scope appropriate for readers getting started with Perl, while retaining the detailed discussion, thorough examples, and eclectic wit for which the Llama is famous. The book includes new exercises and solutions so you can practice what you've learned while it's still fresh in your mind. Here are just some of the topics covered: data structures, minimal matching, threading, data parsing, references, objects, modules, and package implementation. If you ask Perl programmers today what book they relied on most when they were learning Perl, you'll find that an overwhelming majority will point to the Llama. With good reason. Other books may teach you to program in Perl, but this book will turn you into a Perl programmer. -
汇编语言程序设计
《汇编语言程序设计》讲述每种高级语言程序在连接为可执行程序之前,都必须被编译为汇编语言程序,因此对于高级语言程序设计者来说,了解编译器如何生成汇编语言代码十分有用。 -
Learning the bash Shell
This refreshed edition serves as the most valuable guide yet to the bash shell. It's full of practical examples of shell commands and programs guaranteed to make everyday use of Linux that much easier. Includes information on key bindings, command line editing and processing, integrated programming features, signal handling, and much more! O'Reilly's bestselling book on Linux's bash shell is at it again. Now that Linux is an established player both as a server and on the desktop Learning the bash Shell has been updated and refreshed to account for all the latest changes. Indeed, this third edition serves as the most valuable guide yet to the bash shell. As any good programmer knows, the first thing users of the Linux operating system come face to face with is the shell the UNIX term for a user interface to the system. In other words, it's what lets you communicate with the computer via the keyboard and display. Mastering the bash shell might sound fairly simple but it isn't. In truth, there are many complexities that need careful explanation, which is just what Learning the bash Shell provides. If you are new to shell programming, the book provides an excellent introduction, covering everything from the most basic to the most advanced features. And if you've been writing shell scripts for years, it offers a great way to find out what the new shell offers. Learning the bash Shell is also full of practical examples of shell commands and programs that will make everyday use of Linux that much easier. With this book, programmers will learn: * How to install bash as your login shell * The basics of interactive shell use, including UNIX file and directory structures, standard I/O, and background jobs * Command line editing, history substitution, and key bindings * How to customize your shell environment without programming * The nuts and bolts of basic shell programming, flow control structures, command-line options and typed variables * Process handling, from job control to processes, coroutines and subshells * Debugging techniques, such as trace and verbose modes * Techniques for implementing system-wide shell customization and features related to system security -
expert one-on-one J2EE Development without EJB 中文版
乍一看这本书的名字,Expert one on one J2EE development without EJB并没有给人带来太冲击。毕竟关于J2EE的书太多了,而without EJB看上去有点象是故意挑衅EJB的感觉。一本J2EE的书怎么可能会给人带来信念或思维的冲击呢?但是它做到了,它不仅使自己变成了不朽的经典,也使Rod Johnson成为了我最近一年的新偶像。 --xiecc 你的J2EE项目是否耗费了你太多的时间?它们是否难以调试?它们是否效率不彰?也许你还在使用传统的J2EE方案,然而这种主案太过复杂,而且并非真正面向对象。这里的很多问题都与EJB有关:EJB是一种复杂的技术,但它没有兑现自己曾经的承诺。 在这本实战手册中,你将看到另一种截然不同的方案:没有EJB,却可以创建质量更高的应用程序,所需的时间和成本则更低。你将学会如何充分利用各种实用的技巧和工具,包括时下流行的Spring框架和Hibernate两个开源工具。你将看到如何高效地解决企业级应用的核心问题,例如事务管理、持久化、远程调用和web设计。你将了解这种新的方案给可测试性、性能和可伸缩性带来怎样的影响,并亲身体验轻量级架构如何大幅降低项目开发所需的时间和工作量。 自从servlet、EJB、JSP等J2EE技术发布之初,本书作者Rod Johnson就一直在使用这些技术,他对于这些技术的优劣利弊了如指掌。现在,通过这本书,你将可以面对面地分享他的专家经验。 你将从本书学到…… 如何针对自己的应用程序找到最简单、最易维护的架构;在不使用EJB的情况下有效地管理事务;如何利用AOP和loC解决企业级软件开发中的常见问题;web层设计,以web层在设计良好的J2EE应用中的地位;J2EE应用中最有效的数据访问技术,包括JDBC、Hibernate和JDO;如何利用开源产品提升生产率、减少编码量;如何从设计层面上改善性能和可伸缩性。 “传统的J2EE设计思路尤其是EJB日益让架构师和开发者们灰心丧气,我这本书正是为这些人而写的。本书将告诉读者,如何从现在开始用更清晰、更高效的方案去替代EJB,并开始迈向web应用的新时代。” 这本书拥有一大堆“看点”。譬如说,它的作者Rod Johnson拥有10年编写Java程序的经验,目前是Servlet和JDO 2.0两个JSR专家组的成员;再譬如说,书中着力介绍的Spring、Hibernate、WebWork等都是时下流行的开源框架,IoC、AOP之类都是时下流行的概念词汇。而最大的看点就赫然摆在这本书的封面上:“without EJB”。我们曾经在无数的书籍和文章中看到,EJB是J2EE的核心技术之一;而Rod Johnson的这本书竟然宣称,绝大多数的J2EE应用根本不需要EJB。这种近乎挑衅的姿态令任何一个负责的J2EE架构师很难不萌生一探究竟的念头——不论你是打算赞同他还是打算驳斥他。 但所有这些尽皆不是本书最大的价值所在。选择一种架构、一种技术的依据是什么?Rod Johnson认为,应该是基于实践的证据、来自历史项目或亲自试验的经验,而不是任何形式的偶像崇拜或者门户之见。书中谈到了企业应用方方面面的问题和解决办法,而这些方案无一不是这种“循证方法”的产物。除了把这些方案交给读者,Rod Johnson通过这本书希望传达的、更为重要的信息正是“循证”的工作方式——那原本就应该是程序员的工作方式。 -
Java Nio
Many serious Java programmers, especially enterprise Java programmers, consider the new I/O API--called NIO for New Input/Output--the most important feature in the 1.4 version of the Java 2 Standard Edition. The NIO package includes many things that have been missing from previous editions of Java that are critical to writing high-performance, large-scale applications: improvements in the areas of buffer management, scalable network and file I/O, character-set support, and regular expression matching. Most of all, it boosts performance and speed dramatically. Java NIO explores the new I/O capabilities of version 1.4 in detail and shows you how to put these features to work to greatly improve the efficiency of the Java code you write. This compact volume examines the typical challenges that Java programmers face with I/O and shows you how to take advantage of the capabilities of the new I/O features. You?ll learn how to put these tools to work using examples of common, real-world I/O problems and see how the new features have a direct impact on responsiveness, scalability, and reliability. The book includes: * A rundown of the new features in NIO * Basic and advanced I/O Concepts * Binary I/O and the new buffer classes * Memory mapped files and file locking * Character I/O: encoding, decoding and transforming character data * Regular Expressions and the new java.util.regex package * Muliplexing with java.nio Because the NIO APIs supplement the I/O features of version 1.3, rather than replace them, you'll also learn when to use new APIs and when the older 1.3 I/O APIs are better suited to your particular application. Java NIO is for any Java programmer who is interested in learning how to boost I/O performance, but if you're developing applications where performance is critical, such as game computing or large-scale enterprise applications, you'll want to give this book a permanent spot on your bookshelf. With the NIO APIs, Java no longer takes a backseat to any language when it comes to performance. Java NIO will help you realize the benefits of these exciting new features. -
Learning GNU Emacs Third Edition
The third edition of Learning GNU Emacs describes Emacs 21.3 from the ground up, including new user interface features such as an icon-based toolbar and an interactive interface to Emacs customization. A new chapter details how to install and run Emacs on Mac OS X, Windows, and Linux, including tips for using Emacs effectively on those platforms. GNU Emacs is the most popular and widespread of the Emacs family of editors. It is also the most powerful and flexible. Unlike all other text editors, GNU Emacs is a complete working environment--you can stay within Emacs all day without leaving. Learning GNU Emacs, 3rd Edition tells readers how to get started with the GNU Emacs editor. It is a thorough guide that will also "grow" with you: as you become more proficient, this book will help you learn how to use Emacs more effectively. It takes you from basic Emacs usage (simple text editing) to moderately complicated customization and programming. The third edition of Learning GNU Emacs describes Emacs 21.3 from the ground up, including new user interface features such as an icon-based toolbar and an interactive interface to Emacs customization. A new chapter details how to install and run Emacs on Mac OS X, Windows, and Linux, including tips for using Emacs effectively on those platforms. Learning GNU Emacs, third edition, covers: * How to edit files with Emacs * Using the operating system shell through Emacs * How to use multiple buffers, windows, and frames * Customizing Emacs interactively and through startup files * Writing macros to circumvent repetitious tasks * Emacs as a programming environment for Java, C++, and Perl, among others * Using Emacs as an integrated development environment (IDE) * Integrating Emacs with CVS, Subversion and other change control systems for projects with multiple developers * Writing HTML, XHTML, and XML with Emacs * The basics of Emacs Lisp The book is aimed at new Emacs users, whether or not they are programmers. Also useful for readers switching from other Emacs implementations to GNU Emacs. -
Beginning Linux Programming 3rd Edition
What is this book about? If you have some programming experience and are ready to venture into Linux programming, this updated edition of the bestselling entry-level book takes you there. The authors guide you step by step, using construction of a CD database application to give you hands-on experience as you progress from the basic to the complex. You’ll start with fundamental concepts like writing Unix programs in C. You’ll learn basic system calls, file I/O, interprocess communication, and shell programming. You’ll become skilled with the toolkits and libraries for working with user interfaces. The book starts from the basics, explaining how to compile and run your first program. New to this edition are chapters on MySQL® access and administration; programming GNOME and KDE; and Linux standards for portable applications. Coverage of kernel programming, device drivers, CVS, grep, and GUI development environments has expanded. This book gives you practical knowledge for real wor ld application. What does this book cover? In this book, you will learn how to * Develop programs to access files and the Linux environment * Use the GNU compiler, debugger and other development tools * Program data storage aapplications for MySQL and DBM database systems * Write programs that take advantage of signals, processes and threads * Build graphical user interfaces using both the GTK (for GNOME) and Qt (for KDE) libraries * Write device drivers that can be loaded into the Linux kernel * Access the network using TCP/IP sockets * Write scripts that use grep, regular expressions and other Linux facilities Who is this book for? This book is for programmers with some C or C++ experience, who want to take advantage of the Linux development environment. You should have enough Linux familiarity to have installed and configured users on Linux. -
自己动手写操作系统
本书在详细分析操作系统原理的基础上,用丰富的实例代码,一步一步地指导读者用C语言和汇编语言编写出一个具备操作系统基本功能的操作系统框架。本书不同于其他的理论型书籍,而是提供给读者一个动手实践的路线图。书中讲解了大量在开发操作系统中需注意的细节问题,这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个开发过程少走弯路。全书共分7章。附CD-ROM光盘一张。 -
LINUX设备驱动程序
本书揭示了如何给大多数的设备编写驱动程序的信息,这些信息迄今仅通过口头或者隐晦的源代码注释被共享。你不必是一个内核高手就可以理解并享受本书,所需要的只是C以及Unix系统调用方面的背景知识。在不需要特殊的硬件设备就能编译和运行的详细示例的指引下,你将学会如何给字符设备、块设备和网络接口编写驱动程序。PCI、USB和tty(终端)子系统都单列一章。本书为那些对操作系统的工作机制好奇的人提供了地址空间、异步事件和I/O等方面的阐述。
热门标签
下载排行榜
- 1 梦的解析:最佳译本
- 2 李鸿章全传
- 3 淡定的智慧
- 4 心理操控术
- 5 哈佛口才课
- 6 俗世奇人
- 7 日瓦戈医生
- 8 笑死你的逻辑学
- 9 历史老师没教过的历史
- 10 1分钟和陌生人成为朋友