Обновить
512K+

JavaScript *

Прототипно-ориентированный язык программирования

274,98
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

10 советов по TypeScript для продвинутых пользователей в манере русских мифов

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.6K

«10 советов для продвинутого использования TypeScript: Путешествие по миру русской мифологии» — уникальное руководство, которое сливает воедино мир программирования и наследие русской культуры. В этой статье мы изучим TypeScript через призму десяти важных советов, каждый из которых связан с элементами русской мифологии – от волшебных зеркал до богатырских доспехов. Научитесь управлять асинхронностью, как птица в полете, или используйте интерфейсы для защиты вашего кода, как богатырский доспех защищает героя. Путешествие по миру TypeScript еще никогда не было таким захватывающим!

Читать далее

Zapier для бедных

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели29K

Если вы не знакомы с Zapier, вам повезло.

Если вы используете Zapier, вы счастливы.

Если вы собираетесь использовать Zapier —

вам повезло найти эту статью.

Приоткрыть завесу

Кто до сих пор использует PHP?

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели27K

Свой путь в сфере разработки я начала с языка PHP, но позднее в индустрии программирования акцент сместился в сторону JavaScript. Отчасти причина в том, что фронтенд-составляющая веб-среды так или иначе работает именно на JS. В этой сфере я провела последние десять лет.

Недавно мне подвернулась кое-какая работа, связанная с PHP. Поначалу я была удивлена, ведь за этим языком закрепилась дурная слава – преимущественно из-за его ассоциирования с устаревшими проектами WordPress (и всеми вытекающими из этого уязвимостями). Но WordPress – это всё же не PHP.

В общем мне стало любопытно. Кто они – те люди, которые до сих пор используют PHP? Почему они это делают? И как этот опыт можно сравнить с моим скромным миром серверных проектов на JS?
Читать дальше →

Создание сервера для онлайн ММО игр на PHP ч. 8 — Клиентская часть на Unity

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.2K

Разобравшись в архитектуре сервера, реализовав механизм простого расширения его функционала путем добавления пользовательского кода через WEB админ панель и игровых локаций захотелось наконец посмотреть как бы это все работало и выглядело в игре.

Т. к. сервер для игры является авторитарным, то клиентская часть должна была содержать.

Читать далее

Подключаемся к Ethereum Testnet используя только web3.js и консоль

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7.7K

В этой статье я покажу как взаимодействовать с публичным тестовым Ethereum блокчейном при помощи только библиотеки web3.js и терминала. Ethereum Testnet это уже приближенный к реальной сети Mainnet блокчейн со множеством нод и независимыми аккаунтами. Мы научимся пополнять баланс тестовыми Ether при помощи Faucet, а так же находить информацию об аккаунтах и транзакциях в обозревателе блокчейна Etherscan. Всю ту же информацию мы получим и при помощи консоли. На всякий случай: в посте будет много картинок.

Читать далее

Свой NPM репозитарий Verdaccio + GitLab + Docker

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели9.6K

Требовалось кешировать используемые в разных проектах NPM пакеты (+ хранить свои пакеты) на отдельном сервере.

Было решено делать это с помощью репозитария Verdaccio (по нему есть достаточно хорошая офф. дока), крутится это все должно в Docker, а разворачиваться на отдельном сервере через GitLab CI/CD.

Т.к. реализация данной схемы заняла у меня некоторое время (Хотелось бы и по меньше), решил написать короткий туториал по этой теме, с описание нюансов, которые для меня казались не очевидными.

Читать далее

[Разбор резюме] Фронтенд-разработчик: как не утопить рекрутера в технологиях и не потерять фокус

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели30K

Это вторая статья из нашей рубрики «Разбор резюме». В первой мы разбирали резюме бэкендера, а здесь нам прислал свое CV фронтендер. Давайте посмотрим и разберем, что в нем можно улучшить: почему это резюме вообще лучше бы превратить в несколько, стоит ли включать в список навыков «опытный пользователь ПК» и как определяется уровень владения той или иной технологией.

