Pull to refresh
0
@lihhanaread⁠-⁠only

User

Send message

Наблюдение за температурой: введение в холодные и горячие Observable в rxjs

Level of difficultyEasy
Reading time4 min
Views20K

По мере изучения RxJS разработчик рано или поздно сталкивается с такими понятиями, как cold и hot observable. А на технических собеседованиях в команды, которые используют RxJS, можно услышать вопросы по этой теме.

Например, чем горячий поток отличается от холодного? Можно ли холодный поток превратить в горячий и наоборот? И если да, то как это сделать?

В статье попробуем разобраться в теме и найти ответы.

Читать далее

Как сделать декларативный роутинг диалогов в Angular на примере Taiga UI

Level of difficultyMedium
Reading time6 min
Views5.3K

Привет! Я Дима, разработчик онлайн-бухгалтерии. Предлагаю на примере простой задачи разобрать два подхода к созданию модальных окон, связанных с url: императивный и декларативный.

Часто на фронтенде нужно открывать модальные окна по определенному пути. Из коробки ангуляр не предоставляет такой возможности, так же как и популярные ui-kit-библиотеки. И разработчики каждый раз ищут способ, как это сделать.

Читать далее

Простота Subject’ов, удобство NGRX: что такое компонентный стор и с чем его едят

Level of difficultyMedium
Reading time13 min
Views6.5K

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

Поговорим о том, как наша команда пришла к такому подходу, какие плюсы принесло это решение и почему, если вы пишете на Angular, вам стоит хотя бы взглянуть на @ngrx/component-store.

Читать далее

Мониторинг пользовательских устройств с помощью Zabbix

Level of difficultyMedium
Reading time8 min
Views16K

Всем привет! Меня зовут Серёга Леонов, я инфраструктурный инженер в Тинькофф. Недавно наша команда внедрила и приспособила уже привычный всем инструмент Zabbix под что-то новое — мониторинг и сбор инвентарных данных на всех компьютерах компании. Расскажу, как мы это сделали и какую пользу это принесло отделам, работающим с внутренними пользователями.

Читать далее

Как мы решили проблему общения микрофронтендов в приложении

Level of difficultyMedium
Reading time5 min
Views8.2K

Всем доброго дня! Меня зовут Семен, в команде я отвечаю за работу с Angular.

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

Внедряя МФ, разработчики сталкиваются с новыми проблемами. Один из таких челленджей возникает при разработке: как грамотно организовать передачу данных между микрофронтендами? Расскажу о нашем опыте и поделюсь решением для их общения. 

Читать далее

ContentChild, ViewChild, template reference variables

Level of difficultyEasy
Reading time4 min
Views16K

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

Давайте!

Битва CLIs: почему мы отказались от Angular CLI в пользу Nx

Level of difficultyEasy
Reading time6 min
Views9.3K

Привет! Меня зовут Даниил, я фронтенд-разработчик в Тинькофф Бизнесе. Мы строим удобные интерфейсы, чтобы клиенты могли быстро зарегистрировать бизнес.

Сегодня я хочу рассказать, почему мы используем Nx для всех наших Angular-проектов, какие проблемы решает этот инструмент и чем он лучше Angular CLI.

Читать далее

Работа с формами в Angular — модуль работы с формами и обертки полей

Level of difficultyMedium
Reading time10 min
Views7.1K

Всем привет! Я Александр Бухтатый, frontend-разработчик в Тинькофф, специализируюсь на Angular. Наша команда работает в монорепозитории с четырьмя проектами. В каждом проекте много форм, нужно сопровождать их и создавать новые.

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

Читать далее

Как мы нашли способ объяснять пользователям, почему рекомендуем именно эти магазины

Level of difficultyMedium
Reading time8 min
Views2.5K

Привет! Меня зовут Денис Красильников, я исследователь-разработчик из команды персонализации. Сегодня я расскажу, как мы с коллегами подошли к задаче оценки качества объяснения рекомендаций магазинов, в которых покупают наши клиенты. Об этом же мы написали статью и даже прошли с ней на воркшоп WSDM 2023. 

Читать далее

История о том, как мы на Module Federation съезжали. Часть 3

Level of difficultyEasy
Reading time8 min
Views3.1K

Привет! С вами снова Максим, и это заключительная часть трилогии о переезде на MFE. В первой части мы говорили о том, как пришли к распилу, во второй — что подтолкнуло нас к микрофронтам, и вот настала очередь фолбэков.

Читать третью часть

Как DDD работает для меня

Level of difficultyMedium
Reading time5 min
Views7.3K

Привет! Меня зовут Станислав, я фронтенд-разработчик компании Тинькофф. Занимаюсь разработкой веб-приложений и написал десятки тысяч строк кода, массу велосипедов и костылей, пока не познакомился с разработкой, основанной на модели предметной области, или Domain-Driven Design.

