C++ is a complex language with many subtle facets. This is especially true when it comes to object-oriented and template programming. The C++ Pocket Reference is a memory aid for C++ programmers, enabling them to quickly look up usage and syntax for unfamiliar and infrequently used aspects of the language. The book's small size makes it easy to carry about, ensuring that it will always be at-hand when needed. Programmers will also appreciate the book's brevity; as much information as possible has been crammed into its small pages.
In the C++ Pocket Reference, you will find:
Information on C++ types and type conversions Syntax for C++ statements and preprocessor directives Help declaring and defining classes, and managing inheritance Information on declarations, storage classes, arrays, pointers, strings, and expressions Refreshers on key concepts of C++ such as namespaces and scope More!
C++ Pocket Reference is useful to Java and C programmers making the transition to C++, or who find themselves occasionally programming in C++. The three languages are often confusingly similar. This book enables programmers familiar with C or Java to quickly come up to speed on how a particular construct or concept is implemented in C++.
Together with its companion STL Pocket Reference, the C++ Pocket Reference forms one of the most concise, easily-carried, quick-references to the C++ language available.
Firewalls, Network Address Translation (NAT), network logging and accounting are all provided by Linux's Netfilter system, also known by the name of the command used to administer it, iptables. The iptables interface is the most sophisticated ever offered on Linux and makes Linux an extremely flexible system for any kind of network filtering you might do. Large sets of filtering rules can be grouped in ways that makes it easy to test them and turn them on and off.
Do you watch for all types of ICMP traffic--some of them quite dangerous? Can you take advantage of stateful filtering to simplify the management of TCP connections? Would you like to track how much traffic of various types you get?
This pocket reference will help you at those critical moments when someone asks you to open or close a port in a hurry, either to enable some important traffic or to block an attack. The book will keep the subtle syntax straight and help you remember all the values you have to enter in order to be as secure as possible. The book has an introductory section that describes applications,followed by a reference/encyclopaedic section with all the matches and targets arranged alphabetically.
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
GNU Emacs is the most popular and widespread of the Emacs family of editors. It is also the most powerful and flexible. Unlike all other text editors, GNU Emacs is a complete working environment--you can stay within Emacs all day without leaving. Learning GNU Emacs, 3rd Edition tells readers how to get started with the GNU Emacs editor. It is a thorough guide that will also "grow" with you: as you become more proficient, this book will help you learn how to use Emacs more effectively. It takes you from basic Emacs usage (simple text editing) to moderately complicated customization and programming.
The third edition of Learning GNU Emacs describes Emacs 21.3 from the ground up, including new user interface features such as an icon-based toolbar and an interactive interface to Emacs customization. A new chapter details how to install and run Emacs on Mac OS X, Windows, and Linux, including tips for using Emacs effectively on those platforms.
Learning GNU Emacs, third edition, covers:
How to edit files with Emacs Using the operating system shell through Emacs How to use multiple buffers, windows, and frames Customizing Emacs interactively and through startup files Writing macros to circumvent repetitious tasks Emacs as a programming environment for Java, C++, and Perl, among others Using Emacs as an integrated development environment (IDE) Integrating Emacs with CVS, Subversion and other change control systems for projects with multiple developers Writing HTML, XHTML, and XML with Emacs The basics of Emacs Lisp The book is aimed at new Emacs users, whether or not they are programmers. Also useful for readers switching from other Emacs implementations to GNU Emacs.
You're not alone.
At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun.
You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code.
You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern.
Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter.
With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts.
If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.
There are hundreds--if not thousands--of techniques used to compromise both Windows and Unix-based systems. Malicious code and new exploit scripts are released on a daily basis, and each evolution becomes more and more sophisticated. Keeping up with the myriad of systems used by hackers in the wild is a formidable task, and scrambling to patch each potential vulnerability or address each new attack one-by-one is a bit like emptying the Atlantic with paper cup.
If you're a network administrator, the pressure is on you to defend your systems from attack. But short of devoting your life to becoming a security expert, what can you do to ensure the safety of your mission critical systems? Where do you start?
Using the steps laid out by professional security analysts and consultants to identify and assess risks, Network Security Assessment offers an efficient testing model that an administrator can adopt, refine, and reuse to create proactive defensive strategies to protect their systems from the threats that are out there, as well as those still being developed.
This thorough and insightful guide covers offensive technologies by grouping and analyzing them at a higher level--from both an offensive and defensive standpoint--helping administrators design and deploy networks that are immune to offensive exploits, tools, and scripts. Network administrators who need to develop and implement a security assessment program will find everything they're looking for--a proven, expert-tested methodology on which to base their own comprehensive program--in this time-saving new book.
If you're one of the many Unix developers drawn to Mac OS X for its BSD core, you'll find yourself in surprisingly unfamiliar territory. Even if you're an experienced Mac user, Mac OS X is unlike earlier Macs, and it's radically different from the Unix you've used before, too.
Enter "Mac OS X for Unix Geeks" by Brian Jepson and Ernest E. Rothman, two Unix geeks who found themselves in the same place you are. Their new book is your guide to figuring out the BSD Unix system and Mac-specific components that are making your life difficult and to help ease you into the Unix inside Mac OS X. This concise book includes such topics as:
/> A quick overview of the Terminal application Understanding Open Directory (LDAP) and NetInfo Issues related to using the GNU C Compiler 9GCC Library linking and porting Unix software An overview of Mac OS X?s filesystem and startup processes Creating and installing packages using Fink Building the Darwin kernel Running X Windows on top of Mac OS X The book wraps up with a quick manpage-style reference to the "Missing Manual Pages"--commands that come with Mac OS X although there are no manpages.
If you find yourself disoriented by the new Mac environment, Mac OS X for Unix Geeks can help you acclimate yourself quickly to the familiar, yet foreign, Unix landscape.
O'Reilly has once again updated its bestselling tutorial on ASP.NET, the world's leading web development tool from Microsoft. In Programming ASP.NET, Third Edition, authors Jesse Liberty and Dan Hurwitz give you the lowdown on the technology's latest version, ASP.NET 2.0, as well as Visual Studio 2005.
Among the most significant improvements to ASP.NET 2.0 are new server controls and services that make you dramatically more productive. In fact, when compared to its predecessor, ASP.NET 2.0 reduces the amount of code you have to write by about 75%. Creating interactive web applications has never been easier-but that still doesn't mean it's hassle-free! The difficulty in ASP.NET 2.0 is that it's so complete and flexible that there are many pieces that must be woven together to build a robust, scalable, and efficient application.
Fortunately, Programming ASP.NET, Third Edition is on the case, dispensing all the information you need to be effective with this dynamic tool. For starters, the book features a comprehensive tutorial on Web Forms, the user interface that gives web applications their look and feel. It then offers detailed explanations of all new controls, including web server controls, HTML controls, and custom controls. Used properly, these controls are able to take care of nearly all the foundation work-security, data access, layout, etc.-that you would normally have to write yourself. Free of these burdensome tasks, you can instead focus on your specific application.
Other new material found in this updated edition even shows you how to create ASP.NET 2.0 pages for mobile devices. With Programming ASP.NET, Third Edition at your side, there's virtually no end to the programming possibilities.
Want to work more efficiently and effectively? Want to improve productivity? Microsoft is betting that you do. That's why it created Windows SharePoint Services--a set of collaboration tools that helps organizations increase individual and team productivity by enabling them to create web sites for information sharing and document collaboration.
Through these team-oriented web sites, users capture and share ideas, and work together on documents, tasks, contacts, etc.--either among themselves or with partners and customers. And if you have Windows 2003 Server, then you already have SharePoint, since it's built right in. But before you can enjoy the benefits of SharePoint, you need to know how to turn it on, set it up, and get your applications working with it.
Essential Sharepoint will help you do just that. It's not only the most complete guide for setting up and using these increasingly popular sites, but it also explains in detail the integration that makes SharePoint exciting. Everything you need to know about SharePoint is covered, including:
Hosting choices administration customization integration with Microsoft Office developing new SharePoint functionality when to use SharePoint portal server Essential Sharepoint covers all the key topics for getting up and running with this powerful and popular set of collaboration tools. And it's not just for members of the IT staff. This comprehensive guide is for anyone in an organization who wants to explore Microsoft SharePoint in order to foster collaboration with other users.
If you think that getting creative with Excel means the underhanded tweaking of numbers, think again. Excel Hacks shows even the most experienced users how to do things with Excel they might never have thought of doing--and lets them have a little fun while they're at it.
Microsoft Excel is not just the dominant spreadsheet in the world; it's also one of the most popular applications ever created. Its success lies not only in its power and flexibility, but also in its streamlined, familiar interface that casually conceals its considerable capabilities. You don't need to know everything that Excel can do in order to use it effectively, but if you're like the millions of Excel power users looking to improve productivity, then Excel Hacks will show you a wide variety of Excel tasks you can put to use, most of which are off the beaten path.
With this book, Excel power users can bring a hacker's creative approach to both common and uncommon Excel topics--"hackers" in this sense being those who like to tinker with technology to improve it. The "100 Industrial Strength Tips and Tools" in Excel Hacks include little known "backdoor" adjustments for everything from reducing workbook and worksheet frustration to hacking built-in features such as pivot tables, charts, formulas and functions, and even the macro language.
This resourceful roll-up-your-sleeves guide is for intermediate to advanced Excel users eager to explore new ways to make Excel do things--from data analysis to worksheet management to import/export--that you never thought possible. Excel Hacks will help you increase productivity with Excel and give you hours of "hacking" enjoyment along the way.
XSLT is an essential tool for converting XML into other kinds of documents: HTML, PDF file, and many others. It's a critical technology for XML-based platforms such as Microsoft .NET, Sun Microsystems' Sun One, as well as for most web browsers and authoring tools. As useful as XSLT is, however, most people have a difficult time getting used to its peculiar characteristics. The ability to use advanced techniques depends on a clear and exact understanding of how XSLT templates work and interact.
The XSLT 1.0 Pocket Reference from O'Reilly wants to make sure you achieve that level of understanding. With its concise approach, this handy pocket guide quickly gets you up to speed on XSLT 1.0 so you can covert XML like a seasoned pro. In addition to covering the basics of stylesheet structure, it also explains how to:
Use template rules create a result tree apply conditional processing transform multiple source documents employ number formatting Thanks to their convenient, quick-reference format, O'Reilly's Pocket References spare you from having to hunt through larger books for answers. They deliver just what you need to get the job done in a timely fashion. And the XSLT 1.0 Pocket Reference is no different--it's the ideal companion to have at your desk when you need an answer fast.
This book sheds light on the principles behind the relational model, which is fundamental to all database-backed applications--and, consequently, most of the work that goes on in the computing world today. Database in Depth: The Relational Model for Practitioners goes beyond the hype and gets to the heart of how relational databases actually work.
Ideal for experienced database developers and designers, this concise guide gives you a clear view of the technology--a view that's not influenced by any vendor or product. Featuring an extensive set of exercises, it will help you:
Understand why and how the relational model is still directly relevant to modern database technology (and will remain so for the foreseeable future) see why and how the SQL standard is seriously deficient use the best current theoretical knowledge in the design of their databases and database applications make informed decisions in their daily database professional activities Database in Depth will appeal not only to database developers and designers, but also to a diverse field of professionals and academics, including database administrators (DBAs), information modelers, database consultants, and more. Virtually everyone who deals with relational databases should have at least a passing understanding of the fundamentals of working with relational models.
Author C.J. Date has been involved with the relational model from its earliest days. An exceptionally clear-thinking writer, Date lays out principle and theory in a manner that is easily understood. Few others can speak as authoritatively the topic of relational databases as Date can.
Many Linux and Unix developers are familiar with the GNU debugger (GBD), the invaluable open source tool for testing, fixing, and retesting software. And since GDB can be ported to Windows, Microsoft developers and others who use this platform can also take advantage of this amazing free software that allows you to see exactly what's going on inside of a program as it's executing. This new pocket guide gives you a convenient quick reference for using the debugger with several different programming languages, including C, C++, Java, Fortran and Assembly.
The GNU debugger is the most useful tool during the testing phase of the software development cycle because it helps you catch bugs in the act. You can see what a program was doing at the moment it crashed, and then readily pinpoint and correct problem code. With the GDB Pocket Reference on hand, the process is quick and painless. The book covers the essentials of using GBD is a testing environment, including how to specify a target for debugging and how to make a program stop on specified conditions.
This handy guide also provides details on using the debugger to examine the stack, source files and data to find the cause of program failure-and then explains ways to use GBD to make quick changes to the program for further testing and debugging.
The ability to spot a bug in real time with GDB can save you hours of frustration, and having a quick way to refer to GBD's essential functions is key to making the process work. Once you get your hands on the GDB Pocket Reference, you'll never let go!
Whatever you call it--an online auction house, the world's largest flea market, or a vast social experiment--no metaphor completely describes the huge trading community that is eBay. Underneath it all, eBay is also a computer program and a complex socio-economic system, requiring experience, finesse, and the right tools to master.
EBay Hacks, 2nd Edition has been completely revised and updated to make use of an array of new tools and features, as well as to reflect the changes in the eBay API, eBay's policies, and general practices of its increasingly sophisticated users. In all, the new edition of eBay Hacks sports 30 brand-new hacks plus dozens of hacks that have been expanded, deepened, or otherwise completely rewritten.
/> EBay Hacks shows you how to become a more efficient buyer and seller with clever tricks and shortcuts that will surprise even the most experienced eBayers. The book's wide range of topics covers all aspects of using eBay, such as advanced searching techniques, sniping tools, selling strategies, photography tips, and even research techniques for PowerSellers. But eBay Hacks doesn't just cover the basics; you'll learn how to write scripts to automate tedious tasks, take better photos, and tap into the eBay API to develop your own custom tools. Unlike any other book, eBay Hacks, 2nd Edition also provides insight into the social aspects of the eBay community, with diplomatic tools to help to get what you want with the least hassle and risk of negative feedback.
This bestseller supplies you with the tools you need to master eBay, whether as a buyer or seller, casual surfer or serious collector, novice or seasoned expert. With this guide, you will become a savvy power user who trades smarter and safer, makes more money, enjoys successes, and has fun doing it.
As we all know by now, wireless networks offer many advantages over fixed (or wired) networks. Foremost on that list is mobility, since going wireless frees you from the tether of an Ethernet cable at a desk. But that's just the tip of the cable-free iceberg. Wireless networks are also more flexible, faster and easier for you to use, and more affordable to deploy and maintain.
The de facto standard for wireless networking is the 802.11 protocol, which includes Wi-Fi (the wireless standard known as 802.11b) and its faster cousin, 802.11g. With easy-to-install 802.11 network hardware available everywhere you turn, the choice seems simple, and many people dive into wireless computing with less thought and planning than they'd give to a wired network. But it's wise to be familiar with both the capabilities and risks associated with the 802.11 protocols. And 802.11 Wireless Networks: The Definitive Guide, 2nd Edition is the perfect place to start.
This updated edition covers everything you'll ever need to know about wireless technology. Designed with the system administrator or serious home user in mind, it's a no-nonsense guide for setting up 802.11 on Windows and Linux. Among the wide range of topics covered are discussions on:
Deployment considerations network monitoring and performance tuning wireless security issues how to use and select access points network monitoring essentials wireless card configuration security issues unique to wireless networks With wireless technology, the advantages to its users are indeed plentiful. Companies no longer have to deal with the hassle and expense of wiring buildings, and households with several computers can avoid fights over who's online. And now, with 802.11 Wireless Networks: The Definitive Guide, 2nd Edition, you can integrate wireless technology into your current infrastructure with the utmost confidence.
Google.com is one of the most popular sites on the Internet and is used around the world by millions of people every day. Sure, you know how to "Google it" when you're searching for something--anything!--on the Web. It's plenty fast and easy to use. But did you know how much more you could achieve with the world's best search engine by clicking beyond the "Google Search" button?
While you can interface with Google in 97 languages and glean results in 35, you can't find any kind of instruction manual from Google. Lucky for you, our fully updated and greatly expanded second edition to the bestselling Google: The Missing Manual covers everything you could possibly want to know about Google, including the newest and coolest--and often most underused (what is Froogle, anyway?)--features. There's even a full chapter devoted to Gmail, Google's free email service that includes a whopping 2.5 GB of space).
This wise and witty guide delivers the complete scoop on Google, from how it works to how you can search far more effectively and efficiently (no more scrolling through 168 pages of seemingly irrelevant results); take best advantage of Google's lesser-known features, such as Google Print, Google Desktop, and Google Suggest; get your website listed on Google; track your visitors with Google Analytics; make money with AdWords and AdSense; and much more.
Whether you're new to Google or already a many-times-a-day user, you're sure to find tutorials, tips, tricks, and tools that take you well beyond simple search to Google gurudom.
Whether you're a professional musician or a mere novice, Apple's GarageBand software has everything you need to produce commercial-quality recordings entirely on your own. Just imagine how many thousands of singers and instrumentalists remain undiscovered because they lack the capability to produce viable demos. Well, no more.
Now there's no need to assemble a backup band or book time at a professional studio--GarageBand has it covered. And GarageBand 2: The Missing Manual gives you the know-how you need to make it all happen. It's an authoritative, witty guide to constructing digital recordings with GarageBand.
Written by the master of the Missing Manual series, and a musician himself, David Pogue, this top-selling book shows you how to maximize the program's entire set of tools. Pre-recorded loops, sampled sounds, live recordings--they're all explained in easy-to-understand language. It also shows you how to apply professional-sounding effects like reverb or chorusing, and then export the finished product to iTunes, where you can download your work to an iPod, export it as an MP3, or burn it onto CDs.
Now revised to reflect GarageBand's latest features, this book's second edition also addresses how to:
Use GarageBand's eight-track capabilities display music notation in real time enhance timing and pitch for better quality recordings change the tempo and key of recorded instruments tune guitars with GarageBand before recording So if you're chasing a dream or just having fun, GarageBand 2: The Missing Manual is the only resource you need to make the finest musical recordings possible.
XML, the Extensible Markup Language, is everywhere: the syntax of choice for newly designed document formats across almost all computer applications. Now used daily by developers, XML is living up to its reputation as one of the most important developments in document interchange in the history of computing.
A perennial bestseller, the handy XML Pocket Reference from O'Reilly has been revised once again to give you quick access to the latest goods. In addition to its comprehensive look at XML, this third edition has been updated with new material on Namespaces and XML Schema--considered among the most important elements in current XML use--along with RELAX NG and Schematron, additional powerful tools for describing XML document structures.
/> Like other titles in O'Reilly's Pocket Reference series, the XML Pocket Reference, 3rd Edition features a well-organized format that gets right to the point. As a result, it's already won over the allegiance of developers everywhere. If you need XML answers quick and on the fly, this compact book is most definitely the book for you.
Okay, all you VB6 developers--time's up. As of March 2005, Microsoft no longer supports this version of Visual Basic. And you can't blame them. Three years ago, they introduced the .NET Framework--an elegant, powerful platform--along with the new component-based VB.NET language. But roughly five million of you decided to stick with VB6, mostly to maintain legacy Windows and COM projects.
Now, with the upcoming release of VB 2005, Microsoft has several attractive reasons to upgrade that you'll find hard to resist, including the return of some VB6 features. And we have the perfect book to help you make the conversion: Visual Basic 2005 Jumpstart. Now, you can test-drive the beta version of VB 2005 with three hands-on projects that enable you to learn the syntax of this new language quickly.
VB 2005 not only lets you convert the bulk of your existing VB6 code, but offers several familiar features, such as compile-and-run debugging, new MyClasses that simplify use of .NET libraries and frameworks, lots of IDE support for Windows, web and mobile GUI development, and data access controls that closely resemble what you use now. The real plus is that you'll be using these features with the .NET platform, which is more secure, less complex than COM, and offers OneClick deployment.
Visual Basic 2005 Jumpstart lets you get the feel of this platform for building smart/rich Windows Forms clients, ASP.NET web applications, and web services. Author Wei-Meng Lee, a Microsoft .NET MVP, veteran O'Reilly author and frequent contributor to the O'Reilly Network, has put together three useful test-drive projects, complete with code samples, that let you develop:
A personal library Windows application A Web-based shopping cart application A stock enquiry Web Service Our jumpstart guide is the quick, painless way to migrate from VB6 to VB 2005, and the perfect training manual for moving your organization to the more robust, dynamic and secure world of .NET.