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

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

  <channel>
    <title><![CDATA[Комментарии / Профиль walkinway]]></title>
    <link>https://habr.com/ru/users/walkinway/comments/</link>
    <description><![CDATA[Хабр: комментарии пользователя walkinway]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Tue, 05 May 2026 17:58:35 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>10.10.2024 11:24:54 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/nspk/articles/845644/#comment_27400970</guid>
      <link>https://habr.com/ru/companies/nspk/articles/845644/#comment_27400970</link>
      <description><![CDATA[<p>Как я понимаю, система с кешбеками, это костыль для того, чтобы не писать разные ценники. Просто иначе на каждом ценнике было бы:</p><p>Батон хлеба:</p><ul><li><p>Наличка: 100 р.</p></li><li><p>Банк 1: 99 р.</p></li><li><p>…</p></li><li><p>СБП: 98,5 р.</p></li></ul><p>И в этой схеме нельзя делать сложные бонусы в виде миль / спасибо / 5-ый кофе в подарок.</p><p></p><p>Ну или надо честно разделять стоимость товара и издержки платёжной системы. Но это тоже усложнит понимание. Будет "Батон: 98 р." А потом на кассе: с вас 98 р + вариативная плата в зависимости от выбора вами способа платежа. </p><p>То есть Кешбек —&nbsp;это попытка инкапсуляции сложности финансовых взаимодействий. Да, как и любая абстракция она иногда протекает. </p>]]></description>
      <pubDate>Thu, 10 Oct 2024 11:24:54 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>15.05.2023 15:43:16 </title>
      <guid isPermaLink="true">https://habr.com/ru/news/734972/#comment_25550214</guid>
      <link>https://habr.com/ru/news/734972/#comment_25550214</link>
      <description><![CDATA[<p>Про все эти аналогов супераппов / WeChat и прочего подобного, где собраны все приложения с удобным доступом, я могу сказать следующее: всё это уже есть на вашем телефоне и называется iOS / Android.</p><p>В ОС телефона уже есть главный экран с часто используемыми приложениями. Редкоиспользуемые и утилиты заметены под папки на дальних экранах. Так же у вас есть в распоряжении виджеты, где можно красиво выводить всё что вам нужно. </p><p>И вот вопрос: зачем вам суперапп? Зачем вам открывать ОС, чтобы там была одинокая иконка суперапа, внутри которого будет "мир" сравнимый с ОС? Не проще ли сразу всё делать в ОС, зачем лишняя абстракция?</p><p>И это не говоря о том, что в ОС у вас свобода выбора приложений, которые вам нравятся: любимые карты от "А", Почта от "Б", Банк от "В" и так далее. В супераппах вам придётся или ставить себе 2-3-5 разных супераппа с пересекающимся функционалом, половиной от которого вы не будете пользоваться или смириться с "вендорлоком", меняя экосистемы целиком.</p>]]></description>
      <pubDate>Mon, 15 May 2023 15:43:16 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>04.05.2023 21:56:31 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/733020/#comment_25516438</guid>
      <link>https://habr.com/ru/articles/733020/#comment_25516438</link>
      <description><![CDATA[<p>Swc написан на Rust. А esbuild написан на Go (https://esbuild.github.io/faq/#why-is-esbuild-fast)</p>]]></description>
      <pubDate>Thu, 04 May 2023 21:56:31 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>15.03.2023 15:36:40 </title>
      <guid isPermaLink="true">https://habr.com/ru/news/722606/#comment_25329738</guid>
      <link>https://habr.com/ru/news/722606/#comment_25329738</link>
      <description><![CDATA[<blockquote><p>присутствие сотрудников необходимо только для предварительной загрузки посылок через шлюз</p></blockquote><p>В теории упрощается заполнение склада перед постаматом, так как тебе только подать на ленту, а робор сам всё разложит по полкам. Ну и бонусом склад для робота + окно выдачи должны быть гораздо вместительней, чем постамат для аналогичного количества посылок.</p><p></p>]]></description>
      <pubDate>Wed, 15 Mar 2023 15:36:40 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>26.01.2022 16:24:11 </title>
      <guid isPermaLink="true">https://habr.com/ru/news/647975/#comment_23993351</guid>
      <link>https://habr.com/ru/news/647975/#comment_23993351</link>
      <description><![CDATA[<p>Интересно, по какой логике эти сервисы приписали в "Распространители информации"? </p><p>Я бы больше сказал, что они распратраняют товары и людей.</p>]]></description>
      <pubDate>Wed, 26 Jan 2022 16:24:11 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>04.01.2022 11:01:45 </title>
      <guid isPermaLink="true">https://habr.com/ru/news/599157/#comment_23902175</guid>
      <link>https://habr.com/ru/news/599157/#comment_23902175</link>
      <description><![CDATA[<p>Тут можно смотреть: вернулся человек или нет: вернулся — значит не разочаровался и в прошлый раз нашёл.</p>]]></description>
      <pubDate>Tue, 04 Jan 2022 11:01:45 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>17.09.2021 06:02:08 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/578370/#comment_23492486</guid>
      <link>https://habr.com/ru/articles/578370/#comment_23492486</link>
      <description><![CDATA[<p>Не смотря на то, что многие вопросы в стать е действительно спорные. Но я могу ответить на часть поставленных вами. </p><blockquote><p>Оператор строгого равенства (а не тройного), не сработает. NaN === NaN вернёт false.</p></blockquote><p>Благодаря этому мы и определим :)</p><pre><code class="javascript">function myIsNaN(value) {
    // Тут используем строгое равенство :) 
    return (value === value) === false;
}</code></pre><blockquote><p>Покажите пример использование переменной до её объявления</p></blockquote><p>Так можно делать с var (но не нужно!) и с функциями. </p><pre><code class="javascript">myFunc();

function myFunc() {
    x = 5
    console.log(x);
    var x = 2
}</code></pre>]]></description>
      <pubDate>Fri, 17 Sep 2021 06:02:08 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>16.09.2021 07:13:20 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/578202/#comment_23489026</guid>
      <link>https://habr.com/ru/articles/578202/#comment_23489026</link>
      <description><![CDATA[<blockquote><p>через какое-то время на выходе получим пачку лояльных и заточенных под конкретные задачи мидлов за небольшие деньги.</p></blockquote><p>Звучит как джун, конечно :)</p>]]></description>
      <pubDate>Thu, 16 Sep 2021 07:13:20 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>16.09.2021 07:03:35 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/578202/#comment_23488982</guid>
      <link>https://habr.com/ru/articles/578202/#comment_23488982</link>
      <description><![CDATA[<p>А чем у вас аналитик отличается от </p><ol><li><p>технического писателя, который пишет документацию, может и ТЗ оформить для истории и</p></li><li><p>PM (project manager), который общается с заказчиком?</p></li></ol><p>Я не у тому, что аналитики не нужны. Просто в моем понимании и опыту они занимаются другими вещами, не связанными с разработкой вещами.</p><p>Вы приводите бизнес аналитики в примерах.<strong> Бизнес</strong>-<strong>аналитик</strong>&nbsp;в классическом понимании — экономист, который разбирается в процессах, экономике, финансах, организационном развитии и помогает компании решать стратегические задачи.&nbsp; (Из интернета)</p><p>То есть полезный член команды, но не команды разработки.</p>]]></description>
      <pubDate>Thu, 16 Sep 2021 07:03:35 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>30.07.2021 10:07:34 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/569768/#comment_23317238</guid>
      <link>https://habr.com/ru/articles/569768/#comment_23317238</link>
      <description><![CDATA[<blockquote><p>Вот когда появятся IDE, которые за меня ошибки исправляют, тогда и поговорим</p><p>Вот когда они не только ошибки исправлять будут, но и переменную подскажут, тогда и поговорим</p></blockquote><p>С этими пунктами тоже проблема на самом деле: </p><ul><li><p>ошибки только алгоритмические (и то не все) и линтеры оформления кода, о логике нет и речи</p></li><li><p>Переменные, это просто подсказка всех доступных переменных в текущем блоке кода. Часто даже без учета типа (легко предложат строковую переменную в математическое выражение подставить)</p></li></ul><p>Так что тут бы я тоже не спешил с прогрессом. Удобно? Да. Можно лучше? Однозначно есть куда расти.</p>]]></description>
      <pubDate>Fri, 30 Jul 2021 10:07:34 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>03.10.2020 17:22:50 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/521866/#comment_22140288</guid>
      <link>https://habr.com/ru/articles/521866/#comment_22140288</link>
      <description><![CDATA[<p>Или я не так понял, но у меня такой код вызывает вечный цикл вызовов a =&gt; b =&gt; a =&gt; b…</p><br>
<pre><code class="plaintext">interface IBase {
    a(): void
}

class BaseImpl implements IBase {
    a(): void {
        this.b()
    }

    b(): void {
        console.log('BaseImpl')
    }
}

type Constructor = new (...args: any[]) =&gt; IBase;

function withDerived&lt;TBase extends Constructor&gt;(Base: TBase){
    return class Derived extends Base {
        b() {
            this.a() // тут будет вечный цикл вызовов
            console.log('Derived')
        }
    }
}

const Derived = withDerived(BaseImpl);
const derivedObj = new Derived();
derivedObj.b();</code></pre>]]></description>
      <pubDate>Sat, 03 Oct 2020 17:22:50 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>03.10.2020 16:24:47 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/521866/#comment_22140150</guid>
      <link>https://habr.com/ru/articles/521866/#comment_22140150</link>
      <description><![CDATA[<p>Совсем заменить наследование не получится:</p><br>
<ol>
<li>в TS запрещано в миксине объявлять protected / privated методы (как я написал выше). Так же мы не можем переопределять protected методы родителя </li>
<li>Нет гарантий, что несколько миксинов не будут перетирать public методы друг друга.</li>
</ol><br>
<p>Мне кажется, что такой подход имеет смысл, когда у нас есть базовый класс, который можно опционально расширять. И заранее нельзя сказать какие расширения понадобятся </p>]]></description>
      <pubDate>Sat, 03 Oct 2020 16:24:47 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>03.10.2020 16:20:43 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/521866/#comment_22140142</guid>
      <link>https://habr.com/ru/articles/521866/#comment_22140142</link>
      <description><![CDATA[<blockquote>Как Вы технически собираетесь реализовать динамическую расширяемость типов при строгой типизации в языке со статической проверкой типов?</blockquote><br>
Готовое решение по типизации описано в <a href="https://www.typescriptlang.org/docs/handbook/mixins.html">документации TS по миксинам</a>. По сути автор статьи и описал реализацию миксинов. <br>
<br>
Надёжность типов достигается запретом на использование protected / private методов в миксине, если он экспортируется из файла. Иначе бы возникла коллизия закрытых методов. Хотя и так не гарантируется, что public методы не будут конфликтовать между собой.]]></description>
      <pubDate>Sat, 03 Oct 2020 16:20:43 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>03.10.2020 16:02:30 </title>
      <guid isPermaLink="true">https://habr.com/ru/articles/521866/#comment_22140116</guid>
      <link>https://habr.com/ru/articles/521866/#comment_22140116</link>
      <description><![CDATA[<blockquote>…вот виновник сегодняшнего торжества (осторожно, 5 строчек на JS):<br>
```javascriptfunction Extends(clazz) {<br>
 return class extends clazz {<br>
 //…<br>
 }<br>
}</blockquote><p>Идея не новая. <a href="https://www.typescriptlang.org/docs/handbook/mixins.html">В Typescript она называется mixins</a>.<br>
Возможно, что и в JS есть что-то подобное. Я встречал реализацию подобной идеи через Object.assign(...)</p>]]></description>
      <pubDate>Sat, 03 Oct 2020 16:02:30 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>11.08.2020 11:07:27 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/tbank/articles/514612/#comment_21946664</guid>
      <link>https://habr.com/ru/companies/tbank/articles/514612/#comment_21946664</link>
      <description><![CDATA[<p>Возможно, но это не точно, что это бутылка, а внутри свернуто послание.</p>]]></description>
      <pubDate>Tue, 11 Aug 2020 11:07:27 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

  
    <item>
      <title>24.06.2020 13:13:08 </title>
      <guid isPermaLink="true">https://habr.com/ru/companies/habr/articles/507240/#comment_21771024</guid>
      <link>https://habr.com/ru/companies/habr/articles/507240/#comment_21771024</link>
      <description><![CDATA[<p><a href="https://habr.com/ru/users/ufo/" class="user_link">UFO</a>, давай поиграем</p>]]></description>
      <pubDate>Wed, 24 Jun 2020 13:13:08 GMT</pubDate>
      <dc:creator><![CDATA[]]></dc:creator>
    </item>
  

      

      

    
  </channel>
</rss>
