Additional support comes from the most successful and prevalent open-source tools: Eclipse and Ant, and the increasingly popular TestNG. This book is ideal if you’re new to open source and lightweight Java. You’ll learn how to build a complete enterprise Java-based web application from scratch, and how to integrate the different open source frameworks to achieve this goal. You’ll also learn techniques for rapidly developing such applications.
NOTE: The source code files to accompany this book are now hosted at https://github.com/bsbodden/techconf.
The last part of the book shows you how to build up a series of professional Java/Ajax applications. These will incorporate some of today's most popular frameworksSpring, JSF, Struts, and Tapestry, giving you all you need to incorporate Ajax into your everyday work and become an Ajax expert!
The third edition of Java Precisely provides a concise description of the Java programming language, version 8.0. It offers a quick reference for the reader who has already learned (or is learning) Java from a standard textbook and who wants to know the language in more detail. The book presents the entire Java programming language and essential parts of the class libraries: the collection classes, the input-output classes, the stream libraries and Java 8's facilities for parallel programming, and the functional interfaces used for that.
Though written informally, the book describes the language in detail and offers many examples. For clarity, most of the general rules appear on left-hand pages with the relevant examples directly opposite on the right-hand pages. All examples are fragments of legal Java programs. The complete ready-to-run example programs are available on the book's website.
This third edition adds material about functional parallel processing of arrays; default and static methods on interfaces; a brief description of the memory model and visibility across concurrent threads; lambda expressions, method reference expressions, and the related functional interfaces; and stream processing, including parallel programming and collectors.
Ajax Patterns and Best Practices explores dynamic web applications that combine Ajax and REST as a single solution. A major advantage of REST is that, like Ajax, it can be used with today’s existing technologies.
This is an ideal book whether or not you have already created an Ajax application. Because the book outlines various patterns and best practices, you can quickly check and verify that you’re building an efficient Ajax application.
To help you quickly tap into the power of JSF 2.0, the third edition of Core JavaServer™ Faces has been completely updated to make optimum use of all the new features. The book includesThree totally new chapters on using Facelets tags for templating, building composite components, and developing Ajax applications Guidance on building robust applications with minimal hand coding and maximum productivity–without requiring any knowledge of servlets or other low-level “plumbing” A complete explanation of the basic building blocks—from using standard JSF tags, to working with data tables, and converting and validating input Coverage of advanced tasks, such as event handling, extending the JSF framework, and connecting to external services Solutions to a variety of common challenges, including notes on debugging and troubleshooting, in addition to implementation details and working code for features that are missing from JSF Proven solutions, hints, tips, and “how-tos” show you how to use JSF effectively in your development projects
Core JavaServer™ Faces, Third Edition, provides everything you need to master the powerful and time-saving features of JSF 2.0 and is the perfect guide for programmers developing Java EE 6 web apps on Glassfish or another Java EE 6-compliant application servers, as well as servlet runners such as Tomcat 6.
Updated for the latest version of Tomcat, this new edition offers a complete guide to installing, configuring, maintaining and securing this servlet container. In fact, with such a wealth of new information, this is essentially a new book rather than a simple revision. You will find details for using Tomcat on all major platforms, including Windows, Linux, OS X, Solaris, and FreeBSD, along with specifics on Tomcat configuration files, and step-by-step advice for deploying and running web applications.
This book offers complete information for:Installation and startup procedures
Configuring Tomcat-including realms, roles, users, servlet sessions, and JNDI resources including JDBC DataSources
Deploying web applications-individual servlets and JSP pages, and web application archive files
Tuning Tomcat to measure and improve performance
Integrating Tomcat with Apache Web Server
Securing Tomcat to keep online thugs at bay
Tomcat configuration files-server.xml and web.xml, and more
Debugging and Troubleshooting-diagnosing problems with Tomcat or a web application
Compiling your own Tomcat, rather than using the pre-built release
Running two or more Tomcat servlet containers in parallel
This book also offers an overview of the Tomcat open source project's community resources, including docs, mailing lists, and more. Community interest fueled a strong demand for a Tomcat guide from O'Reilly. The result clearly exceeds expectations.
Jacobs begins by presenting an overview of XMLits syntax, rules, vocabularies, and the hows and whys of validity. She also covers the current state of XML support in todays web browsers. Next, Jacobs covers all of the basic essential uses of XML. You’ll learn how to display XML data using CSS, and transform XML data using XSLT. You’ll even learn about dynamic XML scripting using the XML DOM.
The last part of the book covers advanced server-side XML uses in real-world applications, including displaying XML data in Flash, and XML-driven PHP and ASP.NET applications. And last but not least, Jacobs provides a perfect introduction to Ajax development.
The book begins with a few quick chapters to recap Ajax basics and build up a complete development environment, and then moves on to the applications. The seven applications are diverse: an auto-complete application, an Ajax game, a two-way chat application, a webmail client, an RSS aggregator, an online calendaring/scheduling system, and a Flickr-style photo gallery application. Technologies covered include Apache, Ant, Ajax Tags, Struts, Prototype, DWR, Dojo, and more. Overall, this book will save you countless hours of development time, and help further your Java Ajax knowledge!
While cryptography can still be a controversial topic in the programming community, Java has weathered that storm and provides a rich set of APIs that allow you, the developer, to effectively include cryptography in applications-if you know how.
This book teaches you how. Chapters one through five cover the architecture of the JCE and JCA, symmetric and asymmetric key encryption in Java, message authentication codes, and how to create Java implementations with the API provided by the Bouncy Castle ASN.1 packages, all with plenty of examples. Building on that foundation, the second half of the book takes you into higher-level topics, enabling you to create and implement secure Java applications and make use of standard protocols such as CMS, SSL, and S/MIME.
What you will learn from this bookHow to understand and use JCE, JCA, and the JSSE for encryption and authentication The ways in which padding mechanisms work in ciphers and how to spot and fix typical errors An understanding of how authentication mechanisms are implemented in Java and why they are used Methods for describing cryptographic objects with ASN.1 How to create certificate revocation lists and use the Online Certificate Status Protocol (OCSP) Real-world Web solutions using Bouncy Castle APIs
Who this book is for
This book is for Java developers who want to use cryptography in their applications or to understand how cryptography is being used in Java applications. Knowledge of the Java language is necessary, but you need not be familiar with any of the APIs discussed.
Wrox Beginning guides are crafted to make learning programming languages and technologies easier than you think, providing a structured, tutorial format that will guide you through all the techniques involved.
Java Generics and Collections covers everything from the mostbasic uses of generics to the strangest corner cases. It teaches youeverything you need to know about the collections libraries, so you'llalways know which collection is appropriate for any given task, andhow to use it.
Topics covered include:Fundamentals of generics: type parameters and generic methodsOther new features: boxing and unboxing, foreach loops, varargsSubtyping and wildcardsEvolution not revolution: generic libraries with legacy clients andgeneric clients with legacy librariesGenerics and reflectionDesign patterns for genericsSets, Queues, Lists, Maps, and their implementationsConcurrent programming and thread safety with collectionsPerformance implications of different collections
Generics and the new collection libraries they inspired take Java to anew level. If you want to take your software development practice toa new level, this book is essential reading.
Philip Wadler is Professor of Theoretical Computer Science at theUniversity of Edinburgh, where his research focuses on the design ofprogramming languages. He is a co-designer of GJ, work thatbecame the basis for generics in Sun's Java 5.0.
Maurice Naftalin is Technical Director at Morningside Light Ltd., a software consultancy in the United Kingdom. He has most recently served as an architect and mentor at NSB Retail Systems plc, and as the leader of the client development team of a major UK government social service system.
"A brilliant exposition of generics. By far the best book on thetopic, it provides a crystal clear tutorial that starts with thebasics and ends leaving the reader with a deep understanding of boththe use and design of generics."
Gilad Bracha, Java Generics Lead, Sun Microsystems
Author Matthew Moodie describes configuration files, as well as administration features like security, auto-deployment, remote deployment, and data sources. He gets right to the point and teaches you to use Tomcat without wasting time on Java or JSP introductions or excess discussion of JSP and Java code.
This book will get you way up to speed on the technology you'll know it so well, in fact, that you can pass the brand new J2EE 1.5 exam. If that's what you want to do, that is. Maybe you don't care about the exam, but need to use servlets and JSPs in your next project. You're working on a deadline. You're over the legal limit for caffeine. You can't waste your time with a book that makes sense only AFTER you're an expert (or worse, one that puts you to sleep).
Learn how to write servlets and JSPs, what makes a web container tick (and what ticks it off), how to use JSP's Expression Language (EL for short), and how to write deployment descriptors for your web applications. Master the c:out tag, and get a handle on exactly what's changed since the older J2EE 1.4 exam. You don't just pass the new J2EE 1.5 SCWCD exam, you'll understand this stuff and put it to work immediately.
Head First Servlets and JSP doesn't just give you a bunch of facts to memorize; it drives knowledge straight into your brain. You'll interact with servlets and JSPs in ways that help you learn quickly and deeply. And when you're through with the book, you can take a brand-new mock exam, created specifically to simulate the real test-taking experience.
Beginning Ajax with PHP: From Novice to Professional is the first book to introduce how these two popular technologies can work together to create next-generation applications. Author Lee Babin covers what you commonly encounter in daily web application development tasks, and shows you how to build PHP/Ajax-enabled solutions for forms validation, file upload monitoring, database-driven information display and manipulation, web services, Google Maps integration, and more.
However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.
This book covers:Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model
Even if you weren’t intimidated before, that tidbit is probably enough to make you reach for the Excedrin. Just reach for Ajax For Dummies instead. With screen shots, actual code and explanations, and live Web sites where you can see Ajax applications doing their thing, it will have you using Ajax to create Web applications that look an act like desktop applications in no time. With Ajax, you can speed up and clean up your Web applications. Shoppers at your online store can fill their carts without waiting for multiple page refreshes. Searchers on your sites can get instant results on the same page.
Complete with a companion Web site, free Ajax frameworks, and sample code you can use, Ajax for Dummies is your friendly guide to creating truly user-friendly Web sites!
Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
Practical examples are used at every stage and each task includes a concrete example. The configuration files are XML based, so there’s no need for you to write shell commands. Each task is run by an object that implements a particular task interface. And if you really need to execute a shell command, Ant has a task that allows different commands based on the operating system.
With this book, be a part of the next generation, Ajax 2.0.
Ajax is one of the latest and greatest ways to improve users’ online experience and create new and innovative web functionality. By allowing specific parts of a web page to be displayed without refreshing the entire page, Ajax significantly enhances the experience of web applications. It also lets web developers create intuitive and innovative interaction processes.
Ajax for Web Application Developers provides the in-depth working knowledge of Ajax that web developers need to take their web applications to the next level. The book shows how to create an Ajax-driven web application from an object-oriented perspective, and it includes discussion of several useful Ajax design patterns.
The final section of the book combines the individual code examples and techniques from earlier chapters of the book into one larger, Ajax-driven application—an internal web mail application that can be used in any user-based application, such as a community-based web application. Readers will learn not only how to create and use their own reusable Ajax components in this application
but also how to connect their components to any future Ajax applications that they might build.
Improper design can lead to long-term dependencies on the Struts framework, which makes code reuse difficult to achieve. This is the only book of its kind, covering the Struts 1.2 framework. It also covers evolutions into Shale and lightweight WebWork/Struts Ti. Authors John Carnell and Rob Harrop discuss Struts from an antipattern perspective, and the end result is that you’ll learn to use Struts very effectively!
It adopts a “zero to hero” approach that concentrates on achieving practical results you can use in real projects rather than presenting a deep academic treatment that can’t be immediately applied.
The aim is to give you, the reader, the knowledge you need to achieve the results you want with the minimum of fuss. When you’ve read this book, you’ll have a solid understand of all the techniques that are available, when to use them, and their relative strengths and weaknesses.
Adding Ajax is for those of you more interested in extending existing applications than in creating Rich Internet Applications (RIA). You already know the "business-side" of applications-web forms, server-side driven pages, and static content-and now you want to make your web pages livelier, more fun, and much more interactive. This book:
Provides an overview of Ajax technologies, and the importance of developing a strategy for changing your site before you sit down to codeExplains the heart and soul of Ajax: how to work with the XMLHttpRequest objectIntroduces and demonstrates several important Ajax libraries, including Prototype, script.aculo.us, rico, MochikitExplores the interactive element that is Ajax, including how to work with events and event handlers that work across browsersIntroduces the concept of web page as space, and covers three popular approaches to managing web spaceExplains how to make data updates, including adding new data, deleting, and making updates, all from within a single pageDescribes the effects Ajax has on the Web-breaking the back button, losing browser history, dynamic effects that disappear when the page is refreshed, and moreCovers advanced CSS effects, including drag and drop "scroll bars", pagination, and the use of SVG and the Canvas objectExplores mashups-Ajax's ability to combine data from different web services in any number of ways, directly in our web pagesYou don't need to start over to use Ajax. You can simply add to what you already have. This book explains how.
Web site designers love the idea of Ajax--of creating Web pages in which information can be updated without refreshing the entire page. But for those who aren't hard-core programmers, enhancing pages using Ajax can be a challenge. Even more of a challenge is making sure those pages work for all users. In Bulletproof Ajax, author Jeremy Keith demonstrates how developers comfortable with CSS and (X)HTML can build Ajax functionality without frameworks, using the ideas of graceful degradation and progressive enhancement to ensure that the pages work for all users. Throughout this step-by-step guide, his emphasis is on best practices with an approach to building Ajax pages called Hijax, which improves flexibility and avoids worst-case scenarios.
This book packs in information about the release of the Hibernate 3.5 persistence layer and provides a clear introduction to the current standard for object-relational persistence in Java. And since the book keeps its focus on Hibernate without wasting time on nonessential third-party tools, you’ll be able to immediately start building transaction-based engines and applications.
Experienced authors Dave Minter and Jeff Linwood provide more in-depth examples than any other book for Hibernate beginners. The authors also present material in a lively, example-based manner—not a dry, theoretical, hard-to-read fashion.What you’ll learn How to build enterprise Java-based transaction-type applications that access complex data with Hibernate, including Software as a Service (SaaS) How to work with Hibernate 3.5 Where to integrate into the persistence lifecycle, including cloud application implications How to map using annotations, Hibernate XML files, and more How to search and query with the new version of Hibernate When to integrate with Spring, Grails, and more Who this book is for
This book is for Java developers who want to learn about Hibernate.Table of Contents An Introduction to Hibernate Integrating and Configuring Hibernate Building a Simple Application The Persistence Life Cycle An Overview of Mapping Mapping with Annotations Creating Mappings with Hibernate XML Files Using the Session Searches and Queries Advanced Queries Using Criteria Filtering the Results of Searches Case Study — Using Hibernate with an Existing Database
Phil Ballard is a software engineering consultant and developer specializing in website and intranet design and development for an international portfolio of clients. He has an honors degree from the University of Leeds, England, and has worked for several years in commercial and managerial roles in the high technology sector.
Michael Moncur is a freelance webmaster and author. He runs a network of websites and has written several bestselling books about web development, networking, certification programs, and databases.
Category: Web Development
User Level: Beginning–Intermediate
The book also discusses the server-side implications of building Ajax applications, and uses a "black box" approach to server-side components.
—Andrew Hedges, Tapulous
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.
Evolve from the click-and-wait programming pattern to the latest Web 2.0 paradigm using this comprehensive guide to Ajax. Written by Web development expert Thomas Powell, the book lays out every feature of Ajax alongside detailed explanations and real-world code examples.
All you need to know is enough to successfully wire together all this functionality successfully and responsibly, and this book shows you how. It starts from the very beginning of your journey, showing you what's available, what you need, and how to set up an effective development environment. After a solid base has been built, it shows you how to build up each aspect of your site, including storing, retrieving, and displaying content, adding images and video to your site, building effective site navigation and laying it all out beautifully using CSS, promoting your content so you will attract visitors to your site, and adding special effects to enhance usability and design asthetics...all with ready-made functionality available on the Web! Life as a web developer has never been easier.
All concepts are backed up by real-world examples and case studies, and John provides numerous reusable functions and classes to save you time in your development. There are also up-to-date reference appendixes for the DOM, events, browser support (including IE7), and frameworks, so you can look up specific details quickly and easily.
“The cool thing about this book is that it’s great for keeping the programming process fresh. The book helps you to continue to grow and clearly comes from people who have been there.”—Kent Beck, author of Extreme Programming Explained: Embrace Change
“I found this book to be a great mix of solid advice and wonderful analogies!”—Martin Fowler, author of Refactoring and UML Distilled
“I would buy a copy, read it twice, then tell all my colleagues to run out and grab a copy. This is a book I would never loan because I would worry about it being lost.”—Kevin Ruland, Management Science, MSG-Logistics
“The wisdom and practical experience of the authors is obvious. The topics presented are relevant and useful.... By far its greatest strength for me has been the outstanding analogies—tracer bullets, broken windows, and the fabulous helicopter-based explanation of the need for orthogonality, especially in a crisis situation. I have little doubt that this book will eventually become an excellent source of useful information for journeymen programmers and expert mentors alike.”—John Lakos, author of Large-Scale C++ Software Design
“This is the sort of book I will buy a dozen copies of when it comes out so I can give it to my clients.”—Eric Vought, Software Engineer
“Most modern books on software development fail to cover the basics of what makes a great software developer, instead spending their time on syntax or technology where in reality the greatest leverage possible for any software team is in having talented developers who really know their craft well. An excellent book.”—Pete McBreen, Independent Consultant
“Since reading this book, I have implemented many of the practical suggestions and tips it contains. Across the board, they have saved my company time and money while helping me get my job done quicker! This should be a desktop reference for everyone who works with code for a living.”—Jared Richardson, Senior Software Developer, iRenaissance, Inc.
“I would like to see this issued to every new employee at my company....”—Chris Cleeland, Senior Software Engineer, Object Computing, Inc.
“If I’m putting together a project, it’s the authors of this book that I want. . . . And failing that I’d settle for people who’ve read their book.”—Ward Cunningham
Straight from the programming trenches, The Pragmatic Programmer cuts through the increasing specialization and technicalities of modern software development to examine the core process--taking a requirement and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and you'll learn how toFight software rot; Avoid the trap of duplicating knowledge; Write flexible, dynamic, and adaptable code; Avoid programming by coincidence; Bullet-proof your code with contracts, assertions, and exceptions; Capture real requirements; Test ruthlessly and effectively; Delight your users; Build teams of pragmatic programmers; and Make your developments more precise with automation.
Written as a series of self-contained sections and filled with entertaining anecdotes, thoughtful examples, and interesting analogies, The Pragmatic Programmer illustrates the best practices and major pitfalls of many different aspects of software development. Whether you're a new coder, an experienced programmer, or a manager responsible for software projects, use these lessons daily, and you'll quickly see improvements in personal productivity, accuracy, and job satisfaction. You'll learn skills and develop habits and attitudes that form the foundation for long-term success in your career. You'll become a Pragmatic Programmer.
- Reduced response time and reduced server load, as the complete web page is not reposted.
- Reduced bandwidth of web applications as only data is transferred and the HTML format is applied in the browser.
- Separation of data, format and style.
The book covers web search and RSS Feed with Ajax as well as form validation with Ajax frameworks for Java, JSP, JSF, and PHP. It discusses using Ajax in Oracle JDeveloper and is IDE based. JDeveloper has the following advantages over Eclipse IDE.
- It also provides a PHP extension.
- JDeveloper has a built-in support for JSF and for JDBC.
A few notes about using this book:
(1) This book contains embedded videos. Not all readers support video. If you read directly on Google Play, you can only see videos in "flowable text" mode.
(2) Blocks of code and other large items do not format well in flowable text mode. You can select "original page" mode to view such things in a full page layout as they were in the original pdf version.
The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something unusual to happen. After all, that's the way it was built to help you stay alive. It takes all the routine, ordinary, dull stuff and filters it to the background so it won't interfere with your brain's real work--recording things that matter. How does your brain know what matters? It's like the creators of the Head First approach say, suppose you're out for a hike and a tiger jumps in front of you, what happens in your brain? Neurons fire. Emotions crank up. Chemicals surge.
That's how your brain knows.
And that's how your brain will learn Java. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It's fast, it's fun, and it's effective. And, despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You'll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. And the new. second edition focuses on Java 5.0, the latest version of the Java language and development platform. Because Java 5.0 is a major update to the platform, with deep, code-level changes, even more careful study and implementation is required. So learning the Head First way is more important than ever.
If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. You'll see why people say it's unlike any other Java book you've ever read.
By exploiting how your brain works, Head First Java compresses the time it takes to learn and retain--complex information. Its unique approach not only shows you what you need to know about Java syntax, it teaches you to think like a Java programmer. If you want to be bored, buy some other book. But if you want to understand Java, this book's for you.
You will learn how to write a robust game loop, how to organize your entities using components, and take advantage of the CPUs cache to improve your performance. You'll dive deep into how scripting engines encode behavior, how quadtrees and other spatial partitions optimize your engine, and how other classic design patterns can be used in games.
Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines.
It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.
By applying universal rules of software architecture, you can dramatically improve developer productivity throughout the life of any software system. Now, building upon the success of his best-selling books Clean Code and The Clean Coder, legendary software craftsman Robert C. Martin (“Uncle Bob”) reveals those rules and helps you apply them.
Martin’s Clean Architecture doesn’t merely present options. Drawing on over a half-century of experience in software environments of every imaginable type, Martin tells you what choices to make and why they are critical to your success. As you’ve come to expect from Uncle Bob, this book is packed with direct, no-nonsense solutions for the real challenges you’ll face–the ones that will make or break your projects.Learn what software architects need to achieve–and core disciplines and practices for achieving it Master essential software design principles for addressing function, component separation, and data management See how programming paradigms impose discipline by restricting what developers can do Understand what’s critically important and what’s merely a “detail” Implement optimal, high-level structures for web, database, thick-client, console, and embedded applications Define appropriate boundaries and layers, and organize components and services See why designs and architectures go wrong, and how to prevent (or fix) these failures
Clean Architecture is essential reading for every current or aspiring software architect, systems analyst, system designer, and software manager–and for every programmer who must execute someone else’s designs.
Register your product for convenient access to downloads, updates, and/or corrections as they become available.
Topics include:The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functionsThe relationships among std::move, std::forward, rvalue references, and universal referencesTechniques for writing clear, correct, effective lambda expressionsHow std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency APIHow best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++
Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers' earlier books, but covers entirely new material.
"After I learned the C++ basics, I then learned how to use C++ in production code from Meyer's series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don't own it yet? Buy this one. Now".
-- Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft
Discover the timeless techniques and strategies that help you:
Design for minimum complexity and maximum creativity Reap the benefits of collaborative development Apply defensive programming techniques to reduce and flush out errors Exploit opportunities to refactor—or evolve—code, and do it safely Use construction practices that are right-weight for your project Debug problems quickly and effectively Resolve critical construction issues early and correctly Build quality into the beginning, middle, and end of your project
The book begins with a summary of the nontechnical aspects of interviewing, such as common mistakes, strategies for a great interview, perspectives from the other side of the table, tips on negotiating the best offer, and a guide to the best ways to use EPI.
The technical core of EPI is a sequence of chapters on basic and advanced data structures, searching, sorting, broad algorithmic principles, concurrency, and system design. Each chapter consists of a brief review, followed by a broad and thought-provoking series of problems. We include a summary of data structure, algorithm, and problem solving patterns.
In Clean Code, legendary software expert Robert C. Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code “on the fly” into a book that will instill within you the values of a software craftsman and make you a better programmer--but only if you work at it. You will be challenged to think about what’s right about that code and what’s wrong with it. More important, you will be challenged to reassess your professional values and your commitment to your craft.
In The Clean Coder, Martin introduces the disciplines, techniques, tools, and practices of true software craftsmanship. This book is packed with practical advice--about everything from estimating and coding to refactoring and testing. It covers much more than technique: It is about attitude. Martin shows how to approach software development with honor, self-respect, and pride; work well and work clean; communicate and estimate faithfully; face difficult decisions with clarity and honesty; and understand that deep knowledge comes with a responsibility to act.
Readers of this collection will come away understandingHow to tell the difference between good and bad code How to write good code and how to transform bad code into good code How to create good names, good functions, good objects, and good classes How to format code for maximum readability How to implement complete error handling without obscuring code logic How to unit test and practice test-driven development What it means to behave as a true software craftsman How to deal with conflict, tight schedules, and unreasonable managers How to get into the flow of coding and get past writer’s block How to handle unrelenting pressure and avoid burnout How to combine enduring attitudes with new development paradigms How to manage your time and avoid blind alleys, marshes, bogs, and swamps How to foster environments where programmers and teams can thrive When to say “No”--and how to say it When to say “Yes”--and what yes really means
Complete with quizzes, exercises, and helpful illustrations, this easy-to-follow, self-paced tutorial gets you started with both Python 2.7 and 3.3— the latest releases in the 3.X and 2.X lines—plus all other releases in common use today. You’ll also learn some advanced language features that recently have become more common in Python code.Explore Python’s major built-in object types such as numbers, lists, and dictionariesCreate and process objects with Python statements, and learn Python’s general syntax modelUse functions to avoid code redundancy and package code for reuseOrganize statements, functions, and other tools into larger components with modulesDive into classes: Python’s object-oriented programming tool for structuring codeWrite large programs with Python’s exception-handling model and development toolsLearn advanced Python tools, including decorators, descriptors, metaclasses, and Unicode processing