Re: [ANN] Calfpath (v0.7.1), a fast and flexible Ring request router

2019-01-08 Thread Tommi Reiman
Congrats on the library! Read your code and It seems that writing the low-level code with Java pays off performance wise - the small routing tables in your perf tests are really, really fast. Reitit also has some Java-based optimizations for the JVM, but wildcard/trie routing is written in pure

Re: [ANN] Lancaster 0.6.0 - Avro Schema Creation / Serialization / Deserialization

2018-11-18 Thread Tommi Reiman
Looks good. Would be interesting to see the JVM Json perf tested also with https://github.com/metosin/jsonista. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new mem

ClojuTRE & SmallFP Goes Helsinki, 13-14.9.

2018-06-12 Thread Tommi Reiman
Happy to announce that there will also be a SmallFP this year, a satellite conf on functional programming on day before ClojuTRE! Last year we had talks about Scala, PureScript, ClojureScript, F# and Haskell. Paying for a ticket gets you to both events - both free for students and those unable

Re: s/valid? does not tell me if the data is valid as supplied

2018-02-20 Thread Tommi Reiman
tiistai 20. helmikuuta 2018 19.05.55 UTC+2 Alex Miller kirjoitti: > > > On Tuesday, February 20, 2018 at 10:28:12 AM UTC-6, Erik Assum wrote: >> >> FWIW, I’ve been using https://github.com/metosin/spec-tools >> on a couple of projects lately, which helps nicely with >> conformance and coercion. The

[ANN] Reitit 0.1.0 - a fast data-driven routing library for Clojure(Script)

2018-02-19 Thread Tommi Reiman
We are happy to announce first release of Reitit , a new data-driven routing library for Clojure(Script)! It builds on top of clojure.spec, supports first class route data, full route conflict resolution, pluggable coercion (schema & spec) and much more. Intr

Re: [core.spec] Stricter map validations?

2017-10-03 Thread Tommi Reiman
Open Specs seem like a good idea. In real life, we need to close our Data at system borders. With Java, there is Jackson, which fails by default on extra keys. The Schema, the models are closed by default. JSON Schemas can be closed. Saying "use normal clojure" on top of Spec mean double-valida

Re: [core.spec] Stricter map validations?

2017-10-03 Thread Tommi Reiman
Hi. Spec-tools (https://github.com/metosin/spec-tools) has some tools for this: the spec visitor (walking over all core specs, e.g. to collect all registered specs) and map-conformers: fail-on-extra-keys and strip-extra-keys. Here's an example to strip away extra keys: (require '[clojure.spe

Re: Is it wrong that I'm thinking about this?

2017-09-24 Thread Tommi Reiman
Would also love to see the spec-aware fn, def, defn and defrecord utils somewhere. One thing I like most about Clojure(Script) is it's conciseness and Schema provided just that with it's schema-aware def(n)s & the plumbing defnk. The current fdef seems good for libraries, but feels noisy for app

Re: [ANN] Clojure 1.9.0-alpha20

2017-09-08 Thread Tommi Reiman
Hi. The combo: [org.clojure/clojure "1.9.0-alpha20"] [org.clojure/clojurescript "1.9.660"] seems to be emitting broken js: return new cljs.core.PersistentVector(null, 2, 5, cljs.core.PersistentVector.EMPTY_NODE, [##NaN,##NaN], null); With 1.9.0-alpha19 it gives: return new cljs.core.Persiste

[ANN] spec-tools 0.3.0: swagger2 support

2017-07-03 Thread Tommi Reiman
https://github.com/metosin/spec-tools spec-tools is is a small Clojure(Script) library adding some batteries for clojure.spec, including: Schema-like runtime coercion, Spec visitors, JSON Schema generation and macro-free data-specs. 0.3.0 adds support for Swagger2 Schema generation, merged from

[ANN] spec-tools 0.1.0

2017-05-04 Thread Tommi Reiman
Spec-tools is a small Clojure(Script) utility library on top of clojure.spec, with the following features: * spec records * dynamic runtime validation & transformation * tools for spec transformations including to JSON Schema * (simple data-specs) the lib: https://github.com/metosin/spec-tools b

[ANN] Schema-viz 0.1.0 & Schema-tools 0.9.0

2016-03-22 Thread Tommi Reiman
Schema-viz is a small library for Plumatic Schema visualization, using Graphviz. Given an namespace (and rendering options), it will produce a UMLish diagram of all defined schemas in it. https://github.com/metosin/schema-viz Schema-tools 0.9.0 is also out - with more walkers, handling of schem

[ANN] Compojure-api 1.0.0

2016-02-17 Thread Tommi Reiman
Just after two years of the first public version, Compojure-api 1.0.0 is out! Compojure-api is a web api -library on top of Compojure, adding Schema-based validation, swagger-integration, bi-directional routing and more. 1.0.0 contains a lot of breaking changes (for the better), covered in the

[ANN] Kekkonen 0.1.0, a remoting (CQRS) api library for Clojure

2015-11-10 Thread Tommi Reiman
*tl;dr* code: http://kekkonen.io demo: https://kekkonen.herokuapp.com start: lein new kekkonen kakkonen *Kekkonen is alive!* We just released first non-snapshot version of Kekkonen, a data-driven remote (CQRS) api library for Clojure. On the server side, apis as modelled as plain clojure

Re: Writing REST api the right way

2015-06-24 Thread Tommi Reiman
Hi. About the documentation - at least ring-swagger[1] doesn't force you to use Schema as the runtime validation library, it just expects the route (and parameter) definitions to be presented to it as Schemas. So, you could validate the routes using bouncer and extract the ring-swagger schemas

[ANN] Ring-swagger 0.20.0, Compojure-api 0.20.0 & other schema/web libs

2015-04-26 Thread Tommi Reiman
Hi all, We here at Metosin have been developing some open source libs, mostly stuff related to web. Most of the libs have got big new releases lately, so though of promoting them here too. Here goes: * *Ring-Swagger 0.20.0* (https://github.com/metosin/ring-swagger) - support lib for generatin

Re: Advice for building backend REST services from scratch using clojure

2014-04-11 Thread Tommi Reiman
Prismatic Schema is awesome for describing the (web) apis, does also validations & coersion. Using it in all web projects nowadays. If you are thinking of json apis, swagger is a great tool to publish out the documentation. For clojure at least these schema / swagger-aware web libs do exist: S

ANN: ring-http-response, ring-Swagger, ring-swagger-ui & compojure-api

2014-02-16 Thread Tommi Reiman
Hi all. We here at Metosin have been developing and using a bunch of small utilities for Ring-based web api development. Here they are: *1) ring-http-response *(https://github.com/metosin/ring-http-response) Real http status codes for Ring - ported from Spray[1]. There is a response function f