[Document] share mấy cuốn TA về lập trình rất hay |
10/08/2013 15:03:16 (+0700) | #1 | 278055 |
nhanlaihong
Member
|
0 |
|
|
Joined: 17/03/2011 22:30:58
Messages: 15
Offline
|
|
1,Jeff Atwood, "Effective Programming: More Than Writing Code"
ISBN: 147830054X | 2012 | EPUB/MOBI | 278 pages | 5 MB/4 MB
Jeff Atwood began the Coding Horror blog in 2004, and is convinced that it changed his life. He needed a way to keep track of software development over time - whatever he was thinking about or working on. He researched subjects he found interesting, then documented his research with a public blog post, which he could easily find and refer to later. Over time, increasing numbers of blog visitors found the posts helpful, relevant and interesting. Now, approximately 100,000 readers visit the blog per day and nearly as many comment and interact on the site. Effective Programming: More Than Writing Code is your one-stop shop for all things programming. Jeff writes with humor and understanding, allowing for both seasoned programmers and newbies to appreciate the depth of his research. From such posts as "The Programmer's Bill of Rights" and "Why Cant Programmers... Program?" to "Working With the Chaos Monkey," this book introduces the importance of writing responsible code, the logistics involved, and how people should view it more as a lifestyle than a career. TABLE OF CONTENTS - Introduction - The Art of Getting ~love~ Done - Principles of Good Programming - Hiring Programmers the Right Way - Getting Your Team to Work Together - The Batcave: Effective Workspaces for Programmers - Designing With the User in Mind - Security Basics: Protecting Your Users' Data - Testing Your Code, So it Doesn't Suck More Than it Has To - Building, Managing and Benefiting from a Community - Marketing Weasels and How Not to Be One - Keeping Your Priorities Straight EXCERPT FROM THE BOOK As a software developer, you are your own worst enemy. The sooner you realize that, the better off you'll be.I know you have the best of intentions. We all do. We're software developers; we love writing code. It's what we do. We never met a problem we couldn't solve with some duct tape, a jury-rigged coat hanger and a pinch of code. But Wil Shipley argues that we should rein in our natural tendencies to write lots of code: The fundamental nature of coding is that our task, as programmers, is to recognize that every decision we make is a trade-off. To be a master programmer is to understand the nature of these trade-offs, and be conscious of them in everything we write.In coding, you have many dimensions in which you can rate code: Brevity of codeFeaturefulnessSpeed of executionTime spent codingRobustnessFlexibility Now, remember, these dimensions are all in opposition to one another. You can spend three days writing a routine which is really beautiful and fast, so you've gotten two of your dimensions up, but you've spent three days, so the "time spent coding" dimension is way down.So, when is this worth it? How do we make these decisions? The answer turns out to be very sane, very simple, and also the one nobody, ever, listens to: Start with brevity. Increase the other dimensions as required by testing. I couldn't agree more. I've given similar advice when I exhorted developers to Code Smaller. And I'm not talking about a reductio ad absurdum contest where we use up all the clever tricks in our books to make the code fit into less physical space. I'm talking about practical, sensible strategies to reduce the volume of code an individual programmer has to read to understand how a program works. Here's a trivial little example of what I'm talking about: if (s == String.Empty)if (s == "") It seems obvious to me that the latter case is... ...buy the book to read more!
LINK:
http://clz.to/9zpkxwzl
http://depositfiles.com/files/hriru9yq5
http://netload.in/dateiSapewvqQ7e/EffectiveProgramming-MorethanWritingCode.rar.htm
http://netload.in/dateix0bFL8T6eN/EffectiveProgramming-MorethanWritingCode.rar.htm
http://rapidgator.net/file/b6c4d816b7c4c4282df844e48c883478/Effective_Programming_-_More_than_Writing_Code.rar.html
http://ul.to/uquf6jr9
2,Kevlin Henney, "97 Things Every Programmer Should Know: Collective Wisdom from the Experts"
English | 2010 | ISBN-10: 0596809484 | EPUB, MOBI | 258 pages | 3,4 + 3,7 MB
Tap into the wisdom of experts to learn what every programmer should know, no matter what language you use. With the 97 short and extremely useful tips for programmers in this book, you'll expand your skills by adopting new approaches to old problems, learning appropriate best practices, and honing your craft through sound advice.
With contributions from some of the most experienced and respected practitioners in the industry--including Michael Feathers, Pete Goodliffe, Diomidis Spinellis, Cay Horstmann, Verity Stob, and many more--this book contains practical knowledge and principles that you can apply to all kinds of projects.
A few of the 97 things you should know:
"Code in the Language of the Domain" by Dan North
"Write Tests for People" by Gerard Meszaros
"Convenience Is Not an -ility" by Gregor Hohpe
"Know Your IDE" by Heinz Kabutz
"A Message to the Future" by Linda Rising
"The Boy Scout Rule" by Robert C. Martin (Uncle Bob)
"Beware the Share" by Udi Dahan
LINK:
http://depositfiles.com/files/aaaak9cbg
http://clz.to/nq7yafo1
http://ul.to/lz9kgzgz
http://netload.in/dateixakVbP1KbX/97ThingsEveryProgrammerShouldKnow.rar.htm
3,Stefan M. Moser, Po-Ning Chen, "A Student's Guide to Coding and Information Theory"
2012 | ISBN-10: 1107015839, 1107601967 | 206 pages | PDF | 7 MB
This easy-to-read guide provides a concise introduction to the engineering background of modern communication systems, from mobile phones to data compression and storage. Background mathematics and specific engineering techniques are kept to a minimum so that only a basic knowledge of high-school mathematics is needed to understand the material covered. The authors begin with many practical applications in coding, including the repetition code, the Hamming code and the Huffman code. They then explain the corresponding information theory, from entropy and mutual information to channel capacity and the information transmission theorem. Finally, they provide insights into the connections between coding theory and other fields. Many worked examples are given throughout the book, using practical applications to illustrate theoretical definitions. Exercises are also included, enabling readers to double-check what they have learned and gain glimpses into more advanced topics, making this perfect for anyone who needs a quick introduction to the subject.
LINK:
http://clz.to/3cluhpam
http://depositfiles.com/files/b7r0y7ma5
http://netload.in/dateiSoHcYx5Aw2/AstudentsGuidetoCodingandInformationTheory.rar.htm
http://netload.in/datei174EpH6gTa/AstudentsGuidetoCodingandInformationTheory.rar.htm
http://ul.to/hj8akmfa
4,Victor Pankratius, "Fundamentals of Multicore Software Development"
English | ISBN: 143981273X | 2012 | PDF | 330 pages | 4 MB
With multicore processors now in every computer, server, and embedded device, the need for cost-effective, reliable parallel software has never been greater. By explaining key aspects of multicore programming, Fundamentals of Multicore Software Development helps software engineers understand parallel programming and master the multicore challenge.
Accessible to newcomers to the field, the book captures the state of the art of multicore programming in computer science. It covers the fundamentals of multicore hardware, parallel design patterns, and parallel programming in C++, .NET, and Java. It also discusses manycore computing on graphics cards and heterogeneous multicore platforms, automatic parallelization, automatic performance tuning, transactional memory, and emerging applications.
As computing power increasingly comes from parallelism, software developers must embrace parallel programming. Written by leaders in the field, this book provides an overview of the existing and up-and-coming programming choices for multicores. It addresses issues in systems architecture, operating systems, languages, and compilers.
LINK:
http://clz.to/lswjbxcb
http://depositfiles.com/files/dhlfi49kx
http://lumfile.se/emxg3mbfm204/Fundamentals_of_Multicore_Software_Development.rar.html
http://netload.in/datei4tpjED0vCi/FundamentalsofMulticoreSoftwareDevelopment.rar.htm
http://netload.in/datei5sea8CjNK8/FundamentalsofMulticoreSoftwareDevelopment.rar.htm
http://ul.to/8qz3rkyy
5,Maureen Sprankle, Jim Hubbard - Problem Solving and Programming Concepts (9th Edition)
Published: 2011-03-05 | ISBN: 0132492644 | PDF | 512 pages | 3 MB
Problem Solving and Programming Concepts, 9/e, is a core or supplementary text for one-semester, freshman/sophomore-level introductory courses taken by programming majors in Problem Solving for Programmers, Problem Solving for Applications, any Computer Language Course, or Introduction to Programming.
Revised to reflect the most current issues in the programming industry, this widely adopted text emphasizes that problem solving is the same in all computer languages, regardless of syntax. Sprankle and Hubbard use a generic, non-language-specific approach to present the tools and concepts required when using any programming language to develop computer applications. Designed for students with little or no computer experience — but useful to programmers at any level — the text provides step-by-step progression and consistent in-depth coverage of topics, with detailed explanations and many illustrations.
LINK:
http://clz.to/zekmivtk
http://depositfiles.com/files/44z8slh43
http://netload.in/dateikdPpM1dglp/ProblemSolvingandProgrammingConcepts.rar.htm
http://netload.in/dateit3LwrgvKxm/ProblemSolvingandProgrammingConcepts.rar.htm
http://ul.to/8siheurl
6,Mike McShaffry, David Graham, "Game Coding Complete, 4th Edition"
ISBN: 1133776574 | 2012 | PDF | 960 pages | 7 MB
Welcome to Game Coding Complete, Fourth Edition, the newest edition of the essential, hands-on guide to developing commercial-quality games. Written by two veteran game programmers, the book examines the entire game development process and all the unique challenges associated with creating a game. In this excellent introduction to game architecture, you'll explore all the major subsystems of modern game engines and learn professional techniques used in actual games, as well as Teapot Wars, a game created specifically for this book. This updated fourth edition uses the latest versions of DirectX and Visual Studio, and it includes expanded chapter coverage of game actors, AI, shader programming, LUA scripting, the C# editor, and other important updates to every chapter. All the code and examples presented have been tested and used in commercial video games, and the book is full of invaluable best practices, professional tips and tricks, and cautionary advice.
LINK:
http://clz.to/2s0j5tzz
http://depositfiles.com/files/7rsgckc8i
http://netload.in/dateioioBLldrXL/GameCodingComplete4th.rar.htm
http://netload.in/dateiOPqO2v1iid/GameCodingComplete4th.rar.htm
http://ul.to/fpz9kqq1
http://rapidgator.net/file/d48965bf37c454f3840124a8c3ada2f6/Game_Coding_Complete_4th.rar.html
7,Ron Roth, "Introduction to Coding Theory"
2006 | ISBN-10: 0521845041 | 580 pages | PDF | 5,5 MB
Error-correcting codes constitute one of the key ingredients in achieving the high degree of reliability required in modern data transmission and storage systems. This book introduces the reader to the theoretical foundations of error-correcting codes, with an emphasis on Reed-Solomon codes and their derivative codes. After reviewing linear codes and finite fields, Ron Roth describes Reed-Solomon codes and various decoding algorithms. Cyclic codes are presented, as are MDS codes, graph codes, and codes in the Lee metric. Concatenated, trellis, and convolutional codes are also discussed in detail.
LINK:
http://clz.to/yt1v1wa1
http://netload.in/dateivNohdn1L05/IntroductiontoCodingTheory.rar.htm
http://netload.in/dateik1ZuYMEf6Z/IntroductiontoCodingTheory.rar.htm
http://ul.to/bwq6qcyl
http://depositfiles.com/files/7jeu1q36m
8,Regular Expression Pocket Reference: Regular Expressions for Perl, Ruby, PHP, Python, C, Java and .NET, 2nd edition
by Tony Stubblebine
English | 2007 | ISBN: 0596514271 | 126 pages | PDF | 1.26 MB
This handy little book offers programmers a complete overview of the syntax and semantics of regular expressions that are at the heart of every text-processing application. Ideal as a quick reference, Regular Expression Pocket Reference covers the regular expression APIs for Perl 5.8, Ruby (including some upcoming 1.9 features), Java, PHP, .NET and C#, Python, vi, JavaScript, and the PCRE regular expression libraries.
This concise and easy-to-use reference puts a very powerful tool for manipulating text and data right at your fingertips. Composed of a mixture of symbols and text, regular expressions can be an outlet for creativity, for brilliant programming, and for the elegant solution. Regular Expression Pocket Reference offers an introduction to regular expressions, pattern matching, metacharacters, modes and constructs, and then provides separate sections for each of the language APIs, with complete regex listings including:
* Supported metacharacters for each language API
* Regular expression classes and interfaces for Ruby, Java, .NET, and C#
* Regular expression operators for Perl 5.8
* Regular expression module objects and functions for Python
* Pattern-matching functions for PHP and the vi editor
* Pattern-matching methods and objects for JavaScript
* Unicode Support for each of the languages
With plenty of examples and other resources, Regular Expression Pocket Reference summarizes the complex rules for performing this critical text-processing function, and presents this often-confusing topic in a friendly and well-organized format. This guide makes an ideal on-the-job companion.
LINK:
http://clz.to/ic8yeznc
http://depositfiles.com/files/r19vwir6w
http://netload.in/dateilOqepPhzRl/RegularExpressionPocketReference2nd.rar.htm
http://netload.in/dateizu4R6q6xEQ/RegularExpressionPocketReference2nd.rar.htm
http://ul.to/lj1lcop7
http://rapidgator.net/file/83e64961f7a0cc97d11f0fb47e99b6d3/Regular_Expression_Pocket_Reference_2nd.rar.html
9,Ian Sommerville, "Software Engineering (9th Edition)"
English | 2010 | ISBN: 0137035152 | 792 pages | PDF | 13,8 MB
Intended for a sophomore/junior level course in software engineering.
The ninth edition of Software Engineering presents a broad perspective of software engineering, focusing on the processes and techniques fundamental to the creation of reliable, software systems. Increased coverage of agile methods and software reuse, along with coverage of 'traditional' plan-driven software engineering, gives readers the most up-to-date view of the field currently available. Practical case studies, a full set of easy-to-access supplements, and extensive web resources make teaching the course easier than ever.
The book is now structured into four parts:
1: Introduction to Software Engineering
2: Dependability and Security
3: Advanced Software Engineering
4: Software Engineering Management
LINK:
http://clz.to/vug6n534
http://depositfiles.com/files/lye9k2ib9
http://netload.in/datei48QeVrw5Hm/SoftwareEngineering9thIanSommerville.rar.htm
http://netload.in/dateifv8YSKM6yG/SoftwareEngineering9thIanSommerville.rar.htm
http://ul.to/o6ti383q
10,Structured Parallel Programming: Patterns for Efficient Computation By Michael McCool, James Reinders, Arch Robison
2012 | 432 Pages | ISBN: 0124159931 | PDF | 5 MB
Programming is now parallel programming. Much as structured programming revolutionized traditional serial programming decades ago, a new kind of structured programming, based on patterns, is relevant to parallel programming today. Parallel computing experts and industry insiders Michael McCool, Arch Robison, and James Reinders describe how to design and implement maintainable and efficient parallel algorithms using a pattern-based approach. They present both theory and practice, and give detailed concrete examples using multiple programming models. Examples are primarily given using two of the most popular and cutting edge programming models for parallel programming: Threading Building Blocks, and Cilk Plus. These architecture-independent models enable easy integration into existing applications, preserve investments in existing code, and speed the development of parallel applications. Examples from realistic contexts illustrate patterns and themes in parallel algorithm design that are widely applicable regardless of implementation technology.
The patterns-based approach offers structure and insight that developers can apply to a variety of parallel programming models
Develops a composable, structured, scalable, and machine-independent approach to parallel computing
Includes detailed examples in both Cilk Plus and the latest Threading Building Blocks, which support a wide variety of computers
LINK:
http://clz.to/wog21b0m
http://depositfiles.com/files/xxjp3zn8r
http://netload.in/datei7Ds4hgDXk4/StructuredParallelProgramming-PatternforEfficientComputation.rar.htm
http://netload.in/dateisSJ9Ui5o5U/StructuredParallelProgramming-PatternforEfficientComputation.rar.htm
http://ul.to/l4flznww
11,The Art of Multiprocessor Programming, Revised Reprint By Maurice Herlihy, Nir Shavit
2012 | 536 Pages | ISBN: 0123973376 | EPUB | 9 MB
Revised and updated with improvements conceived in parallel programming courses, The Art of Multiprocessor Programming is an authoritative guide to multicore programming. It introduces a higher level set of software development skills than that needed for efficient single-core programming. This book provides comprehensive coverage of the new principles, algorithms, and tools necessary for effective multiprocessor programming. Students and professionals alike will benefit from thorough coverage of key multiprocessor programming issues.
This revised edition incorporates much-demanded updates throughout the book, based on feedback and corrections reported from classrooms since 2008
Learn the fundamentals of programming multiple threads accessing shared memory
Explore mainstream concurrent data structures and the key elements of their design, as well as synchronization techniques from simple locks to transactional memory systems
Visit the companion site and download source code, example Java programs, and materials to support and enhance the learning experience
LINK:
http://clz.to/bvggmrx8
http://depositfiles.com/files/zttm2mylc
http://netload.in/dateisucUjZho5L/TheArtofMultiprocessorProgramming.rar.htm
http://ul.to/cmem1vcz
http://netload.in/dateilpKjIxJTCo/TheArtofMultiprocessorProgramming.rar.htm
12,Pratap K J Mohapatra, "Software Engineering: A Lifecycle Approach"
2010 | ISBN: 8122427219 | 429 pages | PDF | 5,5 MB
Software Engineering: A Lifecycle Approach traces the development of the four-decade-old discipline of Software Engineering and compiles the important historical and modern concepts, approaches, and tools of software development, grouping them as chapters specific to phases in the software development lifecycle. Two distinguishing features of the book are: (i) A strong emphasis on the engineering aspects of software development with the total exclusion of the topics on software project management, and (ii) An elaborate coverage of the requirement analysis.
The former has enabled the author to focus on the engineering aspects of the subject, and the latter makes an improvement over the deficiencies of other books on the subject, which often make passing reference to this very important phase of software development. Another highlight of the book is the reference to a large number of original sources from which much of the contents has been drawn.
The book is organized in 24 chapters, with two chapters devoted to the Basics, eight chapters to Requirements, six chapters to Design, two chapters to Detailed Design and Coding, five chapters to Testing, and one chapter to Beyond Development of Software.
Contents:
The Basics- Introduction Software Development Life Cycles
Requirements-
Requirements Analysis
Traditional Tools for Requirements Gathering
Structured Analysis
Other Requirements Analysis Tools
Formal Specifications
Object-oriented Concepts
Object-oriented Analysis Software Requirements Specification
Design-
Introduction to Software Design
Object-oriented Software Design
Structured Design
Object-oriented Design
Design Patterns Software Architecture
Detailed Design and Coding-
Detailed Design Coding
Testing-
Overview of Software Testing
Static Testing
Black-box Testing
White-box Testing Integration and Higher-level Testing
Beyond Development-
Beyond Development.
LINK:
http://clz.to/9nvg2kml
http://depositfiles.com/files/5z7edh7g5
http://netload.in/dateiqSGHORlqDL/SoftwareEngineeringALifecycleApproach.rar.htm
http://ul.to/uo9z8f51
http://netload.in/dateijx8jO9zj3T/SoftwareEngineeringALifecycleApproach.rar.htm
13,Dustin Boswell, Trevor Foucher, "The Art of Readable Code"
English | 2011-11-23 | ISBN: 0596802293 | 206 pages | EPUB + MOBI | 7.52 mb + 6.07 mb
As programmers, we’ve all seen source code that’s so ugly and buggy it makes our brain ache. Over the past five years, authors Dustin Boswell and Trevor Foucher have analyzed hundreds of examples of "bad code" (much of it their own) to determine why they’re bad and how they could be improved. Their conclusion? You need to write code that minimizes the time it would take someone else to understand it—even if that someone else is you.
This book focuses on basic principles and practical techniques you can apply every time you write code. Using easy-to-digest code examples from different languages, each chapter dives into a different aspect of coding, and demonstrates how you can make your code easy to understand.
- Simplify naming, commenting, and formatting with tips that apply to every line of code;
- Refine your program’s loops, logic, and variables to reduce complexity and confusion;
- Attack problems at the function level, such as reorganizing blocks of code to do one task at a time;
- Write effective test code that is thorough and concise—as well as readable.
"Being aware of how the code you create affects those who look at it later is an important part of developing software. The authors did a great job in taking you through the different aspects of this challenge, explaining the details with instructive examples."
LINK:
http://clz.to/9a4ii33d
http://depositfiles.com/files/txrpq4ra2
http://netload.in/dateiFH7nsZsnK7/TheArtofReadableCode.rar.htm
http://netload.in/datei6TztBnWrtM/TheArtofReadableCode.rar.htm
http://ul.to/k51cosei
14,Randall Hyde, "Write Great Code: Volume 1: Understanding the Machine"
2004 | ISBN-10: 1593270038 | EPUB, PDF | 440 pages | 6 + 5 MB
If you've asked someone the secret to writing efficient, well-written software, the answer that you've probably gotten is "learn assembly language programming." By learning assembly language programming, you learn how the machine really operates and that knowledge will help you write better high-level language code. A dirty little secret assembly language programmers rarely admit to, however, is that what you really need to learn is machine organization, not assembly language programming. Write Great Code, the first in a series from assembly language expert Randall Hyde, dives right into machine organization without the extra overhead of learning assembly language programming at the same time. And since Write Great Code concentrates on the machine organization, not assembly language, the reader will learn in greater depth those subjects that are language-independent and of concern to a high level language programmer. Write Great Code will help programmers make wiser choices with respect to programming statements and data types when writing software, no matter which language they use.
LINK:
http://clz.to/gu65fpey
http://depositfiles.com/files/ymk3toxas
http://netload.in/datei8Gl1ZNYS0R/WriteGreatCodeVolume1UnderstandingtheMachine.rar.htm
http://netload.in/dateiDUI9TMiu8g/WriteGreatCodeVolume1UnderstandingtheMachine.rar.htm
http://ul.to/a3a7hoyv
15,Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level By Randall Hyde
Publisher: No Starch Press 2006 | 640 Pages | ISBN: 1593270658 | PDF | 4 MB
It's a critical lesson that today's computer science students aren't always being taught: How to carefully choose their high-level language statements to produce efficient code. Write Great Code, Volume 2: Thinking Low-Level, Writing High-Level shows software engineers what too many college and university courses don't - how compilers translate high-level language statements and data structures into machine code. Armed with this knowledge, they will make informed choices concerning the use of those high-level structures and help the compiler produce far better machine code - all without having to give up the productivity and portability benefits of using a high-level language.
LINK:
http://clz.to/hdz0s3o2
http://depositfiles.com/files/spg7jhac6
http://netload.in/dateiY7m41vViel/WriteGreatCodeVolume2ThinkingLow-LevelWritingHigh-Level.rar.htm
http://netload.in/dateiTw4gMhIf4v/WriteGreatCodeVolume2ThinkingLow-LevelWritingHigh-Level.rar.htm
http://ul.to/um4880v4
Down xong thấy hay thì thank nha |
|
|
|
|
[Document] share mấy cuốn TA về lập trình rất hay |
16/08/2013 19:58:20 (+0700) | #2 | 278136 |
alphax
Member
|
0 |
|
|
Joined: 02/07/2013 09:52:12
Messages: 6
Offline
|
|
Thank you! But all in English may seem difficult here! |
|
|
Users currently in here |
1 Anonymous
|
|
Powered by JForum - Extended by HVAOnline
hvaonline.net | hvaforum.net | hvazone.net | hvanews.net | vnhacker.org
1999 - 2013 ©
v2012|0504|218|
|
|