<?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/labeg/publications/articles/</link>
    <description><![CDATA[Хабр: статьи пользователя labeg]]></description>
    <language>ru</language>
    <managingEditor>editor@habr.com</managingEditor>
    <generator>habr.com</generator>
    <pubDate>Mon, 04 May 2026 20:47:05 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[Может ли Orange Pi 5 стать ПК?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/784518/</guid>
      <link>https://habr.com/ru/articles/784518/?utm_campaign=784518&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/478/f56/1f9/478f561f9add1b06fd9732002670f98e.jpg" /><p>Привет, Habr! В последнее время на Хабре публикуется много статей про одноплатные компьютеры, характеристики которых не уступают классическим ПК. Мне приглянулся  Orange Pi 5 16 GB со слотом M.2. Слот M.2 позволяет поставить очень быстрый SSD диск, а 16 GB памяти должно хватить для большинства бытовых задач. Ради интереса я решил собрать компьютер на этом одноплатнике, и посмотреть может ли он выполнять роль основного ПК. Сравнить его производительность с Ryzen 5800X. Посмотреть для каких задач он подходит. Интересно? Добро пожаловать под кат!</p><p></p> <a href="https://habr.com/ru/articles/784518/?utm_campaign=784518&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 11 Jan 2024 07:22:41 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[Компьютерное железо]]></category>
      <category><![CDATA[orange]]></category><category><![CDATA[одноплатники]]></category><category><![CDATA[микрокомпьютер]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Готовим микрофронтенды на чистом JS без фреймворков]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ru_mts/articles/754842/</guid>
      <link>https://habr.com/ru/companies/ru_mts/articles/754842/?utm_campaign=754842&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/18e/dcb/164/18edcb16468d540a039625c94f786bcc.png" /><p>Привет, Хабр! Меня зовут Евгений Лабутин, я&nbsp;<a href="https://career.habr.com/companies/mts/vacancies">разработчик в&nbsp;МТС Digital</a>. Сегодня я расскажу вам о своем рецепте приготовления <strong>микрофронтендов</strong> без использования каких либо фреймворков. Ведь такие фреймворки как Webpack Module Federation, Single-SPA, SystemJS и подобные вам просто не нужны для написания <strong>микрофронтендов</strong>, ровно так же как вам не нужен jQuery для написания современных фронтендов. Ведь все необходимое для разработки и работы Микрофронтендов уже встроено во все современные браузеры. Интересно? Добро пожаловать в статью.</p> <a href="https://habr.com/ru/articles/754842/?utm_campaign=754842&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 25 Aug 2023 15:43:38 GMT</pubDate>
      <dc:creator><![CDATA[LabEG (МТС)]]></dc:creator>
      <category><![CDATA[Блог компании МТС]]></category><category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[микрофронтенды]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Собираем логи веб-приложений в Kibana/Loki]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ru_mts/articles/715212/</guid>
      <link>https://habr.com/ru/companies/ru_mts/articles/715212/?utm_campaign=715212&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/f06/3fc/348/f063fc3486cb8e6dff33d2f412ed2aeb.jpg" /><p>Привет, Хабр! Меня зовут Евгений Лабутин, я&nbsp;<a href="https://career.habr.com/companies/mts/vacancies">разработчик в&nbsp;МТС Digital</a>. Расскажу вам о&nbsp;том, как&nbsp;мы на&nbsp;нашем проекте&nbsp;<a href="https://tb.mts.ru/">МТС Твой бизнес</a>&nbsp;собираем логи с&nbsp;клиентских веб‑приложений. А&nbsp;еще обсудим вспомогательный микросервис логирования, который мы вывели в&nbsp;Open source, и поговорим о&nbsp;том, как&nbsp;устроено логирование в&nbsp;принципе.</p> <a href="https://habr.com/ru/articles/715212/?utm_campaign=715212&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 07 Feb 2023 06:30:01 GMT</pubDate>
      <dc:creator><![CDATA[LabEG (МТС)]]></dc:creator>
      <category><![CDATA[Блог компании МТС]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Open source]]></category><category><![CDATA[Разработка мобильных приложений]]></category><category><![CDATA[Микросервисы]]></category>
      <category><![CDATA[kibana]]></category><category><![CDATA[loki]]></category><category><![CDATA[логи]]></category><category><![CDATA[логирование]]></category><category><![CDATA[разработка]]></category><category><![CDATA[микросервисы]]></category><category><![CDATA[клиентское обслуживание]]></category><category><![CDATA[open source]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Пререндеринг или Серверный рендеринг?]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/709394/</guid>
      <link>https://habr.com/ru/articles/709394/?utm_campaign=709394&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/688/a08/a5c/688a08a5c407b86d1c5a5053a0af476e.jpg" /><p>Привет, Хабр! Все знают что для того, чтобы ваш сайт увидели поисковые роботы вам нужен SSR. Но единственное ли это решение? Всегда ли он нужен? Есть ли другие варианты роботам увидеть контент? Что мы можем выиграть от альтернатив?</p><p>В этой статье рассмотрим альтернативное решение для SSR, а именно Динамический рендеринг (он же Пререндеринг).</p><p></p> <a href="https://habr.com/ru/articles/709394/?utm_campaign=709394&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Fri, 13 Jan 2023 08:24:02 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[пререндеринг]]></category><category><![CDATA[ssr]]></category><category><![CDATA[seo]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Почему вам стоит использовать Styled Components]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/707510/</guid>
      <link>https://habr.com/ru/articles/707510/?utm_campaign=707510&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/535/96d/038/53596d038fb9bd3fb853cee5f51a74ae.png" /><p>Привет Хабр! Недавно мне попался на рефакторинг один сайт написанный одним студентом. Он был реализован не лучшим образом и уже давно следовало бы его исправить. И вот наконец у меня выдалось свободное время на рефакторинг. Сайт был написан на Next.js, для написания стилей использовались SCSS Modules. А так как я на своих проектах уже давно использую Styled Components тут же в глаза бросился дискомфорт от использования обычного SCSS. И в этой статье я вам расскажу что же это за дискомфорт и как же Styled Components позволяет от него избавиться.</p><p></p> <a href="https://habr.com/ru/articles/707510/?utm_campaign=707510&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Sat, 31 Dec 2022 12:07:43 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[Веб-разработка]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[styled-components]]></category><category><![CDATA[scss]]></category><category><![CDATA[css]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как фронтендеры приручили микросервисы и перестали беспокоить бэкендеров]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ru_mts/articles/700886/</guid>
      <link>https://habr.com/ru/companies/ru_mts/articles/700886/?utm_campaign=700886&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/81f/e22/d04/81fe22d04be5f954feabac5c1cfb7031.jpg" /><p>Привет Хабр! Меня зовут Евгений Лабутин, я <a href="https://career.habr.com/companies/mts/vacancies">фронтенд-разработчик в МТС Digital</a>. Расскажу вам о том, как мы приручили микросервисы на нашем проекте <a href="https://tb.mts.ru/">МТС Твой бизнес</a>, зачем они нам вообще понадобились и какую выгоду мы от этого получили.   Интересно? Добро пожаловать под кат!</p> <a href="https://habr.com/ru/articles/700886/?utm_campaign=700886&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Tue, 20 Dec 2022 07:00:02 GMT</pubDate>
      <dc:creator><![CDATA[LabEG (МТС)]]></dc:creator>
      <category><![CDATA[Блог компании МТС]]></category><category><![CDATA[Веб-разработка]]></category><category><![CDATA[Open source]]></category><category><![CDATA[Программирование]]></category><category><![CDATA[Микросервисы]]></category>
      <category><![CDATA[разработка]]></category><category><![CDATA[разработка сайтов]]></category><category><![CDATA[микросервисы]]></category><category><![CDATA[typescript]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[ReCA: React Clean Architecture state manager]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/679952/</guid>
      <link>https://habr.com/ru/articles/679952/?utm_campaign=679952&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/5a0/b54/b13/5a0b54b13c10e5fab581fb5fc5911fe8.jpg" /><p>Что будет если объединить Функциональное Программирование и Объектно-Ориентированное Программирование в одном веб приложении? Получится мощный инструмент для написания веб приложений объединяющий всю простоту написания верстки в функциональном стиле и мощь ООП для написания бизнес логики сложного приложения. А произвести такое объединение позволяет библиотека ReCA. Которая позволяет использовать в одном приложении оба подхода при это разделяя зоны ответственности и не создавая конфликтов стилей, а также решаюшая множество повседневных задач.</p> <a href="https://habr.com/ru/articles/679952/?utm_campaign=679952&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Mon, 08 Aug 2022 09:00:04 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[react]]></category><category><![CDATA[чистая архитектура]]></category><category><![CDATA[стейт менеджер]]></category><category><![CDATA[reca]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Как мы уменьшаем размер изображений на веб-страницах в 10 раз с помощью нашего оптимизатора]]></title>
      <guid isPermaLink="true">https://habr.com/ru/companies/ru_mts/articles/645305/</guid>
      <link>https://habr.com/ru/companies/ru_mts/articles/645305/?utm_campaign=645305&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<img src="https://habrastorage.org/getpro/habr/upload_files/591/5d9/b57/5915d9b57342f1659a3f3ec32ab1430f.jpg" /><p>Привет, Хабр! Меня зовут Евгений Лабутин, я из команды разработки продукта <a href="https://tb.mts.ru/">МТС Твой бизнес</a>. Мы разработали свой рецепт приготовления картинок для нашего портала. Благодаря ему удалось сократить их вес на странице до 10 раз относительно уже оптимизированного jpg/png, сохранив при этом простоту разработки – как будто это стандартный img элемент. Разработанный микросервис называется ImageOptimize, из этой статьи вы узнаете, как он работает и что у него под капотом. Мы уже выложили код микросервиса в OpenSource (чему очень рады), поэтому вы тоже можете использовать такую компрессию, настроив ее в несколько простых шагов.</p> <a href="https://habr.com/ru/articles/645305/?utm_campaign=645305&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать далее</a>]]></description>
      
      <pubDate>Thu, 03 Feb 2022 08:03:04 GMT</pubDate>
      <dc:creator><![CDATA[LabEG (МТС)]]></dc:creator>
      <category><![CDATA[Блог компании МТС]]></category><category><![CDATA[Веб-разработка]]></category>
      <category><![CDATA[webp]]></category><category><![CDATA[avif]]></category><category><![CDATA[верстка]]></category><category><![CDATA[веб-сайт]]></category><category><![CDATA[оптимизация]]></category><category><![CDATA[картинки]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[TS-Serializable 2: с конвертации свойств из snake case и декоратором вместо наследования]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/502290/</guid>
      <link>https://habr.com/ru/articles/502290/?utm_campaign=502290&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Недавно мне повезло попасть на проект бэкенд которого написан на php. А как принято у php бекэндов json с ответом они отправляют в snake case стиле. И как следствие вся работа с данными на фронте происходила в перемешку в camel case и snake case стилях. Для решения этой проблемы была доработана <a href="https://github.com/LabEG/Serializable" rel="nofollow">библиотека сериализации ts-serializable</a>. Теперь при получении данных из json их можно приводить к принятому в js стилю camel case, а при отправке на сервер возвращать в snake case.<br>
<br>
<img src="https://habrastorage.org/webt/ch/ac/97/chac97ixe2rno1c49zfobd0iuq8.png" alt="ts-serializable"><br>
<br>
Так же после выхода первой версии у некоторых пользователей были пожелания по функционалу. Эти пожелания реализованы в новой версии.<br> <a href="https://habr.com/ru/articles/502290/?utm_campaign=502290&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Thu, 04 Jun 2020 11:57:53 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[JavaScript]]></category><category><![CDATA[TypeScript]]></category><category><![CDATA[Программирование]]></category>
      <category><![CDATA[typescript]]></category><category><![CDATA[serialization]]></category><category><![CDATA[deserialization]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Чистая Архитектура для веб-приложений]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/493430/</guid>
      <link>https://habr.com/ru/articles/493430/?utm_campaign=493430&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Хочу поделиться с вами подходом который я уже много лет использую в разработке приложений, в том числе и веб-приложений. Многим разработчикам настольных, серверных и мобильных приложений этот подход хорошо знаком, т.к. является фундаментальным при построении таких приложений, однако в вебе он представлен очень скудно, хотя желающие использовать такой подход однозначно есть. Кроме того на таком подходе <a href="https://github.com/microsoft/vscode/tree/master/src/vs/editor/common" rel="nofollow noopener noreferrer">написан редактор VS Code</a>.<br>
<br>
<img src="https://habrastorage.org/webt/dj/ju/vy/djjuvyjprjf_nnnb0bv34ymklkc.png" alt="Чистая Архитектура"><br>
<br>
В результате применения этого подхода вы отвяжетесь от конкретного фреймворка. Сможете легко переключать библиотеку представления внутри вашего приложения, например React, Preact, Vue, Mithril без переписывания бизнес логики, а в большинстве случаев даже вьюхи. Если у вас есть приложение на Angular 1, вы без проблем сможете перевести его на Angular 2+, React, Svelte, WebComponents или даже свою библиотеку представления. Если у вас есть приложение на Angular 2+, но нету специалистов для него, то вы без проблем сможете перевести приложение на более популярную библиотеку без переписывания бизнес логики. А в итоге вообще забыть про проблему миграции с фремворка на фреймворк. Что же это за магия такая?<br> <a href="https://habr.com/ru/articles/493430/?utm_campaign=493430&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Sun, 03 May 2020 15:46:25 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[JavaScript]]></category><category><![CDATA[TypeScript]]></category>
      <category><![CDATA[архитектура приложений]]></category><category><![CDATA[javascript]]></category><category><![CDATA[typescript]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[First DI: Первый DI на интерфейсах для Typescript приложений]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/496860/</guid>
      <link>https://habr.com/ru/articles/496860/?utm_campaign=496860&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Делюсь одной из своих библиотек которая называется First DI. Она уже много лет помогает мне решить проблему внедрения зависимостей в браузерных приложениях для таких библиотек как React, Preact, Mithril и другие. При написании First DI за основу была взята идеология DI библиотек языков C# и Java, такие как autofac, java spring autowired, ninject и другие. И точно так как библиотеки из этих языков First DI работает опираясь на рефлексию и интерфейсы Typescript.<br> <a href="https://habr.com/ru/articles/496860/?utm_campaign=496860&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Mon, 20 Apr 2020 10:43:46 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[TypeScript]]></category>
      <category><![CDATA[ioc]]></category><category><![CDATA[inversion of control]]></category><category><![CDATA[di]]></category><category><![CDATA[dependency injection]]></category><category><![CDATA[typescript]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Рабочая станция в Docker контейнере]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/498004/</guid>
      <link>https://habr.com/ru/articles/498004/?utm_campaign=498004&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Для чего? Мне постоянно приходят всякие идеи и некоторые из них сразу хочется попробовать, но рабочая станция не всегда под рукой, поэтому я настраивал IDE на всем что попадется под руку. В итоге устройства начали захламляться, а поддерживать и обновлять их стало тяжело. <br>
<br>
Чтобы решить эту проблему я решил разместить такую «записную книжку» в облаке, и что бы ежедневно обновлялась и удаляла весь накопившийся мусор. А для работы подключаться к нему удаленно.<br>
<br>
<img src="https://habrastorage.org/webt/kv/5h/ry/kv5hryhobajnk6wddlszosiiira.jpeg" alt="image"><br>
<br>
В итоге, сам того не подозревая, сделал очень удобный инструмент для решения большого количества задач: записная книжка, тестовая площадка, посмотреть то что телефон не показывает, безопасная песочница, запуск скриптов для программ работающие только GUI и мн. др. А в статье хочу поделиться методом создания таких контейнеров.<br> <a href="https://habr.com/ru/articles/498004/?utm_campaign=498004&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Sun, 19 Apr 2020 17:46:07 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[DevOps]]></category>
      <category><![CDATA[docker]]></category><category><![CDATA[containers]]></category><category><![CDATA[vnc]]></category><category><![CDATA[tigervnc]]></category><category><![CDATA[remote desktop]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Chrome Audit на 500: Часть 1. Лендинг]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/440950/</guid>
      <link>https://habr.com/ru/articles/440950/?utm_campaign=440950&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[В инструментах разработчика браузера хром есть вкладка «Audit». На ней расположился инструмент который называется Lighthouse, служит он для анализа насколько хорошо сделано веб приложение.<br>
<br>
<div style="text-align:center;"><img src="https://habrastorage.org/webt/ce/cc/oa/ceccoatvjkhcvrm65wqqjxbp2ag.png" alt="image"></div><br>
Недавно я решил протестировать одно приложение и ужаснулся результатам. Сразу по нескольким разделам оценка находилась в красной зоне. Я принялся изучать что же с моим приложением не то. И нашел в результатах анализа большой список очень полезных рекомендаций, выполнил их и получил 500 баллов. В результате приложение стало запускаться значительно быстрее, а я пересмотрел несколько концепций относительно метода построения приложений. А в этой статье я хочу поделиться самыми интересными решениями к которым я пришел.<br> <a href="https://habr.com/ru/articles/440950/?utm_campaign=440950&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше →</a>]]></description>
      
      <pubDate>Sun, 17 Mar 2019 16:51:06 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[JavaScript]]></category><category><![CDATA[TypeScript]]></category>
      <category><![CDATA[javascript]]></category><category><![CDATA[typescript]]></category><category><![CDATA[seo]]></category><category><![CDATA[performance]]></category><category><![CDATA[optimization]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[Rollup: уже можно собирать приложения]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/440946/</guid>
      <link>https://habr.com/ru/articles/440946/?utm_campaign=440946&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[<a href="https://rollupjs.org">Rollup</a> — это сборщик javascript приложений и библиотек нового поколения. Многим он давно знаком как перспективный сборщик, который хорошо подходит для сборки библиотек, но плохо подходит для сборки приложений. Однако время идет, продукт активно развивается.<br>
<br>
Я впервые попробовал его в начале 2017 года. Он сразу понравился мне за поддержку компиляции в ES2015, treeshaking, отсутствием модулей в сборке и конечно простым конфигом. Но тогда это был сырой продукт, с небольшим числом плагинов и очень ограниченной функциональностью, и я решил оставить его на потом и продолжил собирать через browserify. Вторая попытка была в 2018 году, тогда он уже значительно оброс комьюнити, плагинами и функционалом, но все еще не хватало качества в некоторых функциях, включая watcher. И вот наконец в начале 2019 года можно смело сказать — с помощью Rollup можно просто и удобно собирать современные приложения.<br> <a href="https://habr.com/ru/articles/440946/?utm_campaign=440946&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше →</a>]]></description>
      
      <pubDate>Tue, 26 Feb 2019 20:43:12 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[JavaScript]]></category><category><![CDATA[TypeScript]]></category>
      <category><![CDATA[javascript]]></category><category><![CDATA[typescript]]></category><category><![CDATA[frontend]]></category><category><![CDATA[bundler]]></category><category><![CDATA[rollup]]></category>
    </item>
  

  

  

	
  

  

  

    
    <item>
      <title><![CDATA[TypeScript: Десериализация JSON в классы с валидацией типов у свойств]]></title>
      <guid isPermaLink="true">https://habr.com/ru/articles/428812/</guid>
      <link>https://habr.com/ru/articles/428812/?utm_campaign=428812&amp;utm_source=habrahabr&amp;utm_medium=rss</link>
      <description><![CDATA[Привет, Хабр! Хочу поделиться с вами своей библиотекой для десериализации объектов JSON в классы, которая еще и автоматически валидирует по типам входные данные.<br/>
<br/>
Не так давно в JavaScript появилась такая замечательная вещь как классы, которая значительно упростила процесс написания кода. Но к сожалению не появился функционал для десериализации JSON в эти самые классы, т.е. сериализовать класс в строку можно, а вот обратно уже своими силами. И вот для исправления этого недостатка и была написана библиотека <a href="https://www.npmjs.com/package/ts-serializable">ts-serializable</a> которой я хочу поделиться с вами.<br/>
 <a href="https://habr.com/ru/articles/428812/?utm_campaign=428812&amp;utm_source=habrahabr&amp;utm_medium=rss#habracut">Читать дальше &rarr;</a>]]></description>
      
      <pubDate>Mon, 05 Nov 2018 15:26:39 GMT</pubDate>
      <dc:creator><![CDATA[LabEG]]></dc:creator>
      <category><![CDATA[JavaScript]]></category><category><![CDATA[TypeScript]]></category>
      <category><![CDATA[typescript]]></category><category><![CDATA[javascript]]></category>
    </item>
  

  

  

	
  

  

  

      

      

      

    
  </channel>
</rss>
