Search Results: clojure-programming

Clojure Programming

Author: Chas Emerick,Brian Carper,Christophe Grand

Publisher: "O'Reilly Media, Inc."

ISBN: 1449394701

Category: Computers

Page: 607

View: 9940

Describes the fundamentals of Clojure, covering such topics as data structures, concurrency, macros, multimethods, JVM, REPL-oriented programming, and relational databases.

Clojure Programming Cookbook

Author: Makoto Hashimoto,Nicolas Modrzyk

Publisher: Packt Publishing Ltd

ISBN: 178588851X

Category: Computers

Page: 618

View: 3958

Handle every problem you come across in the world of Clojure programming with this expert collection of recipes About This Book Discover a wide variety of practical cases and real world techniques to enhance your productivity with Clojure. Learn to resolve the everyday issues you face with a functional mindset using Clojure You will learn to write highly efficient, more productive, and error-free programs without the risk of deadlocks and race-conditions Who This Book Is For This book is for Clojure developers who have some Clojure programming experience and are well aware of their shortcomings. If you want to learn to tackle common problems, become an expert, and develop a solid skill set, then this book is for you. What You Will Learn Manipulate, access, filter, and transform your data with Clojure Write efficient parallelized code through Clojure abstractions Tackle Complex Concurrency easily with Reactive Programming Build on Haskell abstractions to write dynamic functional tests Write AWS Lambda functions effortlessly Put Clojure in use into your IoT devices Use Clojure with Slack for instant monitoring Scaling your Clojure application using Docker Develop real-time system interactions using MQTT and websockets In Detail When it comes to learning and using a new language you need an effective guide to be by your side when things get rough. For Clojure developers, these recipes have everything you need to take on everything this language offers. This book is divided into three high impact sections. The first section gives you an introduction to live programming and best practices. We show you how to interact with your connections by manipulating, transforming, and merging collections. You'll learn how to work with macros, protocols, multi-methods, and transducers. We'll also teach you how to work with languages such as Java, and Scala. The next section deals with intermediate-level content and enhances your Clojure skills, here we'll teach you concurrency programming with Clojure for high performance. We will provide you with advanced best practices, tips on Clojure programming, and show you how to work with Clojure while developing applications. In the final section you will learn how to test, deploy and analyze websocket behavior when your app is deployed in the cloud. Finally, we will take you through DevOps. Developing with Clojure has never been easier with these recipes by your side! Style and approach This book takes a recipe-based approach by diving directly into helpful programming concepts. It will give you a foolproof approach to programming and teach you how to deal with problems that may arise while working with Clojure. The book is divided into three sections giving you the freedom skip to the section of your choice depending on the problem faced.

Clojure Reactive Programming

Author: Leonardo Borges

Publisher: Packt Publishing Ltd

ISBN: 1783986670

Category: Computers

Page: 232

View: 8059

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.

Programming Clojure

Author: Alex Miller,Stuart Halloway,Aaron Bedra

Publisher: Pragmatic Bookshelf

ISBN: 1680505726

Category: Computers

Page: 304

View: 7681

Drowning in unnecessary complexity, unmanaged state, and tangles of spaghetti code? In the best tradition of Lisp, Clojure gets out of your way so you can focus on expressing simple solutions to hard problems. Clojure cuts through complexity by providing a set of composable tools--immutable data, functions, macros, and the interactive REPL. Written by members of the Clojure core team, this book is the essential, definitive guide to Clojure. This new edition includes information on all the newest features of Clojure, such as transducers and specs. Clojure joins the flexibility and agility of Lisp with the reach, stability, and performance of Java. Combine Clojure's tools for maximum effectiveness as you work with immutable data, functional programming, and safe concurrency to write programs that solve real-world problems. Start by reading and understanding Clojure syntax and see how Clojure is evaluated. From there, find out about the sequence abstraction, which combines immutable collections with functional programming to create truly reusable data transformation code. Clojure is a functional language; learn how to write programs in a functional style, and when and how to use recursion to your advantage. Discover Clojure's unique approach to state and identity, techniques for polymorphism and open systems using multimethods and protocols, and how to leverage Clojure's metaprogramming capabilities via macros. Finally, put all the pieces together in a real program. New to this edition is coverage of Clojure's spec library, one of the most interesting new features of Clojure for describing both data and functions. You can use Clojure spec to validate data, destructure data, explain invalid data, and generate large numbers of tests to verify the correctness of your code. With this book, you'll learn how to think in Clojure, and how to take advantage of its combined strengths to build powerful programs quickly. What You Need: Java 6 or higher Clojure 1.9

