#prog #js #typescript #article
Статья (pdf) о том, как типы могут помочь поймать баги в коде на JavaScript, на базе случайной выборки из репозиториев по всему GitHub. TL;DR: Flow и Typescript в состоянии поймать 15% из допущенных багов (с доверительным интервалом 5%)! Причём, учитывая методологию, это число наверняка занижено. К сожалению, ссылки на материалы исследования нерабочие, так что проверить результаты несколько затруднительно.
Статья (pdf) о том, как типы могут помочь поймать баги в коде на JavaScript, на базе случайной выборки из репозиториев по всему GitHub. TL;DR: Flow и Typescript в состоянии поймать 15% из допущенных багов (с доверительным интервалом 5%)! Причём, учитывая методологию, это число наверняка занижено. К сожалению, ссылки на материалы исследования нерабочие, так что проверить результаты несколько затруднительно.
#prog
Там Данила пишет про суммирование чисел в плавучке и про то, как разбираться с неизбежными ошибками округления
Там Данила пишет про суммирование чисел в плавучке и про то, как разбираться с неизбежными ошибками округления
Telegram
Experimental chill
Нередко в базах данных и вообще любой работы с массивами возникают сложения чисел с плавающей точкой. С ними вроде всё хорошо, IEEE 754 стандарт давно устоялся, но чем больше вы складываете чисел, тем больше накапливается ошибка. Ещё хуже, если вы суммируйте…
#prog #article
С бооольшим опозданием делюсь статьёй (перевод на Хабре) про исследование производительности предсказателя ветвлений на разных процессорах. Помимо всего прочего — очень наглядно показана разница в производительности между предсказанными и не предсказанными переходами
С бооольшим опозданием делюсь статьёй (перевод на Хабре) про исследование производительности предсказателя ветвлений на разных процессорах. Помимо всего прочего — очень наглядно показана разница в производительности между предсказанными и не предсказанными переходами
Хабр
Какой предел у предсказателя ветвлений? Проверили на x86 и M1
Некоторое время назад я смотрел на высоконагруженную часть кода и обратил внимание на это: if (debug) { log("..."); } И тут я задумался. Это — часть цикла,...
#prog #article
Системы типов #java и #scala являются unsound. Подробности в статье.
TL;DR:
Программа определяет тип
И эта ошибка оставалась незамеченной 12 лет. А кто-то ещё говорит, что null — хорошая идея.
Системы типов #java и #scala являются unsound. Подробности в статье.
TL;DR:
Программа определяет тип
class Constrain<A, B extends A> {}
и метод upcast
:static class Bind<A> {
<B extends A>
A upcast(Constrain<A,B> constrain, B b) {
return b;
}
}
Этот метод просто апкастит значение типа B
в значение типа A
, используя значение типа Constrain<A, B>
как материальное свидетельство того, что B
действительно является подтипом A
. К сожалению, ничто не мешает в качестве значения этого типа использовать null
, что ломает логику системы типов, которая полагается на этот факт, а использования wildcard capture позволяет при помощи Constrain
установить отношение субтипизации между двумя произвольным типами. Результат? Комбинация null
-гого Constrain
и upcast
позволяет перевести значение любого типа в значение любого типа. Фактически — аналог std::mem::transmute, но без каких либо небезопасных фич и с корректно типизированным кодом.И эта ошибка оставалась незамеченной 12 лет. А кто-то ещё говорит, что null — хорошая идея.
Коллега, находясь в отпуске, помогает в рабочем чате.
xxx: Имярек, выйди и зайди в отпуск нормально
#трудовыебудни
xxx: Имярек, выйди и зайди в отпуск нормально
#трудовыебудни
Forwarded from dev optozorax
Скачивание веб-страниц в один HTML файл. #решения
Нашёл такое расширение для браузера. Стили, скрипты, шрифты, картинки, видео тупо инлайнятся в html через
Расширение: https://github.com/gildas-lormeau/SingleFile (там нормальное описание и ссылка на версию для каждого браузера).
Оригинальные настройки удаляют со страницы JS, скрытые элементы, неиспользуемые стили, не скачивают видео итд. Так что покопайтесь в настройках чтобы получать нужный вам результат.
Я проверил на своей последней статье, работает отлично, в комментах приложу html файл, он работает даже на телефоне.
Вдохновлено https://t.iss.one/bpblog/1219
Нашёл такое расширение для браузера. Стили, скрипты, шрифты, картинки, видео тупо инлайнятся в html через
data:image + base64
или напрямую через <style>
, <script>
. Теперь можно перестать делать скриншоты всей страницы или скачивать её в pdf
. Так же это расширение позволяет скачивать только выделенную часть страницы.Расширение: https://github.com/gildas-lormeau/SingleFile (там нормальное описание и ссылка на версию для каждого браузера).
Оригинальные настройки удаляют со страницы JS, скрытые элементы, неиспользуемые стили, не скачивают видео итд. Так что покопайтесь в настройках чтобы получать нужный вам результат.
Я проверил на своей последней статье, работает отлично, в комментах приложу html файл, он работает даже на телефоне.
Вдохновлено https://t.iss.one/bpblog/1219
GitHub
GitHub - gildas-lormeau/SingleFile: Web Extension for saving a faithful copy of a complete web page in a single HTML file
Web Extension for saving a faithful copy of a complete web page in a single HTML file - gildas-lormeau/SingleFile
👍1
Наконец-то дошли руки пройти Serena, которую я запускал в последний раз... 6 лет назад.
И знаете что?
Я обескуражен. Весьма.
И знаете что?
Я обескуражен. Весьма.