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

JavaScript *

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

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

Вопросы и ответы для собеседования на позицию frontend-разработчик. Часть 1

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

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

Читать далее
Всего голосов 10: ↑6 и ↓4+2
Комментарии24

Строим свой SSO. Часть 4: Vue.js, Регистрация, Сброс пароля

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

Всем привет!
Мы продолжаем строить собственный SSO Server. Сегодня мы детально разберем Vue.js приложение, а также спроектируем и реализуем долгожданные механизмы регистрации и сброса пароля. Как всегда, дополнительно мы разберём ряд интересных общесистемных решений, которые наверняка Вам пригодятся в дальнейшем.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии7

Может ли нейро-сотрудник на базе ChatGPT звонить по обычной телефонной линии?

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

Продолжаем создавать нейро-сотрудников на базе ChatGPT и пробовать их в разных каналах коммуникаций.

В этот раз мы решили дать нейро-сотруднику возможность отвечать по обычной телефонной линии или самому делать исходящие вызовы исходя из свой системной роли. Интересно что получилось?

Читать далее
Всего голосов 14: ↑10 и ↓4+6
Комментарии19

Сайт с поддержкой markdown на GitHub-Pages платформе

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

Хочу рассказать о своём новом (хотя существует уже почти 3 года) сайте egaxegax.github.io, после закрытия предыдущего сайта egaxegax.appspot.com на хостинге Google App Engine в начале 2021 года. О нём я писал в статье Cайт на Django-nonrel на платформе Google App Engine для Python. Эта статья рассчитана на тех, кто хочет узнать или получить простой сайт с возможностью добавления и правки контента на основе создания markdown-постов.

Читать далее
Всего голосов 15: ↑3 и ↓12-9
Комментарии11

Истории

Что такое react-afc

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

react-afc - библиотека для более простого уменьшения количества ненужных ререндеров дочерних компонентов.

Читать далее
Всего голосов 8: ↑8 и ↓0+8
Комментарии27

JavaScript классы в Es6

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

В JavaScript нету привычной системы классов как в Java, или C#. В языке заместо этого есть система объектов, где каждый объект наследуется от другого, сохраняя его цепь прототипов. Однако мы имеем возможность писать более привычный код начиная с версии Es6.

Читать далее
Всего голосов 17: ↑5 и ↓12-7
Комментарии6

2d движок для игр Javascript Game Engine (JsGE)

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

Привет всем. Меня зовут Артурас, я пишу на Javascript. Полтора года назад я уволился из оффшорной компании и решил написать свой движок для браузерных 2d игр. Сегодня - делюсь результатами.

Читать далее
Всего голосов 11: ↑11 и ↓0+11
Комментарии15

Перевод третьей части учебника Patterns.dev

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

И снова всем привет! Продолжение к переводу второй части книги Patterns.dev

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

Напомню, что авторы Patterns.dev:
Лидия Холли — штатный консультант и преподаватель по разработке программного обеспечения, которая в основном работает с JavaScript, React, Node, GraphQL. Она также занимается наставничеством и проводит личные тренинги.
Эдди Османи — технический менеджер, работающий над Google Chrome. Его команды работают над такими проектами, как Lighthouse, PageSpeed ​​Insights, Chrome User Experience Report и другими.

Материал книги будет полезен не только React‑разработчикам, но и всем, кто так или иначе интересуется или сталкивается с frontend‑разработкой. Это ознакомительная часть перевода учебника https://www.patterns.dev/. Перевод всей третьей части учебника можно найти здесь.

P. P. S.: Третья часть взята из книги: https://www.patterns.dev/, переведена на русский язык. Книга находится под лицензией CC BY-NC 4.0

Данный адаптированный материал распространяется на условиях лицензии Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

Типы событий в React и TypeScript

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

При работе с React и TypeScript вы часто сталкиваетесь с подобными ошибками:

const onChange = (e) => {}; // Parameter 'e' implicitly has an 'any' type.

<input onChange={onChange} />;

Не всегда понятно, какой тип следует присвоить пременнойe внутри функции onChange.

Это может произойти с onClick, onSubmit или любым другим обработчиком событий, которые получают элементы DOM.

К счастью, есть несколько решений:

Читать далее
Всего голосов 4: ↑2 и ↓20
Комментарии5

Бинарный поиск

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

В этой статье мы познакомимся с бинарным поиском с примером на JavaScript, а так же сравним бинарный поиск и линейным.

Читать далее
Всего голосов 12: ↑6 и ↓60
Комментарии11

Увлекательный мир фронтенда

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

Фронтенд-разработка — это как собирать лего без инструкции: иногда весело и творчески, но порой ты забираешься на кровать и кричишь: «*@#%*, да где же этот пропавший блок?!»

Каждый новый проект во фронтенде — это как уникальный набор лего, и ты никогда не знаешь, какие интересные вызовы подкинет он на этот раз. 

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

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии17

