Обновить
512K+

JavaScript *

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

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

Сквозное тестирование DApp в связке с расширением Metamask

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

Всем привет! На связи снова QA Engineer Илья из компании Tourmaline Core и это вторая часть статьи про тестирование DApp. 

В прошлый раз я рассказывал о том, как можно тестировать подключение и работоспособность блокчейн-приложения через WalletConnect с использованием мобильного эмулятора и библиотеки Detox. На этот раз я хочу рассмотреть процесс тестирования с другой стороны, а именно через расширение браузера при помощи инструмента Synpress. Я расскажу, как работает этот инструмент, как его настроить и запускать тесты.

Читать далее

Понять TypeScript c помощью теории множеств

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

Я пишу на TS уже довольно давно. Но некоторые вопросы все еще сбивают меня с толку: что такое never, и почему он так странно себя ведет? Чем отличаются any и unknown? Почему const x: {} = true — не ошибка?

Оказывается, если перевести TS на язык теории множеств, всё встанет на свои места!

Читать далее

JavaScript: заметка об операторе конвейера

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


Привет, друзья!


В этой небольшой заметке я хочу рассказать вам об одном интересном предложении по дальнейшему совершенствованию всеми нами любого JavaScript, а именно: об операторе конвейера (pipe operator) |>.


На сегодняшний день данное предложение находится на 2 стадии рассмотрения. Это означает, что даже если все пойдет по плану, новый оператор будет стандартизирован года через два. Кроме того, синтаксис и возможности, о которых мы будем говорить, могут претерпеть некоторые изменения.


Если вам это интересно, прошу под кат.

Читать дальше →

Как багхантеры ищут уязвимости: лайфхаки и неочевидные нюансы

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

Багхантинг — очень интересное занятие (по моему скромному мнению ?). Никогда не знаешь, какую уязвимость удастся найти сегодня. Каждый белый хакер уникален и имеет собственный стиль. Тяжелым трудом он приобретает необходимые навыки и оттачивает техники поиска уязвимостей определенных классов. В случае успеха приложенные усилия окупаются наградой — крупным денежным вознаграждением.

Чтобы упростить получение необходимых навыков другим багхантерам и не растягивать этот процесс надолго, я создал сайт с большим количеством уязвимостей. По сути, это тестовый стенд, где любой желающий может практиковаться и улучшать навыки по поиску проблем ИБ.

Исследуйте безопасность сайта и репортите найденные баги в комментариях.

Узнать больше

Техподдержка: как научиться жить без Jira

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

Привет! Меня зовут Савр, я работаю инженером технической поддержки Arenadata. В прошлом году нам, как и многим другим компаниям, использовавшим зарубежное ПО, пришлось переходить на российские аналоги. В частности, с болью в сердце мы отказались от Jira Service Management (далее SM) — нашей системы управления обращениями заказчиков и основного инструмента службы поддержки. Мы были вынуждены перейти на российскую разработку SimpleOne.

Поскольку наша команда привыкла к предыдущей функциональности, после миграции мы сделали ряд доработок нового сервиса. В этой статье я расскажу о некоторых из них: почему мы решили это исправить и как именно реализовали. Сразу оговорюсь, что мы не претендуем на статус великих специалистов или консультантов по SimpleOne, а лишь хотим поделиться своим опытом и идеями с теми, кто тоже рассматривает этот инструмент как альтернативу существующему решению.

Читать далее

Сайт, целиком написанный ChatGPT

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

Да, про эту нейросеть сейчас слышно отовсюду, как она пишет текста песен, сдает экзамены, пишет куски кода, но я подумал, а сможет ли она сама целиком завершить проект под моим руководством?

Читать далее

Масштабирование NodeJS приложений, теория и практика

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

Масштабирование приложения Node.js может быть сложной задачей, но с правильными методологиями это можно сделать эффективно и результативно. В этой статье мы обсудим несколько методов масштабирования приложений Node.js, включая горизонтальное масштабирование, вертикальное масштабирование и балансировку нагрузки. Посмотрим практические примеры.

Читать далее

Яндекс Карты и React Native. Часть 2. HUD и методы карты

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

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

Читать далее

Яндекс Карты и React Native. Часть 1. Установка и примитивы

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

Yandex Maps SDK: использование в React Native-приложении

В этой статье расскажу о том, как я лично столкнулся с Yandex Maps SDK для React Native и опишу базовый инструментарий, который предоставляет эта библиотека с небольшими примерами.

Читать далее

Осваиваем TypeScript: 21 лучшая практика при написании кода

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

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

В этой статье мы углубимся в мир TypeScript и изучим 21 лучшую практику, с помощью которых вы сможете повысить свой навык работы с этим языком. Эти практики охватывают широкий спектр тем и сопровождаются конкретными вариантами применения в реальных проектах. Независимо от того, являетесь ли вы начинающим либо опытным разработчиком на TS, эта статья даст вам ценное понимание и рекомендации, которые помогут писать более чистый и эффективный код.
Читать дальше →

Групповой видеозвонок на сайт

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

