Обновить
200.85

JavaScript *

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

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

Как спрятать любые данные в PNG

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

А вы уже прятали что-то внутри PNG? Базовый способ надежно спрятать что-то внутри картинки. И все на вашем любимом JavaScript!

Подробнее

Пишем плагины для Obsidian. Часть 1

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

После шумихи с Notion все ринулись кто-куда, но так сложилось, что по большей части все стали смотреть в сторону Obsidian. И Хабр заполонили статьи про Obsidian и плагины для Obsidian.

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

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

Читать далее

Эффект матового стекла для веба

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

В процессе разработки UI для игр Forza Horizon 3 и Forza Motorsport 7 я имел возможность поработать с потрясающими акриловыми матовыми элементами дизайна.

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

Читать далее

Ошибки, которые я совершил, пытаясь быть «слишком правильным» в разработке

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

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

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

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

Читать далее

О чем плачет Frontend-developer

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

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

Сборник фронтендерских болей.

Читать далее

Почему я не готовлюсь к алгоритмическому интервью

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

Почему я не готовлюсь к алгоритмическому интервью

И не очень люблю людей, которые к нему готовы. Когда я провожу интервью, то главное - это понять как человек думает и как решает проблемы.

К собеседованию

Расширения VSCode для комфортной работы с проектами

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

Для работы с проектами существует куча редакторов кода и IDE (VSCode, NeoVim, SublimeText, WebStorm и т.д.). В данный момент наиболее популярны VSCode и Webstorm и у каждого есть свои плюсы и минусы. Webstorm является примером прекрасного IDE от компании JetBrains, где многие вспомогательные модули идут “из коробки”. К сожалению, сейчас нет возможности легально получить доступ к этому продукту гражданам России, поэтому многим приходится искать альтернативу. Такой альтернативой вполне может стать Visual Studio Code от компании Microsoft, который имеет открытую кодовую базу, полностью бесплатный и гибко настраиваемый под ваши нужды. В данной статье мы рассмотрим пример настройки рабочего пространства VSCode для комфортной работы с нашими проектами. Я покажу вам, какими расширениями я пользуюсь для лучшего удобства и продуктивности. Эти расширения я использую давно и они хорошо зарекомендовали себя, но возможно некоторые из них могут не подойти под ваш стиль работы и написания кода. Итак, начнем!

Читать далее

Знакомьтесь: input, output и model. Новые функции в Angular

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

Привет всем! Меня зовут Егор Молчанов, я разработчик в компании Домклик.

Хочу рассказать вам о новых функциях Angular: input(), output() и model(). Они появивились сравнительно недавно и обещают в скором времени заменить привычные нам декораторы @Input и @Output. Разберëм, что они собой представляют, как использовать на практике, и как связаны с концепцией сигналов. Поехали!

Читать далее

CI/CD для начинающих: деплой React-приложения без боли

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

Следующий шаг после разработки веб-приложения — размещение его на сервере. Независимо от сложности проекта или используемой инфраструктуры, общий процесс остается одинаковым: нужно «упаковать» код в CI/CD-конвейер и отправить на сервер. В тексте рассмотрим, как это происходит на примере простого приложения to-do list на React. Подробности под катом!
Читать дальше →

Почему я скептично отношусь к переписыванию JS-инструментов на «быстрых» языках

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

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

Поэтому у меня вполне естественно возникает беспокойство по поводу охватившей сферу разработки одержимости переписывать каждый инструмент Node.js на быстрых языках вроде Rust, Zig, Go и прочих. Причём ценность этих языков я нисколько не преуменьшаю. Я даже принимал некоторое участие в разработке Servo, да и на столе прямо сейчас передо мной лежит книга по Rust. Но в целом основную часть своей карьеры я вложил в освоение всех нюансов JavaScript, и на данный момент этот язык для меня самый удобный.

