Обновить
0
@originat0rread⁠-⁠only

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

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

Исследование: становилась ли Windows 10 медленнее с каждым feature update?

Время на прочтение6 мин
Охват и читатели44K

Одной из основных причин того, что некоторые люди избегают обновления своих ПК, стало то, что «обновления тормозят систему». Особенно это актуально для Windows 10 с её схемой Software as a Service, при которой ОС дважды в год получает «feature update». Но так ли это на самом деле?

Сегодня мы выясним, насколько менялась производительность Windows 10 со временем, проведя бенчмарки десяти аспектов работы с ОС:

  • Время установки
  • Время загрузки/перезагрузки
  • Запуск приложений Win32
  • Запуск приложений UWP
  • Windows Search
  • Производительность GDI
  • Нагрузочные испытания GDI
  • Быстрое сканирование Windows Defender
  • Производительность ввода-вывода
  • Выключение

Но для начала небольшое пояснение: хотя я стремился к максимально объективному сравнению метрик производительности, в моих измерениях могут быть погрешности. В этом эксперименте я использовал в качестве гипервизора для каждой сборки Hyper-V с 4 ГБ ОЗУ, 4 ядрами и 32 ГБ накопителя.

Каждая версия устанавливалась на чистую систему.

Итак, давайте приступим!

React Intl: интернационализация React-приложений

Время на прочтение14 мин
Охват и читатели34K

Библиотека React Intl предоставляет механизм для перевода текста на другие языки.


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


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

Читать дальше →

Какие изменения нужны языку Rust, чтобы писать асинхронный код стало проще

Время на прочтение13 мин
Охват и читатели15K

Асинхронное программирование — мощный инструмент. Но экосистема Rust продолжает активно развиваться, и пока язык далёк от идеала. В частности, по этой причине многие считают, что асинхронное программирование в Rust — это боль. Однако некоторые не только критикуют, но и предлагают. Среди таких людей автор данной статьи. 

Здесь я расскажу о некоторых ранее предложенных идеях и свяжу их с новыми предложениями. Я проведу некий мысленный эксперимент и постараюсь ответить на вопрос «Что мы могли бы сделать с асинхронным программированием в Rust, если бы нам дали полный карт-бланш?». 

Непродуманное внесение изменений в Rust может разрушить его. Поэтому всё нужно делать аккуратно, учитывая плюсы и минусы. Допускаю, что некоторые предложения могут вызвать негативную реакцию. Я отношусь к этому с пониманием и прошу читателя подойти к изучению этого материала максимально непредвзято.

Потоки vs Асинхронность


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

Например, этот echo server написан с использованием потоков. Он работает быстрее своей асинхронной версии — для случая, когда количество одновременных подключений не превышает 100.
Читать дальше →

React испортил веб-разработку

Время на прочтение4 мин
Охват и читатели40K
В начале июня я посетил конференцию разработчиков .debug, на которой у моей компании был свой стенд. Смысл стенда заключался в том, чтобы создать ситуацию «Измени моё мнение»: мы представляли какую-нибудь радикальную идею, предлагали людям обсудить её с нами, а потом показывали им, что интересного мы делаем.

Мы решили взять такую идею:


Моим первым оппонентом стал этот молодой парень справа, создающий приложения на нативном React.

Если серьёзно, то React — это хорошая библиотека. Она важна для веб-разработки, потому что в ней используются декларативные и реактивные шаблоны, а такой сдвиг парадигмы в момент её создания был нужен всем. В те времена (6-7 лет назад) возникали проблемы с движками рендеринга и реактивностью, но React довольно неплохо их решил.
Читать дальше →

Пузыри — вверх! Речной барьер, который защищает море от пластика

Время на прочтение5 мин
Охват и читатели10K

Пузыри это не только весело (дети не дадут соврать) и финансовые пирамиды, но и весьма полезный инструмент. В Нидерландах нашли эффективный способ предотвратить попадание пластикового мусора в океан: построен барьер пускающий воздушные пузырьки. Они не мешают судоходству и рыбам, но эффективно удерживают пластик. Использованные маски, пластиковые бутылки, старые телевизоры, уличные знаки, мотоциклетные шлемы, доски для виндсерфинга, рождественские ёлки и многое другое были пойманы «завесой» пузырей на канале Вестердок в Амстердаме.
Читать дальше →

Дыхание жизни. История аппаратов ИВЛ

Время на прочтение8 мин
Охват и читатели12K


