Обновить
19
0.1

Пользователь

Отправить сообщение

Плот-твист: заметку написал Андрей, а Серёга - его раздвоение личности, возникшее из-за дикого истощения. И первое правило клуба: рост PR - это показатель эффективности, а вовсе не признак снижения качества первоначальной реализации задач.

"Не подозревая, что врут"? Еще как подозревая) Например, друпал стал активно использовать этот прием, чтобы замаскировать своё реальное положение дел.

У них есть страница со статистикой использования ядра (https://www.drupal.org/project/usage/drupal)

1. 2017 год - честный график: нет лишнего шума, четко виден рост и падения мажорных веток, и отдельная суммарная линия.

https://web.archive.org/web/20170729000137/https://www.drupal.org/project/usage/drupal

2. 2020 - манипуляция: ложное впечатление наполненности из-за заливки, каскадное откладывание линий, новые мажорные версии дополнительно нашинкованы на подверсии, чтобы усилить какофонию.

https://web.archive.org/web/20200628122214/https://www.drupal.org/project/usage/drupal

3. 2025 - манипуляция не справляется, падение очевидно, нужен новый приём. Пренебрежение. Пусть график выплевывает в лицо такое количество данных, что просто уже и не помещается целиком (график обрезан, линии - черное месиво, а таблица снизу с горизонтальным скроллом) - просто отбивает желание смотреть.

https://web.archive.org/web/20251228114038/https://www.drupal.org/project/usage/drupal

Кстати, еще один пример манипуляции (подсмотрено у того же друпала): отображение выборки за 2 года с еженедельным обновлением на полоске в 150px. Например, блок статистики в правом сайдбаре https://www.drupal.org/project/drupal

2017 - количество багов: 7982

http://web.archive.org/web/20170814044424/https://www.drupal.org/project/drupal


2019 - количество багов: 10156 - подумаешь, полоска какая-то.

http://web.archive.org/web/20190930223342/https://www.drupal.org/project/drupal

Оплачиваю лицензии IDE JetBrains с тех пор, как стал зарабатывать на регулярное питание. С их уходом никаких особых сложностей нет, просто на 20$ в год дороже из-за выбора другой страны в платежном аккаунте. Правда, для работы ИИ нужен VPN, но у них это такое корыто, что лучше сразу отключить плагин и пользоваться Cursor.

IDE получает "правильный" результат и считает подпись валидной

Как-то слишком просто. Что мешает защитному механизму послать заведомо невалидные данные и, получив "правильный" результат, детектить взлом?

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

Хм.. звучит как неплохая оптимизация :) Кто пользовался, подскажите, IDE под этим активатором всё так же страдает от внезапного съедания всей ОЗУ? Может, попросим автора чита починить и это по-братски, раз он всё равно уже в теме, как там и что, а то у разрабов JetBrains походу лапки на такие проблемы)

Спасибо за перевод, действительно находка!

То есть в 2018 чуваки обсудили, что, мол, работает медленновато, что через pthread_getcpuclockid будет быстрее и.. забили болт - пока в конце 2025 какой-то юнец (с этой их вечной суетой, знаете-с) не реализовал это в виде коммита? Вот уж поистине элитарное сообщество)

Скрытый текст

Автору безусловный респект, но все-таки опубликовал он свою статью в корпоративном блоге только через 12 дней после статьи от создателя патча.

А ты точно узнал об этом просматривая лог коммитов?
А ты точно узнал об этом просматривая лог коммитов?

Если что, этот гэг - отсылка на кликбейтовую рекламу в стиле "Чтобы выросло, просто добавьте это..". На случай, чтобы проницательный читатель не забывал критически смотреть на материал, и не экстраполировать по одной точке)

Жесткий ты парень, "поверхностная брошюрка" :)

Ну если сравнивать с книгами "Искусство программирования" Дональда Кнута, от одного лишь касания к которым соски твердеют, то да. Но так тогда про любую книгу можно сказать (вообще, он сделал невероятный комплимент программистам, добавив это слово в название).

Можно еще вспомнить Скиену, Кормена или, быть может, распаковать Библиотеку алгоритмов 1975-1981 Агеев/Алик/Галис/Марков.

К чему это я? Ах да. "Грокаем алгоритмы" Бхаргава Адитья прекрасная книга, без лишних понтов и с увлекательной подачей.

Те, кто пишут поверхностно, так сделать не могут. А то, что она тоненькая, так для меня это даже знак качества, так как чем толще книга, особенно когда больше 400 страниц, тем выше вероятность, что она просто размыта водой (за ооочень редкими исключениями, про которые и так все знают).

Эта книга мало поможет для решения проблем на проде. Но будем честны, и Кнут не особо помогает в повседневной работе. Поиск решений насущных проблем сегодня ведется через статьи в интернете, специализированные ресурсы и ИИ. А книги это всегда больше инвестиция в мышление на будущее (ну или что-то типа того).

И да, "Грокаем алгоритмы" есть в моем списке (см. спойлер в конце), как и множество других отличных книг из этой серии. У Manning Publications реально получилось уловить стиль подачи материала. В одном из книжных магазинов я даже видел табличку возле этой серии "Те самые книги, о которых все говорят". Это может и чересчур, но не на пустом месте они это заслужили. Им даже удалось немного подсидеть O'Reilly Head First (хотя Design Patterns я считаю одной из лучших книг pound for pound, но далеко не от каждой книги этой серии ловишь вайб).

