Отчасти дело в том, что встраивание — вообще одно из самых важных преобразований, поэтому за последние пару лет многие попытки обойтись без него оказались успешными
Раз 5 прочитал - ну нет в этом смысла. Смотрю оригинал:
Part of the reason is that, as inlining is one of the most important transformations, people have tried to create different profitability analyses the last couple of years
Другое дело.
Значит, надо читать статью в оригинале, а не в этой странной "перепевке".
The http package's Transport and Server both automatically enable HTTP/2 support for simple configurations. To enable HTTP/2 for more complex configurations, to use lower-level HTTP/2 features, or to use a newer version of Go's http2 package, import "golang.org/x/net/http2" directly and use its ConfigureTransport and/or ConfigureServer functions. Manually configuring HTTP/2 via the golang.org/x/net/http2 package takes precedence over the net/http package's built-in HTTP/2 support.
надо убедиться, что проблема существует. Каждый сталкивался с поиском отсутствующей черной кошки, потому что клиент не туда посмотрел, использовал не ту версию, ошибка на самом деле возникает в другом компоненте и т.п. И тут очень важно вопроизвести проблему (это пригодится потом, чтобы убедиться, что проблема исправлена)
если есть очевидная версия, то проверяем ее (то, что автор назвал "научным подходом", с гипотезами и экспериментами)
очевидная версия не подтвердилась ("спасибо, наука, за попытку, дальше инженеры сами"), берем инструменты (valgrind, дебаггер и т.п.) и анализируем
находим, удивляемся, как это вообще могло работать и что за олень (как правило сам) это написал
исправляем, пытаемся воспроизвести, хорошо бы еще добавить unit test для этой ситуации, ну на случай регрессов
И еще - статический анализа кода надо делать не тогда, когда ошибка вылезла, а всегда, в идеале - в процессе сборки.
Воздушная подушка не была напечатана на 3D-принтере и добавляется в обувь отдельно
Пожалуй, единственная вещь, которую стоило напечатать - это как раз подошва с воздушной подушкой. Как человек, последние 2 года использующий велоседло, напечатанное на 3D принтере (https://www.specialized.com/us/en/saddle-mirror), могу сказать, что для упругих элементов это просто идеальная технология, она позволяет, используя один кусок материала (то есть без швов), варьировать жесткость.
Эксперты CrowdStrike установили, что за атакой на серверы демократов стояли две хакерских группировки, связанные с российскими спецслужбами. Информацию от CrowdStrike опровергли на следующий же год
В данном примере ревьюер предложил улучшения, которые касаются обработки граничных случаев о чем не предусмотрел разработчик, эти изменения сделали код более эффективным.
Это изменение не дает ничего, код и так вернет 0 для n < 1. А вот проверки на переполнение тут нет, и ревьювер это пропустил. От такого ревью пользы никакой
В чем недостаток? Это известное поведение стандартной бибилиотеки, и в подавляющем большинстве случаев оно вполне приемлемо. Если я пишу какой-нибудь REST, то понимаю, что работа с БД все равно намного медленнее, ну так и какой мне смысл придумывать супербыструю обработку JSONов, если я на этом выиграю в лучшем случае около 1%, зато потеряю в читаемости кода и увеличу возможность сделать ошибку? Вот если мне нужен сервис, который перелопачивает многомегабайтные JSONы и это его основная задача, то тут да, имеет смысл поискать альтернативы стандартной библиотеке и пожертвовать простотой кода. Но как часто такое нужно?
Раз 5 прочитал - ну нет в этом смысла. Смотрю оригинал:
Другое дело.
Значит, надо читать статью в оригинале, а не в этой странной "перепевке".
Есть какое-то подтверждение этим данным?
Да-да, как-то так это все и начиналось у Лема в "Стиральной трагедии": https://ogobook.ru/fantastika/nauchnaya_fantastika/2551036a6668e37343fe6f644016a5063b4bbe/fulltext.htm
Да эксперты просто молодцы!
Если что, апплетов нет с 2017 года (https://en.wikipedia.org/wiki/Java_applet), а Flash c 2020 (https://en.wikipedia.org/wiki/Adobe_Flash)
Гнутые винтажные седла - избретение дьявола!
Лучшее, с чем я сталкивался - Graph Tech'овские седла с графитовыми (?) вставками
А это теперь норма на Хабре? Уже не первый раз что-то подобное вижу
Да, в 1.24 действительно есть/будет - https://pkg.go.dev/net/http@go1.24rc2#Server
В переводе по какой-то причине это упущено.
UPD. Уже и в перевод добавлено
Ни в http.Server (https://pkg.go.dev/net/http#Server), ни в http2.Server (https://pkg.go.dev/golang.org/x/net/http2#Server) нет поля Protocol, которое предлагается менять.
И вот что говорит официальная документация (https://pkg.go.dev/net/http#hdr-HTTP_2):
Статья - галлюцинация AI?
Миллениалы кроют зумеров! Это просто праздник какой-то (для GenX)
По моему опыту, процесс выглядит так:
надо убедиться, что проблема существует. Каждый сталкивался с поиском отсутствующей черной кошки, потому что клиент не туда посмотрел, использовал не ту версию, ошибка на самом деле возникает в другом компоненте и т.п. И тут очень важно вопроизвести проблему (это пригодится потом, чтобы убедиться, что проблема исправлена)
если есть очевидная версия, то проверяем ее (то, что автор назвал "научным подходом", с гипотезами и экспериментами)
очевидная версия не подтвердилась ("спасибо, наука, за попытку, дальше инженеры сами"), берем инструменты (valgrind, дебаггер и т.п.) и анализируем
находим, удивляемся, как это вообще могло работать и что за олень (как правило сам) это написал
исправляем, пытаемся воспроизвести, хорошо бы еще добавить unit test для этой ситуации, ну на случай регрессов
И еще - статический анализа кода надо делать не тогда, когда ошибка вылезла, а всегда, в идеале - в процессе сборки.
Пожалуй, единственная вещь, которую стоило напечатать - это как раз подошва с воздушной подушкой. Как человек, последние 2 года использующий велоседло, напечатанное на 3D принтере (https://www.specialized.com/us/en/saddle-mirror), могу сказать, что для упругих элементов это просто идеальная технология, она позволяет, используя один кусок материала (то есть без швов), варьировать жесткость.
А можно ссылку на опровержение?
Из каких соображений был выбран WAMR, а не wasmtime, например?
Это изменение не дает ничего, код и так вернет 0 для
n < 1
. А вот проверки на переполнение тут нет, и ревьювер это пропустил. От такого ревью пользы никакойВ чем недостаток? Это известное поведение стандартной бибилиотеки, и в подавляющем большинстве случаев оно вполне приемлемо.
Если я пишу какой-нибудь REST, то понимаю, что работа с БД все равно намного медленнее, ну так и какой мне смысл придумывать супербыструю обработку JSONов, если я на этом выиграю в лучшем случае около 1%, зато потеряю в читаемости кода и увеличу возможность сделать ошибку?
Вот если мне нужен сервис, который перелопачивает многомегабайтные JSONы и это его основная задача, то тут да, имеет смысл поискать альтернативы стандартной библиотеке и пожертвовать простотой кода. Но как часто такое нужно?
К тому же когда мы десериализуем объект в структуру, используется reflect, а он весьма медленный
сайт у них конечно не очень удобно организован, но при желании найти DEB тоже можно: https://slack.com/downloads/instructions/linux?ddl=1&build=deb
У меня для вас плохие новости...
ага, и домен getbox.ru на продажу выставлен. Непонятно, то ли это толстоватый троллинг, то ли какой-то неизящный скам
Мне кажется, тут просто обязательно надо упомянуть pass (https://www.passwordstore.org/)