Интересный репозиторий, в котором собрали список из актуальных видеокурсов для Web разработчика
Awesome: списки "прикольных" ссылок по разным тематикам - популярная тема на github, здесь собраны списки, которые могут быть полезны javanoscript разработчику. Полный список списков в ссылке снизу.
https://github.com/sorrycc/awesome-javanoscript - 🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things.
https://github.com/sindresorhus/awesome-nodejs - ⚡️ Delightful Node.js packages and resources https://node.cool
https://github.com/standard/awesome-standard - Documenting the explosion of packages in the standard ecosystem! https://standardjs.com
https://github.com/sindresorhus/awesome-electron - Useful resources for creating apps with Electron
https://github.com/parro-it/awesome-micro-npm-packages - A curated list of small, focused npm packages.
https://github.com/feross/awesome-mad-science - Delightful npm packages that make you say "wow, didn't know that was possible!"
https://github.com/kucherenko/awesome-project-questions - list of questions that engineers / architects / managers should ask before the start of a project.
https://github.com/sorrycc/awesome-javanoscript - 🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things.
https://github.com/sindresorhus/awesome-nodejs - ⚡️ Delightful Node.js packages and resources https://node.cool
https://github.com/standard/awesome-standard - Documenting the explosion of packages in the standard ecosystem! https://standardjs.com
https://github.com/sindresorhus/awesome-electron - Useful resources for creating apps with Electron
https://github.com/parro-it/awesome-micro-npm-packages - A curated list of small, focused npm packages.
https://github.com/feross/awesome-mad-science - Delightful npm packages that make you say "wow, didn't know that was possible!"
https://github.com/kucherenko/awesome-project-questions - list of questions that engineers / architects / managers should ask before the start of a project.
Мы с вами привыкли, что на javanoscript решаются определенные задачи: web, backend на node.js, mobile с react native и т.п., но есть часть проектов, узнав о которых мы говором: "Да ладно, это на JavaScript?", в это посте собраны ссылки на интересные проекты, написаные на JS из разряда "Не может быть":
https://github.com/mmckegg/notevil - javanoscript javanoscript interpreter, useful for running untrusted code safely.
https://www.npmjs.com/package/google-distance - Easily get distance data between locations
https://www.npmjs.com/package/node-jvm - java virtual machine in pure node.js
https://github.com/mattytemple/speak-js - Text-to-Speech in JavaScript
https://github.com/DanielRapp/doppler - detect motion with the doppler effect using only the microphone and speakers
https://www.npmjs.com/package/cylon - JavaScript framework for robotics, drones, and the Internet of Things (IoT) https://cylonjs.com
https://github.com/rwaldron/johnny-five - JavaScript Robotics and IoT programming framework, developed at Bocoup.
https://github.com/mmckegg/notevil - javanoscript javanoscript interpreter, useful for running untrusted code safely.
https://www.npmjs.com/package/google-distance - Easily get distance data between locations
https://www.npmjs.com/package/node-jvm - java virtual machine in pure node.js
https://github.com/mattytemple/speak-js - Text-to-Speech in JavaScript
https://github.com/DanielRapp/doppler - detect motion with the doppler effect using only the microphone and speakers
https://www.npmjs.com/package/cylon - JavaScript framework for robotics, drones, and the Internet of Things (IoT) https://cylonjs.com
https://github.com/rwaldron/johnny-five - JavaScript Robotics and IoT programming framework, developed at Bocoup.
Друзья, приветствуем!
Мы рады сообщить, что несмотря на то, что режим #післясвят набирает обороты, у нас уже есть планы на следующий год! 🎉
Мы готовы анонсировать наш следующий ивент под названием Growing Seniority– состоится он 22 января и спикеры подобрались прямо скажем замечательные:
⏩
⏩
На этот раз мы очень хотим реализовать планы и не только собраться в прекрасной компании, узнать новые интересные вещи, но и сделать доброе дело – все собранные средства с этой встречи мы передадим благотворительному фонду Благомай на одну из благотворительных программ, а какую именно – сможем сказать уже совсем скоро, так как ребята как раз финализируют планы на 2020 год. Давайте делать добрые дела вместе 😊
Подробности мероприятия, описания докладов и ссылка на билеты вот здесь.
Мы рады сообщить, что несмотря на то, что режим #післясвят набирает обороты, у нас уже есть планы на следующий год! 🎉
Мы готовы анонсировать наш следующий ивент под названием Growing Seniority– состоится он 22 января и спикеры подобрались прямо скажем замечательные:
⏩
Martin Chaov, Software Architect @SBTech с темой “The Mythical Senior Developer”⏩
Oleksandr Poshtaruk, Senior front-end developer @ITecGurus с темой “Mentor it, blog it, talk it, record it”На этот раз мы очень хотим реализовать планы и не только собраться в прекрасной компании, узнать новые интересные вещи, но и сделать доброе дело – все собранные средства с этой встречи мы передадим благотворительному фонду Благомай на одну из благотворительных программ, а какую именно – сможем сказать уже совсем скоро, так как ребята как раз финализируют планы на 2020 год. Давайте делать добрые дела вместе 😊
Подробности мероприятия, описания докладов и ссылка на билеты вот здесь.
Mathrandom
Math.random(): Growing Seniority
We are the community of software engineers connected around JS-based stack of technologies. The main goal is to gather together people and share knowledge between them. We are going to deep dive into interesting areas of information technologies, development…
"Безголовые" системы управления контентом (Headless CMS) - один из популярных подходов в современном мире в сфере работы с контентом. Популярнейшая блог платформа Wordpress в последнее время часто встречается в статьях о headless CMS. Drupal уже давно себя называет headless CMS. Множество облачных сервисов и открытых проектов позиционируют себя как headless CMS.
Так в чем-же идея?
Идея простая - есть отдельный интерфейс для управления контетом и API, при помощи которого можно этот контент получить, CMS никак не навязывает как нужно делать отображение контента.
Что это нам дает:
- Разработка backend и frontend разведены в разные углы и общаются через API
- Нагрузка на сервер снижается
- Frontend становиться более самостоятельным
Что есть в node.js для того, чтобы реализовать эту концепцию?
Один из популярных проектов - https://strapi.io/, очень активно развивающийся проект, при помощи которого можно уже сейчас делать headless CMS.
Так в чем-же идея?
Идея простая - есть отдельный интерфейс для управления контетом и API, при помощи которого можно этот контент получить, CMS никак не навязывает как нужно делать отображение контента.
Что это нам дает:
- Разработка backend и frontend разведены в разные углы и общаются через API
- Нагрузка на сервер снижается
- Frontend становиться более самостоятельным
Что есть в node.js для того, чтобы реализовать эту концепцию?
Один из популярных проектов - https://strapi.io/, очень активно развивающийся проект, при помощи которого можно уже сейчас делать headless CMS.
Полнофункциональный, открытый движок wiki для построения документации.
Хорошо использовать, когда есть необходимость на своем сервере управлять технической документацией с версионированием, уровнями доступа, форматированием контента, управлением медиа файлами и др.
Хорошо использовать, когда есть необходимость на своем сервере управлять технической документацией с версионированием, уровнями доступа, форматированием контента, управлением медиа файлами и др.
А давайте поговорим про функциональное программирование? Функциональное программирование (ФП) - это раздел математики и парадигма программирования, в котором вычисление рассматривается как математическая функция:
f(x) = y
Как следствие мы можем выделить несколько свойств такого подхода: в функции не хранится состояние (stateless). Мы не можем воздействовать на то, что определено вне функции - иначе появляется побочный эффект (side effect), функция перестает быть чистой (pure function), функциональной. При вызове одной и той-же функции в одинаковым набором параметров мы всегда получаем одинаковый результат.
Математической основой ФП является лямбда-исчисления (https://en.wikipedia.org/wiki/Lambda_calculus)
В ссылках снизу вы сможете найти awesome functional programming + ссылка на книжку про функциональное программирование.
Лайкайте пост, если хотите продолжение о ФП, добавлю ссылки на популярные библиотеки для работы в функциональном стиле.
#функциональное_программирование
f(x) = y
Как следствие мы можем выделить несколько свойств такого подхода: в функции не хранится состояние (stateless). Мы не можем воздействовать на то, что определено вне функции - иначе появляется побочный эффект (side effect), функция перестает быть чистой (pure function), функциональной. При вызове одной и той-же функции в одинаковым набором параметров мы всегда получаем одинаковый результат.
Математической основой ФП является лямбда-исчисления (https://en.wikipedia.org/wiki/Lambda_calculus)
В ссылках снизу вы сможете найти awesome functional programming + ссылка на книжку про функциональное программирование.
Лайкайте пост, если хотите продолжение о ФП, добавлю ссылки на популярные библиотеки для работы в функциональном стиле.
#функциональное_программирование
Продолжаем говорить о функциональном программировании.
Давайте рассмотрим жаргон функциональных программистов, начнем с терминов, которые у всех на слуху.
Функция высшего порядка (high order function / HOF) - это функция, которая принимает в параметрах или возвращает другую функцию:
Лямбда (Lambda) - это анонимная функция, которая может использоваться как значение. Лямбды могут быть присвоены переменным. Лямбды могут передаваться в функции высшего порядка в качестве аргументов.
;(
Сегодня в ссылке под статьей популярная библиотека на javanoscript для работы в функциональном стиле.
#функциональное_программирование
Давайте рассмотрим жаргон функциональных программистов, начнем с терминов, которые у всех на слуху.
Функция высшего порядка (high order function / HOF) - это функция, которая принимает в параметрах или возвращает другую функцию:
const filter = (predicate, xs) => xs.filter(predicate)
const is = (type) => (x) => Object(x) instanceof type
filter(is(Number), [0, '1', 2, null]) // [0, 2]
Лямбда (Lambda) - это анонимная функция, которая может использоваться как значение. Лямбды могут быть присвоены переменным. Лямбды могут передаваться в функции высшего порядка в качестве аргументов.
;(
function (a) {
return a + 1
})
;(a) => a + 1
const add1 = (a) => a + 1
[1, 2].map((a) => a + 1)
Сегодня в ссылке под статьей популярная библиотека на javanoscript для работы в функциональном стиле.
#функциональное_программирование
Новый проект из цикла "Это что на javanoscript?"
Isomorphic git - git, написаный на javanoscript. Работает в браузерах и в node.js. Использует тот же формат файлов для хранения информации о изменениях, что и обычный git.
https://github.com/isomorphic-git/isomorphic-git
Isomorphic git - git, написаный на javanoscript. Работает в браузерах и в node.js. Использует тот же формат файлов для хранения информации о изменениях, что и обычный git.
https://github.com/isomorphic-git/isomorphic-git
GitHub
GitHub - isomorphic-git/isomorphic-git: A pure JavaScript implementation of git for node and browsers!
A pure JavaScript implementation of git for node and browsers! - isomorphic-git/isomorphic-git
Срочно в номер! 18 декабря 2019-го года вышла 8-я версия javanoscript engine V8:
Performance (size & speed)
- занимает ~40% меньше памяти
- оптимизация выполнения built-in fns
JS
- Optional chaining
( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining )
- Nullish coalescing
( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator )
Все подробности по ссылке!
Performance (size & speed)
- занимает ~40% меньше памяти
- оптимизация выполнения built-in fns
JS
- Optional chaining
const nameLength = db?.user?.name?.length;( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining )
- Nullish coalescing
props.enabled ?? true( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing_operator )
Все подробности по ссылке!
Следующие 2 термина из жаргона функционального программиста это моноид и монада. Итак давайте разберемся, что это такое и зачем это нужно:
Моноид (monoid) - объект с функцией, которая может комбинировать текущий объект с объектом такого-же типа. Например:
1 + 1
[1, 2].concat([3, 4])
Когда мы говорим о моноидах, то должен существовать нейтральный элемент (identity), который при комбинировании не влияет на текущий объект:
1 + 0
0 - нейтральный элемент (identity)
[1,2].concat([])
[] - нейтральный элемент (identity)
Монада (Monad) - сущность из мира функционального программирования, которая используется для композиции функций. Для простоты понимания можно сказать, что при помощи монад однотипные функции выстраиваются в цепочку. Пример:
// Implementation
Array.prototype.chain = function (f) {
return this.reduce((acc, it) => acc.concat(f(it)), [])
}
// Usage
Array.of('cat,dog', 'fish,bird').chain((a) => a.split(',')) // ['cat', 'dog', 'fish', 'bird']
// Contrast to map
Array.of('cat,dog', 'fish,bird').map((a) => a.split(',')) // [['cat', 'dog'], ['fish', 'bird']]
На практике монадами называют объекты, у которых есть функции of и chain. chain похож на map, за исключением того, что он производит разложение вложенных объектов. chain так же известен как flatmap или bind.
Больше про монады в статье по ссылке внизу.
#функциональное_программирование
Моноид (monoid) - объект с функцией, которая может комбинировать текущий объект с объектом такого-же типа. Например:
1 + 1
[1, 2].concat([3, 4])
Когда мы говорим о моноидах, то должен существовать нейтральный элемент (identity), который при комбинировании не влияет на текущий объект:
1 + 0
0 - нейтральный элемент (identity)
[1,2].concat([])
[] - нейтральный элемент (identity)
Монада (Monad) - сущность из мира функционального программирования, которая используется для композиции функций. Для простоты понимания можно сказать, что при помощи монад однотипные функции выстраиваются в цепочку. Пример:
// Implementation
Array.prototype.chain = function (f) {
return this.reduce((acc, it) => acc.concat(f(it)), [])
}
// Usage
Array.of('cat,dog', 'fish,bird').chain((a) => a.split(',')) // ['cat', 'dog', 'fish', 'bird']
// Contrast to map
Array.of('cat,dog', 'fish,bird').map((a) => a.split(',')) // [['cat', 'dog'], ['fish', 'bird']]
На практике монадами называют объекты, у которых есть функции of и chain. chain похож на map, за исключением того, что он производит разложение вложенных объектов. chain так же известен как flatmap или bind.
Больше про монады в статье по ссылке внизу.
#функциональное_программирование
Это что на Javanoscript?
WebTorrent - torrent client написаный на javanoscript, который работает и в браузере и в node.js.
https://github.com/webtorrent/webtorrent
WebTorrent - torrent client написаный на javanoscript, который работает и в браузере и в node.js.
https://github.com/webtorrent/webtorrent
GitHub
GitHub - webtorrent/webtorrent: ⚡️ Streaming torrent client for the web
⚡️ Streaming torrent client for the web. Contribute to webtorrent/webtorrent development by creating an account on GitHub.
State Of Javanoscript 2019 🔥
Тренды, Фреймворки, Зарплаты
Скандалы, Интриги, Расследования
https://t.co/qcbd2kkHKK?amp=1
Тренды, Фреймворки, Зарплаты
Скандалы, Интриги, Расследования
https://t.co/qcbd2kkHKK?amp=1
Stateofjs
The State of JavaScript 2019
Discover the most popular JavaScript features & technologies of the year.
Это что на JavaScript?
Brain.js - библиотека для создания нейронных сетей, написана на JavaScript. Работает в браузерах и в node.js. Есть GPU ускорение. Быстрая, простая и легкая в использовании библиотека.
https://github.com/BrainJS/brain.js
Brain.js - библиотека для создания нейронных сетей, написана на JavaScript. Работает в браузерах и в node.js. Есть GPU ускорение. Быстрая, простая и легкая в использовании библиотека.
https://github.com/BrainJS/brain.js
GitHub
GitHub - BrainJS/brain.js: 🤖 GPU accelerated Neural networks in JavaScript for Browsers and Node.js
🤖 GPU accelerated Neural networks in JavaScript for Browsers and Node.js - BrainJS/brain.js
Библиотека для работы со всякими математическими штуками, например можно легко переводить разные градусы Цельсия в Фаренгейта, дюймы в сантиметры и т.п.
Можно сказать, что это инженерный калькулятор на javanoscript.
https://github.com/josdejong/mathjs
Можно сказать, что это инженерный калькулятор на javanoscript.
https://github.com/josdejong/mathjs
GitHub
GitHub - josdejong/mathjs: An extensive math library for JavaScript and Node.js
An extensive math library for JavaScript and Node.js - josdejong/mathjs