All streams
Search
Write a publication
Pull to refresh
317
42
Igor Agapov @aio350

JavaScript Developer

Send message

Руководство по Convex. Часть 1

Level of difficultyMedium
Reading time47 min
Views2.4K


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


В этой серии статей я рассказываю о Convex — новом открытом и бесплатном решении BaaS (Backend as a Service — бэкенд как услуга), которое выглядит очень многообещающе и быстро набирает популярность среди разработчиков.


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


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

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

Откройте для себя весь потенциал AbortController

Level of difficultyMedium
Reading time6 min
Views9.3K



В этой статье я расскажу об одном из стандартных API JavaScript, о котором, вы, возможно не слышали. Это AbortController.


❯ Что такое AbortController?


AbortController — это глобальный класс в JS, который можно использовать для прерывания любых асинхронных операций.


const controller = new AbortController()

controller.signal
controller.abort()
Читать дальше →

50 терминов системного дизайна, которые должен знать каждый разработчик

Level of difficultyMedium
Reading time10 min
Views26K



1. Масштабируемость / Scalability


  • Масштабируемость — это способность системы поддерживать возросшую нагрузку путем добавления дополнительных ресурсов
  • Примером является добавление дополнительных серверов для обработки увеличившегося веб-траффика
  • Что такое масштабируемость и как ее достичь?

2. Балансировка нагрузки / Load Balancing


  • Балансировка нагрузки — это разделение входящего сетевого траффика между несколькими серверами для снижения нагрузки на каждый из них (во избежание того, чтобы на один сервер приходилось слишком много траффика)
  • Примером является распределение веб-траффика между несколькими экземплярами EC2 с помощью сервиса AWS Elastic Load Balancer (ELB)
  • Понимание балансировки нагрузки
Читать дальше →

Что нового в React 19

Level of difficultyMedium
Reading time13 min
Views33K



React 19 на подходе. Команда React анонсировала предрелизную версию React 19 в апреле. Это крупное обновление принесет с собой ряд улучшений и новых паттернов, нацеленных на повышение производительности, удобство использования и опыта разработки.


Многие из этих возможностей были представлены в экспериментальном режиме в React 18, но в React 19 они станут стабильными. Давайте подготовимся к этому обновлению.

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

Дело было вечером или Создаем веб-приложение за 5 часов

Level of difficultyMedium
Reading time10 min
Views11K



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


В этой небольшой заметке я хочу рассказать вам о том, как я разработал игру с вопросами по JavaScript за один вечер, потому что, во-первых, мне было скучно :D, во-вторых, мне стало интересно, как быстро я смогу "запилить" подобный MVP.


Вот что мы имеем на сегодняшний день.


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

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

Шаблоны для эффективной работы с DOM с помощью современного чистого JavaScript

Level of difficultyMedium
Reading time11 min
Views14K



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

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

JavaScript: структуры данных и алгоритмы. Часть 5

Level of difficultyMedium
Reading time26 min
Views5.6K


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


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



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


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


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

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

Пару ласковых о Telegram

Level of difficultyEasy
Reading time4 min
Views68K



Tелеге на вас плевать, даже если вы платите ей деньги.

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


Я пользуюсь Телегой почти с момента ее появления в далеком 2013 году. Последние два года покупаю премиум. Несколько раз дарил премиум друзьям. Наивно полагал, что Телега заботится о своих пользователях, особенно платных. В целом меня все устраивало, пока недавно я не попал в "интересную" ситуацию невозможности управлять собственным аккаунтом.

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

JavaScript: структуры данных и алгоритмы. Часть 4

Level of difficultyMedium
Reading time31 min
Views8.1K


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


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



Сегодня мы рассмотрим дерево отрезков, дерево Фенвика, а также граф (направленный и ненаправленный).


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


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

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

Как Google обрабатывает JavaScript в процессе индексации веб-страниц

Level of difficultyEasy
Reading time13 min
Views7.3K



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

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

От Web к Native с React

Level of difficultyMedium
Reading time15 min
Views7.4K



React Native — отличный выбор для веб-разработчиков, имеющих опыт работы с React, которые хотят создать первое мобильное приложение.


Хотя у React и React Native много общего, между веб-платформой и нативными приложениями существуют некоторые различия. В этой статье освещаются наиболее распространенные ошибки и вопросы, с которыми сталкиваются разработчики при переходе с React на React Native.

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

JavaScript: структуры данных и алгоритмы. Часть 3

Level of difficultyMedium
Reading time46 min
Views9K


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


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



Сегодня мы будем говорить о таких структурах данных, как деревья. В этой статье мы рассмотрим двоичное дерево поиска, АВЛ-дерево и красно-черное дерево.


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


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

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

React: одна любопытная особенность порталов

Level of difficultyMedium
Reading time5 min
Views5.8K



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


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


Полагаю, статья будет интересна всем разработчикам React, а также тем, кто любит разбираться с тонкостями работы JavaScript и браузерных API.


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

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

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

Level of difficultyMedium
Reading time21 min
Views20K



TLDR


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


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





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




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

JavaScript: структуры данных и алгоритмы. Часть 2

Level of difficultyMedium
Reading time36 min
Views14K


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


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



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


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


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

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

JavaScript: структуры данных и алгоритмы. Часть 1

Level of difficultyMedium
Reading time33 min
Views33K


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


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



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


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


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

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

Учимся летать: симуляция эволюции на Rust. 5/5

Level of difficultyMedium
Reading time34 min
Views4.3K



Это заключительная часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.





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

Учимся летать: симуляция эволюции на Rust. 4/5

Level of difficultyMedium
Reading time30 min
Views4K



Это предпоследняя часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.






В сегодняшнем выпуске:


Сексуальные многоугольники





Сертифицированные ISO диаграммы ASCII


------------
| \...%....|
|   \......|
|    @>....|
|      \...|
|        \.|
------------

Клевые числа




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

Учимся летать: симуляция эволюции на Rust. 3/5

Level of difficultyMedium
Reading time30 min
Views3.8K



Это третья часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.






В предыдущей статье мы реализовали простую FFNN (feedforward neural network — нейронная сеть прямого распространения), которая может передавать числа через рандомизированные слои — это первый шаг на пути создания мозга.


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


Но как мы можем обучить группу чисел с плавающей точкой (запятой, если угодно)?

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

Учимся летать: симуляция эволюции на Rust. 2/5

Level of difficultyMedium
Reading time20 min
Views6K



Это вторая часть серии статей по разработке симуляции эволюции с помощью нейронной сети и генетического алгоритма.






В этой статье мы заложим основы нашего проекта и реализуем простую FFNN (feedforward neural network — нейронная сеть прямого распространения), которая впоследствии станет мозгом. Мы также рассмотрим множество тонкостей и идиом, которые встречаются в коде Rust, включая тесты.


Готовы? Тогда поехали.

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

Information

Rating
174-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity

Specialization

Backend Developer, Frontend Developer
Senior
JavaScript
HTML
React
TypeScript
CSS
Web development
Node.js
Express
Webpack
NextJS