Habr.com

Syndicate content Хабр
Все публикации подряд на Хабре
Updated: 1 hour 23 min ago

RxJava — всё?

Tue, 04/16/2024 - 13:13

В “далеком” 2018 г. разработчик компании EPAM Systems Владимир Иванов провел опрос среди своих подписчиков в Twitter, пытаясь узнать, какой фреймворк для организации асинхронной работы предпочитают Android-разработчики. 65% опрошенных назвали RxJava, 28% выбрали корутины.

Ирония в том, что результаты опроса Владимир приводил в докладе “RxJava не нужен: меняем Rx на корутины в Котлине”. Сегодня, спустя 6 лет после релиза стабильной версии Kotlin Coroutines, с трудом верится, что когда-то в мире асинхронной работы под Android был другой хозяин. 

Действительно ли RxJava так плоха, что ей не осталось места в наших приложениях? Используется ли она сейчас на проектах? Есть ли смысл изучать RxJava новичку? Давайте разбираться.

Читать далее

Руководство по Next.js. 1/3

Tue, 04/16/2024 - 13:01


Hello world!


Представляю вашему вниманию первую часть обновленного руководства по Next.js.


На мой взгляд, Next.js — это лучший на сегодняшний день инструмент для разработки веб-приложений.


Предполагается, что вы хорошо знаете JavaScript и React, а также хотя бы поверхностно знакомы с Node.js.


Обратите внимание: руководство актуально для Next.js версии 14.


При подготовке руководства я опирался в основном на официальную документацию, но в "отсебятине" мог и приврать (или просто очепятаться)

Как мы ускорили Golang-тесты на CI

Tue, 04/16/2024 - 13:01

Привет, Хабр

Мониторинг Celery

Tue, 04/16/2024 - 13:00

Существует популярный подход к покрытию метриками Celery: он заключается в запуске некоторого процесса, который слушает события из специальной очереди, на основе этих событий обновляются объекты метрик, а фоновый поток сервера отдаёт собранные метрики скраперу. В этой статье подробно разберём события, их жизненный цикл, откуда и как их принимать. Также поговорим про механизм удалённого управления (remote control), какие у него есть возможности и как им пользоваться. Обсудим существующие решения, чем они отличаются, и почему вам, возможно, будет выгодно сделать своё.

Читать далее

Идеальный отзыв (UGC)

Tue, 04/16/2024 - 12:41

Я взяла цитату из комментария к своей предыдущей статье @newintellimouse для того, чтобы порассуждать об идеальном пользовательском контенте.

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

В своей предыдущей статье я называла отзовики "сайтами с функцией "Оставить отзыв"", - так мне кажется корректнее. Я использую эти термины как синонимы.

Читать далее

Выбираем базовые образы для приложений на .NET: минимум уязвимостей, максимум быстродействия

Tue, 04/16/2024 - 12:30

Микросервисы и контейнеры для их развертывания сейчас являются стандартом в крупных компаниях. Для разработчиков и DevOps-инженеров это удобный подход: он дает больше возможностей и ускоряет процессы.

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

Меня зовут Саша Рахманный, я разработчик в команде информационной безопасности в Lamoda Tech. В этой статье я сравню разные базовые образы для .NET с точки зрения безопасности их компонентов и быстродействия. 

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

Читать далее

Не становитесь безопасниками

Tue, 04/16/2024 - 12:06

Мир информационной безопасности манит своей романтикой: борьба со злом, защита данных, хакерские трюки. Но за ширмой героических будней скрывается изнурительная работа, горы рутины и постоянный стресс. Эта статья — не хвалебная ода профессии, а откровенный разговор о ее темной стороне.

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

Читать далее

Статический анализ мультиязычности Angular приложения c помощью ngx-translate-lint

Tue, 04/16/2024 - 12:01

Не так давно мне довелось решить интересную задачу, направленную на снижение риска того, что разработчик забудет о мультиязычности приложения и это станет причиной заведения нежеланных багов в будущем. Изначально я искал решение проблемы на Хабре, но, увы, не нашел. Поэтому решил написать на эту тему статью в блоге ЛАНИТ, которая, надеюсь, поможет кому-то в будущем.

Предлагаю вашему вниманию практическое руководство по внедрению статического анализа мультиязычности Angular приложения с помощью ngx-translate-lint (подразумевается, что для локализации Angular приложения уже используется пакет @ngx-translate/core).

Читать далее

Разбираем научпоп Ксении Собчак — в защиту ортодонтов

Tue, 04/16/2024 - 12:00


Вот интервью Собчак для миллионной аудитории. Коротко: барыня позвала целую компанию разных специалистов, чтобы разнести в пух и прах ортодонтов и выставить их сектой шарлатанов.

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