Clojure: High Performance JVM Programming

Author: Eduardo Diaz,Shantanu Kumar,Akhil Wali

Publisher: Packt Publishing Ltd

ISBN: 1787288013

Category: Computers

Page: 565

View: 4203

Explore the world of lightning fast Clojure apps with asynchronous channels, logic, reactive programming, and more About This Book Discover Clojure's features and advantages and use them in your existing projects Explore lesser-known and more advanced features, constructs, and methodologies such as asynchronous channels, actors, logic programming, and reactive programming Measure and monitor performance, and understand optimization techniques Who This Book Is For If you're looking to learn more about its core libraries and delve into the Clojure language in detail, then this book is ideal for you. Prior knowledge of the Clojure language is required. What You Will Learn Understand tools for the Clojure world and how they relate to Java tools and standards (such as Maven) Write simple multicore programs using Clojure's core concepts, such as atoms, agents, and refs Get to grips with Clojure's concurrency and state-management primitives in depth Analyze latency using the Criterium library Avoid reflection and boxing with type hints Maximize the impact of parallelization, functional composition, and process transformation by composing reducers and transducers Modify and add features to the Clojure language using macros Test your code with unit tests, specs, and type checks to write testable code Troubleshoot and style your Clojure code to make it more maintainable In Detail Clojure is a general-purpose language from the Lisp family with an emphasis on functional programming. It has some interesting concepts and features such as immutability, gradual typing, thread-safe concurrency primitives, and macro-based metaprogramming, which makes it a great choice to create modern, performant, and scalable applications. This learning path aims at unleashing the true potential of the Clojure language so you can use it in your projects. It begins with installing and setting up the Clojure environment before moving on to explore the language in depth. You'll get acquainted with its various features such as functional programming, concurrency, reducers, transducers, core.async and core.logic, and so on with a great level of detail. Moving on, you'll also learn how to enhance performance using Java interoperability and JVM-specific features from Clojure; you'll even master language features such as asynchronous channels, actors, logic programming, reactive programming, metaprogramming, and so on. This learning path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products: Clojure for Java Developers by Eduardo Diaz Clojure High Performance Programming, Second Edition by Shantanu Kumar Mastering Clojure by Akhil Wali Style and approach This is an easy-to-follow, step-by-step guide to start writing Clojure programs, making use of all of its varied features and advantages.

Clojure for the Brave and True

Learn the Ultimate Language and Become a Better Programmer

Author: Daniel Higginbotham

Publisher: No Starch Press

ISBN: 1593275919

Category: Computers

Page: 328

View: 4496

For weeks, months —nay!—from the very moment you were born, you’ve felt it calling to you. At long last you’ll be united with the programming language you’ve been longing for: Clojure! As a Lisp-style functional programming language, Clojure lets you write robust and elegant code, and because it runs on the Java Virtual Machine, you can take advantage of the vast Java ecosystem. Clojure for the Brave and True offers a “dessert-first” approach: you’ll start play­ing with real programs immediately, as you steadily acclimate to the abstract but powerful features of Lisp and functional programming. Inside you’ll find an offbeat, practical guide to Clojure, filled with quirky sample programs that catch cheese thieves and track glittery vampires. Learn how to: *Wield Clojure’s core functions *Use Emacs for Clojure development *Write macros to modify Clojure itself *Use Clojure’s tools to simplify concurrency and parallel programming Clojure for the Brave and True assumes no prior experience with Clojure, the Java Virtual Machine, or functional programming. Are you ready, brave reader, to meet your true destiny? Grab your best pair of parentheses—you’re about to embark on an epic journey into the world of Clojure!

Practical Clojure

Author: Luke VanderHart,Stuart Sierra

Publisher: Apress

ISBN: 9781430272304

Category: Computers

Page: 232

View: 9074

This book is the first definitive reference for the Clojure language, providing both an introduction to functional programming in general and a more specific introduction to Clojure’s features. This book demonstrates the use of the language through examples, including features such as software transactional memory (STM) and immutability, which may be new to programmers coming from other languages. Overview of functional programming and description of what sets Clojure apart from other languages Detailed explanation of Clojure’s special features Examples of real-world tasks that are well-suited to Clojure’s capabilities, starting with simple tasks and moving on to more complex applications

