UptimeSystem — мониторинг доступности веб-сайтов и серверов
UptimeSystem позволяет с лёгкостью отслеживать доступность ваших веб-сайтов, серверов и портов, а также контролировать выполнение ваших Cron-заданий
При этом вы можете получить мгновенные email-уведомления при изменении состояния отслеживаемых сервисов
Стоимость: #бесплатно (но есть платные тарифы)
@javascriptv
UptimeSystem позволяет с лёгкостью отслеживать доступность ваших веб-сайтов, серверов и портов, а также контролировать выполнение ваших Cron-заданий
При этом вы можете получить мгновенные email-уведомления при изменении состояния отслеживаемых сервисов
Стоимость: #бесплатно (но есть платные тарифы)
@javascriptv
❤7👍5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 CSS Dots wave - анимированная сцена, выполненная с помощью SCSS, без использования JavaScript
https://codepen.io/amit_sheen/pen/vYpZBwP
@javascriptv
https://codepen.io/amit_sheen/pen/vYpZBwP
@javascriptv
🔥17👍3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
About Us Pop-Out Effect - крутые виджеты для блока "О нас" с поп-ап жффектом.
https://codepen.io/ainalem/pen/QWGNzYm
@javascriptv
https://codepen.io/ainalem/pen/QWGNzYm
@javascriptv
👍10🔥5❤2
Как сделать кастомный Semi Donut Chart с помощью SVG
Semi Donut Chart — это одна из форм представления отчётов в виде полукруглой диаграммы. Semi Donut Chart в том случае, когда важна не математическая точность, а наглядность.
Если вы хотите сделать интересный Semi Donut Chart без использования библиотек по типу Chart.js, то этот туториал для вас.
@javascriptv
Semi Donut Chart — это одна из форм представления отчётов в виде полукруглой диаграммы. Semi Donut Chart в том случае, когда важна не математическая точность, а наглядность.
Если вы хотите сделать интересный Semi Donut Chart без использования библиотек по типу Chart.js, то этот туториал для вас.
@javascriptv
👍7🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Holiday Feature Folding Cards [Pure CSS] - красивая анимация карточек с дополнительной информацией.
https://codepen.io/Maza-designDev/pen/KKdmyGb
@javascriptv
https://codepen.io/Maza-designDev/pen/KKdmyGb
@javascriptv
🔥14❤3👍2
Интерактивная игра для прокачки и закрепления знаний о селекторах CSS. В игре даётся анимированная полка блюд, HTML форма и определённый элемент или элементы, которые надо выбрать.
https://flukeout.github.io/
@javascriptv
Please open Telegram to view this post
VIEW IN TELEGRAM
❤15👍7🔥3
🧑💻Техника каррирования в JavaScript: суть, преимущества, примеры
Каррирование — это техника, применяемая в функциональном программировании. Она позволяет преобразовать функцию с несколькими аргументами в последовательность функций, каждая из которых принимает один аргумент за раз.
Начнем с базового примера.
• Рассмотрим функцию add, принимающую 2 аргумента и возвращающую их сумму:
• Функция add принимает 2 аргумента, x и y, и возвращает их сумму. Теперь выполним каррирование данной функции. Для этого воспользуемся техникой частичного применения:
• В варианте с каррированием функция add принимает один аргумент x и возвращает другую функцию, которая принимает второй аргумент y, после чего выполняет сложение. Это позволяет вызвать add(3) и получить новую функцию, которую можно вызвать с оставшимся аргументом 4.
Каррирование обеспечивает ряд преимуществ.
▪Во-первых, оно позволяет создавать специализированные функции из более общих. Создадим переиспользуемую функцию addOne путем частичного применения функции add:
В примере addOne — это новая функция, производная от add, которая всегда прибавляет 1 к своему аргументу. Эту функцию можно повсеместно переиспользовать в базе кода без дублирования логики.
▪ Во-вторых, каррирование делает возможным создание функций высшего порядка, улучшающих компонуемость. Рассмотрим функцию multiply, принимающую 3 аргумента и возвращающую их произведение:
Выполняем каррирование функции multiply:
Вариант с каррированием позволяет связать вызовы функций в цепочку, передавая по одному аргументу за раз. Это прием улучшает читаемость кода и упрощает композицию функций:
▪ В-третьих, каррирование способствует созданию более гибких функций. Создадим вариации функции, частично применив несколько аргументов и позднее предоставив другие:
▪ Продолжение
@javascriptv
Каррирование — это техника, применяемая в функциональном программировании. Она позволяет преобразовать функцию с несколькими аргументами в последовательность функций, каждая из которых принимает один аргумент за раз.
Начнем с базового примера.
• Рассмотрим функцию add, принимающую 2 аргумента и возвращающую их сумму:
function add(x, y) {
return x + y;
}
console.log(add(3, 4)); // Вывод: 7
• Функция add принимает 2 аргумента, x и y, и возвращает их сумму. Теперь выполним каррирование данной функции. Для этого воспользуемся техникой частичного применения:
function add(x) {
return function(y) {
return x + y;
};
}
console.log(add(3)(4)); // Вывод: 7
• В варианте с каррированием функция add принимает один аргумент x и возвращает другую функцию, которая принимает второй аргумент y, после чего выполняет сложение. Это позволяет вызвать add(3) и получить новую функцию, которую можно вызвать с оставшимся аргументом 4.
Каррирование обеспечивает ряд преимуществ.
▪Во-первых, оно позволяет создавать специализированные функции из более общих. Создадим переиспользуемую функцию addOne путем частичного применения функции add:
const addOne = add(1);
console.log(addOne(5)); // Вывод: 6
console.log(addOne(10)); // Вывод: 11
В примере addOne — это новая функция, производная от add, которая всегда прибавляет 1 к своему аргументу. Эту функцию можно повсеместно переиспользовать в базе кода без дублирования логики.
▪ Во-вторых, каррирование делает возможным создание функций высшего порядка, улучшающих компонуемость. Рассмотрим функцию multiply, принимающую 3 аргумента и возвращающую их произведение:
function multiply(x, y, z) {
return x * y * z;
}
console.log(multiply(2, 3, 4)); // Вывод: 24
Выполняем каррирование функции multiply:
function multiply(x) {
return function(y) {
return function(z) {
return x * y * z;
};
};
}
console.log(multiply(2)(3)(4)); // Вывод: 24
Вариант с каррированием позволяет связать вызовы функций в цепочку, передавая по одному аргументу за раз. Это прием улучшает читаемость кода и упрощает композицию функций:
const multiplyByTwo = multiply(2);
const multiplyByThree = multiplyByTwo(3);
console.log(multiplyByThree(4)); // Вывод: 24
console.log(multiply(2)(3)(4)); // Вывод: 24
▪ В-третьих, каррирование способствует созданию более гибких функций. Создадим вариации функции, частично применив несколько аргументов и позднее предоставив другие:
▪ Продолжение
@javascriptv
👍23❤2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Создайте крутой проект для портфолио
В рамках этого видео вы поработаете с вёрсткой и JavaScript, познакомитесь с различными библиотеками и научитесь динамически комбинировать различные элементы.
По итогу вы получите клон действующего сервиса по выбору цветов:
https://www.youtube.com/watch?v=OaNICHKM5KM
#javascript #туториал
@javascriptv
В рамках этого видео вы поработаете с вёрсткой и JavaScript, познакомитесь с различными библиотеками и научитесь динамически комбинировать различные элементы.
По итогу вы получите клон действующего сервиса по выбору цветов:
https://www.youtube.com/watch?v=OaNICHKM5KM
#javascript #туториал
@javascriptv
👍14❤2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
☕️ Tiling SVG Animation - красивая анимация состава разных кофейных напитков. Реализована с помощью CSS и JS.
https://codepen.io/RominaMartin/pen/KKgQmEW
@javascriptv
https://codepen.io/RominaMartin/pen/KKgQmEW
@javascriptv
👍18🔥7❤2
1. Объект Intl
Объект Intl позволяет форматировать числа, даты и валюту с учетом разных локалей и параметров.
Он предоставляется с множеством свойств, которые обеспечивают быстрое и безупречное форматирование данных.
Рассмотрим пример форматирования валюты:
let num = 100;
let RupeeFormatter = new Intl.NumberFormat("en-IN",
{style: "currency", currency: "INR"})
let RupeeFormatted = RupeeFormatter.format(num);
console.log(RupeeFormatted)
//
₹100
let USDFormatter = new Intl.NumberFormat("en-IN",
{style: "currency", currency: "USD"})
let USDFormatted = USDFormatter.format(num)
console.log(USDFormatted)
// $100
2. Оператор ??
Оператор ?? присваивает переменной значение по умолчанию, если она null или undefined.
Используйте данный оператор, если сомневаетесь в существовании у объекта того или иного свойства. Если свойство отсутствует, переменной присваивается значение по умолчанию.
Пример:
let user = {}
let name = user.name ?? "Anonymous"
console.log(name)
// "Anonymous"
3. Object.fromEntries()
Метод Object.fromEntries() преобразует массив пар “ключ-значение” в объект.
Возьмем следующий массив и создадим из него объект, как показано ниже:
let arr = [["name", "Alice"], ["age", 25]]
let obj = Object.fromEntries(arr);
console.log(obj)
// {name: "Alice", age: 25}
4. Array.flat()
Метод Array.flat() преобразует вложенный массив в один единственный.
Поскольку вложенными массивами сложно управлять, то данный метод помогает уменьшать их вложенность.
Пример:
let arr = [1, [2, [3, [4]]]];
let flat = arr.flat(Infinity)
console.log(flat)
// [1, 2, 3, 4]
5. Оператор ?
Оператор ?. обеспечивает доступ к свойствам объекта без проверки, является ли он null или undefined.
Используйте его, когда не знаете, существует ли объект или нет.
Пример:
let user = null
let age = user?.age
console.log(age)
// undefined
6. Array.reduce()
Метод Array.reduce() применяет функцию к каждому элементу массива и суммирует результат в одно значение.
Пример сложения всех чисел массива:
let arr = [1, 2, 3, 4, 5]
let sum = arr.reduce((a, b) => a + b)
console.log(sum)
// 15
7. String.repeat()
Метод String.repeat() создает новую строку, повторяя заданную строку указанное количество раз.
Пример:
let str = "js".repeat(10)
console.log(str)
// 'jsjsjsjsjsjsjsjsjsjs'
8. Array.from()
Метод Array.from() создает новый массив из массивоподобного или итерируемого объекта.
Пример:
let str = "Hello"
let arr = Array.from(str)
console.log(arr)
// ["H", "e", "l", "l", "o"]
9. Math.hypot()
Метод Math.hypot() находит квадратный корень из суммы квадратов его аргументов.
Так, сумма квадратов 3 и 4 равна 25, а квадратный корень из 25 равен 5. Следовательно, Math.hypot(3, 4) возвращает 5.
Пример:
let hyp = Math.hypot(3, 4);
console.log(hyp)
// 5
10. Object.assign()
Метод Object.assign() копирует значения всех перечисляемых собственных свойств из одного или нескольких исходных объектов в целевой объект.
Пример:
let obj1 = {a: 1, b: 2};
let obj2 = {c: 3, d: 4};
let obj3 = Object.assign(obj1, obj2)
console.log(obj3)
// {a: 1, b: 2, c: 3, d: 4}
@javascriptv
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40❤11🔥7👎1
🔥 Дайджест полезных материалов из мира : Javascript за неделю
Почитать:
— Под капотом анимаций в React Native. Часть 2/2: Reanimated and JSI
— Подборка VS Code-плагинов для Frontend-разработчиков и не только
— Рефлексия в JavaScript и TypeScript: обзор основных техник. Как сгенерировать CLI-интерфейс для класса
— Считаем «a=1; b=2; x=pi/3; abcos(x)»
— JavaScript повсюду или почему веб-технологии захватили мир
— DOM, DI и View: деревья в Angular
— Как уменьшали размер VS Code, используя name mangling — сокращение идентификаторов во время сборки
— Как показать миллион зданий на карте — и не сломать браузер
— Одно PWA, чтоб править всеми
— Как запретить разработчику делать не то что нужно?
— Introduction to Sets in JavaScript: A Comprehensive Guide
— Pune Escorts Services: Exploring a World of Connection and Luxury
— Cortexi Reviews 2023 - Ear Drops, Ingredients, Reviews, Benefits & Price?
— Latest Newsletter: Bingeing the Past and Building the Future (Issue #129)
— Web Application Debugging with Sentry Session Replay: Comprehensive Walkthrough 🚀🚀
— Elevate Your Buttons with CopyShareify-js: Copy, Share, and More!
— The Art of Earning with Amazon's Affiliate Program
— Introducing OTP Designer jQuery Plugin
— EasyCaptchaJS: Simplified reCAPTCHA Integration
— SysCorp Technology PVT LTD
Посмотреть:
🌐 NEW Way To Create Variables In JavaScript (⏱ 12:13)
🌐 Help Me Teach You TypeScript (⏱ 00:45)
Хорошего дня!
@javascriptv
Почитать:
— Под капотом анимаций в React Native. Часть 2/2: Reanimated and JSI
— Подборка VS Code-плагинов для Frontend-разработчиков и не только
— Рефлексия в JavaScript и TypeScript: обзор основных техник. Как сгенерировать CLI-интерфейс для класса
— Считаем «a=1; b=2; x=pi/3; abcos(x)»
— JavaScript повсюду или почему веб-технологии захватили мир
— DOM, DI и View: деревья в Angular
— Как уменьшали размер VS Code, используя name mangling — сокращение идентификаторов во время сборки
— Как показать миллион зданий на карте — и не сломать браузер
— Одно PWA, чтоб править всеми
— Как запретить разработчику делать не то что нужно?
— Introduction to Sets in JavaScript: A Comprehensive Guide
— Pune Escorts Services: Exploring a World of Connection and Luxury
— Cortexi Reviews 2023 - Ear Drops, Ingredients, Reviews, Benefits & Price?
— Latest Newsletter: Bingeing the Past and Building the Future (Issue #129)
— Web Application Debugging with Sentry Session Replay: Comprehensive Walkthrough 🚀🚀
— Elevate Your Buttons with CopyShareify-js: Copy, Share, and More!
— The Art of Earning with Amazon's Affiliate Program
— Introducing OTP Designer jQuery Plugin
— EasyCaptchaJS: Simplified reCAPTCHA Integration
— SysCorp Technology PVT LTD
Посмотреть:
🌐 NEW Way To Create Variables In JavaScript (⏱ 12:13)
🌐 Help Me Teach You TypeScript (⏱ 00:45)
Хорошего дня!
@javascriptv
👍14🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Glassmorphing card - Карточка в стиле стекломорфизма с плавным 3D-наклоном при наведении, созданная с помощью библиотеки Tilt.js.
https://codepen.io/pieter-biesemans/pen/QWKmXEE
@javascriptv
https://codepen.io/pieter-biesemans/pen/QWKmXEE
@javascriptv
👍15❤3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Video Sharing Platform UI
Пользовательский интерфейс платформы обмена видео, реализован с помощью CSS и JS
#анимация #css
https://codepen.io/TurkAysenur/pen/abvrNgx
@javascriptv
Пользовательский интерфейс платформы обмена видео, реализован с помощью CSS и JS
#анимация #css
https://codepen.io/TurkAysenur/pen/abvrNgx
@javascriptv
👍10❤2🔥2
1. Замыкания
2. Промисы
3. Прототипы и прототипное наследование
В этой программе используются функции-конструкторы Animal и Dog.
📌Читать
@javascriptv
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍6👎1🔥1
🔥 Дайджест полезных материалов из мира : Javascript за неделю
Почитать:
— react-query vs SWR и избавимся ли мы от Redux?
— Абстрактные типы данных. Изложение для начинающих
— Генерируем простой web интерфейс для просмотра таблиц PostgreSQL
— Паттерны реактивности в современном JavaScript
— Ликбез по распространенным Client-Side уязвимостям
— Подробная настройка Content Security Policy (CSP)
— RxJS: как операторы высшего порядка упрощают код
— Задачи про PEG-парсеры
— Просто о Deep #1
— Добавление server side Open Graph и прочего SEO в существующую SPA
— Why Use NodeJS Over Other Languages and Runtimes?
— Web End Projects
— Will JavaScript ever die? Can WebAssembly replace JS?
— JU Query: Web App for community based learning (Project)
— What Is NodeJS?
— JavaScript Functions and Events : A Comprehensive Guide
— React interactive Components | Tabs
— What Is A JavaScript Bundler?
— Event Loop - Javascript
— React Content Rendering
Посмотреть:
🌐 CSS Anchor Is The Best New CSS Feature Since Flexbox (⏱ 15:39)
🌐 New useFormStatus React Hook (⏱ 01:00)
Хорошего дня!
@javascriptv
Почитать:
— react-query vs SWR и избавимся ли мы от Redux?
— Абстрактные типы данных. Изложение для начинающих
— Генерируем простой web интерфейс для просмотра таблиц PostgreSQL
— Паттерны реактивности в современном JavaScript
— Ликбез по распространенным Client-Side уязвимостям
— Подробная настройка Content Security Policy (CSP)
— RxJS: как операторы высшего порядка упрощают код
— Задачи про PEG-парсеры
— Просто о Deep #1
— Добавление server side Open Graph и прочего SEO в существующую SPA
— Why Use NodeJS Over Other Languages and Runtimes?
— Web End Projects
— Will JavaScript ever die? Can WebAssembly replace JS?
— JU Query: Web App for community based learning (Project)
— What Is NodeJS?
— JavaScript Functions and Events : A Comprehensive Guide
— React interactive Components | Tabs
— What Is A JavaScript Bundler?
— Event Loop - Javascript
— React Content Rendering
Посмотреть:
🌐 CSS Anchor Is The Best New CSS Feature Since Flexbox (⏱ 15:39)
🌐 New useFormStatus React Hook (⏱ 01:00)
Хорошего дня!
@javascriptv
👍8❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
https://codepen.io/kristen17/pen/GRXgqaB
@javascriptv
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Responsive Social Platform UI — красивый адаптивный интерфейс социальной платформы, реализованный с помощью Alpine.js
https://codepen.io/TurkAysenur/pen/RwWKYMO
@javascriptv
https://codepen.io/TurkAysenur/pen/RwWKYMO
@javascriptv
❤15👍3🥰2
🔥 Дайджест полезных материалов из мира : Javascript за неделю
Почитать:
— Создатель Ruby on Rails: «Turbo 8 отказывается от TypeScript»
— Как отправлять пользовательский интерфейс по API
— Проблема код-ревью: ESLint — больше, чем просто «extend»
— Бот-сказочник, или как генерировать истории с помощью ChatGPT и Telegram
— 9 лучших консольных файловых менеджеров Linux
— Создаём с нуля своё BIM-приложение для просмотра моделей IFC формата в браузере на основе open-source библиотеки IFC.js
— Обертка для indexedDB / localStorage /…
— Как грамотный подход аналитиков может сэкономить бюджет компании за счет изменения подхода к реализации проекта
— Ускорение в 30 раз — requestIdleCallback
— Повышаем продуктивность разработки: магия общей ESLint конфигурации
— Создание приложения для распознавания текста с изображений и аудиофайлов
— Bun 1.0 got released, its Packager Manager is 10x faster then yarn
— Finally you can skip dotenv in Node
— Are you still using the ternary operator to dynamically apply Tailwind styles?
— The Fundamental Concept For JavaScript Beginners
— Latest Newsletter: Circles or Squiggles? (Issue #131)
— Node.js 20.6.0: Say Goodbye to 'dotenv'
— How to resolve the error "Unable to validate properties of null value"?
— Unlock $10 and the Future of OCR with Verifik's Scan-Prompt API!
— Set Minimum Height CK Editor/CK Editor rows="" Not Working
— SplideJS Revolutionize Your Website Design with Seamless Slider Integration
Посмотреть:
🌐 HTMX заменит Frontend?! WTF? (⏱ 12:12)
🌐 5+ CSS Features That Will Change How You Code (⏱ 17:58)
🌐 NEW Way To Create Variables In JavaScript (⏱ 01:00)
Хорошего дня!
@javascriptv
Почитать:
— Создатель Ruby on Rails: «Turbo 8 отказывается от TypeScript»
— Как отправлять пользовательский интерфейс по API
— Проблема код-ревью: ESLint — больше, чем просто «extend»
— Бот-сказочник, или как генерировать истории с помощью ChatGPT и Telegram
— 9 лучших консольных файловых менеджеров Linux
— Создаём с нуля своё BIM-приложение для просмотра моделей IFC формата в браузере на основе open-source библиотеки IFC.js
— Обертка для indexedDB / localStorage /…
— Как грамотный подход аналитиков может сэкономить бюджет компании за счет изменения подхода к реализации проекта
— Ускорение в 30 раз — requestIdleCallback
— Повышаем продуктивность разработки: магия общей ESLint конфигурации
— Создание приложения для распознавания текста с изображений и аудиофайлов
— Bun 1.0 got released, its Packager Manager is 10x faster then yarn
— Finally you can skip dotenv in Node
— Are you still using the ternary operator to dynamically apply Tailwind styles?
— The Fundamental Concept For JavaScript Beginners
— Latest Newsletter: Circles or Squiggles? (Issue #131)
— Node.js 20.6.0: Say Goodbye to 'dotenv'
— How to resolve the error "Unable to validate properties of null value"?
— Unlock $10 and the Future of OCR with Verifik's Scan-Prompt API!
— Set Minimum Height CK Editor/CK Editor rows="" Not Working
— SplideJS Revolutionize Your Website Design with Seamless Slider Integration
Посмотреть:
🌐 HTMX заменит Frontend?! WTF? (⏱ 12:12)
🌐 5+ CSS Features That Will Change How You Code (⏱ 17:58)
🌐 NEW Way To Create Variables In JavaScript (⏱ 01:00)
Хорошего дня!
@javascriptv
👍6❤3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
https://codepen.io/enbee81/pen/yLyrmyg
@javascriptv
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Визуализация данных — процесс не только познавательный, но и довольно забавный. Один из самых простых и увлекательных способов визуализации данных — создание кольцевой диаграммы. Я покажу вам, как без особых усилий построить интерактивную диаграмму на JavaScript.
(Предварительный обзор кольцевой диаграммы в изображении)
Создание кольцевой диаграммы на JavaScript в четыре этапа
Посмотрим, как быстро и легко создать визуально красивую и функциональную кольцевую диаграмму на JavaScript. Этот процесс можно разделить на четыре этапа:
1) Создание базовой HTML-страницы.
2) Включение необходимых JavaScript-файлов.
3) Добавление данных.
4) Написание JS-кода.
1. Создание базовой HTML-страницы
Для начала создадим базовую HTML-страницу с элементом <div> для размещения кольцевой диаграммы. Дадим ей идентификатор. Установим ширину и высоту на 100% без полей и отступов, чтобы диаграмма отображалась во весь экран.
<html>
<head>
<title>JavaScript Donut Chart</title>
<style type="text/css">
html, body, #container {
width: 100%; height: 100%; margin: 0; padding: 0;
}
</style>
</head>
<body>
<div id="container"></div>
</body>
</html>
2. Включение необходимых JavaScript-файлов
Далее
@javascriptv
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4🔥3👎1