Как бывший хирург и действующий владелец сети клиник хочу выступить в защиту ортодонтов и разобрать передачу.

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

В общем, заходите в гости к слегка недовольному врачу. Читать дальше →

35+ бесплатных ресурсов для начинающих разработчиков С++

Tue, 04/16/2024 - 11:32

Привет. Предположим, вы захотели начать изучать языĸ программирования C++ или, возможно, тех материалов, что уже изучили, вам недостаточно.

Я — Савва, программирую уже больше 7 лет, работаю менеджером команды наставников в Практикуме на курсе «Разработчик С++», а с недавнего времени — разработчиком в Positive Technologies. В этой статье мы с вместе с Практикумом собрали леĸции, ĸниги, курсы и всяĸое таĸое, чтобы шансов выстрелить себе в ногу самостоятельно было меньше :) По C++ существуют и другие подборĸи, но, ĸ удивлению, на Хабре их всего две.

Читать далее

Разбираем на винтики учебный процессор TOY

Tue, 04/16/2024 - 11:28

А давайте возьмём простейший процессор и напишем его эмулятор на Python. Будем кормить его бинарниками и дебажить.

Статья для тех, кто всегда хотел разобраться в машинном коде, но боялся начать.

Читать далее

Какими будут процессоры AMD на архитектуре Zen 5: характеристики, производительность и сроки выхода

Tue, 04/16/2024 - 10:57

AMD готовится к запуску процессоров на базе архитектуры Zen 5. Линейку переведут на новый, более современный техпроцесс производств и за счет этого выжмут из нее большую производительность, чем у семейства Zen 4. Официально дата релиза еще не названа, но ожидается, что компания проведет презентацию ближе к середине лета, и еще до наступления осени компьютеры с новыми процессорами поступят на рынок. Но обо всем по порядку.

Читать далее

Подводный буксировщик своими руками

Tue, 04/16/2024 - 10:51

Предыстория

Пересматривал я один из любимых советских фильмов детства - "Акванавты". Ностальгия по молодости, потрясающие (на те времена) сцены подводных съемок (после этого фильма пошел в секцию подводного плавания)...

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

А сколько стоит такой буксировщик? Я посмотрел - от 40 до 100 тыр. Для редкого развлечения ("лето в Челябинске короткое и малоснежное", да еще не каждый погожий день выпадает на выходные) - мне показалось дороговато. А можно сделать такой девайс самостоятельно? (как обычно ноют старички типа меня -"а вот мы! а вот в наше время! сами себе игрушки делали!". Детство в советские времена было знаменательно тем, что изрядная доля делалась своими руками (отливка солдатиков из свинца, тачки на подшипниках, пайка усилителей и цветомузык, даже в секции подводного плавания моноласты и удлинненки себе делали сами), по тем самым советским "дендрофекальными технологиям".

Конечно, сейчас возможностей больше, нам помогают трудолюбивые китайцы. Да и технологии шагнули вперед (тот большой цилиндр на КДПВ - это, вообще-то, просто фонарик , а не буксировщик - о том, что в таком объеме можно разместить аккумулятор значимой ёмкости даже мыслей не возникало). Поэтому было решено попробовать сделать себе такую игрушку своими руками.

Читать далее

DevOps as a Service. Часть 5. Работа с бэклогом и сквозной приоритизацией команды

Tue, 04/16/2024 - 10:45

Всем доброе утро! С Вами Крылов Александр, и мы продолжаем серию статей про DevOps as a Service, и как с помощью данного подхода возможно решить ряд распространённых проблем в организации работы подразделения. В прошлых статьях мы описали подход и показали пути решения часто встречающихся проблем. С данными материалами можно ознакомиться тут Часть1, Часть2, Часть 3, Часть 4. Сегодня мы обсудим совмещение нескольких подходов для управления сквозным бэклогом команды.

Итак, проблема, которую мы будем решать — это отсутствие процесса работы с бэклогом и сквозной приоритизацией. Важно отметить, что инструменты, которыми я буду в основном оперировать, — это jira инсталляции server, плагин jira structure, jira kanban. Если реализация возможна на других инструментах, я буду в явном виде на них ссылаться. Но думаю, что в том или ином виде, подход можно переиспользовать и для других тикетных систем.

Читать далее

[Перевод] Еще раз о перформансе стримов в Java

Tue, 04/16/2024 - 09:10

Перевод статьи, где автор замеряет перформанс Stream API в Java на около-реалистичных (и не очень) задачах. Как и автору, мне нередко на глаза попадаются заявления что мол вся эта функциональщина в джаве - баловство и скорее вредный сахар. И что старовер с джавы 1.6 напишет на циклах заведомо более быстрый код, чем хипстер на стримах. Также в статье наглядно демонстрируется, в каких именно условиях параллельные стримы могут начать приносить пользу.

Читать далее

Нужен ли преподаватель иностранного языка?

Mon, 04/15/2024 - 22:50

Среди музыкантов-любителей есть поверье: преподаватель не нужен, потому что в сети полно слитых видеокурсов. В реальности правильную постановку рук для игры на инструменте может дать только преподаватель, и эта правильная постановка важнее, чем умение играть навороченные пассажи. «Что за чушь??» – скажет музыкант-любитель. – Весь смысл в том, чтобы сыграть то, что нравится! Какая разница, как у тебя руки стоят??

Разница в том, что неправильная постановка рук (помимо быстрого уставания и травм) ограничивает твою технику. До какого-то предела ты звучишь как будто не хуже профессионалов, но: 1) чаще сбиваешься; 2) в какой-то момент упрёшься в стену и прогресс станет минимальным. Чтобы продвинуться дальше, придётся найти преподавателя и начать с азов. (Для песен «по-аккордам-у-костра» – да, уроков на YouTube вполне достаточно.)

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

