Size: a a a

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

2020 June 11

A

Alish in Clojure — русскоговорящее сообщество
Maxim Penzin
два десятка сообщений в секунду можно куда-нибудь записать даже на Raspberry Pi
Вот-вот, подтвердили мои подозрения
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
но тут надо всегда рассматривать такие моменты - что произойдет, если записать не удастся по какой-то причине
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
так-то даже в tcp accept буфер у вас штук 5 запросов влезет
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
но когда делаете буфер - надо сразу задумываться - что будет если он-таки- заполнится
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Alish
Вот-вот, подтвердили мои подозрения
возьмите тупо любой постгрес, и сделайте самый простой хэндлер, который в него пишет - увидьте 300-600 рпс и возрадуйтесь! :)
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
только надо сделать пул коннектов, чтобы на каждый чих не переоткрывать
источник

A

Alish in Clojure — русскоговорящее сообщество
Спасибо, согласен, 300-600 рпс мне хватит на ближайшие месяцы за глаза!
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
философский вывод -
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
сначала сделайте как проще всего, измерьте "линейкой"
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
возможно вам достаточно.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
.... и только если не достаточно, тогда начинайте искать оптимизации
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Важный момент - "проще всего" это не зачит "первй ответ на стековерфлоу", где может быть полная чушь
источник

A

Alish in Clojure — русскоговорящее сообщество
Стараюсь придерживаться этого принципа, отдергиваю себя когда хочется взять что-то с «верхней полки», типа того же рэдиса / брокера сообщений и т.д.
источник

A

Alish in Clojure — русскоговорящее сообщество
И все-таки: где тогда применяются асинхронные хэндлеры?
источник

A

Alish in Clojure — русскоговорящее сообщество
Автор ринга все же добавил их по какой-то причине
источник

A

Alish in Clojure — русскоговорящее сообщество
Alish
Стараюсь придерживаться этого принципа, отдергиваю себя когда хочется взять что-то с «верхней полки», типа того же рэдиса / брокера сообщений и т.д.
Одергиваю* лол
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Alish
И все-таки: где тогда применяются асинхронные хэндлеры?
когда хочется обрабатывать много запросов, а нитей ваполнения при этом не делать столько много.
источник

A

Alish in Clojure — русскоговорящее сообщество
Понятненько
источник

ВБ

Валентин Бомбин... in Clojure — русскоговорящее сообщество
Sergey Trofimov
как описан Yylex?
Вот так  -
 Yylex(java.io.Reader in) {
   this.zzReader = in;
 }
Не понимаю как строку превратить в lava.io.reader
если сделать так -
(import Yylex)
(import '(java.io BufferedReader StringReader))
(def obj (new Yylex (new StringReader  "test test")))
все равно ругается  
No matching ctor found for class Yylex
источник

ST

Sergey Trofimov in Clojure — русскоговорящее сообщество
Валентин Бомбин
Вот так  -
 Yylex(java.io.Reader in) {
   this.zzReader = in;
 }
Не понимаю как строку превратить в lava.io.reader
если сделать так -
(import Yylex)
(import '(java.io BufferedReader StringReader))
(def obj (new Yylex (new StringReader  "test test")))
все равно ругается  
No matching ctor found for class Yylex
  Yylex(java.io.Reader in) {
   this.zzReader = in;
 }

это в библиотеке или твой код?
источник