<?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/kiselioff/publications/articles/</link>
    <description><![CDATA[Хабр: статьи пользователя kiselioff]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Sun, 03 May 2026 09:52:19 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[[Перевод] Wireframe vs. mockup vs. prototype: в чем разница?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/815337/</guid>
      <link>https://habr.com/ru/articles/815337/?utm_campaign=815337&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/a2e/2e8/af6/a2e2e8af64bdc5a6be9d29ebc35ae13e.jpeg" /><p>От переводчика. <em>Привет! Цель перевода этой статьи проста - провести четкие границы между обозначенными выше терминами. При проектировании новых сценариев для B2B CRM я столкнулся с тем, что каждый человек в команде понимал "макет" или "прототип" по-своему. Также выяснилось разное понимание, кто в команде за какие технологии прототипирования должен отвечать. Я провел исследование материалов по теме и хочу поделиться тем материалом, после которого для меня "все встало по полочкам".</em></p> <a href="https://habr.com/ru/articles/815337/?utm_campaign=815337&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 20 May 2024 05:30:05 GMT</pubDate>
      <dc:creator><![CDATA[Kiselioff]]></dc:creator>
      <category><![CDATA[Веб-дизайн]]></category><category><![CDATA[Управление продуктом]]></category><category><![CDATA[Дизайн]]></category>
      <category>макет</category><category>прототип</category><category>эскиз</category>
    </item>
  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Принцип подстановки Барбары Лисков]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/739734/</guid>
      <link>https://habr.com/ru/articles/739734/?utm_campaign=739734&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/33e/136/68f/33e13668fe3dc9fa702ec8e126f6fbc2.jpg" /><p>Принципы проектирования SOLID были представлены Робертом Мартином в его книге “<a href="https://fi.ort.edu.uy/innovaportal/file/2032/1/design_principles.pdf" rel="noopener noreferrer nofollow"><em><u>Design Principles and Design Patterns</u></em></a>” в 2000 году. Эти принципы помогают нам создавать более гибкое программное обеспечение, которое легко понимать и обслуживать.&nbsp;</p><p>В этой статье мы обсудим “Принцип подстановки Барбары Лискофф”, который соответствует букве L в акрониме SOLID.</p><p></p> <a href="https://habr.com/ru/articles/739734/?utm_campaign=739734&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 05 Jun 2023 06:38:06 GMT</pubDate>
      <dc:creator><![CDATA[Kiselioff]]></dc:creator>
      <category><![CDATA[Программирование]]></category><category><![CDATA[Java]]></category><category><![CDATA[Качество кода]]></category><category><![CDATA[ООП]]></category>
      <category>наследование</category><category>проектирование</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Почему джуны могут получать в пять раз больше сениоров]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/678044/</guid>
      <link>https://habr.com/ru/articles/678044/?utm_campaign=678044&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/0dc/542/409/0dc54240986a7d0e3e741da73eaa6ad9.png" /><p>Читайте под катом:</p><p>Почему джун может получать в 5 раз больше сениора</p><p>Что определяет зарплату продакта</p><p>Какие субъективные критерии могут задавать уровень ЗП</p> <a href="https://habr.com/ru/articles/678044/?utm_campaign=678044&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Узнать подробности</a>]]></description>
      
      <pubDate>Mon, 08 Aug 2022 07:00:29 GMT</pubDate>
      <dc:creator><![CDATA[Kiselioff]]></dc:creator>
      <category><![CDATA[Управление разработкой]]></category><category><![CDATA[Управление проектами]]></category><category><![CDATA[Исследования и прогнозы в IT]]></category><category><![CDATA[Управление продуктом]]></category><category><![CDATA[Управление персоналом]]></category>
      <category><![CDATA[менеджер продукта]]></category><category><![CDATA[рекрутинг в it]]></category><category><![CDATA[hr-tech]]></category><category><![CDATA[hr-технологии]]></category><category><![CDATA[it-бренд работодателя]]></category><category><![CDATA[it-бренд]]></category><category><![CDATA[hr-brand]]></category><category><![CDATA[hr-бренд]]></category><category><![CDATA[рекрутмент в it]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Что tech-рекрутеры говорят анонимно:* найм продактов (Часть 2)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/678004/</guid>
      <link>https://habr.com/ru/articles/678004/?utm_campaign=678004&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/c2f/985/545/c2f985545139434fff624956b29e82be.jpg" /><p>Моим собеседником выступил рекрутер из сферы tech на российском и зарубежном рынках. Многие освещенные вопросы касаются не только продактов, а носят универсальный характер для tech, особенно, в первой части.</p><p>Читай во второй части:</p><p>1. Как кандидаты движутся по воронке найма?</p><p>2. В чем специфика подбора на&nbsp;b2b&nbsp;и&nbsp;b2c&nbsp;позиции. Что нужно знать и уметь кандидату?</p><p>3. Что не так с&nbsp;b2e&nbsp;продактами?</p> <a href="https://habr.com/ru/articles/678004/?utm_campaign=678004&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 01 Aug 2022 06:30:02 GMT</pubDate>
      <dc:creator><![CDATA[Kiselioff]]></dc:creator>
      <category><![CDATA[Управление разработкой]]></category><category><![CDATA[Управление проектами]]></category><category><![CDATA[Управление продуктом]]></category><category><![CDATA[Управление персоналом]]></category>
      <category><![CDATA[менеджер продукта]]></category><category><![CDATA[рекрутинг в it]]></category><category><![CDATA[hr-tech]]></category><category><![CDATA[hr-технологии]]></category><category><![CDATA[it-бренд работодателя]]></category><category><![CDATA[it-бренд]]></category><category><![CDATA[hr-brand]]></category><category><![CDATA[hr-бренд]]></category><category><![CDATA[рекрутмент в it]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Что tech-рекрутеры говорят анонимно (Часть 1)]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/677994/</guid>
      <link>https://habr.com/ru/articles/677994/?utm_campaign=677994&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/ca1/92d/820/ca192d8202caad89c8b05d1bc3343495.jpg" /><p>Привет! Ты можешь знать меня по java-публикациям. Время идет, и вот я уже продакт-менеджер. Недавно я ушел из одного крупного банка и сейчас активно прохожу собеседования на продакта. Хочу поделиться некоторыми наблюдениями, которые я сделал в этом процессе. Надеюсь, кому-то они помогут найти работу быстрее или наняться в более подходящее место, а кто-то просто узнает много того, что сам видел и улыбнется или всплакнет.&nbsp;</p><p>Моим собеседником выступил рекрутер из сферы tech на российском и зарубежном рынках. Мы начали с простого вопроса к рекрутерам, который однако вызывает достаточно раздражения и непонимания у кандидатов, а именно «<em>почему рекрутеры так часто пропадают</em>»? Затем углубились в контекст, чтобы понять, что там, «за ширмой» не так все просто.</p><p>Интервью получилось объемным и выйдет в трех частях. Следующие две части – в два следующих понедельника. Многие освещенные вопросы касаются не только продактов, а носят универсальный характер для tech, особенно, в первой части.</p><p>Что в первой части:</p><p>1. Почему рекрутер не отвечает </p><p>2. Как выглядит типичная воронка найма</p><p>3. Как рекрутеру, применяя школьную арифметику, выбрать оптимальную стратегию работы с кандидатами</p><p>4. Как отсутствие обратной связи кандидату влияет на&nbsp;hr-бренд (спойлер: никак)</p><p></p> <a href="https://habr.com/ru/articles/677994/?utm_campaign=677994&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Узнать подробности</a>]]></description>
      
      <pubDate>Mon, 25 Jul 2022 04:30:31 GMT</pubDate>
      <dc:creator><![CDATA[Kiselioff]]></dc:creator>
      <category><![CDATA[Управление разработкой]]></category><category><![CDATA[Управление проектами]]></category><category><![CDATA[Управление продуктом]]></category><category><![CDATA[Управление персоналом]]></category>
      <category><![CDATA[рекрутинг в it]]></category><category><![CDATA[hr-бренд]]></category><category><![CDATA[воронка найма]]></category><category><![CDATA[заработная плата]]></category><category><![CDATA[деловая коммуникация]]></category><category><![CDATA[it-бренд]]></category><category><![CDATA[it-бренд работодателя]]></category><category><![CDATA[hr-tech]]></category><category><![CDATA[hr-технологии]]></category>
    </item>
  

  

  

	
  

  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Контейнеры внедрения зависимостей и выгоды от их использования]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/350708/</guid>
      <link>https://habr.com/ru/articles/350708/?utm_campaign=350708&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<h3>От переводчика</h3><br>
