почему существуют на ТЭЦ конденсационные башни, где распыляется вода для сброса в атмосферу тепла, а не стоят стирлинги, которые часть этого бы тепла переводили всё в то же электричество
Потому что это будет препятствовать задаче этих башен - собственно, охлаждению. Так то можно задать вопрос, почему холодильник у Стирлинга просто так тепло рассеивает. Давайте еще один поставим, что на разности температур (она же есть) будет полезную работу совершать.
я потрачу 15 сек на выделение интерфейса сразу, буду мокать интерфейс в тестах
Для мока технически не надо интерфейса. Можно тестовый класс называть так же как оригинал и тестовой среде выполнения говорить 'Во время тестов используй то определение имени а не это'. Что, собственно, и делается (но в другом виде), когда подстановка интерфейса происходит.
Особенно если взять ту же научную фантастику, которая иногда неплохо прогнозирует.
А вот про это я уже давно пришел к выводу, что про художественную литературу надо старательно, еще со школы, вбивать в головы 'это придуманный мир с придуманными людьми с придуманными мыслями и придуманными законами мира. К реальному миру - отношенияне имеет, пока не показано обратного. Вот абсолютно никакого, хотя это местами и кажется'. (На практике делают наоборот, рассуждая о условном герое так, как будто он реальный человек, и вопросом применимости показанных примеров и последствий его действий к реальной жизни почти не задаются)
Вот как у нас сейчас нейросетки удачно и правдоподобно галлюционируют - то же самое явление, только написано людьми.
А прогнозирование - это добро пожаловать в разную публицистику с нормальными цепочками рассуждений.
Да хотя бы потому, что в оригинальном слове payload нет ничего "полезного".
printf из условной динамической libc.2.4.5 и libc2.4.10 влинковываются в приложение именно как разные имплементации одного и того же имени. Какая стоит в системе (и printf называется) - ту и используем. А printf_v_2.4.5 implements printf, printf_v_2.4.10 implements printf - об этом пользователю либы думать не надо. Он только про printf в общем случае знает. Да и в коде библиотеки этих двух имплементаций, вроде, нет. Есть одна printf, которая меняются только вместе со сменой версии кода.
Можно, конечно, сказать что та printf, что в stdlib.h -- это и есть интерфейс, но весь этот механизм Dependency Inversion почему-то не называют и в пример не приводят. Хотя стоило бы.
Но да, тут - интерфейсы полезны. А если такой динамической (пере)конфигурации, прямо в рантайме - нет, можно и без них.
надо было ещё пару нерелевантных методов сделать public, и наплодить переменных со словом public, чтобы имитировать реальную ситуацию
А это пример, где отдельный интерфейс скорее вреден. Потому что провоцирует вот такое, когда думаешь 'а public в имплементации - это контракт или нет? В смысле - использовать можно или как?'
а можно просто ввести чертов интерфейс за десяток секунд.
А можно не вводить, а просто написать 'public' в имплементации, а файлик с интефейсом сам сделается и поправится.
вы явно не сторонник поиска легких путей
Мой тезис в том, что если инструменты есть (а они есть) - то аргументы что той стороны, что той - слабоваты. Сейчас оно традиция практически в чистом виде.
Зачем на него смотреть, именно в виде файла? Шмяк хоткей - и тебе методы показывают. Ну или в документацию отправил (она же есть, правда?) Чего именно в интерфейсе, без реализации, интересного?
А сам файл - в общем, скорее дань традиции языка. Может быть или может не быть. Все равно его руками писать необязательно.
Оба аргумента применимы только к случаю, когда без IDE пишешь.
Так-то и клик давно умеет игнорировать интерфейс, сразу переходя в единственную реализацию, и список публичных методов показывается в специальной панельке, без необходимости их искать. Вроде бы даже есть специальный вариант, который просто схлопывает приватные методы в тексте, если хочется прямо на него смотреть.
А кто будет успевать их читать, если книги будут генерироваться с пулемётной скоростью?
Никто. И не надо. Выбираем из того, что 'кто-то' уже прочитал. Если не гнаться за новинками - работает.
найти приличную книгу гораздо трудней.
Я вас умоляю. Художественных книг уже столько, что даже если перестать читать все новое - до конца жизни хватит. Если избавится от подхода 'хочу самое лучшее', а начать 'Берем первое попавшееся по рекомендациям, Начинаем читать. Не понравилось - в корзину ее' - проблема выбора резко проподает.
Повреждение психики. Машинные форматы очень сильно влияют на человеческий язык.
...
а завтра окажется, что ты говоришь точно так же
И пусть. Я, например, был бы вполне доволен, если бы 'LLM'-ый машинный формат статей с большим преобладанием списков стал более популярен. Ибо незачем совершенно лишней воды наливать. Скажи сразу, чего ты там хочешь передать, а не разбавляй текст шутками да прибаутками.
"вредоносная полезная нагрузка" - и они искренне не понимают, почему я ржу
Почему, кстати, идиотское? Ясно же, что "вредоносная" - это с точки зрения одного, а "полезная" - это с точки зрения другого. Смысл согласовывается с разными субъектами.
А Dependency inversion? Без интерфейса получается зависимость от конкретной реализации.
От имени. В случае необходимости бывшая конкретная имплементация делается интерфесом, а новая уже его реализует. Или сразу другая реализация вставляется под старым именем. Но в рантайме замена уже не сработает, это да, надо будет перекомпилировать.
Это, кстати, одна из причин появления заметного числа классических правил. Они исходят из предположения, что перекомпиляция и пересборка - это такая штука, которую нужно бояться как огня.
Гораздо хуже тем, кто пытается выявить использование LLM в художественной литературе. Там подобные косяки всегда могут списать на "авторский стиль" или просто сказать "это же фантастика".
Если можно списать и оно все равно - то зачем выявлять? Ну пишет книги не живой человек, а киборг - и черт с ним, если читают. А если не читают - то от того, что он целиком живой, лучше никому не станет.
Если верить более новым новостям - я оказался прав. Непредвиденные последствия изменений и непонимание, что именно произошло. Разобрались только когда уже все весьма сильно упало.
Определяется-то просто: на устройстве сохранён токен для входа, вход по паре токен-пин.
Зловред, который может украсть пароль (а именно от таких пин, привязанный к устройству нужен) может и токен, в общем, украсть, если он не лежит в защищенном хранилище системы. А если пользуешься хранилищем - то тот пин, что демонстрируют, становится слегка не нужен - можно напрямую защищенным токеном пользоваться.
городе такое транспортное средство вполне может двигаться по дорогам общего пользования
Де не столько в скорости. А в том что его водители машин будут не замечать, как велосипедистов и мотоциклистов не замечают. А эта штука - еще ниже. И никакого корпуса, защищающего пользователя от боковых ударов у нее нет.
Ну и, собственно - по какой полосе им ездить-то на дорогах? По той, где постоянно все машинами заставлено?
Просто городской СИМ должен выглядеть не как велосипед, скутер или самокат. Это должен быть стул на колесах. Автономный. В который садишься и едешь. А он (уже на вполне приличной скорости) двигается по строго определенным маршрутам, за исключением увиливания от случайных препятствий. Ты подруливаешь только на медленной скорости только в некоторых местах. На таком поставить тент от дождя, ветра и слишком сильного мороза - вполне можно.
И вот для такого, для средства движения быстрее пешехода и медленней машины - отдельные выделенные дороги/полосы нужны. Потому что ни с пешеходами ни с машинами оно делить пространство не может по соображениям безопасности.
Потому что это будет препятствовать задаче этих башен - собственно, охлаждению.
Так то можно задать вопрос, почему холодильник у Стирлинга просто так тепло рассеивает. Давайте еще один поставим, что на разности температур (она же есть) будет полезную работу совершать.
Это зависит от понимания 'не даст'. Потому что в пределе - выкидывается исходный текст оригинала, вставляется текст мока и компилируется.
Механизм поиска библитек/имен в любом языке есть. Есть список каталогов и прочих мест, который просматривается для поиска библиотек.
В этом случае можно tooling делать так, чтобы первое объявление находило тестовую либу somelib с SomeName раньше, чем основную.
Но да, если можно писать (условно):
'from somelib use SomeName'
и оно в тестовой среде превращалось (явно или неявно) в
'from somelib.mock use SomeName'
то это заметно удобнее.
Для мока технически не надо интерфейса. Можно тестовый класс называть так же как оригинал и тестовой среде выполнения говорить 'Во время тестов используй то определение имени а не это'.
Что, собственно, и делается (но в другом виде), когда подстановка интерфейса происходит.
Но tooling пошел другим путем.
Только если забывать, что оно всегда "полезно для..." (даже если для чего именно прямо в предложении не озвучивается).
Я так понимаю, потому что там еще прочая нагрузка есть, которая не багаж и не 'полезная'. Но которая все равно место/ресурсы (от багажа) отнимает.
Условно "Общая нагрузка такая-то, из нее полезной столько-то".
А вот про это я уже давно пришел к выводу, что про художественную литературу надо старательно, еще со школы, вбивать в головы 'это придуманный мир с придуманными людьми с придуманными мыслями и придуманными законами мира. К реальному миру - отношения не имеет, пока не показано обратного. Вот абсолютно никакого, хотя это местами и кажется'. (На практике делают наоборот, рассуждая о условном герое так, как будто он реальный человек, и вопросом применимости показанных примеров и последствий его действий к реальной жизни почти не задаются)
Вот как у нас сейчас нейросетки удачно и правдоподобно галлюционируют - то же самое явление, только написано людьми.
А прогнозирование - это добро пожаловать в разную публицистику с нормальными цепочками рассуждений.
Устоявшийся же перевод, а не только у ИБ? Так что почему бы и нет?
printf из условной динамической libc.2.4.5 и libc2.4.10 влинковываются в приложение именно как разные имплементации одного и того же имени. Какая стоит в системе (и printf называется) - ту и используем.
А printf_v_2.4.5 implements printf, printf_v_2.4.10 implements printf - об этом пользователю либы думать не надо. Он только про printf в общем случае знает. Да и в коде библиотеки этих двух имплементаций, вроде, нет. Есть одна printf, которая меняются только вместе со сменой версии кода.
Можно, конечно, сказать что та printf, что в stdlib.h -- это и есть интерфейс, но весь этот механизм Dependency Inversion почему-то не называют и в пример не приводят. Хотя стоило бы.
Но да, тут - интерфейсы полезны. А если такой динамической (пере)конфигурации, прямо в рантайме - нет, можно и без них.
А это пример, где отдельный интерфейс скорее вреден. Потому что провоцирует вот такое, когда думаешь 'а public в имплементации - это контракт или нет? В смысле - использовать можно или как?'
Ctrl-F 'public'
Если бы код был в IDE - вообще специально искать бы не пришлось.
А можно не вводить, а просто написать 'public' в имплементации, а файлик с интефейсом сам сделается и поправится.
Мой тезис в том, что если инструменты есть (а они есть) - то аргументы что той стороны, что той - слабоваты. Сейчас оно традиция практически в чистом виде.
Это объяснение, зачем нужен интерфейс как таковой. Может быть полезен, да.
А вот в виде отдельного файла - в общем, показания рознятся. Можно и компилятор на это дело натравить - пускай он его извлечением занимается.
Зачем на него смотреть, именно в виде файла? Шмяк хоткей - и тебе методы показывают. Ну или в документацию отправил (она же есть, правда?) Чего именно в интерфейсе, без реализации, интересного?
А сам файл - в общем, скорее дань традиции языка. Может быть или может не быть. Все равно его руками писать необязательно.
Оба аргумента применимы только к случаю, когда без IDE пишешь.
Так-то и клик давно умеет игнорировать интерфейс, сразу переходя в единственную реализацию, и список публичных методов показывается в специальной панельке, без необходимости их искать. Вроде бы даже есть специальный вариант, который просто схлопывает приватные методы в тексте, если хочется прямо на него смотреть.
Смотрю на рекомендации. За долгий срок.
Никто. И не надо. Выбираем из того, что 'кто-то' уже прочитал. Если не гнаться за новинками - работает.
Я вас умоляю. Художественных книг уже столько, что даже если перестать читать все новое - до конца жизни хватит. Если избавится от подхода 'хочу самое лучшее', а начать 'Берем первое попавшееся по рекомендациям, Начинаем читать. Не понравилось - в корзину ее' - проблема выбора резко проподает.
И пусть. Я, например, был бы вполне доволен, если бы 'LLM'-ый машинный формат статей с большим преобладанием списков стал более популярен. Ибо незачем совершенно лишней воды наливать. Скажи сразу, чего ты там хочешь передать, а не разбавляй текст шутками да прибаутками.
Почему, кстати, идиотское? Ясно же, что "вредоносная" - это с точки зрения одного, а "полезная" - это с точки зрения другого. Смысл согласовывается с разными субъектами.
От имени. В случае необходимости бывшая конкретная имплементация делается интерфесом, а новая уже его реализует. Или сразу другая реализация вставляется под старым именем.
Но в рантайме замена уже не сработает, это да, надо будет перекомпилировать.
Это, кстати, одна из причин появления заметного числа классических правил. Они исходят из предположения, что перекомпиляция и пересборка - это такая штука, которую нужно бояться как огня.
Если можно списать и оно все равно - то зачем выявлять? Ну пишет книги не живой человек, а киборг - и черт с ним, если читают. А если не читают - то от того, что он целиком живой, лучше никому не станет.
Если верить более новым новостям - я оказался прав. Непредвиденные последствия изменений и непонимание, что именно произошло. Разобрались только когда уже все весьма сильно упало.
Зловред, который может украсть пароль (а именно от таких пин, привязанный к устройству нужен) может и токен, в общем, украсть, если он не лежит в защищенном хранилище системы. А если пользуешься хранилищем - то тот пин, что демонстрируют, становится слегка не нужен - можно напрямую защищенным токеном пользоваться.
Де не столько в скорости. А в том что его водители машин будут не замечать, как велосипедистов и мотоциклистов не замечают. А эта штука - еще ниже. И никакого корпуса, защищающего пользователя от боковых ударов у нее нет.
Ну и, собственно - по какой полосе им ездить-то на дорогах? По той, где постоянно все машинами заставлено?
Просто городской СИМ должен выглядеть не как велосипед, скутер или самокат. Это должен быть стул на колесах. Автономный. В который садишься и едешь. А он (уже на вполне приличной скорости) двигается по строго определенным маршрутам, за исключением увиливания от случайных препятствий. Ты подруливаешь только на медленной скорости только в некоторых местах.
На таком поставить тент от дождя, ветра и слишком сильного мороза - вполне можно.
И вот для такого, для средства движения быстрее пешехода и медленней машины - отдельные выделенные дороги/полосы нужны. Потому что ни с пешеходами ни с машинами оно делить пространство не может по соображениям безопасности.