Professional Clojure

Author: Jeremy Anderson,Michael Gaare,Justin HolguÃn,Nick Bailey,Timothy Pratley

Publisher: John Wiley & Sons

ISBN: 1119267293

Category: Computers

Page: 264

View: 2208

Clear, practical Clojure for the professional programmer Professional Clojure is the experienced developer's guide to functional programming using the Clojure language. Designed specifically to meet the needs of professional developers, this book briefly introduces functional programming before skipping directly to the heart of using Clojure in a real-world setting. The discussion details the read—eval—print workflow that enables fast feedback loops, then dives into enterprise-level Clojure development with expert guidance on web services, testing, datomics, performance, and more. Read from beginning to end, this book serves as a clear, direct guide to Clojure programming—but the comprehensive coverage and detail makes it extraordinarily useful as a quick reference for mid-project snags. The author team includes four professional Clojure developers, ensuring professional-level instruction from a highly practical perspective. Clojure is an open-source programming language maintained and supported by Cognitect., and quickly gaining use across industries at companies like Amazon, Walmart, Facebook, Netflix, and more. This guide provides a concise, yet thorough resource for professional developers needing to quickly put Clojure to work. Parse the difference between functional and object-oriented programming Understand Clojure performance and capabilities Develop reactive web pages using ClojureScript Adopt an REPL-driven development workflow Clojure is a modern dialect of Lisp, designed for concurrency and Java compatibility. It can be used with the Java virtual machine, Microsoft's Common Language Runtime, and JavaScript engines, providing a level of both versatility and functionality that is appealing to more and more enterprise-level developers. As requirements grow increasingly complex, stepping away from imperative programming can dramatically streamline the development workflow. Professional Clojure provides the expert instruction that gets professionals up to speed and back to work quickly.

Clojure for Finance

Author: Timothy Washington

Publisher: Packt Publishing Ltd

ISBN: 1785287613

Category: Computers

Page: 188

View: 6758

Leverage the power and flexibility of the Clojure language for finance About This Book Apply the Clojure programming language in financial analytics and to build financial applications Work with high-level mathematical abstractions without having to implement low-level code for financial operations. This is a practical tutorial that takes you through real-world examples of financial analytics and applications with Clojure Who This Book Is For If you're a finance professional who is currently using VBA (Excel) to perform financial calculations and quantitative analysis, and would like to use Clojure instead to improve their efficiency, then this book is for you. Basic knowledge of financial concepts is essential. Basic programming knowledge would also be an added advantage. What You Will Learn Quickly and effectively represent data and calculations using Clojure Use Clojure's basic language tools such as laziness, immutability, and firstclass functions to solve real-world problems Explore mathematical derivatives to generate different wave forms Get acquainted with the advanced approaches to calculating and transforming data, and building algorithms Use Clojure's functions to access, update, and compose data structures Be introduced to the concept of sideeffecting behavior and the different ways to handle it Compose simple and exponential functions together to get a buy or sell signal In Detail Clojure is a dynamic programming language with an emphasis on functional programming. Clojure is well suited to financial modeling as it is a functional programming language. Such languages help developers work with high-level mathematical abstractions without having to implement low-level code that handles the arithmetic operations. Starting with the importance of representing data and calculations effectively, this book will take you all the way to being competent in financial analytics and building financial applications. First, we introduce the notions of computation and finance, which will help you understand Clojure's utility to solve real-world problems in many domains, especially finance. Next, we will show you how to develop the simple-moving-average function by using the more advanced partition Clojure data transformation function. This function, along with others, will be used to calculate and manipulate data. You will then learn to implement slightly more complicated equations, how to traverse data, and deal with branching and conditional dispatch. Then, the concept of side-effecting and its various approaches are introduced, along with the strategy of how to use data as the interface to other systems. Finally, you will discover how to build algorithms while manipulating and composing functions. Style and approach This book is a practical step-by-step tutorial that provides a basic overview of the concepts but focuses on providing the skills required to analyze data.

Clojure High Performance Programming

Author: Shantanu Kumar

Publisher: Packt Publishing Ltd

ISBN: 1782165614

