Pull to refresh
3
0

Frontend dev

Send message

Базовые задачи на Promise в JavaScript

Reading time4 min
Views28K

Promise - специальный объект, который хранит своё состояние и используется для обработки результатов асинхронных операций.

Что будет в статье: основные задачи на Promsie, которые часто спрашивают на собеседованиях.

Читать далее
Total votes 8: ↑7 and ↓1+6
Comments17

От основателя до технического директора. Какие уроки я извлёк? С кого можно брать пример?

Level of difficultyEasy
Reading time7 min
Views1.2K

Много лет назад мой друг Грег написал о том, как он прошел путь от одного из первых сотрудников Stripe до ее технического директора.

Этот пост вызвал у меня большой интерес. Это был первый честный взгляд, который я увидел, показывающий "внутренности" роли CTO.

Вы начинаете с того, что пишете кучу кода и знаете, как работают все системы. Вы находитесь на связи 24 часа в сутки 7 дней в неделю. Вы - главный помощник при возникновении серьезных производственных проблем. Со временем вы начинаете отдавать свои детальки "лего".

И когда команда растет, возникает большой экзистенциальный вопрос: Что вообще должен делать технический директор?

Читать далее
Total votes 5: ↑3 and ↓2+3
Comments0

Desert Racer: Первая игра, разработанная исключительно на CSS с возможностью управления свайпом

Level of difficultyMedium
Reading time11 min
Views10K

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

Идеален ли CSS для этой задачи? На данный момент, возможно, нет. Однако CSS начинает заменять некоторые функции обработчиков событий JavaScript. Я надеюсь, что эта статья внесет вклад в продвижение к этой цели. В конце концов, как творческому человеку, мне нравится использовать неподходящие инструменты для создания чего-то, что считается невозможным — это вызов, который я не могу игнорировать. У меня было предчувствие, что это должно работать, и оно оправдалось.

Эта статья предложит вам интерактивный и, надеюсь, вдохновляющий опыт. Приятного прочтения! (По крайней мере, вы можете прокрутить вниз, чтобы посмотреть крутые GIF-анимации)

Читать далее
Total votes 26: ↑26 and ↓0+26
Comments5

Шпаргалка по шаблонам проектирования

Reading time2 min
Views1.4M

Перевод pdf файла с сайта http://www.mcdonaldland.info/ с описанием 23-х шаблонов проектирования GOF. Каждый пункт содержит [очень] короткое описание паттерна и UML-диаграмму. Сама шпаргалка доступна в pdf, в виде двух png файлов (как в оригинале), и в виде 23-х отдельных частей изображений. Для самых нетерпеливых — все файлы в конце статьи.

Под катом — много картинок.

Читать дальше →
Total votes 192: ↑179 and ↓13+166
Comments66

Глубокий JS. В память о типах и данных

Level of difficultyHard
Reading time10 min
Views29K

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

Теория теорией, однако, JS-код исполняется не в теории, а на практике. Точнее, его компилирует и исполняет движок JS. Таких движков существует несколько, разрабатывались они разными людьми и для разных целей. Было бы наивно предполагать, что все они полностью идентичны друг другу. А значит, время разобраться, как же на самом деле хранятся вполне конкретные данные на вполне конкретном движке JS V8.

Читать далее
Total votes 42: ↑40 and ↓2+51
Comments27

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

Reading time5 min
Views6.9K

Привет, на связи Ефим Иванов — Product Owner, а в недавнем прошлом системный аналитик на финтех-проектах Outlines Tech. Делюсь своим опытом, как составлял спецификации и облегчал работу команде. Я выявил два подхода: «все по полочкам» и «история создания решения». В статье найдете объяснение, чем отличаются методы, как выглядят и насколько удобны для каждого звена команды разработки. 

Читать далее
Total votes 3: ↑2 and ↓1+1
Comments11

Как атомарный дизайн облегчает жизнь дизайнерам и делает счастливее заказчика?

Level of difficultyEasy
Reading time5 min
Views3.5K

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

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

Читать далее
Total votes 6: ↑4 and ↓2+3
Comments3

Архитектурный паттерн Dependency Injection в React-приложении

Reading time15 min
Views39K

Расшифровка доклада Сергея Нестерова с конференции FrontendLive 2020.

