Обновить
256K+

JavaScript *

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

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

Простые приёмы, которые сделают ваш код нагляднее

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

Упорядоченный, опрятный, хорошо написанный для восприятия код помогает быстрее выявлять случайные ошибки, и позволяет глазам быстрее "парсить" код, что в целом ускоряет время выполнения задач. В этой статье я, Андрей Рик, fullstack-разработчик с 10+ лет опыта коммерческой разработки, рассказываю как и зачем писать опрятный код.

Читать статью

Частный взгляд на структурирование файлов при разработке SPA

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

В этом посте я попытаюсь формализовать и систематизировать своё собственное понимание, какой должна быть структура SPA-приложений. Это очень субъективное изложение, отражающее мой собственный опыт. Оно относится к определённому классу веб-приложений (SPA, PWA) и не претендует на универсальность.

В контексте данной статьи SPA-приложение - это классическое клиент-серверное приложение, где клиент существует в браузере (как правило, в пределах одной страницы) и взаимодействует с сервером посредством HTTP-запросов. Приложение разрабатывается в виде набора npm-пакетов в стиле “модульный монолит”. Серверная часть реализована на движке Node.js.

Читать далее

Создание собственного API на Python (FastAPI): Подключаем фронтенд и статические файлы

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

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

- Основы создания простого приложения с использованием FastAPI.

- Основные HTTP‑запросы: POST, GET, PUT и DELETE.

- Принципы работы с Pydantic моделями и их интеграцию в FastAPI.

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

- Настройку асинхронной работы с базой данных PostgreSQL в SQLAlchemy.

- Реализацию кастомной авторизации и аутентификации в FastAPI.

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

Читать далее

Как мы уменьшили количество кода для генерации графиков в 10 раз, сделав Vue-компонент

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

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

Читать статью →

Реализация паттерна Fluent API с помощью Playwright и Javascript/Typescript

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

В сегодняшней статье я расскажу о одном из моих любимых паттернов для тестирования пользовательского интерфейса. Я не буду вдаваться в подробности о том, что это такое и почему его следует использовать. Моя цель сегодня — продемонстрировать реализацию этого паттерна при работе с Playwright и Javascript/Typescript

Читать далее

Как cделать тестирование кода более эффективным: принципы F.I.R.S.T

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

В последнее время я все больше уделяю внимание юнит тестированию, что связано с моим наставничеством Hexlet и выравнивание пирамиды на работе. И немного решил освежить основы при написании юнит тестов:

Читать далее

Самопаркующийся авто за 500 строк кода

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



TLDR


В этой статье мы научим авто самостоятельно парковаться с помощью генетического алгоритма.


Мы создадим первое поколение авто с произвольными геномами, которое будет вести себя примерно так:





Примерно на сороковом поколении авто начнут понимать, что такое авто-парковка, и начнут приближаться к парковочному месту:




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

Работа со слоями в Nuxt 3

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

В этой небольшой статье мне бы хотелось рассказать о такой концепции как Layers в Nuxt 3, как её реализовываю я в своих проектах и почему я считаю это важным.

Читать далее

14 конференций осени и 14 видеозаписей докладов

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

Вот уже много лет мы каждую осень проводим серию конференций. Но в этот раз их впервые будет целых 14. Так что найти подходящее мероприятие смогут самые разные люди — от тех, кто пишет на Go, до тех, кто работает с машинным обучением. Некоторые конференции пройдут полностью в онлайне, но у большинства будет возможность и лично прийти на площадку.

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

Вот общий список, а дальше в посте — отдельно про каждую.

SmartData (инженерия данных)
DotNext (.NET)
Flow (системный и бизнес-анализ)
PiterPy (Python) 
VideoTech (видеотехнологии)
GoFunc (Go)
КаргоКульт (HR-практики)
Joker (Java)
Heisenbug (тестирование)
Mobius (мобильная разработка)
SafeCode (безопасность приложений) 
DevOops (девопс)
HolyJS (JavaScript)
I'ML (использование ML)

Читать далее

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

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

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

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

Читать далее

Мой список лучших и худших книг

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

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

Читать далее

Куча таймеров в node.js

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

А знаете ли вы, как на самом деле работают таймеры в node.js? В этой статье мы разберемся, как хранятся таймеры, когда запускаются и как в целом все работает вплоть до системных вызовов.

Читать далее

