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

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

  <channel>
    <title><![CDATA[Комментарии / Профиль sibprogrammer]]></title>
    <link>https://habr.com/ru/users/sibprogrammer/comments/</link>
    <description><![CDATA[Хабр: комментарии пользователя sibprogrammer]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Mon, 04 May 2026 08:01:45 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>20.10.2023 08:58:41 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/768730/#comment_26074976</guid>
      <link>https://habr.com/ru/articles/768730/#comment_26074976</link>
      <description><![CDATA[<p>+1 к Goodreads. Сам перешел на него после лет 10 использования Google Spreadsheets. Все описанные кейсы он решает. Интерфейс, конечно, не ахти. Но огромное количество книг и пользователей делают свое дело. По сути, это даже мини-соцсеть с друзьями, challenges и т.п.</p>]]></description>
      <pubDate>Fri, 20 Oct 2023 08:58:41 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>08.09.2023 08:12:58 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ru_mts/articles/759668/#comment_25943556</guid>
      <link>https://habr.com/ru/companies/ru_mts/articles/759668/#comment_25943556</link>
      <description><![CDATA[<blockquote><p>Машинное обучение без лишних слов</p><p>...</p><p>Книга написана лаконично, так что ничего лишнего там нет — и в издании всего 100 страниц.</p></blockquote><p>Выглядит так, что автор обзора не открывал книгу :) Из русского перевода даже выкинули фразу "100 page book".</p><p>Плюс, имхо, это точно не "первая книга, чтобы прочитать и погрузиться в тему". Очень много материала, очень сжато, с множеством формул и т.п. Книгой 3 или 4-ой, наверное, стоит читать.</p><p></p>]]></description>
      <pubDate>Fri, 08 Sep 2023 08:12:58 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>08.09.2023 08:08:11 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ru_mts/articles/759668/#comment_25943544</guid>
      <link>https://habr.com/ru/companies/ru_mts/articles/759668/#comment_25943544</link>
      <description><![CDATA[<p>Читал ряд книг по теме и больше всего понравилась "Grokking Machine Learning" (не путать с "Grokking Deep Learning"). В книге, имхо, отличный баланс между теорией, математикой и практическими примерами. Чувствуется, что у автора большой опыт преподавания -  старается донести так, чтобы читателю было максимально понятно. Поэтому именно "Grokking Machine Learning" рекомендовал бы в качестве первой книжки погружения в тему.</p>]]></description>
      <pubDate>Fri, 08 Sep 2023 08:08:11 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>16.06.2023 13:32:06 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/piter/articles/741996/#comment_25658064</guid>
      <link>https://habr.com/ru/companies/piter/articles/741996/#comment_25658064</link>
      <description><![CDATA[<blockquote><p>ничего специфического для bash я и не заметил в статье</p></blockquote><p>И тем не менее оно есть ) Писать алиасы qcd, тренироваться с dirs, pushd/popd, жать два раза tab и т.п. становится совершенно не нужно, если пользоваться zsh/ohmyzsh или тем же fish. </p><blockquote><p>сам перешел на fish, попробуйте может понравится больше чем zsh</p></blockquote><p>Пробовал и перешел в итоге на ohmyzsh :) Это не совсем про ванильный zsh. У fish были свои плюсы в том, что ряд фичей работал сразу "из коробки", но ребята с ohmyzsh порешали эти вопросы. </p><p></p>]]></description>
      <pubDate>Fri, 16 Jun 2023 13:32:06 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>15.06.2023 19:31:22 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/piter/articles/741996/#comment_25655454</guid>
      <link>https://habr.com/ru/companies/piter/articles/741996/#comment_25655454</link>
      <description><![CDATA[<p>Довольно странное впечатление от прочитанного: все больше это становится "музеем". Для написания скриптов на bash'е может еще и будет практическая польза. А вот для повседневной жизни, навигации и упрощения работы после ohmyzsh возвращаться обратно не особо виден смысл.</p>]]></description>
      <pubDate>Thu, 15 Jun 2023 19:31:22 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>15.06.2023 19:22:22 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/piter/articles/741996/#comment_25655428</guid>
      <link>https://habr.com/ru/companies/piter/articles/741996/#comment_25655428</link>
      <description><![CDATA[<p>Просто подождите немного, либо обратитесь в их техподдержку. Утверждения вида, что это "развод" и "предлагают читать только на сайте" - мягко говоря, неправда.</p>]]></description>
      <pubDate>Thu, 15 Jun 2023 19:22:22 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>02.04.2023 16:38:27 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/726438/#comment_25399222</guid>
      <link>https://habr.com/ru/articles/726438/#comment_25399222</link>
      <description><![CDATA[<p>Если вас интересует эта тема, то есть смысл посмотреть mrsk - <a href="https://github.com/mrsked/mrsk" rel="noopener noreferrer nofollow">https://github.com/mrsked/mrsk</a> Пилит его сам DHH (автор Rails).</p><p></p>]]></description>
      <pubDate>Sun, 02 Apr 2023 16:38:27 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>12.12.2022 12:11:09 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/mws/articles/704424/#comment_25000228</guid>
      <link>https://habr.com/ru/companies/mws/articles/704424/#comment_25000228</link>
      <description><![CDATA[<blockquote><p><a href="https://www.amazon.com/Building-Machine-Learning-Powered-Applications/dp/149204511X" rel="noopener noreferrer nofollow">Building Machine Learning Powered Applications: Going from Idea to Product</a></p></blockquote><ol><li><p>Уже есть <a href="https://www.piter.com/collection/all/product/sozdanie-prilozheniy-mashinnogo-obucheniya-ot-idei-k-produktu" rel="noopener noreferrer nofollow">перевод</a>. </p></li><li><p>Никакого отношения теме "красивого кода".</p></li><li><p>Книга на "горячую тему" весьма сомнительного содержания. Сложилось впечатление, что целевой аудиторией автор видел project manager'ов в вакууме, которые раньше ничего не запускали и тут первый их проект. Программисту она точно не понравится.</p></li></ol><p></p>]]></description>
      <pubDate>Mon, 12 Dec 2022 12:11:09 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>05.05.2022 02:12:27 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/664360/#comment_24319500</guid>
      <link>https://habr.com/ru/articles/664360/#comment_24319500</link>
      <description><![CDATA[<ul><li><p>Algorithms от Sedgewick'а (с вполне практичными примерами на Java)</p></li><li><p>Classic Computer Science Problems in Python (тоже практичней некуда, еще и владение Python'ом подкачаете)</p></li><li><p>Algorithms Design Manual от Skiena (имхо, одна из самых популярных рекомендаций в FAANG'ах)</p></li></ul>]]></description>
      <pubDate>Thu, 05 May 2022 02:12:27 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>08.10.2021 08:19:21 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/582218/#comment_23567948</guid>
      <link>https://habr.com/ru/companies/plesk/articles/582218/#comment_23567948</link>
      <description><![CDATA[<p>Если за последние 20 лет прочитать только пару классических книг, далеко не уедешь. Про "Thinking, fast and slow" (одну из моих самых любимых книг) лишь скажу, что она написана человеком, получившим Нобелевскую премию и имеющему огромный опыт в той области, о которой пишет. А комментарий "базовые положения [в ней] неверны" написаны анонимным пользователем интернета без каких-либо ссылок-пруфов. Идеи Канемана (автора книги) по-прежнему активно используют. Регулярные упоминания возникают и в разных докладах (на тех же TeamLead Conf'ах, например).</p><p>С неявным утверждением, что не стоит читать современные книги, я согласиться не могу :)</p>]]></description>
      <pubDate>Fri, 08 Oct 2021 08:19:21 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>08.10.2021 06:58:23 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/582218/#comment_23567568</guid>
      <link>https://habr.com/ru/companies/plesk/articles/582218/#comment_23567568</link>
      <description><![CDATA[<p>У нас, вероятно, с вами совершенно разные боли. В свете сильной ограниченности времени хочется начинать с максимально близких к текущей реалиям советов. Если у меня спросит техлид, что почитать, чтобы прокачать управленческие навыки, я буду советовать что-то из списка выше, например, "Мама, я тимлид!", а не Peopleware. Мне нравились книги Тома ДеМарко, но они больше в формате историй и написаны очень давно (а я здесь делал обзор современных книг). Фразы в духе "а вот в 1980 году было интересное исследование, которое показало ..." в нашей, весьма динамичной, индустрии воспринимаются довольно негативно. Кроме того, я ж не говорю, что их читать совсем не надо (плюс есть еще много довольно полезных книг общей направленности, которые в этот обзор не попали), но предлагаю их подвинуть вниз в списке чтения.</p>]]></description>
      <pubDate>Fri, 08 Oct 2021 06:58:23 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>04.06.2021 08:01:26 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/560686/#comment_23113902</guid>
      <link>https://habr.com/ru/companies/plesk/articles/560686/#comment_23113902</link>
      <description><![CDATA[<p>Есть еще пара практик, как новому тимлиду быстра набрать понимание контекста (или как передавать проекты новым тимлидам):</p><br>
<ol>
<li>Ревью задач, сделанных командой за последние 6-12 месяца. Садитесь со старым тимлидом или максимально осведомленным товарищем, идете по списку и обсуждаете какие были нюансы с той или иной задачей. Эти 1-2 дня анализа позволят понять, с какими трудностями сталкивалась команда в прошлом. </li>
<li>Ревью сотрудников, которые работают в команде. Идете по списку и обсуждаете каждого: какие интересы, сильные стороны, что обратить внимание, как зовут собаку, какое хобби и т.п. Сессия делается с предыдущим тимлидом или тем, кто передает дела. Если повезет, то у предыдущего менеджера будут личные записи о каждом сотруднике и он сможет раскрыть много деталей. Маша хоть и QA-инженер, но мечтает быть дизайнером, а Петя последнее время делает сильный упор на изучение Go, но задач пока таких нет и т.п. Пока вы сами это осознаете, пройдет куча времени. Потраченные 2-3 часа на ревью окупятся очень быстро.</li>
</ol>]]></description>
      <pubDate>Fri, 04 Jun 2021 08:01:26 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>18.05.2021 09:13:41 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/557830/#comment_23047648</guid>
      <link>https://habr.com/ru/companies/plesk/articles/557830/#comment_23047648</link>
      <description><![CDATA[<blockquote>Если основная причина непринятия Selenium — нестабильные тесты</blockquote><p>Нет, в первую очередь — это скорость разработки, стоимость поддержки и удобство. Наши тесты для Selenium были исторически на PHP. Как обычно, все вокруг за годы обросло <del>говном</del> вспомогательными инструментами, helper'ами и даже иерархиями классов :) Но даже если все это убрать и пробовать начинать с нуля в новом проекте, то все равно оказывается с Cypress'ом удобнее. Вы скажете, что это субъективщина и будете правы. В конце концов, мы же просто своим опытом делимся. </p><br>
<blockquote>Кроме того, а что насчет вендор-лока в Cypress?</blockquote><p>Он open source под MIT. Имхо, это не более опасный вендор-лок, чем с Selenium. В конце-концов, где-то ~2004-2005 мы выкинули e2e тесты на Perl'е и пошли в сторону Selenium. Иногда это вполне полезно — заменять внутренние инструменты, если прошлый инструмент перестал чем-то устраивать :)</p>]]></description>
      <pubDate>Tue, 18 May 2021 09:13:41 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>18.05.2021 08:41:51 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/557830/#comment_23047438</guid>
      <link>https://habr.com/ru/companies/plesk/articles/557830/#comment_23047438</link>
      <description><![CDATA[<p>Справедливости ради, у нас не только заблуждения по поводу Selenium, но и 15-летняя практика его использования с 2006 года, тысячи написаных тестов и несколько продуктов, которые подвергались тестированию им. Используем мы, конечно, и Selenoid для автопрогонов. Практика использования Cypress — примерно 2 года. Начинали эксперименты в рамках research days, далее были небольшие проекты и дошли до активного внедрения в основном продукте. Мы спрашивали внутри команды и люди реально говорят, что им нравится и удобно создавать тесты с использованием Cypress. Также мы пробовали писать тестами силами совершенно разных людей и время на погружение довольно маленькое, где не последнюю роль играет удобство отладки и all batteries included. </p><br>
<blockquote>Тут становится вообще непонятно, зачем разработчики ввязываются в инструмент с такими ограничениями.</blockquote><p>Наверное, потому что мы не искали целенаправлено &quot;что же не работает&quot;, а взяли некоторые текущие проекты и задачи и попробовали написать ряд тестов, чтобы увидеть плюсы и минусы именно в нашем контексте.</p><br>
<blockquote>Не обязательно. WebDriver – это протокол</blockquote><p>Чисто технически, Selenium WebDriver — это просто полное название продукта, который написан на Java. Так что в упомянутой фразе — все верно )</p>]]></description>
      <pubDate>Tue, 18 May 2021 08:41:51 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>27.04.2021 06:45:11 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/552998/#comment_22972224</guid>
      <link>https://habr.com/ru/companies/plesk/articles/552998/#comment_22972224</link>
      <description><![CDATA[<blockquote>Как вы пишете expects на моках? На моем проекте мы выносим их в переиспользуемые хелпер методы</blockquote><p>В зависимости от ситуации. Хелперы есть, прямое использование в рамках теста — тоже. Эволюционно мы пришли к мысли стараться в тестах делать как можно меньше абстракций и дополнительных слоев. В идеале — идея теста четко видна из кода тестового метода. Шанс, что мы наймем разработчика, знакомого с PHPUnit, очень высок, а вот шанс, что новый разработчик будет знаком с нашими доморощенными наворотами и абстракциями — равен нулю. Некоторое дублирование в рамках кода тестов — это вполне ок, если это улучшает их читабельность. В целом, стараемся это применять ко всем тестовым фреймворкам, которые используем.</p><br>
<blockquote>Пользуетесь ли вы withConsecutive</blockquote><p>Да. Не конкретно к этому методу, но в целом к мокам отошение следующее: чем их меньше, тем лучше :) </p><br>
<blockquote>МБ вы используете другую библиотеку моков, вроде phpspec/prophecy</blockquote><p>Нет, не используем.</p>]]></description>
      <pubDate>Tue, 27 Apr 2021 06:45:11 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>27.04.2021 03:27:02 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/552998/#comment_22971802</guid>
      <link>https://habr.com/ru/companies/plesk/articles/552998/#comment_22971802</link>
      <description><![CDATA[<p>У нас, собственно, тоже хватало таких моментов. Вводили базовый класс для TestCase, в нем setUp и по-тихоньку добавляли туда ClassA::setup/setInstance/init, а в tearDown уже ClassB::reset(), ClassC::reset() и т.п. С одной стороны, мест много. С другой стороны, начинаем с теста на какой-то конкретный метод и он уже имеет ограниченное количество зависимостей, стараемся &quot;добить&quot; и максимально изолировать этот метод. А далее, только упорство :)</p>]]></description>
      <pubDate>Tue, 27 Apr 2021 03:27:02 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>26.04.2021 14:11:10 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/552998/#comment_22969864</guid>
      <link>https://habr.com/ru/companies/plesk/articles/552998/#comment_22969864</link>
      <description><![CDATA[<p>Codeception все-таки не для unit-тестирования. То есть делать его, конечно, можно, но мне не очень понятно зачем. Попытки использования Codeception для написания acceptance-тестов (в виде BDD) у нас были и некоторое количество тестов осталось до сих пор. Очень сомнительно в плане долгосрочной поддержки, поэтому развивать не стали. Большая часть e2e на модифицированный PHPUnit/Selenium/WebDriver и сейчас делаем довольно масштабный переход на Cypress.</p><br>
<p>P.S. Последняя картинка в более высоком разрешении — <a href="https://habrastorage.org/webt/kz/ek/ay/kzekaym4io39v3hwigwxkref_n0.png" rel="nofollow noopener noreferrer">https://habrastorage.org/webt/kz/ek/ay/kzekaym4io39v3hwigwxkref_n0.png</a></p>]]></description>
      <pubDate>Mon, 26 Apr 2021 14:11:10 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>26.04.2021 13:54:17 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/552998/#comment_22969788</guid>
      <link>https://habr.com/ru/companies/plesk/articles/552998/#comment_22969788</link>
      <description><![CDATA[<p>Обычно со статическими методами нет никаких проблем с тестированием, пока это чистые функции (нет side effects) и нет использования других статических классов и методов.<br>
Проблема зависимости статического метода от других статических классов разбивается на подпроблемы. Первая подпроблема: возможность управлять поведением зависимого класса. Например, это некий класс Config, который в рамках работы приложения может вообще быть readonly. Но в рамках теста мы можем подсунуть другую (более управляемую) реализацию сманипулировав на includ'ах. Понятно, что потом уже класс Config уже потестить не получится. Поэтому чаще для таких классов добавляется возможность внешнего управления. Вторая подпроблема: созависимый класс все-таки очень хочется подменить mock'ом. Тут либо DI, либо runkit. Но лучше DI (для кодовой базы и развития лучше), хоть и более трудней добавлять.</p>]]></description>
      <pubDate>Mon, 26 Apr 2021 13:54:17 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>22.03.2021 13:44:21 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/548268/#comment_22834918</guid>
      <link>https://habr.com/ru/companies/plesk/articles/548268/#comment_22834918</link>
      <description><![CDATA[<p>Когда-то очень давно занимался редактированием аудио, микшированием и т.п. Мне в статье, внезапно, не хватило технических деталей. В каких программах делалось сведение, какое оборудование, на что писали, что со светом, чем управляете и т.п.?</p>]]></description>
      <pubDate>Mon, 22 Mar 2021 13:44:21 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>11.12.2020 11:20:54 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/plesk/articles/532402/#comment_22411802</guid>
      <link>https://habr.com/ru/companies/plesk/articles/532402/#comment_22411802</link>
      <description><![CDATA[<blockquote>И да, в упаковщиках тоже могут быть ошибки.</blockquote><p>В любом коде могут быть ошибки :) Что ж после этого код не писать и чужими наработками не пользоваться?</p><br>
<blockquote>Пока что да, на линуксе и антивирусы-то редко ставят.</blockquote><p>Можете глянуть в профиле мое место работы :) Я довольно хорошо в курсе насколько часто на Linux-серверах бывает DrWeb и Kaspersky. Но суть даже не в этом. Антивирусам прекрасно знакомы все более-менее популярные упаковщики и анализ выполняется распакованного кода.</p><br>
<blockquote>Тем более что код кроссплатформенный и не везде одинаково хорошо протестирован.</blockquote><p>Код там конкретный под каждую платформу/архитектуру. Кода относительно немного и он не такой магический, как может показаться на первый взгляд (говорю это в первую очередь в контексте ELF/Linux). Не хочу спорить кто и где хорошо или плохо протестирован. Но проект не вчера появился и является достаточно стабильным и популярным. Пользоваться ли им в своем проекте — решать вам. Но убеждать меня в том, что он глючит и плохо работает, а ближаший апдейт CentOS'а — рассыпется, немного странно. </p>]]></description>
      <pubDate>Fri, 11 Dec 2020 11:20:54 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

      

      

    
  </channel>
</rss>
