Pull to refresh
0
Karma
0
Rating

Frontend developer

  • Followers
  • Following 3
  • Posts
  • Comments

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

TINKOFF corporate blogOpen sourceJavaScriptGitHubDevOps

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


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


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


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


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

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

TINKOFF corporate blogOpen sourceJavaScriptAngularTypeScript
Tutorial

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


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


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

Observable сервисы в Angular

TINKOFF corporate blogJavaScriptAngularTypeScript

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


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


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


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


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

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

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

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

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

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


Читать дальше →
Total votes 28: ↑28 and ↓0+28
Views8.8K
Comments 9

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

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

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


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

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

TINKOFF corporate blogJavaScriptAngularTypeScript

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

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

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

TINKOFF corporate blogWebsite developmentHTMLAngularTypeScript

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

Давайте!
Total votes 21: ↑21 and ↓0+21
Views4.4K
Comments 2

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

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

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



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

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

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

SkillFactory corporate blogSearch enginesIT InfrastructureMachine learning
Translation

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

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

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

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

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

TINKOFF corporate blogWebsite developmentJavaScriptAngularTypeScript

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

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

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

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

TINKOFF corporate blogWebsite developmentJavaScriptAngularTypeScript

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

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

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

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

Конференции Олега Бунина (Онтико) corporate blogSkyeng corporate blogWebsite developmentPHPDesigning and refactoring

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

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

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

Angular: Интеграционное тестирование (Shallow testing)

Veeam Software corporate blogWebsite developmentAngularWeb services testingTypeScript


Когда приложение разрастается или нам очень важно, чтобы оно работало верно при любом рефакторинге, мы начинаем задумываться о unit или e2e тестировании.

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

Далее попробуем разобраться с тестированием базового приложения на Angular и затронем немного теории.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Views3.9K
Comments 0

Работа с датой и часовыми поясами в JavaScript

JavaScriptIT Standards
Translation
Tutorial

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

В моем случае она была столь полезной, что я решил перевести ее, чтобы запомнить получше и дебютировать с переводом на Хабре.

Читать далее
Total votes 15: ↑15 and ↓0+15
Views8.4K
Comments 4

Полезные фразы на английском для онлайн-встреч

EPAM corporate blogLearning languagesRemote work

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

Я преподаю английский язык в EPAM, где на курсе English for Virtual Communication сотрудники компании учатся эффективно вести коммуникацию онлайн. В этом посте я хочу поделиться полезными фразами, которые пригодятся на онлайн-митингах и помогут не попадать в неловкие ситуации.

Читать далее
Total votes 19: ↑15 and ↓4+11
Views12K
Comments 1

Полное руководство по стратегии обнаружения изменений Angular onPush

Инфопульс Украина corporate blogWebsite developmentJavaScriptAngularTypeScript
Translation

image


Default cтратегия обнаружения изменений


По умолчанию Angular использует ChangeDetectionStrategy.Default стратегию обнаружения изменений.


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

Читать дальше →
Total votes 19: ↑19 and ↓0+19
Views66K
Comments 3

Переносим Angular проект на ESLint, с Prettier, Husky и lint-staged

Website developmentJavaScriptAngularTypeScript
Tutorial
Привет, Хабр! Меня зовут Богдан, я работаю в ПИК Digital Front-End тимлидом. Большую часть проектов мы разрабатываем на Angular и недавно я решил пересмотреть наши стайл гайды, а также добавить новые инструменты для более удобной работы.

В качестве линтера я решил использовать ESLint, так как в скором времени на него планируют перевести Angular. И в этой статье я хочу поделиться инструкцией по переходу с TSLint на ESLint, а заодно рассказать, как запускать Prettier из ESLint, как добавить правила стайл гайда AirBnB, и как сделать линтинг удобным и незаметным с помощью настройки VS Code и Git хуков.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Views12K
Comments 5

Cordova. Quick start

JavaScriptDevelopment of mobile applicationsDevelopment for Android
Sandbox

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

Читать далее
Total votes 16: ↑14 and ↓2+12
Views7.5K
Comments 15

Service Workers. Инструкция по применению

2ГИС corporate blogWebsite developmentJavaScriptProgrammingClient optimization


Количество выходов в интернет с мобильных устройств ежегодно растёт на 2-4% в год. Качество связи не успевает за такими темпами. Как итог, даже самое лучшее веб-приложение обеспечит ужасный опыт, если пользователь не сможет его загрузить.

Проблема в том, что до сих пор нет хорошего механизма управления кэшем ресурсов и результатов сетевых запросов. В своей статье я хочу рассказать как Service Worker (SW) может помочь в решении этой задачи. Объясню в формате рецептов — какие элементы и в какой пропорции смешать, чтобы получить нужный результат, исходя из задачи и требований.
Поехали!
Total votes 57: ↑57 and ↓0+57
Views77K
Comments 38

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Date of birth
Registered
Activity