Обновить
512K+

JavaScript *

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

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

Регулярные выражение Python в интерактивном режиме

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

Проект на Django для работы с регулярными выражениями в реальном времени. Весь бекенд регулярных выражений работает на библиотеки re из Python, поэтому вам не придется переписывать шаблоны регулярных выражений специально под Python, как часто это бывает на других похожих сайтах.

Поддерживаемые регулярные функции:

Читать далее

Пять причин для ИТ-компании полюбить опенсорс

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

Я всегда старался выносить в опенсорс все, что может быть полезно людям вне моей компании. Помимо стремления не только брать от сообщества, но и отдавать, это приносит ряд бенефитов для самой компании.

Всю статью я построил на примерах опыта Taiga UI — огромной библиотеки компонентов под Angular, которая долго развивалась внутри компании, а 10 месяцев назад была выложена в опенсорс. Несмотря на то, что примеры взяты из опыта фронтовой библиотеки, все пункты применимы и актуальны для любого другого стека.

И что же он дает?

Латинский квадрат: вызываем демонов во имя математики

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

Привет, Хабр, я Олег, преподаватель Elbrus Bootcamp. Возможно, вы слышали о латинских квадратах. Раньше считали, что они защищают от зла и помогают в магических ритуалах, а теперь их используют в криптографии и играх. Но, несмотря на многовековую историю, генерация таких квадратов — все еще проблема.

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

Решил исправить ситуацию: в этой статье расскажу об алгоритмах генерации и их ограничениях, и покажу, как реализовал один из алгоритмов на JavaScript с классной визуализацией. А еще объясню, почему магический и латинский квадрат — не одно и то же.

Вызвать демона

5 причин почему Playwright лучше Cypress

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

Перевод статьи Alister ScottFive reasons why Playwright is better than Cypress

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

Читать далее

Как написать эмулятор CHIP-8 на JS

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

Автор провёл детство за играми в эмуляторах NES и SNES на своём компьютере, но никогда не думал, что однажды сам напишет эмулятор. Иван Сергеев поставил перед автором задачу написать интерпретатор Chip-8, чтобы изучить основные понятия низкоуровневых языков программирования и то, как работает процессор.

Результат — эмулятор Chip-8 на JavaScript, который автор написал под его руководством. Подробности рассказываем, пока у нас начинается курс по Fullstack-разработке на Python.
Читать дальше →

Дайджест свежих материалов из мира фронтенда за последнюю неделю №496 (29 ноября — 5 декабря 2021)

Время на прочтение3 мин
Охват и читатели7.6K
Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.

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

React. Странные хуки: каррирование функционального компонента

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

Добрый день! Я начинающий фулстек-разработчик, и это моя первая статья.

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

Предупреждение: в статье использованы как функциональные, так и классовые компоненты.

Посмотреть рецепт карри!

To Byte or not to Byte

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

Добрый вечер, Хабр. Немного отвлекусь от расчетов больших и страшных девайсов для выхода за пределы гравиколодца. Есть идея запустить небольшой скрипт, рисующий красивые визуалы (которые потом можно пустить или на пиксел-арт, или на текстуры к чему-нибудь хайтековому).

Читать далее

Единая система диалоговых окон на vue-cli при помощи vuex и vue-router

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

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

Концепция

Вся система будет работать довольно просто, для отображения нужного нам диалогового окна надо будет всего лишь изменить один query параметр в адресной строке браузера, для примера назовем этот параметр ‘dialog’. Соответственно для закрытия окна надо будет только убрать параметр ‘dialog’.

Читать далее

Телеграф на RxJS

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

На днях я смотрел кино, где оператор использовал телеграф. Он знал наизусть азбуку Морзе и очень быстро нажимал свою единственную кнопку. Я задумался: с RxJS мы способны на большее! Давайте запилим телеграф, используя единственный fromEvent и массу интересных трюков. Потренируемся с Dependency Injection, директивами и операторами RxJS, чтобы собрать демо, которое выглядит круто и звучит аутентично.

Поехали!

Node.js: шаблон сервера для аутентификации и авторизации

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


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


На досуге разработал шаблон Node.js-сервера для аутентификации/авторизации, которым хочу с вами поделиться. Надеюсь, кому-нибудь пригодится.


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


Также обратите внимание, что в коде имеется несколько console.log для облегчения процесса разработки приложения. В продакшне они не нужны. В производственном режиме также не следует возвращать столь информативные message.