Css «карточки» в динамически генерируемом web документе — моя реализация

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

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

В данном случае - страница настранивается с бэк-енд админки (Processwire CMS) и потенциально может иметь боковую панель (произвольной ширины), может и не иметь. А возможно в дальнейшем и вторую панель кому захочется прикрутить (old school) на широких экранах.

Главная секция (main content) состоит из наших конструкторских чудо-карточек, о ней то речь и пойдёт.

Читать далее
Всего голосов 1: ↑0 и ↓1-1
Комментарии10

DagazBot — Хранитель ключей и мётел

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров947
История проекта Dagaz прошла у вас перед глазами. Когда я только начинал писать про Zillions, главным возражением было то, что платформа эта платная и запускается только под Windows. Появился Dagaz — полностью бесплатный проект с открытой лицензией и общедоступным исходным кодом, игры которого можно запускать из браузера, даже на мобилках. Блокирующим фактором стало отсутствие адекватных ботов. Пришлось осваивать GarboChess и разрабатывать DagazServer, на котором игроки могли бы играть по сети друг с другом. Это стало большим шагом вперёд, но на сервере требуется авторизация, а логины и пароли — это как раз то, что забывается легче всего. Счастлив сообщить, что теперь их запоминать не надо.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии3

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

Python без типов: таким он когда-то был

Время на прочтение5 мин
Количество просмотров8.9K
О типизации в Python сказано уже очень много. Если вам выпало сомнительное удовольствие поработать со мной, то вы, вероятно, в курсе, насколько скептически я отношусь к типизации в Python. Причины тому – сложность синтаксиса, mypy еле ползает, реализация языка в принципе переусложнена, а взаимодействовать с ним зачастую неудобно. Сегодня я не буду упирать на эти детали, а хочу пригласить вас в небольшое путешествие в прошлое и рассказать, каковы были мои первые впечатления от работы с Python. Почему? Потому что я думаю, что существует фундаментальный и глубокий конфликт между формообразующей философией Python и концепцией типизации. Причём, этот конфликт не нов.
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии14

Typescript ENUM — баланс использования

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

Привет Всем.

Меня зовут Михаил. В НЛМК нахожусь на должности Frontend-разработчика.  Занимаюсь разработкой внутренних информационных систем на React + Typescript.

В этой статье поговорим про тип enum (перечисление) в Typescript, о случаях когда его можно и нужно использовать, а когда нет.

Перечисления бывают числовыми и строковыми. Например, представим в виде перечисления должности работников кафе.

Рассмотрим перечисления с числовыми значениями:

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии5

Кодогенерация и парсинг TypeScript с помощью typescript

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

Одной из интересных возможностей пакета typescript является то, что он содержит API для генерации TypeScript-кода, а также парсер для работы с написанным на TypeScript кодом. Кодогенерация часто используется для автоматического создания типов для работы с http api (типизация тела запроса, ответа, query параметров и тд.). В npm есть модули, генерирующие сервисы для работы с api на основе openapi, graphQl схем и тому подобное, и обычно возможностей существующих модулей хватает для решения большей части задач.

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

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии6

Hippotable — анализ данных прямо в браузере

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

Сегодня я расскажу про hippotable — удобный инструмент для анализа данных. Мне часто нужно поковыряться в датасете среднего размера (1–100 Мб), чтобы ответить на довольно простые вопросы. Ни один из существующих инструментов (bash, google sheets, jupyter + pandas) не показался мне особо подходящим для такой задачи, и я... решил сделать свой! Хотел поделиться результатом, показать пару интересных JS-инструментов для обработки и отображения данных, и рассказать, как дальше планирую развивать продукт. Запрыгивайте, будет интересно.

Читать далее
Всего голосов 15: ↑15 и ↓0+15
Комментарии13

Фронтенд-дайджест 2023

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

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

Открыть дайджест
Всего голосов 19: ↑16 и ↓3+13
Комментарии1

Oxlint — более быстрая альтернатива ESLint

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

Друзья, всем привет! Меня зовут Игорь Карелин, я frontend-разработчик в компании Домклик. Недавно стал общедоступен новый линтер «Oxlint», основанный на языке программирования Rust, и многие эксперты высоко оценили его. Какие преимущества Oxlint предоставляет по сравнению со своим предшественником ESLint?

Читать далее
Всего голосов 32: ↑32 и ↓0+32
Комментарии18

Astro vs Next.js

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

Irelia Codeheart, Senior Developer

Astro против Next.js: Подробный анализ для разработчиков
В этой статье мы погрузимся в основы Astro и Next.js — двух надежных, богатых функциями JavaScript-фреймворков. Мы обсудим их функции, цели и отличительные характеристики, предоставляя вам подробный обзор обоих решений.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии4

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

Работа