Резюме достаточно длинное, так что разбирать мы его будем поэтапно.

Читать далее

Минëр: сапëр наоборот

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели19K
Что будет, если взять известную игру сапëр и изменить игровой процесс на обратный? Получится игра минëр


Так выглядит расклад в минëре на новичке.

Если задача в сапëре разминировать поле, то задаче в игре минëр наоборот — заминировать.
Читать дальше →

Попробуем выиграть 300 мс при загрузке Википедии

Время на прочтение7 мин
Охват и читатели3K

Вам знакомы муки, когда пытаешься добиться чего-то от тормознутого сайта, а он не реагирует на щелки мыши или пробуксовывает при прокрутке? Подобные проблемы с производительностью могут провоцировать:

Нервозное перещёлкивание (rage clicking)

Повышенный отток пользователей и снижение показателей конверсии

Потерю позиций в поисковой выдаче

Более трёх лет мобильная версия Википедии сбоила из-за фрагмента кода на JavaScript, выполнение которого могло занимать более 600 мс при загрузке страницы на маломощных устройствах. В результате работать со страницей становилось попросту невозможно.

Читать далее

Как сделать автодеплой UI kit на NPM с помощью gitlab CI/CD

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.5K

Как я сделал удобный автодеплой ui-kit на npm с помощью pipeline's gitlab.

Что удалось сделать?

Автоматическое обновление версии пакета при пуше изменений.

Автоматический деплой новой версии на npm.

Читать далее

Книга «JavaScript с нуля до профи»

Время на прочтение14 мин
Охват и читатели23K
imageПривет, Хаброжители!

Книга демонстрирует возможности JavaScript для разработки веб-приложений, сочетая теорию с упражнениями и интересными проектами. Она показывает, как простые методы JavaScript могут применяться для создания веб-приложений, начиная от динамических веб-сайтов и заканчивая простыми браузерными играми.

В «JavaScript с нуля до профи» основное внимание уделяется ключевым концепциям программирования и манипуляциям с объектной моделью документа для решения распространенных проблем в профессиональных веб-приложениях. К ним относятся проверка данных, управление внешним видом веб-страниц и работа с асинхронным и многопоточным кодом.

Обучайтесь на основе проектов, дополняющих теоретические блоки и серии примеров кода, которые могут быть использованы в качестве модулей различных приложений, таких как валидаторы входных данных, игры и простые анимации. Обучение дополнено ускоренным курсом по HTML и CSS, чтобы проиллюстрировать, как компоненты JavaScript вписываются в полноценное веб-приложение.

Для кого эта книга
Для комфортного знакомства с книгой не требуется никакого опыта в JavaScript. Конечно, упражнения дадутся немного легче, если вы хотя бы немного умеете программировать. Знакомство с основами HTML и CSS будет вашим преимуществом. Если вы начинающий программист, для нас большая честь поприветствовать вас в мире программирования. Вначале он может показаться сложным, но мы проведем вас через все трудности.
Читать дальше →

Кросс-браузерное тестирование с Cypress в CI с использованием Docker

Время на прочтение11 мин
Охват и читатели4.5K

Привет, Хабр!

В статье описан один из возможных вариантов кросс-браузерного запуска автотестов Cypress на платформе GitHub Actions с использованием Docker.

На простом примере показана настройка рабочего процесса, в рамках которого на основе “кастомного” Docker образа выполняется сборка нескольких контейнеров, в которых имеющиеся автотесты Cypress запускаются в конкретном браузере. Для одновременного запуска и параллельного выполнения тестов используется Docker Compose. Также настроена загрузка сгенерированных Cypress видео и снимков экрана из контейнеров в виртуальную среду GitHub Actions в качестве артефактов рабочего процесса.

Надеюсь, что данная статья будет полезна для совершенствования Ваших навыков тестирования с использованием Cypress.

Читать далее

Самый быстрый форматер кода

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.8K

Самый быстрый форматер кода