Ещё одна история изучения и использования технологии WebRTC (Web Real-time Communication). Краткое описание создания готовой библиотеки для её переиспользования в разных проектах.

Читать далее

Искусственный интеллект как React-разработчик

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


Привет, друзья!


Представляю вашему вниманию перевод этой замечательной статьи, в которой автор просит ChatGPT разработать компонент модального окна на React.


ChatGPT — это чат-бот с искусственным интеллектом, разработанный компанией OpenAI и способный работать в диалоговом режиме, поддерживающий запросы на естественных языках. ChatGPT — большая языковая модель, для тренировки которой использовались методы обучения с учителем и обучения с подкреплением. Чат-бот основывается на другой языковой модели от OpenAI GPT-3.5 — улучшенной версии модели GPT-3.


ChatGPT был запущен 30 ноября 2022 года и привлек внимание своими широкими возможностями: написание кода, создание текстов, возможности перевода, получения точных ответов и использование контекста диалога для ответов, хотя его фактическая точность подверглась критике (источник — Википедия).


Интересно? Тогда прошу под кат.

Читать дальше →

Создание WEBGL приложения Вконтакте на Unity

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

В нашем уроке мы создадим свой проект на Unity, и подключим его к html странице с помощью Javascript. И затем научимся обмениваться данными между Javascript браузера и скриптами Unity. И в заключение создадим новое приложение Вконтакте и научимся работать в связке Api Вконтакте – Javascript – Unity .

Вы узнаете, как написать простой скрипт, как добавить события пользователя. Как из скрипта Unity обращаться к скрипту Javascript на стороне браузера. И также как пройти путь от нажатия кнопки в среде Unity до вызова метода Api Вконтакте с полным контролем всех событий.

Читать далее

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

Основные приемы работы с Canvas [Part 2]

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

Привет! Мы продолжаем цикл статей по базовым принципам работы с canvas. Сегодня мы рассмотрим L-системы в качестве примера для создания различных интересных визуализаций.

Так что же такое L-ситемы? L-системы (или системы Линденмайера) — это набор простых правил, которые используются для моделирования роста водорослей (и не только), созданные венгерским биологом Аристидом Линденмайером в 1968 году.

Читать далее

Пишем UI авто тесты на TypeScript с использованием Page Object, Page Factory

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

Пишем UI автотесты на TypeScript используя Page Object, Page Component, Page Factory, Playwright, Allure.

Читать далее

SOLID на примере JavaScript с chatGPT

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

SOLID простыми словами или как использовать ChatGPT не во вред человечеству, расскажу на примере в пару запросов.

Читать далее

Нельзя просто так взять и распарсить этот JSON на JavaScript

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

JSON является одним из очень простых, но в то же время эффективных языков для хранения и передачи данных. Он настолько популярен, что, пожалуй, может считаться самым совместимым форматом представления данных в мире.

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

Но что же может пойти не так, спросите Вы? Просто попробуйте распарсить этот JSON-документ…

Давайте парсить

Делаем свернутый контент доступным с помощью hidden=until-Found

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

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

HTML-атрибут hidden=until-found и событие beforematch могут решить эти проблемы. Добавляя hidden=until-found в контейнер для вашего скрытого контента, вы позволяете браузеру искать текст в этой скрытой области и открывать раздел, если совпадение найдено.

Эта функция не только позволяет выполнять поиск на странице в скрытых разделах, но и делает этот скрытый контент доступным для поисковых систем. Google Search даже сформирует ссылки, которые прокручиваются до обнаруженного фрагмента.

Эти функции доступны в Chrome 102, поэтому давайте посмотрим, как они работают.

Читать далее

Js, трюки, наблюдения, бенчмарки и как Лиса уничтожает Хром. Я протестировал всё, что вам было лень

Время на прочтение4 мин
Охват и читатели27K
Картинка, конечно, стронгли анрилейтед

Разные трюки я тестировал на Google Chrome 107.0.5304.107 и Mozilla Firefox 107.0 на Windows 10.

Чтобы результаты всегда были железно воспроизводимыми, я отключил все С-State’ы, ядра зафиксировал на 5 ГГц.

У меня 9900К, это Coffee Lake c AVX256, какие оптимизации применит Jit для вашего процессора — я не знаю, результат на вашем компьютере может отличаться от моего, в т.ч. из-за микроархитектуры процессора.

Скорость парсинга кода тоже входит в бенчмарк, поэтому браузер с быстрым парсером будет впереди.
Читать дальше →

Микросервис головного мозга. Рецепты качества

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

Эта статья подготовлена на основе доклада «Микросервис головного мозга» Михаила Трифонова, Lead frontend Cloud и основателя frontend-сообщества TeamSnack. Мы разберём когда необходимы микрофронты, каким должен быть технологический стек, как нарезать мироксервисы и какие существуют стандарты при построении микросервисной архитектуры.

Эта статья, по сути, продолжение первой части «Микросервис головного мозга. Пилим всё, что движется». В ней Михаил рассказывал, как ему с командой удалось ускорить разработку с помощью микросервисного подхода. Они поэтапно строили микросервисную архитектуру, распилили монолит, UIKIT и создали архитектуру.

Читать далее