
🦊 Angular Fox 🚀 — русскогорящие новости сообщества
💣 Все что вам нужно знать про ExpressionChangedAfterItHasBeenCheckedError
https://blog.angularindepth.com/everything-you-need-to-know-about-the-expressionchangedafterithasbeencheckederror-error-e3fd9ce7dbb4
https://blog.angularindepth.com/everything-you-need-to-know-about-the-expressionchangedafterithasbeencheckederror-error-e3fd9ce7dbb4
January 18, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
This media is not supported in your browser
VIEW IN TELEGRAM
fx — потрясающий CLI инструмент для удобного просмотра и редактирования JSON в терминале.
📐 Formatting and highlighting
🎁 Standalone binary
🎉 Interactive mode
🎨 Themes support
https://github.com/antonmedv/fx
📐 Formatting and highlighting
🎁 Standalone binary
🎉 Interactive mode
🎨 Themes support
npm install -g fx
https://github.com/antonmedv/fx
January 20, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
🚀 Prettier — инструмент для форматирования кода. Имеет минималистичный конфиг, есть интеграция со всеми IDE и поддерживает множество языков:
JavaScript · TypeScript · Flow · JSX · JSON
CSS · SCSS · Less
HTML · Vue · Angular
GraphQL · Markdown · YAML
🎁 https://prettier.io/
__
🌟 Для простой установки в Angular, есть готовый schematics:
👌 https://github.com/schuchard/prettier-schematic
JavaScript · TypeScript · Flow · JSX · JSON
CSS · SCSS · Less
HTML · Vue · Angular
GraphQL · Markdown · YAML
🎁 https://prettier.io/
__
🌟 Для простой установки в Angular, есть готовый schematics:
npm i -g @schuchard/prettier
ng g @schuchard/prettier:add
👌 https://github.com/schuchard/prettier-schematic
January 20, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
✨Магическое отображение ошибок Angular Forms
Netanel Basal рассказывает о том, как можно использовать директивы для более простого отображения ошибок в Angular.
👉 https://netbasal.com/make-your-angular-forms-error-messages-magically-appear-1e32350b7fa5
Netanel Basal рассказывает о том, как можно использовать директивы для более простого отображения ошибок в Angular.
👉 https://netbasal.com/make-your-angular-forms-error-messages-magically-appear-1e32350b7fa5
January 23, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
Если вы думаете, как уменьшить затраты на разработку и поддержание реактивных форм в Angular, то обязательно попробуйте NgxFormly.
🎁 NgxFormly — простой инструмент для создания и динамического отображения реактивных форм.
👉 https://github.com/ngx-formly/ngx-formly
__
Дополнительно рекомендую ознакомиться с несколькими статьями по этой теме:
Организация приложения с использованием NgxFormly
https://hackernoon.com/organize-your-forms-application-using-ngx-fomrly-796150461045
Обработка ошибок с Angular и NgxFormly
https://itnext.io/error-handling-with-angular-6-and-ngx-formly-8272a3aa7871
🎁 NgxFormly — простой инструмент для создания и динамического отображения реактивных форм.
👉 https://github.com/ngx-formly/ngx-formly
__
Дополнительно рекомендую ознакомиться с несколькими статьями по этой теме:
Организация приложения с использованием NgxFormly
https://hackernoon.com/organize-your-forms-application-using-ngx-fomrly-796150461045
Обработка ошибок с Angular и NgxFormly
https://itnext.io/error-handling-with-angular-6-and-ngx-formly-8272a3aa7871
January 23, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
🚀 Для обеспечения быстрого поиска провайдеров, Angular под капотом использует Bloom Filters.
👌 Есть замечательная статья, которая подробно объясняет эту структуру данных:
https://llimllib.github.io/bloomfilter-tutorial/
👌 Есть замечательная статья, которая подробно объясняет эту структуру данных:
https://llimllib.github.io/bloomfilter-tutorial/
January 23, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 Встречайте! 🚀 Launchpad для RxJS 🎊
🧩 Исследуйте категории
🔎 Ищите операторы
📚 Изучайте их
https://reactive.how/rxjs/
🧩 Исследуйте категории
🔎 Ищите операторы
📚 Изучайте их
https://reactive.how/rxjs/
January 23, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
Лучшее из мира Angular за неделю
Дайджест №1 (18 января — 25 января)
Свежая подборка со ссылками на новости и материалы.
Приятного чтения!
https://medium.com/ngx/angular-digest-1-4a996fa78e3c
Дайджест №1 (18 января — 25 января)
Свежая подборка со ссылками на новости и материалы.
Приятного чтения!
https://medium.com/ngx/angular-digest-1-4a996fa78e3c
Medium
Лучшее из мира Angular за неделю
Дайджест №1 (18 января — 25 января)
January 25, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
🚀 NGXF - Non-State Management for Angular
Если еще не видели, то обязательно посмотрите этот репозиторий. В нем вы найдете множество нестандартных идей использования Angular DIrective, в частности:
Http, Socket.IO, Cookies, Ivy Hooks и многие другие.
👌 Как пример, использование Lazy Components с помощью директивы:
👉 Подробности в репозитории и документации:
https://github.com/ngxf/platform
https://ngxf.gitbook.io/platform/
Если еще не видели, то обязательно посмотрите этот репозиторий. В нем вы найдете множество нестандартных идей использования Angular DIrective, в частности:
Http, Socket.IO, Cookies, Ivy Hooks и многие другие.
👌 Как пример, использование Lazy Components с помощью директивы:
<ng-container *lazy="'lazy.module#LazyModule'"></ng-container>
👉 Подробности в репозитории и документации:
https://github.com/ngxf/platform
https://ngxf.gitbook.io/platform/
January 25, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
Alex 🦅 Eagle — ABC: Angular, Bazel and CLI
На AngularNYC рассказали про производительность 🥬 Bazel, и планы по улучшениям. Релиз обещают в Июле.
👉 https://www.youtube.com/watch?v=fEUgZopCK8E
На AngularNYC рассказали про производительность 🥬 Bazel, и планы по улучшениям. Релиз обещают в Июле.
👉 https://www.youtube.com/watch?v=fEUgZopCK8E
January 26, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
This media is not supported in your browser
VIEW IN TELEGRAM
Вопрос: Какой WYSIWYG Editor выбрать?
Ответ: Рекомендую посмотреть на MediumEditor.
✍️ MediumEditor — очень простой WYSIWYG Editor:
🚆 Не имеет зависимотей
🕊️ Легковестный
👷 Работает во всех браузерах
👉 https://github.com/yabwe/medium-editor
__
Так же есть множество плагинов для Картинок, Таблиц, Markdown и другого.
Ответ: Рекомендую посмотреть на MediumEditor.
✍️ MediumEditor — очень простой WYSIWYG Editor:
🚆 Не имеет зависимотей
🕊️ Легковестный
👷 Работает во всех браузерах
👉 https://github.com/yabwe/medium-editor
__
Так же есть множество плагинов для Картинок, Таблиц, Markdown и другого.
January 27, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
📚 Изучение Open Source: то, как Angular обрабатывает выражение '
✅ Front-end of a compiler
✅ Recursive descent parsing
✅ Visitor pattern
👉 Все это в трех TypeScript файлах
https://github.com/angular/angular/tree/master/packages/compiler/src/expression_parser
foo + bar | baz
'.✅ Front-end of a compiler
✅ Recursive descent parsing
✅ Visitor pattern
👉 Все это в трех TypeScript файлах
https://github.com/angular/angular/tree/master/packages/compiler/src/expression_parser
January 27, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
📚 Если вам понравилась прошлая статья про Bloom Filter, то обязательно почитайте о том:
🚀 Как реализован DI в Angular Ivy
🦄 И что такое NodeInjector
👉 https://blog.angularindepth.com/angular-di-getting-to-know-the-ivy-nodeinjector-33b815642a8e
🚀 Как реализован DI в Angular Ivy
🦄 И что такое NodeInjector
👉 https://blog.angularindepth.com/angular-di-getting-to-know-the-ivy-nodeinjector-33b815642a8e
January 29, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
📚 Для того, чтобы больше не теряться с Injector, Providers и InjectFlags в Angular, рекомендую две замечательные статьи.
🔥 Tree-shakable зависимости в Angular
https://blog.angularindepth.com/tree-shakable-dependencies-in-angular-projects-5aaa7012b9e7
🦄 Область видимости провайдеров в Angular
https://blog.angularindepth.com/a-curios-case-of-the-host-decorator-and-element-injectors-in-angular-582562abcf0a
__
Если только недавно начали знакомство с Angular, то лучше начать с официальных статей в документации:
https://angular.io/guide/dependency-injection
🔥 Tree-shakable зависимости в Angular
https://blog.angularindepth.com/tree-shakable-dependencies-in-angular-projects-5aaa7012b9e7
🦄 Область видимости провайдеров в Angular
https://blog.angularindepth.com/a-curios-case-of-the-host-decorator-and-element-injectors-in-angular-582562abcf0a
__
Если только недавно начали знакомство с Angular, то лучше начать с официальных статей в документации:
https://angular.io/guide/dependency-injection
January 29, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
🦄 Virtual DOM для Angular
Очень ранняя версия, но уже можно попробовать:
👉 https://github.com/trotyl/ng-vdom
___
Также если интересно как это работает, то есть замечательная статья:
https://blog.angularindepth.com/introducing-to-ng-vdom-a-new-way-to-write-angular-application-60a3be805e59
Очень ранняя версия, но уже можно попробовать:
@Component({ template: '' })
export class AppComponent extends Renderable {
render() {
return (<h1>Hello World!</h1>)
}
}
👉 https://github.com/trotyl/ng-vdom
___
Также если интересно как это работает, то есть замечательная статья:
https://blog.angularindepth.com/introducing-to-ng-vdom-a-new-way-to-write-angular-application-60a3be805e59
January 30, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
This media is not supported in your browser
VIEW IN TELEGRAM
🦄 Storybook
Если еще не пробовали Storybook, то обязательно попробуйте. Он позволит быстро структурировать отображение компонентов вашей библиотеки или приложения.
Для быстрого старта есть готовый schematics:
👉 https://storybook.js.org/
__
Также, если не видели, то посмотрите доклад Алексея Охрименко про Storybook:
https://youtu.be/HkVcU24Opu0
Если еще не пробовали Storybook, то обязательно попробуйте. Он позволит быстро структурировать отображение компонентов вашей библиотеки или приложения.
Для быстрого старта есть готовый schematics:
cd my-react-vue-angular-app
npx -p @storybook/cli sb init
👉 https://storybook.js.org/
__
Также, если не видели, то посмотрите доклад Алексея Охрименко про Storybook:
https://youtu.be/HkVcU24Opu0
January 30, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Вместе с обновлением RxJS (6.4.0) так же обновили документацию.
👏 Все примеры доступны на stackblitz
🔎 Добавили форму поиска оператора
👏 Все примеры доступны на stackblitz
🔎 Добавили форму поиска оператора
January 30, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
This media is not supported in your browser
VIEW IN TELEGRAM
📚 Вы знали, что TypeScript оптимизирует использование enum, если добавить const?
January 31, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
📚 Вопрос: что такое share(), publish(), multicast() в RxJS?
🦊 Заваривайте кофейку, ответ будет длинным. Прежде чем переходить к следующему пункту обязательно разберитесь с предыдущим.
📢 Что такое Subject?
Простыми словами, Subject это телефон. В него можно говорить, и из него можно слушать одновременно.
Есть различные Subject: Subject, ReplaySubject, BehaviorSubject, AsyncSubject.
🏰 Что такое multicast()?
Оператор multicast() на вход принимает Subject или его фабрику. И передавая в него различные виды Subject можно получить следующие комбинации:
Все это создает нам ConnectableObservable, который позволяет расшарить Subject на несколько потоков. Но у них всех будут разные стратегии работы, в зависимости от переданного Subject.
🍬 Немного сахара
Операторы publish(), publishReplay(), publishBehavior() используют mulicast() с определенным Subject:
👨🏫 Считаем ссылки
Оператор refCount() реализует паттерн RefCount и автоматически управляет ConnectableObservable:
— если появляется подписчик, то он делает connect;
— если появляется еще один подписчик, то ничего не происходит, используется тот же connect;
— если все подписчики отпишутся, то он сделат unsubscribe от коннекта к ConnectableObservable.
🦄 Финальный босс
Остались операторы share(), shareReplay().
❤️ Теперь ты знаешь как это работает, отправь своим коллегам, пусть они тоже узнают.
🦊 Заваривайте кофейку, ответ будет длинным. Прежде чем переходить к следующему пункту обязательно разберитесь с предыдущим.
📢 Что такое Subject?
Простыми словами, Subject это телефон. В него можно говорить, и из него можно слушать одновременно.
Есть различные Subject: Subject, ReplaySubject, BehaviorSubject, AsyncSubject.
🏰 Что такое multicast()?
Оператор multicast() на вход принимает Subject или его фабрику. И передавая в него различные виды Subject можно получить следующие комбинации:
multicast(new Subject())
multicast(new ReplaySubject())
multicast(new BehaviorSubject())
Все это создает нам ConnectableObservable, который позволяет расшарить Subject на несколько потоков. Но у них всех будут разные стратегии работы, в зависимости от переданного Subject.
🍬 Немного сахара
Операторы publish(), publishReplay(), publishBehavior() используют mulicast() с определенным Subject:
publish()
// работает аналогично multicast(new Subject())
publishReplay()
// работает аналогично multicast(new ReplaySubject())
publishBehavior()
// работает аналонично multicast(new BehaviorSubject())
👨🏫 Считаем ссылки
Оператор refCount() реализует паттерн RefCount и автоматически управляет ConnectableObservable:
— если появляется подписчик, то он делает connect;
— если появляется еще один подписчик, то ничего не происходит, используется тот же connect;
— если все подписчики отпишутся, то он сделат unsubscribe от коннекта к ConnectableObservable.
🦄 Финальный босс
Остались операторы share(), shareReplay().
share()
// работает аналонично publish() + refCount()
shareReplay({ refCount: true })
// работает аналонично publishReplay() + refCount()
❤️ Теперь ты знаешь как это работает, отправь своим коллегам, пусть они тоже узнают.
February 1, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
🦄 Если часто просматриваете код на GitHub, то попробуйте Sourcegraph для TypeScript:
👮 Type information
👉 Go to definition
🔎 Find references
🎁 Sourcegraph: Google Chrome Extention
https://chrome.google.com/webstore/detail/sourcegraph/dgjhfomjieaadpoljlnidmbgkdffpack?hl=en
👮 Type information
👉 Go to definition
🔎 Find references
🎁 Sourcegraph: Google Chrome Extention
https://chrome.google.com/webstore/detail/sourcegraph/dgjhfomjieaadpoljlnidmbgkdffpack?hl=en
February 3, 2019

🦊 Angular Fox 🚀 — русскогорящие новости сообщества
📚 Совет дня: если не получается реализовать сложную задачу, попробуйте ее скомпилировать.
👌 Visitor Pattern
https://refactoring.guru/ru/design-patterns/visitor
👌 Visitor Pattern
https://refactoring.guru/ru/design-patterns/visitor
February 3, 2019