Всем привет! Я продолжаю серию переводов, в которой мы по косточкам разбираем, что такое Dependency Injection.<br>
<br>
В <a href="#series">предыдущих статьях серии</a> речь шла о «внедрении зависимостей» как подходе к проектированию приложений и возможных способах реализации такого подхода. Были разобраны типы зависимостей, варианты их внедрения, давались советы по снижению связанности компонентов кода. <br>
<br>
В сегодняшнем переводе речь пойдет о том, что собой представляет DI-контейнер, его функциях, преимуществах использования и отличии от фабрик.<br>
<br>
<div style="text-align:center;"><img src="https://habrastorage.org/webt/s6/tr/ii/s6triigymr9y9-yns9vuo2pxs_q.jpeg"></div> <a href="https://habr.com/ru/articles/350708/?utm_campaign=350708&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше →</a>]]></description>
      
      <pubDate>Thu, 08 Mar 2018 06:19:43 GMT</pubDate>
      <dc:creator><![CDATA[Kiselioff]]></dc:creator>
      <category><![CDATA[Java]]></category><category><![CDATA[ООП]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Качество кода]]></category>
      <category>dependecy injection</category><category>inversion of control</category><category>container</category>
    </item>
  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Dependency injection]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/350068/</guid>
      <link>https://habr.com/ru/articles/350068/?utm_campaign=350068&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<h3>От переводчика</h3><br>
Представляемый вашему вниманию перевод открывает серию статей от Jakob Jenkov, посвященных внедрению зависимостей, или DI. Примечательна серия тем, что в ней автор, анализируя понятия и практическое применение таких понятий как «зависимость», «внедрение зависимостей», «контейнер для внедрения зависимостей», сравнивая паттерны создания объектов, анализируя недостатки конкретных реализаций DI-контейнеров (например, Spring), рассказывает, как пришел к написанию собственного DI-контейнера. Таким образом, читателю предлагается познакомиться с довольно цельным взглядом на вопрос управления зависимостями в приложениях. <br>
<br>
В данной статье сравнивается подход к настройке объектов изнутри и извне (DI). По смыслу настоящая статья продолжает статью Jakob Jenkov <a href="https://habrahabr.ru/post/349836/">Understanding Dependencies</a>, в которой дается определение самому понятию «зависимости» и их типам.<br>
<br>
<img src="https://habrastorage.org/webt/cr/hm/wq/crhmwqaja3fwrv-onkto3o6zpas.jpeg"><br> <a href="https://habr.com/ru/articles/350068/?utm_campaign=350068&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше →</a>]]></description>
      
      <pubDate>Tue, 27 Feb 2018 09:32:45 GMT</pubDate>
      <dc:creator><![CDATA[Kiselioff]]></dc:creator>
      <category><![CDATA[Java]]></category><category><![CDATA[ООП]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Качество кода]]></category>
      <category>dependencies</category><category>dependency injection</category>
    </item>
  

  

    

  

  

	
  

  
    <item>
      <title><![CDATA[[Перевод] Understanding Dependencies]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/349836/</guid>
      <link>https://habr.com/ru/articles/349836/?utm_campaign=349836&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<h3>От переводчика</h3><br>
<blockquote><i>Мы — внедрители. Мы должны внедрять, а не фантазировать!<br>
(Рина Зеленая, к/ф «Девушка без адреса»)<br>
</i></blockquote><br>
К переводу этой статьи меня побудили две причины: 1) желание лучше разобраться с фреймворком Spring, 2) небольшое количество источников по теме на русском языке. <br>
<br>
Краеугольный камень ООП — «внедрение зависимостей». Если описание процесса «внедрения» в целом, удовлетворительно, то объяснение понятия «зависимость» обычно оставляют за скобками. На мой взгляд, это существенное упущение.<br>
<br>
<img src="https://habrastorage.org/webt/sm/u3/p1/smu3p1e-wtarte9ibpgrbf-ye7e.jpeg"><br>
<br>
Чтобы не фантазировать, а внедрять, нужно сначала разобраться с тем, что мы внедряем. И в этом нам может помочь лаконичная статья Jakob Jenkov «Understanding Dependencies». Она будет полезна не только тем, кто пишет на Java, но и тем, кто пишет на других языках и следит за качеством проектирования приложений.<br>
<br>
<b>UPD: Я перевел еще одну статью Jakob Jenkov о зависимостях. Читайте на Хабре перевод статьи <a href="https://habrahabr.ru/post/350068/">Dependency Injection</a>, которая открывает одноименную серию статей и по смыслу продолжает данную статью. В статьях серии рассматриваются такие понятия как Dependency, Dependency Injection (DI), DI-контейнеры.</b><br>
<br> <a href="https://habr.com/ru/articles/349836/?utm_campaign=349836&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше →</a>]]></description>
      
      <pubDate>Sat, 24 Feb 2018 15:00:28 GMT</pubDate>
      <dc:creator><![CDATA[Kiselioff]]></dc:creator>
      <category><![CDATA[Java]]></category><category><![CDATA[ООП]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Качество кода]]></category>
      <category>dependencies</category><category>dependecy injection</category>
    </item>
  

  

    
    <item>
      <title><![CDATA[Arrays, Collections: Алгоритмический минимум]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/344288/</guid>
      <link>https://habr.com/ru/articles/344288/?utm_campaign=344288&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<h1>Arrays, Collections: Алгоритмический минимум</h1><br>
<h3>Массивы и списки</h3><br>
Недавно на собеседовании в крупную компанию на должность Java разработчика меня попросили реализовать стандартный алгоритм сортировки. Поскольку я никогда не реализовывал самописные алгоритмы сортировки, а пользовался всегда готовыми решениями, у меня возникли затруднения с реализацией. После собеседования я решил разобраться в вопросе и подготовить список основных алгоритмов сортировки и поиска, которые используются в стандартном пакете java — Java Collections Framework (JCF). Для этого я изучил исходники <a href="https://www.oracle.com/java/technologies/javase/7u80-relnotes.html" rel="nofollow noopener noreferrer">Oracle JDK 7.80</a> (<b>UPD</b>: добавлена ссылка).<br>
<br>
В самом обобщенном виде результат изучения представлен на рисунке. Подробности — в основном тексте.<br>
<br>
<img src="https://habrastorage.org/webt/3f/n9/d4/3fn9d4ftuvvtqmckrio0lqee5-8.png"><br>
<br>
<i>Рисунок 1. Методы Arrays, Collections и реализуемые ими алгоритмы</i><br> <a href="https://habr.com/ru/articles/344288/?utm_campaign=344288&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Sat, 09 Dec 2017 12:18:42 GMT</pubDate>
      <dc:creator><![CDATA[Kiselioff]]></dc:creator>
      <category><![CDATA[Java]]></category><category><![CDATA[Алгоритмы]]></category>
      <category><![CDATA[алгоритмы сортировки]]></category><category><![CDATA[алгоритмы поиска]]></category><category><![CDATA[java core]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
