Привет, Хабр!В разработке часто возникают ситуации, когда точность типов и нежелание допускать неясности в коде становятся первостепенными задачами. В таких случаях, разработчикам приходится искать инструменты, предоставляющие максимальную ясность и строгость в определении данных. Один из таких инструментов — ключевое слово as const. В данной статье мы рассмотрим, как as const может повысить уровень строгости и предсказуемости, а также рассмотрим практические примеры его использования для созд…
Спрос на функции поиска растет, и многие разработчики пытаются внедрить их в свои приложения. Однако создание таких приложений с нуля - сложная и трудоемкая задача. К счастью, существует множество библиотек с открытым исходным кодом, позволяющих освободить разработчиков от этого бремени.В этом руководстве читатель найдет список лучших поисковых пакетов для JavaScript. В статье будет проведен обзор и сравнение поисковых пакетов с учетом скорости, простоты использования, типа предлагаемого поиск…
Всем привет! Меня зовут Алексей Гмитрон, я фулстек-разработчик и наставник на курсе «Фронтенд-разработчик» в Практикуме. Довольно долгое время я разрабатываю интерфейсы, а ещё дольше — пользуюсь ими. В этом году я много путешествовал, поэтому нередко заполнял формы с анкетами на разные визы — в них бывало по 30—40 полей. Когда что-то шло не так, часто сайты не давали никакой обратной связи. Иногда они сбрасывали всё, что я заполнял в течение часа, если одно из полей невалидно. Решить проблему …
Список статей этой серииЧасть 1: Строим свой SSO сервер, используя Spring Authorization ServerЧасть 2: Строим свой SSO. PostgreSQL и ролевая модельЧасть 3: Строим свой SSO. Redis, Swagger, Vue.jsЧасть 4: Строим свой SSO. Vue.js, Регистрация, Сброс пароляВступлениеВсем привет, мы продолжаем строить собственный SSO Server. Но в начале давайте вспомним, что мы сделали в предыдущей статье:Подключили RedisНастроили SwaggerСоздали кастомизированный интерфейс для j-sso с использованием Vue.jsВ предыд…
Всем привет! В этой статье хотел бы поделиться вопросами и ответами, которые я задаю на собеседованиях фронтенд-разработчикам и которые попадались мне, когда я сам искал работу. Здесь собраны вопросы именно по JavaScript. В дальнейшем планирую рассмотреть TypeScript отдельно, а также React и связанные с ним технологии.Советую не заучивать их, а разобраться в каждом примере, так как все вопросы являются типовыми и могут встретиться только в другой формулировке. Если что-то не понятно, лучше пос…
Задача унарного оператор typeof возвращать строковое представление типа операнда. Другими словами, typeof 1 вернет строку "number", а typeof "" вернет "string". Все возможные значения типов, возвращаемых оператором typeof изложены в спецификации ECMA-262 - 13.5.1. По задумке, возвращаемое, оператором, значение должно соответствовать принятым в той же спецификации типам данных. Однако, при детальном рассмотрении, можно заметить, что typeof null должен возвращать "obj…
Фото получено через DALL·E 3 по запросу “сгенери мне фото для статьи в которой роль ChatGPT звонит по телефону потенциальному соискателю на вакансию и определяет модель личности по Адизесу”ВступлениеChatGPT - LLM модель от компании OpenAI и без преувеличения это главное событие в мире в прошедшем 2023 году.Весь 2023 год я участвую в создании платформы нейро-сотрудников на базе ChatGPT и вот наконец-то мы подошли к очень интересной задаче:Что, если дать нейро-сотруднику возможность отвечать по…
Хочу рассказать о своём новом (хотя существует уже почти 3 года) сайте egaxegax.github.io, после закрытия предыдущего сайта egaxegax.appspot.com на хостинге Google App Engine в начале 2021 года. О нём я писал в статье Cайт на Django-nonrel на платформе Google App Engine для Python. Эта статья рассчитана на тех, кто хочет узнать или получить простой сайт с возможностью добавления и правки контента на основе создания markdown-постов.Сайт egaxegax.appspot.com просуществовал 10 лет на хостинге GA…
react-afc - библиотека для более простого (чем в простом react) уменьшения количества ненужных ререндеров дочерних компонентов.Задачи и применениеВ обычном react функциональный компонент вызывается каждый раз когда изменяется его состояние или пропсы, что вызывает повторное создание всех callback'ов и переменных.Так как передаваемые данные из предыдущего и текущего рендера не равны, это порождает ререндер дочерних компонентов.примерФункционал компонента не несёт конкретного смысла. Просто …