Привет! Меня зовут Сергей, уже больше двух лет я работаю в группе компаний Тинькофф. Моя команда занимается разработкой системы для анализа качества обслуживания клиентов в Тинькофф, и, как вы, наверное, догадались, мы используем React в своем приложении. Не так давно мы внедрили в свой проект архитектурный паттерн Dependency Injection совместно с IoC-контейнерами. Сделали мы это не просто так: это позволило нам решить ряд проблем, которые тормозили разработку нового функционала.

Читать далее
Total votes 29: ↑28 and ↓1+32
Comments48

Dependency Injection в React — максимально просто

Reading time5 min
Views12K

В интернете немало публикаций на тему реализации Dependency Injection (далее - DI) в React, также существует немало сторонних npm-пакетов, таких как inversify-react, react-simple-di и других. Но, по моему мнению, DI настолько просто реализуется средствами самого React, без дополнительных выкрутасов и boilerplate-кода, что никакая сторонняя библиотека во многих случаях попросту не нужна. В данной небольшой статье я постараюсь обосновать это свое мнение. Примеры кода будут приведены на TypeScript.

Читать далее
Total votes 4: ↑4 and ↓0+4
Comments27

Работа над ошибками. Правдивая история переезда на Sentry в масштабах большой продуктовой компании. Григорий Кошелев

Reading time35 min
Views16K

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


Sentry — инструмент мониторинга исключений (exception), ошибок в ваших приложениях.



Работа над ошибками – это длинная история про то, как мы большой компанией переходили на Sentry. Этот переход у нас занял порядка двух лет. И маленький спойлер: этот переход еще не во всех местах завершен, но мы делаем работу над ошибками и вроде у нас все хорошо получается.

Читать дальше →
Total votes 15: ↑13 and ↓2+14
Comments0

Синий свет — зеленый свет: релизим без даунтаймов

Level of difficultyMedium
Reading time8 min
Views3.4K

Привет! Меня зовут Николай Тихонов, я работаю в команде Tinkoff eCommerce. Я начинал как фронтендер, а потом стал писать бэкенд и занялся CI/CD. А дальше — FullStack Ops и руководство процессами и собственной командой. Сегодня расскажу про FrontOps, blue-green и релизы без даунтайма. Эта статья — текстовая адаптация моего доклада для FrontendConf 2022. 

С минимальными знаниями Ops-технологий фронтендер может показывать каждому пользователю, что он сделал, и в одиночку реализовывать крутые продукты. А релизы с даунтаймом все еще существуют и не дают клиентам пользоваться продуктом ночью, поэтому в этой статье поговорим про практику blue-green.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments5

Топ рекомендаций по Core Web Vitals на 2023 год

Reading time11 min
Views9.2K


Привет, друзья!


Представляю вашему вниманию перевод этой замечательной статьи, представляющей собой коллекцию лучших практик, которые по мнению команды Chrome DevRel являются наиболее эффективными способами улучшения показателей Core Web Vitals.


Core Web Vitals — это часть метрик Web Vitals, используемых для оценки веб-страниц и включенных во все инструменты Google. Владельцы сайтов должны учитывать эти метрики. Каждый показатель Core Web Vitals представляет собой отдельный аспект опыта взаимодействия пользователя с сайтом, измеряемый в полевых условиях и отражающий реальные действия по достижению критически важного результата, ориентированного на пользователя.


Web Vitals — это инициатива Google, цель которой — предоставить единое руководство по сигналам качества, необходимым для обеспечения хорошего взаимодействия с пользователем в Интернете (источник).


Интересно? Тогда прошу под кат.

Читать дальше →
Total votes 16: ↑15 and ↓1+20
Comments1

Простейшая нейросеть: еще раз и подробнее

Reading time10 min
Views56K

Машинное обучение это незаменимый инструмент для решения задач, которые легко решаются людьми, но не классическими программами. Ребенок легко поймет, что перед ним буква А, а не Д, однако программы без помощи машинного обучения справляются с этим весьма средне. И едва ли вообще справляются при минимальных помехах. Нейросети же уже сейчас решают многие задачи (включая эту) намного лучше людей. Их способность обучаться на примерах и выдавать верный результат поистине очаровывает, однако за ней лежит простая математика. Рассмотрим это на примере простого перцептрона.
Данная статья представляет собой пересказ-конспект первой части книги Тарика Рашида "Создай свою нейросеть" для тех, кто начал изучать тему, не понял отдельные детали или с трудом охватывает общую картину.

