Все подряд публикации с habr.com
Как ускорить скорость загрузки сайта? Гайд по оптимизации
Скорость загрузки страниц — один из ключевых факторов, влияющих на успех сайта в интернете. Она влияет на пользовательский опыт, конверсию и SEO. Google учло это уже в 2010 году, сделав скорость загрузки фактором ранжирования. В 2018 году метрики были расширены, а в 2020 — дополнены новыми обновлениями.
На сегодняшний день проверка скорости загрузки сайта стала обязательной практикой для всех, кто стремится улучшить производительность своего ресурса. Существует множество инструментов для проверки скорости сайта, которые помогают определить текущие показатели и выявить факторы, влияющие на скорость сайта. Однако одного измерения недостаточно — важно понимать, как ускорить загрузку страницы и какие методы оптимизации наиболее эффективны.
В этой статье разберём, как оценить скорость загрузки страниц, какие показатели важны сегодня и что делать, чтобы ускорить сайт.
Xiaomi представила умную маску Mijia для массажа глаз за ¥199
Xiaomi представила маску Mijia за ¥199, которая умеет делать массаж, имеет функцию подогрева, а в выключенном состоянии может быть использована в качестве обычной маски для сна.
Петр Манин будет заниматься развитием направления гражданского строительства в «Нанософт»
«Нанософт» усилил команду новым директором по развитию бизнеса в гражданском строительстве. Петр Манин, ранее работавший в Autodesk, «Росатоме» и других ведущих компаниях, возглавит развитие отраслевых решений для девелоперов. В его задачи войдет взаимодействие с клиентами, организация отраслевых мероприятий и адаптация продуктовой линейки под потребности застройщиков.
Расследование показало, что хакеры около трёх лет имели доступ к IT-системам южнокорейского оператора связи SK Telecom
Расследование экспертов по ИБ показало, что хакеры около трёх лет (с апреля 2022 года) имели доступ к IT-системам крупнейшего южнокорейского оператора связи SK Telecom, обслуживающего примерно половину внутреннего рынка мобильных телефонов.
Rust: как не утечь в Rc<RefCell
Привет, Хабр!
Сегодня рассмотрим проблемную тему в Rust: управление владением в структурах с циклическими ссылками, таких как графы и деревья. Особое внимание уделим комбинации Rc<RefCell<T>>
и тому, как избежать зацикливания с помощью Weak
.
Релиз Media Player Classic — Home Cinema 2.4.3
21 мая 2025 года состоялся релиз открытого медиаплеера Media Player Classic — Home Cinema 2.4.3 (MPC‑HC). Исходный код решения написан на С++ и С и опубликован на GitHub под лицензией GNU General Public License v3.0. Версия MPC‑HC 2.0 вышла в январе 2023 года.
$6,5 млрд за дизайн будущего: OpenAI объединяется с Джони Айвом, дизайнером iPhone
OpenAI выкупила стартап Джони Айва LoveFrom и объявила амбициозное партнёрство. В 9-минутном видео с комплиментами и пафосом — ни слова о том, что именно они делают. Разбираемся, что вообще происходит.
Мониторинг Web Vitals через Яндекс.Метрику: пошаговое руководство
Web Vitals — набор метрик от Google, которые показывают, насколько быстро и стабильно загружается ваш сайт, как плавно отображается контент и насколько оперативно интерфейс реагирует на действия пользователя.
В этой статье вы найдёте пошаговую инструкцию по интеграции Web Vitals в проект, отправке метрик в Яндекс.Метрику и настройке отчётов для оперативного мониторинга. Благодаря этому вы сможете своевременно выявлять и устранять «узкие места» в работе приложения ещё до появления жалоб пользователей.
Как сделать Modulith в Symfony
Modulith — архитектурный стиль, при котором приложение остаётся монолитом, но код внутри разбит на модули (подпапки) по доменам.
Классическая структура проектов выглядит так:
├── src
├── Command
├── Controller
│ ├── Product
│ └── User
├── Doctrine
├── Entity
│ ├── Product.php
│ └── User.php
├── Message
├── MessageHandler
└── Kernel.php
Структура modulith в Symfony выглядела б так:
├── src
├── Product
│ ├── Command
│ ├── Controller
│ ├── Doctrine
│ ├── Entity
│ ├── Message
│ └── MessageHandler
├── User
│ ├── Controller
│ └── Entity
└── Kernel.php
Разница в том, что в modulith каждый модуль (например Product, User) содержит все компоненты в своей папке, а не по всему проекту.
Если нужна доработка условной корзины, вы сразу знаете где находится весь код отвечающий за корзину, меньше конфликтов при слиянии
Вдобавок исчезают портянки файлов, когда открываете Entity, а там 30 файлов в столбик
Часто самая большая сложность возникает у людей при…
Пока не роботы: победители «Технотекста 7»
Приятно видеть, что люди всё ещё мечтают, и исполняют мечты в жизнь.
Именно такие люди двигают цивилизацию вперёд.
Раньше их сжигали на костре, а теперь мы ими
восхищаемся и награждаем победителей Технотекста!
Илья @Gel, специалист отдела по работе с пользователями Хабра
Одна из коллег пошутила: «У вас каждый Технотекст последний». Действительно, конкурс отнимает у команды невероятное количество сил, нервов и времени. Но мы его очень любим, потому что он справедливый и нужный: мы награждаем лучших из лучших, выбираем из крутейших статей, а потом спокойно даём новичкам ссылку на страницу со всеми участниками, чтобы они формировали насмотренность на отборном контенте. Тем не менее, Технотекст со счастливым номером 7 действительно последний. Последний в таком формате и с такими правилами, — потому что в жизнь авторов, Хабра, IT-отрасли и человечества ворвался ИИ. Если в этом году среди 800 заявок ии-шными оказались около десяти, то в следующем их будет в разы…
Задача про рукопожатия
Существует классическая задача:
"Каждый гость на встрече обменивается рукопожатием с другим. Всего было 78 рукопожатий. Сколько гостей пришло на встречу?"
Эта задача представляет интерес только лишь потому, что её нынче задают при устройстве на работу. Поэтому надо уметь её решить и объяснить решение.
Физик привёл аргументы в пользу того, что мы живём в компьютерной симуляции
Мы уже давно считаем само собой разумеющимся, что гравитация является одной из основных сил природы — одной из невидимых нитей, которыми сшита Вселенная. Но предположим, что это не так. Предположим, что закон гравитации — это просто отголосок чего-то более фундаментального: побочный продукт Вселенной, работающей под компьютерным кодом.
Главная предпосылка исследования, опубликованного в журнале AIP Advances, состоит в том, что гравитация может оказаться не таинственной силой, притягивающая объекты друг к другу, а побочным продуктом того, что Вселенная является компьютерной симуляцией. Автор статьи называет это вторым законом инфодинамики.
Это понятие кажется научной фантастикой, но оно основано на физике и доказательствах того, что Вселенная подозрительно похожа на компьютерную симуляцию.
Машинное обучение в Apache Spark с помощью MLlib
Apache Spark содержит в себе множество различных библиотек, среди которых есть библиотека MLlib, предназначенная для машинного обучения. Она содержит реализации различных алгоритмов машинного обучения и может использоваться во всех языках программирования, поддерживаемых фреймворком Spark.
В этой статье мы покажем вам, как использовать этой библиотекой в своих программах, и дадим некоторые рекомендации по ее применению.
Как чудо-препараты для похудения меняют схему работы нашего организма
Когда-то ожирение было заброшенной областью медицины, и некоторые сомневались, стоит ли вообще рассматривать это состояние как биологическое расстройство. Но появление нового класса препаратов, подавляющих аппетит, таких как Ozempic и Wegovy, превратило лечение ожирения в наиболее интересную с научной точки зрения и коммерчески прибыльную область здравоохранения.
Эти препараты приводят к резкому снижению веса, меняют восприятие и, согласно ряду результатов, объявленных на Европейском конгрессе по ожирению (ECO) в Малаге на этой неделе, обещают преимущества для здоровья, которые выходят далеко за рамки контроля веса.
«Это была необычная неделя», — сказала профессор Сьюзан Джебб, специалист по питанию в области общественного здравоохранения из Оксфордского университета, занимающаяся исследованиями в области лечения ожирения с 1980-х годов и представившая результаты на встрече ECO.
NEAT. Основы
Сегодня "теорию" NEAT, который появился в далёком 2004-м году, но при этом остается мейнстримом среди нейроэволюционных алгоритмов. Мы разберём классический вариант, так как это основа и все остальные варианты(CoDeepNEAT, HyperNEAT и т.д.) будут намного сложнее в имплементации, то есть шанс применить за разумное время обычному человеку стремится к нулю и понять их без изначального варианта представляется почти невозможным.
NEAT - алгоритм расширяющихся топологий, является, наверно, самым неприхотливым в использовании к входным данным. Не нужно знать окончательный, абсолютно правильный ответ, неважна разбивка на подзадачи, все что ему нужно это какая-то метрика(фитнес функция) по которой мы оцениваем популяцию. Из-за этого он может проигрывать скорости обучения моделей для того же алгоритма обратном распространении или обучения с подкреплением, но по итогу всегда даст правильный, порой очень неожиданный и эффективный результат.
Правильный порядок колонок в B-tree индексах PostgreSQL или правило ESR
Когда в проекте используется составной B-tree индекс, важно не просто "создать индекс", а сделать это правильно — иначе запросы могут не только не ускориться, но и начать работать медленнее. Возникает логичный вопрос: как выбрать порядок колонок, чтобы индекс действительно работал эффективно? Брутфорсом? По интуиции? По селективности?
В этой статье я расскажу, как подходить к построению составных индексов в PostgreSQL, на что реально влияет порядок колонок. Также разберём простое правило ESR, которое помогает упростить выбор и получать стабильный прирост производительности на всех стендах.
Яндекс Директ: где показывать объявления на Поиске или в РСЯ
Реклама не даёт нужный результат — лидов мало, стоят они, как крыло боинга. Продажи падают и конкуренты обгоняют. Что делать? Во первых, успокоиться. Во вторых, проверить посадочные страницы и рекламные кампании.
Строки в Go
Строки — одна из самых часто используемых структур данных в любом языке программирования. И в Go они повсюду: от простых приветствий вроде "Hello, World!"
до сложных парсеров, логгеров и сетевых протоколов. На первый взгляд, с ними всё просто: создал, склеил, обрезал — и пошёл дальше. Но как это часто бывает, под простотой скрываются тонкости, игнорирование которых может привести к ошибкам и снижению производительности.
Go предлагает мощные, но специфичные механизмы работы со строками. Они тесно связаны с понятиями Unicode, UTF-8, рун, неизменяемости и байтовых представлений. Понимание этих механизмов позволяет не только избежать типичных подводных камней, но и писать более эффективный код.
Spring. Аутентификация на reactive feign
В этой статье проведены параллели между обработкой ошибок в feign и reactivefeign клиентах на примере реализации starter, который реализует аутентификацию по OAuth 2.0 в spring reactive подходе. В этой статье не будет описания реактивного стека. Если Вы хотите разобраться, какие есть преимущества и зачем его применять, рекомендую посмотреть эту серию статей. В этой статье не будет сравнения реактивного и нереактивного подхода. Для этого есть такая статья. В этой статье я хочу показать, что перевод компонентов на реактивность - несложная задача по рефакторингу, которая не займет много времени. Добавить монетку в копилку того, что перевод на реактивность - процесс, основные затраты в котором нужно сделать на первом шаге, когда Вы решаетесь применять этот подход, а адаптировать существующие компоненты просто.
Waterfall 2.0: Возвращение эпохи одиночек, усиленных LLM
Большие языковые модели (LLM) радикально меняют процесс разработки ПО. Они дают одному разработчику возможность взять на себя весь цикл: анализ требований, архитектуру, реализацию, тестирование, документацию. Это возрождает принципы водопадной модели — линейную, сквозную разработку — но без её классических недостатков: отсутствия гибкости, коммуникационных задержек и потерь контекста между ролями.
OpenAI покупает стартап io Джонни Айва за $6,5 млрд для создания устройств с ИИ
Компания OpenAI объявила о покупке стартапа под названием io дизайнера Джонни Айва за $6,5 млрд для создания устройств с искусственным интеллектом.
В 2023 году СМИ сообщили, что Джонни Айв, более двадцати лет возглавлявший подразделение дизайна в Apple, и генеральный директор OpenAI Сэм Альтман обсуждали возможность сотрудничества и создания нового устройства «эпохи искусственного интеллекта». Но дальше встреч и обсуждения эта ситуация не развивалась до настоящего времени.
Сумма сделки составляет $6,5 млрд, из которых $5 млрд будут выплачены акциями. Ожидается, что покупка будет завершена этим летом. Предполагается, что в io разрабатывается устройство-помощник для пользователей, которое основано на базе ChatGPT. Альтман рассказал СМИ, что первое устройство OpenAI и io не заменит смартфон или ноутбук. «Это совершенно новый вид вещей», — добавил глава OpenAI. Выход гаджета ожидается в 2026 году. Айв пояснил, что это не будет…
Упрощение прототипирования и верификации RTL с помощью Python
Всем привет!
Хочу поделиться своим опытом использования Python на этапах прототипирования RTL-модулей и последующей верификации. Как RTL-инженер, я часто создаю модели на Python для быстрой проверки логики и алгоритмов будущего RTL. Это подход уменьшает вероятность последующих правок в логике RTL в случае если алгоритм не подходит. Однако при переходе к тестированию на SystemVerilog всегда возникала проблема с переиспользованием написанной Python модели устройства: нужно было писать обвязку на C и использовать DPI-C интерфейсы, чтобы интегрировать Python-код модели в верификационную среду. Это занимало время и было неудобно.
Недавно я открыл для себя библиотеку PyStim (Bind Python & SystemVerilog), которая кардинально упростила процесс. PyStim позволяет напрямую вызывать Python-методы и работать с Python-объектами из среды SystemVerilog без необходимости писать обвязку на C или использовать DPI-C. Это значительно снизило трудозатраты и ускорило…
Убийство разработки: Опыт похорон .net
Генеральный директор Microsoft заявил, что до 30% кода компании было написано ИИ*
Ожидание стейкхолдеров от внедрения LLM расходится с обозреваемой реальностью. Именно поэтому реальность приходится постоянно модифицировать. Так делают политики, так делают и менеджеры.
Похоже, мы попали в стадию, когда корпорация готова рискнуть экосистемой с несколькими языками и утащить на дно всех, кто её использует.
Релиз открытого инструментария для загрузки прошивок Fwupd 2.0.10
Cостоялся релиз открытого инструментария для загрузки прошивок Fwupd 2.0.10. Исходный код проекта написан на C и Python и опубликован на GitHub под лицензией GNU Lesser General Public License v2.1. Выпуск стабильной версии Fwupd 2.0 с поддержкой больших разделов в томах EFI FFS3 и возможностью стабильной работы с большинством типов CRC-32 и CRC-16 произошёл в октябре 2024 года.
Создание режима GNU Emacs для C-подобного языка
Недавно я разработал ещё один режим GNU Emacs для C-подобного языка программирования C2. Если в предыдущий раз для другого C-подобного языка я написал код с нуля, то в этот раз решил воспользоваться возможностью так называемого наследования режимов. В этой статье хочу поделиться с вами как это делается, и что у меня из этого вышло. (Предполагается, что читатель ознакомился с материалом предыдущей статьи Как написать свой режим для GNU Emacs и опубликовать его в MELPA или имеет собственный уникальный опыт разработки режимов GNU Emacs.)
«Обзор от ИИ» в поиске Google стал доступен для пользователей из России
Никаких официальных подтверждений пока данному факту нет, но уже несколько дней я замечаю, что на некоторые запросы отвечает ИИ
Российский электрокар «Атом» получит голосового помощника с ИИ
Российский электрокар «Атом» получит нового голосового помощника. Помощник будет работать на базе искусственного интеллекта. Ассистент сможет вести живой диалог и управлять функциями машины. Работать помощник будет даже без интернета.
С помощью голосового помощника водитель сможет управлять климат‑контролем, освещением, дверями и окнами. Можно будет настраивать руль, зеркала и сиденья. Ассистент будет работать с экраном дополненной реальности и планшетом на руле. Он сможет анализировать состояние автомобиля и давать советы.
«Yet Another» против «Not Yet Another»: Почему ИИ-стартапы застряли в копировании
В мире технологий есть одна устойчивая тенденция: копировать проще, чем создавать. Новый стартап, новый чат-бот, новый алгоритм аналитики данных — звучит знакомо? Рынок ИИ переполнен продуктами, которые, несмотря на громкие заявления, часто оказываются лишь вариациями уже существующих решений. Это явление получило название "yet another" — еще один такой же. Но почему так происходит, и есть ли выход из этого замкнутого круга?
Еще один вариант структуры go-приложения
Наверняка вам уже не раз попадалась на глаза статься, в которой рассказывают о том, какие пакеты и файлы нужно создать в вашем проекте, чтобы код получился легко расширяемым и поддерживаемым. Эта еще одна статья такого рода, посвященная декомпозиции проекта go на минимально зависимые друг от друга части. В качестве движущих сил декомпозиции будут использоваться следующие известные практики:
- архитектура слоев;
- предметно-ориентированное проектирование (DDD)
- разделение команд и запросов (CQS);
- архитектура портов и адаптеров.
Также будет затронута тема именования файлов .go и вопросы связности (low coupling/high cohesion).
Как устроен отказоустойчивый MetroCluster в beeline cloud — от компонентов до архитектуры
Мы в beeline cloud запустили сервис MetroCluster. Это — отказоустойчивый кластер, который автоматически переключает нагрузку между двумя площадками (дата-центрами) при сбое на одной из них. Продукт подойдет компаниям, которым важна работа сервисов с минимальным временем восстановления — в том числе мы, как облачный провайдер, используем его для решения своих задач.
В отличие от классических решений Disaster Recovery, MetroCluster не требует разработки сложных регламентов (DRP), а время восстановления ограничено лишь скоростью запуска виртуальной машины в резервном ЦОДе. Далее мы расскажем об архитектуре решения и его ключевых компонентах.