Category: Computers

Page: 152

View: 6047

This is a short, practical guide that will teach you everything you need to know to start writing high performance Clojure code. This book is ideal for intermediate Clojure developers who are looking to get a good grip on how to achieve optimum performance. You should already have some experience with Clojure and it would help if you already know a little bit of Java. Knowledge of performance analysis and engineering is not required. For hands-on practice, you should have access to Clojure REPL with Leiningen.

ClojureScript: Up and Running

Functional Programming for the Web

Author: Stuart Sierra,Luke VanderHart

Publisher: "O'Reilly Media, Inc."

ISBN: 1449327397

Category: Computers

Page: 116

View: 640

Learn how to build complete client-side applications with ClojureScript, the Clojure language variant that compiles to optimized JavaScript. This hands-on introduction shows you how ClojureScript not only has similarities to JavaScript—without the flaws—but also supports the full semantics of its parent language. You’ll delve into ClojureScript’s immutable data structures, lazy sequences, first-class functions, macros, and support for JavaScript libraries. No previous experience with Clojure or ClojureScript is necessary. If you’re familiar with JavaScript, HTML, CSS, and the DOM, you’ll quickly discover that ClojureScript has the same reach as JavaScript, but with more power. Start writing ClojureScript code with the Leiningen build system Learn how the ClojureScript compiler works to produce optimized JavaScript Use JavaScript functions and libraries directly from ClojureScript code Explore functions in Clojure’s sequence library such as map, reduce, and filter Use macros to define new control structures or embed domain-specific languages Compile manually or script your own workflow with ClojureScript’s compiler tools Integrate ClojureScript with Clojure on the JVM to build powerful client-server applications

Quick Clojure

Effective Functional Programming

Author: Mark McDonnell

Publisher: Apress

ISBN: 1484229525

Category: Computers

Page: 200

View: 647

Get up to speed with Clojure in this quick and practical primer. You'll learn the nuts and bolts of functional programming, data structures, sequences, destructuring, pattern matching, polymorphism, concurrency, conventions, and more. Author Mark McDonnell talks about organization with namespaces; how to change the language via macros; object-oriented programming; and creating command-line apps. Finally, he shows you how to write Clojure from shell languages and interfaces such as Vim. After reading and using Quick Clojure, you'll come away with first-hand knowledge and advice on how to quickly adopt, use, and apply Clojure without all the theoretical baggage that bigger books can sometimes bring. What You'll Learn Work with data structures and their syntax Discover OOP in Clojure with patterns, polymorphisms, pattern matching, and concurrency Use conventions, organization, and namespaces in Clojure Create command-line apps Build various Clojure projects with the Leiningen IDE tool and framework Who This Book Is For Programmers with experience. A Java background would be helpful, but not required.

Modernes Clojure. Einsatz und Bewertung moderner Sprachfeatures in Clojure

Author: Lutz Leonhardt

Publisher: GRIN Verlag

ISBN: 3668578699

Category: Computers

Page: 98

View: 621

Masterarbeit aus dem Jahr 2013 im Fachbereich Informatik - Programmierung, Note: 1,0, Beuth Hochschule für Technik Berlin, Sprache: Deutsch, Abstract: Diese Masterarbeit wird sich mit dem jungen und modernen Lisp-Dialekt Clojure und seinen Sprachfeatures beschäftigen. Clojure läuft innerhalb der Java Virtuel Machine (JVM) und kann somit nahtlos in objektorientierte Java-Programme integriert werden, um beispielsweise nebenläufige Algorithmen umzusetzen. Daneben existieren alternativ auch eine CLR- sowie JavaScript-Implementierung. Im Rahmen dieser Arbeit wird neben den Concurrency-Features auch die Technologie Software Transactional Memory (STM) vorgestellt, mit dessen Hilfe sich die ACID-Eigenschaften auf den zu manipulierenden transienten Speicher abbilden lassen. Eine Transaktion bündelt Befehle, die auf gemeinsame Ressourcen zugreifen. Falls zwei Transaktionen auf die gleiche Ressource zugreifen möchten, wird eine der beiden Transaktionen abgebrochen. Die Sprache bietet hierfür die benötigten Konstrukte. Ein wichtiges Pattern innerhalb der Objektorientierten Programmierung ist die Trennung der Programmierschnittstelle von der Implementierung, realisiert durch Sprachelemente wie Interfaces und Klassen sowie Vererbung und Polymorphie. Clojure kann als funktionale Sprache diesen traditionellen Lösungsansatz nicht verwenden und führt Alternativen ein. Die Sprachelemente Protocols, Multimethods und Datatypes werden hierzu näher beschrieben. Neben den Clojure-spezifischen Sprachfeatures werden weitere grundlegende Prinzipien und Entwurfsmuster der Funktionalen Programmierung wie z.B. Macros, Lambdas, Currying, Memoization, Closures und Monaden vorgestellt. Um Clojure von anderen funktionalen Sprachen abgrenzen zu können, werden abschließend Alternativen vorgestellt und ein Vergleich bezüglich Funktionsumfang und Performance mit Haskell durchgeführt.

