Как стать автором
Обновить
218.21

JavaScript *

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

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

Dagaz: Вторжение в трёхмерность

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров552
Представь себе, что ты находишься в Плоскомире, и вдруг кто-то предлагает тебе заглянуть в мир трех измерений. Разве это не покажется тебе безумием?

Эдвин Эбботт, "Флатландия"



Эта статья про застарелые комплексы, а также про успешное их преодоление. Восемь лет назад, Dagaz создавался не на пустом месте. В его основу легли Zillions, Axiom и… Jocly. Как раз с последним и было связано больше всего терзаний. Сейчас Jocly выглядит как 100%-ый 3D-проект, но так было не всегда. Когда-то в нём были 2D-игры (например манкалы). Где они теперь? Всё просто, разработчики выпилили их из проекта, поскольку посчитали, что те не вписались в новую концепцию трёхмерности. Было понятно, что это не путь для Dagaz, но какой путь для Dagaz было непонятно…
Читать дальше →

Новости

10 Принципов отказоустойчивости (с примерами на Javascript)

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

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

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

Хорошая отказоустойчивость начинается с мышления.

Я хочу, чтобы эта фраза въелась вам в самую подкорку.

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

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

Перейти к 10 принципам

Быстрый Frontend в 2025: почему RTK Query, Tailwind и Vite убивают классические подходы

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров8.9K

Ни для кого ни секрет, что разработка и IT‑решения в 2025-м году — это гонка за скоростью: от выяснения бизнес‑требований до финальной версии продукта. Чем быстрее пишется код, тем раньше ваш продукт попадает к пользователям. Разумеется, выбор технологий существенно сказывается на скорости разработки.

В этой статье я бы хотел затронуть современные инструменты Frontend‑разработчика, которые уже начали вытеснять классику, а также попутно сокращают объём кода, избавляя разработчика от рутины.

Читать далее

Когда мобильной версии мало: зачем и как включать «Версию для ПК»

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.5K

Разработка мобильных интерфейсов — непростая задача. Иногда по разным причинам пользователю недоступен функционал Web-приложения в мобильной версии. Что делать если десктопа под рукой нет?

Читать далее

Virtual Mirror Library — Библиотека виртуального макияжа и онлайн примерки аксессуаров

Уровень сложностиСредний
Время на прочтение38 мин
Количество просмотров779

Виртуальное зеркало: Создала сама, делюсь с вами!

Привет! Меня зовут Аня, и я фанат e-commerce. В прошлый раз мы говорили о визуальном поиске, а сегодня я хочу рассказать о своей гордости — библиотеке виртуального зеркала.

Ещё год назад, когда готовые решения были редкостью, я решила выяснить, как работает виртуальная примерка. Результат? Моя собственная библиотека, которая позволяет примерить косметику и аксессуары в реальном времени или на фото.

Читать далее

Стрелочные функции JS, быстро, просто и без проблем

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

Содержание:

- Стрелочные функции: argumentshoisting

- Работа с контекстом

- Методы присваивания контекста

- Обработчик событий

Читать далее

Как набираться опыта в разработке

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

Как набираться опыта в разработке: пет-проекты, бизнес-задачи и путь вверх

Привет! Я Ник Уайт, frontend-разработчик. Рассказываю честно и по делу — как я набирался опыта, чем учебные проекты отличаются от настоящих, почему ошибки — это круто, и как не перегореть, прокачивая скиллы. Если ты на старте или хочешь расти — будет полезно.

Читать далее

Как я впервые столкнулся со связанными списками и не сдался

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

Я решил улучшить свои навыки алгоритмов перед собеседованиями и начал с простых задач. Всё шло гладко… пока не наткнулся на “Merge Two Sorted Lists” — нужно объединить два отсортированных связанных списка в один. В статье делюсь тем, как я разобрался в этой структуре данных, решил задачу и что вынес из этого опыта. Для новичков однозначно будет полезно!

Читать далее

JS SDK Битрикс 24: что под капотом и какие планы

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров710

Привет! Меня зовут Сергей Востриков, я руковожу направлением Маркет и интеграций в Битрикс. Моя команда развивает решения для разработчиков тиражных решений и индивидуальных кастомизаций. Сегодня я хочу рассказать про наш новый официальный SDK под JavaScript для работы с REST API Битрикс24. Он опубликован в виде отдельного репозитория на Github и распространяется на условиях лицензии MIT. 

В этом посте — о принципах разработки SDK, наших планах по его обновлению и том, как можно повлиять на развитие инструмента. 

Читать далее

Как я наваял «конкурента» для клиента Nextcloud Talk Desktop из-за собственной лени

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

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

Вот вы сказали себе: «Ну ладно, это же опенсорс! Значит можно попробовать что‑то с этим сделать своими силами. Заодно и внести посильный вклад в развитие этого продукта. Что может быть лучше?» Но реальность оказалась иной. Код для непрограммиста оказался довольно сложный, принятая разработчиками архитектура приложения также вызывает вопросы (конечно, скорее всего только у меня) и т. д.

К чему это я? Начну с небольшой предыстории.

Читать далее

Краткая история JavaScript

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



В этом году JavaScript исполняется 30 лет.


За три десятилетия он прошел путь от забавного и непритязательного скриптового языка, созданного за 10 дней, до самого популярного языка программирования в мире. Ниже — ключевые моменты истории JavaScript, которые помогут понять, как он менялся и куда идет.

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

Практическая инструкция для чайника по использованию нейросетей в разработке

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

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

В статье рассматривается инструкция для установки LLM локально на ПК юзверя для обхода проблем работы с удаленными серверами. Также статья поможет в совсем базовом понимании работы с LLM.

Здесь будет рассматриваться IDE VSCode, однако всё нижеописанное актуально и для JB Webstorm или Pycharm (и др).

Читать далее

Vue. Watch и WatchEffect на практике

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров3.1K

Каждый, кто использует Vue для разработки, так или иначе встречается с необходимостью выполнить какое‑либо побочное действие при изменении значений, и сразу в голове возникает мысль о двух методах‑наблюдателях — Watch и WatchEffect.

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

По ходу статьи также будут приведены некоторые полезные библиотеки Vue, которые часто используются в разработке.

Читать далее

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

19 лет в айти, чтобы прикинуться джуном: как искать баги в приложениях с помощью ИИ

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

Раньше было лучше? Не уверен. Еще 10 лет назад я тестировал без ИИ: искал ошибки, писал отчеты, огребал от разрабов. А теперь — всё в 5 раз быстрее, и пока вам несут матчу на кокосовом, можно словить и починить баги. В статье — гайд + код.

Читать далее

Что происходит с вашим JavaScript-кодом внутри V8. Часть 1

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

В этой серии статей мы пройдемся по каждому этапу работы V8: лексическому и синтаксическому анализу, построению AST, интерпретации и оптимизациям. Затронем Ignition, Sparkplug, Maglev и Turbofan; разберемся с hidden classes, байт-кодом, и много чем еще. Углубимся во все этапы достаточно, чтобы понимать, за что отвечает каждый из них.

В этой части посмотрим на лексический и синтаксический анализ.

Читать далее

Создаём свой Telegram-клон с помощью Next.js и TailwindCSS — Часть 1

Уровень сложностиПростой
Время на прочтение51 мин
Количество просмотров4.5K

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

В этой серии из трех частей мы подробно рассмотрим процесс создания клона веб-версии Telegram с использованием Next.js, TailwindCSS и Stream SDK. В первой части мы настроим все необходимые инструменты для нашего проекта, добавим аутентификацию и создадим макет приложения с помощью TailwindCSS.

Читать далее

Настройка Workbox Background Sync для совместимости с iOS и Android WebView

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров246

Важность надежной обработки запросов в оффлайн-режиме невозможно переоценить, особенно для приложений, которые должны функционировать и в отсутствии интернет-соединения. Workbox - это мощный инструмент для управления Service Worker в браузерах, он как раз призван решать подобную задачу при помощи соответствующего плагина, но поддержка Background Sync API не универсальна. В этой статье я покажу, как расширить Workbox, чтобы Background Sync корректно работал даже на платформе iOS/Safari.

Читать далее

Веб-воркеры — многопоточность в JavaScript

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

Даже самые зелёные новички в вебе знаю, что скрипты JS, нужно располагать в самом низу страницы перед закрывающим тегом `` и всё знаю что это повышает скорость загрузки страницы. Но Вы когда-нибудь задумывалась почему оно так?

JavaScript по своей природе однопоточный язык, но мало того, он делит этот единственный поток сразу с HTML и CSS. Это приводит к тому, что встречая тег <script>, браузер начинает, исполнять его код, при этом останавливая дальнейшую обработку HTML и CSS и в результате пользователь наблюдает белый экран, вместо сайта, до тех самых пор пока, браузер не закончит с кодом JavaScript. Именно потому убирая подключения скриптов, в самый конец страницы, мы даём интерфейсу сайта максимально быстро погрузится и не бесить пользователей белой простынёй.

Но подобный подход годен не везде, иногда жизненно необходимо, чтобы код JS, начал исполнение как можно раньше. Да и при подключении в самом низу, крупный JS-бандл, может здорово подкосить перфоманс сайта. Как быть в таких ситуациях? Смирится с тем что пользователи будут испытывать определённый дискомфорт во время загрузки сайта? Конечно же нет, можно попробовать вынести наш код в веб-воркеры!

Так что такое эти ваши веб-воркеры?

Монитор 42 — сервис для мониторинга документов о вырубке и застройке зеленых зон

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров966

Что делать, если во дворе появился строительный забор?

Или уже начали вырубать деревья?

Самое время задуматься над созданием системы мониторинга.

Читать далее

React Native тормозит? Проверь эти 8 узких мест в производительности, прежде чем винить фреймворк [ЧЕК-ЛИСТ]

Время на прочтение14 мин
Количество просмотров4K

Идея этой статьи родилась во время задушевных разговоров на кухне и за утренним кофе с коллегами. Началось все с вопроса: «Что ты сказал бы себе прошлому, чтобы релизы стали легче, а спринты прекраснее?» Конечно, в тот момент я ничего дельного не ответил, но, кажется, наконец‑то сформулировал идеальную фразу: «Настоящий разработчик, Слав, это не тот, кто с сияющим макбуком и вкусным смузи. Разработчик — тот, кто делает то, что нужно сделать. И в легаси покопаться приходится, и memory leak дебажить, а он всё равно делает, потому что так надо».

Привет, Хабр! Меня зовут Вячеслав Чащухин, я — разработчик в МойОфис. Занимаюсь мобильной версией Squadus — цифрового рабочего пространства для совместной работы и деловых коммуникаций.

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

Читать далее
1
23 ...

Вклад авторов

Работа