React Hook Form: создание сложных форм для начинающих

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

Сегодня рассмотрим важную тему для всех, кто занимается созданием сложных и многошаговых форм в React. Мы все знаем, как это бывает: бесконечные рендеры, тонны кода для валидации и управления состоянием, а также бесконечная борьба за оптимизацию производительности. Но никто уже давно не отчаивается, ведь существует мощное и гибкое решение React Hook Form.

React Hook Form — это библиотека, которая использует концепцию неконтролируемых компонентов, чтобы минимизировать количество повторных рендеров и повысить производительность приложения.

Данная статья полезна для новичков, которые только начинают работать со сложными формами в React.

Читать далее

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

Работа с массивами по-новому. React Custom Hook: useArray

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

В этой серии статей мы отправимся в путешествие по миру пользовательских хуков React, открывая для себя их огромный потенциал для улучшения ваших проектов разработки. Сегодня мы сосредоточимся на хуке «useArray», одном из многих тщательно разработанных хуков, доступных в коллекции пользовательских хуков React.

Читать далее

Мой ТОП-5 лучших CSS-in-JS решений

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

В одном из проектов мне нужно было создать сложную админку для крупного клиента. Интерфейс требовал большо количества интерактивностей, а также поддержку различных тем и динамических стилей. Именно тогда я решил обратить свой взгляд на CSS‑in‑JS библиотеки, и это для меня стало большим открытием.

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

Здесь вот и приходят на помощь решения CSS‑in‑JS, объединяющие фичи JS и CSS.

Читать далее

Мы сопоставили языки программирования с специализацией World Of Warcraft

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

Привет, друзья разработчики и геймеры!

Мы с командой разработчиков "*** Telecom" решили весело и с увлечением сопоставить языки программирования с классами из мира World of Warcraft. Почему бы не объединить наше любимое хобби с нашей профессиональной деятельностью? Давайте вместе погрузимся в этот волшебный мир и узнаем, как каждый язык программирования может быть аналогом одного из классов в WoW!

Читать далее

CSS-классы вредны

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

Если вы когда-нибудь заглядывали за кулисы пользовательских веб-интерфейсов, то знаете для чего нужно свойство class. Оно ведь нужно для связи HTML с CSS, правда? Сейчас я расскажу о том, почему настало время отказаться от него. Имена классов — это архаичная система, используемая как неудачный посредник для примитивов UI; ещё хуже то, что они создают ужасные сочетания, приводящие к комбинаторному взрыву странных пограничных случаев. Давайте изучим этот вопрос, начав со скучного урока истории, который вы уже слышали миллион раз.
Читать дальше →

React Custom Hooks vs. Helper Functions — когда какой вариант использовать

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

При работе довольно часто приходится сталкиваться с различными технологиями и сценариями использования на ежедневной основе. Две популярные концепции — это React Custom Hooks и Helper functions. Концепция Helper functions существует уже очень давно, в то время как React Custom Hooks все еще достаточно современна. Обе концепции позволяют разработчикам абстрагироваться и повторно использовать код, который они пишут, разными способами, хотя они оба имеют немного разные сценарии использования.

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

Читать далее

Web components как альтернатива iframe на примере Angular-компонентов

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

Всем привет! Я Сергей, фронтенд-разработчик из команды привлечения Центрального университета. Занимаюсь проектами, связанными с регистрацией абитуриентов на мероприятия, и внутренними проектами по управлению мероприятиями. 

Осенью мы ждем поступление бакалавров. Чтобы начать набор, нужно встроить форму регистрации в лендинг на CMS. Форма довольно простая: пара полей для ввода данных, диалоговое окно с текстом соглашения об обработке персональных данных и кнопка отправки данных на сервер. Для скорости работы и проверки работоспособности идеи решили встроить приложение через iframe. Но форма стала обрастать различными бизнес-требованиями, которые приносили проблемы. В статье расскажу, с какими трудностями мы столкнулись и как их решали.

Читать далее

Насколько быстр Javascript? Симулируем 20 миллионов частиц

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

Я бросил себе вызов: симулировать 1000000 (миллион) частиц на чистом Javascript на телефоне, используя только CPU и добившись 60 FPS.

Поехали.

Задача не особо сложна, если выполнять всю работу на GPU, но правило гласит, что нужно пользоваться только CPU, при этом работая на JS, так что никакого WASM.

Читать далее