Clojure posts

Ring JDK Adapter

PG2 release 0.1.18

Last in Clojure

Deed: a fast encoding and decoding library for Clojure

Clojure AntiPatterns: the with-retry macro

PG2 release 0.1.15

PG2 release 0.1.12

PG2 release 0.1.11: HugSQL support

PG2 release 0.1.9: arrays

PG2 release 0.1.6: rich JSON capabilities

PG2 release 0.1.5: Migrations

PG2 release 0.1.4: HoneySQL API and shortcuts

PG2 release 0.1.3: Next.JDBC-compatible API

PG2 release 0.1.2: more performance, benchmarks, part 3

PG2 benchmarks, part 2

PG2 early announce and benchmarks, part 1

Data-Driven Development is a Lie

PG docs, part 8. HoneySQL

Virtuoso: a Clojure wrapper for virtual threads

PG docs, part 7. COPY IN/FROM

PG docs, part 6. SSL

With-http: a Clojure library for testing HTTP

PG docs, part 5. Notifications

PG docs, part 4. Arrays

PG docs, part 3

PG docs, part 2

PG docs, part 1

Анонс второй книги

Avoid code you cannot debug

PG: Postgres-related libraries for Clojure

Clojure + GraalVM framework for AWS Lambda

Эта удивительная Clojure: что на ней разрабатывают, чем она отличается от других языков и подходит ли для входа в программирование

The Mask library for Clojure

The DynamoDB library for Clojure

Clojure Coding Guide

REPL, Cider, Emacs (часть 4/4)

REPL, Cider, Emacs (часть 3/4)

Zippo: additions to the standard clojure.zip package.

REPL, Cider, Emacs (часть 2/4)

REPL, Cider, Emacs (часть 1/4)

Teleward: a CAPTCHA bot for Telegram in Clojure + GraalVM

Use format rather than str

Bogus: a simple GUI debugger for Clojure

The Pact library for Clojure

Meet Soothe: a small Clojure library for better Spec error messages

Книга в ДМК-Пресс

Реляционные базы данных в Clojure

Introducing Farseer: the JSON RPC server, the client and utilities

Clojure Zippers

Configuration in Clojure

Exceptions in Clojure

Systems in Clojure

Базы данных в Clojure (1)

Зипперы в Clojure (часть 8). Заключение

Зипперы в Clojure (часть 7). Обход в ширину. Улучшенный обмен валют

Зипперы в Clojure (часть 6). Виртуальные деревья. Обмен валют

Зипперы в Clojure (часть 5). Редактирование

Зипперы в Clojure (часть 4). Поиск в XML

Зипперы в Clojure (часть 3). XML-зипперы

Зипперы в Clojure (часть 2). Автонавигация

Зипперы в Clojure (часть 1). Азы навигации

Dictionary-like Specs in Clojure

Тесты в Clojure (второй фрагмент)

Тесты в Clojure (фрагмент главы)

Системы в Clojure

Конфигурация

Изменяемость в Clojure

Исключения в Clojure

Clojure.spec

Введение в веб-разработку на Clojure. Часть I

I will never let monads be in a Clojure project

User-Agent parser for Clojure

Clojure extended: Java interop book

Remus: a new RSS/Atom feed parser for Clojure

Зачем нужна Кложа

A hidden message in Cognicast podcasts

Environ variables are not for configuring software

Don't use Leiningen to run shell-scripts

First Clojure stream in English

Thoughts on UI tests

Mozilla makes me crazy

Съездил в Балтимор

Dealing with emoji in Clojure

Clojure in Highload Cup

Conditional Queries in Datomic

In-Memory SQLite Database In Clojure

Conceptual languages

Migration from Postgres to Datomic

On Clojure arguments

Clojure Webinar #1

Рич Хикки

Мультиметоды в Кложе

Мой вклад в clj-http

Книга ClojureScript Unraveled

Кложа. Причины успеха