Если возможностей, реализованных в шаблоне, окажется недостаточно, вот парочка более продвинутых инструментов:


  • oidc-client — разработчик отказался от дальнейшей поддержки, новый мейнтейнер пока не нашелся
  • oidc-provider — рекомендация моих более опытных коллег

Если вас интересует полноценная платформа для аутентификации/авторизации "из коробки", рассмотрите возможность использования Auth0.


Репозиторий


Сервер реализован с помощью Express.js


В качестве базы данных используется MongoDB Atlas

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

Самые популярные языки программирования 2021 года. Свежий хабратоп

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

В прошлом декабре мы подбивали предварительные итоги и выкатили рейтинг популярности языков программирования. Пришло время для обновлений! В Хабратопе-2021 рассказываем, как менялись позиции  ЯП в рейтингах TIOBE, PyPL и Stack Overflow. А если хочется увидеть выжимку, сразу переходите в раздел итогов. Поехали!

Читать далее

Убираем JavaScript. Как при помощи htmx красиво использовать HTML и уменьшить объем кода

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

htmx — инструмент для создания сложных и интерактивных веб-приложений на HTML, альтернатива клиентскому рендерингу на Javascript. В этой статье рассказываем, как библиотека помогает переиспользовать элементы на сервере, сократить объем кода на Javascript и отказаться от сборки.

Читать далее

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

Создаем полезное расширение для Хабр Фриланса — Часть первая

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

Сегодня сделаем расширение для фрилансеров очень хорошей биржи Хабр Фриланс, я там сам работал еще в 2018 году, тогда сайт назывался еще Фрилансим. Расширение будет уведомлять о новых задачах, приглашениях и сообщениях от заказчиков проверяя каждые 15 секунд. Это весьма удобно, когда дорожишь именем и репутацией, внимательно относишься к заказам и заказчикам, я был как в роли заказчика так и фрилансера и понимаю о чем говорю ужасно тяжело общаться с фрилансерами и заказчиками которые отвечают по часу. Да и, честно сказать, я уже делал это расширение в том же 2018 году, но потом я ушел с фриланса и больше там не работал, клевое было время. Но речь не об этом, а о том почему Хабр сам не сделал такое расширение или хотя бы просто прикрутил уведомления на сайт?

Читать далее

React. Как не стать заложником макета, или пример использования принципа единой ответственности

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

Пожалуй, каждый разработчик сталкивается с ситуациями, когда два и более компонентов оказываются тесно связаны логически, но в DOM отображаются раздельно, вперемешку с другими элементами UI. Лобовое решение задачи синхронизации таких разрозненных модулей ведёт к просачиванию их состояния и логики наружу в третьи компоненты. Давайте обсудим эту ситуацию и способы её разрешения.

Для наглядного примера из практики рассмотрим приложение «Такси ВКонтакте», а именно указание «нитки» маршрута.

Поехали

Рождественские календари для разработчиков

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

Добрый день, меня зовут Павел Поляков, я Principal Engineer в каршеринг компании SHARE NOW, в Гамбурге в ?? Германии. А еще я автор Telegram-канала Хороший разработчик знает, где рассказываю обо всем, что должен знать хороший разработчик.

Сегодня я хочу поговорить про Рождественские календари для разработчиков. А именно - как провести декабрь с пользой.

Читать далее

Процедурная генерация бумажных снежинок

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

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

Читать далее

Создаем CLI-приложение с помощью React.js

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

Приложения с интерфейсом в виде командной строки (Command-Line Interface — CLI) стали популярными в экосистеме разработчиков по целому ряду причин. Самые банальные из них — это простота использования (CLI) и то, что многие важнейшие инструменты разработки представляют из себя терминальные приложения или предоставляют интерфейс командной строки, и многие разработчики уже к ним привыкли.

Читать далее

Миграция 17 000 файлов JS на TypeScript. Как это было

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

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

Если вы хотите перейти на TS, читайте эту статью, чтобы избежать ошибок Etsy и взять на вооружение лучшие решения компании. Подробности миграции рассказываем, пока у нас начинается курс по Fullstack-разработке на Python.

Читать далее

Уязвимость и баги, стоящие денег клиентам. Разбираем модуль от CS Coding для CMS CS Cart

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

На написание данной статьи меня вдохновила уязвимость в модуле "Авторизации по телефону", который разрабатывается и поддерживается CS Coding.

Читать далее