This media is not supported in your browser
VIEW IN TELEGRAM
Jello Tab Bar - красивый анимированный tabbar, написанный с помощью SVG, CSS и JavaScript
https://codepen.io/oey_amir/pen/xxpZgEW
@javascriptv
https://codepen.io/oey_amir/pen/xxpZgEW
@javascriptv
👍21🔥6❤2
DeepScan - полезный инструмент, который проводит анализ исходного кода.
Программа отлично работает в обнаружении возможных ошибок и уязвимостей в JavaScript приложениях.
Она проводит подробное сканирование и анализ вашего кода, выявляя проблемные секции, такие как неправильное использование переменных, возможные утечки памяти и небезопасные операции с данными.
https://deepscan.io/
@javascriptv
Программа отлично работает в обнаружении возможных ошибок и уязвимостей в JavaScript приложениях.
Она проводит подробное сканирование и анализ вашего кода, выявляя проблемные секции, такие как неправильное использование переменных, возможные утечки памяти и небезопасные операции с данными.
https://deepscan.io/
@javascriptv
👍12🥰3🔥2
▪ Переход на полноэкранный режим
function fullScreen() {
const el = document.documentElement
const rfs =
el.requestFullScreen ||
el.webkitRequestFullScreen ||
el.mozRequestFullScreen ||
el.msRequestFullscreen
if(typeof rfs != "undefined" && rfs) {
rfs.call(el)
}
}
fullScreen()
▪ Выход из полноэкранного режима
function exitScreen() {
if (document.exitFullscreen) {
document.exitFullscreen()
}
else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen()
}
else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen()
}
else if (document.msExitFullscreen) {
document.msExitFullscreen()
}
if(typeof cfs != "undefined" && cfs) {
cfs.call(el)
}
}
exitScreen()
▪ Вывод страницы
Чтобы вывести текущую страницу:
window.print()
▪ Изменение стиля выводимого контента
Чтобы при выводе страницы изменить текущий макет:
<style>
/* Используйте @media print, чтобы настроить стиль вывода */
@media print {
.noprint {
display: none;
}
}
</style>
<div class="print">print</div>
<div class="noprint">noprint</div>
▪ Блокировка события закрытия
Чтобы оградить пользователя от обновления или закрытия браузера, запустите событие beforeunload (некоторые браузеры не кастомизируют текстовой контент):
window.onbeforeunload = function(){
return 'Are you sure you want to leave the haorooms blog
?';
};
▪ Запись экрана
Чтобы сделать запись текущего экрана для ее передачи или загрузки:
const streamPromise = navigator.mediaDevices.getDisplayMedia()
streamPromise.then(stream => {
var recordedChunks = [];// записанные видеоданные
var options = { mimeType: "video/webm; codecs=vp9" };// Установите формат кодирования
var mediaRecorder = new MediaRecorder(stream, options);// Инициализируйте экземпляр MediaRecorder
mediaRecorder.ondataavailable = handleDataAvailable;// Установите обратный вызов, когда данные будут доступны (конец записи экрана)
mediaRecorder.start();
// Фрагментация видео
function handleDataAvailable(event) {
if (event.data.size > 0) {
recordedChunks.push(event.data);// Добавление данных, event.data - объект BLOB
download();// Инкапсуляция в объект BLOB и загрузка
}
}
// Загрузка файла
function download() {
var blob = new Blob(recordedChunks, {
type: "video/webm"
});
// Видео можно загрузить здесь в бэкенд
var url = URL.createObjectURL(blob);
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
a.href = url;
a.download = "test.webm";
a.click();
window.URL.revokeObjectURL(url);
}
})
▪ Определение состояния горизонтального и вертикального экранов
Чтобы оценить состояние горизонтального или вертикального экрана мобильного телефона:
function hengshuping(){
if(window.orientation==180||window.orientation==0){
alert("Portrait state
!")
}
if(window.orientation==90||window.orientation==-90){
alert("Landscape state
!")
}
}
window.addEventListener("onorientationchange" in window ? "orientationchange" : "resize", hengshuping, false);
▪ Различение стилей для горизонтального и вертикального экранов
Чтобы установить разные стили для горизонтального и вертикального экранов:
<style>
@media all and (orientation : landscape) {
body {
background-color: #ff0000;
}
}
@media all and (orientation : portrait) {
body {
background-color: #00ff00;
}
}
</style>
▪ Продолжение
@javascriptv
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥4🥰2❤1😁1
Yotako.io — крутой инструмент дизайна в код с помощью искусственного интеллекта
С помощью инструмента можно без труда экспортировать дизайн из графических редакторов, таких как Sketch и Adobe XD, и преобразовать их в код на различных языках программирования и фреймворках
При этом Yotako.io также обеспечивает синхронизацию между дизайном и кодом, что позволяет легко вносить изменения в процессе разработки
Стоимость: #бесплатно (но есть платные тарифы).
#дизайн #code #ии
@javascriptv
С помощью инструмента можно без труда экспортировать дизайн из графических редакторов, таких как Sketch и Adobe XD, и преобразовать их в код на различных языках программирования и фреймворках
При этом Yotako.io также обеспечивает синхронизацию между дизайном и кодом, что позволяет легко вносить изменения в процессе разработки
Стоимость: #бесплатно (но есть платные тарифы).
#дизайн #code #ии
@javascriptv
👍9🔥3❤2🤔1
Преимущества совместного использования Selenium и JavaScript
• Кросс-браузерность. Позволяет беспроблемно запускать скрипты автоматизации в разных браузерах.
• Интеграция с фреймворками для тестирования JavaScript. Обеспечивает легкую интеграцию с такими фреймворками, как Mocha и Jest, для эффективного управления тестированием.
• Мощная поддержка сообщества. Активно действующие сообщества Selenium и JavaScript предоставляют доступ к обширной документации, обучающим руководствам и ресурсам.
Установка Selenium WebDriver в JavaScript
npm install selenium-webdriver
const { Builder, By, Key, until } = require('selenium-webdriver');
const driver = new Builder().forBrowser('chrome').build();
Автоматизация браузера с помощью Selenium и примеры кода читать тут
@javascriptv
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍3🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Microsoft Homepage Clone - Клон домашней страницы Microsoft. Реализована с помощью CSS и Js.
https://codepen.io/bradtraversy/pen/ZEGGNRb
@javascriptv
https://codepen.io/bradtraversy/pen/ZEGGNRb
@javascriptv
👍13❤1👎1🔥1
Сбер открыл доступ к новым нейролингвистическим моделям
Сбер выпустил модель ruGPT-3.5 13B для генерации русского текста и модель mGPT 13B для генерации текста на 61 языке.
Модель ruGPT-3.5 13B оснащена 13 миллиардов параметров и может генерировать текст на русском, английском, а также неплохо разбирается в языках программирования. Модель mGPT 13B доступна по открытой лицензии MIT и может генерировать текст на 61 языке, в том числе на языках стран СНГ и малочисленных этнических групп в России.
«Сбер как ведущая технологическая компания выступает за открытость технологий и обмен опытом с профессиональным сообществом, ведь любые разработки и исследования имеют ограниченный потенциал в замкнутой среде. Поэтому, мы уверены, что публикация обученных моделей подстегнёт работу российских исследователей и разработчиков, нуждающихся в сверхмощных языковых моделях, создавать на их базе собственные технологические продукты и решения», —следует из заявления старшего вице-президента, CTO, руководитель блока «Технологии» Сбера Андрея Белевцева.
@javascriptv
Сбер выпустил модель ruGPT-3.5 13B для генерации русского текста и модель mGPT 13B для генерации текста на 61 языке.
Модель ruGPT-3.5 13B оснащена 13 миллиардов параметров и может генерировать текст на русском, английском, а также неплохо разбирается в языках программирования. Модель mGPT 13B доступна по открытой лицензии MIT и может генерировать текст на 61 языке, в том числе на языках стран СНГ и малочисленных этнических групп в России.
«Сбер как ведущая технологическая компания выступает за открытость технологий и обмен опытом с профессиональным сообществом, ведь любые разработки и исследования имеют ограниченный потенциал в замкнутой среде. Поэтому, мы уверены, что публикация обученных моделей подстегнёт работу российских исследователей и разработчиков, нуждающихся в сверхмощных языковых моделях, создавать на их базе собственные технологические продукты и решения», —следует из заявления старшего вице-президента, CTO, руководитель блока «Технологии» Сбера Андрея Белевцева.
@javascriptv
🔥11👍5❤2👎2
This media is not supported in your browser
VIEW IN TELEGRAM
49. parallax bird - красивый параллакс, сделанный с помощью Less и библиотеки Three.js
https://codepen.io/ycw/pen/OJpPmOq
@javascriptv
https://codepen.io/ycw/pen/OJpPmOq
@javascriptv
❤9👍7🔥5🥰1
This media is not supported in your browser
VIEW IN TELEGRAM
Hex/RGB Auto Color Converter in Vue - конвертор цветов из HEX в RGB, выполненный с помощью SCSS и библиотеки Vue.js.
https://codepen.io/collinsworth/pen/WNXxQVP
@javascriptv
https://codepen.io/collinsworth/pen/WNXxQVP
@javascriptv
👍13🔥3❤1
👨💻Как работает JavaScript Proxy
• Первый шаг в работе с JavaScript Proxy — создание прокси-объекта с помощью синтаксиса new Proxy(). Этот синтаксис позволяет определить целевой объект и объект-обработчик, содержащий ловушки — специальные методы, которые перехватывают операции с прокси и позволяют настраивать их поведение.
Например, ловушка get перехватывает доступ к свойствам прокси-объекта. Определив эту ловушку, можно настроить реакцию прокси при обращение к свойству. Аналогично, ловушка set перехватывает присвоение свойства, позволяя валидировать или изменить присвоенное значение.
• В целом, ловушки в контексте JavaScript Proxy — это специальные методы, которые действуют как посредники, перехватывая и позволяя настраивать такие действия с прокси-объектом, как доступ к свойствам и присвоение. Они предоставляют разработчикам тонкий контроль над поведением прокси, позволяя настраивать и манипулировать им по мере необходимости.
Пример:
▪️Здесь ловушка set перехватывает присвоение свойства прокси-объекту и регистрирует присвоенное свойство и значение, прежде чем изменить его в целевом объекте.
Используя эти и другие ловушки, можно эффективно настраивать и контролировать поведение прокси-объектов в соответствии с потребностями конкретной разработки.
Перехват операций с объектами с использованием прокси
• JavaScript Proxy позволяет перехватывать и настраивать различные операции с объектами. Рассмотрим несколько примеров.
Удаление свойства:
▪️В этом примере ловушка deleteProperty перехватывает удаление свойства прокси-объекта. Можно настроить поведение так, чтобы залоггировать удаляемое свойство и затем удалить его из целевого объекта.
• Вызов функции:
▪️В этом случае ловушка apply перехватывает вызов функции прокси-объекта. Можно настроить поведение так, чтобы залоггировать имя функции перед ее вызовом с предоставленными аргументами.
📌Продолжение
@javascriptv
• Первый шаг в работе с JavaScript Proxy — создание прокси-объекта с помощью синтаксиса new Proxy(). Этот синтаксис позволяет определить целевой объект и объект-обработчик, содержащий ловушки — специальные методы, которые перехватывают операции с прокси и позволяют настраивать их поведение.
Например, ловушка get перехватывает доступ к свойствам прокси-объекта. Определив эту ловушку, можно настроить реакцию прокси при обращение к свойству. Аналогично, ловушка set перехватывает присвоение свойства, позволяя валидировать или изменить присвоенное значение.
• В целом, ловушки в контексте JavaScript Proxy — это специальные методы, которые действуют как посредники, перехватывая и позволяя настраивать такие действия с прокси-объектом, как доступ к свойствам и присвоение. Они предоставляют разработчикам тонкий контроль над поведением прокси, позволяя настраивать и манипулировать им по мере необходимости.
Пример:
const target = {
name: 'Hossein',
age: 26
};
const handler = {
get(target, property) {
console.log(`Getting property: ${property}`);
return target[property];
},
set(target, property, value) {
console.log(`Setting property: ${property} = ${value}`);
target[property] = value;
}
};
const proxy = new Proxy(target, handler);
console.log(proxy.name); // Вывод: Получение свойства: name, Hossein
proxy.age = 30; // Вывод: Установка свойства: age = 26
console.log(proxy.age); // Вывод: получение свойства: age, 30
▪️Здесь ловушка set перехватывает присвоение свойства прокси-объекту и регистрирует присвоенное свойство и значение, прежде чем изменить его в целевом объекте.
Используя эти и другие ловушки, можно эффективно настраивать и контролировать поведение прокси-объектов в соответствии с потребностями конкретной разработки.
Перехват операций с объектами с использованием прокси
• JavaScript Proxy позволяет перехватывать и настраивать различные операции с объектами. Рассмотрим несколько примеров.
Удаление свойства:
const target = {
name: 'Hossein',
age: 26
};
const handler = {
deleteProperty(target, property) {
console.log(`Deleting property: ${property}`);
delete target[property];
}
};
const proxy = new Proxy(target, handler);
delete proxy.age; // Вывод: Удаление свойства: age
console.log(proxy); // Вывод: { name: 'Hossein' }
▪️В этом примере ловушка deleteProperty перехватывает удаление свойства прокси-объекта. Можно настроить поведение так, чтобы залоггировать удаляемое свойство и затем удалить его из целевого объекта.
• Вызов функции:
const target = {
sum: (a, b) => a + b
};
const handler = {
apply(target, thisArg, argumentsList) {
console.log(`Calling function: ${target.name}`);
return target.apply(thisArg, argumentsList);
}
};
const proxy = new Proxy(target.sum, handler);
console.log(proxy(2, 3)); // Вывод: Вызов функции: sum, 5
▪️В этом случае ловушка apply перехватывает вызов функции прокси-объекта. Можно настроить поведение так, чтобы залоггировать имя функции перед ее вызовом с предоставленными аргументами.
📌Продолжение
@javascriptv
👍15🔥5❤2
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Newton's Light Bulbs - изящная анимация лампочки Ньютона. Реализована с помощью CSS и Js.
https://codepen.io/jh3y/pen/abzeaWJ
@javascriptv
https://codepen.io/jh3y/pen/abzeaWJ
@javascriptv
👍6❤2👎2🔥2
Лучший способ получать свежие обновлении и следить за трендами в разработке.
Python: t.iss.one/pythonl
C#: t.iss.one/csharp_ci
C/C++/ t.iss.one/cpluspluc
Машинное обучение: t.iss.one/ai_machinelearning_big_data
Data Science: t.iss.one/data_analysis_ml
Devops: t.iss.one/devOPSitsec
Go: t.iss.one/Golang_google
Базы данных: t.iss.one/sqlhub
Rust: t.iss.one/rust_code
Javascript: t.iss.one/javascriptv
React: t.iss.one/react_tg
PHP: t.iss.one/phpshka
Android: t.iss.one/android_its
Мобильная разработка: t.iss.one/mobdevelop
Linux: t.iss.one/+A8jY79rcyKJlYWY6
Big Data: t.iss.one/bigdatai
Хакинг: t.iss.one/linuxkalii
Java: t.iss.one/javatg
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy
🇬🇧Английский: t.iss.one/english_forprogrammers
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
https://codepen.io/mattjuggins/pen/KKZRwVL/
@javascriptv
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Expanding Button - красивая анимированная кнопка с различными ссылками на медиа. Реализована с помощью SCSS, Pug и JavaScript.
https://codepen.io/abh1nash/pen/eYjQgEN
@javascriptv
https://codepen.io/abh1nash/pen/eYjQgEN
@javascriptv
👍11❤3🔥2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
⚡ Интересное исследование производительности анимации на основе скролла страницы
Анимация на основе скролла — это способ добавить интерактивности и визуального интереса вашему сайту или веб-приложению, который запускается в зависимости от положения прокрутки пользователя. Это отличный способ удержать пользователей и сделать сайт более привлекательным.
В этой статье новый подход сравнивается с классической техникой JavaScript, чтобы показать, насколько простой и плавной может быть анимация с помощью нового API.
#javascript #api #css #web
@javascriptv
Анимация на основе скролла — это способ добавить интерактивности и визуального интереса вашему сайту или веб-приложению, который запускается в зависимости от положения прокрутки пользователя. Это отличный способ удержать пользователей и сделать сайт более привлекательным.
В этой статье новый подход сравнивается с классической техникой JavaScript, чтобы показать, насколько простой и плавной может быть анимация с помощью нового API.
#javascript #api #css #web
@javascriptv
👍10🔥3❤1
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