Clojure Cookbook

Recipes for Functional Programming

Author: Luke VanderHart,Ryan Neufeld

Publisher: "O'Reilly Media, Inc."

ISBN: 1449366406

Category: Computers

Page: 476

View: 5103

With more than 150 detailed recipes, this cookbook shows experienced Clojure developers how to solve a variety of programming tasks with this JVM language. The solutions cover everything from building dynamic websites and working with databases to network communication, cloud computing, and advanced testing strategies. And more than 60 of the world’s best Clojurians contributed recipes. Each recipe includes code that you can use right away, along with a discussion on how and why the solution works, so you can adapt these patterns, approaches, and techniques to situations not specifically covered in this cookbook. Master built-in primitive and composite data structures Create, develop and publish libraries, using the Leiningen tool Interact with the local computer that’s running your application Manage network communication protocols and libraries Use techniques for connecting to and using a variety of databases Build and maintain dynamic websites, using the Ring HTTP server library Tackle application tasks such as packaging, distributing, profiling, and logging Take on cloud computing and heavyweight distributed data crunching Dive into unit, integration, simulation, and property-based testing Clojure Cookbook is a collaborative project with contributions from some of the world’s best Clojurians, whose backgrounds range from aerospace to social media, banking to robotics, AI research to e-commerce.

Clojure for Machine Learning

Author: Akhil Wali

Publisher: Packt Publishing Ltd

ISBN: 1783284366

Category: Computers

Page: 292

View: 3068

A book that brings out the strengths of Clojure programming that have to facilitate machine learning. Each topic is described in substantial detail, and examples and libraries in Clojure are also demonstrated. This book is intended for Clojure developers who want to explore the area of machine learning. Basic understanding of the Clojure programming language is required, but thorough acquaintance with the standard Clojure library or any libraries are not required. Familiarity with theoretical concepts and notation of mathematics and statistics would be an added advantage.

The Joy of Clojure

Author: Michael Fogus,Chris Houser

Publisher: Manning Publications

ISBN: 9781617291418

Category: Computers

Page: 477

View: 6198

Summary The Joy of Clojure, Second Edition is a deep look at the Clojure language. Fully updated for Clojure 1.6, this new edition goes beyond just syntax to show you the "why" of Clojure and how to write fluent Clojure code. You'll learn functional and declarative approaches to programming and will master the techniques that make Clojure so elegant and efficient. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology The Clojure programming language is a dialect of Lisp that runs on the Java Virtual Machine and JavaScript runtimes. It is a functional programming language that offers great performance, expressive power, and stability by design. It gives you built-in concurrency and the predictable precision of immutable and persistent data structures. And it's really, really fast. The instant you see long blocks of Java or Ruby dissolve into a few lines of Clojure, you'll know why the authors of this book call it a "joyful language." It's no wonder that enterprises like Staples are betting their infrastructure on Clojure. About the Book The Joy of Clojure, Second Edition is a deep account of the Clojure language. Fully updated for Clojure 1.6, this new edition goes beyond the syntax to show you how to write fluent Clojure code. You'll learn functional and declarative approaches to programming and will master techniques that make Clojure elegant and efficient. The book shows you how to solve hard problems related to concurrency, interoperability, and performance, and how great it can be to think in the Clojure way. Appropriate for readers with some experience using Clojure or common Lisp. What's Inside Build web apps using ClojureScript Master functional programming techniques Simplify concurrency Covers Clojure 1.6 About the Authors Michael Fogus and Chris Houser are contributors to the Clojure and ClojureScript programming languages and the authors of various Clojure libraries and language features. Table of Contents PART 1 FOUNDATIONS Clojure philosophy Drinking from the Clojure fire hose Dipping your toes in the pool PART 2 DATA TYPES On scalars Collection types PART 3 FUNCTIONAL PROGRAMMING Being lazy and set in your ways Functional programming PART 4 LARGE-SCALE DESIGN Macros Combining data and code Mutation and concurrency Parallelism PART 5 HOST SYMBIOSIS Java.next Why ClojureScript? PART 6 TANGENTIAL CONSIDERATIONS Data-oriented programming Performance Thinking programs Clojure changes the way you think

