Size: a a a

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

2021 October 30

SP

Stas P in Clojure — русскоговорящее сообщество
Разоблачать людей в их якобы заблуждениях и вводить в другие потому что сам заблуждаешься это уровень собесиков джунов в Сбербанк. Такими же джунами в основном.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Я методом Гамака всё придумал:
Сложновато, но должно сработать.
Функция, вычисляющая определённый интеграл должна сначала интервал [a, b] разбить на множество «стандартных» подинтервалов. И правильная реализация механизма этого разбиениях - основная сложность.
Далее ты мемоизируешь вычисления интегралов на этих стандартных интервалах. Первые вычисления конечно будут долгими, потому что будут  «настоящими», а вот последующие вычисления будут ускоряться при условии, что новые [a, b] будут иметь пересечение множеств «стандартных» интервалов со старыми.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
В первой реализации например стандартными можно объявить интервалы с целыми границами: [a, a+1]
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Это самое простое, но непригодно для случаев, когда интервалы [a, b] будут очень большими (тогда будет очень много подинтервалов) или когда b - a < 1 (ноль стандартных интервалов)
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Если мы захотим поддерживать более произвольные a и b, то придётся хитрить.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Например раскладывать произвольный интервал в подобие степенного ряда.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Интервал [2, 16] можно разбить на :
[2, 4] (длина 2)
[4, 8] (длина 4)
[8, 16] (длина 8)
Допустим, что в следующий раз нас попросили посчитать определённый интеграл для интервала [7, 18]
Он раскладывается на:
[7, 8] (длина 1)
[8, 16] (длина 8)
[16, 18] (длина 2)

При этом получится, что для [8, 16] (длина 8) - результат уже есть в кеше после предыдущего вычисления (по ключу в виде вектора [8 16])
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
а кодить на жаве чей уровень?
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Конечно это разбиение тоже не идеально, но оно лишено недостатка первого способа - может работать как со сколь-угодно длинными интервалами, так и со сколь-угодно малыми (до известного предела конечно).
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Но для лабы, я думаю пойдёт.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Да и первый способ для лабы пойдёт.
источник

DF

Damir Farazetdinov in Clojure — русскоговорящее сообщество
Там же цель, не считать интегралы, а продемонстрировать мемоизацию.
источник

SP

Stas P in Clojure — русскоговорящее сообщество
смотря что смотре где смотря какой уровень сложности продукта. это вопрос пальцем в небо.
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Смотря какой уровень мазохизма программистов
источник

SP

Stas P in Clojure — русскоговорящее сообщество
профессионализм имхо это не совсем язык )
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
Это умение делать за деньги что угодно, да
источник

DL

Dmytro Lispyvnyi '(🌲... in Clojure — русскоговорящее сообщество
А так-то у людей есть чувство прекрасного иногда
источник

SP

Stas P in Clojure — русскоговорящее сообщество
Ну да кложа например)
источник

SP

Stas P in Clojure — русскоговорящее сообщество
Я пока просто видимо не раскусил её потому что приходится возиться в адовых монолитиках
источник

SP

Stas P in Clojure — русскоговорящее сообщество
Уже рассказал что всю ту неделю тесты правил какое то невменяемое количество после пары строчек правки
источник