Учитель иностранного языка необходим в первую очередь для того, чтобы правильно поставить грамматику – это ювелирная работа, умеют единицы. Однажды студентка московского вуза сообщила мне: «Когда я задумываюсь о временах, то начинаю путаться и вообще ничего сказать не могу. Без грамматики мне проще – для работы хватает. Мне практика нужна.» Ну да, не просто же так появляются слоганы: «Долой нудную грамматику! Чтобы говорить, нужно говорить».

Читать далее

Расслоение Хопфа и квантовая механика

Mon, 04/15/2024 - 22:47

В математике существует очень интересная тема, которая носит название "расслоение Хопфа". В 1931 году Хайнц Хопф опубликовал свою работу об открытой им в топологии конструкции, получившей в истории название "Hopf fibration" - расслоение Хопфа. Суть этой конструкции, была основана на геометрических разработках Уильяма Кингдона Клиффорда.

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

В данной небольшой статье рассмотрены некоторые основные моменты связанные с моим сайтом на котором рассматривается визуализация расслоения Хопфа.

Читать далее

Выкиньте свой husky

Mon, 04/15/2024 - 22:29

А вы знаете, что миллионы человек тащат лишнюю npm-зависимость зря? Сегодня я покажу вам, как настроить самые что ни на есть "lean" хуки для гита.

Читать далее

Ubuntu 24.04: финальный релиз уже скоро. Изменения и возможности дистрибутива

Mon, 04/15/2024 - 21:48

Уже 25 апреля будет опубликован финальный релиз дистрибутива Ubuntu 24.04 «Noble Numbat». Фактически он готов и сейчас, единственное, что осталось разработчикам — тщательно протестировать новинку на наличие ошибок, а если они есть, то исправить их. Новая версия относится к категории выпусков с длительным сроком поддержки, обновления для неё будут формироваться в течение 12 лет. Подробности — под катом.

Читать далее

Security Week 2416: уязвимость в серверных материнских платах Intel, Lenovo и Supermicro

Mon, 04/15/2024 - 21:04
На прошлой неделе исследователи компании Binarly сообщили об обнаружении уязвимости в серверных материнских платах как минимум трех крупных вендоров: компаний Intel, Lenovo и Supermicro. Уязвимость была обнаружена в модуле Baseboard Management Controller, используемом для удаленного управления сервером. BMC создан для управления парком серверов, он упрощает установку операционной системы и другие операции и работает, даже когда сам сервер выключен. Для работы BMC требуется веб-сервер, и в ряде контроллеров для этого используется проект с открытыми исходными кодами lighthttpd. Уязвимость в этом веб-сервере может быть эксплуатирована для чтения данных из оперативной памяти за пределами выделенного диапазона (out of bounds read).


Как отмечается в отчете Binarly, данная уязвимость выявляет целую серию недоработок в цепочке поставок. Уязвимость была обнаружена и исправлена разработчиками lighthttpd еще в 2018 году. Производители контроллеров BMC, несмотря на это, продолжили использовать уязвимую версию — она обнаружена в ряде контроллеров как минимум двух поставщиков, компаний AMI и ATEN. Контроллеры устанавливались в материнские платы, для которых какое-то время выпускались обновления прошивки. Соответственно, имелась возможность исправить уязвимость для уже выпущенных устройств. Но этого сделано не было: в отчете приводится пример платы Intel, самое свежее обновление прошивки контроллера для которой датировано февралем 2003 года. Уязвимость в этом случае не была исправлена. А после того, как Binarly передала информацию о проблеме производителям матплат, Intel и Lenovo сообщили, что исправлять ошибку не будут, так как подверженные устройства более не поддерживаются.
Читать дальше →

Who's online

There are currently 1 user and 1 guest online.