В статье подробно поговорим о самом быстром форматере кода. Подробно покажем, как интегрировать форматер в любой проект, настроим форматирование по сохранению в редакторах кода и посоревнуемся в скорости форматирования.

Читать далее

Ближайшие события

Создаём, подписываем и отправляем Ethereum транзакцию при помощи web3.js и Ganache

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7K

В предыдущей статье я рассказал как установить окружение для ознакомления с библиотекой web3.js. Тогда мы использовали ethereum-блокчейн Ganache и библиотеку Truffle. В данной статье я покажу как формировать ethereum-транзакцию используя только библиотеку web3.js и Ganache, без использования библиотеки Truffle. Мы сформируем транзакцию вручную, выполним её подписание и отправим в блокчейн. Посмотрим на тело сериализованной и подписанной транзакции в том виде, в котором она передаётся в ethereum-блокчейн (raw transaction).

Читать далее

Как упростить импорт JavaScript модулей с помощью Node.js Subpath Imports

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели22K

Существует множество библиотек для настройки алиасов в Node.js, таких как alias-hq и tsconfig-paths. Однако однажды, изучая документацию Node.js, я обнаружил возможность настройки алиасов без использования сторонних библиотек. Более того, данный подход позволяет использовать алиасы без сборки кода. Знакомо ли вам поле imports в package.json? В этой статье мы рассмотрим, что такое Node.js Subpath Imports, узнаем о тонкостях настройки и разберемся с поддержкой в актуальных инструментах разработки.

Читать далее

Разница между традиционными функциями и стрелочными функциями в JavaScript

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели29K

Стрелочные функции — это относительно новая функция, реализованная в ES6 ( ECMAScript 6 ), которая, на наш взгляд, является просто более кратким и элегантным синтаксисом для объявления функциональных выражений в JavaScript. Хотя традиционные функции и функции стрелок работают схожим образом, мы должны остерегаться некоторых различий, которые могут быть незаметны.

Читать далее

Как записать преобразованный массив данных в Google таблицу с использованием Javascript

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели8.8K

Я бы хотела поделится своим опытом и рассказать, как помогает автоматизация рутинных задач с использованием Javascript и Google Apps Script. Возможно, это поможет многим для экономии рабочего времени в дальнейшем отделу HR и менеджерам управления проектов.

Недавно нашей компании понадобился коннектор, который будет брать данные из системы управления коллективной работы и загружать их в Гугл таблицы для последующей аналитики трудового дня сотрудника и бюджета проекта. 

Было принято решение самим брать данные из системы без использования платных сервисов. Для этого мы использовали расширение Google Apps Script.

Я являюсь junior разработчиком, данная статья для тех, кому будет полезной следующая информация:

Как записать массив данных в таблицу?

В интернете не было информации или хотя бы намека, как мы можем построчно записать данные в таблицу Google Sheets из массива используя Apps Script.

Читать далее

Миграция на Vue 2.7

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели8.3K

Здравствуйте! В данной статье я бы хотел поделиться своим опытом обновления проекта, написанного на Vue 2.6. Помимо обновления самого vue и компонентов, я на примерах покажу как мне удалось обновить другие зависимости проекта и адаптировать их для работы с Composition API.

Читать далее

Реализация реактивности и компонуемости во фронтенд-фреймворке без зависимостей

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели9.5K

Реализация реактивности и компонуемости стандартными средствами таких фреймворков, как React, Vue и прочие, несёт собой ряд сложностей, включая необходимость настройки множества зависимостей. Но этой цели также можно достичь более простым путём, о чём и пойдёт речь в текущей статье.
Читать дальше →

Локальное окружение для изучения Web3.js и Ethereum

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели8.7K

В данной статье я расскажу как настроить окружение для изучения библиотеки web3.js Статья рассчитана на тех, кто интересуется blockchain и хочет научиться взаимодействовать с сетью Ethereum, она же EVM (Ethereum Virtual Machine), через библиотеку web3.js

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

Читать далее