Идея написать статью про стрелочные функции в 2023 году выглядит не самой очевидной, но я постараюсь объяснить свою мотивацию. Я разработчик, который пришел в профессию после того, как в JavaScript появились такие инструменты как классы, async/await, стрелочные функции и т.д.. В результате, я воспринимаю их как данность и не всегда понимаю, какой важный вклад они внесли в современный JS. И из-за этого непонимания в коде появляются ошибки, которых можно избежать, если оглянуться назад и изучить, какие проблемы эта технология была призвана решить в момент выхода. В этой статья я хочу разобраться: зачем появились стрелочные функции, чем они отличаются от обычных, и какие особенности содержат.
Frontend developer
Как мы развиваем айтишников в СИБУР Диджитал
Привет! Меня зовут Таня, я инженер-физик, специалист по электронике электрофизических установок. Когда я 16 лет назад выходила из института, мне задали вопрос: “Таня, кем ты хочешь стать, когда вырастешь?” Я не очень понимала, кем хочу стать, но точно знала, чего я делать не хочу. Я сказала: “Я никогда не буду работать с айтишниками”.
Я занимаюсь обучением и развитием персонала уже 17 лет. В двух предыдущих компаниях я построила два обучающих центра. Сейчас я помогаю найти ответ на этот вечный вопрос тем, кто еще не в IT, но очень хотел бы туда попасть, и тем, кто уже в IT, но яростно хочет расти и развиваться в этой роли. Поэтому сегодня расскажу всю правду о том, как мы развиваем IT-специалистов в компании Сибур Диджитал.
Итак, СИБУР. Достаточно крупная производственная компания. Зачем мы начали придумывать какие-то штуки, чтобы обучать IT-специалистов? Дело в том, что в 2020 году мы столкнулись с офигенной такой текучкой IT-специалистов, ребята достаточно высокого уровня стали активно искать работу и покидать нас.
С чем это связано? Мы производственная компания, каких-то драйвовых задач мы постоянно давать сотрудникам не можем. IT-специалисты делятся по трем уровням знаний: Junior - начальный уровень, Middle - средний и Senior - высокий. В нашей компании была такая проблема, что люди, наращивающие экспертизу годами, уходят из компании. Как вы понимаете, все то, что они нарастили и сделали, активно уходит вместе с ними. Мы поняли, что эту экспертизу было бы неплохо как-то сохранять и что сотрудники начальных уровней активно хотят развиваться, но мы не знаем, как их развивать.
Кстати, мало кому известно, что 32% IT-специалистов планировали уйти с работы, потому что их там не растят и никак не развивают. На основании этого мы подумали, что круто бы было сделать какую-то штуку, где мы бы все эти вопросы закрыли. Но перед тем, как говорить о создании Центра Экспертизы, давайте обсудим, почему же я с такой опаской относилась к IT-специалистам.
Как в Тинькофф разрабатывают навыки голосового ассистента Олега
Привет! Я Тамара, дизайнер навыков голосового финансового ассистента Олега. Сегодня я расскажу, из чего состоит работа дизайнера диалогов и какое будущее ждет голосовых ассистентов. Это будет полезно тем, кто интересуется голосовыми интерфейсами, работает в этой сфере или думает попробовать.
Как вести переговоры с террористами… партнерами, детьми и вообще с кем угодно
Есть настоящие профи по управлению проектами или те гении, которые придумывают изящные решения для заказчика. Однако почти в каждом, даже самом многообещающем проекте рано или поздно возникают проблемы. Иногда эти проблемы принимают монструозные масштабы, и команда проекта уже не может справиться с ними самостоятельно. И я тот самый человек, который их решает. Как я это делаю - тема отдельной статьи. Почему практически каждый раз получается? Ответ прост: всегда полезен взгляд со стороны. Однако наступил момент, когда этого оказалось мало. Я вляпался в настоящий факап, и единственным выходом из него были переговоры.
Бэкенд для фронтенда, или Как в Яндекс.Маркете создают API без костылей
Почему некоторыми API удобнее пользоваться, чем другими? Что мы как фронтендеры можем сделать на своей стороне, чтобы работать с API приемлемого качества? Сегодня я расскажу читателям Хабра как о технических вариантах, так и об организационных мерах, которые помогут фронтендерам и бэкендерам найти общий язык и наладить эффективную работу.
Этой осенью Яндекс.Маркету исполняется 18 лет. Все это время развивается партнерский интерфейс Маркета. Если кратко, то это админка, с помощью которой магазины могут загружать каталоги, работать с ассортиментом, следить за статистикой, отвечать на отзывы и т.д. Специфика проекта такова, что приходится очень много взаимодействовать с различными бэкендами. При этом данные не всегда можно получить в одном месте, из одного конкретного бэкенда.
Как построить REST-like API в крупном проекте
Недавно мы перезапустили API Яндекс.Кассы – платежного сервиса с 15-летней историей. Я хочу рассказать, как решить такую амбициозную задачу. Материала набралось на серию статей, поэтому здесь я подробно расскажу о проектировании, переработке наших API, а также про наши инструменты и процессы.
Ключевые слова для оценки полезности: API, REST, OpenAPI, Swagger, рефакторинг взаимодействия систем.
Моки без лишней мороки с mswjs+faker.js
Недавно я в очередной раз столкнулся с типичной проблемой: для создания нового функционала фронтенд и бэкенд нужно было реализовывать параллельно. Но как делать фронт, не имея 100% рабочих эндпойнтов на бэкенде? Сегодня я расскажу о том, какие подходы применял, и разберу их плюсы и минусы.
Всё, что вы хотели знать о динамическом программировании, но боялись спросить
# Весь код в статье написан на языке Python
Основы
Пожалуй, лучшее описание динамики в одно предложение, которое я когда либо слышал:
Динамическое программирование — это когда у нас есть задача, которую непонятно как решать, и мы разбиваем ее на меньшие задачи, которые тоже непонятно как решать. (с) А. Кумок.
Пару слов о стилизации React компонентов
Стилизация. Довольно насущный для меня момент. Несмотря на годы работы с React, стартуя новый проект, я каждый раз задумываюсь о стилизации. Я перепробовал многие её способы, больше и дольше всего я работал с css-modules
и styled-components
. Сегодня я хочу предложить вам рассмотреть еще один не менее интересный вариант.
Как устроены цикл событий и стек вызовов в JavaScript
Цикл событий (event loop) — ключ к асинхронному программированию на JavaScript. Сам по себе язык однопоточный, но использование этого механизма позволяет создать дополнительные потоки, чтобы код работал быстрее. В этой статье разбираемся, как устроен стек вызовов и как они связаны с циклом событий.
Статья будет полезна как новичкам, так и опытным разработчикам. Первым она поможет понять, почему JavaScript настолько сильно отличается от других языков программирования и чем функция обратного вызова очень полезна на практике. Вторым — глубже разобраться в среде исполнения этого языка программирования.
Как мы создавали UI Kit: все о стилизации комплексных React-компонентов
Привет, Хабр! Меня зовут Паша, и я руковожу frontend-направлением в ЕВРАЗе. В рамках цифровой трансформации компании моя команда разрабатывает огромное количество интерфейсов. Только с 2019 года их число превысило 20, и у каждого свой уникальный UX/UI. Несмотря на все разнообразие, проекты являются частью общей дизайн-системы, где повторяются те или иные элементы.
Но отдельные задачи требуют особого подхода, что приводит к локальным изменениям по стилям компонентов. И вот тут мы столкнулись с некоторыми проблемами, разрешив которые, получили идеальный UI Kit.
Module Federation: простая загрузка динамических модулей
Всем привет! Меня зовут Евгений, я работаю frontend-разработчиком в платформенной команде. Моя задача — помогать другим frontend-разработчикам выполнять их задачи эффективнее. Мы в Delivery Club больше года назад внедрили подход с микрофронтендами, о чём писали здесь. Вы можете найти и много других статей с описанием этого подхода.
После выхода стабильной версии Webpack 5 мы решили использовать плагин Module Federation в качестве основного способа загрузки микрофронтендов. В этой статье расскажу, с какой проблемой столкнулся при загрузке динамических модулей и как её решил. Описывать будут на примере плагина Module Federation во всех деталях. Если вы слышите про этот инструмент впервые, то советую предварительно ознакомиться.
Frontend Security: о чем вы хотели бы забыть, но не сможете
Какие атаки на клиентскую часть веб-ресурсов вы знаете? XSS, CSRF, HTTP Response Splitting, Clickjacking, CSHM, атаки на CORS, следствия других ошибок программистов? В среднем разработчик вспоминает не половину, и даже не треть. Разнообразие атак зависит только от фантазии и любопытства злоумышленников, и все они созданы, чтобы навредить вашим клиентам, а значит — и вам.
Татьяна Новикова — ex-пентестер с опытом в безопасности около четырех лет, а ныне Application Security Engineer. В команде ЦАРКА (Центр анализа и расследования кибератак) она занималась пентестом — полной проверкой веб-ресурсов на безопасность. В том числе команда работала с white-box, то есть с исходными кодами, и разбирала безопасность не только бэкенда, но и фронтенда. Сейчас Татьяна перешла в Beeline Казахстан и занимается обеспечением процессов безопасной разработки.
На основе своего опыта она выступила на конференции Frontend Conf Live 2020. В одной статье, конечно, невозможно покрыть все уязвимости и потенциальные опасности, поэтому сегодня будет самое актуальное и страшное из доклада — то, что может нанести максимальный ущерб.
CSRF-уязвимости все еще актуальны
О спикере: Михаил Егоров работает в компании Ingram Micro Cloud и занимается Application security. В свободное время Михаил занимается поиском уязвимостей и Bug hunting и выступает на security-конференциях
Дисклаймер: приведенная информация является сугубо мнением автора, все совпадения случайны.
В том, что CSRF-атаки работают виноват этот Cookie-монстр. Дело в том, что многие веб-приложения используют куки (здесь и далее считаем уместным называть cookies по-русски) для управления сессией пользователя. Браузер устроен так, что, если у него есть куки пользователя для данного домена и пути, он их автоматически отправляет вместе с HTTP-запросом.
Нахождение максимальной общей подпоследовательности
Жадные алгоритмы
Есть много методов решения тех или иных задач: динамическое программирование, перебор. Не менее известными и довольно распространенными являются жадные алгоритмы.
Думаю, каждый программист в своей жизни хотя бы раз написал жадину, может быть, даже не задумываясь об этом. Что же это такое? Добро пожаловать под кат.
[в закладки] PDF- и ePUB-версия руководства по React
Для новых читателей нашего блога — два бонуса внутри.
OAuth 2.0 простым и понятным языком
На хабре уже писали про OAuth 1.0, но понятного объяснения того, что такое OAuth 2.0 не было. Ниже я расскажу, в чем отличия и преимущества OAuth 2.0 и, как его лучше использовать на сайтах, в мобильных и desktop-приложениях.
Что такое OAuth 2.0
OAuth 2.0 — протокол авторизации, позволяющий выдать одному сервису (приложению) права на доступ к ресурсам пользователя на другом сервисе. Протокол избавляет от необходимости доверять приложению логин и пароль, а также позволяет выдавать ограниченный набор прав, а не все сразу.
Социнжиниринг в военной пропаганде
Во время Второй мировой англичане достали личные дела командиров немецких подлодок. Вроде бы не очень важная информация для военных целей – лодки-то уже вышли на задания, что им сделаешь. Но к делу подключились тёртые специалисты по пропаганде. У союзников были ежедневные радиопередачи, и вот пример:
— Мы обращаемся к вам, командир подводной лодки «U-507» капитан-лейтенант Блюм. С вашей стороны было очень опрометчиво оставить свою жену в Бремене, где в настоящее время проводит свой отпуск ваш друг капитан-лейтенант Гроссберг. Их уже, минимум, трижды видели вместе в ресторане, а ваша соседка фрау Моглер утверждает: ваши дети отправлены к матери в Мекленбург…Красота, правда? И, главное, в точности соответствует одному из базовых методов социнжинирингового проникновения внутрь инфраструктуры при направленной атаке.
Цитата из «Операция «Гроза» — И. Бунич
В общем, так получилось, что многие современные методы пиара пошли от наших, английских и немецких разработок времён Второй Мировой войны. И пока я писал книгу про то, как рассказывать людям о своей компании, понадобилось залезть для подтверждения и поднять пару исторических фактов. Заодно вскрылся отличный слой совершенно диких — ну или прекрасных — историй и методик убеждения. Про них и расскажу.
Зачем нужен Refresh Token, если есть Access Token?
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity