Mastering Clojure Data Analysis

Mastering Clojure Data Analysis
Author: Eric Rochester
Publisher: Packt Publishing Ltd
Total Pages: 512
Release: 2014-05-26
Genre: Computers
ISBN: 1783284145

This book consists of a practical, exampleoriented approach that aims to help you learn how to use Clojure for data analysis quickly and efficiently. This book is great for those who have experience with Clojure and need to use it to perform data analysis. This book will also be hugely beneficial for readers with basic experience in data analysis and statistics.

Clojure Data Analysis Cookbook - Second Edition

Clojure Data Analysis Cookbook - Second Edition
Author: Eric Rochester
Publisher: Packt Publishing Ltd
Total Pages: 372
Release: 2015-01-27
Genre: Computers
ISBN: 1784399957

This book is for those with a basic knowledge of Clojure, who are looking to push the language to excel with data analysis.

Clojure Data Structures and Algorithms Cookbook

Clojure Data Structures and Algorithms Cookbook
Author: Rafik Naccache
Publisher: Packt Publishing Ltd
Total Pages: 217
Release: 2015-08-19
Genre: Computers
ISBN: 1785287826

25 recipes to deeply understand and implement advanced algorithms in Clojure About This Book Explore various advanced algorithms and learn how they are used to address many real-world computing challenges Construct elegant solutions using impressive techniques including zippers, parsing, and pattern matching Solve complex problems by adopting innovative approaches such as logic or asynchronous programming In Detail Data-structures and algorithms often cross your path when you compress files, compile programs, access databases, or simply use your favourite text editor. Understanding and implementing them can be daunting. Curious learners and industrial developers can find these complex, especially if they focus on the detailed implementation of these data structures. Clojure is a highly pragmatic and expressive language with efficient and easy data manipulation capabilities. As such, it is great for implementing these algorithms. By abstracting away a great share of the unnecessary complexity resulting from implementation, Clojure and its contrib libraries will help you address various algorithmic challenges, making your data exploration both profitable and enjoyable. Through 25 recipes, you'll explore advanced algorithms and data-structures, well served by a sound Clojure implementation. This book opens with an exploration of alternative uses of the array data-structure, covering LZ77 compression, drawing fractals using Pascal's triangles, simulating a multi-threaded program execution, and implementing a call-stack winding and un-winding operations. The book elaborates on linked lists, showing you how to construct doubly linked ones, speed up search times over the elements of such structures, use a linked-list as the foundation of a shift-reduce parser, and implement an immutable linked-list using skew binary numbers representation. After that, the tree data-structure is explored, focusing on building self-balancing Splay Trees, designing a B-Tree backing-up an efficient key-value data-store, constructing an undo capable Rope, and showing how Tries can make for an auto-completing facility. Next, some optimization and machine learning techniques are discussed, namely for building a co-occurrence-based recommendation engine, using branch-and-bound to optimize integral cost and profit problems, using Dijkstra's algorithm to determine optimal paths and summarizing texts using the LexRank algorithm. Particular attention is given to logic programming, you will learn to use this to discover interesting relations between social website data, by designing a simple type inferencer for a mini Java-like language, and by building a simple checkers game engine. Asynchronous programming will be addressed and you will design a concurrent web-crawler, an interactive HTML5 game, and an online taxi booking platform. Finally, you'll explore advanced cases for higher order functions in Clojure while implementing a recursive descent parser using efficient mutual resucrsion, devising a mini resusable firewall simulator thanks to Clojure 1.7 new tansducers feature or building a simple unification engine with the help of Continuation Passing Style. What You Will Learn Explore alternative uses of classical data-structures like arrays and linked-lists Discover advanced types of tree data-structures Explore advanced machine learning and optimization techniques Utilise powerful Clojure libraries, such as Instaparse for parsing, core.match for pattern matching, clojure.zip for zippers, and clojure.matrix for matrix operations Learn logic programming through the usage of the library core.logic Master asynchronous programming using the core.async library See the transducers in action while resolving real-world use-cases Who This Book Is For If you are an experienced Clojure developer, longing to take your knowledge to the next level by discovering and using advanced algorithms and seeing how they can be applied to real-world problems, then this book is for you. Style and approach This book consists of a set of step-by-step recipes, each demonstrating the material covered in action so it is put in context. When necessary, pointers to further resources are provided.

Clojure for Java Developers

Clojure for Java Developers
Author: Eduardo Díaz
Publisher: Packt Publishing Ltd
Total Pages: 156
Release: 2016-02-23
Genre: Computers
ISBN: 1785280414

Transition smoothly from Java to the most widely used functional JVM-based language – Clojure About This Book Write apps for the multithreaded world with Clojure's flavor of functional programming Discover Clojure's features and advantages and use them in your existing projects The book is designed so that you'll be able put to use your existing skills and software knowledge to become a more effective Clojure developer Who This Book Is For This book is intended for Java developers, who are looking for a way to expand their skills and understand new paradigms of programming. Whether you know a little bit about functional languages, or you are just getting started, this book will get you up and running with how to use your existing skills in Clojure and functional programming. What You Will Learn Understand the tools for the Clojure world and how they relate to Java tools and standards (like Maven) Learn about immutable data structures, and what makes them feasible for everyday programming Write simple multi-core programs using Clojure's core concepts, like atoms, agents and refs Understand that in Clojure, code is data, and how to take advantage of that fact by generating and manipulating code with macros Learn how Clojure interacts with Java, how the class loaders work and how to use Clojure from Java or the other way around Discover a new, more flexible meaning of polymorphism and understand that OOP is not the only way to get it In Detail We have reached a point where machines are not getting much faster, software projects need to be delivered quickly, and high quality in software is more demanding as ever. We need to explore new ways of writing software that helps achieve those goals. Clojure offers a new possibility of writing high quality, multi-core software faster than ever, without having to leave your current platform. Clojure for Java developers aims at unleashing the true potential of the Clojure language to use it in your projects. The book begins with the installation and setup of the Clojure environment before moving on to explore the language in-depth. Get acquainted with its various features such as functional programming, concurrency, etc. with the help of example projects. Additionally, you will also, learn how the tooling works, and how it interacts with the Java environment. By the end of this book, you will have a firm grip on Clojure and its features, and use them effectively to write more robust programs. Style and approach An easy to follow, step-by-step, guide on how to start writing Clojure programs making use of all of its varied features and advantages. As this is a new language, certain new concepts are supported with theoretical section followed by simple projects to help you gain a better understanding and practice of how Clojure works.

Clojure for Data Science

Clojure for Data Science
Author: Henry Garner
Publisher: Packt Publishing Ltd
Total Pages: 608
Release: 2015-09-03
Genre: Computers
ISBN: 1784397504

Statistics, big data, and machine learning for Clojure programmers About This Book Write code using Clojure to harness the power of your data Discover the libraries and frameworks that will help you succeed A practical guide to understanding how the Clojure programming language can be used to derive insights from data Who This Book Is For This book is aimed at developers who are already productive in Clojure but who are overwhelmed by the breadth and depth of understanding required to be effective in the field of data science. Whether you're tasked with delivering a specific analytics project or simply suspect that you could be deriving more value from your data, this book will inspire you with the opportunities–and inform you of the risks–that exist in data of all shapes and sizes. What You Will Learn Perform hypothesis testing and understand feature selection and statistical significance to interpret your results with confidence Implement the core machine learning techniques of regression, classification, clustering and recommendation Understand the importance of the value of simple statistics and distributions in exploratory data analysis Scale algorithms to web-sized datasets efficiently using distributed programming models on Hadoop and Spark Apply suitable analytic approaches for text, graph, and time series data Interpret the terminology that you will encounter in technical papers Import libraries from other JVM languages such as Java and Scala Communicate your findings clearly and convincingly to nontechnical colleagues In Detail The term “data science” has been widely used to define this new profession that is expected to interpret vast datasets and translate them to improved decision-making and performance. Clojure is a powerful language that combines the interactivity of a scripting language with the speed of a compiled language. Together with its rich ecosystem of native libraries and an extremely simple and consistent functional approach to data manipulation, which maps closely to mathematical formula, it is an ideal, practical, and flexible language to meet a data scientist's diverse needs. Taking you on a journey from simple summary statistics to sophisticated machine learning algorithms, this book shows how the Clojure programming language can be used to derive insights from data. Data scientists often forge a novel path, and you'll see how to make use of Clojure's Java interoperability capabilities to access libraries such as Mahout and Mllib for which Clojure wrappers don't yet exist. Even seasoned Clojure developers will develop a deeper appreciation for their language's flexibility! You'll learn how to apply statistical thinking to your own data and use Clojure to explore, analyze, and visualize it in a technically and statistically robust way. You can also use Incanter for local data processing and ClojureScript to present interactive visualisations and understand how distributed platforms such as Hadoop sand Spark's MapReduce and GraphX's BSP solve the challenges of data analysis at scale, and how to explain algorithms using those programming models. Above all, by following the explanations in this book, you'll learn not just how to be effective using the current state-of-the-art methods in data science, but why such methods work so that you can continue to be productive as the field evolves into the future. Style and approach This is a practical guide to data science that teaches theory by example through the libraries and frameworks accessible from the Clojure programming language.

Clojure Reactive Programming

Clojure Reactive Programming
Author: Leonardo Borges
Publisher: Packt Publishing Ltd
Total Pages: 232
Release: 2015-03-23
Genre: Computers
ISBN: 1783986670

If you are a Clojure developer who is interested in using Reactive Programming to build asynchronous and concurrent applications, this book is for you. Knowledge of Clojure and Leiningen is required. Basic understanding of ClojureScript will be helpful for the web chapters, although it is not strictly necessary.

Clojure High Performance Programming

Clojure High Performance Programming
Author: Shantanu Kumar
Publisher: Packt Publishing Ltd
Total Pages: 199
Release: 2015-09-29
Genre: Computers
ISBN: 1785287672