За время, прошедшее с начала пандемии Covid-19, почти все из нас так или иначе вспомнили о существовании отделений реанимации и интенсивной терапии, многие не раз всуе упоминали сатурацию и искусственную вентиляцию легких. Участники интернет-баталий за время прошлой весны успели стать диванными экспертами в области медицинской техники, респираторной поддержки и даже стратегий протективной вентиляции. Нехватка аппаратов, спонтанные детонации, «чудесные» изобретения из спичек и желудей, и умопомрачительные идеи о вентиляции нескольких больных одним вентилятором — аппарат ИВЛ прочно вошел в информационное поле прошлого года. Если Человеком года 2020 по версии журнала Time стал врач, то Девайсом года, если бы была такая номинация, определенно бы стал аппарат ИВЛ.

Искусственная вентиляция легких является одним из «китов», на которых держится интенсивная терапия, и остается краеугольным камнем лечения дыхательной недостаточности. Именно об истории ИВЛ пойдет речь в данной статье.
Читать дальше →

Гиперзвук 50-х или неудавшийся конкурент «Семёрки»

Время на прочтение15 мин
Охват и читатели17K

Все мы сильны задним умом, особенно если обладаем послезнанием. Тем грустнее бывает взглянуть на проекты, которые сегодня кажутся заранее обречёнными, но в своё время были отлично проработаны и даже после первых неудач на испытаниях перед самым закрытием буквально кричали: «конструкторы всё исправили, теперь всё будет как надо!» Особенно часто такое ощущение возникает при изучении советских космических программ. Ну или не совсем космических, но конкурирующих с ними. В середине 50-х ещё не было очевидно, что перспективнее — межконтинентальные баллистические или крылатые ракеты. И наш сегодняшний герой — из последних.

Опасности пользования онлайн-менеджерами паролей

Время на прочтение7 мин
Охват и читатели29K

Введение


Я потратил немало времени на то, чтобы разобраться с поверхностью атаки популярных менеджеров паролей. Думаю, я провёл больше времени над их анализом, чем кто-либо ещё, поэтому у меня есть право на мнение.

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

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

Итак, начнём.
Читать дальше →

Trusted Types API для защиты DOM от XSS-атак

Время на прочтение5 мин
Охват и читатели4.1K

Вы когда-нибудь слышали об XSS-атаках, связанных с внедрением (инъекцией) вредоносного кода в DOM (далее — DOM XSS)? Если не слышали, то


DOM XSS — это тип атаки на веб-приложение, когда хакер использует полезную нагрузку (payload), которая выполняется как результат модификации DOM в браузере.

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

Читать дальше →

Полное визуальное руководство/шпаргалка по CSS Grid

Время на прочтение7 мин
Охват и читатели447K

Сегодня мы с вами рассмотрим свойства CSS Grid (далее также — Грид), позволяющие создавать адаптивные или отзывчивые макеты веб-страниц. Я постараюсь кратко, но полно объяснить, как работает каждое свойство.


Что такое CSS Grid?



Грид — это макет для сайта (его схема, проект).


Грид-модель позволяет размещать контент сайта (располагать его определенным образом, позиционировать). Она позволяет создавать структуры, необходимые для обеспечения отзывчивости сайтов на различных устройствах. Это означает, что сайт будет одинаково хорошо смотреться на компьютере, телефоне и планшете.


Вот простой пример макета сайта, созданного с помощью Грида.

Читать дальше →

Пуля для государя

Время на прочтение9 мин
Охват и читатели15K


Автор: Павел Пырин

Еще, быть может, каждый атом — Вселенная, где сто планет;
Там — все, что здесь, в объеме сжатом,
Но также то, чего здесь нет.


Валерий Брюсов «Мир электрона»

В этом году исполнилось 140 лет со дня последнего покушения на Александра II. Это событие вновь привлекло внимание как к фигуре царя, так и к участникам теракта. В обсуждениях статей о действиях «Народной воли» часто встречается мысль о снайперской винтовке, а ранее известный фантаст предположил, что до народовольцев «не дошла простая мысль использовать для покушения винтовку». Попробуем ответить на вопросы: «Могли ли народовольцы использовать снайперскую винтовку? А если могли, то почему не использовали?»
Существовали ли в то время снайперские винтовки с оптическим прицелом?
При изучении истории открываешь порой, для себя, истории уже привычных вещей. И оказывается, что наши предки уже пользовались многими изобретениями, которые мы привыкли считать современными.

Читать дальше →

zx – bash скрипты на javascript

Время на прочтение3 мин
Охват и читатели11K


Bash широко используется в программировании и является превосходным инструментом, но и у него есть свои недостатки. Поэтому Google разработал пакет zx, который позволяет использовать bash внутри javascript / typescript и имеет около 17к звёзд на github. В данной статье будут рассмотрены плюсы и минусы библиотеки, главные аспекты использования и примеры работы.
Читать дальше →

Хит-парад убогих уязвимостей Microsoft из прошлого

