
Думаю, что одного этого скриншота реально существующего замера производительности хватит, чтобы донести смысл статьи, но, если читателю интересны мои мысли на этот счет, то добро пожаловать.Читать полностью »
Рубрика «TypeScript» - 31
Почему я не верю микробенчмаркам
2018-12-14 в 4:00, admin, рубрики: javascript, TypeScript, Блог компании Wrike, высокая производительность, здравый смысл, Программирование, производительностьIntelliCode теперь и в TypeScript-JavaScript
2018-12-13 в 7:00, admin, рубрики: intellicode, javascript, microsoft, TypeScript, Блог компании Microsoft, ПрограммированиеНа Build 2018 мы анонсировали Visual Studio IntelliCode: набор AI-инструментов, которые способствуют более качественной разработке. В сотрудничестве с командой IntelliCode мы рады сообщить, что теперь IntelliCode доступен пользователям TypeScript/JavaScript через расширение IntelliCode для VS Code.
Иерархическое внедрение зависимостей в React и MobX State Tree в качестве доменной модели
2018-12-12 в 7:15, admin, рубрики: angular, DDD, dependency injection, di, inversion of control, ioc, javascript, mobx, mobx-state-tree, React, react-ioc, ReactJS, TypeScript, Проектирование и рефакторинг
Довелось мне как-то после нескольких проектов на React поработать над приложением под Angular 2. Прямо скажем, не впечатлило. Но один момент запомнился — управление логикой и состоянием приложения с помощью Dependency Injection. И я задался вопросом, удобно ли управлять состоянием в React используя DDD, многослойную архитектуру, и внедрение зависимостей?
Если интересно, как это сделать, а главное, зачем — добро пожаловать под кат!
О композиции функций в JavaScript
2018-12-05 в 14:40, admin, рубрики: compose, javascript, React, ReactJS, redux, TypeScript, функциональное программированиеДавайте пофантазируем на тему функциональной композиции, а так же проясним смысл оператора композиции/пайплайна.
TL;DR
Compose functions like a boss:

Популярные реализации compose — при вызове создают новые и новые функции на основе рекурсии, какие здесь минусы и как это обойти.
Angular 6+ полное руководство по внедрению зависимостей. providedIn vs providers:[]
2018-12-03 в 18:59, admin, рубрики: angular, dependency injection, di, inversion of control, javascript, TypeScript, Разработка веб-сайтов![Angular 6+ полное руководство по внедрению зависимостей. providedIn vs providers:[] - 1 image](https://www.pvsm.ru/images/2018/12/03/Angular-6-polnoe-rukovodstvo-po-vnedreniyu-zavisimostei- providedIn-vs-providers.jpg)
В Angular 6 появился новый улучшенный синтаксис для внедрения зависимостей сервисов в приложение (provideIn). Несмотря на то, что уже вышел Angular 7, эта тема до сих пор остается актуальной. Существует много путаницы в комментариях GitHub, Slack и Stack Overflow, так что давайте подробно разберем эту тему.
В данной статье мы рассмотрим:
- Внедрение зависимостей (dependency injection);
- Старый способ внедрения зависимостей в Angular (providers: []);
- Новый способ внедрения зависимостей в Angular (providedIn: 'root' | SomeModule);
- Сценарии использования provideIn;
- Рекомендации по использованию нового синтаксиса в приложениях;
- Подведем итоги.
Azure DevOps бесплатно для маленьких компаний за 1 час
2018-12-02 в 16:33, admin, рубрики: azure, devops, Microsoft Azure, TypeScript, Разработка веб-сайтов, разработка сайтов, сайты, системы сборкиДоброго времени суток!
Давно хотели внедрить devOps, но не было времени и жалко денег на обслуживание или хотите понять как работает devOps в действии на примере интернет агентства, тогда читаем дальше.
В этой статье рассмотрим как можно без особых технических навыков и множества настроек развернуть бесплатный devops от Azure для своей компании (до 5 разработчиков бесплатно).
Приверженцы статической и динамической типизаций никогда не поймут друг друга. И TypeScript им не поможет
2018-11-27 в 13:30, admin, рубрики: .net, javascript, TypeScript, ооп, типы
Когда мы с другом учились в школе и только мечтали стать разрабами, мы думали как сделаем вместе какую-нибудь штуковину — игру или супер-полезную программу.
Я начал учить плюсы и C#, он — JavaScript. Закончили школу, отучились в универах, отслужили в армии, устроились на работы. Нас потаскало промышленной разработкой там и тут, и когда мы оба от нее подустали, вспомнили с чего начинали.
Собравшись уже матерыми разрабами, мы решили, наконец, сделать свой проект — двумерную видеоигру. Так как друг был чистый фронт, а я фулстек, очевидной платформой для нас стал браузер. Раньше я разрабатывал фронт только на TypeScript, и мы подумали, никаких проблем, TS — всего-лишь надмножество JavaScript. Возьмем его и все пройдет гладко. Как бы не так. Когда мы начали обсуждать работу, столкнулись с невероятной бездной непонимания друг друга.
Читать полностью »
11 декабря, Москва — Alfa JS MeetUp
2018-11-27 в 11:50, admin, рубрики: backend, formik, javascript, JS, redux, TypeScript, Альфа-Банк, Блог компании «Альфа-Банк», конференции, митапВо вторник, 11 декабря, мы проводим очередной митап. На этот раз наша встреча будет посвящена JavaScript-разработке.
Начинаем в 19:00, территориально — Большая Полянка, 2/10, стр.1 (Corporate Innovations Hub)

Как обычно, вход бесплатный (но надо заранее зарегистрироваться).
Под катом — темы докладов от четырех наших спикеров.
Читать полностью »
Оптимизация обработки событий в Angular
2018-11-14 в 15:11, admin, рубрики: angular, change detection, javascript, optimization, performance, TypeScript, Блог компании Tinkoff.ruВведение
Angular предоставляет удобный декларативный способ подписки на события в шаблоне, с помощью синтаксиса (eventName)="onEventName($event)". Вместе с политикой проверки изменений ChangeDetectionStrategy.OnPush подобный подход автоматически запускает цикл проверки изменений только по интересующему нас пользовательскому вводу. Иными словами, если мы слушаем (input) событие на <input> элементе, то проверка изменений не будет запускаться, если пользователь просто кликает по полю ввода. Это значительно улучшает
производительность, по сравнению с политикой по умолчанию (ChangeDetectionStrategy.Default). В директивах мы также можем подписаться на события на хост-элементе через декоратор @HostListener('eventName').
В моей практике нередко встречаются случаи, когда обработка конкретного события требуется только при выполнении какого-либо условия. т.е. обработчик выглядит примерно так:



