Size: a a a

Clojure — русскоговорящее сообщество

2021 July 11

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
В маленьких проектах вообще использую mvstore от h2, без sql.
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Вот для чего в современном мире sql?  Ради мифических слов - транзакции и консистентность? Так ведь в распределены системах ни то ни другое так не работает уже!
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Более того, современные системы должны быть автономный, каждая со своей базкой...
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
Консистентность теперь - uuid транзакции, данные ещё и дублируются.
источник

MB

Mikhail Beliansky in Clojure — русскоговорящее сообщество
Спасибо! Интересно посмотреть на код на кложе с этим всем, если есть)
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
источник

AC

Alexey Cheremisin in Clojure — русскоговорящее сообщество
источник
2021 July 12

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
Кстати, до меня сейчас дошла одна важная вещь которую дает ClojureScript,
это namespace, которых так не хватает в JS и которые все по разному делают так или иначе в TypeScript
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
я о чем, частенько в TS проектах вводят алиасы, это когда ты можешь сделать так

import Button from "components/Button"

при этом components это alias, причем он обычно в куче мест прописывается:

- jest,
- webpack
- tsconfig
- ?

и это так бесит, отсутствие модульности в JS

(мысль горячая, не очень вывеверенная, но интересно послушать ваш опыт)
источник

KJ

Karina Jovian in Clojure — русскоговорящее сообщество
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
есть опыт с ними on a big scale? ts в целом их съест, но не jest например
источник

KJ

Karina Jovian in Clojure — русскоговорящее сообщество
Опыта нет, есть только идея что cljs нэймспэйсы можно компилить в TSные
источник

IL

Igor Levdansky in Clojure — русскоговорящее сообщество
На чистом js вряд ли будешь писать что-то большое. Всё равно какие-то либы будешь использовать. Если хочется низко-уровнево можно посмотреть на Google closure library/Google closure compiler, там неймспейсы можно с goog.require(), goog.provide() делать https://developers.google.com/closure/library/docs/introduction
источник

IL

Igor Levdansky in Clojure — русскоговорящее сообщество
У меня даже есть подозрения что cljs неймспейсы в них и транслируются, cljs же использует Google closure compiler, надо поискать в скомпилинном js require/provide
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Все так. Плюс advanced compilation именно благодаря неймспейсам и работает.
источник

VL

Vlad Lisovsky in Clojure — русскоговорящее сообщество
занятно, да я просто пожаловаться пришел, не хочу писать на JS даже маленькое
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Смотря что, современный js уже не такой фу-фу-фу, жить можно.
Есть сахар в виде undefined ?? default, obj?.method?.[idx]
есть https://immerjs.github.io/immer/, который убирает все проблемы с коллекциями
есть async/await, есть generator/yield
есть реакт в конце-концов
Есть Webpack, который позволяет делать крутые вещи, вроде ленивой загрузки модулей, или переиспользованию модулей из другого проекта в рантайме (module federation)

скоро еще пайпы запилят https://github.com/js-choi/proposal-hack-pipes/

есть макросы через babel, естественно не такие легкие, как в clojure, но есть. https://github.com/kentcdodds/babel-plugin-macros
источник

Я

Я in Clojure — русскоговорящее сообщество
Есть тайпскрип
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Я не очень понимаю его идею.
Но не исключаю, что на определенных проектах и определенной квалификации разработчиков он необходим.
источник

Я

Я in Clojure — русскоговорящее сообщество
В моем случае это типизация на свое усмотрение
источник