<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
  <channel>
    <language>ru</language>
    <title>Safari</title>
    <description/>
    <link>https://tproger.ru/tag/safari</link>
    <atom:link href="https://tproger.ru/tag/safari/feed" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Fri, 23 Oct 2026 17:23:09 GMT</lastBuildDate>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>12</sy:updateFrequency>
    <image>
      <title>Safari</title>
      <link>https://tproger.ru</link>
      <url>https://tproger.ru/apple-touch-icon.png</url>
    </image>
    <item>
      <title>Safari 27 получит переписанный загрузчик модулей и рабочий top-level await</title>
      <link>https://tproger.ru/news/safari-27-poluchit-perepisannyj-zagruzchik-modulej-i-rabochij-top-l</link>
      <comments>https://tproger.ru/news/safari-27-poluchit-perepisannyj-zagruzchik-modulej-i-rabochij-top-l?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Tproger]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/safari-27-poluchit-perepisannyj-zagruzchik-modulej-i-rabochij-top-l</guid>
      <description><![CDATA[<p>WebKit переписал загрузчик ES-модулей с нуля на C++ и исправил многолетние ошибки top-level await в Safari. Что ломалось и когда убирать обходные пути.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/safari-27-poluchit-perepisannyj-zagruzchik-modulej-i-rabochij-top-l">Safari 27 получит переписанный загрузчик модулей и рабочий top-level await</a>»</p>]]></description>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[Браузеры]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 02 Sep 2026 16:00:09 GMT</pubDate>
      <content:encoded><![CDATA[<p>Команда WebKit 2 сентября <a href="https://webkit.org/blog/18227/fixing-top-level-await-in-safari/">рассказала</a>, что переписала загрузчик JavaScript-модулей Safari с нуля и тем самым закрыла многолетние ошибки top-level await, из-за которых модули с await на верхнем уровне падали с сообщением «Cannot access ... before initialization». Исправление уже есть в Safari Technology Preview 251 и бете Safari 27; в стабильный Safari оно попадёт с выходом Safari 27.</p><p>Для фронтендера это означает, что один из последних поводов не использовать top-level await в продакшене исчезает: в Chrome и Firefox функция работает давно, а Safari оставался браузером, ради которого библиотеки и сборщики держали обходные пути. По словам автора публикации, инженера WebKit Кая Тамкуна, вместе с загрузчиком в порядок приведены ES-модули в целом, так что после релиза Safari 27 на них «можно опираться, не задумываясь».</p><ul><li>Старый загрузчик модулей Safari был написан по черновику WHATWG Loader, последний раз обновлённому в январе 2016 года, ещё до появления async/await в языке.</li><li>Top-level await, добавленный в ECMAScript 2022, реализовали поверх этой устаревшей основы, отсюда ошибки порядка выполнения и обращения к неинициализированным экспортам.</li><li>В январе 2026 года команда удалила старый загрузчик целиком и переписала его на C++ по алгоритмам спецификации ECMAScript, отказавшись от самохостируемого JavaScript.</li><li>Проверка: тест-кейсы от команды Bun, чей рантайм на JavaScriptCore унаследовал те же баги, фаззер графов модулей со сравнением вывода с другими движками, все модульные тесты test262 и исправленные тесты WPT без регрессий.</li><li>Попробовать можно сегодня в Safari Technology Preview 251 или Safari 27 beta; сроки стабильного Safari 27 в публикации не названы.</li></ul><h2>Что именно ломалось</h2><p>Top-level await позволяет писать await прямо в теле ES-модуля: модуль приостанавливается до разрешения промиса, и вместе с ним ждут все модули, которые его импортируют, а независимые ветки графа зависимостей продолжают выполняться. В Safari нарушался именно порядок: загрузчик неверно выбирал, когда считать модуль выполненным. WebKit показывает это на минимальном примере, где один и тот же модуль с задержкой на верхнем уровне динамически импортируется три раза подряд.</p><p>Ожидаемый порядок завершения импортов 1, 2, 3. Старый загрузчик выдавал 2, 3, 1, причём второй и третий импорт завершались с ошибкой Cannot access 'someArray' before initialization, и только первый печатал список экспортов. Причина одна: когда первый импорт доходил до await и уступал управление, промис второго импорта должен был ждать окончания выполнения модуля, но из-за ошибки разрешался сразу. Код получал ещё не инициализированные экспорты и падал. С новым загрузчиком вывод становится ожидаемым: 1, 2, 3, и каждый раз с корректным списком ключей.</p><h2>Почему баг не удавалось починить годами</h2><p>Спецификация ECMAScript оставляет часть механики модулей на усмотрение хоста, в первую очередь загрузку по сети в браузере или с диска в Node.js и Bun. Загрузчик Safari писали в эпоху предложения WHATWG Loader, которое описывало эту хостовую часть и последний раз обновлялось в январе 2016 года. Тогда модули выполнялись строго синхронно, и черновика хватало. Затем предложение фактически умерло, вытесненное разделом о модулях в самом стандарте ECMAScript, а в 2022 году в язык вошёл top-level await. В WebKit его реализовали поверх алгоритмов заброшенного черновика, а не по асинхронным алгоритмам стандарта. Отсюда тонкие ошибки, которые, по словам Тамкуна, команда безуспешно пыталась закрыть несколько раз, пока не решила заменить основание.</p><p>Второе решение касается языка реализации. Старый загрузчик был самохостируемым встроенным кодом на JavaScript. У такого подхода есть плюсы: его можно инлайнить в пользовательский код и не платить за переход между JavaScript и C++. Но он медленнее стартует, потому что компилируется во время выполнения, а оптимизирующие JIT-компиляторы JavaScriptCore плохо используют его широкие паттерны применения; загрузчик к тому же не горячий путь, так что выигрыша от компиляции на лету почти нет. Новый загрузчик написан целиком на C++.</p><figure><img src="https://media.tproger.ru/user-uploads/133946/2026-09-02/02a4b3fb-cf74-49e7-9132-dcbbed91c537.webp" alt="Схема вызовов операций загрузчика модулей WebKit: загрузка, линковка, выполнение и вспомогательные функции" /><figcaption>Граф вызовов операций загрузчика модулей, по которому команда планировала порядок реализации. Источник: WebKit</figcaption></figure><h2>Как переписывали и проверяли</h2><p>Работа началась в январе 2026 года с удаления файла со старым загрузчиком. Дальше команда переводила псевдокод операций из спецификации ECMAScript в C++ по одной, начав с листовых функций вроде ExecuteModule и ModuleRequestsEqual, у которых нет зависимостей, и двигаясь по графу вызовов. Через несколько недель черновая реализация справлялась с типичными случаями, и появился draft pull request.</p><p>Тестов было три слоя. Во-первых, инженеры Bun, чей рантайм построен на JavaScriptCore и унаследовал те же проблемы, передали собранные ими случаи неправильного поведения; их адаптировали под консольную оболочку jsc. Во-вторых, команда написала фаззер, который генерирует большие графы модулей, часть с top-level await, часть без, и сравнивает текстовый вывод JavaScriptCore с выводом других движков байт в байт; по словам WebKit, во всех проверенных примерах новый загрузчик отработал верно. В-третьих, все модульные тесты набора test262 стали проходить, а часть ранее падавших тестов WPT исправилась без регрессий. Перед слиянием разработчики несколько недель пользовались сборкой Safari с новым загрузчиком как основным браузером.</p><h2>Что делать фронтендеру</h2><ul><li>Проверить свои модули с top-level await в Safari Technology Preview 251 или Safari 27 beta; о найденных проблемах WebKit просит сообщать на bugs.webkit.org.</li><li>Обходные пути для Safari пока не убирать: стабильный Safari 27 ещё не вышел, а старые версии Safari останутся у пользователей надолго.</li><li>Если проект работает на Bun, следить за обновлениями рантайма: он использует JavaScriptCore и, по словам WebKit, унаследовал те же ошибки загрузчика; о сроках их исправления в Bun публикация не говорит.</li></ul><p>Дата выхода стабильного Safari 27 в публикации не названа. Открытым остаётся и вопрос старых версий: о переносе исправления в уже вышедшие Safari WebKit не сообщает, так что доля пользователей на Safari 26 и старше будет определять, когда обходные пути можно убрать совсем.</p><p>Источник: <a href="https://webkit.org/blog/18227/fixing-top-level-await-in-safari/">WebKit Blog: Fixing Top-Level Await in Safari</a></p><p>Изображение на обложке: Изображение: логотип WebKit, Apple</p>]]></content:encoded>
    </item>
    <item>
      <title>Какие приложения установить на Windows и macOS</title>
      <link>https://tproger.ru/articles/kakie-prilozheniya-ustanovit-na-windows-i-macos</link>
      <comments>https://tproger.ru/articles/kakie-prilozheniya-ustanovit-na-windows-i-macos?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Валерия Турчак]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/kakie-prilozheniya-ustanovit-na-windows-i-macos</guid>
      <description><![CDATA[<p>Список разбит по категориям: от браузеров и гейминга до утилит безопасности и инструментов для продуктивности.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/kakie-prilozheniya-ustanovit-na-windows-i-macos">Какие приложения установить на Windows и macOS</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Linux]]></category>
      <category><![CDATA[Android]]></category>
      <category><![CDATA[Инструменты]]></category>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[Hardware]]></category>
      <category><![CDATA[Безопасность]]></category>
      <category><![CDATA[Производительность]]></category>
      <category><![CDATA[Практика]]></category>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[Google]]></category>
      <category><![CDATA[Браузеры]]></category>
      <category><![CDATA[Windows]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[Slack]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[Microsoft]]></category>
      <category><![CDATA[Tor]]></category>
      <category><![CDATA[Windows 10]]></category>
      <category><![CDATA[Google Chrome]]></category>
      <category><![CDATA[.NET]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[Боты]]></category>
      <category><![CDATA[Базы данных]]></category>
      <category><![CDATA[Rust]]></category>
      <category><![CDATA[Управление проектами]]></category>
      <category><![CDATA[Дизайн интерфейсов и UX]]></category>
      <category><![CDATA[HR]]></category>
      <category><![CDATA[VPN]]></category>
      <category><![CDATA[GitLab]]></category>
      <category><![CDATA[Telegram]]></category>
      <category><![CDATA[Xbox]]></category>
      <category><![CDATA[Сервисы]]></category>
      <category><![CDATA[Docker]]></category>
      <category><![CDATA[macOS]]></category>
      <category><![CDATA[MIT]]></category>
      <category><![CDATA[Adobe]]></category>
      <category><![CDATA[Firefox]]></category>
      <category><![CDATA[IBM]]></category>
      <category><![CDATA[Mozilla]]></category>
      <category><![CDATA[Для продвинутых]]></category>
      <category><![CDATA[Avast]]></category>
      <category><![CDATA[Intel]]></category>
      <category><![CDATA[Фронтенд]]></category>
      <category><![CDATA[NVIDIA]]></category>
      <category><![CDATA[Маркетинг]]></category>
      <category><![CDATA[QA]]></category>
      <category><![CDATA[YouTube]]></category>
      <category><![CDATA[Игра]]></category>
      <category><![CDATA[Мессенджер]]></category>
      <category><![CDATA[AMD]]></category>
      <category><![CDATA[Приложение]]></category>
      <category><![CDATA[Бета]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Взлом]]></category>
      <category><![CDATA[PlayStation]]></category>
      <category><![CDATA[Microsoft Edge]]></category>
      <category><![CDATA[Discord]]></category>
      <category><![CDATA[RPA]]></category>
      <category><![CDATA[Дизайн]]></category>
      <category><![CDATA[Epic Games]]></category>
      <category><![CDATA[Сервер]]></category>
      <category><![CDATA[Графы]]></category>
      <category><![CDATA[Figma]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Markdown]]></category>
      <category><![CDATA[Notion]]></category>
      <category><![CDATA[Steam]]></category>
      <category><![CDATA[GPU]]></category>
      <category><![CDATA[iPhone]]></category>
      <category><![CDATA[MacBook]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Sun, 26 Oct 2025 14:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>Итак, вы только что настроили новый компьютер. Операционная система установлена, драйверы обновлены, и теперь пора заняться самым интересным — установкой программ. Но с чего начать? Какие приложения действительно необходимы, а какие просто занимают место?</p><p>Редакция Tproger сделала и адаптировала <a href="https://www.techspot.com/article/2974-desktop-software-essentials/">перевод подборки  программ для Windows и macOS</a>. Здесь вы найдёте проверенные временем решения для работы, развлечений и повседневных задач. Мы сосредоточились на бесплатных и условно-бесплатных приложениях с отличной репутацией, которые решают реальные задачи без навязывания ненужных функций.</p><p>Список разбит по категориям: от браузеров и гейминга до утилит безопасности и инструментов для продуктивности.</p><p>Неважно, опытный вы пользователь или новичок — здесь найдётся что-то полезное для каждого.</p><h2>Браузеры</h2><p>Браузер — это, пожалуй, самое важное приложение на вашем компьютере. Именно через него проходит большая часть вашей цифровой жизни: работа, развлечения, коммуникации. Выбор браузера влияет не только на скорость загрузки страниц, но и на конфиденциальность, безопасность и удобство работы.</p><ul><li><b>Большинство пользователей:</b> Chrome, Edge или Safari</li><li><b>Защита приватности: </b>Firefox, Brave, Ungoogled Chromium</li><li><b>Опытные пользователи:</b> Vivaldi</li><li><b>Максимальная анонимность: </b>Tor Browser</li></ul><h3>Google Chrome</h3><p>Chrome остаётся самым популярным браузером в мире — и не просто так. Он быстрый, стабильный и отлично интегрируется с экосистемой Google. Огромная библиотека расширений из Chrome Web Store позволяет настроить браузер под любые задачи. Синхронизация между устройствами работает безупречно: вкладки, пароли, закладки и история всегда под рукой.</p><p>Минус один, но существенный: Chrome прожорлив. Если у вас открыто больше десятка вкладок, он может съесть несколько гигабайт оперативной памяти. На компьютерах с 8 ГБ RAM и меньше это становится проблемой.</p><h3>Mozilla Firefox</h3><p>Firefox — это выбор тех, кто ценит приватность и открытость. Mozilla не зарабатывает на продаже ваших данных, а сам браузер активно развивается сообществом. Встроенные инструменты защиты от трекинга работают из коробки, блокируя рекламные сети и скрипты слежения.</p><p>По скорости Firefox не уступает Chrome, а по потреблению памяти даже выигрывает. Библиотека расширений чуть меньше, чем у Chrome, но все основные инструменты доступны.</p><h3>Microsoft Edge</h3><p>Edge построен на том же движке Chromium, что и Chrome, но при этом лучше оптимизирован для Windows. Microsoft вложилась в производительность: браузер работает быстро, потребляет меньше ресурсов и отлично интегрируется с системой.</p><p>Особенно приятны функции вроде Collections (коллекции вкладок для организации исследований), режим чтения и встроенный скриншотер. Edge поддерживает все расширения Chrome, так что переход безболезненный.</p><h3>Brave</h3><p>Brave — это Chrome на стероидах приватности. Браузер блокирует рекламу и трекеры по умолчанию, что делает сёрфинг быстрее и безопаснее. При этом он полностью совместим с расширениями Chrome.</p><p>Есть интересная фишка: Brave Rewards позволяет зарабатывать криптовалюту за просмотр приватной рекламы (если захотите её включить). Спорная механика, но как опция — почему нет. Для тех, кто хочет Chrome без Google и с упором на приватность, Brave — отличный выбор.</p><h3>Safari (только macOS)</h3><p>Если у вас Mac, Safari заслуживает внимания. Это самый энергоэффективный браузер для macOS: на MacBook он даёт ощутимо больше автономности по сравнению с Chrome или Firefox. Интеграция с экосистемой Apple безупречна: Handoff, синхронизация через iCloud, Reading List, автозаполнение паролей.</p><p>Safari быстрый, безопасный и не перегружен функциями. Единственный минус — библиотека расширений заметно скромнее, чем у конкурентов. Но для большинства задач базового функционала хватает.</p><h3>Ungoogled Chromium</h3><p>Для ультраосторожных Ungoogled Chromium удаляет всё отслеживание и сервисы Google — но вам придётся настраивать всё самостоятельно, так как в нём нет автообновлений или встроенной синхронизации.</p><p>Для максимально осторожных пользователей — это Chrome, из которого убрали всю телеметрию Google, отслеживание и облачные сервисы. Браузер работает, но требует ручной настройки: отсутствуют автоматические обновления и встроенная синхронизация между устройствами.</p><h3>Tor Browser</h3><p>Выводя приватность на следующий уровень, Tor Browser маршрутизирует ваш трафик через сеть Tor, анонимизируя ваш IP и многократно шифруя соединение. Он медленнее по задумке, но идеален, если ваш приоритет — максимальная анонимность, а не скорость или удобство.</p><h3>Vivaldi</h3><p>Vivaldi — браузер мечты для тех, кто хочет полного контроля. Стекирование вкладок, тайлинг, кастомные горячие клавиши, встроенная почта и календарь, веб-панели — это полноценный десктопный опыт внутри браузера. Хотите боковую панель браузера, открывающую ваши заметки, RSS-ленты или любой нужный сайт? Vivaldi это умеет.</p><h3>Arc</h3><p>Наконец, Arc — когда-то новичок на рынке браузеров, нацеленный на переосмысление UX: замена традиционной панели вкладок на боковую панель, акцент на веб-приложениях, интегрированные разделённые виды и easels для заметок и доски. К сожалению, компания за Arc прекратила разработку, чтобы полностью переключиться на ИИ с новым браузером, который сейчас в закрытой бета-версии.</p><h2>Управление паролями</h2><ul><li><b>Лучший бесплатный выбор:</b> Bitwarden</li><li><b>Также отлично:</b> 1Password, Dashlane, KeePass</li></ul><p>Миллионы людей продолжают использовать одни и те же слабые пароли на всех сайтах — или, что ещё хуже, держатся за классику вроде «123456». Даже сильные пароли мало помогают, если их повторяют или забывают. Конечно, большинство браузеров предлагают встроенные менеджеры паролей, но они ограничены, привязаны к одному браузеру и менее безопасны, чем специализированные решения.</p><p>Также не будем забывать о passkeys (ключах доступа). Если говорить практически, можно сказать, что passkeys объединяют концепцию пароля и двухфакторной аутентификации (2FA) в одно плавное действие, но гораздо безопаснее и гораздо менее раздражающе.</p><h3>Bitwarden</h3><p>Полностью опенсорсный, зашифрованный и щедрый даже в бесплатной версии. Вы получаете неограниченное количество паролей, синхронизацию между устройствами и приложения для всех платформ. Премиум ($10/год) добавляет безопасный обмен файлами и инструменты 2FA. Также есть доступные семейные и командные планы.</p><h3>1Password</h3><p>Премиум-решение с отполированным интерфейсом, сильной кроссплатформенной поддержкой и отличными функциями вроде Travel Mode (режим путешествий) и полной интеграцией passkeys.</p><h3>Dashlane</h3><p>Предлагает мониторинг даркнета, интеграцию VPN и плавный пользовательский опыт. Есть бесплатный тариф с ограниченными функциями, но премиум-версия конкурентоспособна.</p><h3>KeePassXC</h3><p>Отличная оффлайн-альтернатива, если хотите полного контроля и не против ручной синхронизации (или использования чего-то вроде Syncthing или Dropbox для синхронизации базы данных).</p><p>Пропустите LastPass — когда-то фаворит, он упал в немилость после повторных утечек безопасности. Для душевного спокойствия лучше поискать в другом месте.</p><h2>Продвинутые утилиты и дополнения к ОС</h2><ul><li><b>Поиск + лаунчеры:</b> Everything или Wox (Windows), Alfred или Raycast (macOS)</li><li><b>Пакетные менеджеры: </b>WinGet, Homebrew (macOS)</li><li><b>Для пользователей Windows:</b> PowerToys</li><li><b>Для пользователей Mac: </b>Rectangle</li><li><b>История буфера обмена: </b>ClipClip, Flycut (macOS)</li><li><b>Скриншоты + аннотации: </b>Monosnap</li></ul><h3>Winget</h3><p><b></b>Официальный менеджер пакетов Microsoft, встроенный в Windows 10 и 11. Работает похоже на Chocolatey, но разработан и поддерживается Microsoft. Homebrew — самый популярный менеджер пакетов для macOS. Позволяет быстро устанавливать, обновлять и управлять приложениями и CLI-инструментами с помощью команд в терминале.</p><h3>Everything</h3><p>Что касается поиска, Everything остаётся золотым стандартом сверхбыстрого поиска по именам файлов в Windows. Он индексирует диски за секунды и выдаёт почти мгновенные результаты с минимальной нагрузкой на систему. Если нужен функционал шире базового поиска, Wox использует движок Everything и добавляет мощные возможности лаунчера: поиск файлов, запуск приложений, калькулятор, перевод текста и расширения через плагины. Получается более гибкий опыт в духе Spotlight для Windows.</p><h3>Command Palette/Alfred/Raycast</h3><p>В который раз Microsoft не смогла существенно улучшить встроенный поиск Windows, хотя <b>Command Palette</b> в PowerToys даёт неплохой компромисс для тех, кто не хочет ставить сторонние утилиты.</p><p>На macOS <b>Alfred</b> по-прежнему главный лаунчер и утилита поиска. Он быстрый, интуитивный и в бесплатной версии включает историю буфера и настраиваемые поиски; расширенная автоматизация и «воркфлоу» доступны в Powerpack.</p><p>Тем, кто хочет современную облачно-интегрированную альтернативу с готовыми расширениями и встроенной поддержкой Notion, GitHub и Slack, стоит присмотреться к <b>Raycast</b> — это стильный, дружественный к разработчикам вариант, который стремительно набирает популярность.</p><h3>Менеджеры буфера обмена</h3><p>Они позволяют возвращаться к ранее скопированному — тексту, изображениям, ссылкам — и сильно ускоряют рутинные операции.</p><p>В Windows встроенная история буфера (Win + V) кое-как выручает, но продвинутым пользователям обычно хочется большего. В числе бесплатных рекомендаций — <b>ClipClip</b> для Windows и <b>Flycut</b> для macOS.</p><p>Когда речь о скриншотах и аннотациях, штатные инструменты macOS и Windows заметно выросли. Но многим всё равно удобнее сторонние решения. Нам по-прежнему нравится <b>Monosnap</b> за простоту и возможность мгновенно заливать снимки в облако для шаринга (и это бесплатно).</p><p><b>PowerToys</b> — набор полезных утилит от Microsoft для продвинутых пользователей Windows, повышающих продуктивность и упрощающих рабочие процессы. Среди инструментов: FancyZones для продвинутого раскладывания окон, PowerRename для пакетного переименования, Keyboard Manager для ремапинга клавиш, универсальный color picker и другие.</p><p><b>Rectangle</b> и <b>Magnet </b>— два самых популярных приложения на macOS для закрепления окон: быстрые выравнивание и ресайз по хоткеям или перетаскиванием, примерно как по умолчанию в Windows. Пользователям, пришедшим с Windows и скучающим по системному снапингу, одно из них жизненно необходимо.</p><p>Широко используемая альтернатива в Windows — <b>FancyZones</b> (часть PowerToys), предлагающая продвинутое управление окнами: настраиваемые сетки, зоны привязки и поддержку нескольких мониторов — поэтому это фаворит пауэр-пользователей на Windows.</p><h2>Для рутины и создания проектов</h2><ul><li><b>Бесплатные инструменты: </b>FreeOffice, LibreOffice и WPS Office</li><li>Microsoft Office за единовременную плату $49, Office 2024 — $129</li><li><b>Заметки: </b>Notion, OneNote, Obsidian</li><li><b>Бесплатный PDF-редактор: </b>PDFsam</li><li><b>Почтовые клиенты:</b> Thunderbird, eM Client</li></ul><p>Независимо от того, пишете ли вы тексты, планируете проект, кодите или наводите порядок в цифровой жизни, правильные инструменты решают многое. Сегодня выбор топовых приложений для продуктивности и разработки — часто бесплатных — лучше, чем когда-либо.</p><p><b>Microsoft Office</b> остаётся отраслевым стандартом для профессиональной продуктивности. Подписка Microsoft 365 открывает доступ к Word, Excel, PowerPoint, Outlook и включает 1 ТБ облачного хранилища.</p><p>Среди бесплатных альтернатив LibreOffice — мощный open-source комплект с сильным сообществом (хотя интерфейс некоторым кажется старомодным). Если нужна внешне более майкрософтовская альтернатива, попробуйте<b> FreeOffice </b>или <b>WPS Office Free</b> — у них хорошая совместимость.</p><p>На macOS <b>Pages</b>, <b>Numbers</b> и <b>Keynote</b> предустановлены и более чем достаточны для большинства задач, особенно если вы в экосистеме Apple.</p><h3>Знания и ведение заметок</h3><p><b>Notion</b> стал универсальной платформой организации: заметки, базы данных, to-do, управление проектами, создания совместных рабочих пространств. Если нужны более локальные заметки с синхронизацией между устройствами и поддержкой Markdown, <b>Obsidian</b> — любимец студентов и исследователей.</p><p>Для быстрых кроссплатформенных заметок <b>OneNote</b> — крепкий бесплатный вариант от Microsoft. В качестве альтернатив — <b>Simplenote</b> или open-source <b>Joplin</b>.</p><p>Если вы занимаетесь академической работой и научными статьями, <b>Zotero</b> — отличный open-source менеджер источников с интеграцией в браузер и совместными коллекциями. <b>Milanote</b> предлагает визуальный подход к заметкам и планированию — идеально для креативных пользователей.</p><h3>Работа с PDF</h3><p>Хотя Adobe Acrobat остаётся премиальным редактором PDF, бесплатные альтернативы вроде <b>PDFsam</b> позволяют без усилий объединять, разбивать, редактировать и поворачивать страницы.</p><h2>Инструменты для дизайна и создания контента</h2><p>Для дизайна два выделяющихся приложения хорошо дополняют набор продуктивности. <b>Figma Desktop</b> — совместная платформа интерфейс-дизайна, широко используемая UI/UX-дизайнерами и фронтенд-разработчиками. Десктоп-версия работает быстрее, чем браузер, и лучше интегрируется с ОС — это удобно для сложных дизайн-систем и коллаборации в реальном времени.</p><p><b>Canva</b> с интуитивным drag-and-drop превосходно чувствует себя и как десктоп-приложение. Отлично подходит для быстрых графических материалов для соцсетей, маркетинга, постеров и презентаций. Благодаря тысячам шаблонов и совместной работе это фаворит как у профи, так и у новичков.</p><h2>Почтовые клиенты</h2><p>Если вы предпочитаете отдельный почтовый клиент, у <b>eM Client</b> много функций, бесплатный — до двух аккаунтов. <b>Mozilla</b> <b>Thunderbird</b> — мощная open-source альтернатива с удобной настраиваемостью, а <b>Mailbird</b> — вариант с упором на продуктивность для тех, кого не пугает подписка.</p><h2>Инструменты разработчика</h2><ul><li><b>Редакторы кода и текста:</b> VS Code, Cursor, Sublime Text</li><li><b>Система контроля версий:</b> SourceTree, GitHub Desktop</li><li><b>Контейнеры: </b>Docker</li><li><b>Локальные LLM: </b>Ollama</li><li><b>SFTP, загрузка файлов:</b> WinSCP, Forklift</li></ul><p>Для разработчиков <b>Visual Studio Code</b> — безусловный вариант. Бесплатный, лёгкий, но мощный, кроссплатформенный — тысячи расширений покрывают практически любой язык, фреймворк или инструмент. Набирающая популярность альтернатива — <b>Cursor</b>, редактор на базе VS Code с усиленной AI-помощью. Он подходит для связки с LLM: даёт inline-подсказки, генерирует код, рефакторит и позволяет редактировать кодовую базу.</p><p>При этом<b> Sublime Text </b>остаётся для скорости и простоты, а <b>Notepad++</b> — отличный лёгкий редактор для быстрых правок в Windows.</p><p>Для Git графические клиенты <b>SourceTree</b> и <b>SmartGit</b> дают понятный интерфейс для управления репозиториями на GitHub, GitLab и не только. <b>GitHub Desktop</b> раньше был простоват и не слишком хорош, но сейчас существенно прибавил — всё ещё простой для работы, но в хорошем смысле.</p><p>Для локальных окружений, API-тестирования или терминального воркфлоу инструментов — пруд пруди. Например, <b>Docker Desktop</b> стал стандартом для тех, кто собирает и запускает контейнеризированные приложения на разных платформах. Он упрощает настройку окружений и держит систему чистой.</p><p><b>Ollama</b> позволяет запускать большие языковые модели (LLM) локально с минимальной настройкой. Поддерживает модели вроде LLaMA, Mistral и другие open-weight альтернативы GPT, так что можно работать с ИИ прямо на своём компьютере без отправки данных в облако.</p><p>Если вы работаете с облачными хранилищами или SFTP, WinSCP (Windows) и ForkLift (macOS) — отличные клиенты с двухпанельным управлением файлами, синхронизацией и автоматизацией. На Mac также популярны <b>Commander One</b> и <b>Transmit</b> — у них есть встроенные подключения к удалённым и облачным путям.</p><h3>Безопасность</h3><p>И Windows, и macOS сегодня предлагают более чем достойную встроенную защиту. С защитой в реальном времени, интеграцией с файерволом и биометрией вроде <b>Windows Hello</b> и <b>Touch ID</b>. Для обычных пользователей, которые соблюдают гигиену безопасности: не скачивают сомнительное ПО, используют менеджеры паролей и включают 2FA — встроенной защиты часто хватает.</p><p>Для продвинутых пользователей есть дополнительные варианты.</p><p>Отличное первое дополнение — <b>Malwarebytes</b>. Это давний фаворит в обнаружении и удалении malware, adware и руткитов; бесплатная версия по-прежнему хороша для ручных сканов. В платной — защита в реальном времени без ощутимой просадки производительности.</p><p>Если не хочется ставить традиционный антивирус, есть достойные альтернативы. <b>Emsisoft Emergency Kit</b> — мощный портативный сканер, который можно запускать с флешки: идеально для редких глубоких сканов или лечения заражённых систем без установки чего-либо. Просто подключаете, когда нужно.</p><p>Ещё один отличный инструмент — <b>VirusTotal</b>: бесплатный веб-сервис, который проверяет файлы и URL через десятки антивирусных движков. Прежде чем открывать подозрительную загрузку, можно залить файл на VirusTotal.com или использовать их расширение для браузера, чтобы проверять ссылки в реальном времени. Быстро, просто и удобно для осторожных пользователей.</p><p>Мы не поклонники установки антивирусов на каждый компьютер и не полностью в курсе, какие сейчас показывают лучшие результаты. Тем не менее, <b>AV-Tes</b>t давно и регулярно оценивает популярные решения, поэтому советуем смотреть их свежие отчёты. В текущем списке высокооценённых — <b>Avast, BitDefender, ESET </b>и другие; многие из них предлагают бесплатные версии для пробы.</p><h3>Удалённый доступ и вспомогательные утилиты</h3><p><b>RustDesk</b> стал современным, ориентированным на приватность аналогом <b>TeamViewer</b>. Он с открытым исходным кодом, быстрый и работает кроссплатформенно.</p><p>Тем, кому нужны более устоявшиеся коммерческие решения, подойдёт <b>AnyDesk</b>, который остаётся лёгким и надёжным вариантом для личного и командного использования.</p><p>Превращение смартфона в пульт дистанционного управления компьютером бывает невероятно удобно — будь то презентации, потоковое видео или просто навигация с дивана.</p><p><b>Remote Mouse</b> — простой и эффективный способ эмулировать мышь и клавиатуру с телефона. Для более продвинутых сценариев можно использовать приложения вроде <b>Unified Remote.</b></p><h2>Редактирование изображений и видео</h2><ul><li><b>Профессиональный видеомонтаж:</b> DaVinci Resolve</li><li><b>Простой видеомонтаж: </b>CapCut</li><li><b>Редакторы изображений:</b> GIMP, PhotoDemon, Pixelmator Pro</li><li><b>Бесплатное улучшение изображений:</b> Upscayl</li><li><b>RAW-редактирование:</b> RawTherapee</li><li><b>Видеоконвертация:</b> HandBrake</li></ul><p>Если вам нужен бесплатный инструмент для редактирования изображений, <b>GIMP</b> — один из самых мощных вариантов. Он предоставляет профессиональные возможности, такие как слои, маски и настраиваемые плагины, что делает его идеальным для продвинутых пользователей. Если вы ищете более лёгкий редактор с чистым интерфейсом, стоит обратить внимание на <b>PhotoDemon</b>. Он работает как портативное приложение на Windows, поддерживает слои и редактирование — отличный выбор для быстрых правок или ретуши.</p><p>Если вы хотите увеличивать разрешение изображений без потери качества, <b>Upscayl</b> — мощный и бесплатный инструмент для апскейла. Он кроссплатформенный, и по нашим тестам показывает результаты на уровне платных решений вроде Topaz.</p><p>Для векторной графики — логотипы, иллюстрации — <b>Inkscape</b> является достойным open-source вариантом с полной поддержкой редактирования SVG. <b>Krita</b> — ещё один отличный бесплатный инструмент, особенно подходящий для цифровой живописи и художественного творчества.</p><p>Для редактирования RAW-фотографий, <b>Darktable</b> и <b>RawTherapee</b> — два высококлассных open-source аналога Adobe Lightroom. Их широко используют фотографы, которым нужна работа с изображениями без подписки.</p><p>Для простых GIF-анимаций <b>ScreenToGif</b> — удобная утилита, мгновенно записывающая область экрана и экспортирующая в GIF или другие форматы с оверлеями.</p><p>Среди платных фоторедакторов <b>Adobe Photoshop</b> остаётся лидером, но для macOS есть <b>Pixelmator Pro</b> — мощное приложение с разовой оплатой, а <b>Affinity Photo</b> предлагает профессиональные возможности по более доступной цене.</p><h3>Видеомонтаж и конвертация</h3><p><b>DaVinci Resolve</b> считается лучшим бесплатным профессиональным ПО. Его используют и энтузиасты, и профессионалы — от простого тримминга до цветокоррекции и сложного постпродакшена.</p><p><b>Shotcut</b> и <b>Kdenlive</b> — тоже сильные бесплатные варианты, предлагают более простой фукнционал с хорошим набором функций для новичков и продвинутых пользователей. <b>CapCut</b>, изначально мобильное приложение, теперь доступен на десктопе — идеально подходит для быстрых монтажей и роликов для соцсетей.</p><p>Для пользователей macOS <b>iMovie </b>предустановлен и остаётся надёжным вариантом для базовых видео. Если вам нужно просто конвертировать или сжимать видео в современные форматы, <b>HandBrake</b> — проверенное бесплатное решение с поддержкой и вариацией входных и выходных форматов.</p><p>Тем, кто ищет топовый профессиональный монтаж, подойдут <b>Adobe Premiere Pro</b> и<b> Final Cut Pro</b>, но там есть дорогая подписка и более высокий порог входа.</p><h2>Коммуникации и совместная работа</h2><ul><li><b>Для повседневной связи: </b>WhatsApp, Messenger и Zoom, если у вас нет FaceTime</li><li><b>Для приватности: </b>Signal</li><li><b>Для работы:</b> Slack, Teams</li><li><b>Для игр и общения: </b>Discord</li></ul><p>Выбор коммуникационных и мессенджерных приложений в первую очередь зависит от того, с кем вы общаетесь — с семьёй, друзьями, коллегами или игровым сообществом. Вот актуальная картина:</p><p>Для личной переписки <b>WhatsApp</b> и <b>Facebook Messenger</b> остаются самыми массовыми платформами по всему миру. У них есть десктопные клиенты и встроенное сквозное шифрование по умолчанию. <b>Telegram</b> также крайне популярен благодаря синхронизации между устройствами и поддержке крупных чатов. Пользователи Apple продолжают активно использовать <b>iMessage</b> для приватного, шифрованного общения в экосистеме Apple.</p><p>Из видеоконференций <b>Zoom</b> остаётся одним из лидеров для групповых звонков и онлайн-ивентов, предлагая локальные записи, демонстрацию экрана и комнаты (breakout rooms). Однако бесплатный тариф ограничивает 1:1 звонки 40 минутами, если не перейти на платный план. Zoom поддерживает сквозное шифрование, но при включении E2EE отключаются некоторые функции вроде облачной записи и комнат.</p><p><b>Google Meet</b> — отличный браузерный аналог без необходимости установки, который заметно улучшился по качеству и удобству использования. Многие компании применяют Meet в ежедневной работе и гибридных форматах. Если ваша организация использует Microsoft 365, скорее всего, вы работаете в <b>Microsoft Teams</b>, который уже заменил Skype на корпоративном уровне. Teams поддерживает большие созвоны, обмен файлами и глубоко интегрирован с Office. Сквозное шифрование доступно, но только для 1:1 звонков.</p><p><b>FaceTime</b> по-прежнему отличный для пользователей Apple, и благодаря новым обновлениям к звонку теперь могут присоединяться и пользователи Android/Windows по ссылке через браузер.</p><p>Когда приватность критична, <b>Signal</b> — один из лучших вариантов. Разработан некоммерческой организацией, бесплатен, open-source, без рекламы, использует надёжное сквозное шифрование для сообщений и звонков.</p><p>Для рабочих коммуникаций<b> Slack</b> и <b>Teams</b> продолжают использоваться в бизнес-среде. Бесплатный тариф Slack ограничивает историю 90 днями и звонки, но остаётся любимцем стартапов и малых команд благодаря интеграциям и ботам. <b>Cisco Webex</b> — также крепкий вариант, особенно популярен в корпоративной среде.</p><p>Если вы работаете с креативными командами, сообществами или геймерами, <b>Discord</b> стал явным лидером. Изначально созданный для игр, он превратился в полноценную коллаборативную платформу с текстом, голосом и видео, стримингом экрана и ботами для автоматизации. Многие комьюнити — и даже IT-компании — используют Discord как основной рабочий инструмент.</p><p>Для внутриигрового голосового чата <b>TeamSpeak </b>остаётся олдскульным достойным вариантом: можно использовать анонимно и получать полный контроль над сервером. Встроенный чат Steam лучше, чем раньше, и помогает в игровой координации, но большинство всё же выбирает Discord.</p><h2>Гейминг, моддинг и стриминг</h2><ul><li><b>Игровые платформы: </b>Steam, Epic Games, EA App, Ubisoft, GOG</li><li><b>Последние драйверы для GPU:</b> Nvidia GeForce, AMD Radeon, Intel Arc</li><li><b>Стриминг:</b> OBS Studio</li></ul><p><b>Steam</b> остаётся центром PC-игр. Это не только магазин, но и социальная платформа, лаунчер и площадка с модами, облачными сохранениями и встроенным стримингом. Регулярные распродажи, поддержка контроллеров и сообщества делают его обязательным для любого PC-геймера.</p><p>Не менее важно установить Epic <b>Games Store</b>. Хотя библиотека меньше, он регулярно раздаёт бесплатные игры, доступные любому с аккаунтом Epic. Это также must-have, если вы играете в Fortnite.</p><p>Помните: не все издатели размещают игры на Steam или Epic. Для тайтлов EA понадобится <b>EA App (ранее Origin)</b>, для Ubisoft — <b>Ubisoft Connect</b>, для Blizzard/Activision — <b>Battle.net</b>, а GOG Galaxy не только предлагает DRM-free классику, но и может агрегировать игры из других лаунчеров.</p><p>Некоторые сверхпопулярные игры распространяются отдельно: Minecraft (через Minecraft.net или Microsoft Store), Roblox, League of Legends и Valorant (через лаунчер Riot Games). Если вы новичок и ищете что-то лёгкое, можно начать с free-to-play тайтлов или классики вроде <b>Brutal Chess</b> или <b>GZDoom</b>.</p><p>Если вы играете с геймпадом, Windows поддерживает Xbox-контроллеры из коробки. PlayStation-контроллеры теперь тоже отлично работают: Steam через <b>Steam Input </b>поддерживает DualShock 4 и DualSense практически во всех играх. При необходимости глубокой кастомизации можно использовать DS4Windows, но большинству хватает возможностей Steam.</p><p>Если вас интересует моддинг, хороший менеджер модов время в этой жизни:</p><ul><li><b>Mod Organizer 2</b> — лучший для RPG Bethesda (Skyrim, Fallout).</li><li><b>Vortex (от Nexus Mods)</b> — дружелюбный к новичкам и поддерживает широкий перечень игр.</li></ul><p>Для записи геймплея или стриминга <b>Nvidia ShadowPlay</b> и <b>AMD Radeon ReLive</b> подходят для простых задач. Но для стриминга с вебкой, сценами, оверлеями или многосценовым продакшеном <b>OBS Studio</b> — безальтернативный лидер. Он бесплатный, open-source и подходит как новичкам, так и про-стримерам (Twitch, YouTube, Kick и т.д.). <b>SignalRGB</b> помогает синхронизировать весь RGB-зоопарк и задавать динамические эффекты.</p><h2>Мониторинг железа и разгон</h2><ul><li><b>Мониторинг: </b>CPU-Z, HWMonitor, HWiNFO64</li><li><b>Настройка и разгон:</b> Afterburner, FanControl, ThrottleStop, SignalRGB</li></ul><p>Одно из первых дел, которое стоит сделать после сборки ПК — убедиться, что компоненты соответствуют ожиданиям и работают корректно. К счастью, существует много инструментов, позволяющих мониторить, тестировать и настраивать железо.</p><p>Начать стоит с <b>CPU-Z</b> — классического бесплатного инструмента, показывающего информацию о CPU, материнской плате, оперативной памяти и других компонентах. Он также умеет запускать простой стресс-тест и бенчмарк для проверки стабильности.</p><p>Для более широкого мониторинга <b>HWMonitor</b> показывает температуры, напряжения и скорости вентиляторов в реальном времени. Если нужно ещё глубже и с более гибким интерфейсом — <b>HWiNFO64</b> считается одним из лучших: поддерживает логирование датчиков и интеграцию с оверлеями (например, RTSS или Rainmeter).</p><p>Чтобы проверить хранилище, <b>CrystalDiskMark</b> измеряет скорость чтения/записи SSD и HDD — это помогает понять, соответствует ли диск заявленным характеристикам. Глубже оценить здоровье накопителя можно в <b>Hard Disk Sentinel</b>, который анализирует SMART-данные, оценивает срок службы и предлагает ограниченный ремонт.</p><p>С точки зрения охлаждения, всё больше геймеров используют утилиты для настройки вентиляторов. <b>FanControl</b> — актуальный бесплатный фаворит: поддерживает сложные кривые оборотов, привязку к датчикам, и совместим с большинством современных материнских плат. На Mac одной из лучших утилит остаётся<b> Macs Fan Control.</b></p><p>Для настройки видеокарт долгое время стандартом был <b>MSI Afterburner</b> — для разгона, настройки вентиляторов и мониторинга с RTSS-оверлеем. Однако из-за замедления обновлений многие сегодня используют встроенные утилиты от <b>Nvidia (GeForce Experience/Control Panel)</b> и <b>AMD (Adrenalin Software)</b>.</p><p>Если вы меняете видеокарту или подозреваете проблемы с драйверами, обязательно используйте <b>Display Driver Uninstaller</b> (DDU) — он полностью очищает систему от старых драйверов перед переустановкой.</p><p>Если вы играете на ноутбуке или хотите снизить нагрев и повысить автономность, <b>ThrottleStop</b> остаётся одним из лучших инструментов для андервольта CPU и настройки энергопрофилей.</p><p>Тем, кто серьёзно подошёл к разгону CPU и GPU, пригодятся фирменные инструменты вроде <b>Intel XTU (для Intel) и AMD Ryzen Master</b> — они дают контроль над частотами, напряжениями и лимитами мощности.</p><h2>Управление файлами</h2><ul><li><b>Поиск больших файлов:</b> SpaceSniffer, WizTree, Disk Drill (macOS)</li><li><b>Поиск дубликатов: </b>dupeGuru</li><li><b>Архивы и ZIP: </b>PeaZip, The Unarchiver</li><li><b>Очистка: </b>BCUninstaller, CCleaner Portable, AppCleaner (macOS)</li></ul><p>Чтобы грамотно управлять файлами и освобождать место, нужно понимать, что именно занимает пространство. На Windows популярны <b>WinDirStat и WizTree </b>— быстрые бесплатные инструменты для визуализации диска. <b>SpaceSniffer</b> предоставляет динамическую схему.</p><p>На macOS — <b>GrandPerspective и Disk Drill </b>предлагают аналогичный функционал, а <b>DaisyDisk</b> — один из самых красивых платных вариантов с молниеносным сканированием.</p><p>Если дубликаты засоряют диск, <b>dupeGuru</b> (open-source) отлично справляется с поиском повторяющихся изображений и музыки, даже слегка изменённых.</p><p>Для пакетного переименования файлов (например, фоточек с камеры) существует гибкий <b>Bulk Rename Utility</b>. Если нужно что-то попроще: <b>PowerRename</b> из PowerToys (Windows) или встроенный инструмент в <b>Finder</b> (macOS) подходят большинству.</p><p>Встроенный <b>File Explorer</b> в Windows недавно получил вкладки и стал удобнее, но <b>Files</b> (open-source) — современная альтернатива с улучшенным UX. Кто-то ещё пользуется <b>Total Commander</b> или <b>Directory Opus</b>, благодаря расширяемости и скриптам, хотя новичкам они кажутся устаревшими. Для просмотра изображений по-прежнему незаменим <b>IrfanView</b>.</p><p>Для работы с архивами, если не устраивает встроенный ZIP-менеджер Windows, скачайте <b>7-Zip</b> или <b>PeaZip</b>. На Mac лучшим бесплатным инструментом остаётся <b>The Unarchiver</b>.</p><p>Для очистки системы важно выбирать надёжные утилиты. На Windows, <b>BCUninstaller (Bulk Crap Uninstaller)</b> — один из самых проверенных для удаления программ и их хвостов. <b>BleachBit</b> и <b>Wise Disk Cleaner</b> — безопасные альтернативы <b>CCleaner</b> (лучше использовать Portable-версию, так как стационарная испортила репутацию). На Mac <b>AppCleaner</b> всё ещё любим за полное удаление приложений без мусора.</p><p>Если вы организуете большую библиотеку медиа, стоит взглянуть на open-source <b>TagSpaces</b>, позволяющий тегировать файлы локально, без облака.</p><h2>Облачное хранилище и резервное копирование</h2><ul><li><b>Простая синхронизация: </b>Dropbox, Google Drive</li><li><b>Фото между устройствами:</b> Apple iCloud, Google Photos</li><li><b>Приватность: </b>pCloud, Proton Drive, Internxt</li><li><b>Полные бэкапы:</b> Backblaze, IDrive</li></ul><h3>Базовое облачное хранилище</h3><p><b>Dropbox</b> — один из самых простых в использовании, хотя бесплатных 2 ГБ мало.</p><p><b>
Google Drive</b> — 15 ГБ бесплатно, используется Gmail, Docs и Photos. Идеален для Android.</p><p><b>
OneDrive</b> — идёт в комплекте с Windows и Microsoft 365. 1 ТБ включён в большинство Office-планов. Хотя по скорости и интерфейсу уступает Dropbox/Google.</p><p><b>
iCloud Drive</b> — лучший выбор для пользователей Apple, глубокая интеграция с macOS/iOS. Бесплатно 5 ГБ, далее по планам до 2 ТБ.</p><p><b>
Proton Drive</b> — шифрованная альтернатива от создателей ProtonMail.</p><h3>Фото и видео</h3><p>На macOS приложение <b>Photos</b> автоматически создаёт альбомы по людям и локациям, синхронизирует всё через iCloud.</p><p>На Windows мы часто рекомендуем <b>Google Photos</b>, который предлагает аналогичный набор функций и автоматизацию. Для пользователей Android — это стандарт по умолчанию. Да, раньше было безлимитно, теперь фото занимают общее место Google Drive (15 ГБ), которое быстро заканчивается.</p><h3>Полные бэкапы</h3><p>Если требуется сохранять всю систему, терабайты медиа, состояние дисков используйте отдельные сервисы резервного копирования.</p><p><b>Backblaze</b> — топ в этой категории: фиксированная цена (~$8/месяц за устройство), безлимитное хранилище, минимум настроек: установил и забыл.</p><p><b>IDrive</b> — более контролируемый вариант, поддерживает несколько устройств, внешние диски и версионность файлов.</p><p>Простой для не-технарей — <b>Carbonite</b>, с возможностью быстрого восстановления и круглосуточной поддержкой.</p><p>Профессионалам — <b>Acronis Cyber Protect</b>: клон дисков, анти-вымогатель, гибридное облако.</p><h3>Для особо чувствительных данных</h3><p>Если вы храните личные финансовые документы или медицинские сведения, стоит выбрать end-to-end решений.</p><p><b>pCloud</b> предлагает клиентское шифрование (через платный «Crypto»). Даже при взломе аккаунта файлы не расшифруются без ключа.</p><p><b>Proton Drive </b>— аналогичный подход, с прозрачностью open-source.</p><h2>Прочие полезные инструменты, не вошедшие в другие разделы</h2><p><b>Google Earth</b> — для любителей карт и планировки.</p><p><b>qBittorrent</b> — лучший torrent-клиент: чистый, без рекламы, с поиском. Альтернатива — легковесный Transmission или кастомизируемый Deluge.</p><p><b> iMazing</b> — must-have для владельцев iPhone: резервные копии, экспорт медиа, проверка батареи, конвертация HEIC.</p><p><b>AirDroid</b> — аналог для Android: управление файлам, уведомления, SMS с ПК.</p><p><b>Rufus</b> — лидер по созданию загрузочных USB-дисков для Windows/Linux.</p><p><b>Open Shell </b>— возвращает классическое меню «Пуск» в стиле Windows 7.</p><p><b>Stretchly</b> — напоминает делать перерывы — полезно удалёнщикам и фрилансерам.</p><p><b>AutoHotkey</b> — скриптовый движок для Windows: переназначение клавиш, макросы, автоматизация.</p><p><b>VPN: </b>бесплатные — ProtonVPN, Windscribe, TunnelBear (с лимитом). Платные — ProtonVPN, NordVPN.</p><p><b>Calibre</b> — лучшее бесплатное решение для чтения, организации и конвертации e-book (EPUB, MOBI, PDF и др.).</p><h2>Заключение</h2><p>Итак, мы прошлись по основным категориям приложений, которые стоит установить на новый компьютер. Конечно, этот список не исчерпывающий — у каждого свои задачи и предпочтения. Но если вы установите хотя бы половину из перечисленного, ваш компьютер станет гораздо удобнее и функциональнее.</p><p>Несколько советов напоследок:</p><ol><li><b>Не захламляйте систему.</b> Устанавливайте только то, что действительно используете. Чем меньше фоновых процессов — тем быстрее работает компьютер.</li><li><b>Следите за обновлениями.</b> Большинство программ обновляются автоматически, но некоторые требуют ручного апдейта. Свежие версии — это не только новые функции, но и закрытые уязвимости.</li><li><b>Делайте резервные копии.</b> Никакие утилиты не спасут от отказа жёсткого диска. Регулярный бэкап на внешний носитель или в облако — обязательная практика.</li><li><b>Экспериментируйте. </b>Попробуйте несколько браузеров, редакторов, плееров. То, что подходит большинству, может не подойти именно вам.</li><li><b>Читайте отзывы.</b> Перед установкой незнакомого приложения загляните на форумы или Reddit. Сообщество быстро выявляет проблемы и подводные камни.</li></ol><p>Теперь ваш компьютер готов к работе, учёбе, развлечениям — и чему угодно ещё. Главное — не забывайте, что инструменты важны, но ещё важнее то, как вы их используете. Удачи!</p>]]></content:encoded>
    </item>
    <item>
      <title>Фейковая ошибка MAX: PWA для iPhone помогает избежать установки мессенджера</title>
      <link>https://tproger.ru/news/fejkovaya-owibka-max--pwa-dlya-iphone-pomogaet-izbezhat-ustanovki-messendzhera</link>
      <comments>https://tproger.ru/news/fejkovaya-owibka-max--pwa-dlya-iphone-pomogaet-izbezhat-ustanovki-messendzhera?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/fejkovaya-owibka-max--pwa-dlya-iphone-pomogaet-izbezhat-ustanovki-messendzhera</guid>
      <description><![CDATA[<p>Российский разработчик создал PWA для iPhone, которое имитирует сбой MAX, помогая сотрудникам избежать установки мессенджера</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/fejkovaya-owibka-max--pwa-dlya-iphone-pomogaet-izbezhat-ustanovki-messendzhera">Фейковая ошибка MAX: PWA для iPhone помогает избежать установки мессенджера</a>»</p>]]></description>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[HR]]></category>
      <category><![CDATA[Мессенджер]]></category>
      <category><![CDATA[Приложение]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 19 Sep 2025 14:37:23 GMT</pubDate>
      <content:encoded><![CDATA[<p>Российский разработчик под ником<a href="https://twitter.com/ezhoff6"> @ezhoff6</a> создал веб-приложение для iOS, которое имитирует системную ошибку приложения MAX.</p><p>Это решение предназначено для тех, кто не хочет устанавливать мессенджер на личное устройство, но вынужден отчитываться перед работодателем о его наличии.</p><blockquote>Делал я это для своей девочки и ее руководства, которое требует установки MAX, но никак на работу не влияет.</blockquote><h2>Как это работает</h2><p>Приложение представляет собой PWA (прогрессивное веб-приложение), которое можно открыть в Safari и «установить» на главный экран iPhone.</p><p>После этого, оно выглядит как обычное приложение, но при запуске отображает якобы нативную системную ошибку:</p><p><b>MAX перестал работать. Произошел сбой в приложении (ошибка #4A7B-9C2E)…</b></p><p>На экране — привычные кнопки «Отправить отчет» и «Закрыть», а визуально все напоминает диалог стандартного iOS-краша.</p><h2>Как установить:</h2><ol><li>Перейти по ссылке <a href="http://maxerror.draftstack.dev">maxerror.draftstack.dev</a> в Safari.</li><li>Нажать «Поделиться» и выбрать пункт «На экран “Домой”».</li><li>Готово — «MAX» будет выглядеть как приложение, которое якобы «сломалось».</li></ol><h2>Зачем это нужно</h2><p>Подобная обманка может быть полезной:</p><ul><li>тем, кто не хочет ставить MAX на личный смартфон;</li><li>тем, кто хочет сохранить приватность и избежать лишней слежки;</li><li>тем, кто считает подобные корпоративные требования абсурдными.</li></ul><p>По сути, это маленький акт цифрового сопротивления — способ вежливо саботировать навязанные технологии без лишнего конфликта.</p>]]></content:encoded>
    </item>
    <item>
      <title>Комментарии в коде: зло или спасение ?</title>
      <link>https://tproger.ru/articles/kommentarii-v-kode--zlo-ili-spasenie--</link>
      <comments>https://tproger.ru/articles/kommentarii-v-kode--zlo-ili-spasenie--?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Baskon]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/kommentarii-v-kode--zlo-ili-spasenie--</guid>
      <description><![CDATA[<p>Когда нужны комментарии в коде, а когда без них лучше. Объясняем на примерах, как писать понятные и полезные комментарии</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/kommentarii-v-kode--zlo-ili-spasenie--">Комментарии в коде: зло или спасение ?</a>»</p>]]></description>
      <category><![CDATA[API]]></category>
      <category><![CDATA[Java]]></category>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[C#]]></category>
      <category><![CDATA[Python]]></category>
      <category><![CDATA[IDE]]></category>
      <category><![CDATA[Опрос]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[Работа]]></category>
      <category><![CDATA[Tor]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[Боты]]></category>
      <category><![CDATA[HR]]></category>
      <category><![CDATA[MIT]]></category>
      <category><![CDATA[QA]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Машин]]></category>
      <category><![CDATA[Игра]]></category>
      <category><![CDATA[аналитик]]></category>
      <category><![CDATA[1C]]></category>
      <category><![CDATA[Бизнес]]></category>
      <category><![CDATA[Разработка]]></category>
      <category><![CDATA[DeFi]]></category>
      <category><![CDATA[XML]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 23 Jun 2025 10:39:48 GMT</pubDate>
      <content:encoded><![CDATA[<p>Что делать с комментариями в коде — писать или не писать? Одни уверены: чистый код говорит сам за себя, другие не представляют работу без пояснений. Истина, как обычно, посередине. Комментарии — это инструмент, умелый программист применяет их с пользой, неумелый — только усложняет жизнь себе, коллегам, начальству, пользователям и вообщем всем сопричастным. Разберемся, когда комментарии действительно нужны, а когда от них больше вреда и приведем примеры в коде</p><h2>Зачем вообще писать комментарии в коде?</h2><p>Комментарии — это кусочки текста в программе, которые компилятор пропускает, а человек читает. Они не влияют на работу программы, зато сильно влияют на мозг того, кто будет с этой программой разбираться.</p><h3>Какие задачи они решают ?</h3><h4>1. Пояснить неочевидное</h4><p>Код показывает «что» делает программа, а комментарий — «зачем».</p><p>Такой комментарий не просто поясняет логику — он экономит десятки минут будущего чтения.</p><h3>2. Предупредить</h3><p>В коде бывает странное поведение. Иногда это не баг, а фича. И если не предупредить, другой разработчик обязательно «поправит» и всё сломает. Комментарий защитит от этого:</p><h3>3. Пометить незавершёнку</h3><p>TODO, FIXME, HACK — это специальные маячки. Их ставят туда, где нужно что-то доделать, починить или переписать по-человечески.</p><p>Бонусом, IDE умеют обрабатывать такие заметки, каждая по-своему.</p><h3>4. Временно отключить код</h3><p>Иногда нужно что-то закомментировать, чтобы проверить гипотезу. Но такой код нельзя оставлять надолго. Если от него нет пользы — в мусор. Историю всё равно сохранит git.</p><h3>5. Объяснить архитектуру</h3><p>Иногда важно не только «как» сделано, но и «почему так». Особенно это касается паттернов, нестандартных решений или компромиссов.</p><h3>6. Генерация документации</h3><p>Многие языки и фреймворки поддерживают специальные форматированные комментарии для генерации документации. Например, JavaDoc в Java, docstring в Python, XML в C# – предназначены для описания интерфейсов: что делает функция или класс, какие имеют входные параметры и какой результат дают. Такие Комментарии выполняют роль пользовательской документации прямо в коде и могут автоматически собираться в справочник по API.</p><h3>7. Пошутить</h3><p>Программисты – тоже люди, и иногда оставляют в коде шуточные либо эмоциональные комментарии, чтобы снять стресс. В открытых исходниках можно встретить комментарии с шутками, сарказмом или даже ругательствами, адресованными сложному коду или «костылям».</p><p>Как видно, диапазон применения комментариев очень широк. Но одинаково ли хорошо все эти виды влияют на качество кода? Рассмотрим случаи, когда комментарии приносят пользу, а когда создают проблемы.</p><h2>Когда комментарии помогают</h2><p>А часто без комментариев в коде сложно разобраться, особенно когда  код чужой.</p><h3>1. Когда логика не лежит на поверхности</h3><p>Есть участки кода, где без контекста трудно разобраться, даже если код написан довольно читабельно. Например, сложная формула, нетривиальный алгоритм или необычная структура данных – всё, что выбивается из обыденного опыта разработчиков. В таких случаях пара строк комментария, резюмирующих подход, или объясняющих, что происходит, сэкономят часы на анализ. Это особенно важно для командной работы: коллегам, незнакомым с модулем, не придётся разбираться «с нуля».</p><h3>2. Когда нужно документировать контракты и условия</h3><p>Комментарии могут  использоваться для обозначения контрактов – предусловий и постусловий функций, инвариантов и т.д. (подход Design by Contract). Хотя современные языки позволяют выразить многое (например, через assert или декораторы), комментарии могут дополнять код уточнениями вроде:</p><p>Также текстовые пометки в коде полезны для фиксации граничных условий и особых случаев, таких как обработка пустных массивов в бинарном поиске,  другой пример:</p><p>Да, можно это выразить через assert, но комментарий дает сразу и контекст, и предупреждение. Особенно если логика непростая.</p><h3>3. Когда нужно предоставить контекст и ссылки</h3><p>Иногда кусок кода существует благодаря внешнему источнику, например, когда решение просто скопировано из ответа на форуме или из книги по теме. Просто так его не понять — нужна ссылка на источник:</p><h3>4. Когда нужно облегчить ревью</h3><p>Когда код содержит много пояснений к его работе  новому участнику команды проще входить в проект – по сути, комментарии выполняют роль встроенной документации. Кроме того, код-ревью проходит эффективнее, если автор сразу помечает неочевидные места комментариями. Например:</p><p>В PEP 8 (стиле кодирования Python) прямо приводится пример: комментарий “Compensate for border” – полезный, в отличие от банального “Increment x”, который не даёт новой информации.</p><h3>5. Когда нужна поддержка самодокументируемости через структуру</h3><p>Иногда хочется написать: # Этап 1: авторизация пользователя, и в этот момент приходит мысль — а почему бы не вынести это в функцию authorize_user()? И комментарий уже не нужен. То есть сам порыв объяснить словами часто указывает, что код пора расчленить и упростить.</p><h3>6. Когда нужно кого-то обучить программированию или корпоративным стандартам оформления кода</h3><p>Когда человек обучается программированию или только пришел в компанию, где есть свои стандарты, комментарии в коде можно использовать, чтобы дать ему обучающий материал с примерами из практики, пример:</p><p>Комментарий — это инструмент. Если комментарий в коде дает информацию, которую нельзя вытащить из кода напрямую, — значит, работает как надо. Но бывает и обратное — когда комментарии мешают. Об этом — в следующей части.</p><h2>Когда комментарии вредят</h2><p>Худшее, что может случиться с комментариями – когда они вводят в заблуждение или засоряют код впустую. Рассмотрим подробнее:</p><h3>Дублируют очевидное</h3><p>Комментарий, который просто повторяет код своими словами, не несёт никакой пользы:</p><p>А вот так — лучше вообще без пояснений:</p><p>Комментарий должен объяснять, зачем что-то делается, а не что именно:</p><h3>Врут и вводят в заблуждение</h3><p>Классика: код переписали, а про комментарий забыли.</p><p>Спустя некоторое время код могли переписать, и old_api_call() заменили на new_api_call(), но комментарий остался от прежней версии и стал источником дезинформации: разработчик, читающий код, может принять заведомо неверное решение, доверившись устаревшей заметке. По этой причине крайне важно понимать: если уж пишете комментарий, держите его в актуальном состоянии вместе с кодом.</p><h3>Показывают, что код плохой</h3><p>Когда код плохо читается, и его пытаются «объяснить» словами, вместо того чтобы переписать:</p><p>Вместо этого — понятный код:</p><h3>Плодятся бесконтрольно</h3><p>Иногда встречается код, где каждое действие сопровождается избыточными пояснениями:</p><p>Здесь нет ни одной неочевидной строки. Лучше оставить так:</p><h3>Представляют собой мёртвый код</h3><p>Когда в коде остаются большие мёртвые блоки, которые просто закомментированы:</p><p>Может быть, раньше это что-то значило, но сейчас — просто мертвый груз. Если код не нужен — удаляй. История останется в git.</p><h3>Запутывают и размывают смысл</h3><p>Что значит «временное»? Когда переделывать? Почему не постоянное?</p><p>Лучше так:</p><p>Теперь ясно, почему так сделано, и можно отследить, когда это поведение закончится.</p><p>Итак, комментарии становятся злом, когда они не выполняют своей информативной роли, а лишь создают шум или дезинформируют. В худшем случае они могут привести к багам (если программист доверится неверному комментарию) и точно приведут к потере времени на их чтение и разбор. Единственный способ избежать этого зла —  писать комментарии ответственно: убедиться, что они нужны, правдивы и своевременны.</p><h2>Самодокументируемый код vs комментарии</h2><p>Есть мечта у программистов — писать код, который объясняет сам себя. Без сносок, без подсказок, без комментариев. Такой код читается как инструкция: открыл — понял. Это и называется самодокументируемым стилем.</p><p>Как его достигают?</p><ul><li>Говорящие имена. Не x и a, а temperature, retryLimit, userProfile. Лучше сразу по имени понять, что перед тобой — массив с ID или словарь с настройками.</li><li>Функции с характером. У функции должно быть имя-глагол, в котором есть ответ на вопрос “что делает этот код?”. Например: parseInvoice(), sendEmailReminder(), fetchUserByToken().</li><li>Использовать названия для константных значений. Вместо if (status == 4) — if (status == ORDER_CONFIRMED). Вместо 3000 — RETRY_TIMEOUT_MS.</li><li>Структура — как абзацы в тексте. Пустые строки, логические блоки, отступы — чтобы этапы выделялись сами собой.</li></ul><p>Посмотрим например, где простой код поясняется ненужным комментарием:</p><p>Другой пример:</p><p>Комментарий уже не нужен. Из имён всё понятно: считаем среднюю температуру. Здесь самое интересное — само документируемость имеет границы. Потому что:</p><ul><li>Код объясняет «что», но не всегда «почему».</li></ul><p>Вот есть строка:</p><p>А почему 5? Почему не 3, не 10? Если причина — ограничение API, бизнес-логика или чья-то странная прихоть — код не расскажет. А вот комментарий может:</p><p><b>Неочевидные решения и компромиссы</b></p><p>Иногда приходится делать что-то нестандартное. Например:</p><p>Такой кусок кода без пояснений вызовет недоумение: А почему не сортируем?</p><p>Старайтесь писать код так, чтобы его поняли без подсказок. Как будто у вас нет возможности что-то дополнительно объяснить. А если видите, что читателю будет трудно — помогите: добавьте комментарий, который действительно нужен.</p><h2>Влияние ИИ и новых инструментов на подход к комментариям</h2><p>В последние годы в распоряжении разработчиков появились мощные ассистенты на базе искусственного интеллекта — такие как GitHub Copilot (автодополнение кода на основе ИИ) и большие языковые модели вроде ChatGPT. Эти технологии начинают влиять и на практики комментирования кода.</p><p>Во-первых, автогенерация кода по комментариям стала реальностью.</p><p>Инструмент Copilot способен на лету написать фрагмент кода, ориентируясь на описания на естественном языке. Например:</p><p>Copilot тут же может подставить реализацию:</p><p>Такой подход превращает комментарий в своего рода промпт — описание задачи для ИИ. Это приучает писать коротко и по делу. Хотя такие комментарии потом часто удаляют, их роль в генерации кода становится всё важнее.</p><p>Во-вторых, ИИ сам пишет комментарии.</p><p>Можно просто показать код:</p><p>…и попросить ИИ: прокомментируй. В ответ он выдаст:</p><p>Или даже более детальный:</p><p>Такие автокомментарии могут быть полезны, но всё равно требуют проверки: всезнающий ИИ не всегда понимает скрытые нюансы логики, а часто просто галлюцинирует, поэтому доверять полностью не стоит, но, как черновик, вполне годится.</p><p>В-третьих, стало проще понимать чужой код без комментариев.</p><p>Раньше приходилось часами вчитываться, сегодня — можно просто спросить:</p><p>Запрос в ChatGPT: что делает эта функция?</p><p>Ответ: Она возвращает новый список, содержащий удвоенные значения тех элементов исходного списка, которые делятся на 3.</p><p>ИИ не волшебник, но в 90% случаев — удобный переводчик с машинного на человеческий. Это снимает часть нагрузки с необходимости документировать тривиальные вещи.</p><p>В-четвертых, новый тип комментариев: инструкции для ИИ</p><p>Может возникнуть ситуация, когда комментарий пишется не столько для человека, сколько как команда:</p><p>Если вы используете Cursor или Replit, это может очень полезным.</p><h2>Заключение</h2><p>Так всё-таки, комментарии – зло или спасение?</p><p>Это не абсолютное благо и не абсолютное зло, это просто инструмент. Всё зависит от того, в чьих он руках и зачем используется. Комментарии способны помочь понять неочевидные решения, разобраться в сложных структурах, подсказать направление для размышления. Но, как и любой инструмент, в неумелых руках это способ случайно (или не очень) испортить кровь себе и окружающим.</p><p>Но всё-таки чаще наличие комментариев делает жизнь лучше, ведь иногда формулирование мысли разговорным текстом, а не кодом, позволяет понять свою идею лучше, взглянуть на нее с другой стороны.</p>]]></content:encoded>
    </item>
    <item>
      <title>OpenAI купит Chrome, если Google все же заставят избавиться от браузерного бизнеса</title>
      <link>https://tproger.ru/news/openai-kupit-chrome--esli-google-vse-zhe-zastavyat-izbavitsya-ot-brauzernogo-biznesa-255477</link>
      <comments>https://tproger.ru/news/openai-kupit-chrome--esli-google-vse-zhe-zastavyat-izbavitsya-ot-brauzernogo-biznesa-255477?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/openai-kupit-chrome--esli-google-vse-zhe-zastavyat-izbavitsya-ot-brauzernogo-biznesa-255477</guid>
      <description><![CDATA[<p>OpenAI может купить Chrome, если суд обяжет Google продать браузер из-за антимонопольного дела — обсуждение прошло на слушаниях Минюста</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/openai-kupit-chrome--esli-google-vse-zhe-zastavyat-izbavitsya-ot-brauzernogo-biznesa-255477">OpenAI купит Chrome, если Google все же заставят избавиться от браузерного бизнеса</a>»</p>]]></description>
      <category><![CDATA[Android]]></category>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[Google]]></category>
      <category><![CDATA[Google Chrome]]></category>
      <category><![CDATA[OpenAI]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 23 Apr 2025 04:43:34 GMT</pubDate>
      <content:encoded><![CDATA[<p>OpenAI может стать новым владельцем самого популярного браузера в мире. Компания рассматривает возможность купить Chrome, если суд обяжет Google избавиться от него в рамках антимонопольного дела. Об этом <a href="https://www.theinformation.com/articles/openai-buy-chrome-executive-testifies">заявил</a> Ник Терли, руководитель ChatGPT, на слушаниях по делу против Google.</p><p>Больше новостей — в нашем тг-канале «<a href="https://t.me/your_tech">Представляешь»</a></p><h2>Почему Google могут лишиться Chrome</h2><p>Министерство юстиции США уже выиграло дело против Google, доказав, что компания монопольно контролирует рынок поиска. Сейчас суд решает, как именно наказать корпорацию.</p><p>Один из рассматриваемых вариантов — обязать Google продать браузер Chrome, который давно стал важнейшим инструментом для закрепления лидерства в поиске.</p><p>По мнению Минюста, именно Chrome позволил Google удерживать доминирующее положение. Браузер автоматически направлял пользователей в экосистему Google, ограничивая конкуренцию.</p><p>Также рассматривается запрет на сделки Google с Apple и другими компаниями, в рамках которых поисковик становится вариантом по умолчанию — например, в Safari.</p><h2>OpenAI упирается в ограничения Google</h2><p>OpenAI уже сталкивалась с тем, как сложно расти в мире, где поиск полностью под контролем Google. В прошлом году OpenAI пыталась получить доступ к данным Google для развития SearchGPT, но получила отказ. Терли подчеркнул: если бы у OpenAI был доступ к поисковым данным в реальном времени, компания могла бы «делать лучшие продукты быстрее».</p><p>Минюст также упомянул OpenAI как одну из компаний, чье развитие тормозится из-за господства Google в поиске. В числе других потенциальных мер — принудительное разделение бизнеса и даже продажа Android, если другие меры окажутся недостаточными.</p><h2>У OpenAI есть интерес к Apple</h2><p>На тех же слушаниях Терли сообщил, что OpenAI предложила Apple часть дохода от интеграции ChatGPT в Siri. Детали сделки пока неясны. Ранее сообщалось, что соглашение между Apple и OpenAI не предусматривает выплат с одной из сторон.</p><p>Пока все обсуждают новости, мы сделали то, что реально экономит часы: <a href="https://tprg.ru/LN8a">гайд по 70+ ИИ-инструментам</a>.</p>]]></content:encoded>
    </item>
    <item>
      <title>15 вопросов с собеседований по фронтенду для мидлов</title>
      <link>https://tproger.ru/articles/15-voprosov-s-sobesedovanij-po-frontendu-dlya-midlov</link>
      <comments>https://tproger.ru/articles/15-voprosov-s-sobesedovanij-po-frontendu-dlya-midlov?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Анна Ельцова]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/15-voprosov-s-sobesedovanij-po-frontendu-dlya-midlov</guid>
      <description><![CDATA[<p>Пов: вы пришли на собес на мидла. В статье — ищите вопросы и пытайтесь ответить сначала сами. Если не получается — ответы и решения тоже есть.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/15-voprosov-s-sobesedovanij-po-frontendu-dlya-midlov">15 вопросов с собеседований по фронтенду для мидлов</a>»</p>]]></description>
      <category><![CDATA[Интернет]]></category>
      <category><![CDATA[API]]></category>
      <category><![CDATA[JavaScript]]></category>
      <category><![CDATA[Java]]></category>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[Производительность]]></category>
      <category><![CDATA[JSON]]></category>
      <category><![CDATA[CSS]]></category>
      <category><![CDATA[Навыки]]></category>
      <category><![CDATA[Собеседование]]></category>
      <category><![CDATA[Фронтенд]]></category>
      <category><![CDATA[QA]]></category>
      <category><![CDATA[Приложение]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Сервер]]></category>
      <category><![CDATA[Дизайн]]></category>
      <category><![CDATA[Vue]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Wed, 26 Mar 2025 10:00:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>Статей в духе «вопросы для фронтенд разработчика написано много». Опыт Альберта Халимова в прохождении и проведении собеседований показывает, что, задавая базовые вопросы, интервьюер хочет узнать, готовился ли человек и насколько он заинтересован в работе.</p><p>На типичные вопросы Junior-разработчик должен легко ответить. Вместе с <a href="https://h.careers/curators/albert-khalimov">Альбертом Халимовым</a>, TeamLead Frontend Developer в Группе М.Видео-Эльдорадо и ментором <a href="https://h.careers/skills?utm_source=site_tproger&amp;utm_medium=article">Эйч Навыки</a>, разбираемся в тех же вопросах, но смотрим на них под другим углом и узнаем самое главное — готовы ли быть мидлом.</p><h2>1. Что такое оператор typeof?</h2><p>Вызов typeof x возвращает строку с именем типа:</p><h2>2.     Что вернет typeof null, typeof new Date, typeof alert?</h2><p>Date — это встроенный объект, который содержит дату и время, а также предоставляет методы управления ими.</p><p>Результатом вызова typeof null является "object". Это официально признанная ошибка в typeof, берущая начало еще со времен создания JavaScript и сохраненная для совместимости. Конечно, null — не объект. Это специальное значение с отдельным типом.</p><p>Вызов typeof alert возвращает "function", потому что alert — функция. Функции относятся к объектному типу. Но typeof обрабатывает их особым образом, возвращая "function". Так тоже повелось с момента создания JavaScript. Формально это неверно, но может быть удобным на практике.</p><p>Интересный факт: информация об операторе typeof — это последний пункт главы «Типы данных» на <a href="https://learn.javascript.ru/">https://learn.javascript.ru/</a>.</p><h2>3. Что такое NaN? Какого типа это значение? Как можно узнать, равно ли значение переменной NaN?</h2><p>NaN расшифровывается как "Not A Number", это "false" (ложное) значение. Будьте аккуратны: выражение typeof NaN возвращает тип Number. Чтобы проверить значение переменной на соответствие NaN, нужно воспользоваться встроенным методом isNaN() или оператором тройного равенства ===.</p><h2>4. Какие есть способы объявления функций? В чем их отличия? Что такое стрелочная функция?</h2><p>Ниже рассмотрим ключевые отличия Function Declaration от Function Expression.</p><p>Во-первых, синтаксис: Function Declaration — функция объявляется отдельной конструкцией function… в основном потоке кода.</p><p>Function Expression — функция, созданная внутри другого выражения или синтаксической конструкции. В данном случае функция создается в правой части «выражения присваивания» =:</p><p>Более тонкое отличие появляется тогда, когда функция создаётся движком JavaScript. Так, Function Expression появляется в то время, как выполнение доходит до него, и затем уже может использоваться.</p><p>После того, как поток выполнения достигнет правой части выражения присваивания let sum = function…, функция считается созданной и может быть использована (присвоена переменной, вызвана и т.д. ).</p><p>С Function Declaration всё иначе. Она может быть вызвана раньше, чем объявлена. Другими словами, когда движок JavaScript готовится выполнять скрипт или блок кода, прежде всего, он ищет в нём Function Declaration и создаёт все такие функции. Можно считать этот процесс «стадией инициализации».</p><p>Только после того, как все объявления Function Declaration будут обработаны, продолжится выполнение. В результате функции, созданные как Function Declaration, могут быть вызваны раньше своих определений.</p><p>Например, будет работать так:</p><p>Функция sayHi была создана, когда движок JavaScript подготавливал скрипт к выполнению, и такая функция видна повсюду в этом скрипте.</p><p>Если бы это было Function Expression, то такой код вызвал бы ошибку:</p><p>Функции, объявленные при помощи Function Expression, создаются тогда, когда выполнение доходит до них. Это случится только на строке, помеченной звёздочкой (*). Слишком поздно.</p><p>Ещё одна важная особенность Function Declaration заключается в её блочной области видимости.</p><p>В строгом режиме, когда Function Declaration находится в блоке {...}, функция доступна везде внутри блока, но не снаружи.</p><p>Для примера давайте представим, что нам нужно объявить функцию welcome() в зависимости от значения переменной age, которое мы получим во время выполнения кода. И затем запланируем использовать её когда-нибудь в будущем.</p><p>Если мы попробуем использовать Function Declaration, это не заработает так, как задумывалось:</p><p>Это произошло, так как объявление Function Declaration видно только внутри блока кода, в котором располагается.</p><p>Вот ещё один пример:</p><p>Что можно сделать, чтобы welcome была видна снаружи if? Верным подходом будет воспользоваться функцией, объявленной при помощи Function Expression, и присвоить значение welcome переменной, объявленной снаружи if, что обеспечит нам нужную видимость.</p><p>Такой код заработает, как ожидалось:</p><p>Или мы могли бы упростить это ещё сильнее, используя условный оператор:</p><p>Так когда использовать Function Declaration, а когда Function Expression?</p><p>Как правило, если нам понадобилась функция, нужно рассматривать синтаксис Function Declaration, который мы использовали до этого. Он даёт больше свободы в том, как мы можем организовывать код. Функции, объявленные таким образом, можно вызывать до их объявления.</p><p>Также функции вида function f(…) {…} чуть более заметны в коде, чем let f = function(…) {…}. Function Declaration легче «ловятся глазами».</p><p>…Но если Function Declaration нам не подходит по какой-то причине или нам нужно условное объявление (мы рассмотрели это в примере выше), то следует использовать Function Expression.</p><h2>5. Что такое функции высшего порядка? Приведите примеры.</h2><p>Функции высшего порядка — это функции, которые могут:</p><ol><li>Принимать функции в качестве аргументов.</li><li>Возвращать функции как результат своей работы.</li></ol><p>Вот встроенные функции высшего порядка в JavaScript:</p><ul><li>map() — применяет функцию ко всем элементам массива.</li><li>filter() — фильтрует элементы массива на основе условия.</li><li>reduce() — сводит массив к одному значению, применяя функцию.</li></ul><h2>6. Что такое Promise и какие бывают состояния?</h2><p>Promise — объект в JavaScript, который представляет результат асинхронной операции. Промис позволяет обрабатывать результат операции, когда он станет доступным, вместо того, чтобы блокировать выполнение кода и ожидать завершения операции.</p><p>Промис может находиться в одном из трех состояний:</p><ul><li><b>Pending</b> — исходное состояние промиса. Он находится в ожидании выполнения или отклонения операции.</li><li><b>Fulfilled</b> — промис переходит в это состояние, когда операция успешно завершается.</li><li><b>Rejected</b> — промис переходит в это состояние, когда операция завершается с ошибкой. Здесь промис возвращает причину ошибки.</li></ul><p>Пример:</p><h2>7.     Как сравнивать в JS? Как сравнить два массива?</h2><p>Когда вы сравниваете примитивные типы (числа, строки, булевы значения и т.д.), используются операторы == (нестрогое сравнение) и === (строгое сравнение).</p><p>==  проверяет равенство значений после приведения типов.</p><p>=== проверяет как равенство значений, так и типов (без приведения типов).</p><p>При сравнении массивов в JavaScript важно помнить, что массивы — это объекты, и сравнение происходит по ссылке. То есть два массива будут равны только в том случае, если они указывают на одну и ту же ссылку в памяти.</p><p>Можно преобразовать массивы в строки JSON и сравнить их. Это удобный способ, но он имеет несколько ограничений (например, порядок элементов в массиве имеет значение).</p><p>Для более точного сравнения массивов (в том числе с вложенными структурами) можно пройтись по каждому элементу массива с помощью цикла for или методов every/some.</p><h2>8.     Чем отличаются any, unknown и never?</h2><p>Основные различия:</p><ul><li>any: можно присваивать любые значения, без проверки типа.</li><li>unknown: можно присваивать любые значения, но необходимо проверять тип перед использованием.</li><li>never: тип для значений, которые не могут существовать, например, функции, которые не возвращают ничего.</li></ul><h2>9.     Что такое CORS и как его можно решить на фронтенде?</h2><p>CORS — механизм безопасности, который предотвращает доступ к данным с других источников. Чтобы решить проблемы с CORS:</p><ul><li>На фронтенде можно использовать прокси-серверы для разработки.</li><li>В продакшн-окружении необходимо настроить CORS на сервере.</li><li>Если вы не контролируете сервер, то решением будет обращение к разработчикам API или использование серверного прокси для обхода ограничений.</li></ul><h2>10.  Что такое Progressive Web Apps (PWA)? Зачем нужно?</h2><p>Progressive Web Apps (PWA) — тип веб-приложений, который использует современные веб-технологии для предоставления пользователям опыта, схожего с нативными мобильными приложениями, но через обычный веб-браузер. PWA можно использовать в любом браузере, который поддерживает стандарты веба. Такие приложения могут работать оффлайн, присылать пуши, быстро загружаться и подстраиваться под любой браузер, который поддерживает эти фичи. Из примеров — банковские веб-приложения, которые можно установить на экран.</p><p>Вот главные особенности PWA:</p><ul><li><b>Работа в оффлайн-режиме (Offline-first). </b>PWA используют Service Workers, которые позволяют веб-приложению работать даже без интернета. Это значит, что приложение может кешировать данные и ресурсы, обеспечивая доступность контента в оффлайн-режиме или при плохом интернет-соединении.</li><li><b>Установка на устройство (Installable).</b> PWA можно устанавливать на устройства как нативные приложения. При этом скачивать их из магазина пользователю не нужно.</li><li><b>Push-уведомления.</b> PWA могут отправлять push-уведомления — так пользователь может получать информацию, даже если приложение закрыто.</li><li><b>Обновления.</b> Приложения могут автоматически обновляться в фоновом режиме.</li><li><b>Мгновенная загрузка.</b> PWA загружаются быстрее, так как они используют кэширование ресурсов и данных через Service Workers — это улучшает производительность даже при медленном интернете.</li><li><b>Универсальность.</b> PWA работают на всех платформах (мобильные устройства, десктопы, планшеты) и в любых браузерах, которые поддерживают современные веб-стандарты (например, Chrome, Firefox, Safari, Edge и т.д.).</li></ul><h2>11.  Lifecycle во Vue: когда использовать хуки жизненного цикла?</h2><p>В Vue 2 жизненный цикл выглядит следующим образом:</p><p>beforeCreate → created → beforeMount → mounted → beforeUpdate → updated → beforeDestroy → Destroyed</p><p>В Vue 3 жизненный цикл был немного изменен и улучшен. Некоторые хуки переименованы:</p><p>beforeDestroy → beforeUnmount</p><p>destroyed → unmounted</p><p>Кроме того, в Vue 3 появилась возможность использовать Composition API, который предоставляет более гибкий способ организации жизненного цикла компонентов. Теперь можно создавать компоненты с помощью функции setup().</p><p>Когда использовать хуки жизненного цикла?</p><ul><li>beforeCreate и created используются для настройки данных, свойств или методов компонента до и после его создания.</li><li>beforeMount и mounted полезны для операций, которые необходимо выполнить при рендере компонента (например, вызов API, настройка сторонних библиотек, или выполнение начальной логики).</li><li>beforeUpdate и updated можно использовать для наблюдения за изменениями данных или для манипуляций с DOM до или после его обновления.</li><li>beforeDestroy и destroyed (или beforeUnmount и unmounted в Vue 3) полезны для очистки ресурсов перед уничтожением компонента.</li></ul><h2>12.  В каком компоненте отработает mounted вначале — дочернем или родительском?</h2><p>В Vue.js хук mounted вызывается для компонента, как только его DOM вставляется в дерево DOM. Когда компонент — часть иерархии (например, родительский и дочерний компоненты), хуки жизненного цикла выполняются в определенном порядке.</p><p>Хук mounted будет вызван для дочернего компонента перед родительским.</p><p>Объяснение: родительский компонент инициирует рендеринг и монтирование дочернего компонента. Когда Vue монтирует компоненты, он сначала монтирует все дочерние компоненты, а потом родительский компонент. Это связано с тем, что родительский компонент ждет завершения монтирования дочерних компонентов, чтобы их правильно вставить в DOM.</p><h2>13.  Как изменить commit message</h2><h4>1. Изменить последний коммит</h4><p>Если нужно изменить сообщение только последнего коммита, используйте команду:</p><p>git commit --amend</p><p>После этого Git откроет редактор, где вы сможете изменить сообщение коммита. Сохраните изменения и выйдите из редактора.</p><h4>2. Изменить старый коммит</h4><p>Если нужно изменить сообщение не последнего коммита, а более старого, можно воспользоваться rebase:</p><p>git rebase -i &lt;commit_id&gt;</p><p>Здесь &lt;commit_id&gt; — идентификатор коммита, сообщение которого вы хотите изменить. Можно использовать git log для получения ID нужного коммита. В открывшемся файле замените слово pick на reword напротив коммита, который хотите изменить, и сохраните файл. Git откроет редактор для изменения сообщения этого коммита. После редактирования сохраните и выйдите.</p><p>Завершите процесс rebase:</p><p>git rebase --continue</p><h4>3. Изменить сообщение в уже отправленном коммите (Push)</h4><p>Если коммит был уже отправлен в удаленный репозиторий, а вы хотите изменить сообщение коммита, то вам нужно будет форсировать пуш.</p><p>Измените коммит с помощью git commit --amend или git rebase -i.</p><p>После изменения выполните принудительный пуш:</p><p>git push --force</p><p>Пожалуйста, перед собеседованием повторите CSS. Многие разработчики усиленно готовятся к технической сессии по JS, TS, своему фреймворку, но забывают о верстке. Если вам повезет работать над новым продуктом, то верстка будет занимать больше половины времени.</p><h2>14.  Что такое псевдоклассы в CSS? Как обратиться к псевдоклассу в JS?</h2><p>Псевдоклассы в CSS — стили, которые применяются  к элементам в зависимости от их состояния или структуры в документе.</p><p>В JavaScript нельзя напрямую изменить псевдоклассы, но можно использовать селекторы CSS для выбора элементов с псевдоклассами. Это делается с помощью методов по типу querySelector и querySelectorAll.</p><h2>15.  Что такое dvh, lvh, em и rem в CSS? Когда и почему лучше использовать каждую из этих единиц измерения?</h2><p>Эти единицы были введены в спецификации CSS, чтобы улучшить работу с адаптивным дизайном и обеспечить корректное отображение на мобильных устройствах.</p><ul><li>dvh (dynamic viewport height) — единица измерения, которая учитывает динамические изменения в размерах окна, например, высота при открытии клавиатуры на мобильных устройствах.</li><li>lvh (large viewport height) — единица измерения, которая использует максимальную высоту вьюпорта, независимо от динамических изменений (например, не учитывает изменения, связанные с клавиатурой на мобильных устройствах).</li></ul><p>Когда использовать:</p><ul><li>dvh полезен, когда нужно учитывать изменения размера окна при взаимодействии с мобильными устройствами (например, при открытии клавиатуры).</li><li>lvh полезен для работы с мобильными устройствами, когда нужно обеспечить стабильный дизайн, не зависящий от изменения высоты вьюпорта из-за динамических изменений.</li><li>em — это единица измерения, которая зависит от размера шрифта родительского элемента. 1em равен текущему размеру шрифта родительского элемента. Если в родительском элементе установлен шрифт размером 16px, то 1em будет равен 16px.</li><li>rem — это единица измерения, которая зависит от размера шрифта корневого элемента (&lt;html&gt;). 1rem равен размеру шрифта, установленному на корневом элементе (по умолчанию в большинстве браузеров это 16px).</li></ul><p>Когда и зачем использовать каждую из этих единиц?</p><ul><li>dvh/lvh: Используйте, если вам нужно учитывать динамическое изменение высоты вьюпорта (например, на мобильных устройствах при открытии клавиатуры) или если вам нужно работать с максимальной высотой вьюпорта, независимо от динамических изменений.</li><li>em: Используйте, когда размеры элементов должны зависеть от размера шрифта родительского элемента. Это полезно для создания гибких и адаптивных макетов, которые изменяются с размером шрифта.</li><li>rem: Используйте, когда нужно, чтобы размеры были относительно размера шрифта корневого элемента. Так проще поддерживать единообразие и легко масштабировать весь интерфейс.</li></ul><p>Если вы знали ответы на все вопросы, поздравляем — можете гордо считать себя мидлом и смело ходить на собеседования. Если в каких-то вопросах плаваете, то подучите теорию и порешайте побольше задачек/почитайте код других разработчиков — тогда все получится.</p>]]></content:encoded>
    </item>
    <item>
      <title>Функцию перевода видео с Яндекс.Браузера портировали на Google Chrome и Safari</title>
      <link>https://tproger.ru/news/--funkciyu-perevoda-video-s-yandeks-brauzera-portirovali-na-google-chrome-i-safari</link>
      <comments>https://tproger.ru/news/--funkciyu-perevoda-video-s-yandeks-brauzera-portirovali-na-google-chrome-i-safari?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/--funkciyu-perevoda-video-s-yandeks-brauzera-portirovali-na-google-chrome-i-safari</guid>
      <description><![CDATA[<p>Функция перевода видео из Яндекс.Браузера теперь доступна на Google Chrome и Safari благодаря бесплатному расширению voice-over-translation с открытым исходным кодом на GitHub</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/--funkciyu-perevoda-video-s-yandeks-brauzera-portirovali-na-google-chrome-i-safari">Функцию перевода видео с Яндекс.Браузера портировали на Google Chrome и Safari</a>»</p>]]></description>
      <category><![CDATA[Git]]></category>
      <category><![CDATA[Google]]></category>
      <category><![CDATA[Браузеры]]></category>
      <category><![CDATA[Google Chrome]]></category>
      <category><![CDATA[GitHub]]></category>
      <category><![CDATA[На английском языке]]></category>
      <category><![CDATA[Яндекс]]></category>
      <category><![CDATA[Английский]]></category>
      <category><![CDATA[YouTube]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 08 Nov 2024 09:23:57 GMT</pubDate>
      <content:encoded><![CDATA[<p>Фанаты зарубежного контента часто сталкиваются с проблемой языкового барьера, особенно при просмотре видеороликов на английском.</p><p>Ранее популярной функцией потокового перевода видео могли похвастаться только некоторые браузеры, такие как Яндекс.Браузер.</p><p>Однако теперь аналогичное решение доступно и пользователям Google Chrome и Safari — благодаря расширению voice-over-translation, <a href="https://www.iguides.ru/main/other/kak_dobavit_perevod_videorolikov_neyrosetyami_v_safari_i_google_chrome_absolyutno_besplatno_i_v_nesk/">созданному</a> энтузиастом-разработчиком и доступному бесплатно на <a href="https://github.com/ilyhalight/voice-over-translation">GitHub</a>.</p><h2>Возможности voice-over-translation</h2><p>Расширение позволяет переводить видео в реальном времени, обеспечивая качественный русскоязычный дубляж без задержек.</p><p>С его помощью те, кто не знает английский, может получить доступ к огромному количеству обучающих и развлекательных материалов, которые раньше были недоступны из-за языкового барьера.</p><h2>Как установить voice-over-translation:</h2><ol><li><b>Откройте ваш браузер</b> — Chrome или Safari.</li><li><b>Установите менеджер скриптов</b>: для Chrome — Tampermonkey; для Safari — UserScripts.</li><li><b>Скачайте и установите скрипт voice-over-translation</b> с <a href="https://github.com/ilyhalight/voice-over-translation">GitHub</a>.</li><li><b>Откройте видеоролик на английском языке.</b></li><li><b>Активируйте перевод</b> — в окне видео появится баннер, в котором нужно нажать «Перевести».</li></ol><h2>Преимущества использования расширения</h2><ul><li><b>Быстрая установка:</b> процесс занимает всего несколько минут.</li><li><b>Совместимость:</b> работает с любыми видеоплатформами, включая YouTube и Vimeo.</li><li><b>Удобство:</b> переводы осуществляются без необходимости переключаться на другой браузер.</li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Apple Intelligence: чему научит новый ИИ Apple смартфоны, планшеты и компьютеры бренда</title>
      <link>https://tproger.ru/news/apple-intelligence--chemu-nauchit-novyj-ii-apple-smartfony--planwety-i-kompyutery-brenda</link>
      <comments>https://tproger.ru/news/apple-intelligence--chemu-nauchit-novyj-ii-apple-smartfony--planwety-i-kompyutery-brenda?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/apple-intelligence--chemu-nauchit-novyj-ii-apple-smartfony--planwety-i-kompyutery-brenda</guid>
      <description><![CDATA[<p>Накануне Apple провела презентацию в рамках WWDC 24, где показала свой новейший ИИ — Apple Intelligence. Чему же он научит устройства компании?</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/apple-intelligence--chemu-nauchit-novyj-ii-apple-smartfony--planwety-i-kompyutery-brenda">Apple Intelligence: чему научит новый ИИ Apple смартфоны, планшеты и компьютеры бренда</a>»</p>]]></description>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[IDE]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[macOS]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Xcode]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 11 Jun 2024 13:27:01 GMT</pubDate>
      <content:encoded><![CDATA[<p>На WWDC 2024 Apple представила новую систему искусственного интеллекта — Apple Intelligence. Она обещает значительно улучшить пользовательский опыт на iPhone, iPad и Mac.</p><h2>Интеграция ИИ в Siri</h2><p>Одно из ключевых улучшений коснулось Siri.</p><p>Теперь голосовой помощник будет использовать систему под названием ReALM (Reference Resolution as Language Modeling), которая позволяет лучше понимать контекст и вести более естественные разговоры.</p><p>Это означает, что Siri сможет распознавать и интерпретировать такие фразы, как «положи это туда», понимая, что означает «это» и «туда», без необходимости дополнительных уточнений​.</p><figure><img src="https://media.tproger.ru/user-uploads/98945/2024-06-11/8b65dbbc-818f-4e0e-9889-677f7c6b9f68.jpg" alt="" /></figure><h2>Локальная обработка данных</h2><p>Apple делает акцент на обработке данных непосредственно на устройстве, что обеспечивает высокую скорость и приватность.</p><p>В отличие от других моделей, таких как Google Gemini или Microsoft Copilot, Apple Intelligence выполняет обработку большинства запросов без необходимости обращения к облачным платформам. Это позволяет значительно уменьшить задержки и повысить безопасность данных, так как все вычисления выполняются локально на устройстве пользователя​​.</p><h2>Генеративные эмодзи и Image Playground</h2><p>Функция Genmoji позволяет создавать уникальные эмодзи на основе описаний пользователей.</p><p>Программа Image Playground предоставляет возможность генерировать изображения, используя такие стили, как анимация, иллюстрация и эскиз.</p><figure><img src="https://media.tproger.ru/user-uploads/98945/2024-06-11/0aa30fb6-75d6-49b6-96f3-dffaa1797442.jpg" alt="" /></figure><h2>Обновления в приложениях и Xcode</h2><p>Apple внедрила Intelligence в множество приложений, включая Photos, Notes и Safari.</p><p>В Photos теперь доступен поиск с помощью естественного языка, что позволяет находить фотографии по описанию.</p><p>В Notes добавлена функция решения математических уравнений и преобразования рукописных заметок в текст.</p><p>В Safari появилось смарт-резюме контента, которое позволяют быстро находить ключевые моменты в длинных статьях​​.</p><p>Для разработчиков на платформе Xcode также введены новые функции, поддерживающие создание и тестирование приложений с использованием Apple Intelligence.</p><p>Речь идет о поддержке генеративных моделей для автоматизации написания кода и улучшении процесса отладки и тестирования приложений​.</p><h2>Приватность и безопасность</h2><p>Одной из важнейших черт Apple Intelligence является акцент на приватности. Система Private Cloud Compute позволяет гибко распределять вычислительные задачи между устройством и серверами Apple, обеспечивая высокую безопасность данных.</p><p>Пользователи могут быть уверены, что их данные остаются конфиденциальными и защищенными, так как все вычисления выполняются в зашифрованной среде. По крайней мере, на это настаивает сама корпорация.</p><p>Все эти и многие другие улучшения будут доступны с релизом iOS 18, iPadOS 18 и macOS Sequoia, который ожидается осенью этого года.</p>]]></content:encoded>
    </item>
    <item>
      <title>Итоги WWDC 24: умный калькулятор в iPadOS, собственный ИИ от Apple, поумневшая Siri, iOS 18 и macOS 15</title>
      <link>https://tproger.ru/news/itogi-wwdc-24--umnyj-kalkulyator-v-ipados--sobstvennyj-ii-ot-apple--poumnevwaya-siri--ios-18-i-macos-15</link>
      <comments>https://tproger.ru/news/itogi-wwdc-24--umnyj-kalkulyator-v-ipados--sobstvennyj-ii-ot-apple--poumnevwaya-siri--ios-18-i-macos-15?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/itogi-wwdc-24--umnyj-kalkulyator-v-ipados--sobstvennyj-ii-ot-apple--poumnevwaya-siri--ios-18-i-macos-15</guid>
      <description><![CDATA[<p>Накануне Apple провела очередную презентацию, в рамках WWDC 24, в которой сделала акцент на софтовых разработках. Главная звезда вечера — новейший ИИ компании. Но были и другие анонсы</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/itogi-wwdc-24--umnyj-kalkulyator-v-ipados--sobstvennyj-ii-ot-apple--poumnevwaya-siri--ios-18-i-macos-15">Итоги WWDC 24: умный калькулятор в iPadOS, собственный ИИ от Apple, поумневшая Siri, iOS 18 и macOS 15</a>»</p>]]></description>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[Искусственный интеллект]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[macOS]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 11 Jun 2024 05:31:02 GMT</pubDate>
      <content:encoded><![CDATA[<p>Накануне вечером Apple провела WWDC 2024, где представила ряд новинок. В том числе собственный искусственный интеллект Apple Intelligence, улучшенную Siri, новые версии iOS 18 и macOS Sequoia, а также умный калькулятор для iPadOS.</p><h2>Apple Intelligence</h2><p><b>Apple Intelligence</b> — интегрированный ИИ, который использует генеративные модели для улучшения пользовательского опыта на iPhone, iPad и Mac.</p><p>Apple Intelligence способен создавать текст и изображения, выполнять действия в приложениях и ускорять повседневные задачи.</p><p>Основной акцент сделан на приватности, обеспечиваемой системой Private Cloud Compute, которая распределяет вычислительные задачи между устройством и серверами Apple, гарантируя безопасность данных пользователей​.</p><figure><img src="https://media.tproger.ru/user-uploads/98945/2024-06-11/d938984a-6070-4950-93f1-ac6ee13c425f.jpg" alt="" /></figure><h2>Умные инструменты для письма</h2><p>Новые системные инструменты для письма, встроенные в iOS 18, iPadOS 18 и macOS Sequoia, позволяют переписывать, проверять и суммировать текст.</p><p>Функция Rewrite помогает выбрать различные версии текста, а Proofread проверяет грамматику и предлагает улучшения. Функция Summarize создает краткие обзоры текста в виде абзаца, маркированных списков или таблиц.</p><figure><img src="https://media.tproger.ru/user-uploads/98945/2024-06-11/8708b6fc-2af1-49b8-b12e-075d12bc824a.jpg" alt="" /></figure><h2>Обновления для Siri</h2><p>Siri стала более контекстно-зависимой и персонализированной, с возможностью упрощать и ускорять выполнение повседневных задач.</p><p>Теперь умный ассистент может обрабатывать запросы в контексте предыдущих взаимодействий и работать с данными из различных приложений.</p><p>Siri также интегрирована с ChatGPT, что позволяет ей использовать его возможности для генерации ответов и выполнения задач​, когда самостоятельно она этого сделать не может.</p><figure><img src="https://media.tproger.ru/user-uploads/98945/2024-06-11/8d23480e-2cf1-4be2-938c-cbd24831f17c.jpg" alt="" /></figure><h2>Новые функции iOS 18</h2><p>В iOS 18 появились новые инструменты для настройки домашнего экрана, обновленное приложение «Фото» и улучшенный центр управления.</p><p>Теперь пользователи могут использовать «Темный режим» для иконок приложений и настраивать их цвет. Также появились новые функции в приложении «Сообщения», включая возможность отправки сообщений с использованием спутниковой связи и поддержку RCS-сообщений.</p><figure><img src="https://media.tproger.ru/user-uploads/98945/2024-06-11/de01153b-0552-46c5-b692-9d80ba9ea080.jpg" alt="" /></figure><h2>Обновления iPadOS 18</h2><p>В iPadOS 18 впервые появилось приложение «Калькулятор», позволяющее решать выражения и сохранять их для последующего использования.</p><p>Также добавлены улучшенные анимации и новый браузер документов в приложениях Pages, Numbers и Keynote.</p><figure><img src="https://media.tproger.ru/user-uploads/98945/2024-06-11/8ad4dfbe-df58-41eb-b679-89a6ea1ded88.jpg" alt="" /></figure><h2>macOS 15 Sequoia</h2><p>Новая версия macOS включает интеграцию Apple Intelligence, новую функцию iPhone Mirroring, обновление Safari и отдельное приложение для управления паролями.</p><p>Пользователи могут создавать и редактировать изображения с помощью функции Image Playground, а также получать уведомления с iPhone на Mac.</p><p>Новый режим Highlights в Safari упрощает поиск информации на веб-страницах.</p><p>Эти и другие обновления станут доступны в публичных бета-версиях этим летом, а официальный релиз ожидается осенью.</p><figure><img src="https://media.tproger.ru/user-uploads/98945/2024-06-11/f1840898-1c33-49fc-b4c3-b9868f71388c.jpg" alt="" /></figure>]]></content:encoded>
    </item>
    <item>
      <title>Safari — новый Internet Explorer?</title>
      <link>https://tproger.ru/articles/safari-novyj-internet-explorer</link>
      <comments>https://tproger.ru/articles/safari-novyj-internet-explorer?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Мария Кривоченко]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/articles/safari-novyj-internet-explorer</guid>
      <description><![CDATA[<p>Доля использования браузера Safari составляет чуть больше 18%. Тогда почему его называют новым Internet Explorer и пророчат забвение?</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/articles/safari-novyj-internet-explorer">Safari — новый Internet Explorer?</a>»</p>]]></description>
      <category><![CDATA[Браузеры]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Гостевая публикация]]></category>
      <category><![CDATA[Статьи]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Tue, 31 Aug 2021 13:55:14 GMT</pubDate>
      <content:encoded><![CDATA[<p>Согласно статистике с сайта <a href="https://gs.statcounter.com/">gs.statcounter.com</a>, доля использования браузера Chrome в мире составляет 65%. Safari – чуть больше 18%. Остальных – 3% или меньше. Если посмотреть на эти же показатели в хронологии, видно, что Chrome не думает сдавать позиции. А остальные браузеры лишь пытаются сохранить статус-кво. Купертиновский браузер занимает второе место. Тогда почему же Safari называют новым Internet Explorer и пророчат забвение?</p><figure><img src="https://media.tproger.ru/uploads/2021/08/Snimok-jekrana-2021-08-31-v-16.29.20-e1630417682413.png" alt="" /></figure><h2>Ретроспектива</h2><p>История современного веба началась с Маттиаса Эттриха, который начал разработку среды рабочего стола Kool (KDE) с открытым исходным кодом для Linux в 1996 году. После в рамках проекта KDE группа энтузиастов разработала KHTML — первый движок для браузера Konqueror.</p><figure><img src="https://media.tproger.ru/uploads/2021/08/Snimok-jekrana-2021-08-31-v-16.43.39-e1630417564999.png" alt="" /></figure><p>Позже в 2002 году, когда Apple задумалась о собственном проприетарном браузере, было решено «форкнуть» (скопировать и переработать) исходный код KHTML. Так появился движок WebKit. А основанный на нём браузер назвали Safari.</p><p>Одновременно с этим на горизонте появился Internet Explorer. Как браузер по умолчанию в Windows, он оставался основным окном в интернет для огромного количества пользователей персональных компьютеров до 2015 года.</p><p>В 2008 году Google зашёл на рынок браузеров с фирменным Chrome. Под его капотом работал знакомый WebKit. Первые версии поражали скоростью работы. Но спустя 5 лет, в 2013 году, из-за медленного развития и долгого внедрения поддержки новых веб-стандартов, Google «форкнула» WebKit и создала свою версию движка — Blink.</p><p>В 2010 году, когда Apple предложила WebKit2, постулирующий новую парадигму — «обработка веб-контента в отдельных от интерфейса браузера неблокирующих процессах». Новый движок действительно снизил боль веб-разработчиков и порадовал пользователей браузера Safari поддержкой новых технологий, в том числе и на фирменных мобильных устройствах iPhone и iPad.</p><p>Отдельное место продолжает занимать Firefox — продукт Mozilla Foundation с отдельным движком Quantum. Армию поклонников «огненный лис» привлёк скорее в 2000-е, когда был, по сути, первым и единственным open-source браузером, противостоявшим Internet Explorer.</p><p>К 2021 году шествие open-source Chromium привело к тому, что на его базе сейчас работают Opera, Vivaldi, Brave, Яндекс.Браузер и даже Microsoft Edge. А Microsoft — это всё ещё крупнейший игрок на рынке десктопных систем. Мобильный же рынок делится между WebKit’овым браузерами для iOS и браузерами на базе Chromium для Android.</p><h2>Боль разработчиков</h2><p>В сети есть ресурс <a href="https://wpt.fyi/results/?label=experimental&amp;label=master&amp;aligned">web-plaform-tests</a>. Он показывает результаты ежедневного прогона одних и тех же тестов для современных браузеров актуальных версий. Тесты включают проверки базовых механизмов, так и современных WebAPI. На график наносится кривая, отображающая количество проваленных тестов, встречающихся только в <b>одном</b> из браузеров. Синяя линия — это Safari, оранжевая — Firefox, зеленая — Chrome.</p><figure><img src="https://media.tproger.ru/uploads/2021/08/Snimok-jekrana-2021-08-31-v-16.31.46-e1630417792953.png" alt="" /></figure><p>У Safari больше «отказов». И, как видно, за три прошедших года ситуация не сильно улучшилась. Это показывает, что известные баги не правятся, спецификации не соблюдаются а дырки не заделываются. Только в середине 2020 года провели успешную ревизию, которая снизила «техдолг». Но это позволило лишь вернуться к докризисным уровням. Существенно количество проваленных тестов сократить не удалось.</p><p>За деталями можно обратиться непосредственно к баг-тракеру <a href="http://bugs.webkit.org/">bugs.webkit.org</a>, где любой желающий может оформить тикет с описанием найденного в браузере бага. Инструментарий позволяет формировать графики на основе данных, накопленных за все время существования ресурса, и, например, получить вот такой срез по результирующему статусу, присвоенного каждому багу.</p><figure><img src="https://media.tproger.ru/uploads/2021/08/Snimok-jekrana-2021-08-31-v-16.33.37-e1630417914138.png" alt="" /></figure><p>Как видно большую часть багов поправили (FIXED), и за это отдельный респект команде мейнтейнеров. Но оставшаяся часть приводит к неутешительному заключению: новые ещё неоцененные баги (NEW) составляют пятую часть от исправленных. Плюс к этому треть тикетов от этого объёма составляют дубликаты (DUPLICATE).</p><p>Получается, разработчики сталкиваются с одними и теми же проблемами, которые не правятся на протяжении нескольких лет.</p><p>Сюда же относятся тикеты со статусами INVALID и WONT FIX. В них купертиновцы отбраковывают баги, которые, по их мнению, багами не являются или не будут исправлены в виду особенностей релизной политики Apple. Если мысленно сложить все эти неFIXED-тикеты в одну стопку, то получится добрая половина от исправленных багов.</p><h3>Чтобы не быть голословными, рассмотрим несколько примеров с такими проблемными тикетами.</h3><h4>Внедрить BroadcastChannel</h4><p>Суть: данный интерфейс позволит наладить коммуникацию между разными вкладками, фреймами и прочим. Критичен в PWA-приложениях, например, в сценариях входа/выхода из приложения в двух соседних вкладках. Работает только для доменов одного уровня. То есть перехват управления с других сайтов невозможен. Поддерживается всеми браузерами, даже IE, но не Safari.</p><p>Позиция Apple: не будем внедрять поддержку BroadcastChannel, так как мы находим спецификацию данного интерфейса недостаточно проработанной и считаем, что текущая имплементация навредит безопасности нашего браузера.</p><h4>Клик по не-текстовому инпуту не добавляет фокус элементу</h4><p>Суть: состояние фокуса при клике получают только текстовые поля. Всем остальным компонентам типа выбора даты, чекбоксов, радио-кнопок, обычных кнопок такое состояние не сообщается. Из-за этого нет возможности стилизовать их onfocus-поведение и привязываться к соответствующему событию для указанных элементов.</p><p>Позиция Apple: Такое поведение является стандартным в системе macOS, фокусироваться могут только текстовые поля. Нашим пользователям такое поведение более привычно. А вы хотите, чтобы мы переделали все под Windows/Linux-парадигму.</p><h4>WKWebView приложение не передает во внешних запросах ранее сохраненные Cookie</h4><p>Суть: в WKWebView приложение (например, созданное через Cordova) не умеет сохранять куки, до тех пор пока пользователь не совершит какую-то странную нелогичную последовательность, например, свернёт работающее приложение и не развернёт обратно. Фактически любые мобильные приложения с WKWebView сломаны, так как сессионные куки и авторизованные запросы не работают в них от слова совсем.</p><p>Позиция Apple: Докажите нам, что это существенный дефект, который мешает жизни пользователей WKWebView приложений. И перечислите нам такие крупные приложения, которые затрагивает данный баг. Мы тогда посмотрим, как приоритизировать этот дефект.</p><h4>Высота Viewport неправильно высчитывается в мобильных браузерах</h4><p>Суть: использование универсального стандартного 100vh в CSS-стилях, которое сообщает блочному элементу команду занять всю доступную высоту видимого окна браузера, сломано на мобильных браузерах. Всё потому, что разрабы <a href="https://blog.opendigerati.com/the-eccentric-ways-of-ios-safari-with-the-keyboard-b5aa3f34228d">придумали костыль</a>, связанный с появлением экранной клавиатуры и плавностью скролла при анимации её появления. Они смещают viewport наверх вместо того, чтобы его сжимать, как это делается на других платформах.</p><p>Позиция Apple: У нас плавный скролл зато. Тем более, вон какой классный воркэраунд придумало сообщество — алгоритм всего из пяти мини-костылей и старым добрым left=99999px.</p><h3>Safari воспринимает нажатие кнопок Ctrl, Shift, Alt, Cmd как ‘mousemove’ событие</h3><p>Суть: в заголовке всё сказано. ?‍</p><p>Позиция Apple: без комментариев.</p><p>Есть дефекты и посерьёзнее. Если поискать в гугле <a href="https://www.google.com/search?q=Safari+specific+workarounds&amp;rlz=1CAKDZI_enRU965RU965&amp;oq=Safari+specific+workarounds&amp;aqs=chrome..69i57.145j0j7&amp;sourceid=chrome&amp;ie=UTF-8">Safari specific workarounds</a>, можно обеспечить себя занятным чтивом на несколько недель, взять хотя бы даже <a href="https://habr.com/ru/post/332872/">статью с говорящим заголовком</a> на Хабре.</p><p>На каждый такой дефект либо особенность WebKit-движка веб-разработчикам приходится самостоятельно делать воркэраунды, костыли и полифилы.</p><p>Другая боль разработчиков связана с тем, что тестировать костыли под Safari возможно только на устройствах Apple. В то время как на других платформах, будь то Windows или Linux, доступна программная эмуляция, есть WSL и Wine. MacOS или iOS можно запустить только на девайсах Apple. Либо нужно оформлять платную подписку на каком-нибудь условном BrowserStacks, чтобы вручную отлаживаться в Safari.</p><p>Для ИТ-компаний это более дорогие процессы автоматического и ручного тестирования. А также процесс доставки релизов в целом, так как приходится интегрировать дополнительные физические железки или оформлять корпоративные подписки на соответствующих сервисах под сугубо специфичные тест-кейсы.</p><h2>Пользовательская боль</h2><p>Конечные потребители, использующие Safari, тоже страдают от негибких методологий и политики Apple. Чаще всего обновление браузера Safari содержит в себе сакраментальное «Security updates» без указания дополнительных деталей. И только раз в полгода, обычно под новое железо или ОС в свет выходит и крупное обновление браузера с changelog’ом, включающим какие-то новые фичи и правки старых багов.</p><p>Помимо того, что пользователи вынуждены смиряться со старыми болячками и терпеливо ждать следующего крупного обновления, так еще и новые фичи иногда «радуют» своей продуманностью. Взять хотя бы недавнюю придумку с плавающей навигационной плашкой в Safari для iOS 15, которая теперь появляется внизу при скролле любой страницы, перекрывая собой содержимое в нижней части экрана.</p><figure><img src="https://media.tproger.ru/uploads/2021/08/Snimok-jekrana-2021-08-31-v-16.32.16-e1630418029765.png" alt="" /></figure><p>И можно даже согласиться с Apple, которая в своих пресс-релизах хвастает данной фичей, утверждая, что тестировала данное техническое решение, выверяя пиксели и тайминги анимации данной плашки, и предоставила миру исключительно вылизанную фичу. Ей непременно будет удобно пользоваться. Только <a href="https://www.engadget.com/2010-06-24-apple-responds-over-iphone-4-reception-issues-youre-holding-th.html">телефон держите правильно</a> при этом, пожалуйста.</p><p>Инноваторы проигнорировали пользовательский опыт и выставили эту фичу, как нечто невероятное и удобное. Возможно, это все безосновательное критиканство, и разработчики с дизайнерами из Купертино докажут, что не зря едят свой хлеб. Но вот так попирать весь мировой опыт веб-индустрии — такого даже при Стиве Джобсе не было.</p><h2>Что делать?</h2><p>Ожидая развязки, можно не сидеть сложа руки, а, например, продолжать фиксировать в баг-тракере всё новые дефекты, следуя <a href="https://webkit.org/bug-report-guidelines/">гайдлайнам</a>, и поднимать старые, но актуальные болячки. И, конечно, по мере сил <a href="https://webkit.org/contributing-code/">оказывать помощь</a> в правке этих багов в open-source проекте под названием <a href="https://github.com/WebKit/WebKit">WebKit</a>.</p><h2>Источники</h2><ul><li><a href="https://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html">Blink: A rendering engine for the Chromium project</a></li><li><a href="https://en.wikipedia.org/wiki/Comparison_of_web_browsers">Comparison of web browsers</a></li><li>Safari isn’t protecting the web, it’s killing it</li></ul>]]></content:encoded>
    </item>
    <item>
      <title>Apple вернула отдельную панель вкладок Safari в последней бета-версии macOS. Посмотрите, как это выглядит теперь и как вернуться обратно</title>
      <link>https://tproger.ru/news/apple-izmenila-dizajn-vkladok-safari-v-poslednej-beta-versii-macos-posmotrite-kak-jeto-vygljadit-teper</link>
      <comments>https://tproger.ru/news/apple-izmenila-dizajn-vkladok-safari-v-poslednej-beta-versii-macos-posmotrite-kak-jeto-vygljadit-teper?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Андрей Борисов]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/apple-izmenila-dizajn-vkladok-safari-v-poslednej-beta-versii-macos-posmotrite-kak-jeto-vygljadit-teper</guid>
      <description><![CDATA[<p>Вчера Apple выпустила бета-версии под номером 3 для iOS 15, iPadOS 15 и macOS Monterey. Ключевое изменение — редизайн Safari.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/apple-izmenila-dizajn-vkladok-safari-v-poslednej-beta-versii-macos-posmotrite-kak-jeto-vygljadit-teper">Apple вернула отдельную панель вкладок Safari в последней бета-версии macOS. Посмотрите, как это выглядит теперь и как вернуться обратно</a>»</p>]]></description>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[macOS]]></category>
      <category><![CDATA[Бета]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Thu, 15 Jul 2021 05:51:56 GMT</pubDate>
      <content:encoded><![CDATA[<h2>Что случилось?</h2><p>Вчера Apple <a href="https://developer.apple.com/news/releases/?id=07142021e">выпустила</a> macOS Monterey Beta 3. Ключевое изменение — редизайн Safari.</p><h2>Как было раньше?</h2><p>До этого Apple убрала отдельную панель вкладок. Это не понравилось юзерам. Использовать Safari стало неудобно: приходилось жонглировать адресной строкой, кнопками навигации и вкладками на одной узенькой полоске сверху.</p><figure><img src="https://media.tproger.ru/uploads/2021/07/image-45.png" alt="" /><figcaption>Так выглядел Safari до обновления — обратите внимание на вкладки. Изображение: Edngadget</figcaption></figure><h2>Как стало теперь?</h2><p>Apple вернула панель вкладок. Она будет доступна по умолчанию, как это было в macOS Big Sur.</p><figure><img src="https://media.tproger.ru/uploads/2021/07/image-44.png" alt="" /><figcaption>Так выглядит Safari после обновления</figcaption></figure><h2>Мне нравится, как было раньше. Что делать?</h2><p>На удивление, Apple дала возможность пользователям убрать отдельную панель вкладок. Вот, как это сделать:</p><ol><li>Откройте Safari.</li><li>В верхнем левом углу нажмите «Вид» (View).</li><li>Снимите галочку с опции «Показывать отдельную панель вкладок» (Show Separate Tab Bar).</li></ol><figure><img src="https://media.tproger.ru/uploads/2021/07/image-46.png" alt="" /><figcaption>Отключите опцию Show Separate Tab Bar. Изображение: 9to5mac</figcaption></figure><p>Источник: <a href="https://www.macrumors.com/2021/07/14/macos-monterey-safari-redesign/">MacRumors</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Google Chrome заблокировал HTTP, HTTPS и FTP-доступы на порте 10080 из-за хакерской угрозы</title>
      <link>https://tproger.ru/news/google-chrome-zablokiroval-http-https-i-ftp-dostupy-na-porte-10080-iz-za-hakerskoj-ugrozy</link>
      <comments>https://tproger.ru/news/google-chrome-zablokiroval-http-https-i-ftp-dostupy-na-porte-10080-iz-za-hakerskoj-ugrozy?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/google-chrome-zablokiroval-http-https-i-ftp-dostupy-na-porte-10080-iz-za-hakerskoj-ugrozy</guid>
      <description><![CDATA[<p>Причина блокировки — версия атаки NAT Slipstreaming, найденная Сэми Камкаром: она давала доступ к портам внутренней сети через скрипты на сайте.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/google-chrome-zablokiroval-http-https-i-ftp-dostupy-na-porte-10080-iz-za-hakerskoj-ugrozy">Google Chrome заблокировал HTTP, HTTPS и FTP-доступы на порте 10080 из-за хакерской угрозы</a>»</p>]]></description>
      <category><![CDATA[Google]]></category>
      <category><![CDATA[Google Chrome]]></category>
      <category><![CDATA[Firefox]]></category>
      <category><![CDATA[Хакеры]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Информационная безопасность]]></category>
      <category><![CDATA[Уязвимость]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 09 Apr 2021 07:29:07 GMT</pubDate>
      <content:encoded><![CDATA[<p>В 2020 году специалист по кибербезопасности Сэми Камкар обнаружил новую версию NAT Slipstreaming атаки. С её помощью хакеры могли размещать на сайте вредоносные скрипты, которые отправляли специально созданный ответ в обход NAT брандмауэра пользователя. В результате, злоумышленники получали доступ к любому порту TCP/UDP в его внутренней сети.</p><figure><img src="https://media.tproger.ru/uploads/2021/04/1-7.png" alt="" /></figure><p>Уязвимость работает лишь на определённых портах. Это позволяет разработчикам браузеров оперативно блокировать те из них, которые могут быть задействованы в атаках на пользователей.</p><p>На данный момент Google уже заблокировала в Chrome FTP, HTTP и HTTPS доступы на портах 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 и 6566. А сейчас к ним добавился и порт 10080, который Firefox заблокировала и того раньше — в ноябре 2020 года.</p><figure><img src="https://media.tproger.ru/uploads/2021/04/Screenshot-2021-04-09-at-10.24.35.png" alt="" /><figcaption>Как ни странно, Safari тоже блокирует уязвимые порты</figcaption></figure><p>В отличие от ранее затронутых портов, блокировка 10080-го может стать проблемой. Всё потому, что часть разработчиков использует его в качестве альтернативы порту 80.</p><p>Для того, чтобы девелоперы могли и дальше работать с ним, участник команды Google Chrome Адам Райс добавит «корпоративную политику». Разработчики смогут использовать её для переопределения блока.</p><p>Источник: <a href="https://www.bleepingcomputer.com/news/security/google-chrome-blocks-port-10080-to-stop-nat-slipstreaming-attacks/#google_vignette">BleepingComputer</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Apple внедрила в бету iOS 14.5 защиту от слежки Google</title>
      <link>https://tproger.ru/news/apple-vnedrila-v-betu-ios-14-5-zashhitu-ot-slezhki-google</link>
      <comments>https://tproger.ru/news/apple-vnedrila-v-betu-ios-14-5-zashhitu-ot-slezhki-google?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/apple-vnedrila-v-betu-ios-14-5-zashhitu-ot-slezhki-google</guid>
      <description><![CDATA[<p>Запросы Safari к Google Safe Browsing в бете iOS 14.5 идут через сервер Apple, скрывая IP-адрес и местоположение пользователя.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/apple-vnedrila-v-betu-ios-14-5-zashhitu-ot-slezhki-google">Apple внедрила в бету iOS 14.5 защиту от слежки Google</a>»</p>]]></description>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[Google]]></category>
      <category><![CDATA[iOS]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Персональные данные]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Fri, 12 Feb 2021 14:06:11 GMT</pubDate>
      <content:encoded><![CDATA[<p>Журналисты издания The 8-Bit <a href="https://the8-bit.com/apple-proxies-google-safe-browsing-privacy/">обнаружили</a> очень интересную особенность новой беты iOS 14.5. Им удалось выяснить, что Apple внедрила в свою мобильную операционную систему защиту от пристальной слежки Google.</p><p>Речь идёт о новой схеме взаимодействия Safari с Google Safe Browsing. Если обычно, давая доступ к своей базе, Google также забирала часть данных о пользователе браузера, сейчас система работает иначе.</p><figure><img src="https://media.tproger.ru/uploads/2021/02/1-6.png" alt="" /><figcaption>Если сайт оказывается в чёрном листе Google Safe Browsing, пользователи видят подобную страничку</figcaption></figure><p>Apple начала проводить запрос через собственный сервер, тем самым скрывая IP-адрес и местонахождения пользователя, сделавшего его. Новое звено, добавленное купертиновцами, призвано защитить владельцев iOS-устройств от слежки Google.</p><p>Факт появления новой схемы в бета-версии iOS 14.5 подтвердил и глава разработки движка Safari — WebKit. Об этом Мацей Стаховяк <a href="https://twitter.com/othermaciej/status/1359736220809531393">написал</a> в своём Twitter-аккаунте.</p><p>Источник: <a href="https://the8-bit.com/apple-proxies-google-safe-browsing-privacy/">The 8-Bit</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Apple выпустила Chrome-расширение для переноса паролей, автоматически созданных в Safari</title>
      <link>https://tproger.ru/news/apple-vypustila-chrome-rasshirenie-dlja-perenosa-parolej-avtomaticheski-sozdannyh-v-safari</link>
      <comments>https://tproger.ru/news/apple-vypustila-chrome-rasshirenie-dlja-perenosa-parolej-avtomaticheski-sozdannyh-v-safari?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/apple-vypustila-chrome-rasshirenie-dlja-perenosa-parolej-avtomaticheski-sozdannyh-v-safari</guid>
      <description><![CDATA[<p>Расширение «Пароли iCloud» для Windows и macOS переносит сгенерированные в Safari пароли в браузер Google и синхронизирует новые записи обратно.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/apple-vypustila-chrome-rasshirenie-dlja-perenosa-parolej-avtomaticheski-sozdannyh-v-safari">Apple выпустила Chrome-расширение для переноса паролей, автоматически созданных в Safari</a>»</p>]]></description>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[Google Chrome]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 01 Feb 2021 17:50:53 GMT</pubDate>
      <content:encoded><![CDATA[<p>Компания Apple выпустила <a href="https://chrome.google.com/webstore/detail/icloud-passwords/pejdijmoenmkgeppbflobdenhhabjlaj">официальное расширение</a> «Пароли iCloud» для Windows и macOS версий Chrome. С его помощью пользователи смогут перенести сгенерированные в Safari пароли в браузер от Google.</p><p>При этом пароли, созданные в Chrome для Windows, также будут обратно синхронизироваться с iCloud. Таким образом, iPhone, iPad и MacBook разных моделей получат доступ к новым данным для входа, <a href="https://www.theverge.com/2021/1/31/22259720/apple-icloud-passwords-chrome-browser-extension-released">пишет</a> The Verge.</p><p>Что интересно, информация о скором появлении расширения утекла в сеть ещё на прошлой неделе. Тогда в описании нововведений iCloud для Windows 10 появилось упоминание «поддержки Chrome-расширения Пароли iCloud».</p><figure><img src="https://media.tproger.ru/uploads/2021/02/1-1.jpg" alt="" /><figcaption>Интерфейс расширения / Источник: Chrome Web Store</figcaption></figure><p>Источник: <a href="https://www.theverge.com/2021/1/31/22259720/apple-icloud-passwords-chrome-browser-extension-released">The Verge</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Исследование популярности браузеров: Chrome теряет аудиторию, Edge на Chromium за год взлетел</title>
      <link>https://tproger.ru/news/chrome-terjaet-auditoriju-edge-na-chromium-za-god-vzletel</link>
      <comments>https://tproger.ru/news/chrome-terjaet-auditoriju-edge-na-chromium-za-god-vzletel?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Сергей Почекутов]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/chrome-terjaet-auditoriju-edge-na-chromium-za-god-vzletel</guid>
      <description><![CDATA[<p>По данным StatCounter, доля Chrome на десктопах упала с 70,33% до 64,11%, Safari держит 11,68%, Firefox — 8,49%, а Edge вырос до 8,12%.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/chrome-terjaet-auditoriju-edge-na-chromium-za-god-vzletel">Исследование популярности браузеров: Chrome теряет аудиторию, Edge на Chromium за год взлетел</a>»</p>]]></description>
      <category><![CDATA[Браузеры]]></category>
      <category><![CDATA[Google Chrome]]></category>
      <category><![CDATA[Firefox]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 04 Jan 2021 06:31:02 GMT</pubDate>
      <content:encoded><![CDATA[<p>Как показывает исследование аналитической компании StatCounter, у Google Chrome в последние месяцы 2020 года значительно снизилось количество пользователей. Если в октябре гугловский браузер использовали на 70,33% десктопов, то в январе 2021 года этот показатель уже составляет 64,11%.</p><figure><img src="https://media.tproger.ru/uploads/2021/01/StatCounter-browser-ww-monthly-202001-202101.png" alt="" /></figure><p>Вторым по распространённости десктопным браузером остаётся Safari с долей 11,68%. На третьем месте расположился Firefox (8,49%). Четвёртым стал Edge, который после релиза на движке Chromium показал лучший рост — с 0% в январе 2020 года до 8,12% в январе 2021 года.</p><p>На мобильных устройствах тоже лидирует Chrome с долей 62,09%. Второе место за Safari — 24,98%, третьим стал Samsung Internet — 6,52%.</p><figure><img src="https://media.tproger.ru/uploads/2021/01/StatCounter-browser-ww-monthly-202001-202101-1.png" alt="" /></figure><p>Интересным выглядит падение популярности UC Browser — с 4,79% до 2,5%. Opera и Firefox в совокупности занимают ещё меньшую долю — 1,92% и 0,55% соответственно.</p>]]></content:encoded>
    </item>
    <item>
      <title>Раскрыты все нововведения Safari 14</title>
      <link>https://tproger.ru/news/safari-14-release-note</link>
      <comments>https://tproger.ru/news/safari-14-release-note?scrollTo=tproger-comments</comments>
      <dc:creator><![CDATA[Булат Яббаров]]></dc:creator>
      <guid isPermaLink="true">https://tproger.ru/news/safari-14-release-note</guid>
      <description><![CDATA[<p>Разработчики WebKit перечислили изменения браузера Apple: веб-расширения на HTML, CSS и JavaScript, поддержка WebP и перевод веб-страниц.</p><p>— Читать дальше «<a rel="follow" href="https://tproger.ru/news/safari-14-release-note">Раскрыты все нововведения Safari 14</a>»</p>]]></description>
      <category><![CDATA[Apple]]></category>
      <category><![CDATA[Браузеры]]></category>
      <category><![CDATA[Safari]]></category>
      <category><![CDATA[Новости]]></category>
      <slash:comments>0</slash:comments>
      <pubDate>Mon, 23 Nov 2020 09:41:19 GMT</pubDate>
      <content:encoded><![CDATA[<p>В блоге WebKit появился интересный пост, в котором разработчики перечислили все основные нововведения Safari 14. Напомним, что релиз новейшей версии браузера Apple состоялся еще 17 сентября на macOS Mojave и Catalina и 12 ноября на Big Sur.</p><p>И чем же должна удивить свежая версия Safari?</p><h2>Web Extensions</h2><p>В новой версии браузера появилась интересная «фишка» — веб-расширения, создаваемые при помощи максимально простых технологий: HTML, CSS и JavaScript. Именно благодаря использованию данного стека, компании удалось представить набор API для создания кроссбраузерных расширений минимальными средствами. О них, к слову, компания <a href="https://developer.apple.com/videos/play/wwdc2020/10665/">рассказала</a> ещё в рамках летней WWDC 2020.</p><h2>Перевод веб-страниц</h2><p>На всех устройствах, которые поддерживают Safari 14, появилась возможность переводить веб-страницы между английским, испанским, упрощённым китайским, французским, немецким, русским и бразильским португальским языками. Браузер автоматически определяет язык и предлагает перевод на основе пользовательских языковых предпочтений.</p><h2>Поддержка WebP</h2><p>Наконец-то Safari, как и прочие современные браузеры, научился работать с форматом WebP. Теперь абсолютно все основные приложения для выхода в интернет (будь то Google Chrome, Mozilla Firefox и т.д.) могут нормально работать и понимать формат, разработанный Google.</p><h2>Повышение производительности</h2><p>Ну и куда уж без обязательного пункта в релиз-ноуте любого уважающегося себя браузера — повышение производительности. В случае с Safari 14 показатели следующие: загрузка новых веб-страниц ускорилась на 13%, уже открытых ранее сайтов — 42-52%, при этом было ускорено и время закрытие вкладок: с 3,5 секунд до 50 миллисекунд.</p><p>Помимо всего вышеперечисленного, теперь на сайтах можно логиниться при помощи Face ID и Touch ID, появилась поддержка CSS-свойства image-orientation, во встроенный движок JavaScript добавили BigInt и т.д. Полный список нововведений Safari 14 можно найти в <a href="https://webkit.org/blog/11340/new-webkit-features-in-safari-14/">официальном блоге</a> WebKit.</p>]]></content:encoded>
    </item>
  </channel>
</rss>