Pull to refresh
37
0
Send message

Потому что там есть seed. Если задавать его вместе с промптом - то будете получать идентичные картинки

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

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

А возведение в степень — операция не ассоциативная, т.е. 5^6 ≠ 6^5

Это коммутативность. Она не требуется. А ассоциативность 5^2^3 = (5^2)^3 = 5^(2^3). Что также не выполняется. Поэтому не группа.

Так поэтому и не входит, что не имеет обратного элемента.

По мне - так достаточно странная статья. Это доказывается из определения операции возведения в степень. Итак, по определению, a^n = a*a*...*a (n раз). Но тогда a^b*a^c = a*a*...*a (b раз) * a*a*...*a (c раз), что, очевидно означает умножение a само на себя b+c раз. Свойство a^b*a^с = a^(b+c) доказано.

Аналогично доказывается свойство a^b/a^c = a^(b-c).

Теперь рассматриваем случай c>b, что приводит к отрицательному показатель степени. Единственный способ избежать противоречия в предыдущей формуле - это определить возведение в отрицательную степень как a^(-b) = 1/a^b

Аналогично, рассматривая случай b=c получаем a^0=1. Потому что любой другой случай приводит к противоречию. Например, мы можем умножить любое ненулевое число на a^0. Тогда a^b*a^0=a^(b+0)=a^b. Из чего следует что a^0=1.

Точно также, по определению операции возведения в степень доказывается свойство (a^b)^c=a^(b*c), что позволяет расширить операцию возвещения в степень на множество рациональных чисел.

Еще один момент. Операция умножения на множестве действительных чисел (кроме нуля) образует группу. Соответственно, для определения a^0 (умножить число само на себя 0 раз) просто напрашивается нулевой элемент группы. То есть единица.

А вот 0^0 - неопределенность т.к. ноль не имеет обратного элемента в группе по умножению.

Вроде, наоборот, говорили что хотят сокращать LTS-поддержку ядер. А тут размахнулись на 10 лет.

Откуда я это взял? Исследования медиков. Вот отличная статья про игру, там освещается вопрос и влияния го на мозг.

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

Ну вот я ни разу не ментейнер спринга. Однако спрингового кода (именно фреймворка) прочитал более чем достаточно, потому как не всегда документация дает четкий ответ "как это работает?" и "откуда вылез этот баг?". В идеальном мире, разумеется, есть идеальная документация, но в реальном мире разработчики приложений еще как читают код библиотек и фреймворков.

Да, именно так.

Какая именно задача? Нахождения целочисленных сторон?

В Java это целая история т.к. стандартная библиотека прибита к JRE. И компилировать код 17-ой версии для запуска со стандартной библиотекой 11-ой версии - можно, конечно. Но это нужно будет делать очень аккуратно (и не всегда получится, если код требует фишек JVM 17-ой версии)

В этом плане мне больше нравится Котлин, который до сих пор умеет компиляцию в байткод JVM 8 (а стандартная библиотека у него своя). То есть можно писать на последней версии Котлина, используя весь доступный там синтаксический сахар, а затем завернуть в докер-образ на базе JRE 8 и отдать на стенды.

Собственно до самого вкусного: "а как именно получены эти длины сторон? Существуют ли другие треугольники Шарыгина с целочисленными сторонами?" в статье не дошли. Такое ощущение что автор в чем-то разобрался, а то в чем не разобрался - отбросил и оборвал статью.

По моему опыту, Agile - это попытка продать историю о том что можно начать со строительства одноэтажного бунгало, а затем, при необходимости, перестроить его в многоэтажный жилой дом, а затем - в небоскреб.

Разумеется, заказчику это нравится - не надо думать о будущих потребностях, не надо далеко планировать. Ведь если потребуется - мы достроим еще пару этажей, эджайл же.

А вот разработчикам приходится либо натыкаться на ограничения архитектуры, подпирая небоскреб костылями и привязывая к крыше воздушные шары (иначе рухнет к чертям), либо заранее закладывать фундамент под небоскреб, на котором гордо стоит сарай по цене "Боинга".

В реальности, разумеется, иногда удается перестроить сарай в небоскреб, постепенно заменяя фундамент и всю внутреннюю структуру. Но есть и обратные примеры, когда проекты более чем успешно умирали под грузом технического долга, когда становилось выгоднее "выкинуть и написать заново" чем развивать проект дальше.

А чем вас sealed class + record + pattern matching в качестве этих самых discriminated union не устраивают?

public class Main {

  sealed interface Data permits SuccessData, ErrorData {}
  record SuccessData(String result) implements Data {}
  record ErrorData(int errorCode) implements Data {}

  public static void main(String[] args) {
    final String message = switch(getData()) {
      case SuccessData s -> s.result;
      case ErrorData e -> String.valueOf(e.errorCode);
    };

    System.out.println(message);
  }

  private static Data getData() {
//    return new SuccessData("TEST");
    return new ErrorData(404);
  }

}

Код написал для Java 17, так как она под рукой, в более новой версии будет еще красивее, т.к. можно деконструировать record сразу в pattern matching-е.

Если мы говорим о библиотеках, то их код пишет (условно) один разработчик, а читают тысячи. Поэтому экономить на бойлерплейте в ущерб читаемости, скрывая магию за какими-то методами, вызываемыми через рефлексию - очень такое себе.

Если же мы говорим о приложении, то даже в этом случае код может читаться значительно больше времени чем было потрачено на написание. Ну и для приложения есть DI-контейнер с аннотацями Inject, Autowired и т.п., которые являются стандартом, то есть не вызовут лишнего WTF при чтении кода.

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

Это один из способов преодоления разрыва между "знанием" и "умением", который многие склонны недооценивать (прочитал книжку, получил знания - значит умею).

Из подобных игр го загружает больше зон мозга, чем шахматы.

Рассуждения Зенона опровергаются, насколько я вижу, следующим образом. Предположим Ахилл не догоняет черепаху, а бежит в некоторую точку Б, расположенную далее черепахи. Когда он пробегает половину расстояния до этой точки он может оказаться относительно черепахи где угодно: позади, рядом или впереди в зависимости от расстояния до черепахи, от расстояния до точки Б, скорости Ахилла и скорости черепахи. Таким образом, рассуждение что он не может её догнать явно содержит какую-то логическую ошибку т.к. если бы он не мог её догнать, то он не мог бы её догнать ни в каком из вариантов.

nVidia, если ничего не путаю тоже открыли исходный код драйверов.

Information

Rating
Does not participate
Location
Магнитогорск, Челябинская обл., Россия
Date of birth
Registered
Activity