DDD — это система знаний, приемов и методов, предназначенная для создания приложений высокой сложности. DDD обобщает лучшие практики коммерческой разработки программного обеспечения и постоянно совершенствуется, предоставляя разработчику надежную опору для принятия решений. Лучший способ узнать больше — это книга Эрика Эванса Domain-Driven Design: Tackling Complexity in the Heart of Software.

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

Читать далее

DOM, DI и View: деревья в Angular

Level of difficultyHard
Reading time8 min
Views12K

Чтобы стать продуктивным разработчиком на Angular, потребуется понимание различных деревьев, из которых состоит приложение. На первый взгляд легко можно спутать дерево инжекторов DI и DOM-дерево непосредственных HTML-элементов и вьюх Angular. Они похожи и иногда имеют прямое соответствие, но далеко не всегда. В статье рассмотрим различия, научимся держать их в уме и освоим, как можно обойти возможные трудности, связанные с ними.

Читать далее

Пишем Kotlin DSL для графов навигации в домашних условиях

Level of difficultyEasy
Reading time12 min
Views5.2K

Всем привет! Я Тимур, лид одной из android-команд. Больше трех лет работаю в Тинькофф, все это время был в привлечении и занимался флоу получения разных банковских продуктов.

Расскажу, как мы сделали свой DSL для того, чтобы строить логику навигации в наших флоу.

Читать далее

Как польские математики взломали Энигму

Level of difficultyMedium
Reading time10 min
Views12K

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

Читать далее

Мобильная разработка за неделю #519 (11 — 17 декабря)

Reading time4 min
Views4.5K
В новом выпуске усложнение iOS и избавление от рекурсии в Kotlin, cимволизация логов и новые фичи на старых Android, многомодульность на Flutter, опыт прохождения собеседования в Google, как много языков может влезть в одного программиста и многое другое!

Подписывайтесь на на наш Telegram-канал Mobile Insights, где еще больше материалов для мобильных разработчиков. А в IT Insights — много об интересном коде и технологиях.

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

Обзор онтологического Low-code подхода к разработке решений класса ERP

Level of difficultyMedium
Reading time9 min
Views2.7K

Здравствуй, уважаемый Хабр!

Эта статья описывает объектно-ориентированный (или онтологический) Low-code подход к проектированию и разработке информационных систем на примере платформы «Системный Геном».

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

Читать далее

Facebook выпустил новую CSS-in-JS библиотеку — StyleX

Level of difficultyMedium
Reading time3 min
Views14K

Верней оформил 5 декабря 2023 года оформил для всех то, чем его разработчики пользуются уже давно. Позиционируется данный помощник для js-подобных фреймворков типа React, Preact, Solid, lit-html и Angular, однако оперирующие html шаблонами Vue и Svelte тоже могут задействовать StyleX, но после предварительной специальной её кастомизации.

Код в React в итоге выглядит примерно так:

Читать далее

Мастерство многопоточности: Превращаем Java в шедевр параллельного программирования

Level of difficultyEasy
Reading time4 min
Views16K

Всем привет! В этой статье я бы хотел поверхностно пройтись по многопоточности в Java, объяснить, где она используется и зачем нужна.Приятного прочтения!

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

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

Читать далее

Разбираетесь в IT? Решите IT-кроссворд и выиграйте 10 000 рублей на аренду серверов

Reading time10 min
Views8K

Привет, на связи команда Selectel. 11 сентября нашей компании исполнилось 15 лет, из которых уже более 13 мы пишем на Хабр. За это время мы выпустили 1,6 тыс статей на совершенно разные темы.

Хотим проверить, как хорошо вы, наши читатели, ориентируетесь в современных технологиях и не только. Мы подготовили IT-кроссворд — онлайн-соревнование для любителей разработки и тестирования, ML и Data Science, сетевых и серверных технологий. А еще — список статей, которые косвенно или прямо помогут найти ответы.

Под катом — кроссворд и вопросы. Знатоки, которые наберут за ответы большее количество баллов, получат 10 000 рублей на аренду серверов и мерч Selectel. Готовы принять участие? Тогда начинаем!
Читать дальше →

Как использовать ресурсы Kubernetes по максимуму для работы с Go-приложениями

Reading time12 min
Views11K

Привет! Меня зовут Антон Жуков, я руковожу группой разработки в Сбермаркете. В профессии я уже более 12 лет, с Golang работаю с 2016 года, а с Kubernetes — с 2018 года.

В этой статье расскажу об основах Kubernetes, возможных проблемах и решениях, а также о том, как грамотно использовать ресурсы этой платформы, чтобы выжать максимум из Go-приложений. Кроме того, в конце статьи я опишу кейс настройки GOMAXPROCS на примере нашего приложения и расскажу, как нам удалось повысить его производительность на 20-50%.

Читать далее

Information

Rating
Does not participate
Registered
Activity