Living Clojure

Author: Carin Meier

Publisher: "O'Reilly Media, Inc."

ISBN: 1491909293

Category: Computers

Page: 242

View: 5859

If you’re an experienced programmer who has not worked with Clojure before, this guide is the perfect thorough but gentle introduction for you. Author Carin Meier not only provides a practical overview of this JVM language and its functional programming concepts, but also includes a complete hands-on training course to help you learn Clojure in a structured way. The first half of the book takes you through Clojure’s unique design and lets you try your hand at two Clojure projects, including a web app. The holistic course in second half provides you with critical tools and resources, including ways to plug into the Clojure community. Understand the basic structure of a Clojure expression Learn how to shape and control code in a functional way Discover how Clojure handles real-world state and concurrency Take advantage of Java classes and learn how Clojure handles polymorphism Manage and use libraries in a Clojure project Use the core.async library for asynchronous and concurrent communication Explore the power of macros in Clojure programming Learn how to think in Clojure by following the book’s seven-week training course

Clojure for Data Science

Author: Henry Garner

Publisher: Packt Publishing Ltd

ISBN: 1784397504

Category: Computers

Page: 608

View: 3733

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.

Microservices with Clojure

Develop event-driven, scalable, and reactive microservices with real-time monitoring

Author: Anuj Kumar

Publisher: Packt Publishing Ltd

ISBN: 1788626311

Category: Computers

Page: 336

View: 3535

The common patterns and practices of the microservice architecture and their application using the Clojure programming language. Key Features Relevance of the microservice architecture and benefits of Clojure's functional and simple features to implement it. Learn best practices and common principles to avoid common pitfalls while developing microservices. Learn how to use Pedestal to build your next microservices, secure them using JWT, and monitor them using the ELK stack Book Description The microservice architecture is sweeping the world as the de facto pattern with which to design and build scalable, easy-tomaintain web applications. This book will teach you common patterns and practices, and will show you how to apply these using the Clojure programming language. This book will teach you the fundamental concepts of architectural design and RESTful communication, and show you patterns that provide manageable code that is supportable in development and at scale in production. We will provide you with examples of how to put these concepts and patterns into practice with Clojure. This book will explain and illustrate, with practical examples, how teams of all sizes can start solving problems with microservices. You will learn the importance of writing code that is asynchronous and non-blocking and how Pedestal helps us do this. Later, the book explains how to build Reactive microservices in Clojure that adhere to the principles underlying the Reactive Manifesto. We finish off by showing you various ways to monitor, test, and secure your microservices. By the end, you will be fully capable of setting up, modifying, and deploying a microservice with Clojure and Pedestal. What you will learn Explore the pros and cons of monolithic and microservice architectures Use Clojure to effectively build a reallife application using Microservices Gain practical knowledge of the Clojure Pedestal framework and how to use it to build Microservices Explore various persistence patterns and learn how to use Apache Kafka to build event-driven microservice architectures Secure your Microservices using JWT Monitor Microservices at scale using the ELK stack Deploy Microservices at scale using container orchestration platforms such as Kubernetes Who this book is for You should have a working knowledge of programming in Clojure. However, no knowledge of RESTful architecture, microservices, or web services is expected. If you are looking to apply techniques to your own projects, taking your first steps into microservice architecture, this book is for you.

Clojure High Performance Programming Second Edition

Author: Shantanu Kumar

Publisher: N.A

ISBN: 9781785283642

Category: Computers

Page: 198

View: 6279

Become an expert at writing fast and high performant code in Clojure 1.7.0About 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 performanceWho This Book Is ForThis 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 techniquesIn DetailClojure 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 approachAn 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.

Find eBook