Так что я признаю свою предвзятость (и, возможно, чрезмерный акцент на одном наборе навыков). Но, чем больше я об этом думаю, тем больше понимаю, что у моего скептицизма есть также обоснованные причины, о которых и пойдёт речь в текущей статье.
Читать дальше →

Мощь CSS-масок

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

Декабрь 2023 года стал значимой датой в истории развития CSS-свойства mask: все современные браузеры в своих последних версиях обеспечили его полную поддержку, теперь без использования своих вендорных префиксов. А это означает, что данное свойство прочно и надолго вошло в жизнь каждого фронтенд-разработчика. Осталось лишь фронтенд-разработчикам принять его в свою жизнь и перестать его бояться!

В статье я кратко напомню основные теоретические идеи свойства и подробно расскажу о реальных примерах использования на основании опыта разработки Taiga UI.

Читать далее

Полезные рецепты ручного создания SVG

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



Признаюсь, поначалу я была скептиком ручного кодирования SVG. Будучи фронтенд-разработчиком, привыкшим приводить в порядок "плохие" SVG-файлы, я никогда всерьез не задумывалась о том, чтобы самой рисовать с помощью кода.


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


А как только освоишься, это занятие становится на редкость увлекательным и даже забавным.

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

База, которую нужно знать про JSON Schema

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

Привет, Хабр!

Сегодня мы рассмотрим одну из тем, которая, как ни странно, остаётся недооценённой — JSON Schema. Если ты аналитик (или хочешь им быть) и в твоей работе часто мелькают JSON-файлы, то наверняка знаешь, как сложно порой бывает держать всё это под контролем. В этой статье мы разберём всё, что тебе нужно знать про JSON Schema.

Читать далее

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

Пишем одностраничное приложение с помощью htmx

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

JS-библиотеку htmx воспринимают как средство, которое спасает интернет от одностраничных приложений. Всё дело в том, что React поглотил разработчиков своей сложностью (так говорят), а htmx предлагает столь желанное спасение.
Читать дальше →

Контроль привычек на запястье: как Mi Smart Band 7 поможет не забывать важное

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

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

«Если это действительно важно, то отмечайте даты на упаковке, используйте таблетницу или заведите будильник на телефоне», — скажете вы. Да, это решение. Но у меня есть фитнес-браслет, который, как заявляется, следит за моим здоровьем. Почему бы не научить его отвечать на вопрос «Не забыл ли я “…”»?

В тексте я расскажу про тернистый путь разработки под Mi Smart Band 7 и объясню важные детали для быстрого старта. В результате получится циферблат, который позволяет считать количество наиболее важных рутинных действий за день. Бонусом расскажу о приложении для броска кубиков 1d20 и 2d20.
Читать дальше →

Новый оператор безопасного присваивания в JavaScript: ?=

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

Современная разработка на JavaScript часто сталкивается с задачами асинхронной работы и обработки ошибок. Как правило, для этих целей используются конструкции try-catch и async-await. Однако они могут утяжелять код и усложнять его восприятие. Чтобы решить эту проблему, был предложен новый оператор безопасного присваивания ?=, который значительно упрощает обработку ошибок и улучшает читаемость кода. В этой статье мы рассмотрим, как работает этот оператор, его особенности и преимущества для разработчиков.

Читать далее

Разработчики dzen.ru, что с вами не так?

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

Приветствую, Хабравчане!

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

Читать далее

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

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



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


❯ Что такое AbortController?


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


const controller = new AbortController()

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

Компилируем и выполняем C на JavaScript

Время на прочтение13 мин
Количество просмотров6.7K
Мир работает на C. Этот язык лежит в основе сжатия файлов, сетевых взаимодействий и даже браузера, в котором вы читаете эту статью. Если код не написан на C, он всё равно взаимодействует с ABI, написанном на C (речь о C++, Rust, Zig, т.д.) и доступен в виде библиотеки на C. Язык C и C ABI — это прошлое, настоящее и будущее системного программирования.
Читать дальше →

Основные принципы хорошего нейминга

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

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

Читать далее

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