欢迎来到相识电子书!
标签:编程
-
Intel汇编语言程序设计
《国外计算机科学教材系列•Intel汇编语言程序设计(第5版)》全面细致地讲述了汇编语言程序设计的各个方面。从微处理器体系结构、工作机制到指令集;从最基本的编译器链器的使用到高级过程、结构和宏的使用;从用纯汇编编写程序到用C/C++等最新编译器与汇编的混合接口编程;从16位实模式下BIOS、DOS实模式文本及图形程序设计到32位保护模式的Windows程序设计;从磁盘基础知识到Intel指令编码、浮点运算等相关知识都做了深入而细致的讲解。 -
Object-Oriented Programming With ANSI-C
Object-oriented programming is the current cure-all — although it has been around for much more then ten years. At the core, there is little more to it then finally applying the good programming principles which we have been taught for more then twenty years. C++ (Eiffel, Oberon-2, Smalltalk ... take your pick) is the New Language (ed: this book was published in 1993) because it is object-oriented — although you need not use it that way if you do not want to (or know how to), and it turns out that you can do just as well with plain ANSI-C. Only object-orientation permits code reuse between projects — although the idea of subroutines is as old as computers and good programmers always carried their toolkits and libraries with them. This book is not going to praise object-oriented programming or condemn the Old Way. We are simply going to use ANSI-C to discover how object-oriented programming is done, what its techniques are, why they help us solve bigger problems, and how we harness generality and program to catch mistakes earlier. Along the way we encounter all the jargon — classes, inheritance, instances, linkage, methods, objects, polymorphisms, and more — but we take it out of the realm of magic and see how it translates into the things we have known and done all along. Intended Audience: I had fun discovering that ANSI-C is a full-scale object-oriented language. To share this fun you need to be reasonably fluent in ANSI-C to begin with — feeling comfortable with structures, pointers, prototypes, and function pointers is a must. Working through the book you will encounter all the newspeak — according to Orwell and Webster a language "designed to diminish the range of thought" — and I will try to demonstrate how it merely combines all the good programming principles that you always wanted to employ into a coherent approach. As a result, you may well become a more proficient ANSI-C programmer. -
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》。 -
计算机算法的设计与分析
本书是一部设计与分析领域的经典著作,着重介绍了计算机算法设计领域的基本原则和根本原理。书中深入分析了一些计算机模型上的算法,介绍了一些和设计有效算法有关的数据结构和编程技术,为读者提供了有关递归方法、分治方法和动态规划方面的详细实例和实际应用,并致力于更有效算法的设计和开发。同时,对NP完全等问题能否有效求解进行了分析,并探索了应用启发式算法解决问题的途径。另外,本书还提供了大量富有指导意义的习题。 本书可以作为高等院校计算机算法设计与分析课程的本科生或研究生教材,也可以作为计算机理论研究人员、计算机算法设计人员的参考书。 -
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系统的“良好市民”。 -
深入浅出面向对象分析与设计
你是否早已对市面上那些只有在成为专家以后,读起来才有感觉的 OOA&D 书籍感到厌倦?你可能早就听说过 OOA&D 书籍能帮助你写出伟大的软件 — 让老板高兴、客户满意的软件。. 但如何办到呢? 《深入浅出面向对象分析和设计》将告诉你如何分析、设计以及撰写真正面向对象的软件:容易重利用、好维护、可扩展的软件;不再使你心碎的软件;让你增添新功能而不会破坏旧机制的软件。在本书中,你将学到: ·使用诸如封装(encapsulation)与委派(delegation)的 OO 原则建立灵活的应用程序。 ·使用开闭原则(Open-Closed Principle)与单一责任原则(Single-Responsibility Principle)提升程序的重利用性。 ·学习如何将 OO 原则、设计模式及各种开发方法,通通整合到 OOA&D 项目的生命周期里。 ·运用 UML、用例及用例图来确保所有利害关系人都能清楚地进行沟通,协助你交付正确的软件,达到每个人的要求。... -
Visual C++ 技术内幕(第四版)
在前三版的基础上,本书向读者详尽地介绍了Visual C++开发系统和复杂的32位Windows编程技术,全面诠释了Microsoft 的这个强大而复杂的开发工具的功能。 本书从对Windows,Visual C++和应用程序框架的技术性概述入手,讨论了下列课题:基础知识——事件处理,GDI,对话框,内存管理,SDI和MDI,打印,以及帮助;高级课题——多线程,DIB,ODBC,DLL等等。 -
快速软件开发
提高软件开发的速度,按进度计划完成项目,是软件开发项目管理最常见和最难解决的问题。这本书在总结了包括微软公司在内的美国软件业成千上万个软件开发项目的实践经验、研究成果、经验教训的基础上,详细列出了几十种经实践证明可以直接在软件开发中应用,以提高开发速度的最佳实践方法、开发策略、实用技巧等,帮助开发人员和项目经理在了解软件开发中最常见错误的基础上,根据自身实际情况,制定出满足项目进度、成本、质量与其他目标要求的最佳方案。 -
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! -
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. -
UML Distilled
Pressured with tight deadlines, application developers do not have the luxury of keeping completely up-to-date with all of the latest innovations in software engineering. Once in a great while, a tremendous resource comes along that helps these professionals become more efficient. The first two editions of UML Distilled have been perennial best-sellers because of their concise, yet thorough, nature. This eagerly-anticipated third edition allows you to get acquainted with some of the best thinking about efficient object-oriented software design using the latest version of the industry-standard for modeling software: UML 2.0. The author has retained the book's convenient format that has made it an essential resource for anyone who designs software for a living. The book describes all the major UML 2.0 diagram types, what they are intended to do, and the basic notation involved in creating and deciphering them. A true treasure for the software engineering community. -
汇编语言程序设计
《汇编语言程序设计》讲述每种高级语言程序在连接为可执行程序之前,都必须被编译为汇编语言程序,因此对于高级语言程序设计者来说,了解编译器如何生成汇编语言代码十分有用。 -
软件测试的艺术
《软件测试的艺术》(原书第2版)成功、有效地进行软件测试的实用策略和技术: 基本的测试原理和策略 验收测试 程序检查和走查 安装测试 代码检查 模块(单元)测试 错误列表 测试规划与控制 同行评分 独立测试机构 黑盒、白盒测试 调试原理 错误猜测 错误分析 自顶向下与自底向上测试 极限测试 高级测试 测试因特网应用系统 功能和系统测试 电子商务体系结构的高级测试 -
C++程序设计教程
《C++程序设计教程》是《C++程序设计教程》的第二版。然而从指导思想、内容结构、写作特点等方面,都以全新的面貌呈现于读者。全书全部重新执笔,代码全部重写,涵盖了基本C++编程方法的全部技术特征。作者在长期的教学、科研实践以及ACM大学生程序设计竞赛培训工作中,总结出了许多难能可贵的教学经验,能使读者快捷而准确地找到编程技术要领,洞穿C++内部实现要害,直击抽象编程本质。与《C++程序设计教程》配套,《C++课程设计指导》、《C++程序设计习题及解答》、《C++程序设计教程详解》和《C++程序设计教程精粹》也将陆续面世。除此之外,还配有C++程序设计教程课件和源代码供读者下载。 -
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 -
ARM嵌入式系统开发
《ARM嵌入式系统开发:软件设计与优化》从软件设计的角度,全面、系统地介绍了ARM处理器的基本体系结构和软件设计与优化方法。内容包括:ARM处理器基础;ARM/Thumb指令集;C语言与汇编语言程序的设计与优化;基本运算、操作的优化;基于ARM的DSP;异常与中断处理;固件与嵌入式OS;cache与存储器管理;ARMv6体系结构的特点等。全书内容完整,针对各种不同的ARM内核系统结构都有详尽论述,并有大量的例子和源代码。附录给出了完整的ARMv4/v5/Thumb指令的功能、编码、周期定时以及汇编参考。 -
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. -
Beyond Java
Bruce Tate, author of the Jolt Award-winning Better, Faster, Lighter Java has an intriguing notion about the future of Java, and it's causing some agitation among Java developers. Bruce believes Java is abandoning its base, and conditions are ripe for an alternative to emerge. In Beyond Java, Bruce chronicles the rise of the most successful language of all time, and then lays out, in painstaking detail, the compromises the founders had to make to establish success. Then, he describes the characteristics of likely successors to Java. He builds to a rapid and heady climax, presenting alternative languages and frameworks with productivity and innovation unmatched in Java. He closes with an evaluation of the most popular and important programming languages, and their future role in a world beyond Java. If you are agree with the book's premise--that Java's reign is coming to an end--then this book will help you start to build your skills accordingly. You can download some of the frameworks discussed and learn a few new languages. This book will teach you what a new language needs to succeed, so when things do change, you'll be more prepared. And even if you think Java is here to stay, you can use the best techniques from frameworks introduced in this book to improve what you're doing in Java today. -
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.
热门标签
下载排行榜
- 1 梦的解析:最佳译本
- 2 李鸿章全传
- 3 淡定的智慧
- 4 心理操控术
- 5 哈佛口才课
- 6 俗世奇人
- 7 日瓦戈医生
- 8 笑死你的逻辑学
- 9 历史老师没教过的历史
- 10 1分钟和陌生人成为朋友