Best of
Programming-Languages

2016

Computer Science: An Interdisciplinary Approach


Robert Sedgewick - 2016
    Taking a broad, applications-based approach, Sedgewick and Wayne teach through important examples from science, mathematics, engineering, finance, and commercial computing. The book demystifies computation, explains its intellectual underpinnings, and covers the essential elements of programming and computational problem solving in today's environments. The authors begin by introducing basic programming elements such as variables, conditionals, loops, arrays, and I/O. Next, they turn to functions, introducing key modular programming concepts, including components and reuse. They present a modern introduction to object-oriented programming, covering current programming paradigms and approaches to data abstraction. Building on this foundation, Sedgewick and Wayne widen their focus to the broader discipline of computer science. They introduce classical sorting and searching algorithms, fundamental data structures and their application, and scientific techniques for assessing an implementation's performance. Using abstract models, readers learn to answer basic questions about computation, gaining insight for practical application. Finally, the authors show how machine architecture links the theory of computing to real computers, and to the field's history and evolution. For each concept, the authors present all the information readers need to build confidence, together with examples that solve intriguing problems. Each chapter contains question-and-answer sections, self-study drills, and challenging problems that demand creative solutions. Companion web site (introcs.cs.princeton.edu/java) contains Extensive supplementary information, including suggested approaches to programming assignments, checklists, and FAQs Graphics and sound libraries Links to program code and test data Solutions to selected exercises Chapter summaries Detailed instructions for installing a Java programming environment Detailed problem sets and projects Companion 20-part series of video lectures is available at informit.com/title/9780134493831

Python: Penetration Testing for Developers


Christopher Duffy - 2016
    This means you need to use the same tools and adopt the same mindset to properly secure your software. This course shows you how to do just that, demonstrating how effective Python can be for powerful pentesting that keeps your software safe. Comprising of three key modules, follow each one to push your Python and security skills to the next level.In the first module, we’ll show you how to get to grips with the fundamentals. This means you’ll quickly find out how to tackle some of the common challenges facing pentesters using custom Python tools designed specifically for your needs. You’ll also learn what tools to use and when, giving you complete confidence when deploying your pentester tools to combat any potential threat.In the next module you’ll begin hacking into the application layer. Covering everything from parameter tampering, DDoS, XXS and SQL injection, it will build on the knowledge and skills you learned in the first module to make you an even more fluent security expert.Finally in the third module, you’ll find more than 60 Python pentesting recipes. We think this will soon become your trusted resource for any pentesting situation.

Functional Programming in JavaScript


Luis Atencio - 2016
    Through concrete examples and jargon-free explanations, this book teaches you how to apply functional programming to real-life development tasks. The book includes insightful comparisons to object-oriented or imperative programming, which will allow you to ease into functional design. Moreover, you'll learn a repertoire of techniques including function chaining and pipelining, recursion, currying, binding, functional composition, lazy evaluation, fluent error handling, memoization, and much more. By the end of the book, you'll think about application design in a fresh new way.About the technologyAs web developers build increasingly complex applications in JavaScript, the code base for these projects can become exponentially larger and harder to maintain. The result? Application performance suffers, and readability and extensibility are severely compromised. For applications like these, Functional Programming provides a saner approach, allowing you to write elegant, readable code that raises the level of abstraction while being less prone to errors. Although not a "pure" functional language, JavaScript's native functional capabilities unlock access to proven functional programming techniques and practices.What's insideFoundations of functional programming and designExplore JavaScript's functional programming capabilities and the functional library ecosystemCreate more reliable code by embracing immutabilityLearn to write code that's easier to reason aboutSeparate core logic from program structure to write extensible codeAdopt a new approach to error handling and testingApply functional programming to solve real-world problemsAbout the readerReaders need to be comfortable with JavaScript programming and object-oriented design. No previous experience with functional programming is required.About the authorLuis Atencio is a Staff Software Engineer for Citrix Systems in Ft. Lauderdale, FL. He develops and architects applications leveraging Java, PHP, and JavaScript platforms. Luis is very involved in the community and has presented at local meet-ups. He blogs about software engineering at luisatencio.net and writes articles for PHP magazines and DZone. Follow Luis on twitter at @luijar.

Designing Machine Learning Systems with Python


David Julian - 2016
    You will need to know some linear algebra, and some Python, and have a basic knowledge of machine learning concepts. What You Will Learn Gain an understanding of the machine learning design process Be able to apply a systems thinking to your designs Understand the common programming patterns used in machine learning Discover optimizing techniques that will help you get the most from your data Find out how to design models uniquely suited to your task In Detail Machine learning is one of the biggest trends the world of computing has seen. Everyone wants to get in the field of machine learning and in order to obtain sufficient recognition in the field, one must be able to understand and design a machine learning system that serves the needs of the project.Your machine learning system is not fetching you accurate results? You might want to look at it from the designing perspective! This book will not only enable you to understand the design process of various machine learning models and systems, but will also enable you to design your own customized machine learning systems that are practical, feasible, and effective, with maximum accuracy. You will gain an understanding of how to put machine learning systems together to solve unique problems. You may already know about, or have worked with, some “off the shelf” machine learning models to solve common problems such as spam detection, or movie classification, but to begin to solving more complex problems, you will need a deeper understanding of these algorithms, and how you can adapt them to your specific needs. This book will give you that understanding, and more.

A Smarter Way to Learn jQuery: Learn it faster. Remember it longer


Mark Myers - 2016
    And the knowledge will stick. Why? Because this isn’t just a book. It’s a book plus 1,500 free interactive online exercises. It’s the exercises that are going to turn you into a real jQuery coder. Cognitive research shows that reading alone doesn’t buy you much long-term retention. But if you read less and do more—if you read a short passage and then immediately put it into practice—everything changes. Washington University researchers say that being asked to retrieve information increases long-term retention by four hundred percent. Practice also makes learning more interesting. Ten minutes of reading followed by twenty minutes of practice keeps you awake and spurs you on. And it keeps you honest. If you only read, it’s easy to kid yourself that you’re learning more than you are. But when you’re challenged to produce the goods, there’s a moment of truth. You know that you know—or that you don’t. If you find you’re a little shaky on this point or that, you can review the material, then re-do the exercise. That’s all it takes to master this book from beginning to end.