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

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

  <channel>
    <title><![CDATA[Статьи]]></title>
    <link>https://habr.com/ru/users/infinity_coder/publications/articles/</link>
    <description><![CDATA[Хабр: статьи пользователя infinity_coder]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Sat, 02 May 2026 13:40:51 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[Что не пишут в документации Kotlin Contracts: тёмные закоулки и пасхалки]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/alfa/articles/917998/</guid>
      <link>https://habr.com/ru/companies/alfa/articles/917998/?utm_campaign=917998&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/b94/0de/419/b940de41964b0937db688ff34b22abac.jpg" /><p>Контракты в&nbsp;Kotlin&nbsp;— это «тёмная лошадка» языка —&nbsp;они загадочные и чуть-чуть магические. И под капотом у&nbsp;них спрятано гораздо больше, чем можно найти в&nbsp;официальной документации. </p><p>Привет! Меня зовут Виталий. Я работаю Android‑разработчиком в&nbsp;Альфа‑Банке. В&nbsp;этой статье я делюсь пасхалками и неожиданными фичами Kotlin компилятора, связанными с Kotlin Contracts: как парсится список эффектов, как работает новый Contracts API изнутри, и почему, чёрт возьми, на&nbsp;уровне компилятора можно использовать контракты не&nbsp;только на&nbsp;уровне функций.</p><p>Всё просто, лампово и с&nbsp;примерами из&nbsp;исходников. Даже если вы никогда не&nbsp;ковырялись в&nbsp;кишках компилятора, гарантирую: после прочтения контракты станут чуть ближе, а&nbsp;компилятор&nbsp;— чуть менее пугающим.</p> <a href="https://habr.com/ru/articles/917998/?utm_campaign=917998&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 03 Jul 2025 10:22:10 GMT</pubDate>
      <dc:creator><![CDATA[infinity_coder (Альфа-Банк)]]></dc:creator>
      <category><![CDATA[Блог компании Альфа-Банк]]></category><category><![CDATA[Компиляторы]]></category><category><![CDATA[Kotlin]]></category><category><![CDATA[Android]]></category>
      <category><![CDATA[kotlin]]></category><category><![CDATA[компилятор]]></category><category><![CDATA[compile]]></category><category><![CDATA[compiler]]></category><category><![CDATA[contracts]]></category><category><![CDATA[контракты]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Не хотите поговорить о Kotlin Contracts?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/alfa/articles/916536/</guid>
      <link>https://habr.com/ru/companies/alfa/articles/916536/?utm_campaign=916536&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/939/801/d62/939801d6219939a01b57b57ffb19cf13.jpeg" /><p>Привет! Меня зовут Виталий. Я&nbsp;— Android‑разработчик в&nbsp;Альфа‑Банке. За&nbsp;время собеседований я заметил одну любопытную вещь: даже опытные котлиноводы частенько не&nbsp;в&nbsp;курсе такой мощной фичи, как <strong>Kotlin Contracts</strong>.</p><p>В этой статье я закрою пробел и простым языком расскажу, как Contracts помогают компилятору лучше понимать ваши намерения и как с их помощью можно навести порядок там, где раньше приходилось полагаться на волю случая. Покажу не только рабочие примеры, но и открою внутреннюю кухню: разберёмся, как устроен Contracts DSL, какие эффекты доступны и что на самом деле происходит, когда вы даёте компилятору обещания.</p><p>Всё максимально честно, с живыми иллюстрациями и практическими советами. Даже если раньше вы смотрели на Contracts как на тайный клуб для избранных — после этой статьи они перестанут быть чем‑то пугающим. </p> <a href="https://habr.com/ru/articles/916536/?utm_campaign=916536&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 18 Jun 2025 11:40:16 GMT</pubDate>
      <dc:creator><![CDATA[infinity_coder (Альфа-Банк)]]></dc:creator>
      <category><![CDATA[Блог компании Альфа-Банк]]></category><category><![CDATA[Kotlin]]></category><category><![CDATA[Android]]></category>
      <category><![CDATA[kotlin]]></category><category><![CDATA[контракты]]></category><category><![CDATA[contracts]]></category><category><![CDATA[contract]]></category><category><![CDATA[effects]]></category><category><![CDATA[контракты в Kotlin]]></category><category><![CDATA[kotlin contracts]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Механизм экспорта растровых изображений в Figma: как изменяется качество изображения]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/778732/</guid>
      <link>https://habr.com/ru/articles/778732/?utm_campaign=778732&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/92f/ceb/440/92fceb4405cf1453f2d0701a79e4de00.png" /><p>Механизм <em>экспорта растровых изображений с масштабированием</em> в Figma полезен для разработчиков <em>Android</em> и <em>iOS</em>. Это связано с разной плотностью пикселей на экранах мобильных устройств. Для максимального использования возможностей устройств рекомендуется экспортировать изображения под конкретную плотность пикселей.</p><p>Android-разработчики при экспорте из Figma используют масштабирование <em>x1</em>, <em>x1.5</em>, <em>x2</em>, <em>x3</em> и <em>x4</em>. iOS-разработчики предпочитают <em>x1</em>, <em>x2</em> и <em>x3</em>. </p><p></p> <a href="https://habr.com/ru/articles/778732/?utm_campaign=778732&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Wed, 06 Dec 2023 05:08:07 GMT</pubDate>
      <dc:creator><![CDATA[infinity_coder]]></dc:creator>
      <category><![CDATA[iOS]]></category><category><![CDATA[Разработка мобильных приложений]]></category><category><![CDATA[Android]]></category><category><![CDATA[Дизайн мобильных приложений]]></category>
      <category>figma</category><category>экспорт</category><category>растровая и векторная графика</category><category>растр</category><category>android</category><category>ios</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Избегайте внедрения внешних библиотек в свой проект]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/523392/</guid>
      <link>https://habr.com/ru/articles/523392/?utm_campaign=523392&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Часто можно услышать фразу: «Зачем писать свой велосипед? Возьми готовую либу и пользуйся! За тебя уже все написали». Особенно часто подобные выражения слышат начинающие разработчики. При решении любой задачи они начинают смотреть готовые либы и бездумно тянуть их в свой проект. В этой статье Вы узнаете к каким последствиям может привести бездумное внедрение сторонних библиотек.<br> <a href="https://habr.com/ru/articles/523392/?utm_campaign=523392&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Wed, 14 Oct 2020 08:40:39 GMT</pubDate>
      <dc:creator><![CDATA[infinity_coder]]></dc:creator>
      <category><![CDATA[Программирование]]></category><category><![CDATA[Android]]></category>
      <category><![CDATA[android]]></category><category><![CDATA[libraries]]></category><category><![CDATA[андроид]]></category><category><![CDATA[программирование]]></category><category><![CDATA[андроид разработка]]></category><category><![CDATA[зависимости]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