Время на прочтение5 мин
Охват и читатели13K

Уж кого нельзя обвинить в скупости на разного рода ошибки и уязвимости, так это корпорацию Microsoft. За примером далеко ходить не надо — достаточно посмотреть на Windows 10, просто утопающую в багах. Упрекать разработчиков не стоит: они «старательно» выпускают патчи, исправляющие ошибки. Но статистика — вещь непредвзятая. Согласно «ежегодному отчету об уязвимостях Microsoft« от компании BeyondTrust, за 2020 год было обнаружено 1268 уязвимостей, из которых критических — 132. В этой статье взглянем на самые странные и глупые уязвимости, которые были найдены в продуктах от Microsoft.

Microsoft Teams и .GIF файлы


В апреле 2020 года CyberArk опубликовала статью об уязвимости в Microsoft Teams, позволяющей злоумышленникам получить доступ к аккаунту жертвы с помощью одного лишь .GIF изображения. 

Суть уязвимости в следующем: чтобы убедиться, что пользователь получает предназначенное для него изображение, в Microsoft Teams используются два токена для аутентификации: authtoken и skypetoken. Authtoken позволяет загружать изображения на доменах Teams и Skype, а затем генерирует skypetoken. Skypetoken используется для аутентификации на сервере, обрабатывающем действия клиента, например чтение и отправка сообщений.
Читать дальше →

Что нужно знать об SSD каждому программисту

Время на прочтение6 мин
Охват и читатели46K

На фото SSD Samsung PM1733

Твердотельные накопители (Solid-State Drives, SSD) на основе флэш-памяти уже заменили многие магнитные диски в качестве стандартных накопителей. С точки зрения программиста SSD и диски очень похожи: и те, и другие являются устройствами постоянного хранения, обеспечивающими страничный доступ через файловые системы и системные вызовы, и имеющими большой объём.

Однако у них есть и важные различия, которые становятся существенными, если нужно достичь оптимальной производительности SSD. Как мы увидим, SSD устроены сложнее и если воспринимать их просто как быстрые диски, то их производительность может вести себя довольно загадочным образом. Цель этого поста — показать, почему SSD так себя ведут, что поможет вам создавать ПО, способное использовать их особенности. (Стоит заметить, что я буду говорить о NAND-памяти, а не о памяти Intel Optane, имеющей другие характеристики.)
Читать дальше →

Решаем систему линейных алгебраических уравнений с Python-пакетом scipy.linalg (не путать с numpy.linalg)

Время на прочтение9 мин
Охват и читатели47K


Аппарат линейной алгебры применяют в самых разных областях — в линейном программировании, эконометрике, в естественных науках. Отдельно отмечу, что этот раздел математики востребован в машинном обучении. Если, например, вам нужно поработать с матрицами и векторами, то, вполне возможно, на каком-то шаге вам придётся решать систему линейных алгебраических уравнений (СЛАУ). 

СЛАУ — мощный инструмент моделирования процессов. Если некая хорошо изученная модель на основе СЛАУ годится для формализации задачи, то с высокой вероятностью её можно будет решить. А вот насколько быстро — это зависит от вашего инструментария и вычислительных мощностей.

Я расскажу про один из таких инструментов — Python-пакет scipy.linalg из библиотеки SciPy, который позволяет быстро и эффективно решать многие задачи с использованием аппарата линейной алгебры.

В этом туториале вы узнаете:

  • как установить scipy.linalg и подготовить среду выполнения кода;
  • как работать с векторами и матрицами с помощью NumPy;
  • почему scipy.linalg лучше, чем numpy.linalg;
  • как формализовать задачи с использованием систем линейных алгебраических уравнений;
  • как решать СЛАУ с помощью scipy.linalg (на реальном примере).

Если можно — сделай тут habraCUT! Важно, чтобы этот ^^ список люди прочитали и заинтересовались

Когда речь идёт о математике, изложение материала должно быть последовательным — таким, чтобы одно следовало из другого. Эта статья не исключение: сначала будет много подготовительной информации и только потом мы перейдём непосредственно к делу. 

Если готовы к этому — приглашаю под кат. Хотя, честно говоря, некоторые разделы можно пропускать — например, основы работы с векторами и матрицами в NumPy (если вы хорошо знакомы с ним).
Читать дальше →

Реактор БРЕСТ-300 и замкнутый цикл в ядерной энергетике

Время на прочтение12 мин
Охват и читатели99K


«В Северске началась новая эра атомной энергетики. На площадке Сибирского химкомбината 8 июня стартовало строительство первого в мире энергоблока четвертого поколения с быстрым реактором естественной безопасности БРЕСТ-ОД‑300.»

