Pull to refresh
0
Karma
0
Rating
Roman Babyak @Alfinity

Frontend engineer

  • Followers
  • Following 3
  • Posts
  • Comments

Используем DI в Angular по максимуму — концепция частных провайдеров

TINKOFF corporate blog JavaScript *Angular *TypeScript *
В Angular очень мощный механизм Dependency Injection. Он позволяет передавать по вашему приложению любые данные, преобразовывать и переопределять их в нужных частях.

Поэтому мы можем делать архитектуру приложений более простой и гибкой: понятный поток данных, минимальная связанность кода, легкость при тестировании или замене зависимостей.

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

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


Total votes 28: ↑27 and ↓1 +26
Views 13K
Comments 25

Angular: Показываем скелетон страницы за три шага

TINKOFF corporate blog Website development *Open source *Angular *
Tutorial

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

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

Читать далее
Total votes 28: ↑26 and ↓2 +24
Views 8K
Comments 5

3 шага по подготовке к собеседованию на должность Скрам-мастера

ICL Services corporate blog Agile *IT career IT-companies


Два года назад я попала в крупную ИТ-компанию на старте Agile-трансформации. Обычно под такой формулировкой подразумевается один из следующих вариантов:
Читать дальше →
Total votes 8: ↑4 and ↓4 0
Views 2.2K
Comments 6

Создаем текстовый редактор на React.js

KTS corporate blog JavaScript *ReactJS *

Привет! Меня зовут Данила, и я фронтенд-разработчик в KTS.

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

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

Читать далее
Total votes 17: ↑16 and ↓1 +15
Views 10K
Comments 10

Простая нейронка без библиотек и многомерных массивов

Python *Machine learning *Artificial Intelligence
Sandbox

Руководство? Гайд? В общем описание моего опыта создания простой, а главное понятной любому новичку нейросети :)

Дисклеймер: хочу сказать, что смысл этой статьи не в правильном способе создания нейросетей, таких статей сотни, а в способе понять, что такое нейросети и наконец перейти от теории к практике.

Читать далее
Total votes 23: ↑19 and ↓4 +15
Views 7.9K
Comments 18

Как я наладил документооборот с помощью GoogleScript

JavaScript *
Sandbox

Работаю с в строительной компании в проектном отделе. Занимаемся проектированием металлических конструкций. Заказчик передает документацию, которую проектировщики должны превратить в BIM модель. Зачастую в документации Заказчика встречаются несостыковки между отдельными разделами, внутренними стандартами проекта или ГОСТами. В таких случаях пишется технический запрос (technical query) с каким-либо предложением, чтобы конструкция была в соответствии с другими разделами или удовлетворяла стандартам. Написание таких запросов является одной из моих обязанностей. Процесс этот несложный, но жутко рутинный. Ниже схема пайплана этого процесса.

Читать далее
Total votes 10: ↑8 and ↓2 +6
Views 4.2K
Comments 0

Компоненты-конструкторы: мощь ng-content в Angular

TINKOFF corporate blog Website development *JavaScript *Angular *TypeScript *

Проекция контента — одна из базовых возможностей Angular, о которой слышали почти все. А с недавних пор по ней появилась и хорошая официальная документация. Тем не менее в реальных задачах разработчики часто обходят ng-content стороной, прибегая к более сложным и перегруженным решениям и усложняя дальнейшее использование и поддержку компонента.

В этой статье я хотел бы показать несколько типовых кейсов для ng-content при разработке многократно используемых компонентов. А еще — рассказать о преимуществах, которые они могут нам дать.

Давайте посмотрим
Total votes 30: ↑30 and ↓0 +30
Views 4.2K
Comments 1

Сколько должен получать разработчик?

Personnel Management *IT career

Итак, сегодня мы поговорим о самой интимной для любого специалиста теме - его зарплате. Именно из-за интимности этот простой вопрос способен вызвать холивар, бунт или даже маленькую войну. Всё потому, что как и в любой интимной теме люди легко радикализируются и бьются на две противоположные секты. Обзовём их “Адепты бесконечной зарплаты” и “Свидетели отсутствия мотивации”. Рассмотрим идеологию этих сект подробнее.

Читать далее
Total votes 83: ↑70 and ↓13 +57
Views 48K
Comments 422

Как заопенсорсить npm-пакет с нормальным деплоем, CI и демо (без потери радости к жизни)

TINKOFF corporate blog Open source *JavaScript *GitHub DevOps *

Вот вы сделали что-то новое и крутое, приходит мысль — выложить в опенсорс и опубликовать в npm.


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


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


На самом деле всё это может занять у вас меньше часа. Без знаний DevOps и совершенно бесплатно.


Читать дальше →
Total votes 64: ↑64 and ↓0 +64
Views 9.1K
Comments 8

Прокачиваем работу с событиями в Angular

TINKOFF corporate blog Open source *JavaScript *Angular *TypeScript *
Tutorial

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


Однако описанный мною метод громоздкий и сложный для восприятия. Пришло время переписать фильтрацию на декораторы.


Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Views 7.6K
Comments 0

Observable сервисы в Angular

TINKOFF corporate blog JavaScript *Angular *TypeScript *

Всем привет, меня зовут Владимир. Я занимаюсь фронтенд разработкой в Tinkoff.ru.


В Ангуляре для передачи данных внутри приложения или для инкапсуляции бизнес-логики мы привыкли использовать сервисы. Для управления асинхронными потоками отлично подходит RxJS.


Ангуляр в сочетании с RxJS позволяет писать в декларативном стиле, коротко и ясно. Но иногда мы сталкиваемся со сторонними библиотеками или API, которые используют коллбэки, промисы, тем самым подталкивают нас отступить от привычного стиля и писать императивно.


