DEV
Web数据挖掘:将客户数据转化为客户价值 豆瓣
作者: Gordon S.linoff / Michael j.a.berry 电子工业出版社 2004 - 3
Web正在改变着整个业务领域!业务领域的不断改变影响着数据挖掘技术,数据挖掘也在不断地改变着整个业务领域。本书全面地展示了Web对于数据挖掘在业务方面的影响,列举了大量Web数据挖掘的实例,并将数据挖掘置于一个学习环境中,描述了一些对于任何关注客户的企业都非常重要的概念,以及面向Web的与业务相关的分析类型。
本书适合于Web数据挖掘、Web分析及其他相关领域的技术专业人员、经营管理人员阅读,也可以作为大专院校相关课程的重要辅导教材。
C程序设计语言 豆瓣
作者: Brian W.Kernighan / Dennis M.Ritchie 清华大学出版社 1998 - 4
C程序设计语言于1978年出了第一版,此后,计算机世界经历了一场革命,C语言也有了合理的变化。1988年美国国家标准学会就C语言的主义制订出了ANSI C标准。本书第二版就是按这个标准来描述C语言的。全书八章,分别分:1.指导性绪论;2.数据类型、运算符与表达式;3.控制流;4.函数与结构;5.指针与数组;6.结构;7.输入输出;8.UNIX系统界面。书后附录为:A.参考手册;B.标准库;C.语言
UNIX编程艺术 豆瓣
9.3 (15 个评分) 作者: [美国] Eric S·Raymond 译者: 姜宏 / 何源 电子工业出版社 2006 - 2
本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S. Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为本书贡献了宝贵的内容。本书内容涉及社群文化、软件开发设计与实现,覆盖面广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。
2009年1月30日 想读
DEV
Understanding MySQL Internals 豆瓣
作者: Sasha Pachev O'Reilly Media 2007 - 4
Although MySQL's source code is open in the sense of being publicly available, it's essentially closed to you if you don't understand it. In this book, Sasha Pachev - a former member of the MySQL Development Team - provides a comprehensive tour of MySQL 5 that shows you how to figure out the inner workings of this powerful database. You'll go right to heart of the database to learn how data structures and convenience functions operate, how to add new storage engines and configuration options, and much more. The core of "Understanding MySQL Internals" begins with an Architecture Overview that provides a brief introduction of how the different components of MySQL work together. You then learn the steps for setting up a working compilable copy of the code that you can change and test at your pleasure. Other sections of the book cover: core server classes, structures, and API; the communication protocol between the client and the server; configuration variables, the controls of the server; includes a tutorial on how to add your own; thread-based request handling - understanding threads and how they are used in MySQL; an overview of MySQL storage engines; the storage engine interface for integrating third-party storage engines; the table lock manager; the parser and optimizer for improving MySQL's performance; integrating a transactional storage engine into MySQL; and the internals of replication. "Understanding MySQL Internals" provides unprecedented opportunities for developers, DBAs, database application programmers, IT departments, software vendors, and computer science students to learn about the inner workings of this enterprise-proven database. With this book, you will soon reach a new level of comprehension regarding database development that will enable you to accomplish your goals. It's your guide to discovering and improving a great database.
软件观念革命 豆瓣 Goodreads
作者: [美] Alan Cooper / [美] Robert M. Reimann 译者: 詹剑锋 / 张知非 电子工业出版社 2005 - 5
本书是一本设计数字化产品的启蒙书,它在帮助您设计更有吸引力、更有效的对话框的同时,还将帮助您理解用户如何了解、学习您的软件,以及与之交互的方式。本书着重讲述了有关交互设计的原理和方法:第一篇强调设计过程,以及对用户的系统理解;第二篇提供了策略原理和工具;第三篇更深地钻研了战术性的问题。
本书探索了一个独特的设计领域,即复杂系统行为的设计。本书论述了种具有革命意义的设计观念——目标导向设计过程。其作者Alan Cooper是一位在交互设计前沿有着10年设计咨询经验及25年计算机工业界经验的卓越权威。
本书是一本难得的大师经典之作,是一本数字产品规划师、项目经理、设计师、可用性从业人员,以及程序员都想得到的书——这是一本使得我们的软件和我们的世界变得更美好的书!
2009年2月14日 想读
DEV
Binary Hacks ―ハッカー秘伝のテクニック100選 豆瓣
作者: 高林 哲 / 鵜飼 文敏 オライリー・ジャパン 2006 - 11
Binary Hacks from O'Reilly Japan is a book about low-level programming on GNU/Linux systems. The goal of the book is to offer useful but not necessarily very well-known techniques as many as we can to readers.
Table of Contents
Chapter 1. Introduction
1. Introduction to Binary Hacks
2. Terminology of Binary Hacks
3. Using "file" to tell file types
4. Using "od" to dump binary files
Chapter 2. Object Files Hacks
5. Introduction to ELF
6. Static libraries and dynamic libraries
7. Using "ldd" to check dependencies of shared libraries
8. Using "readelf" to see information of ELF files
9. Using "objdump" to dump object files
10. Using "objdump" to disassemble object files
11. Using "objcopy" to embed data in executables
12. Using "nm" to see lists of symbols in object files
13. Using "strings" to extract strings from binary files
14. Using "c++filt" to demangle C++ symbols
15. Using "addr2line" to get file names and line numbers by addresses
16. Using "strip" to delete symbols from object files
17. Using "ar" to modify static libraries
18. How to link C and C++ programs
19. How to avoid symbol collision issues
20. Why PIC code is used for shared libraries on GNU/Linux systems
21. Using "statifier" to create pseudo static executables from dynamic executables
Chapter 3. GNU Programming Hacks
22. Introduction to GCC extensions
23. Using inline assembler with GCC
24. Using GCC's builtin functions for optimization
25. Writing "Hello World" without using glibc
26. Using TLS (Thread Local Storage)
27. Switching glibc's internal libraries by system capabilities
28. Changing behavior of programs by linked libraries
29. Reducing exported symbols of libraries
30. Using versioned symbols to manage compatibility
31. Calling functions before main()
32. How GCC generates trampoline code at runtime
33. Allowing and disallowing executable flags of code on stacks
34. Running code on heaps
35. Creating PIE (Position Independent Executable)
36. Writing synchronized methods in C++
37. Creating singletons in C++
38. Understanding g++'s exceptions (throw)
39. Understanding g++'s exceptions (SjLj)
40. Understanding g++'s exceptions (DWARF2)
41. Understanding runtime cost of g++'s exceptions
Chapter 4. Secure Programming Hacks
42. Introduction to GCC secure programming
43. Using "-ftrapv" to detect integer overflows
44. Using "Mudflap" to detect buffer overflows
45. Using "-D_FORTIFY_SOURCE" to detect buffer overflows
46. Using "-fstack-protector" to protect stacks
47. Why you should use unsigned constants to do bitmask
48. Why big shift operations are dangerous
49. Why you should care difference between 0 and NULL on 64-bit systems
50. Thread-safe functions defined by POSIX
51. Writing signal handlers in a safe manner
52. Using "sigwait" to process async signals synchronously
53. Using "sigsafe" to write signal processing safely
54. Using "Valgrind" to detect memory leaks
55. Using "Valgrind" to detect invalid memory access
56. Using "Helgrind" to debug multi-threaded programs
57. Using "fakeroot" to run programs with fake root privilege
Chapter 5. Runtime Hacks
58. How programs reach main()
59. How system calls are called
60. Using "LD_PRELOAD" to switch shared libraries
61. Using "LD_PRELOAD" to wrap existing functions
62. Using "dlopen" to do dynamic linking
63. Showing backtraces with C programs
64. Checking running process's absolute path
65. Checking loaded shared libraries of running programs
66. Checking memory maps of running programs
67. Using "libbfd" to list symbols
68. Demangling C++ symbols at runtime
69. Using "ffcall" to call functions with dynamic signatures
70. Using "libdwarf" to get debug information
71. Using "dumper" to pretty-print struct variables
72. How to load object files yourself
73. Using "libunwind" to control call chains
74. Using "GNU lightning" to generate code in a portable manner
75. Getting addresses of stacks
76. Using "sigaltstack" to handle stack overflows
77. Hooking entering and exiting of functions
78. Modifying contexts of programs in signal handlers
79. Getting values of program counters
80. Rewriting your programs at runtime
81. Using "SIGSEGV" to validate accessibility of addresses
82. Using "strace" to trace system calls
83. Using "ltrace" to trace function calls in shared libraries
84. Using "Jockey" to record and replay programs
85. Using "prelink" to improve programs starting up time
86. Using 'livepatch" to patch running programs
Chapter 6. Profilers and Debuggers Hacks
87. Using "gprof" to profile programs
88. Using "sysprof" to profile systems very easily
89. Using "oprofile" to profile systems
90. Using "GDB" to control running programs
91. Using debugging support of hardware
92. Setting break points in your C programs
Chapter 7. Misc Hacks
93. How Boehm GC works
94. Why you should be careful about memory ordering of processors
95. Light-weight concurrent processing with PCL (Portable Coroutine Library)
96. Counting clock counts of CPUs
97. How floating numbers are expressed in bits
98. What's special about x86's floating numbers instructions
99. Raising signals for operations resulting infinite or NAN.
100. Further reading
2009年3月15日 想读
DEV
Introduction to Algorithms 豆瓣 Goodreads 谷歌图书
作者: Thomas H. Cormen / Charles E. Leiserson The MIT Press 2001 - 9
自第一版出版以来,Introduction to Algorithms已经成为世界范围内广泛使用的大学教材和专业人员的标准参考手册。书中全面论述了算法的内容,从一定深度上涵盖了算法的诸多方面,同时其讲授和分析方法又兼顾了各个层次读者的接受能力。各章内容自成体系,可作为独立单元学习。
Linux操作系统之奥秘 豆瓣
作者: 邱世华 电子工业出版社 2008 - 5
本书是台湾鸿海精密股份有限公司资深工程师邱世华先生倾心打造的一本关于Linux整体概念的工具书。本书跳出了以往艰涩难懂的Linux书籍的架构,由实际出发,用最实际的操作步骤及开机流程来说明整个Linux的架构,分别用进入系统、管理系统和Gull界面三篇介绍了Linux的基本概念、检查系统软硬件的搭配状况的方法,以及构建于Linux之上的GUI界面。本书所要带给读者的,不是速成地直接找到问题的解决之道,而是通过建立对整体Linux操作系统架构的理解,让所有用户在问题发生时了解问题原因所在,以及防范的方法。
本书适合热衷于Linux XEN技术的读者,以及所有对操作系统感兴趣的读者阅读和参考。
2009年3月27日 想读
DEV
High Performance Web Sites 豆瓣
作者: Steve Souders O'Reilly Media 2007 - 9
Want your web site to display more quickly? This book presents 14 specific rules that will cut 25% to 50% off response time when users request a page. Author Steve Souders, in his job as Chief Performance Yahoo!, collected these best practices while optimizing some of the most-visited pages on the Web. Even sites that had already been highly optimized, such as Yahoo! Search and the Yahoo! Front Page, were able to benefit from these surprisingly simple performance guidelines. The rules in High Performance Web Sites explain how you can optimize the performance of the Ajax, CSS, JavaScript, Flash, and images that you've already built into your site -- adjustments that are critical for any rich web application. Other sources of information pay a lot of attention to tuning web servers, databases, and hardware, but the bulk of display time is taken up on the browser side and by the communication between server and browser. High Performance Web Sites covers every aspect of that process. Each performance rule is supported by specific examples, and code snippets are available on the book's companion web site. The rules include how to: * Make Fewer HTTP Requests * Use a Content Delivery Network * Add an Expires Header * Gzip Components * Put Stylesheets at the Top * Put Scripts at the Bottom * Avoid CSS Expressions * Make JavaScript and CSS External * Reduce DNS Lookups * Minify JavaScript * Avoid Redirects * Remove Duplicates Scripts * Configure ETags * Make Ajax Cacheable If you're building pages for high traffic destinations and want to optimize the experience of users visiting your site, this book is indispensable. "If everyone would implement just 20% of Steve's guidelines, the Web would be a dramatically better place. Between this book and Steve's YSlow extension, there's really no excuse for having a sluggish web site anymore." -Joe Hewitt, Developer of Firebug debugger and Mozilla's DOM Inspector "Steve Souders has done a fantastic job of distilling a massive, semi-arcane art down to a set of concise, actionable, pragmatic engineering steps that will change the world of web performance." -Eric Lawrence, Developer of the Fiddler Web Debugger, Microsoft Corporation
MySQL Stored Procedure Programming 豆瓣
作者: Guy Harrison / Steven Feuerstein O'Reilly Media 2006 - 4
The implementation of stored procedures in MySQL 5.0 a huge milestone - one that is expected to lead to widespread enterprise adoption of the already extremely popular MySQL database. If you are serious about building the web-based database applications of the future, you need to get up to speed quickly on how stored procedures work - and how to build them the right way. This book, destined to be the bible of stored procedure development, is a resource that no real MySQL programmer can afford to do without. In the decade since MySQL burst on the scene, it has become the dominant open source database, with capabilities and performance rivaling those of commercial RDBMS offerings like Oracle and SQL Server. Along with Linux and PHP, MySQL is at the heart of millions of applications. And now, with support for stored procedures, functions, and triggers in MySQL 5.0, MySQL offers the programming power needed for true enterprise use. MySQL's new procedural language has a straightforward syntax, making it easy to write simple programs. But it's not so easy to write secure, easily maintained, high-performance, and bug-free programs. Few in the MySQL world have substantial experience yet with stored procedures, but Guy Harrison and Steven Feuerstein have decades of combined expertise. In "MySQL Stored Procedure Programming", they put that hard-won experience to good use. Packed with code examples and covering everything from language basics to application building to advanced tuning and best practices, this highly readable book is the one-stop guide to MySQL development. It consists of four major sections: MySQL stored programming fundamentals - tutorial, basic statements, SQL in stored programs, and error handling; Building MySQL stored programs - transaction handling, built-in functions, stored functions, and triggers; MySQL stored programs in applications - using stored programs with PHP, Java, Perl, Python, and .NET (C# and VB.NET); and, Optimizing MySQL stored programs - security, basic and advanced SQL tuning, optimizing stored program code, and programming best practices. A companion web site contains many thousands of lines of code, that you can put to use immediately. Guy Harrison is Chief Architect of Database Solutions at Quest Software and a frequent speaker and writer on MySQL topics. Steven Feuerstein is the author of "Oracle PL/SQL Programming", the classic reference for Oracle stored programming for more than ten years. Both have decades of experience as database developers, and between them they have authored a dozen books.
Pro OpenSolaris 豆瓣
作者: Harry Foxwell Apress 2009 - 4
OpenSolaris is a rapidly evolving operating system with roots in Solaris 10, suitable for deployment on laptops, desktop workstations, storage appliances, and data center servers from the smallest single--purpose systems to the largest enterprise--class systems. The growing OpenSolaris community now has hundreds of thousands of participants and users in government agencies, commercial businesses, and universities, with more than 100 user groups around the world contributing to the use and advancement of OpenSolaris. New releases of OpenSolaris become available every six months, with contributions from both Sun engineers and OpenSolaris community members; this book covers the OpenSolaris 2008.11 release. Pro OpenSolaris was written to demonstrate that you can host your open source applications and solutions on OpenSolaris, taking advantage of its advanced features such as containers and other forms of virtualization, the ZFS file system, and DTrace. It's assumed that you are already fairly knowledgeable about developing on Linux systems, so the authors give an overview of the similarities and differences between Linux and OpenSolaris, and then present details on how to use the Service Management Facility (SMF), ZFS, zones, and even a bit of DTrace. They also provide pointers to the many project communities associated with new OpenSolaris features. Special focus is given to web development using familiar applications such as Apache, Tomcat, and MySQL, along with the NetBeans IDE, and showing you how to exploit some of OpenSolaris's unique technologies. What you'll learn * Discover the secrets of the ZFS, the most powerful file system ever conceived * Explore OpenSolaris AMP (Apache, MySQL, PHP) and GlassFish in the context of Web 2.0 and Linux/Solaris, respectively * Familiarize yourself with the new security administration features of OpenSolaris, including changes in DTrace Who this book is for Linux system administrators and programmers who would like to know what they have missed since Solaris became an open source operating system.
2009年4月12日 想读
DEV
演说之禅 豆瓣
Presentation Zen: Simple Ideas on Presentation Design and Delivery
7.3 (10 个评分) 作者: Garr Reynolds 译者: 王佑 / 汪亮 电子工业出版社 2009 - 1
这本书是使读者从幻灯片演示制作的必然王国走向自由王国的最好读物。与目前市场中关于幻灯片制作方面的其他图书不同,这部书讲解的不是幻灯片软件的功能和操作,而是如何从思想上、方法上来思考幻灯片演示。因此本书适合于那些经常使用幻灯片,但是希望使自己制作幻灯片更赏心悦目、形神兼具的读者所使用。
2009年5月7日 想读
DEV
Windows NT File System Internals 豆瓣
作者: Rajeev Nagar O'Reilly 1997 - 9
Windows NT File System Internals presents the details of the NT I/O Manager, the Cache Manager, and the Memory Manager from the perspective of a software developer writing a file system driver or implementing a kernel-mode filter driver. The book provides numerous code examples included on diskette, as well as the source for a complete, usable filter driver.
This book appeals to a wide audience: system programmers implementing kernel-mode code such as file systems, device drivers, network redirectors, or filter drivers; system administrators who simply want to learn more about the systems they manage; software engineers interested in NT internals; and computer science students examining the intricacies of file system technology.
Topics covered in the book include:
An introduction to NT system components
The NT I/O Manager
The NT Virtual Memory Manager
The NT Cache Manager
Structured driver development under Windows NT
Writing a file system driver<il>Writing a filter driver
2009年6月17日 想读
DEV
Code Reading 豆瓣
作者: 迪欧米迪斯 中国电力出版社 2004 - 4
2004年美国Jolt大奖入围作品。
如果你是个程序员的话,那么你就需要本书。可能导致我们阅读代码的原因是:我们不得不去修复它其中所包含的错误;或是对它进行遍查(inspect);或者是改善它。我们阅读代码的方式可能和工程师检查机械的方式一样——找出它的工作原理。或者我们阅读代码的目的是对代码进行清理——找出其中可以被重用的部分。阅读代码有着它自身的技巧,并需要我们能够在重要场合对采用何种技术有着判断能力。在这本不可或缺的书中,Diomidis Spinellis使用了超过600个来自现实世界中的例子来向我们展示如何鉴别好的(或坏的)代码:如何去阅读它,从中去找寻什么,以及如何利用这种技巧来提升我们自身编写的代码的品质。记住这个事实:如果我们养成了阅读好代码的习惯,我们就能写出更高品质的代码。
2009年7月24日 想读
DEV
Large-Scale C++ Software Design 豆瓣
作者: John Lakos Addison-Wesley Professional 1996 - 7
Developing a large-scale software system in C++ requires more than just a sound understanding of the logical design issues covered in most books on C++ programming. To be successful, you will also need a grasp of physical design concepts that, while closely tied to the technical aspects of development, include a dimension with which even expert software developers may have little or no experience. This is the definitive book for all C++ software professionals involved in large development efforts such as databases, operating systems, compilers, and frameworks. It is the first C++ book that actually demonstrates how to design large systems, and one of the few books on object-oriented design specifically geared to practical aspects of the C++ programming language. In this book, Lakos explains the process of decomposing large systems into physical (not inheritance) hierarchies of smaller, more manageable components. Such systems with their acyclic physical dependencies are fundamentally easier and more economical to maintain, test, and reuse than tightly interdependent systems.In addition to explaining the motivation for following good physical as well as logical design practices, Lakos provides you with a catalog of specific techniques designed to eliminate cyclic, compile-time, and link-time (physical) dependencies. He then extends these concepts from large to very large systems. The book concludes with a comprehensive top-down approach to the logical design of individual components. Appendices include a valuable design pattern "Protocol Hierarchy" designed to avoid fat interfaces while minimizing physical dependencies; the details of implementing an ANSI C compatible C++ procedural interface; and a complete specification for a suite of UNIX-like tools to extract and analyze physical dependencies. Practical design rules, guidelines, and principles are also collected in an appendix and indexed for quick reference. 0201633620B04062001
2009年7月28日 想读
DEV
观止 豆瓣
Showstopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft
作者: [美] G·Pascal Zachary 译者: 张银奎 机械工业出版社 2009
比尔·盖茨和他的微软公司之所以能够取得巨大的成功,最重要的原因就是他们能够展望未来。微软既不满足于在应用软件方面不错的市场份额,也不满足于在关键的操作系统业务上依靠DOS和Windows获得的显著优势,他们一直在展望未来。而现在微软的未来被称为Windows NT。作为 最先进的软件创新,NT也许会在全世界直到下个世纪的范围内重新定义计算的标准。NT赋予廉价的个人计算机的能力堪比庞大的大型机——而且并没有牺牲其内在的灵活性和个人计算机的优点。
本书讲述的就是这个计算机技术领域惊人突破背后的故事。掀开一层层神秘的面纱,这个惊人的故事揭示了成功创新的艰难和痛苦。如今,通过编写最先进的代码,依靠少数具有远见卓识的天才的想象力,以及巨大而昂贵的程序员和测试员团队的合作,美国已经主宰了全球软件产业。盖茨——既是一个管理天才,也是一个有技术远见的人——他在微软内推动了一种可控的混乱气氛,而Windows NT的故事极佳的表现了这种风气。大卫.卡特勒是盖茨在1988年招募的传奇程序员,他设计的NT用了5年时间、15亿美金才得以完成。在那大部分时间里,有超过200名测试员、开发员和技术员为这个巨大的软件工作。
本书集中表现了卡特勒的反复无常,激励和鞭策团队的能力,色彩鲜明地描述了这个巨大企业的人间戏剧,揭示了他们的压力、失望以及最终胜利。而胜利来自于战胜没完没了的最后期限,与对手的竞争,与不可避免又无处不在的程序缺陷的无休止的斗争——其中可能就包括致命的“showstopper”类问题。
本书吸引入胜、生动形象、通俗易懂,展示了重大进展背后各种不同寻常的人物:闹独立的人,组织活动的人,解决问题的人,激起行动的人。即使是扭打在一起威胁要把他们拆开的时候,卡特勒和他的团队仍然在兴奋地搜寻关于计算的圣杯。
2009年8月10日 想读 看着挺忽悠的样子,不过既然这么多人推...还是抽空看看...
DEV
计算机图形学 豆瓣
Computer Graphics with OpenGL, 3rd Edition
作者: (美)赫恩(Donald Hearn) / (美)M.Pauline Baker 译者: 宋继强 / 蔡敏 电子工业出版社 2005 - 6
本书是一本内容丰富、取材新颖的计算机图形学著作,并在其前一版的基础上进行了全面扩充,增加了许多新的内容,覆盖了近年来计算机图形学的最新发展与成就。全书层次分明、重点突出,并附有使用OpenGL编写的大量程序以及各种效果图,是一本难得的优秀教材。

本书共分为15章,全面系统地讲解了计算机图形学的基本概念和相关技术。作者首先对计算机图形学进行综述;然后讲解二维图形的对象表示、算法和应用,以及三维图形的相关技术、建模和变换;接着介绍光照模型、颜色模型和动画技术。本书还新增了有关层次建模和图形文件格式的介绍,最后的附录给出了计算机图形学中用到的基本数学概念。

本书可作为信息技术等相关专业本科生和研究生和研究生的教材的教材或参考书,也可以作为计算机图形学工作者的参考书。
2009年8月10日 想读
DEV