Pull to refresh
0
0
Send message

На самом деле, не имеет большой разницы от какой именно собственной пограничной (находящейся на границе между двумя модулями) сущности будет зависеть модуль верхнего уровня. Интерфейс это или класс или что-то еще — неважно, главное чтобы соблюдалось основное условие — МВУ должен зависеть сам от себя.

На самом деле речь тут идет не про модули в единственном числе, речь идет про слои и модули в их рамках - модули верхнего слоя (МВУ) должны зависеть только от модулей этого же уровня.

Классическим вариантом реализации инверсии зависивостей является выделение логически связанных (или вообще всех) интерфейсов в единый модуль верхнего слоя абстракции, от которого зависят остальные модули верхнего слоя, и интерфейсы которого реализуют модули нижнего уровня.

В луковой архитектуре это будет модуль уровня домена, в гексагоналке - модуль уровня приложения. Суть от этого радикально не меняется.

Наверно, нужно чуть поправить вариант использования:

...
  DistributedLock lock = new DistributedLock(zkConnectionString, lockPath);
  try {
    if (lock.acquire(100, TimeUnit.MILLISECONDS)) {
      try {
        // Access the shared resource
        // Perform your operations here
      } finally {
        lock.release();
      }
    }
  } finally {
    lock.close();
  }

мы использовали косинусное сходство (cosine similarity) как некую меру дистанции между фильмами, которая зависела от актеров, режиссеров, сценаристов и жанров. Чем меньше значение, тем сильнее фильмы похожи друг на друга.

косинусное сходство - чем ближе к 1 тем более похожи вектора. Косинусное расстояние - это другая мера.

Аналитическое решение получено, переходим к реализации на python

плохо лишь, что умножение на транспонированную матрицу дает симметричную плохо определенную, а потому мы с неизбежностью приходим к необходимости регуляризации.

Либо, в альтернативном варианте, для линейной регрессии можно написать итерационный алгоритм, вообще без расчета матриц - исходя из формул в начале статьи. Кроме того, плюсом для него будет и отсутствие необходимости пересчета полноразмерных матриц при дополнении данных (частая ситуация для МНК на практике).

на картинке "Разница между растровой и векторной графикой в структуре" растр и вектор перепутаны местами. Ну и - зачем так много букв? Разница растра и вектора в статье про телеграм-бот?

параллелится. есть берется бумажка сверху (первая проблема) и у неё выделяется несколько тегов. из них волевым осмысленным решением выбирается один. после чего всем N членам команды раздается K/N тикетов и они отвечают да или нет (правая стопка/левая) — насчет наличия в вопросе выбранного тега. по итогу — стопки справа складываются вместе, стопки слева тоже. Процесс повторяется с самого начала.
И таки да, это скучно, утомительно, но можно и нужно параллелить.
Хорошо. Давайте еще раз. Смотрите, мы получили число 0,170. На самом деле — это тоже приближение до 3 го знака. На самом деле это число иррациональное. И нам нужно его умножить на целое число, чтобы получить опять таки целое число. Т. к. это число иррациональное, то в любом случае нет такого целого числа.


да. но, если говорить про формулы из статьи, получим:

n/N ~ (ln(9)-ln(8))/ln(2)

это, по сути, ваша формула про логарифм трех по основанию два.

с малой погрешностью — 0,169925001442313; разложив в цепную дробь получим: 0;5,1,7,1,2,4,11,1,2,2,3,27,…

для нахождения наилучших приближений рациональными дробями получим (посчитаем подходящие дроби): 1/5, 1/6, 8/47, 9/53, 26/153,…

именно про это, как я понимаю, пытается сказать ваш оппонент — в наилучших приближениях ни одной дроби с знаменателем кратным 12 нет. Да, можно использовать 12, но примерно с теми же основаниями как и другие числа.

Можно сколько угодно пытаться натянуть сюда математику, но математика против. :)

Information

Rating
Does not participate
Registered
Activity