mulog
reitit
mulog | reitit | |
---|---|---|
4 | 14 | |
471 | 1,378 | |
- | 0.4% | |
4.6 | 8.7 | |
about 1 month ago | 2 days ago | |
Clojure | Clojure | |
Apache License 2.0 | Eclipse Public License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
mulog
-
Tracing: Structured Logging, but better in every way
There are logging libraries that include syntactically scoped timers, such as mulog (https://github.com/BrunoBonacci/mulog). While a great library, we preferred timbre (https://github.com/taoensso/timbre) and rolled our own logging timer macro that interoperates with it. More convenient to have such niceties in a Lisp of course.
- A History of Clojure (2020) [pdf]
- Logging verbosely into a ring buffer?
-
Debugging in Clojure
Assuming the crash doesn't cause the process to completely exit, you could indeed use `scope-capture` for this. This works well for local dev. In theory, you could use `sc.api/spy` in production code, and then attach a remote repl to diagnose any crashes. I wouldn't recommend this though, I think it would be best to use a good logging library like Mulog: https://github.com/BrunoBonacci/mulog
reitit
- A History of Clojure (2020) [pdf]
- Elixir for Cynical Curmudgeons
- Rust fact vs. fiction: 5 Insights from Google's Rust journey in 2022
-
Help finding a webdev framework that works out of the box
I would build the CLJS for your game logic. Then I would build the backend server separately with API endpoints your front end to talk to. https://github.com/metosin/reitit is a pretty good option.
-
The hard way or the easy way?
A significant feature of reitit is that routes are composed of simple vectors and maps. That means you can pre-process that data structure however you want before building the router.
- how to get body of request on reitit
- Clojure needs a Rails, but not for the reason you think
-
Web dev stack in Clojure
You might look at the examples on the Reitit page. Reitit seems to be the emerging library for routing, and it does get you most of the way there, no matter which direction you are looking to go..
- Was sind zwei schöne Momente, die ihr heute schon hattet?
-
Malli 0.6.0 is out - performance, instrumentation and dev-tooling
for runtime validation & coercion, you can use the pedestal-utilities from reitit which support all of spec, schema and malli. For dev-time var instrumentation (static & dynamic), there are several ways to add those to existing or 3rd party codebases.
What are some alternatives?
timbre - Pure Clojure/Script logging library
malli - High-performance data-driven data specification library for Clojure/Script.
re-frame-10x - A debugging dashboard for re-frame. X-ray vision as tooling.
swagger-ui - Swagger UI is a collection of HTML, JavaScript, and CSS assets that dynamically generate beautiful documentation from a Swagger-compliant API.
debug-repl - A Clojure debug repl as nrepl middleware
ring-oauth2 - OAuth 2.0 client middleware for Ring
clj-otel - An idiomatic Clojure API for adding telemetry to your libraries and applications using OpenTelemetry.
re-frame - A ClojureScript framework for building user interfaces, leveraging React
cider - The Clojure Interactive Development Environment that Rocks for Emacs
component - Managed lifecycle of stateful objects in Clojure
spyscope - Trace-oriented debugging tools for Clojure
hiccup - Fast library for rendering HTML in Clojure