Javascript
18.6K subscribers
809 photos
119 videos
2 files
1.25K links
По всем вопросам - @workakkk

@itchannels_telegram -🔥лучшие ИТ-каналы

@ai_machinelearning_big_data - машинное обучение

@JavaScript_testit- js тесты

@pythonl - 🐍

@ArtificialIntelligencedl - AI

@datascienceiot - ml 📚

РКН: № 5153160945
Download Telegram
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
👍21🔥62
This media is not supported in your browser
VIEW IN TELEGRAM
Ghost Card - эффектная карточка с 3D эффектом.

https://codepen.io/pizza3/pen/pobevYW

@javascriptv
👍18🔥103🤬1
DeepScan - полезный инструмент, который проводит анализ исходного кода.

Программа отлично работает в обнаружении возможных ошибок и уязвимостей в JavaScript приложениях.

Она проводит подробное сканирование и анализ вашего кода, выявляя проблемные секции, такие как неправильное использование переменных, возможные утечки памяти и небезопасные операции с данными.

https://deepscan.io/

@javascriptv
👍12🥰3🔥2
📌 18 продвинутых навыков JavaScript для старших инженеров-программистов

🔵Браузер

Переход на полноэкранный режим

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🥰21😁1
Yotako.io — крутой инструмент дизайна в код с помощью искусственного интеллекта

С помощью инструмента можно без труда экспортировать дизайн из графических редакторов, таких как Sketch и Adobe XD, и преобразовать их в код на различных языках программирования и фреймворках

При этом Yotako.io также обеспечивает синхронизацию между дизайном и кодом, что позволяет легко вносить изменения в процессе разработки

Стоимость: #бесплатно (но есть платные тарифы).

#дизайн #code #ии

@javascriptv
👍9🔥32🤔1
📌 На что способен Selenium в паре с JavaScript?

Преимущества совместного использования Selenium и JavaScript

Кросс-браузерность. Позволяет беспроблемно запускать скрипты автоматизации в разных браузерах.
Интеграция с фреймворками для тестирования JavaScript. Обеспечивает легкую интеграцию с такими фреймворками, как Mocha и Jest, для эффективного управления тестированием.
Мощная поддержка сообщества. Активно действующие сообщества Selenium и JavaScript предоставляют доступ к обширной документации, обучающим руководствам и ресурсам.

Установка Selenium WebDriver в JavaScript

🟢 Чтобы начать работу с Selenium WebDriver в JavaScript, устанавливаем пакет Selenium WebDriver с помощью npm. После этого импортируем необходимые компоненты и создаем экземпляр WebDriver для управления веб-браузерами.
npm install selenium-webdriver

🟢 Импортируем необходимые компоненты:
const { Builder, By, Key, until } = require('selenium-webdriver');

🟢 Создаем экземпляр 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
👍131👎1🔥1
Сбер открыл доступ к новым нейролингвистическим моделям

Сбер выпустил модель ruGPT-3.5 13B для генерации русского текста и модель mGPT 13B для генерации текста на 61 языке.

Модель ruGPT-3.5 13B оснащена 13 миллиардов параметров и может генерировать текст на русском, английском, а также неплохо разбирается в языках программирования. Модель mGPT 13B доступна по открытой лицензии MIT и может генерировать текст на 61 языке, в том числе на языках стран СНГ и малочисленных этнических групп в России.

«Сбер как ведущая технологическая компания выступает за открытость технологий и обмен опытом с профессиональным сообществом, ведь любые разработки и исследования имеют ограниченный потенциал в замкнутой среде. Поэтому, мы уверены, что публикация обученных моделей подстегнёт работу российских исследователей и разработчиков, нуждающихся в сверхмощных языковых моделях, создавать на их базе собственные технологические продукты и решения», —следует из заявления старшего вице-президента, CTO, руководитель блока «Технологии» Сбера Андрея Белевцева.

@javascriptv
🔥11👍52👎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
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
👍13🔥31
👨‍💻Как работает JavaScript Proxy

Первый шаг в работе с 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🔥52
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Newton's Light Bulbs - изящная анимация лампочки Ньютона. Реализована с помощью CSS и Js.

https://codepen.io/jh3y/pen/abzeaWJ

@javascriptv
👍62👎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

💼 Папка с вакансиями: t.iss.one/addlist/_zyy_jQ_QUsyM2Vi
Папка Go разработчика: t.iss.one/addlist/MUtJEeJSxeY2YTFi
Папка Python разработчика: t.iss.one/addlist/eEPya-HF6mkxMGIy

🎞 YouTube канал: https://www.youtube.com/@uproger

😆ИТ-Мемы: t.iss.one/memes_prog

🇬🇧Английский: 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
✔️ Literally Linked Lists - крутые интерактивные связанные списки, написанные с помощью CSS и JavaScript

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
👍113🔥2👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Интересное исследование производительности анимации на основе скролла страницы

Анимация на основе скролла — это способ добавить интерактивности и визуального интереса вашему сайту или веб-приложению, который запускается в зависимости от положения прокрутки пользователя. Это отличный способ удержать пользователей и сделать сайт более привлекательным.

В этой статье новый подход сравнивается с классической техникой JavaScript, чтобы показать, насколько простой и плавной может быть анимация с помощью нового API.

#javascript #api #css #web

@javascriptv
👍10🔥31
UptimeSystem — мониторинг доступности веб-сайтов и серверов

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
🔥17👍32
This media is not supported in your browser
VIEW IN TELEGRAM
About Us Pop-Out Effect - крутые виджеты для блока "О нас" с поп-ап жффектом.

https://codepen.io/ainalem/pen/QWGNzYm

@javascriptv
👍10🔥52
Как сделать кастомный Semi Donut Chart с помощью SVG

Semi Donut Chart — это одна из форм представления отчётов в виде полукруглой диаграммы. Semi Donut Chart в том случае, когда важна не математическая точность, а наглядность.

Если вы хотите сделать интересный Semi Donut Chart без использования библиотек по типу Chart.js, то этот туториал для вас.

@javascriptv
👍7🔥31