Довольно претенциозно, не правда ли? Тем не менее за этими словами, написанными на страницах официального печатного органа Росатома – газеты «Страна РОСАТОМ» – кроется действительно во многом революционной проект с непростой судьбой и наконец-то появившемся светом в конце тоннеля.

Давайте же разберёмся, что же на самом деле представляют собой этот инновационный реактор и пресловутый замкнутый цикл.
Читать дальше →

Промокоды, случайно оставленные в исходном коде веб-сайта

Время на прочтение5 мин
Охват и читатели24K

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

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

Мы исследуем сайт сети крытых аквапарков Great Wolf Lodge, однако должен сообщить, что веб-сайты довольно часто раскрывают свою внутреннюю информацию в плохом коде.

Я буду объяснять каждый свой шаг, чтобы вы могли сами использовать описанные в статье способы для исследования исходного кода других веб-сайтов. И поверьте мне, в исходном коде можно найти всевозможные любопытные подробности.
Читать дальше →

Как киберпреступные группы нанимают сотрудников

Время на прочтение6 мин
Охват и читатели16K
В начале июня Министерство юстиции США объявила об аресте 55-летней латвийской женщины, обвиняющейся в том, что она была программистом Trickbot — платформы «malware-as-a-service» для инфицирования миллионов компьютеров и установки на многие из этих систем ransomware.

Как же фриланс-дизайнер веб-сайтов и мать двух детей стала работать на одну из самых хищных киберпреступных групп, и почему она оставила настолько очевидный след, доказывающий её участие в команде? В этом посте мы ответим на эти вопросы, а также расскажем о том, как Trickbot и другие организованные киберкриминальные группы нанимают, готовят и обеспечивают лояльность новых программистов.


Личный веб-сайт Аллы Витте allawitte[.]nl, примерно октябрь 2018 года.
Читать дальше →

Отряд-731: как японцы создавали биологическое оружие

Время на прочтение12 мин
Охват и читатели120K

Персонал отряда 731

Совсем недавно, в 2018 году, Японский Национальный архив рассекретил личные данные всех 3607 членов так называемого отряда 731, который устраивал эксперименты на людях во время оккупации Китая. В японском общества давно имеется запрос на признание и обнародование всех материалов, касающихся военных преступлений Японии в ходе ВМВ. Японское же правительство по возможности избегает неудобных тем, давая комментарии в крайних ситуациях: так факт применения биологического оружия против Китая был официально признан лишь в 2002 году.  Теперь имена преступников известны общественности, но понесли ли они хоть какое-нибудь наказание? 20 августа 1947 года завершился Нюрнбергский процесс над врачами. По итогу суда, из 23 подсудимых 7 были приговорены к смертной казни, 5 к пожизненному заключению, 4 к тюремному заключению от 10 до 20 лет и 7 человек были оправданы. В рамках процесса рассматривались преступления немецких врачей, а именно их участие в зверских медицинских экспериментах над пленниками концентрационных лагерей. 

Так вот, Япония также проводила подобные бесчеловечные эксперименты. Одним из самых жестоких и крупных японских военных преступников являлся отряд 731 — подразделение, которое занималось разработкой биологического оружия и медицинскими экспериментами на людях. Эти опыты по своей бесчеловечности ничуть не уступали немецким. От рук отряда, по официальной версии, погибло порядка 3 тысяч человек, но большинство сотрудников не понесли никакого наказания за свои деяния. В этой статье рассмотрим, как создавался отряд «смерти», чем они занимались, как сложилась их судьба после окончания Второй мировой войны и повлияла ли их деятельность на международный контроль биологического оружия.
Читать дальше →

Кибербезопасность? Да, теперь и ваша машина в зоне риска

Время на прочтение11 мин
Охват и читатели6.6K


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

Кибербезопасность в автомобилестроении гораздо сложнее, чем на смартфонах и ПК, по двум основным причинам: 

  1. Десятки ЭБУ в каждой машине, соединенные множеством электронных шин и отвечающих за различные скорости и характеристики, и 
  2. Множество потенциальных точек доступа, как расположенных внутри автомобиля, так и удаленных, в частности, OBDII, USB и SD-порты, бесключевой доступ, Bluetooth и Wi-Fi, встроенный модем, датчики, инфотейнмент или приложения для смартфонов, а также множество подключений с применением телематики и других облачных систем, имеющих доступ к системам автомобиля.

Повод для оптимизма – в том, что в области автомобильной кибербезопасности все больше делается для оснащения автомобиля собственным аппаратным и программным обеспечением, а также для развития облачных платформ, обеспечивающих кибербезопасность. Формируется несколько стандартов и регламентов, регулирующих кибербезопасность, что дополнительно способствует развертыванию киберзащитных решений во всех подключенных автомобилях. 

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность