Все ради сохранения сигнатуры функции, которая возвращает итератор
Не ясно, зачем тут Stream API и почему IMAGES это массив. Вы могли сразу написать IMAGES = List.of() и всё. Ну или использовать всё тот же Arrays.asList(IMAGES) для инициализации resources , если IMAGES в виде массива строк всё же нужен отдельно.
Первый раз слышу такой упрек, в чем проблема?
Заменяем f.exists() на Files.exists(), f.isFile() на Files.isRegularFile(), f.canRead() на Files.isReadable() и единственным, из-за чего мы создавали экземпляр File остаётся вызов f.toPath(), который можно заменить на Path.of().
Таким образом, пакет java.nio.file предоставляет полноценную замену для java.io.File, причин для использования одновременно и java.io.File и java.nio.file.* по-просту нет.
Статья ведь про рефакторинг, логично сразу делать нормально.
Ну такое. В столбик на листе бумаги это тоже «без калькулятора». Да и посчитать в уме 13 + 12 * 13 совершенно не сложно, если вдруг не помнишь наизусть.
У нас с вами были разные МГТС. «Моя» МГТС с неприличными предложениями не приставала и Русь-версиюнепомню исправно выдавала номер. Возможно, если абонент сам проявлял инициативу платить, то они от денег не отказывались.
В эхах того времени видел только возмущения сисопов на попытки заставить платить за модем, про АОН такого не припоминаю.
"Необходимая для работы АТС" информация передавалась по линкам между АТС, а не от АТС к абоненту.
А между станцией и абонентом, при поднятии трубки АОН посылал АТС 500 Гц сигнал, запрашивая информацию о номере звонящего абонента.
Наводящий вопрос: откуда на стороне АТС взялась аппаратура, отвечающая на запрос? Не оттуда ли, что это было необходимо для работы самих АТС?
А вот пошлет ли АТС ответ на этот запрос, зависело уже от ее настроек и доброй воли телефонистов.
У меня есть некие сомнения в том, что при проектировании аппаратуры сферической декадно-шаговой АТС в вакууме вообще задумывались о подобных настройках.
С мобильными телефонами не путаете? На заре мобильной связи в РФ это была именно отдельная платная услуга. АОН для проводных сетей использовал информацию, необходимую для работы АТС и передаваемую по тем же проводам, что и разговор. Платить там было не за что.
От статьи с таким заголовком ожидаешь обзора на 100500 страниц с зубодробительным матаном, а тут всего лишь сообщение о том, что автор не согласен с журналистом, изнасиловавшем учёного.
в диапазоне от «ваш проект попахивает» до надо «<a href="/the-sin-of-refactoring" rel="noopener noreferrer nofollow">срочно все переписать</a>».
Это переработанная и обновленная версия статьи, оригинал которой доступен в нашем блоге.
Ссылки перед публикацией проверять надо.
File f = new File(image);
if (f.exists() && f.isFile() && f.canRead())
return Files.readAllBytes(f.toPath());
Вроде бы про code smell и рефакторинг пишете и при этом смешиваете NIO с совершенно тут не нужным File.
final List<String> resources = new ArrayList<String>
(Arrays.stream(IMAGES).toList());
Ну и нафга тут стримы, чем вам Arrays.asList() не угодил? Ещё зачем-то это сверху отдельно в ArrayList укутываете. На фоне разговоров про «так писали раньше» видеть игнорирование diamond operator несколько странно.
Отказ от модификатора public в интерфейсах вещь сомнительная сама по себе. В классах такие методы буду package-private, в интерфейсах — public, но кто-то почему-то решил что держать в голове дополнительный контекст это удобно. Зато не владеющим слепым десятипальцевым меньше буковок набирать. Популизм как он есть.
приятный материал для облицовки первых коммерческих этажей.
«Коммерческие этажи» это всегда куча левого народа у входов в подъезды, так и норовящего прошмыгнуть внутрь. В советских многоэтажках это решалось входами в подъезд и в магазин на первом этаже с противоположных сторон дома, но для современных архитекторов это слишком сложно.
Например: лифты быстрые или тихие?
Ложная дихотомия на службе у бездарных пЕарщиков. Например, грузовой лифт должен быть грузовым, с широким дверным проёмом и раза в 2-3 больше легкового.
Жители весь день краем уха слышат шум лифтов.
Бугога, в рекламной статье открыто пишут про то, что в построенном ими человейнике стены из картона и звукоизоляции нет. Автора текста премировать, всенепременно премировать!
вызвать лифт, чтобы выбросить мусор
Для того, чтобы дойти до мусоропровода лифт не нужен. В вашем человейнике нет мусоропровода? Тогда это кусок говна не пригодый к жизни. Пакеты с мусором будут томиться в коридорах общего пользования, а особо отбитые жильцы выносить пакеты с мусором будут не до вонючей клоаки в подвале, а до урны рядом с подъездом.
По-хорошему строительство и эксплуатация многоэтажек без мусоропровода и настоящего грузового лифта должна быть запрещена.
Он также подчеркнул необходимость использования ИИ при написании кода. По его словам, сотрудники, работающие над Gemini, должны стать «самыми эффективными кодерами и учёными в сфере искусственного интеллекта в мире, используя собственный ИИ Google».
Мир может спать спокойно. Вместо результатов они покажут уверенный рост SLOC и пропорциональное падение качества.
Вы написали про десктоп и я вспомнил про команду /htmlhistory, которая в десктопном клиенте генерировала HTML-файл с перепиской из чата. ХЗ, осталась ли она в десктопном клиенте. На андроиде её нет.
можно поставить на паузу, проветриться и попить чая, или заставить повторить сказанное сто раз.
Или научиться читать и не тратить время на видеолекции, в которых полезная информация присутствует в гомеопатических количествах.
Это и есть видеолекции и интерактив.
Видеозаписи лекций не являются интерактивом, они записаны заранее и на ваши хотелки и непонятки никак не отреагируют. Неясные моменты вам в любом случае придётся по книгам учить.
текстбуки
О, вы спик инглиш! Эмэзин!
Только вот текстбуки совершенно не умеют выстраивать логику изучаемого, они одинаково безакцентно и подряд вываливают на вас блоки информации. Лектор объясняет костяк науки, причинно-следственные связи
Высосанное из пальца противопоставление. Лектор на видео в этом смысле ничем в лучшую сторону от книги не отличается, точно так же линейно подаёт информацию. При очном обучении лектору можно задать вопросы по непонятным моментам, но с роликом на ютубе такое не прокатит.
Если неподготовленные люди читают учебник, не понимая взаимосвязей между темами и разделами, они потом пишут вот такие высеры про серое и белое вещество с приплетенными дофамином и любимым кофе.
Люди пишут ерунду потому что могут. Отпустите сову, верните глобус на полку.
Вы троллите?
Вор кричит «держите вора!« Вы расчленили вопросительное предложение «Как трёхмерные рендеры и 3D-печать поможет обучению программированию?» на две части, ответили на них так, словно это были самостоятельные утверждения, а под конец ещё и про троллинг интересуетесь.
Расскажите про альтернативу, в которой достаточно одного только адреса электронной почты для регистрации и при этом можно совершать звонки на обычные телефоны.
Вводить подписку в проекте, который планируют закрыть через полгода можно только в результате предсмертных конвульсий KPI дефективного менеджера, отвечавшего за проект.
Не ясно, зачем тут Stream API и почему
IMAGESэто массив. Вы могли сразу написатьIMAGES = List.of()и всё. Ну или использовать всё тот жеArrays.asList(IMAGES)для инициализацииresources, еслиIMAGESв виде массива строк всё же нужен отдельно.Заменяем
f.exists()наFiles.exists(),f.isFile()наFiles.isRegularFile(),f.canRead()наFiles.isReadable()и единственным, из-за чего мы создавали экземплярFileостаётся вызовf.toPath(), который можно заменить наPath.of().Таким образом, пакет
java.nio.fileпредоставляет полноценную замену дляjava.io.File, причин для использования одновременно иjava.io.Fileиjava.nio.file.*по-просту нет.Статья ведь про рефакторинг, логично сразу делать нормально.
Ну такое. В столбик на листе бумаги это тоже «без калькулятора». Да и посчитать в уме 13 + 12 * 13 совершенно не сложно, если вдруг не помнишь наизусть.
«объёмы» же, ну!
С практической точки зрения SIMD есть не везде и там «новые классные алгоритмы» могут причинить непоправимую пользу.
Я, кстати, так и не понял, зачем вы сослались на какое-то нетехническое СМИ вместо того, чтобы сразу сослаться напрямую на обсуждаемые статьи.
У нас с вами были разные МГТС. «Моя» МГТС с неприличными предложениями не приставала и Русь-версиюнепомню исправно выдавала номер. Возможно, если абонент сам проявлял инициативу платить, то они от денег не отказывались.
В эхах того времени видел только возмущения сисопов на попытки заставить платить за модем, про АОН такого не припоминаю.
Наводящий вопрос: откуда на стороне АТС взялась аппаратура, отвечающая на запрос? Не оттуда ли, что это было необходимо для работы самих АТС?
У меня есть некие сомнения в том, что при проектировании аппаратуры сферической декадно-шаговой АТС в вакууме вообще задумывались о подобных настройках.
Срубить бабла на хайпе.
Вы упустили важный момент: количество слоёв, узор, аромат и производителя тоже нужно отслеживать, для продажи анонимной статистики.
Исправил заголовок для вас:
Стартап разработал титановую закладку с функциями ИИ для книгОчередной стартап решил хайпануть на выпуске бесполезной хернИИ.Что, б%@дь?
Чтение и так увлекательно и эффективно, а в случае бумажных книг — ещё и беспроблемно. Без всякого нейросетевого говна.
С мобильными телефонами не путаете?
На заре мобильной связи в РФ это была именно отдельная платная услуга.
АОН для проводных сетей использовал информацию, необходимую для работы АТС и передаваемую по тем же проводам, что и разговор. Платить там было не за что.
От статьи с таким заголовком ожидаешь обзора на 100500 страниц с зубодробительным матаном, а тут всего лишь сообщение о том, что автор не согласен с журналистом, изнасиловавшем учёного.
Ссылки перед публикацией проверять надо.
Вроде бы про code smell и рефакторинг пишете и при этом смешиваете NIO с совершенно тут не нужным
File.Ну и нафга тут стримы, чем вам
Arrays.asList()не угодил?Ещё зачем-то это сверху отдельно в
ArrayListукутываете. На фоне разговоров про «так писали раньше» видеть игнорирование diamond operator несколько странно.Отказ от модификатора
publicв интерфейсах вещь сомнительная сама по себе. В классах такие методы буду package-private, в интерфейсах — public, но кто-то почему-то решил что держать в голове дополнительный контекст это удобно. Зато не владеющим слепым десятипальцевым меньше буковок набирать. Популизм как он есть.«Коммерческие этажи» это всегда куча левого народа у входов в подъезды, так и норовящего прошмыгнуть внутрь. В советских многоэтажках это решалось входами в подъезд и в магазин на первом этаже с противоположных сторон дома, но для современных архитекторов это слишком сложно.
Ложная дихотомия на службе у бездарных пЕарщиков.
Например, грузовой лифт должен быть грузовым, с широким дверным проёмом и раза в 2-3 больше легкового.
Бугога, в рекламной статье открыто пишут про то, что в построенном ими человейнике стены из картона и звукоизоляции нет. Автора текста премировать, всенепременно премировать!
Для того, чтобы дойти до мусоропровода лифт не нужен.
В вашем человейнике нет мусоропровода? Тогда это кусок говна не пригодый к жизни.
Пакеты с мусором будут томиться в коридорах общего пользования, а особо отбитые жильцы выносить пакеты с мусором будут не до вонючей клоаки в подвале, а до урны рядом с подъездом.
По-хорошему строительство и эксплуатация многоэтажек без мусоропровода и настоящего грузового лифта должна быть запрещена.
Почему «скрытая»?
Оно с плашкой «турбо» висит. Это официально проплаченная джинса.
Мир может спать спокойно. Вместо результатов они покажут уверенный рост SLOC и пропорциональное падение качества.
Вы написали про десктоп и я вспомнил про команду
/htmlhistory, которая в десктопном клиенте генерировала HTML-файл с перепиской из чата. ХЗ, осталась ли она в десктопном клиенте. На андроиде её нет.Это слишком жестоко, текст в гифках не поддерживает ни одно из современных приложений. Да и кодировка там 7-битная была.
Или научиться читать и не тратить время на видеолекции, в которых полезная информация присутствует в гомеопатических количествах.
Видеозаписи лекций не являются интерактивом, они записаны заранее и на ваши хотелки и непонятки никак не отреагируют. Неясные моменты вам в любом случае придётся по книгам учить.
О, вы спик инглиш! Эмэзин!
Высосанное из пальца противопоставление. Лектор на видео в этом смысле ничем в лучшую сторону от книги не отличается, точно так же линейно подаёт информацию. При очном обучении лектору можно задать вопросы по непонятным моментам, но с роликом на ютубе такое не прокатит.
Люди пишут ерунду потому что могут. Отпустите сову, верните глобус на полку.
Вор кричит «держите вора!«
Вы расчленили вопросительное предложение «Как трёхмерные рендеры и 3D-печать поможет обучению программированию?» на две части, ответили на них так, словно это были самостоятельные утверждения, а под конец ещё и про троллинг интересуетесь.
Вы слишком жирный тролль, займитесь фитнесом.
Расскажите про альтернативу, в которой достаточно одного только адреса электронной почты для регистрации и при этом можно совершать звонки на обычные телефоны.
Вводить подписку в проекте, который планируют закрыть через полгода можно только в результате предсмертных конвульсий KPI дефективного менеджера, отвечавшего за проект.