off-topic

https://github.com/clojurians/community-development/blob/master/Code-of-Conduct.md Clojurians Slack Community Code of Conduct. Searchable message archives are at https://clojurians-log.clojureverse.org/
emilaasa 2021-01-05T09:01:02.459900Z

I like it, easy to read and a brutalist flair

1โž•
solf 2021-01-05T11:42:29.463800Z

Is there a name I can google for this architectural choice: micro-services from a single binary. I see no reason to split the codebase for a few services that share 90% of code, even abstracting that to a library seems overkill. Instead I have a single binary started with different options (`./binary --action A|B|C` for services A, B or C)

vemv 2021-01-06T15:28:55.480100Z

maybe "modular monolith" will give you some hits on Google anyway, that sounds a lot like https://github.com/polyfy/polylith !

rutledgepaulv 2021-01-07T01:41:23.013100Z

https://clubhouse.io/blog/monolith-meet-mono-repo/

1๐Ÿ‘
orestis 2021-01-05T12:28:48.465900Z

@dromar56 I donโ€™t know of a name, but Iโ€™ve had the same idea (well, for Clojure) โ€” just provide different entry points, and potentially with deps.edn different dependencies. So we have a monorepo with two entry points, the main app and the support-backchannel-app โ€ฆ

borkdude 2021-01-05T12:30:35.466500Z

@dromar56 There are Java frameworks which can do this: quarkus is one of them

borkdude 2021-01-05T12:30:44.466700Z

they compile with GraalVM native-image

borkdude 2021-01-05T12:31:07.467200Z

but of course you can also build one using Clojure. I don't know if there is a name for this. Golang projects do this by default, since golang compiles to binary - also Rust.

borkdude 2021-01-05T12:32:30.467800Z

Ah, so you want to package multiple services within one artifact with the same main method. Yeah, why not.

solf 2021-01-05T12:39:07.468Z

Actually I do have multiple mains, and my actual call line looks more like clj -m A|B|C, but I consider that implementation details. I'm more interested in pro/cons from an architectural point of view. It seems like the common monolith vs micro-services debate, but it's a monolith that is deployed as micro-services

eggsyntax 2021-01-05T14:50:54.469100Z

Brutalist pastel ๐Ÿ˜†

2021-01-05T14:56:21.469300Z

hmm, my idea of "brutalism" would be a page that looks like an old school text editor, or unstyled html

2021-01-05T14:56:57.469500Z

maybe decorated with the raw css rules or html layout along the borders

1๐Ÿ˜†
2021-01-05T14:57:04.469700Z

now I want to try something like that...

valtteri 2021-01-05T15:46:05.472Z

What are the architectural goals youโ€™re trying to achieve?

valtteri 2021-01-05T15:49:07.475900Z

Clean separation of modules, responsibilities etc can be achieved using both. It requires more discipline with monolith though. Fine grained scalability is easy to achieve with microservices, if thatโ€™s a a goal.

1โž•
polymeris 2021-01-05T16:00:50.477Z

Not sure how JS proposals work, but there is one for immutable data structures ๐Ÿ˜ฎ https://github.com/tc39/proposal-record-tuple

souenzzo 2021-01-05T16:35:03.477400Z

clojure did defrecord in ~2012 python implemented dataclass these days java 16 will have record Now JS ๐Ÿ™‚ The great about clojure is that it's has nothing new.

3๐Ÿ‘