Become an expert at writing fast and high performant code in Clojure 1.7.0 About This Book Enhance code performance by using appropriate Clojure features Improve the efficiency of applications and plan their deployment A hands-on guide to designing Clojure programs to get the best performance Who This Book Is For This book is intended for intermediate Clojure developers who are looking to get a good grip on achieving optimum performance. Having a basic knowledge of Java would be helpful. What You Will Learn Identify performance issues in Clojure programs using different profiling tools Master techniques to achieve numerical performance in Clojure Use Criterium library to measure latency of Clojure expressions Exploit Java features in Clojure code to enhance performance Avoid reflection and boxing with type hints Understand Clojure's concurrency and state-management primitives in depth Measure and monitor performance, and understand optimization techniques In Detail Clojure treats code as data and has a macro system. It focuses on programming with immutable values and explicit progression-of-time constructs, which are intended to facilitate the development of more robust programs, particularly multithreaded ones. It is built with performance, pragmatism, and simplicity in mind. Like most general purpose languages, various Clojure features have different performance characteristics that one should know in order to write high performance code. This book shows you how to evaluate the performance implications of various Clojure abstractions, discover their underpinnings, and apply the right approach for optimum performance in real-world programs. It starts by helping you classify various use cases and the need for them with respect to performance and analysis of various performance aspects. You will also learn the performance vocabulary that experts use throughout the world and discover various Clojure data structures, abstractions, and their performance characteristics. Further, the book will guide you through enhancing performance by using Java interoperability and JVM-specific features from Clojure. It also highlights the importance of using the right concurrent data structure and Java concurrency abstractions. This book also sheds light on performance metrics for measuring, how to measure, and how to visualize and monitor the collected data. At the end of the book, you will learn to run a performance profiler, identify bottlenecks, tune performance, and refactor code to get a better performance. Style and approach An easy-to-follow guide full of real-world examples and self-sufficient code snippets that will help you get your hands dirty with high performance programming with Clojure.

Clojure Data Analysis Cookbook

Clojure Data Analysis Cookbook
Author: Eric Rochester
Publisher: Packt Pub Limited
Total Pages: 372
Release: 2015-01-31
Genre: Computers
ISBN: 9781784390297

This book is for those with a basic knowledge of Clojure, who are looking to push the language to excel with data analysis.

Mastering Magento Theme Design

Mastering Magento Theme Design
Author: Andrea Saccà
Publisher: Packt Publishing Ltd
Total Pages: 434
Release: 2014-04-25
Genre: Computers
ISBN: 1783288248

Written in a step-by-step, tutorial style with a lot of code snippets and hands-on examples to create an advanced Magento theme from scratch, this book is tailor-made for web designers and developers. This book is great for developers and web designers who are looking to get a good grounding in how to create custom, responsive, and advanced Magento themes. Readers must have some experience with HTML, PHP, CSS, and Magento theme design. This book will be useful for anybody who already has knowledge of the Magento frontend structure.

Mastering Structured Data on the Semantic Web

Mastering Structured Data on the Semantic Web
Author: Leslie Sikos
Publisher: Apress
Total Pages: 244
Release: 2015-07-11
Genre: Computers
ISBN: 1484210492

A major limitation of conventional web sites is their unorganized and isolated contents, which is created mainly for human consumption. This limitation can be addressed by organizing and publishing data, using powerful formats that add structure and meaning to the content of web pages and link related data to one another. Computers can "understand" such data better, which can be useful for task automation. The web sites that provide semantics (meaning) to software agents form the Semantic Web, the Artificial Intelligence extension of the World Wide Web. In contrast to the conventional Web (the "Web of Documents"), the Semantic Web includes the "Web of Data", which connects "things" (representing real-world humans and objects) rather than documents meaningless to computers. Mastering Structured Data on the Semantic Web explains the practical aspects and the theory behind the Semantic Web and how structured data, such as HTML5 Microdata and JSON-LD, can be used to improve your site’s performance on next-generation Search Engine Result Pages and be displayed on Google Knowledge Panels. You will learn how to represent arbitrary fields of human knowledge in a machine-interpretable form using the Resource Description Framework (RDF), the cornerstone of the Semantic Web. You will see how to store and manipulate RDF data in purpose-built graph databases such as triplestores and quadstores, that are exploited in Internet marketing, social media, and data mining, in the form of Big Data applications such as the Google Knowledge Graph, Wikidata, or Facebook’s Social Graph. With the constantly increasing user expectations in web services and applications, Semantic Web standards gain more popularity. This book will familiarize you with the leading controlled vocabularies and ontologies and explain how to represent your own concepts. After learning the principles of Linked Data, the five-star deployment scheme, and the Open Data concept, you will be able to create and interlink five-star Linked Open Data, and merge your RDF graphs to the LOD Cloud. The book also covers the most important tools for generating, storing, extracting, and visualizing RDF data, including, but not limited to, Protégé, TopBraid Composer, Sindice, Apache Marmotta, Callimachus, and Tabulator. You will learn to implement Apache Jena and Sesame in popular IDEs such as Eclipse and NetBeans, and use these APIs for rapid Semantic Web application development. Mastering Structured Data on the Semantic Web demonstrates how to represent and connect structured data to reach a wider audience, encourage data reuse, and provide content that can be automatically processed with full certainty. As a result, your web contents will be integral parts of the next revolution of the Web.