Читать далее
Total votes 84: ↑83 and ↓1+95
Comments27

Организация react-компонентов с помощью dot-notation и почему я часто прибегаю именно к этому способу

Reading time11 min
Views21K

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

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

Сегодня я бы хотел с вами поделиться одним из моих любимых паттернов организации сложных react-компонентов, рассказать о его сильных и слабых сторонах (да, некоторые минусы есть). Однако сперва для того, чтобы оценить сильные стороны данного подхода, нужно погрузиться в процесс разработки нового react компонента и сопутствующие ему проблемы, которые подход помогает решить.

Читать далее
Total votes 18: ↑18 and ↓0+18
Comments16

TypeScript: паттерны проектирования. Часть 2

Reading time10 min
Views12K


Привет, друзья!


Представляю вашему вниманию перевод второй части серии статей, посвященных паттернам проектирования в TypeScript.


Спасибо Денису Улесову за помощь в переводе материала.


Паттерны (или шаблоны) проектирования (design patterns) описывают типичные способы решения часто встречающихся проблем при проектировании программ.


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

Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments2

TypeScript: паттерны проектирования. Часть 1

Reading time10 min
Views24K


Привет, друзья!


Представляю вашему вниманию перевод первой части серии статей, посвященных паттернам проектирования в TypeScript.


Спасибо Денису Улесову за помощь в переводе материала.


Паттерны (или шаблоны) проектирования (design patterns) описывают типичные способы решения часто встречающихся проблем при проектировании программ.


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

Читать дальше →
Total votes 21: ↑19 and ↓2+22
Comments41

Процесс запуска и проведения АВ-тестов

Reading time8 min
Views5K

Приветствую, уважаемые читатели Хабра. Меня зовут Николай Французов, я digital-аналитик в компании Tele2, занимаюсь сбором и анализом данных, построением дашбордов и проведением А/В-тестов.

Я хотел бы рассказать вам о том, как мы проводим тесты в нашем проекте, и поделиться опытом, возможно, логикой проведения и приведенными процессами вы сможете воспользоваться в ваших проектах, а python-фишечки по расчету fixed horizon и анализу результатов пригодятся в ваших исследованиях.

Структура

- Кратко про А/В-тесты

- Процесс проведения —  первая часть, работа аналитика данных. Расчет fixed horizon и формирование ТЗ;

- Процесс проведения —  вторая часть, работа аналитика стрима проекта. Настройка;

- Процесс проведения —  третья  часть, сбор данных, анализ результатов и выводы.

Читать далее
Total votes 8: ↑8 and ↓0+8
Comments0

Разрабатываем библиотеку компонентов с помощью React и TypeScript

Reading time8 min
Views12K


Привет, друзья!


В этой статье я покажу вам, как начать разработку библиотеки компонентов с помощью Vite, React, TypeScript и Storybook.


Мы разработаем библиотеку, состоящую из одного простого компонента — кнопки, подготовим библиотеку к публикации в реестре npm, а также сгенерируем и визуализируем документацию для кнопки.


Репозиторий с кодом проекта.


Если вам это интересно, прошу под кат.

Читать дальше →
Total votes 9: ↑8 and ↓1+8
Comments1

Архитектура современных корпоративных Node.js-приложений

Reading time12 min
Views95K
Ох, не зря в названии намёк на нетленку Фаулера. И когда фронтенд-приложения успели стать настолько сложными, что мы начали рассуждать о высоких материях? Node.js… фронтенд… погодите, но Нода же на сервере, это бэкенд, а там ребята и так всё знают!



Давайте по порядку. И сразу небольшой дисклеймер: статья написана по мотивам моего выступления на Я.Субботнике Pro для фронтенд-разработчиков. Если вы занимаетесь бэкендом, то, возможно, ничего нового для себя не откроете. Здесь я попробую обобщить свой опыт фронтендера в крупном энтерпрайзе, объяснить, почему и как мы используем Node.js.
Читать дальше →
Total votes 42: ↑41 and ↓1+51
Comments64

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity