Reference books on Clojure (general)

Web Technology Digital Transformation Artificial Intelligence Machine Learning User Interface Natural Language Processing Semantic Web Deep Learning Online Learning Reasoning Reinforcement Learning Chatbot and Q&A Knowledge Information Processing Programming Clojure Navigation of this blog

About Clojure and Functional Programming

a language called Clojure, a relatively new language created by Rich Hickey and introduced in 2007. Clojure is a relatively new language, created by Rich Hickey and introduced in 2007, but it is a dialect of the LISP language, which was introduced in 1958, and it runs on top of the JVM and can use code from the legacy JAVA programming language.

One of the features of Clojure is that it is a functional language. This is one of the latest trends in the history of programming languages, where all programs are composed of functional blocks called functions, as opposed to the usual languages such as python and javascript, where procedures are laid out.

One of the perspectives in the development of programming languages is to improve reusability. The object-oriented languages that dominated the world before functional languages were also developed from this perspective, but the idea of constructing programs in blocks of functions has further improved reusability.

In addition, a mechanism called REPL, in which functions are evaluated as they are written, reduces bugs at the time of writing and improves the efficiency of code generation. Furthermore, the “data = code” feature of LISP has the potential to realize artificial intelligence technologies, including automatic program generation.

This is a summary of reference books on Clojure published in Japan and overseas. Reference books on machine learning are summarized separately.

Reference books on Clojure (general)

First of all, “A Delicious Introduction to Clojure” is a bit old (2013) and some of the libraries may not be usable, but from the perspective of using it, it contains sample code for a very wide range of areas, from web to machine learning, voice and image processing, andoroid or IOT. It’s a book that gives you a taste of the fun of programming and makes you realize how easy functional programming is (you don’t need to learn most of the grammar). The following is an excerpt from the book.

「Introduction to Delicious Clojure」

Chapter 1 Creating and Getting Started with the Clojur Environment 
When in doubt, look at dependencies 
Working with Eclipse 
Adding libraries to your session dynamically 
Running Java code is a story between us 
The other Ruby JRuby 
Chapter 2: Clojure can make your daily work easier with a few lines of code 
Clojure you can start today 
Connecting http server and client asynchronously
Incanter for statistics 
Mrginalia for documentation 
Simple and nice graphs 
User Interface with Seasaw 
Spreadsheet with docjure 
Spam Master with Postal 
Growl for notifications 
Notification applications 
Using a terminal to interact with users 
Are you using a serial port? 
Accessing a PC's USB port 
Parser for processing large XML files 
Natural Language Processing with Clojure 
Stream Processing with Conduit 
Alice encrypts and Bob is safe 
Netz for Neural Networks 
Derived from Overtone 
Support for very tight timing 
Scheduling and start/stop scheduling 
Lexer (lexical analyzer) and Parser (syntactic analyzer) commonly used in java 
Can communicate with other languages over the network. 
Connect to Lucene 
Connect to a Solr-based search engine 
If you want to make a PDF 
Use Esper to process complex events 
Facilitates the development of applications that need to process large numbers of messages and events 
Filter and analyze events and respond in real time 
Capable of processing 200,000 events per second Esper 
Domain-Specific Language (DSL) 
Creating a Parser 
Chapter 3: Clojure, which excites the development mind 
Fractal 
Procedural image generation library Uses 
Texture generation for 2D materials for games 
Fractal image/artwork creation 
3D/4D texture generation for ray tracing 
Pattern generation (e.g. random map generation) 
Genetic Algorithm Gajure 
Logic Programming 
Where did Prolog go? 
Rule engines are hot 
Embedded Database 
Cupboard Provides database change management and migration 
Use it when you need to convert a video 
Test it 
Working with GUI-based Browsers from Clojure 
Chapter 4: Easy and Fun Web Development with Clojure 
Lord of the Ring 
The world of ring, the most powerful partner for web development 
HTTP routing with compojure 
Security 
Web Templates 
RESTful applications are now the norm 
Chapter 5: Message Best Practices 
Toolkits for JMS, AMQP, and RabbitMQ 
Connecting to Clamq Active MQ 
Cli-camel 
Quartz when scheduling is needed 
Task scheduling 
Redis in Clojure 
Delivering application state with Zookeeper and Avout memcached 
Spyglass 
Apache Casandra 
Easy-to-use HBase in Clojure 
Query Hadoop from Clojure with Cascalog 
Storm A real-time distributed system available from Clojure 
Chapter 6: Brighter Days in the Cloud and Clojure 
Deploying to Heroku in 5 minutes 
Preparing for SSH access 
Attaching Your Application to the Google 
Attaching Your Application to the Google App Engine 
Pass service to provide proloyment in the cloud 
Beanstalk or Clojure with Amazon Web Service System monitoring with Clojure 
Parallel SSH Can run the same shell command on multiple servers at the same time 
Check free disk space on multiple machines at once 
Simple monitoring Monitor Amazon EC2 instances directly from Clojure Use of virtual PCs 
Writing Infrastructure in Code 
Chapter 7: Controlling Sound with Clojure 
Clojure in Speech, Clojure in Speech Recognition 
Speaking in Clojure 
Live Music with Clojure 
Live with the Beast
Chapter 8 Graphics in Clojure 
Processing The best visual tools ported to Clojure 
OpenCV and Image Processing 
Chapter 9: Make Money with Android Application Development! 
Installing the SDK 
Create and run an Android project 
Chapter 10: Embedded Programming with Arduino Today 
Clodiuno Clojure for Android 
How to use Bullet Board 
Chapter 11: Game Development with Clojure! 
Games in Clojure that will make your monkey happy! 
Where's the next game? 
Chapter 12. Platform 
Ruby+Clojure=Rouge 
ClojureCLR(.NET with Clojure) 
ClojureScript(Compile Clojure to JavaScript) Translated with www.DeepL.com/Translator (free version)

This is a reference book that contains sample code that you will need when you are ready to write a program for practical use.

「Clojure Recipes」

1. Starting Your Project with Leiningen
2. Packaging Clojure for a Java EE Enviroment
3. Creating a REST Server in Compojure
4. Creating a REST Server with Liberator
5. A REST Client in Clojurescript
6. A Simple JSON Server
7. A Simple Server Using the Pedestal Framework
8. A Stock Ticker on the Pedestal Framework Server
9. Simplifying Logging with a Macro
10.Extending the Compiler with a Macro
11. Simplifying Datomic Syntax by Writing a DSL
12. Reading the SASS DSL and Generating CSS with Clojure Zippers
13. Introduction to Cascalog
14. Catalog and Hadoop
15. Loading a Data File into Cascalog
16. Writing Out a Data File with Cascalog
17. Cascalog and Structured Data
18. Loading Custom Data Formats into Cascalog
19. Connecting to Datomic from Your Application
20. Getting Started with Storm
21. Getting Started with JMS in Clojure
22. Integrating Storm and JMS
23. CSV Reader
24. Detecting Errors with a Log Monitoring Application
25. Bundling Clojure as Ant Plug-in
26. Bundling Clojure as a Maven Plug-in
27. Integrating Clojure by Scripting Web Tests
28. Monitoring Availability with a Website

The most recent reference books published.

「The Clojure Workshop」

Chapter 1: Hello REPL!
Chapter 2: Data Types and Immutability
Chapter 3: Functions in Depth
Chapter 4: Mapping and Filtering
Chapter 5: Many to One: Reducing
Chapter 6: Recursion and Looping
Chapter 7: Recursion II: Lazy Sequences
Chapter 8: Namespaces, Libraries and Leiningen
Chapter 9: Host Platform Interoperability with Java and JavaScript
Chapter 10: Testing
Chapter 11: Macros
Chapter 12: Concurrency
Chapter 13: Database Interaction and the Application Layer
Chapter 14: HTTP with Ring
Chapter 15: The Frontend: A ClojureScript UI
Summary
Appendix

Rather than textbook information, this is compiled from a more practical implementation perspective.

「PROFESSIONAL CLOJURE」

CHAPTER 1: HAVE A BEGINNER’S MIND
CHAPTER 2: RAPID FEEDBACK CYCLES WITH CLOJURE
CHAPTER 3: WEB SERVICES
CHAPTER 4: TESTING
CHAPTER 5: REACTIVE WEB PAGES IN CLOJURESCRIPT 
CHAPTER 6: THE DATOMIC DATABASE 
CHAPTER 7: PERFORMANCE
What Is Performance?
Summary

「Clojure Programming Cookbook」

Chapter 1 : Live Programming with Clojure
Chapter 2 : Interacting with Collections
Chapter 3 : Clojure Next
Chapter 4 : File Acmes and Network
Chapter 5 : Working with Other Lan
Chapter 6 : Concurrency and Parallelism
Chapter 7 : Advanced Tips
Chapter 8 : Web Applications
Chapter 9 : Testing
Chapter 10 : Deployment and DevOps

Textbook-like reference books.

「Living Clojure」

I. A Guided Tour of Clojure
 1. The Structure of Clojure
 2. Flow and Functional Transformations
 3. State and Concurrency
 4. Java Interop and Polymorphism
 5. How to Use Clojure Projects and Libraries
 6. Communication with core.async
 7. Creating Web Applications with Clojure
 8. The Power of Macros
II. Living Clojure Training Program
 9. Joining the Clojure Community
 10. Weekly Living Clojure Training Plan
 11. Further Adventures

A reference book specialized in asynchronous programming such as core.async.

「Hands-on Reactive Programming with Clojure」

Chapter 1: What is Reactive Programming?
Chapter 2: A Look at Reactive Extensions
Chapter 3: Asynchronous Programming and Networking 
Chapter 4: Introduction to core.async
Chapter 5: Creating Your Own CES Framework with core.async
Chapter 6: Building a Simple ClojureScript Game with Reagi 
Chapter 7: The UI as a Function
Chapter 8: A New Approach to Futures
Chapter 9: A Reactive API to Amazon Web Services
Chapter 10: Reactive Microservices
Chapter 11: Testing Reactive Apps
Chapter 12: Concurrency Utilities in Clojure

A reference book specializing in microservices among web services.

「Microservice with Clojure」

Chapter 1 : Monolithic Versus Microservice 
Chapter 2 : Microservice Architecture
Cahpre 3 : Microservice for Helping Hands Application 
Chapter 4 : Development Enviroment
Chapter 5 : REST APIs for Microservices
Chapter 6 : Introduction to Pedestal 
Chapter 7 : Achieving Imuutability with Datomic
Chapter 8 : Building Microservices for Helping Hands 
Chapter 9 : Configuring Microservices
Chapter 10 : Event-Driven Patterns for Microservices
Chapter 11 : Deploying and Monitoring Secured Microservices

Clojure Hight Performance Programming」

Chapter 1: Performance by Design
Chapter 2: Clojure Abstractions
Chapter 3: Leaning on Java
Chapter 4: Host Performance
Chapter 5: Concurrency
Chapter 6: Measuring Performance 
Chapter 7: Performance Optimization
Chapter 8: Application Performance

コメント

タイトルとURLをコピーしました