JS Playground - еще одна песочница для экспериментов с javanoscript. Из особенностей можно отметить интересный способ визуализации алгоритмов. Проект написан на React и TypeScript.
🔗 https://github.com/huytd/js-playground
#github #repo #typenoscript #opensource
🔗 https://github.com/huytd/js-playground
#github #repo #typenoscript #opensource
Большая статья о том, как можно хранить данные в браузере, описываются способы, которые уже устарели, актуальные и те, которые еще только будут в браузерах.
TL;DR
- Variables
- DOM Storage
- Web Storage (localStorage and sessionStorage)
- IndexedDB
- Cache API
- Cookies
- File System Access API (new)
- File and Directory Entries API (new)
- window.name (old)
- WebSQL (old)
- AppCache (old)
Пишите еще, если вспомнили способы :) В прошлом были еще способы хранить данные, которые не указаны тут, например Flash.
🔗 https://blog.openreplay.com/the-ultimate-guide-to-browser-side-storage
#article #storage #browser
TL;DR
- Variables
- DOM Storage
- Web Storage (localStorage and sessionStorage)
- IndexedDB
- Cache API
- Cookies
- File System Access API (new)
- File and Directory Entries API (new)
- window.name (old)
- WebSQL (old)
- AppCache (old)
Пишите еще, если вспомнили способы :) В прошлом были еще способы хранить данные, которые не указаны тут, например Flash.
🔗 https://blog.openreplay.com/the-ultimate-guide-to-browser-side-storage
#article #storage #browser
Openreplay
The Ultimate Guide to Browser-Side Storage
Learn how many different ways are there to store data on the browser side and which ones you should avoid!
Какой язык программирования вы бы хотели выучить, если бы не было JavaScript?
Anonymous Poll
15%
C/C++
41%
Python
17%
Java
19%
Rust
25%
Go
13%
C#
5%
PHP
6%
Ruby
13%
Swift
3%
Other (напишу в комментарии)
По опросу о популярности языков программирования среди участников нашего сообщества уверенно побеждает python!
В связи с чем, приглашаем вас на митап дружественного сообщества!
Generators, serverless - ключевые слова данного мероприятия очень похожи на то, что происходит в мире javanoscript, давайте посмотрим, что похоже а что отличается в js и python.
🔗 https://bit.ly/2V5f5ai
#python #meetup #generators #serverless
В связи с чем, приглашаем вас на митап дружественного сообщества!
Generators, serverless - ключевые слова данного мероприятия очень похожи на то, что происходит в мире javanoscript, давайте посмотрим, что похоже а что отличается в js и python.
🔗 https://bit.ly/2V5f5ai
#python #meetup #generators #serverless
Большая статья о том, как расширения для Chrome влияют на производительность браузера.
🔗 https://www.debugbear.com/blog/chrome-extension-performance-2021
#chrome #extension #performance #browser
🔗 https://www.debugbear.com/blog/chrome-extension-performance-2021
#chrome #extension #performance #browser
Курс по Docker и Ansbile (15,5 часов видео-лекций, задания и упражнения)
- Рассматривается deploy реального стека приложений на кластер серверов Swarm с помощью Ansible.
- Детально разбираются такие технологии, как Docker, Docker Compose, Docker Swarm и Ansible.
- При этом курс содержит не только базу для новичков, но и более сложные темы, к примеру отладку и асинхронные задачи в Ansible или управление кластером при помощи модулей Docker.
- В результате курса вы получите знания и навыки, которых будет достаточно для того, чтобы автоматизировать своё работу на проекте и эффективно доставлять реальные приложения на production.
- Для поддержки у вас всегда будет доступ к чату, где вы можете задавать вопросы преподавателю или другим студентам.
Для подписчиков нашей группы - промокод для покупки✅
#ads #discount
- Рассматривается deploy реального стека приложений на кластер серверов Swarm с помощью Ansible.
- Детально разбираются такие технологии, как Docker, Docker Compose, Docker Swarm и Ansible.
- При этом курс содержит не только базу для новичков, но и более сложные темы, к примеру отладку и асинхронные задачи в Ansible или управление кластером при помощи модулей Docker.
- В результате курса вы получите знания и навыки, которых будет достаточно для того, чтобы автоматизировать своё работу на проекте и эффективно доставлять реальные приложения на production.
- Для поддержки у вас всегда будет доступ к чату, где вы можете задавать вопросы преподавателю или другим студентам.
Для подписчиков нашей группы - промокод для покупки✅
#ads #discount
Udemy
Docker + Ansible - с нуля, деплой и управление Swarm
Полный курс по работе с Docker, Docker Compose, Docker Swarm и Ansible на примере выкладки реального стека проекта
Набор лучших практик для написания интеграционных тестов на node.js.
🔗 https://github.com/testjavanoscript/nodejs-integration-tests-best-practices
#nodejs #repo #github #tests
🔗 https://github.com/testjavanoscript/nodejs-integration-tests-best-practices
#nodejs #repo #github #tests
This media is not supported in your browser
VIEW IN TELEGRAM
Mapus - инструмент для совместной работы над картами, похож на figma, но для карт. Проект написан на javanoscript, использует leaflet.
Автор проекта Alyssa X - девятнадцатилетняя девушка из Калифорнии, в ее гитхабе можно найти много классных проектов.
🔗 https://github.com/alyssaxuu/mapus
🔗 https://www.producthunt.com/posts/mapus
#maps #github #repo #javanoscript #producthunt
Автор проекта Alyssa X - девятнадцатилетняя девушка из Калифорнии, в ее гитхабе можно найти много классных проектов.
🔗 https://github.com/alyssaxuu/mapus
🔗 https://www.producthunt.com/posts/mapus
#maps #github #repo #javanoscript #producthunt
Онлайн - заседание круглого стола «Современный Frontend»
🗓12 августа
⏰19:30 (МСК)
Участники:
📌 Денис Радин
(организатор JS Nation и React Summit)
📌Виталий Фридман
(сооснователь Smashing Magazine)
📌Андрей Кучеренко
(Chief Software Engineer in EPAM Systems, лидер Math.random(): javanoscript community)
📌Ирина Левина
(драйвер Frontspot сообщества, модератор дискуссии)
Лидеры frontend-индустрии встречаются, чтобы обсудить:
- Как выглядит современный frontend?
- Возрождается ли статический интернет?
- “No Code or coding is future?”
- Современное обучение.
Регистрация ✅
🗓12 августа
⏰19:30 (МСК)
Участники:
📌 Денис Радин
(организатор JS Nation и React Summit)
📌Виталий Фридман
(сооснователь Smashing Magazine)
📌Андрей Кучеренко
(Chief Software Engineer in EPAM Systems, лидер Math.random(): javanoscript community)
📌Ирина Левина
(драйвер Frontspot сообщества, модератор дискуссии)
Лидеры frontend-индустрии встречаются, чтобы обсудить:
- Как выглядит современный frontend?
- Возрождается ли статический интернет?
- “No Code or coding is future?”
- Современное обучение.
Регистрация ✅
Agora Flat - десктопный клиент для онлайн класса. Приложение сделано на React и Electron.
Для организации аудио/видео конференции используется сервис agora.io. Это тот самый сервис, который используется в недавно шумевшей социальной сети clubhouse.
🔗 https://github.com/netless-io/flat
#github #repo #webrtc #typenoscript #react #agora
Для организации аудио/видео конференции используется сервис agora.io. Это тот самый сервис, который используется в недавно шумевшей социальной сети clubhouse.
🔗 https://github.com/netless-io/flat
#github #repo #webrtc #typenoscript #react #agora
🔥Вышла новая версия фреймворка Vue 3.2.
Подробная информация о нововведения по ссылке:
🔗 https://dev.to/web2033/vue-3-2-released-1n8b
#vue #release
Подробная информация о нововведения по ссылке:
🔗 https://dev.to/web2033/vue-3-2-released-1n8b
#vue #release
This media is not supported in your browser
VIEW IN TELEGRAM
🪄Магия на github! Просто нажмите "." находясь в любом репозитории на github!
🔗 https://twitter.com/github/status/1425505817827151872
#github #shortcut #news #tip
🔗 https://twitter.com/github/status/1425505817827151872
#github #shortcut #news #tip
- Вы продоёте рыбов?
- Нет просто показываю.
- Красивое...
Хотите показывать рыбов 🐟, держите генератор - fishdraw!
fishdraw - генерирует noscript картинки с нарисоваными рыбами. Генератор написан на javanoscript без зависимостей. Длинный, как сеть рыбака, файл, который нарисует и назовет тысячи картинок рыбов.
🔗 https://github.com/LingDong-/fishdraw
🔗 https://fishdraw.glitch.me/
#javanoscript #noscript #meme #repo #github
- Нет просто показываю.
- Красивое...
Хотите показывать рыбов 🐟, держите генератор - fishdraw!
fishdraw - генерирует noscript картинки с нарисоваными рыбами. Генератор написан на javanoscript без зависимостей. Длинный, как сеть рыбака, файл, который нарисует и назовет тысячи картинок рыбов.
🔗 https://github.com/LingDong-/fishdraw
🔗 https://fishdraw.glitch.me/
#javanoscript #noscript #meme #repo #github
Здравствуйте, друзья!
Сегодня мы начинаем тематические недели на Math.random().
Хедлайнером и повелителем канала на этой неделе будет Костя Пальчик - замечательный разработчик с большим опытом, любитель реактивного программирования, адепт NoCode решений, автор фреймворка ReсksJS, автор проекта ThinkRx.
Задавайте вопросы и пишите комментарии, а в конце недели ждите полноценный стрим с Костей с ответами на вопросы!
#thematicweek #nocode #reactive #recksjs
Сегодня мы начинаем тематические недели на Math.random().
Хедлайнером и повелителем канала на этой неделе будет Костя Пальчик - замечательный разработчик с большим опытом, любитель реактивного программирования, адепт NoCode решений, автор фреймворка ReсksJS, автор проекта ThinkRx.
Задавайте вопросы и пишите комментарии, а в конце недели ждите полноценный стрим с Костей с ответами на вопросы!
#thematicweek #nocode #reactive #recksjs
Всем привет, меня зовут Костя! 🙂
Андрей предложил мне "форс пуш" права на канал на эту неделю, чтобы я рассказал о какой-то теме!
Когда-то я писал на Angular(js) и тревожился что не учу React. Потом я попробовал React и начал мучится что не знаю Vue. Попробовал Vue — а на рынке есть ещё Ember, CycleJS, Svelte, Solid, и т.д.
Поэтому я выбрал тему фреймворков. Только я хочу рассказать не про их отличия, а чем они схожи.
Надеюсь, это поможет чьему-то fear of missing out.
Мы поговорим о том как фреймворки подходят к change detection, описывают UI (темплейты/JSX), компилируются и имплементируют SSR/SSG.
Посты будут короткие, но с полезными ссылками. Рассчитаны на junior / middle JS разработчиков.
Пишите в комментариях своё мнение, нравится/нет, задавайте вопросы.
И первый пост прямо сейчас:
Андрей предложил мне "форс пуш" права на канал на эту неделю, чтобы я рассказал о какой-то теме!
Когда-то я писал на Angular(js) и тревожился что не учу React. Потом я попробовал React и начал мучится что не знаю Vue. Попробовал Vue — а на рынке есть ещё Ember, CycleJS, Svelte, Solid, и т.д.
Поэтому я выбрал тему фреймворков. Только я хочу рассказать не про их отличия, а чем они схожи.
Надеюсь, это поможет чьему-то fear of missing out.
Мы поговорим о том как фреймворки подходят к change detection, описывают UI (темплейты/JSX), компилируются и имплементируют SSR/SSG.
Посты будут короткие, но с полезными ссылками. Рассчитаны на junior / middle JS разработчиков.
Пишите в комментариях своё мнение, нравится/нет, задавайте вопросы.
И первый пост прямо сейчас:
Change detection & Reactivity
Начнём с того как фреймворк узнаёт что данные в нашей компоненте изменились и её нужно перерисовать.
Допустим, у нас есть славный компонент Counter, вы все его уже когда-то видели:
Dirty check
Довольно простой метод: мы сохраняем снэпшот состояния компоненты, и при любом взаимодействии с UI (как клик по кнопке) вызываем все хэнлеры, а затем проходимся по всем ключам состояния и проверяем не изменился ли стэйт по сравнению со снэпшотом. Если изменился — перерисовываем компоненту. Для нас это обычно выглядит как простой
Таким методом пользуется Angular по умолчанию (angular ещё будет в reactive streams ниже)
Reactive atoms / Invalidation API
Некоторые фреймворки предоставляют API для точечного изменения состояния. Когда мы используем этот API (изменяем стэйт) — фреймворк понимает что произошло изменение и планирует перерисовку компоненты. Т.к. Javanoscript — довольно гибкий язык, такой API может скрываться под разным видом:
Отдельно нужно описать Svelte и Vue, которые этот API прячут от девелоперов:
Svelte компилирует
а Vue с их
N.B: некоторые API регистрируют также и считывание данных из атомов, чтобы точечно обновлять DOM только где этот стэйт используется.
Reactive streams
Мы, разработчики, иногда хотим управлять не дискретными срезами состояний, а потоком изменений. Так, например, мы сможем узнать как часто пользователь кликает
Такой метод используют Аngular (в OnPush стратегии) и circlejs (ну, и мой экпериментальный recksjs, там вообще везде потоки).
Реактивные потоки относительно легко приделать к реактивным атомам / invalidation API, так что они часто встречаются в код базах с другими фреймворками.
.
Как видно, реализации немного разные, но цель одна и та же: пнуть фреймворк чтобы он перерисовал компоненту.
В следующий раз мы поговорим о том как в разных фреймворках мы задаём этот самый UI, который нужно перерисовывать.
Оставляйте свои комментарии и подключайтесь к math.random коммьюнити — мы любим говорить о технологиях.
До завтра!
___
Если у вас мало вкладок в браузере:
A Hands-on Introduction to Fine-Grained Reactivity — https://dev.to/ryansolid/a-hands-on-introduction-to-fine-grained-reactivity-3ndf
Reactivity in Depth — https://v3.vuejs.org/guide/reactivity.htm
Angular Change Detection - How Does It Really Work? — https://blog.angular-university.io/how-does-angular-2-change-detection-really-work/
#thematicweek #frameworksweek
Начнём с того как фреймворк узнаёт что данные в нашей компоненте изменились и её нужно перерисовать.
Допустим, у нас есть славный компонент Counter, вы все его уже когда-то видели:
[-] count [+]. Пользователь нажал кнопку [+] и мы увеличиваем некий count на +1. Это просто. А фреймворк в этот момент должен понять что нужно перерисовать компоненту с новым count. Давайте рассмотрим на примерах как фреймворки понимают что произошло изменение данных:Dirty check
Довольно простой метод: мы сохраняем снэпшот состояния компоненты, и при любом взаимодействии с UI (как клик по кнопке) вызываем все хэнлеры, а затем проходимся по всем ключам состояния и проверяем не изменился ли стэйт по сравнению со снэпшотом. Если изменился — перерисовываем компоненту. Для нас это обычно выглядит как простой
this.count += 1.Таким методом пользуется Angular по умолчанию (angular ещё будет в reactive streams ниже)
Reactive atoms / Invalidation API
Некоторые фреймворки предоставляют API для точечного изменения состояния. Когда мы используем этот API (изменяем стэйт) — фреймворк понимает что произошло изменение и планирует перерисовку компоненты. Т.к. Javanoscript — довольно гибкий язык, такой API может скрываться под разным видом:
count(count() + 1) в Knockout, setCount(getCount() + 1) в React и SolidJS.Отдельно нужно описать Svelte и Vue, которые этот API прячут от девелоперов:
Svelte компилирует
count += 1 в вызов API (мы о компиляторах ещё потом поговорим)а Vue с их
this.count += 1 в версии 2.x использовал Object.defineProperty c get/set парой, а с 3-й версии они перешли на Proxy для вызова своего API "под капотом".N.B: некоторые API регистрируют также и считывание данных из атомов, чтобы точечно обновлять DOM только где этот стэйт используется.
Reactive streams
Мы, разработчики, иногда хотим управлять не дискретными срезами состояний, а потоком изменений. Так, например, мы сможем узнать как часто пользователь кликает
[-] и создать особый обработчик для жёстких минусаторов. Для этого хорошо подходят реактивные потоки. Они предоставляют API нам для добавления логики и фреймворку для "слежения" за изменениями.clicks$.next(1);count$ = clicks$.scan((acc, curr) => acc + curr, 0);Такой метод используют Аngular (в OnPush стратегии) и circlejs (ну, и мой экпериментальный recksjs, там вообще везде потоки).
Реактивные потоки относительно легко приделать к реактивным атомам / invalidation API, так что они часто встречаются в код базах с другими фреймворками.
.
Как видно, реализации немного разные, но цель одна и та же: пнуть фреймворк чтобы он перерисовал компоненту.
В следующий раз мы поговорим о том как в разных фреймворках мы задаём этот самый UI, который нужно перерисовывать.
Оставляйте свои комментарии и подключайтесь к math.random коммьюнити — мы любим говорить о технологиях.
До завтра!
___
Если у вас мало вкладок в браузере:
A Hands-on Introduction to Fine-Grained Reactivity — https://dev.to/ryansolid/a-hands-on-introduction-to-fine-grained-reactivity-3ndf
Reactivity in Depth — https://v3.vuejs.org/guide/reactivity.htm
Angular Change Detection - How Does It Really Work? — https://blog.angular-university.io/how-does-angular-2-change-detection-really-work/
#thematicweek #frameworksweek