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

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

  <channel>
    <title><![CDATA[Комментарии / Профиль rusty_fox]]></title>
    <link>https://habr.com/ru/users/rusty_fox/comments/</link>
    <description><![CDATA[Хабр: комментарии пользователя rusty_fox]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Sat, 02 May 2026 17:27:17 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>16.12.2023 15:26:28 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/779512/#comment_26273514</guid>
      <link>https://habr.com/ru/articles/779512/#comment_26273514</link>
      <description><![CDATA[<p>Считаю, что если к собеседованию нужно готовиться - а тем более, готовиться несколько месяцев - процесс найма не может считаться хорошим. Сейчас полно специально обученных людей и курсов, которые учат проходить собеседования, а не дают хотя бы минимальные академическое знания. Человек, который учился проходить собеседования будет уметь проходить собеседования. А дальше - как повезет.</p><p>Проведу аналогию со обучением студентов. Экзамен, который должен рассматриваться как срез знаний, проверка того, что человек выучил, давно дискредитировал себя. Что важнее - проверить, какие знания получил человек за год в учёбы или как хорошо он зазубрил билеты и научился на них отвечать? Очевидно, система образования должна делать упор на первое. Собственно, гуглы и их подражатели превратили собеседование в экзамен к которому можно/нужно подготовиться. Отражает ли он реальную пригодность кандидатов? Как повезет.</p><p>Человек, который умеет быстро разобраться в сложной ситуации может не иметь никакого отношения к академическим знаниям в точных науках - буквально месяц назад собеседовал бывшего следователя, который переквалифицировался в разработчика - невероятно острый ум и чёткая логика при отсутствии богатого прикладного опыта.</p><p>Статья выглядит не как развенчивание мифов, а как оправдание. Тезис о том, что нанимают ровно тех, кого надо - лукавство. Но понять вас могу - я бы тоже так сказал. Иначе придётся признать систему найма неэффективной, а труды высоких умов с тысячами лет человеко-часов напрасными. </p><p></p>]]></description>
      <pubDate>Sat, 16 Dec 2023 15:26:28 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>25.10.2023 15:28:48 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/timeweb/articles/769844/#comment_26092494</guid>
      <link>https://habr.com/ru/companies/timeweb/articles/769844/#comment_26092494</link>
      <description><![CDATA[<p>Опять квизы под вопросы замаскировали. Ну, такое. На любителя. </p>]]></description>
      <pubDate>Wed, 25 Oct 2023 15:28:48 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>18.07.2022 02:37:09 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/677340/#comment_24536118</guid>
      <link>https://habr.com/ru/articles/677340/#comment_24536118</link>
      <description><![CDATA[<p>Да, можно. Это сложно и неудобно, но можно так сделать. А всё потому, что при использовании оператора pivot со списком итоговые данные, по сути, должны быть развёрнуты из двухмерного представления в n-мерное. Как это должно выглядеть в таблице - честно, ума не приложу.  Похоже, не один я - Oracle, к примеру, прибегает к помощи XML. </p><p></p>]]></description>
      <pubDate>Mon, 18 Jul 2022 02:37:09 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>09.03.2022 10:13:12 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/651965/#comment_24148047</guid>
      <link>https://habr.com/ru/articles/651965/#comment_24148047</link>
      <description><![CDATA[<p>Не говоря уже о том, что писать и через join, и через запятую - это вообще что-то страшное. Да еще и с такими именами-алиасами, которые даже для примеров лучше никогда не использовать.</p>]]></description>
      <pubDate>Wed, 09 Mar 2022 10:13:12 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>30.12.2021 09:55:15 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/598611/#comment_23887659</guid>
      <link>https://habr.com/ru/articles/598611/#comment_23887659</link>
      <description><![CDATA[<blockquote><p>Низкий порог в SQL эти иллюзия</p></blockquote><p>Порог вхождения != знание языка в целом. Легкие запросы научиться писать легко, языковых конструкций и ключевых слов не много, синтаксис тривиальный. Сложности начинаются много позже.</p><blockquote><p>с преподавателем курсов по DBA/SQL PostgreSQL</p></blockquote><p>Вашего преподавателя зовут <s>Том Кайт</s> Майкл Стоунбрейкер? Отдает каким-то бахвальством, честное слово.</p>]]></description>
      <pubDate>Thu, 30 Dec 2021 09:55:15 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>30.12.2021 06:23:06 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/598611/#comment_23886747</guid>
      <link>https://habr.com/ru/articles/598611/#comment_23886747</link>
      <description><![CDATA[<p>Под низким порогом вхождения имелась ввиду простота синтаксиса языка структурированных запросов, а вовсе не реализацию драйверов под конкретные СУБД в бородатых годах :)</p>]]></description>
      <pubDate>Thu, 30 Dec 2021 06:23:06 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>30.12.2021 01:52:07 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/598471/#comment_23886375</guid>
      <link>https://habr.com/ru/articles/598471/#comment_23886375</link>
      <description><![CDATA[<p>Забавляет, когда спрашивают, с какой версией Java работал. Блин, это ж не Angular и не Perl :) </p><p>Или вымораживают вопросы типа "а сколько лет работали с микросервисами" от людей, которые не знают, что это. Я чего, считал? Это ж не фреймворк какой даже... </p>]]></description>
      <pubDate>Thu, 30 Dec 2021 01:52:07 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>30.12.2021 01:40:16 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/598611/#comment_23886355</guid>
      <link>https://habr.com/ru/articles/598611/#comment_23886355</link>
      <description><![CDATA[<blockquote><p>вряд ли современный SQL сервер вообще уступает Ораклу</p></blockquote><p>Насколько я в курсе, MS SQL никогда не ругали за плохой оптимизатор, как раз наоборот, хвалили, как и Oracle.</p><p>Удивляться люди начинают, когда тащат "ораклячие" запросы например на PostgreSQL - на малых данных подвоха не заметно, зато на проде все внезапно встаёт колом. Хотя на Oracle работало. Такое видел, хотя Pg активно развивается, может, уже и такого не бывает. </p><blockquote><p>сделать запрос SELECT TOP 10</p></blockquote><p>В Oracle, если не изменяет память, версии так с 12-ой (которая 2013 года), добавили limit и offset, так что можно обойтись без извращений с rownum. 9-ка это что-то совсем уж старое.</p>]]></description>
      <pubDate>Thu, 30 Dec 2021 01:40:16 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>29.12.2021 19:48:36 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/598611/#comment_23885747</guid>
      <link>https://habr.com/ru/articles/598611/#comment_23885747</link>
      <description><![CDATA[<p>SQL имеет весьма низкий порог вхождения и подкупает простотой, отсюда такие "перлы". А какой-нибудь Oracle за счёт мощного оптимизатора ещё и "прощает" подобное. До поры до времени.</p><p>Сам ни раз <s>писал</s> видел запросы, от которых волосы на спине начинают шевелиться.</p>]]></description>
      <pubDate>Wed, 29 Dec 2021 19:48:36 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>26.12.2021 14:51:47 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/596033/#comment_23872987</guid>
      <link>https://habr.com/ru/companies/otus/articles/596033/#comment_23872987</link>
      <description><![CDATA[<p><em>Десять лучших практик...</em> </p><p>Увидел просто десять пунктов - подзаголовков в статье.</p><p><em>Модульное и интеграционное тестирование — это два наиболее важных вида тестирования...</em> </p><p>И далее про интеграционное тестирование особо ничего не сказано, настолько оно, по всей видимости, важно. </p><p>Зато есть целых несколько абзацев про автогенераторы тестов, кои приспособить к проекту целая отдельная наука.</p><p>После прочтения осталось странное ощущение - с одной стороны ничего нового не узнал, с другой - материал выглядит сумбурно, неструктурированно, так что и старые знания не освежил.</p>]]></description>
      <pubDate>Sun, 26 Dec 2021 14:51:47 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>06.06.2021 12:23:30 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/beelinekz/articles/560440/#comment_23120068</guid>
      <link>https://habr.com/ru/companies/beelinekz/articles/560440/#comment_23120068</link>
      <description><![CDATA[<blockquote>в качестве примера попробуйте набросать на CompletableFuture код который выполняет асинхронный ввод-вывод, ждёт результатов не съедая время потока (т.е. неблокирующе) и написать продолжение обработки после получения результатов.</blockquote><br>
Все это вполне пишется. <a href="https://www.youtube.com/watch?v=-MBPQ7NIL_Y" rel="nofollow noopener noreferrer">Примеры</a>.<br>
<br>
Если ваша ремарка апеллирует к сложности такого кода — не согласен. Если к сложности понимания как его писать, используя CompletableFuture — да, есть такое, с библиотекой надо разбираться. <br>
<br>
С другой стороны — асинхронность это всегда сложно, уже исходя из своей сути. Я бы подчеркнул, что в экосистеме есть вменяемый, но не самый простой для понимания инструмент, который, к тому же худо-бедно развивается (Future -&gt; CompletableFuture).<br>
<br>
<blockquote>Некоторые базы поддерживают настоящую реактивность, но скажем Постгрес — нет</blockquote><br>
Таки Pg умеет в <a href="https://habr.com/ru/post/500446/">реактивщину</a>. Вероятно, вы имели ввиду, что у данной СУБД нет асинхронного API.]]></description>
      <pubDate>Sun, 06 Jun 2021 12:23:30 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>23.12.2020 01:12:06 </title>
      <guid isPermaLink="true">https://habr.com/ru/news/534352/#comment_22453430</guid>
      <link>https://habr.com/ru/news/534352/#comment_22453430</link>
      <description><![CDATA[<p> — Теперь расскажите мне, что же должно быть на аналогичной табличке от пришельцев, чтоб мы всей планетой решили, что нам объявили войну и проигнорировали весь контекст послания?<br>
 — Что-то не то про Аллаха. </p>]]></description>
      <pubDate>Wed, 23 Dec 2020 01:12:06 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>04.07.2020 17:56:24 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/508060/#comment_21809798</guid>
      <link>https://habr.com/ru/companies/otus/articles/508060/#comment_21809798</link>
      <description><![CDATA[<p>Легковесные потоки? Null-безопасность? Функции-расширения? Свойства (в Java есть только псевдо-свойства)? Перегрузка операторов? Про лаконичность и функциональный уклон уже писали.</p><br>
<p>Вообще, мне кажется, это дело привычки и необходимости. Java вполне справляется со своими задача вот уже много лет и даже начала усиленно развиваться в последнее время. </p><br>
<p>Kotlin, несмотря на все свои плюсы, еще молод. Переходить на него &quot;просто потому что&quot; немного странно. Начать новый проект — почему бы и нет? </p><br>
<p>Сам не так давно начал работать с Groovy (параллельно с Java) — несмотря на то, что есть очевидные плюсы, многое из того, что использую в Java, не хватает. Что-то непривычно и не нравится (динамическая типизация, замыкания вместо уже привычных лямбд, статическая компиляция по желанию).</p>]]></description>
      <pubDate>Sat, 04 Jul 2020 17:56:24 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>17.06.2020 12:56:42 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/505700/#comment_21747158</guid>
      <link>https://habr.com/ru/articles/505700/#comment_21747158</link>
      <description><![CDATA[Был у меня как-то такой вопрос на собеседовании. И интервьюер как раз хотел услышать именно такой ответ, как вы и дали. <br>
Пришлось ему объяснять, что<br>
<pre><code class="sql">select count(g.id) 
  from group g 
  left join students s on s.group_id = g.id
 where s.id is null
</code></pre><br>
как правило (но не всегда!), проигрывает в производительности<br>
<pre><code class="sql">select count(g.id) 
  from group g 
 where not exists (select null
                     from students s 
                    where s.group_id = g.id)
</code></pre><br>
<br>
Добавлю к этому очень немаловажный факт, что в разных СУБД и версиях этих СУБД (!), с разным количеством данных в таблицах и разными индексами на таблицах, могут быть разные планы и производительность этих двух запросов.<br>
<br>
Вообще, тема anti-semi join довольно холиварная. Но я бы такой запрос, который вы привели как правильный, вежливо попросил бы переделать (откуда и для чего ограничение на подзапросы, если, конечно, речь не о какой-нибудь старенькой <b>Firebird</b>) — он предпочтительнее, чаще производительнее, так как нет тяжелого «left join» и, в конце-то концов, зачем вам тащить «студентов» наверх, если вы их используете только как условие для отбора данных?]]></description>
      <pubDate>Wed, 17 Jun 2020 12:56:42 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>06.09.2019 17:58:42 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/465667/#comment_20595171</guid>
      <link>https://habr.com/ru/articles/465667/#comment_20595171</link>
      <description><![CDATA[<p>Отличная статья. Спасибо за понятное изложение. Вопрос не по теме — зачем <a href="https://habr.com/ru/users/tostring/" class="user_link">ToString</a>, <a href="https://habr.com/ru/users/data/" class="user_link">Data</a> ведь уже включает его?</p>]]></description>
      <pubDate>Fri, 06 Sep 2019 17:58:42 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>01.08.2019 12:37:28 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/435144/#comment_20462403</guid>
      <link>https://habr.com/ru/articles/435144/#comment_20462403</link>
      <description><![CDATA[Нужно просто добавить <a href="https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api">Swagger</a>. Можно и заголовки посмотреть и запросы проверить будет прям на месте.]]></description>
      <pubDate>Thu, 01 Aug 2019 12:37:28 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>01.08.2019 12:29:49 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/435144/#comment_20462359</guid>
      <link>https://habr.com/ru/articles/435144/#comment_20462359</link>
      <description><![CDATA[Для тех, кому интересно — есть <a href="https://www.baeldung.com/spring-data-rest-intro">до неприличия простой способ</a> создания REST API — через Spring Data REST. Плюс сервис можно укомплектовать каким-нибудь The HAL Browser — сразу и тестирование из коробки. <br>]]></description>
      <pubDate>Thu, 01 Aug 2019 12:29:49 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>31.07.2019 12:18:41 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/461067/#comment_20457665</guid>
      <link>https://habr.com/ru/companies/otus/articles/461067/#comment_20457665</link>
      <description><![CDATA[<p>Вроде как <a href="http://kreker.org/items/5">нет</a>. На практике ни разу не встречал, если честно.</p>]]></description>
      <pubDate>Wed, 31 Jul 2019 12:18:41 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>24.07.2019 20:23:19 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/461067/#comment_20431239</guid>
      <link>https://habr.com/ru/companies/otus/articles/461067/#comment_20431239</link>
      <description><![CDATA[Вы об <a href="https://habr.com/ru/post/448072/">этом</a>?]]></description>
      <pubDate>Wed, 24 Jul 2019 20:23:19 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>24.07.2019 18:23:45 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/otus/articles/461067/#comment_20430755</guid>
      <link>https://habr.com/ru/companies/otus/articles/461067/#comment_20430755</link>
      <description><![CDATA[Oracle — sysdate, в PostgreSQL — now(), в MySQL — now(), curdate(), MsSQL — getdate.<br>
А вот ANSI SQL знает вот такое CURRENT_TIMESTAMP. По идее, должна работать везде (проверил на Oracle и PostgreSQL ).]]></description>
      <pubDate>Wed, 24 Jul 2019 18:23:45 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

      

      

    
  </channel>
</rss>