Звучит логично, спасибо!

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

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

Ага, понял!

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

Но в данном случае 99% мучений не в том, как собрать так, чтобы не испортить остальное. А в том, чтобы собрать вообще)

Если проект можно перевести на новую версию php в которой intl с подходящей ICU, то о чем вообще говорить?

Но если проект привязан к конкретной версии php, и для нее не находится intl с нужной ICU, что тогда?

Я действительно потратил кучу времени, чтобы все это раздуплить. Спасибо, что обратили внимание!

Кстати, камень в огород хабро-редактора статей

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

Для обслуживания не обязательно каждый раз читать статью (хоть я и не против). В ней приведены скрипты, настроив которые один раз, дальнейшую сборку можно выполнять за пару минут, просто меняя версию ICU и запуская скрипт (проверено на ICU от 72 до 78 с небольшими пропусками).

Может и принято, я в этом нубас. А какие преимущества даст нормальный пакет (rpm?), если ICU здесь собирается только для конкретной версии php расширения?

Судя по лайкам, совет полезный, спасибо (а уделенное время в субботний вечер вообще бесценно)! Но я никак не могу его до конца осознать :(

Не проще ли нужный проект упаковать в контейнер

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

где и нужный php и нужная ICU готовая может быть

От того, что проект переедет в контейнер, версии php/icu сами по себе не поменяются. Или мы заодно будем обновлять версию php? Но тогда придется обновить и код, фреймворк, вендоры - а это уж точно не проще).

cli в контейнере запускать проще, чем вот это всё

Речь ведь не только о cli. Но даже если о нем, все равно будет выполнятся код проекта, который подразумевает старую версию php.

Если же совет в том, чтобы не рисковать продом, а воспроизвести нужное окружение в докере и уже там выполнять сборку - с этим полностью согласен!

Спасибо за то, что создаете задачи на исправления! Лишь уточнение: ссылки на такие задачи особенно ценны в статье — вне зависимости от того, появились ли там ответы. Это добавляет статье вес, автору — респектабельности, а читателям — кислотно-щелочной баланс ;)

Без ссылки на фидбек от разработчиков профессиональному обзору недостает профессиональной этики, имхо.

DDoS атака раньше: использование миллионов IoT в ботнетах с предварительной тренировкой на африканском регионе.

DDoS атака теперь: открыть страницу с фильтром и нажать на кнопку "Поиск" 3 раза подряд.

Toshiba Satellite a100 - лучший ноут! Лет 7 за ним сидел, никаких проблем с петлями. Открытие крышки одной рукой (как в маках). Сколько раз носил в рюкзаке во включенном состоянии - продолжал работать как ни в чем не бывало. Ударопрочность - мое почтение (5 лет пришлись на универ)! Механическое колесико регулировки звука - кайф! Замена/апргейд ОЗУ - открутить один винт. Достать веник - два винта! Батарея отщелкивается.

Как же я был неправ, когда пересел с этой вершины инженерной мысли на шлак под названием Toshiba Satellite 200. Думал, что просто досадное недоразумение, поэтому дальше перешел на Satellite 300 - такой же шлак (и оба из фирменного салона). Не знаю, что случилось, но Тошиба явно повернула не туда, и не удивительно, что в результате и вовсе прекратила производство ноутов.

А что другие марки? Такая же ерунда! Металлические корпуса магнитятся, петли крошатся как сахар, чтобы что-то поменять - нужно разобрать все до винтика (а иногда клава и вовсе припаяна!), на экране появляются какие-то разводы, блоки питания трещат, кулеры как турбины, а корпус все равно перегрет. И это касается не только msi, hp, asus, acer, lenovo, но и Dell тоже!

Спасибо, что выслушали!

Ну хз, Lotus 1-2-3 прекрасно справляется с созданием таблицы из одной колонки, и зачем мне тогда ваши кликхаусы?

Мне нужно больше информации, чтобы сформировать мнение

Да, хорошее решение!

Но может пойти еще дальше, отображая и FEN (как есть, без поведения, чтобы можно было скопировать именно его для переноса в свой шахматный редактор), и кнопку "Скопировать ссылку на задачу" (которая даже сама по себе будет интуитивно понятна, без всяких алертов).

Потому что сейчас довольно сложно догадаться, что щелкая (или выделяя) FEN будет происходить копирование на страницу сайта. Даже если учесть будущую стилизацию. А когда поведение элемента на глазок не очевидно, его полезность сильно теряется.

Ага,  "бешеная Ладья", все верно)

Еще вспомнил одну партию по поводу того, насколько иногда нелегко заметить мат в 1 ход. Играли два великих шахматиста Иванчук и Ананд. Иванчук поднял бешенную атаку черными, но не заметил линейный мат в один ход:

Anand vs Ivanchuk - London GP, final play off 1994
Anand vs Ivanchuk - London GP, final play off 1994

В результате Ананд устоял и потом просто "срубил флаг".

1

Информация

В рейтинге
3 588-й
Зарегистрирован
Активность