<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" >

  <channel>
    <title><![CDATA[Все посты подряд / Android / Хабр]]></title>
    <link>https://habr.com/ru/hubs/android_dev/posts/</link>
    <description><![CDATA[Android – пишем под самую популярную мобильную ОС]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Thu, 23 Apr 2026 11:51:46 GMT</pubDate>
    
    
      <image>
        <link>https://habr.com/ru/</link>
        <url>https://habrastorage.org/webt/ym/el/wk/ymelwk3zy1gawz4nkejl_-ammtc.png</url>
        <title>Хабр</title>
      </image>
    

    
      
        
    

  

  
  <item>
    <title><![CDATA[Пост @ant3mc — Голосовые интерфейсы (+2) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1026518/</guid>
    <link>https://habr.com/ru/posts/1026518/?utm_campaign=1026518&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p> Кому нужен качественный и бесплатный движок синтеза речи в Андроид (работает оффлайн, на уровне системы) ?</p><p> Недавно в Гугл Плей появилось приложение<br> BookFusion Voice <br>которое даёт возможность установить нейро-голоса Piper в качестве системных. Соответственно, они будут доступны в любых приложениях.<br> Русских голосов 4, но хорошего качества из них один- “Irina”  (звучит заметно лучше, чем стандартные от Гугл).</p><p> Есть небольшая проблема- если установить несколько голосов, то могут быть проблемы с выбором конкретного (это зависит от приложения, которое использует синтез).</p> <a href="https://habr.com/ru/posts/1026518/?utm_campaign=1026518&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 22 Apr 2026 11:10:19 GMT</pubDate>
    <dc:creator><![CDATA[ant3mc]]></dc:creator>
      
      <category><![CDATA[синтез речи]]></category><category><![CDATA[оффлайн]]></category><category><![CDATA[tts]]></category><category><![CDATA[android]]></category><category><![CDATA[piper]]></category><category><![CDATA[offline]]></category><category><![CDATA[accessibility]]></category><category><![CDATA[доступность]]></category><category><![CDATA[bookfusion voice]]></category><category><![CDATA[voice]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @MaxRokatansky — Блог компании OTUS (+4) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/otus/posts/1009498/</guid>
    <link>https://habr.com/ru/companies/otus/posts/1009498/?utm_campaign=1009498&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>5 бесплатных уроков марта для мобильных разработчиков</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/55f/cd0/17b/55fcd017ba2a4c4ddddda98397079179.png" width="1800" height="980"></figure><blockquote><p>12 марта 20:00<br><strong>&gt;&gt;</strong> <strong>Профессиональные модульные тесты в Android: как тесты улучшают код</strong><br><sup>Открытый вебинар&nbsp;</sup><a href="https://otus.pw/2659/" rel="noopener noreferrer nofollow"><sup>курса</sup></a><sup> «Android-разработчик. Продвинутый уровень»</sup><br>Урок о том, как писать в Android осмысленные модульные тесты для ViewModel, репозиториев и бизнес-логики, чтобы они не маскировали проблемы, а реально улучшали архитектуру и поддержку кода. <a href="https://otus.pw/0K4n/" rel="noopener noreferrer nofollow">Записаться на урок</a></p></blockquote><blockquote><p>18 марта 20:00<br><strong>&gt;&gt; Пишем простой проигрыватель на SwiftUI</strong><br><sup>Открытый вебинар&nbsp;</sup><a href="https://otus.pw/DMZA/" rel="noopener noreferrer nofollow"><sup>курса</sup></a><sup> «IOS-разработчик»</sup><br>Соберете на SwiftUI простой медиапроигрыватель с интерактивным интерфейсом, освоите работу с локальными аудио- и видеофайлами в iOS и наметите путь к интеграции внешних сервисов. <a href="https://otus.pw/7VAh/" rel="noopener noreferrer nofollow">Записаться на урок</a></p></blockquote><blockquote><p>19 марта 20:00<br><strong>&gt;&gt; Современная архитектура приложения и внедрение зависимостей</strong><br><sup>Открытый вебинар&nbsp;</sup><a href="https://otus.pw/EWYM/" rel="noopener noreferrer nofollow"><sup>курса</sup></a><sup> «Android-разработчик. Продвинутый уровень»</sup><br>Разберемся, как выстроить Android-приложение на основе чистой архитектуры, связать слои через MVVM и настроить внедрение зависимостей с помощью Koin без лишней магии. <a href="https://otus.pw/W7LgH/" rel="noopener noreferrer nofollow">Записаться на урок</a></p></blockquote><blockquote><p>23 марта 20:00<br><strong>&gt;&gt; Навигация Pro-уровня в SwiftUI: как строить масштабируемые iOS-приложения без хаоса в переходах</strong><br><sup>Открытый вебинар&nbsp;</sup><a href="https://otus.pw/7ekz/" rel="noopener noreferrer nofollow"><sup>курса</sup></a><sup> «IOS-разработчик. Продвинутый уровень»</sup><br>Как в SwiftUI проектировать навигацию без архитектурного хаоса: отделять переходы от интерфейса, управлять deep link и модальными экранами, строить масштабируемую структуру приложения. <a href="https://otus.pw/nDtd/" rel="noopener noreferrer nofollow">Записаться на урок</a></p></blockquote><blockquote><p>25 марта 20:00<br><strong>&gt;&gt; Как писать Flutter-код так, чтобы ИИ правильно его дописывал</strong><br><sup>Открытый вебинар&nbsp;</sup><a href="https://otus.pw/ZiSu/" rel="noopener noreferrer nofollow"><sup>курса</sup></a><sup> «Flutter-разработчик»</sup><br>Поймете, почему искусственный интеллект ошибается при генерации Flutter-кода, и освоите приёмы, которые улучшат подсказки, повысят читаемость проекта и ускорят дальнейшую разработку. <a href="https://otus.pw/he47/" rel="noopener noreferrer nofollow">Записаться на урок</a></p></blockquote><p><em>Еще больше бесплатных уроков от преподавателей курсов по всем ИТ-направлениям можно посмотреть </em><a href="https://otus.pw/wbzs/" rel="noopener noreferrer nofollow"><em>в календаре мероприятий.</em></a></p> <a href="https://habr.com/ru/posts/1009498/?utm_campaign=1009498&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 13 Mar 2026 07:06:24 GMT</pubDate>
    <dc:creator><![CDATA[MaxRokatansky (OTUS)]]></dc:creator>
      
      <category><![CDATA[подборка уроков]]></category><category><![CDATA[бесплатные уроки]]></category><category><![CDATA[онлайн-образование]]></category><category><![CDATA[мобильная разработка]]></category><category><![CDATA[Android]]></category><category><![CDATA[flutter]]></category><category><![CDATA[lifelong education]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Смартфоны (+4) — 10.03.2026 17:30]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1008670/</guid>
    <link>https://habr.com/ru/posts/1008670/?utm_campaign=1008670&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Открытый проект <a href="https://github.com/shiahonb777/web-to-app" rel="noopener noreferrer nofollow">WebToApp</a> позволяет превратить сайт в&nbsp;полноценное Android‑приложение прямо на&nbsp;саартфоне без&nbsp;ПК, Android Studio или&nbsp;знаний кодинга. Можно сделать приложение из&nbsp;обычного HTML‑сайта, React, Vue или&nbsp;Next.js. Также можно добавить иконку, включить блокировку рекламы и защиту приватности, тёмную тему, медиа‑инструменты и даже собственные скрипты.</p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/e3d/d25/c6d/e3dd25c6d1702c56d8c689dc7049ae99.png" width="1054" height="583"></figure> <a href="https://habr.com/ru/posts/1008670/?utm_campaign=1008670&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 10 Mar 2026 14:30:26 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[WebToApp]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Смартфоны (+4) — 09.03.2026 14:41]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/1008134/</guid>
    <link>https://habr.com/ru/posts/1008134/?utm_campaign=1008134&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Для&nbsp;Android вышло приложение‑брандмауэр <a href="https://github.com/AhmetCanArslan/ShizuWall" rel="noopener noreferrer nofollow">ShizuWall</a>, которое делает смартфон безопаснее: </p><ul><li><p>умеет полностью отключать доступ к&nbsp;интернету для&nbsp;выбранных приложений;</p></li><li><p>допускает к&nbsp;сети только избранные приложение;</p></li><li><p>запрещает фоновую интернет‑активность нежелательных приложений;</p></li><li><p>при&nbsp;этом никаких VPN‑туннелей и Root‑прав не&nbsp;требуется&nbsp;— всё работает из&nbsp;коробки;</p></li><li><p>бесплатно приложение на Kotlin доступно <a href="https://github.com/AhmetCanArslan/ShizuWall/releases/tag/v4.3" rel="noopener noreferrer nofollow">на&nbsp;GitHub</a>, есть версия и <a href="https://play.google.com/store/apps/details?id=com.arslan.shizuwall" rel="noopener noreferrer nofollow">в&nbsp;Google Play.</a></p></li></ul><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/bd0/644/86b/bd064486b2694443c43245f975fc1077.png" width="707" height="398"></figure> <a href="https://habr.com/ru/posts/1008134/?utm_campaign=1008134&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 09 Mar 2026 11:41:44 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[ShizuWall]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @AlfaTeam — Блог компании Альфа-Банк (+3) — 25.02.2026 12:08]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/alfa/posts/1003432/</guid>
    <link>https://habr.com/ru/companies/alfa/posts/1003432/?utm_campaign=1003432&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Как ускорить прогон с 3 часов до 12 минут?</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/7fb/898/1ae/7fb8981ae34730463309239e666e5078.png" width="780" height="436"></figure><p>Когда в Android-проекте ≈800 модулей и 37 000 unit-тестов, полный прогон на CI легко превращается в полдня ожидания. У нас было ровно так: больше 3 часов на полный запуск &nbsp;— и ощущение, что локально это вообще не вариант. А потом команда нашла настоящие причины тормозов и довела прогон до 12 минут.</p><p>В статье <a href="https://habr.com/ru/companies/alfa/articles/993352/" rel="noopener noreferrer nofollow">«37 000 unit-тестов против Gradle: как мы добились 12-минутного прогона»</a> конкретная инженерная история без магии. Приглашаем к чтению Android-разработчиков, техлидов и тех, кто отвечает за CI/скорость поставки. Тут много идей, которые можно примерить на себя!</p><p>Делитесь вашими подходами к решению проблем производительности в комментах)</p> <a href="https://habr.com/ru/posts/1003432/?utm_campaign=1003432&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 25 Feb 2026 09:08:04 GMT</pubDate>
    <dc:creator><![CDATA[AlfaTeam (Альфа-Банк)]]></dc:creator>
      
      <category><![CDATA[unit-tests]]></category><category><![CDATA[gradle]]></category><category><![CDATA[mockk]]></category><category><![CDATA[performance optimization]]></category><category><![CDATA[android]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @AlfaTeam — Блог компании Альфа-Банк (+2) — 24.02.2026 11:19]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/alfa/posts/1002912/</guid>
    <link>https://habr.com/ru/companies/alfa/posts/1002912/?utm_campaign=1002912&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Ахиллесова пята SharedPreferences</strong></p><p>Статья про то, о чём не спрашивают на собесeдованиях и не рассказывают на курсах по Android-разработке — о неявной особенности Android, которая влияет на деградацию производительности и приводит к невоспроизводимым ANR в вашем приложении.</p><p>SharedPreferences часто используют «по привычке» — сохранить токен, флажок, пару строк. Но в какой-то момент это начинает тормозить интерфейс и даже приводить к ANR, особенно если запись/чтение происходит не там и не тогда, где вы ожидаете. Автор делится измерениями производительности, показывает, как деградация превращается в потерю кадров при переходах между экранами, а затем сравнивает варианты.</p><a href="https://habr.com/ru/companies/alfa/articles/991556/" target="_blank" rel="noopener noreferrer nofollow" class="embed_link embed_layout-right"><div class="embed__thumb" style="background-image: url(&quot;https://habrastorage.org/getpro/habr/upload_files/f8c/d1a/a80/f8cd1aa808857f0d643926687626a216.png&quot;);"></div><div class="embed__caption"><div class="embed__caption-title"><span>Ахиллесова пята SharedPreferences и стоит ли внедрять Datastore как альтернативу</span></div><div class="embed__caption-description">В этой статье я расскажу то, о чём не спрашивают на собесeдованиях и не рассказывают на курсах по An...</div><span class="embed__caption-host">habr.com</span></div></a><p>Эта статья будет особенно интересна Android-разработчикам и тимлидам, которые уже сталкивались с мистическими ANR, просадками перформанса и фризами на слабых девайсах, а также тем, кто держит в приложении много сторонних SDK и хочет понимать, как неявные записи в SharedPreferences могут незаметно копить нагрузку.</p><p>Читайте статью <a href="https://habr.com/ru/companies/alfa/articles/991556/" rel="noopener noreferrer nofollow">«Ахиллесова пята SharedPreferences и стоит ли внедрять Datastore как альтернативу»</a></p> <a href="https://habr.com/ru/posts/1002912/?utm_campaign=1002912&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 24 Feb 2026 08:19:03 GMT</pubDate>
    <dc:creator><![CDATA[AlfaTeam (Альфа-Банк)]]></dc:creator>
      
      <category><![CDATA[SharedPreferences]]></category><category><![CDATA[Datastore]]></category><category><![CDATA[ANR]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Облачные сервисы (+3) — 08.01.2026 17:58]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/983638/</guid>
    <link>https://habr.com/ru/posts/983638/?utm_campaign=983638&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Клиент YouTube для Android под названием <a href="https://github.com/prateek-chaubey/YTPro" rel="noopener noreferrer nofollow">Download YT PRO</a> весит всего 60 кБ (48 кБ в архиве). Приложение не требует Root-прав, убирает рекламу, даже спонсорскую. Видео не ставится на паузу, если свернуть приложение или заблокировать экран. Есть встроенный загрузчик видео и шортсов. Добавлен ИИ Gemini, который сразу сделает саммари даже часовых лекций и выдаст факты и советы по контенту.</p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/f6e/dba/c08/f6edbac08769401d75c52072e48c28c0.png" width="688" height="876"></figure> <a href="https://habr.com/ru/posts/983638/?utm_campaign=983638&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 08 Jan 2026 14:58:03 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[Download YT PRO]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @ant3mc — Android (+1) — 25.12.2025 18:31]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/980598/</guid>
    <link>https://habr.com/ru/posts/980598/?utm_campaign=980598&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>  Не нравится скроллить длинные тексты, поэтому искал веб-браузер для Андроид, в котором можно перелистывать  касаниями. Поиск и нейросети подсказали несколько вариантов, из которых часть оказалась  устаревшей или просто ошибочной. К примеру- в Mozila Firefox была такая встроенная возможность , но её убрали.<br> С остальными дело такое-</p><ol><li><p>У Firefox есть много расширений, среди них нашёл подходящий режим чтения с перелистыванием. Однако оно работало плохо .</p></li><li><p>EinkBro. Его пришлось ставить из APK. Тоже глючил.</p></li><li><p>UC Browser. Обещают такую функцию. Из Гугл Плей его удалили, но  в магазине Xiaomi он есть.  Среди разрешений требует возможность изменять системные настройки. Поэтому решил не устанавливать.</p></li></ol><p> 4. Наконец нашёл Via Browser. Очень маленький, но с богатыми настройками, среди них можно назначить на "длительные нажатия" на стандартные элементы  интерфейса( к примеру, на "вперёд") разные действия на выбор. Среди них есть и перелистывание.<br> Кроме того Via поддерживает скрипты и в режиме чтения очень хорошо сохраняет уже переформатированный текст( с крупным шрифтом) в PDF и MHT( даже сложные статьи с  Хабра).</p> <a href="https://habr.com/ru/posts/980598/?utm_campaign=980598&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 25 Dec 2025 15:31:14 GMT</pubDate>
    <dc:creator><![CDATA[ant3mc]]></dc:creator>
      
      <category><![CDATA[Android]]></category><category><![CDATA[веб-браузеры]]></category><category><![CDATA[чтение]]></category><category><![CDATA[доступность]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Смартфоны (+4) — 09.12.2025 05:15]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/974688/</guid>
    <link>https://habr.com/ru/posts/974688/?utm_campaign=974688&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>В Telegram заработала система входа в аккаунт через Passkey, но только для российских номеров телефона. Ключевое преимущество Passkeys — возможность войти в аккаунт в одно касание, не вводя номер телефона и одноразовый код. </p><p>Как создать ключ: </p><ul><li><p>Убедитесь, что у вас последняя версия мессенджера (Android — 12.2.10; iOS — 12.2.3). </p></li><li><p>Как и вход по почте, новую функцию нужно предварительно настроить. Для этого откройте <em>Настройки › Конфиденциальность › Ключи доступа</em>. </p></li><li><p>Если пункт «Ключи доступа» отсутствует, то эта опция недоступна для вашего аккаунта. На текущий момент Passkeys доступны только для аккаунтов, к которым привязан российский номер. </p></li><li><p>Нажмите «Добавить ключ доступа» и подтвердите его создание. </p></li><li><p>Устройство может запросить код экрана блокировки или биометрию, чтобы разблокировать хранилище ключей. </p></li><li><p>Созданный ключ появится в списке.</p></li></ul><p> Как войти с помощью ключа: </p><ul><li><p>На актуальной версии Telegram для Android или iOS приложение автоматически предложит выбрать ключ доступа для входа. </p></li><li><p>Если это не происходит, через несколько секунд под заголовком «Номер телефона» появится ссылка «используйте ключ доступа», на которую следует нажать. </p></li><li><p>Нажатие на кнопку запустит ваш менеджер паролей, который предложит выбрать ключ, проверит вашу личность по лицу, отпечатку пальца либо PIN-коду экрана блокировки, а затем передаст выбранный ключ мессенджеру. </p></li><li><p>Ключ доступа выполняет функции как номера телефона, так и одноразового кода подтверждения одновременно.</p></li><li><p>Если вы включили двухфакторную авторизацию для аккаунта, вам потребуется ввести свой облачный пароль, который вы задали самостоятельно.</p></li></ul><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/0f7/1ab/5e6/0f71ab5e636eecfdefcf769e543a0fbc.jpg" width="2560" height="1920"></figure> <a href="https://habr.com/ru/posts/974688/?utm_campaign=974688&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Tue, 09 Dec 2025 02:15:23 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[telegram]]></category><category><![CDATA[passkey]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @denis-19 — Информационная безопасность (+4) — 08.12.2025 05:02]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/974312/</guid>
    <link>https://habr.com/ru/posts/974312/?utm_campaign=974312&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>В Telegram появилась опция авторизации через ключи доступа. Новая функция для Android и iOS под названием Passkey позволит входить в аккаунт без дополнительных подтверждений в виде СМС-кодов и паролей. Активировать ключи доступа можно в разделе «Конфиденциальность». Чтобы подключить функцию, нужно создать ключ и подтвердить личность с помощью сканирования лица (Face ID), отпечатка пальца (Touch ID) или код-пароля. Созданный Passkey будет храниться на устройстве. Функция поможет обойти ограничения при регистрации в мессенджере.</p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/db3/639/e0a/db3639e0a3860b3a6b3a23f812ac2a18.png" width="612" height="548"></figure> <a href="https://habr.com/ru/posts/974312/?utm_campaign=974312&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 08 Dec 2025 02:02:21 GMT</pubDate>
    <dc:creator><![CDATA[denis-19]]></dc:creator>
      
      <category><![CDATA[passkey]]></category><category><![CDATA[telegram]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @BHV_publishing — Блог компании Издательство БХВ (+2) — 14.11.2025 12:44]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/bhv_publishing/posts/966436/</guid>
    <link>https://habr.com/ru/companies/bhv_publishing/posts/966436/?utm_campaign=966436&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Здравствуйте, уважаемые читатели. Обращаем ваше внимание, что в блоге SSP-Soft вышел детальный обзор нашей новой книги о технологии <a href="https://habr.com/ru/companies/ssp-soft/articles/964728/" rel="noopener noreferrer nofollow">Jetpack Compose</a> для Android. Jetpack Compose (в книге разобрана версия 1.6) - это передовой инструментарий для Kotlin-разработчиков, предназначенный для проектирования и модернизации пользовательских интерфейсов, рассчитанных именно на работу с мобильными устройствами. В книге также рассмотрены основы языка Kotlin для Android и работа с Android Studio. Заказывайте <a href="https://bhv.ru/product/osnovy-jetpack-compose-razrabotka-prilozhenij-dlya-android-s-pomoshhyu-jetpack-compose-android-studio-i-kotlin/" rel="noopener noreferrer nofollow">книгу</a> у нас на сайте и читайте с удовольствием! </p><p>P.S. Эта книга - одна из наших лучших находок в области англоязычного самиздата, однако нас в целом интересует тема разработки на Kotlin. Если у вас есть гитхаб с черновиками, либо вы прямо сейчас готовите рукопись - не стесняйтесь написать об этом Валентину Холмогорову <a class="mention" href="/users/holmogorov">@Holmogorov</a>, Олегу Сивченко <a class="mention" href="/users/olegsivchenko">@OlegSivchenko</a>или просто в личные сообщения в этом блоге.</p><p>Спасибо вам за ваш интерес и Сергею Березину <a class="mention" href="/users/sergbe">@sergbe</a>за вышеупомянутую рецензию. </p> <a href="https://habr.com/ru/posts/966436/?utm_campaign=966436&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 14 Nov 2025 09:44:32 GMT</pubDate>
    <dc:creator><![CDATA[BHV_publishing (Издательство БХВ)]]></dc:creator>
      
      <category><![CDATA[jetpack]]></category><category><![CDATA[kotlin]]></category><category><![CDATA[мобильная разработка]]></category><category><![CDATA[ui]]></category><category><![CDATA[книги по программированию]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @Finam_Broker — Графический дизайн (+3) — N/P]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/finam_broker/posts/959806/</guid>
    <link>https://habr.com/ru/companies/finam_broker/posts/959806/?utm_campaign=959806&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Как я сделал blur и линзу в Jetpack Compose</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/981/6c2/08f/9816c208f3e4bec10a26454d49ef84d0.jpeg" width="1480" height="1000"></figure><p>Всем привет! Меня зовут Владимир, я мобильный разработчик в «Финам». В одном из недавних проектов нужно было добавить в интерфейс Jetpack Compose визуальные эффекты поверх контента, например размытый хедер или движущуюся «лупу».&nbsp;</p><p>Обычно такие приемы встречаются в играх, где весь экран — это фактически полотно для рисования OpenGL. В классической XML-разметке UI я с таким не сталкивался, поэтому пришлось довольно глубоко погрузиться во внутреннюю кухню Compose. Этот разбор может быть полезен тем, кто решает похожие задачи.</p><p>Сначала на Stack Overflow я нашел <a href="https://stackoverflow.com/questions/79513919/how-to-use-rendernode-in-jetpack-compose-to-create-frosted-glass-blur" rel="noopener noreferrer nofollow">неплохой пример</a> создания эффекта размытия на определенном участке экрана — к сожалению, это решение не было универсальным и зависело от верстки. Однако мое внимание привлекли два класса из фреймворка: <a href="https://developer.android.com/reference/android/graphics/RenderNode" rel="noopener noreferrer nofollow">RenderNode</a> и <a href="https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/layer/GraphicsLayer" rel="noopener noreferrer nofollow">GraphicsLayer</a>.&nbsp;</p><p>Если коротко, можно захватить часть экрана через GraphicsLayer, а в RenderNode записать контент. Но перед этим его можно обработать. После обработки метод drawWithContent() выводит результат в canvas.&nbsp;</p><p>Сначала я попытался модифицировать эффект размытия из ответа на Stack Overflow, затем сделал размытие в форме круга, который движется вслед за пальцем, и постепенно пришел к окончательному варианту с движущейся прозрачной линзой. Код для отрисовки эффекта я показал <a href="https://habr.com/ru/companies/finam_broker/articles/924802/" rel="noopener noreferrer nofollow">в статье</a>.</p><p>В результате можно получить эффект линзы, которая будет перемещаться за пальцем, если водить им по экрану.&nbsp;</p><p>Какие выводу я могу сделать:</p><ul><li><p>в Compose можно делать крутые визуальные эффекты, если покопаться в RenderNode;</p></li><li><p>это неочевидный, но мощный инструмент, он дает простор для кастомизации.</p></li></ul><p>Мой пример не самый изобретательный, но способ, <a href="https://habr.com/ru/companies/finam_broker/articles/924802/" rel="noopener noreferrer nofollow">который я показал</a>, открывает почти безграничные возможности для реализации визуальных эффектов в Android-разработке, чем мы в «Финам» и пользуемся очень активно в наших финтех-проектах. Итоговый результат оформил <a href="https://github.com/puritanin/ComposeRenderTest" rel="noopener noreferrer nofollow">в GitHub-репозитории</a> — берите и пробуйте в своих проектах.</p> <a href="https://habr.com/ru/posts/959806/?utm_campaign=959806&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 25 Oct 2025 11:00:30 GMT</pubDate>
    <dc:creator><![CDATA[Finam_Broker (Финам)]]></dc:creator>
      
      <category><![CDATA[kotlin]]></category><category><![CDATA[GraphicsLayer]]></category><category><![CDATA[RenderNode]]></category><category><![CDATA[UI effects]]></category><category><![CDATA[Blur effect]]></category><category><![CDATA[мобильная разработка]]></category><category><![CDATA[кастомные компоненты]]></category><category><![CDATA[графика в программировании]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @AlfaTeam — Блог компании Альфа-Банк (+4) — 24.10.2025 14:45]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/alfa/posts/959886/</guid>
    <link>https://habr.com/ru/companies/alfa/posts/959886/?utm_campaign=959886&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Открываем набор на бесплатное обучение по IT-направлениям по программе Альфа-Будущее Кампус</strong></p><p>Открываем новый набор на обучение по разным IT-направлениям в рамках образовательной программы&nbsp;<strong>Альфа-Будущее Кампус</strong>:&nbsp;</p><ul><li><p><strong><a href="https://bit.ly/4qolQNV" rel="noopener noreferrer nofollow">QA</a></strong></p></li><li><p><strong><a href="https://bit.ly/42UcJdW" rel="noopener noreferrer nofollow">Android-разработка</a></strong></p></li><li><p><strong><a href="https://bit.ly/47KQ45B" rel="noopener noreferrer nofollow">Бизнес-анализ</a></strong></p></li><li><p><strong><a href="https://bit.ly/4o9LMvs" rel="noopener noreferrer nofollow">Системный анализ</a></strong></p></li></ul><p>Сроки программ — от 3 месяцев до полугода, за которые вы научитесь создавать современные цифровые продукты под руководством ведущих экспертов Альфа-Банка в разработке, системной аналитике, QA и бизнес-аналитике.</p><p>Выбирайте курс, переходите по ссылке, изучайте программу и подавайте заявку. Успейте присоединиться до 27 октября! ❤️</p><blockquote><p><strong>Обучение бесплатно.</strong></p></blockquote><p>А если хотите узнать, есть ли польза от курсов, как проходит обучение (на примере факультета аналитики), и подойдет ли вам онлайн-обучение IT-специальности, читайте нашу статью по ссылке ниже. На примере факультета системной аналитики рассказали, как готовится программа, как проводятся собеседования с людьми и помогло ли ученикам обучение:</p><a href="https://habr.com/ru/companies/alfa/articles/695442/" target="_blank" rel="noopener noreferrer nofollow" class="embed_link embed_layout-right"><div class="embed__thumb" style="background-image: url(&quot;https://habrastorage.org/getpro/habr/upload_files/fce/e95/20b/fcee9520b8b73b13f09f1df2dec3f5b0.png&quot;);"></div><div class="embed__caption"><div class="embed__caption-title"><span>Можно ли стать аналитиком, отучившись в онлайн-школе?</span></div><div class="embed__caption-description">С каждым годом в наших командах появляется всё больше перспективных тестировщиков, разработчиков и а...</div><span class="embed__caption-host">habr.com</span></div></a> <a href="https://habr.com/ru/posts/959886/?utm_campaign=959886&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 24 Oct 2025 11:45:43 GMT</pubDate>
    <dc:creator><![CDATA[AlfaTeam (Альфа-Банк)]]></dc:creator>
      
      <category><![CDATA[обучение]]></category><category><![CDATA[курсы]]></category><category><![CDATA[альфа кампус]]></category><category><![CDATA[системный анализ]]></category><category><![CDATA[тестирование]]></category><category><![CDATA[андроид разработка]]></category><category><![CDATA[бизнес-анализ]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @AlfaTeam — Блог компании Альфа-Банк (+2) — 16.10.2025 09:31]]></title>
    <guid isPermaLink="true">https://habr.com/ru/companies/alfa/posts/957014/</guid>
    <link>https://habr.com/ru/companies/alfa/posts/957014/?utm_campaign=957014&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Разбор полётов: вся правда о падениях Android-приложений</strong></p><figure class="full-width "><img src="https://habrastorage.org/getpro/habr/upload_files/47a/9c3/101/47a9c310197e9eb5e5ac6b0723b080fd.jpg" width="780" height="436"></figure><p>Почему Android-приложение вылетает с ошибкой и что на самом деле происходит под капотом? Абакар, главный технический лидер разработки в Альфа-Банке, раскрывает наглядно и увлекательно этапы срабатывания необработанных исключений: от простого деления на ноль до глубоких слоёв архитектуры Android</p><p>В статье <a href="https://habr.com/ru/companies/alfa/articles/950280/" rel="noopener noreferrer nofollow">«Почему моё Android-приложение крашится?»</a> — понятные пошаговые разборы, примеры реальных трейс-лодов, ссылки на исходный код Android и даже инсайты, почему приложение лучше сразу завершить, чем пытаться спасти после критической ошибки.</p><p>Идеально для разработчиков, которые хотят разобраться в механике аварийных завершений своих приложений, настроить обработку ошибок и узнать, как глобальные обработчики реально работают в Android.</p> <a href="https://habr.com/ru/posts/957014/?utm_campaign=957014&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Thu, 16 Oct 2025 06:31:49 GMT</pubDate>
    <dc:creator><![CDATA[AlfaTeam (Альфа-Банк)]]></dc:creator>
      
      <category><![CDATA[crash]]></category><category><![CDATA[андроид]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @thank_accept — Android (+1) — 29.09.2025 16:59]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/951764/</guid>
    <link>https://habr.com/ru/posts/951764/?utm_campaign=951764&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Вспомнил холивары на первой работе на тему: что такое Activity?</strong><br><br>Тогда, среди Android-разработчиков, в моде была MVC и общение было примерно такое:<br><br>"Activity - это контроллер" -  говорили одни.<br><br>"Activity - это вью" -  говорили другие.<br><br>"Activity - это модель" -  <span class="habrahidden">так к сожалению никто не говорил, иначе было бы еще интереснее 😁</span><br><br>Позиции противоположные и бескомпромиссные, противостояние зацикливалось и вызывало бурю эмоций. Пока не договорились <span class="habrahidden">(читай как одни продавили других) </span><br><br><strong>Кто из них прав?</strong> <br><br>Никто. <br><br>Или и те и другие.<br><br><strong>Правильный же ответ такой:<br></strong><br>Я создатель приложения и какую роль я дам этому классу(Activity) такую он и будет выполнять.<br><br>Это если смотреть со стороны архитектуры приложения.<br><br>А если смотреть со стороны OS Android, то Activity - это интерфейс через который пользовательское приложение взаимодействует с операционной системой.<br><br>Вот и всё :)<br><br>P.S. <span class="habrahidden">А какие холивары вспоминаются вам?)</span><br><br></p> <a href="https://habr.com/ru/posts/951764/?utm_campaign=951764&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Mon, 29 Sep 2025 13:59:48 GMT</pubDate>
    <dc:creator><![CDATA[thank_accept]]></dc:creator>
      
      <category><![CDATA[android]]></category><category><![CDATA[activity]]></category><category><![CDATA[mvc]]></category><category><![CDATA[архитектура]]></category><category><![CDATA[холивар]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @thank_accept — Читальный зал (+3) — 26.09.2025 18:08]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/951062/</guid>
    <link>https://habr.com/ru/posts/951062/?utm_campaign=951062&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Пост о том как я разработчиков нанимал, история из жизни :)<br><br>Однажды мне написали из IT-компании что занимается разработкой решений для бизнеса под ключ, в общем аутсорс, и попросили меня помочь им с наемом.<br><br>У меня большой опыт в мобильной разработке, в основном нативный Android приправленный мультиплатформой на Compose Multiplatform и Flutter.<br><br>Руководитель компании попросил меня помочь сформировать команду Android-разработки на доработку и поддержку достаточно масштабного и сложного проекта X.<br><br>Проект тащил свое приятное но от того не менее сложное Legacy: многомодульность, Clean Architecture, DI, MVVM, Kotlin, Coroutines, Flow работа с БД и клиент-серверное взаимодействие - в общем популярный набор современного бизнес-приложения. <br><br>Строго говоря у меня было две задачи: <br>1. Помочь джуниору разобраться в проекте чтобы он мог уже что-то делать<br>2. Набрать команду нативных Android-разработчиков<br><br>Условия усложнялись тем, что компания что до этого разрабатывала проект не очень-то шла на контакт и обе стороны принимали друг-друга в штыки. По этому сам проект и задачи передавались со скрипом и негативными эмоциями, "проект теперь ваш, вот вы и разбирайтесь, мы сделали конфетку, там все понятно" - говорили одни, "у нас команда профессионалов и задачи задерживаются потому что вы написали чрезмерно сложный недо-код" - говорили другие, а владелец продукта говорил-  "ничего не волнует делайте как хотите за все уплочено" (бизнес и конкуренция как ни крути 😁)<br><br>На тот момент у компании уже было пару молодых Android-джуниоров и мидл на других проектах, плюс один на проекте X, и хотелось нанять еще крепких мидлов, сеньера, и парочку стажеров на проект. Эмоции эмоциями, а работа должна быть сделана, и чтобы ее сделать нужны люди способные её сделать за приемлемый оклад и другие печеньки от компании.<br><br>Ситуацию в целом обрисовал.. (хотя ситуация конечно масштабнее там еще и менеджмент с загонкой джунов и эйчар структура направленная на формирование командного духа и внутреннего обучения.. ( как я вижу из своего опыта и то и другое скорее мешает чем помогает в моменты когда надо работу работать и должно быть сделано еще вчера ). Вот хорошая метафора пришла: ситуация как в "Лебедь, Рак и Щука", воз - это работа, а все остальные это Лебедь, Рак и Щука.)<br><br>Идем дальше:<br><br>Эйчары стали лить на меня трафик из соискателей на должность Android-разработчика. И на протяжении 2-х недель я каждый день собеседовал по 2-3 кандидата, иногда 1-го. Уровень у всех очень отличался. Приходили как совсем свежие пирожки прямо после курсов, так и уже матерые обкатанные на серьезных проектах колобки. У меня был стек проекта и потому вопросы тоже считай были сформированы, диалог строился так: Привет-привет, расскажи про свой опыт, и от этого опыта погнали ветвиться по темам в сторону нужных компетенций и стека. С кем-то укладывались в 30-минут, с кем-то залипали на 2 часа. Т.е. с кем-то шли дальше в глубину, а с кем-то прошли по верхам и на этом все. <br><br>По одному только времени общения можно судить про уровень подготовки, если бы не одно но - попадались ребята подкованные на язык, они хорошо отвечали по темам, но это все пустые слова из документации не подкрепленные реальным опытом.<br><br>Чтобы как-то передавать то что я узнавал в процессе собеседования о кандидатах, мы ввели оценку, грубо говоря число от 1 до 5, насколько человек подходит на проект + моя рекомендация. Дальше уже другие люди делали какой-то оффер на работу, или не делали.<br><br>В итоге за 2 недели мы наняли 5 человек, + тот разработчик что изначально был на проекте с моей (и божьей) помощью вкатился в проект и начал работу по задаче.<br><br>На этом история не закончилась, их ждал неизбежный онбординг, притирка и командообразование, но это уже совсем другая история.. <br><br>Я еще пару недель занимался онбордингом на проекте + выступал адвокатом разработчиков + переводчиком с менеджерского на разработческий и обратно, та еще задачка 😁. <br><br>1-н нанятый стажер в итоге не потянул и отвалился, остальные 5-ро продолжили работу, уже без меня, а я отправился дальше :)<br><br></p> <a href="https://habr.com/ru/posts/951062/?utm_campaign=951062&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Fri, 26 Sep 2025 15:08:13 GMT</pubDate>
    <dc:creator><![CDATA[thank_accept]]></dc:creator>
      
      <category><![CDATA[кейс]]></category><category><![CDATA[история]]></category><category><![CDATA[наем]]></category><category><![CDATA[собеседования]]></category><category><![CDATA[опыт]]></category><category><![CDATA[онбординг]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @thank_accept — Android (+4) — 21.09.2025 19:46]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/949126/</guid>
    <link>https://habr.com/ru/posts/949126/?utm_campaign=949126&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>Проблема:</strong> Кадровый голод по специалистам, и при этом рекордные количества откликов на вакансии.</p><p><strong>Причина:</strong> Плохая воронка наема специалиста (по аналогии с воронкой продаж, хорошие воронки способствуют продажам, а плохие нет), читай как - существующий процесс наема не помогает нанять специалиста, притом что специалистов на рынке более чем достаточно.</p><p><strong>Общее решение:</strong> Изменить процесс наема так чтобы он помогал нанять специалиста для решения задач бизнеса.</p><p><strong>Конкретные варианты решения:</strong></p><ol><li><p>Использовать зарекомендовавшие себя решения в других воронках\процессах получения чего-либо. Например сарафанное радио и нетворкинг, кумовщину и рефералки, при этом отказаться от существующих фильтров в пользу доверия на старте.</p></li><li><p>Устранить причину мешающую текущему процессу наема. Например сократить цепочку ЛПР-ов на пути соискателя до оптимума. </p><p><span class="habrahidden">(Сейчас это авто-скрипт, эйчар(или ряд эйчаров), собеседующий специалист(или ряд специалистов), представитель команды(или ряд представителей), опционально тут еще какие-то посредники, и вот тут уже можно выйти на работу и работать 😁. Причем на каждом этапе у лже-ЛПР-ов есть цель отсеять человека на основании формального фильтра. Тогда как лучшие работники обычно "неформалы" ибо они про работу работать как Стив Возняк, а не про продукт(себя) продавать как Стив Джобс. Очевидно что не каждая птица долетит даже до середины.. 😢)</span></p><p>Оптимум - это ван ту ван, один ЛПР-соискатель на одного ЛПР-нанимателя. Собеседовать можно сколько угодно, но в конце один ответственный человек собирает всю информацию в кучу <span class="habrahidden">(и это не оценки и выжимки специалистов, а прям сесть и посмотреть портфолио,  видео собеседования, пересказ нейронки прочитать как минимум по этому видео, переписку, на свою текущую ситуацию по задачам и срокам посмотреть и т.д.)</span> и на основе всех имеющихся данных принять полноценное решение.</p><p>ЛПР - это тот кто принимает решение что считает лучшим на этот момент, а не тот который работает по прописанному скрипту <span class="habrahidden">(иначе это не ЛПР, а человек которого настоящий ЛПР назначил отрабатывать строго по скрипту 😜)</span>.</p></li><li><p>Устранить еще одну причину мешающую процессу наема. Например монолитность условий для прохождения собеседования. Можно искать пол жизни рыцаря на белом коне, до момента когда ни конь ни рыцарь уже будут не нужны, а можно взять то что само приползло и докрутить его под свои хотелки уже здесь и сейчас <span class="habrahidden">(то что само приползло должно быть согласно на докрутку, чтобы ни одно живое существо не пострадало в процессе наема 😁).</span></p></li></ol><p>P.S. <span class="habrahidden">Все 3 варианта решения на самом деле про одно и то же, только заход с разных сторон: убрать не то что мешает обрабатывать заявки на чиле, в пол уха, левой пяткой, а убрать то что действительно мешает нанять сотрудника для решения конкретных задач. (Да стало много спама, ну и что? Разве то что много спама говорит о том что среди спама нет специалистов способных делать работу? Нет. Как раз таки в этом и заключается задача\работа нанимателя - нанять сотрудника в этих конкретных условиях. Ну да, придется поработать. Соискатель, наниматель и работодатель в одной лодке как ни крути, если кто-то не хочет грести, то далеко ли уплывет такая лодка?🛶)</span></p><p>Хорошего дня, наема и трудоустройства!</p><p>Обнял 🤗</p> <a href="https://habr.com/ru/posts/949126/?utm_campaign=949126&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sun, 21 Sep 2025 16:46:49 GMT</pubDate>
    <dc:creator><![CDATA[thank_accept]]></dc:creator>
      
      <category><![CDATA[работа]]></category><category><![CDATA[наем]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @thank_accept — Android (+4) — 20.09.2025 17:25]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/948902/</guid>
    <link>https://habr.com/ru/posts/948902/?utm_campaign=948902&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Дело не в том как ты проходишь собеседование</p><p>Дело в том хочет человек тебя нанять или нет</p><p>Т.е. проходишь ты дальше или нет основывается не на твоих желаниях и знаниях, а на желаниях и знаниях собеседующего</p><p>Так что не парься, будь счастлив 😁</p><p>Воспринимай собеседования не как путь именно к этой работе, а как путь к чему-то вообще :)<br><br>В любом случае этот шаг делает тебя на шаг ближе к цели<br><br>Если ты не прошел собес, то выбор простой: сражайся с этим или наслаждайся этим, и даже если сражаешься, то насладись сражением 😁<br><br>P.S. <span class="habrahidden">И так во всём..</span></p> <a href="https://habr.com/ru/posts/948902/?utm_campaign=948902&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sat, 20 Sep 2025 14:25:35 GMT</pubDate>
    <dc:creator><![CDATA[thank_accept]]></dc:creator>
      
      <category><![CDATA[размышления]]></category><category><![CDATA[собеседования]]></category><category><![CDATA[путь]]></category><category><![CDATA[поиск работы]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @thank_accept — Читальный зал (+3) — 10.09.2025 09:21]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/945520/</guid>
    <link>https://habr.com/ru/posts/945520/?utm_campaign=945520&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p>Я проснулся, делал зарядку и размышлял о поиске работы, и вот что я осознал:</p><p>Эйчары не понимают бизнес.</p><p>Бизнес не понимает эйчаров.</p><p>Эйчары не понимают технарей.</p><p>Технари не понимают эйчаров.</p><p>Бизнес не понимает технарей.</p><p>Технари не понимают бизнес.</p><p>Как следствие - эйчары нанятые бизнесом чтобы нанять непонятных для них технарей, нанимают еще хуже чем нанял бы бизнес, потому что эйчары не понимают ни бизнес, ни технарей. <br><br>Делегирование делегированием, а эффективность эффективностью.</p><p><strong>Еще:</strong></p><p>Бизнес конкурирует с бизнесом.</p><p>Эйчары конкурируют с эйчарами.</p><p>Технари конкурируют с технарями.<br><br>И все конкурируют со всеми.</p><p>Как следствие - на технических собесах технари с обеих сторон стремятся доминировать друг над другом. Так как решение о наеме принимает собеседующая сторона, то она имеет преимущество над соискателем и ему приходится подстраиваться. <br><br>Как следствие, на технических собеседованиях не может быть никакой объективной оценки, идеальный кандидат здесь - не человек который решает реальные задачи, а человек который идеально подстраивается под собеседующих. <br><br>И служит такое техническое собеседование больше не для того чтобы помочь бизнесу решить свои задачи, а для того чтобы не пустить сильных конкурентов в команду и набрать более слабых и лояльных конкурентов, согласных и похожих на человека собеседующего. Это работает на подсознательном уровне.</p><p><strong>Выводы:</strong></p><p>Собеседования которые проводит не "бизнес" - не помогают бизнесу найти нужных людей, а наоборот мешают ему это сделать.</p><p>Бизнес который делегирует наем рано или поздно оказывается в положении "свой среди чужих, чужой среди своих", фактически самым ценным ресурсом компании - людьми - теперь владеет не Бизнес, а Технарь и HR.</p><p>Такие дела.<br><br><strong>Вот еще интересные мысли о наеме, с которых все началось:</strong><br><br>Бизнес строит воронку наема, из эйчаров и технарей, в несколько этапов, и вроде все логично, происходит отсев неподходящих и выбор подходящих.<br><br>Первичный отсев простейший и почти не требует затрат. Затраты начинаются на этапе собеседований. Фактически компания тратит силы, время и деньги на каждое собеседование.<br><br>Понимают ли они то что происходит во всей полноте? Похоже что нет, иначе процесс был бы устроен другим образом.<br><br>А происходит следующее: соискатель приходит на собеседование, обучается на нем правильно отвечать на вопросы, если проходит то устраивается на работу, если не проходит, то идет на следующее собеседование, и так пока не устроится.<br><br>Т.е. фактически компания которая дала отказ соискателю, затратила ресурсы, обучила соискателя, и передала его другой компании. Вот что происходит на самом деле.<br><br>В итоге человек все равно будет работать и решать технические задачи что ставит компания, иначе он и не пошел бы на собес в эту компанию, но, делать это он будет в другой компании.<br><br>А теперь вернись к началу, вероятно теперь станет понятно откуда взялись такие тезисы :)<br><strong><br>P.S.</strong> Похоже всё это не является проблемой только потому, что получается микро-коммунизм в  наеме. Одна компания обучает соискателей для другой, и та в свою очередь делает так же. По сути работает не система наема в компании, а побочные эффекты от нескольких систем наема разных компаний.<br><br><span class="habrahidden"><strong>Откуда такие мысли:</strong><br><br>Я уже 12 лет как в теме, и устраивался на работу сам, и искал людей на свои проекты, и собеседовал как технарь(в Android разработке) на проекты бизнеса. В общем я пощупал этого слона с разных сторон, и теперь когда я снова в активном поиске - это сложилось в объемную картину.</span></p> <a href="https://habr.com/ru/posts/945520/?utm_campaign=945520&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Wed, 10 Sep 2025 06:21:07 GMT</pubDate>
    <dc:creator><![CDATA[thank_accept]]></dc:creator>
      
      <category><![CDATA[наем]]></category><category><![CDATA[hr]]></category><category><![CDATA[hr-процесс]]></category><category><![CDATA[hr-технологии]]></category><category><![CDATA[осознание]]></category><category><![CDATA[инсайт]]></category><category><![CDATA[бизнес]]></category><category><![CDATA[бизнес-процессы]]></category><category><![CDATA[технарь]]></category><category><![CDATA[android development]]></category>
  </item>
  

	
  

  

  

    

  

  
  <item>
    <title><![CDATA[Пост @KonishchevDmitry — Android (+2) — 07.09.2025 12:53]]></title>
    <guid isPermaLink="true">https://habr.com/ru/posts/944712/</guid>
    <link>https://habr.com/ru/posts/944712/?utm_campaign=944712&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
    <description><![CDATA[<p><strong>WhatsApp сканирует сеть?</strong></p><p>Совершенно случайно наткнулся на интересное:</p><p>У меня дома стриггерился алерт: мой домашний сервачок (он же роутер) помимо всего прочего отслеживает количество уникальных от-forward'енных <code>$src_ip + $dst_ip + $dst_port</code> – и алертит, когда их количество превышает некоторый порог.</p><p>И вот за последние сутки с моего телефона + телефона жены 2560 + 4082 уникальных пар <code>$dst_ip + $dst_port</code> (где <code>602x22</code> ниже – это соединения на 22 порт на 602 разных IP-адреса):</p><pre><code>kate-mobile.lan (4082 IP+port pairs): 3117 TCP (1534x443, 602x22, 261x80, 237x554, 220x53, 29x23, 28x983, 21x553, 20x179, 12x1443, 9x5222, 6x5228, 4x4460, 4x21, 2x571, 2x9243, 2x240, 2x383, 2x185, 2x260, 2x299, 2x237, 2x336, 2x131, 2x512, 1x464, 1x734, 1x4416, 1x371, 1x10, 1x863, 1x895, 1x759, 1x815, 1x178, 1x830, 1x271, 1x838, 1x707, 1x629, 1x174, 1x1003, 1x894, 1x3237, 1x887, 1x962, 1x603, 1x855, 1x241, 1x494, 1x540, 1x181, 1x352, 1x454, 1x373, 1x654, 1x56, 1x646, 1x175, 1x876, 1x810, 1x556, 1x395, 1x483, 1x697, 1x212, 1x34, 1x588, 1x348, 1x605, 1x680, 1x460, 1x401, 1x224, 1x143, 1x161, 1x104, 1x655, 1x872, 1x521, 1x459, 1x911, 1x705, 1x317, 1x377, 1x807, 1x323, 1x893, 1x866, 1x142, 1x1001, 1x170, 1x920, 1x843, 1x209, 1x463, 1x156, 1x569, 1x952, 1x701, 1x184, 1x597, 1x389, 1x647, 1x8543, 1x487, 1x624, 1x537, 1x814, 1x259, 1x578, 1x26, 1x904, 1x751, 1x652, 1x795, 1x234, 1x671, 1x45, 1x4477, 1x307, 1x635, 1x651, 1x227, 1x806, 1x752, 1x203, 1x220, 1x582, 1x568, 1x153, 1x844, 1x402), 965 UDP (379x443, 278x53, 116x554, 83x123, 38x22, 22x23, 7x2002, 6x983, 4x179, 2x4123, 2x512, 2x21, 2x553, 1x363, 1x652, 1x654, 1x1003, 1x299, 1x307, 1x377, 1x680, 1x807, 1x804, 1x966, 1x685, 1x240, 1x463, 1x655, 1x806, 1x45, 1x383, 1x336, 1x153, 1x260, 1x28, 1x241, 1x603)
mobile.lan (2560 IP+port pairs): 1899 TCP (814x443, 405x22, 171x554, 168x80, 160x53, 23x983, 18x179, 18x1443, 15x23, 10x553, 9x5222, 6x21, 5x7275, 3x5228, 2x19302, 1x759, 1x37, 1x629, 1x685, 1x581, 1x582, 1x10000, 1x142, 1x250, 1x846, 1x125, 1x872, 1x657, 1x8543, 1x604, 1x90, 1x727, 1x567, 1x911, 1x739, 1x810, 1x4477, 1x866, 1x26, 1x491, 1x10, 1x156, 1x626, 1x178, 1x422, 1x977, 1x155, 1x12, 1x402, 1x683, 1x21007, 1x306, 1x595, 1x184, 1x4416, 1x472, 1x14, 1x904, 1x166, 1x165, 1x753, 1x988, 1x4434, 1x11, 1x28, 1x317, 1x622, 1x535, 1x718, 1x686, 1x637, 1x207, 1x244, 1x153, 1x7000, 1x8443, 1x966, 1x383, 1x5223, 1x985, 1x161, 1x994, 1x395, 1x898, 1x39, 1x592, 1x6447), 661 UDP (307x443, 168x53, 81x554, 36x123, 24x22, 10x23, 6x983, 6x179, 4x19302, 3x553, 3x21, 1x153, 1x685, 1x626, 1x155, 1x592, 1x19000, 1x491, 1x306, 1x472, 1x125, 1x8443, 1x28, 1x966)
</code></pre><p>Поставил себе <a href="https://play.google.com/store/apps/details?id=com.emanuelef.remote_capture" rel="noopener noreferrer nofollow">PCAPdroid</a> на телефон, и выяснилось, что WhatsApp (я им совсем не пользуюсь – установлен по необходимости):</p><ul><li><p>За последний месяц съел 23 MB Wi-Fi трафика.</p></li><li><p>За <strong>сегодняшний день</strong> съел 92 MB Wi-Fi трафика.</p></li><li><p>Постоянно открывает соединения на разные IP и всякие мутные порты (ssh, ntp, ftp).</p></li></ul><p>Хотелось бы верить, что это какая-то очередная защита от блокировок или вроде того, но, учитывая недавние истории про <a href="https://habr.com/ru/articles/915732/" rel="noopener noreferrer nofollow">слежку за пользователями на Android</a>, что-то не очень верится. :)</p><p>Как-то более глубоко исследовать эту ситуацию, честно говоря, нет желания (да и наверняка он подобными сканированиями занимается только изредка, чтобы не привлекать к себе лишнего внимания) – поэтому всё выше написанное исключительно JFYI, без каких-либо интересных подробностей.</p><p>P.S.: Большая просьба не воспринимать это как очередную рекламу в пользу всем известного мессенджера, который сейчас активно продвигается – все совпадения случайны.</p> <a href="https://habr.com/ru/posts/944712/?utm_campaign=944712&amp;utm_source=habrahabr&amp;utm_medium=rss">Читать дальше &rarr;</a>]]></description>
      
    <pubDate>Sun, 07 Sep 2025 09:53:18 GMT</pubDate>
    <dc:creator><![CDATA[KonishchevDmitry]]></dc:creator>
      
      <category><![CDATA[безопасность]]></category><category><![CDATA[сканирование портов]]></category><category><![CDATA[слежка за пользователями]]></category>
  </item>
  

	
  

  

  

      

      

      

    
  </channel>
</rss>