Цель статьи — показать на примере подобных API, как с помощью RxJS их можно без проблем обернуть в Observable-сервисы. Это поможет достичь удобства использования в Ангуляре. Начнем с Geolocation API.


Читать дальше →
Total votes 19: ↑18 and ↓1 +17
Views 8.7K
Comments 19

Топ-10 Angular-приемов, выбранных сообществом

TINKOFF corporate blog JavaScript *Angular *TypeScript *Social networks and communities
В течение июня Саша Инкин и я, Рома Седов, запилили в Твиттере челлендж.

Каждый день мы публиковали по совету, хитрости или просто какой-нибудь полезной штуке из нашего опыта работы с Angular. Это движение было тепло встречено и поддержано комьюнити разработчиков.

Я решил написать статью о десяти приемах, которые набрали больше всего лайков, а также объяснить показанные в них концепции более подробно.

Давайте начнем!


Total votes 28: ↑28 and ↓0 +28
Views 9.2K
Comments 9

Заметки тимлида

TINKOFF corporate blog Development Management *Personnel Management *
Всем привет! Меня зовут Кира, уже более двух лет я выполняю обязанности тимлида в Тинькофф. Сначала я руководила QA-инженерами, а три месяца назад перешла в разработку продукта.

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


Читать дальше →
Total votes 47: ↑38 and ↓9 +29
Views 14K
Comments 46

Глобальные объекты в Angular

TINKOFF corporate blog JavaScript *Angular *TypeScript *

В JavaScript мы часто используем сущности, вроде window, navigator, requestAnimationFrame или location. Некоторые из этих объектов существуют испокон веков, некоторые являются частью вечно растущего набора Web API. Возможно вы встречали класс Location или токен DOCUMENT в Angular. Давайте обсудим, для чего они нужны и чему мы можем у них научиться, чтобы сделать наш код чище и более гибким.

Давайте!
Total votes 21: ↑20 and ↓1 +19
Views 4.4K
Comments 0

Bindon: малоизвестные фишки шаблонов Angular

TINKOFF corporate blog Website development *HTML *Angular *TypeScript *

Недавно вышел Angular 12, а вместе с ним в шаблоны подвезли оператор нулевого слияния (??). Но что еще умеют шаблоны Angular, о чем вы, возможно, и не слышали? Давайте разберемся!

Давайте!
Total votes 21: ↑21 and ↓0 +21
Views 5.1K
Comments 2

3 способа рендеринга больших списков в Angular

RUVDS.com corporate blog Website development *JavaScript *Angular *
Translation
В 2020 году фронтенд-фреймворки стали лучше, эффективнее и быстрее. Но, даже учитывая это, рендеринг больших списков без «замораживания» браузера всё ещё может оказаться сложной задачей даже для самых быстрых из существующих фреймворков.

Это — один из тех случаев, когда «фреймворк является быстрым, а код — медленным».



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

Автор статьи, перевод которой мы сегодня публикуем, хочет исследовать существующие способы вывода больших списков на веб-страницах и поговорить о сферах их применения.
Читать дальше →
Total votes 31: ↑30 and ↓1 +29
Views 8.7K
Comments 10

Как работает поиск изображений в Dropbox

SkillFactory corporate blog Search engines *IT Infrastructure *Machine learning *
Translation

Если вам нужно найти фотографию, сделанную на пикнике несколько лет назад, вряд ли вы помните имя, которое камера автоматически присвоила файлу в момент съёмки, например, 2017-07-04 12.37.54.jpg. Вы просматриваете всё подряд — фотографии, их эскизы, пытаетесь определить объекты или признаки искомого — и не важно, ищете ли вы потерянное фото или хотите подыскать в архивах приличный снимок для презентации нового проекта.

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

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

Читать далее
Total votes 14: ↑13 and ↓1 +12
Views 3.5K
Comments 4

Декларативный подход в Angular

TINKOFF corporate blog Website development *JavaScript *Angular *TypeScript *

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

Если говорить кратко, в compliant-механизме для обеспечения его технических характеристик используют деформацию. В то время как в традиционной технике (rigid body) гибкость зачастую является негативным качеством материала, сompliant-механизмы используют ее для передачи силы и движения в нужном направлении, вместо соединений из нескольких подвижных деталей.

Узнать, к чему это я
Total votes 35: ↑35 and ↓0 +35
Views 7.4K
Comments 5

Упрощаем работу с Angular с помощью @taiga-ui/cdk: 5 наших лучших практик

TINKOFF corporate blog Website development *JavaScript *Angular *TypeScript *

CDK — базовый пакет библиотеки компонентов Taiga UI. Он не имеет никакой привязки к визуальной составляющей библиотеки, а скорее служит набором полезных инструментов для упрощения создания Angular-приложений.

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

Заглянуть в мультитул
Total votes 18: ↑18 and ↓0 +18
Views 3.4K
Comments 5

Ты приходишь в проект, а там легаси…

Конференции Олега Бунина (Онтико) corporate blog Skyeng corporate blog Website development *PHP *Designing and refactoring *

Привет, сегодня я хочу поговорить об ужасной кодовой базе, с которой вы скорее всего прямо сейчас имеете дело. Есть проект и вы нужны, чтобы добавлять новые фичи и фиксить баги. Но вы открываете IDЕ, делаете пул репозитория с проектом — хочется плакать. Кажется, что с этим кодом невозможно работать.

Давайте отбросим эмоции. И посмотрим, что можно быстро предпринять, чтобы облегчить страдания.

Читать далее
Total votes 36: ↑34 and ↓2 +32
Views 13K
Comments 9

Information

Rating
4,778-th
Location
Киев, Киевская обл., Украина
Registered
Activity