Pull to refresh
54
20.3
Send message

Rematch — Redux без шаблонного кода

Level of difficultyEasy
Reading time7 min
Views3.7K

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

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

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

С помощью Rematch вы можете определить модели (models) и их состояние, эффекты (effects) и редьюсеры (reducers). Он предоставляет удобные инструменты для работы с асинхронными операциями, а также возможность создания селекторов (selectors) для выборки данных из хранилища. Все это помогает организовать логику вашего приложения и управлять его состоянием с минимальными усилиями.

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

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

Обзор книги Claudio Jolowicz — Hypermodern Python Tooling

Level of difficultyEasy
Reading time7 min
Views1.9K

Коллеги, привет! Меня зовут Даниил Никитин, старший разработчик ГК Юзтех. У меня появилась возможность ознакомиться с ранней версией книги «Гиперсовременный инструментарий Python» ("Hypermodern Python Tooling") под авторством Клаудио Йоловича (Claudio Jolowicz). Книга планируется к релизу в апреле 2024 г., мне довелось прочитать версию от июня 2023 г. После прочтения я решил написать обзор, так как ранее мне не доводилось встречать книги на подобную тематику. 

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

Опыт визуализации данных на геокарте

Level of difficultyMedium
Reading time9 min
Views3.3K

Всем привет! Меня зовут Евгений Яфаркин, я dotnet backend разработчик. В этой статье я хочу поделиться своим опытом решения задач, связанных с отображением данных на геокарте: как самим решением, так и инструментами, которые мы для этого использовали. 

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

Статья разбита на две большие части: 

Читать далее
Total votes 6: ↑3 and ↓30
Comments2

А это можно запустить в фоне?

Level of difficultyEasy
Reading time12 min
Views5.6K

В мае 2023 г. команда ГК Юзтех организовала в Томске Usetech Meetup «Тренды мобильной разработки», где своим опытом поделились эксперты российского ИТ-рынка. По итогам мероприятия мы написали серию статей, каждая из которых транслирует выступление одного из спикеров. Начали с выступления Mobile Developer Алексея Гладкова на тему: «The State of Kotlin Multiplatform». Продолжим выступлением Кирилла Розова.

Коллеги, приветствую! Меня зовут Кирилл Розов, я руководитель группы Android разработки в Тинькофф, а также автор YouTube-канала «Android Broadcast».

В Android все больше ограничений на запуск и выполнение задач, когда приложения находятся в фоне. Сегодня я расскажу о разных рецептах и правилах, как уживаться (а не сражаться!) с системой и выполнять работу в фоне. Мы поговорим про WorkManager / JobScheduler, DownloadManager, Foreground Servise, Sync Adapter, AlarmManager, о вендорах, а также о том, как выбрать API для задачи. 

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

Time to market, Cycle time или как измерить эффективность продуктовой команды

Level of difficultyEasy
Reading time6 min
Views14K

Всем привет, на связи снова Павел Кондратьев из ГК Юзтех. Я продолжаю работать в продуктовой команде по разработке b2b-приложений, и на горизонте прошедшего полугода мы с Заказчиком пришли к вопросам — как измерить производительность нашей команды и выявить слабые места в процессах, чтобы сделать разработку более эффективной?

Предлагаю познакомиться с нашим опытом по внедрению метрик измерения продуктивности команды.

Читать далее
Total votes 2: ↑1 and ↓10
Comments0

Как выбрать работодателя в сфере IT: на что обратить внимание?

Level of difficultyEasy
Reading time6 min
Views2.8K

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

Мы часто обращаем внимание на предлагаемую заработную плату, но не всегда изучаем, что из себя представляет компания, разместившая вакансию, насколько она надёжна и порядочна. А между тем, многие аспекты можно прояснить не только на первом этапе собеседования, но и до отправки резюме. 

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

Описанные ниже выводы основаны на моём личном опыте и не претендуют на истину. Если у вас другое мнение или дополнительные советы, обязательно поделитесь ими в комментариях!

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

The State of Kotlin Multiplatform

Level of difficultyEasy
Reading time9 min
Views3.9K

В мае 2023 года команда ГК Юзтех организовала в Томске Usetech Meetup «Тренды мобильной разработки», где своим опытом поделились эксперты российского ИТ-рынка. По итогам мероприятия мы написали серию статей, каждая из которых посвящена актуальным вопросам и транслирует выступление одного из спикеров. Начнем с выступления Алексея Гладкова, Mobile Developer компании Тинькофф.

Про Kotlin Multiplatform (КММ) многие слышали, но пробовали далеко не все. Мы с командой использовали его в работе, и здесь я расскажу о своем опыте. Возможно, теперь у вас появится понимание, как аргументировать бизнесу зачем вообще нужен KMM и насколько это сейчас рабочая история. 

Для начала пару слов о себе: меня зовут Алексей Гладков, работаю в компании «Тинькофф», преподаю в МФТИ, пишу нативные приложения уже около 10 лет, веду ютуб-канал про мобильную разработку «Mobile Developer».

Доклад, с которым я выступал в рамках митапа, называется «The State of Kotlin Multiplatform», поскольку все время выходят какие-то новые фичи, и я его дополняю. Для меня это, условно, дайджест, который я регулярно обновляю. Сейчас я расскажу о текущем состоянии Kotlin примерно на начало апреля 2023 г. 

Почему вообще надо задумываться о мультиплатформенном подходе? В 2015 году (еще даже не вышли часы Apple Watch) мы, мобильные разработчики, в основном ориентировались на телефоны. Другие разработчики ориентировались на планшеты и ноутбуки. То есть было четкое разделение. К 2023 году ситуация изменилась. Теперь ко мне могут прийти и сказать: «Мы на телевизоре хотим запуститься» или «На часах». Вполне себе реальная история. Дальше эта тенденция будет только развиваться – у нас будут появляться:

Читать далее
Total votes 5: ↑4 and ↓1+4
Comments5

Топ 7 библиотек для управления состоянием в React

Level of difficultyEasy
Reading time8 min
Views8.2K

Перевод данной статьи был выполнен с оригинального источника, автор — Tanveer Singh.

Управление состоянием является одной из самых больших проблем при использовании фреймворка React. Это касается не только пользователей. Разработчикам нужен простой и масштабируемый процесс управления состоянием для проектирования эффективных и сложных пользовательских интерфейсов.

Обычно используют хуки React для доступа и обмена состояниями между разными компонентами. Но при работе с их значительным количеством сложность становится слишком большой для хуков. В таких случаях необходимо использовать библиотеки управления состоянием.

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

Читать далее
Total votes 2: ↑1 and ↓10
Comments8

Что такое PI планирование и как синхронизировать несколько команд разработки. Опыт внедрения PI Planning Board в SAFe

Level of difficultyEasy
Reading time5 min
Views3.1K

Меня зовут Павел Кондратьев, я руководитель проектов в ГК Юзтех. Управляю разработкой мобильных и веб-приложений. В статье, которую я сделал с платформой по управлению проектами WEEEK, хочу ответить на вопросы о том, как часто результат зависит от работы других команд, как синхронизировать разработку, грамотно управлять поставкой и ожиданиями в условиях постоянно изменяющихся требований. Также расскажу, как учесть риски проектов и что с ними делать.

Впервые статья была опубликована на vc.ru, в связи с актуальностью дублирую материал на Habr.

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

Как начать тестировать backend и не сойти с ума

Level of difficultyEasy
Reading time9 min
Views23K

Дисклеймер: B первую очередь материал будет интересен тем, кто уже значительное время занимается тестированием пользовательского интерфейса и не знает, как подойти к тестированию backend части приложения. Я не претендую на истину: всё, что сказано ниже, является моим субъективным мнением и пережитым опытом.

Введение

Рынок IT специалистов начал стремительно развиваться в последние пару лет. Требования ко всем специальностям, которые задействованы в разработке программного обеспечения, растут со скоростью развития применяемых технологий. Требования выросли и к специалистам по тестированию. Например, если ещё в 2019 году для того, чтобы устроится тестировщиком в международную IT компанию достаточно было иметь год опыта тестирования чего-нибудь, прочитать «Тестирование dot com» Савина, уметь писать тест-кейсы, знать такие слова как «GIT», «SQL» и «Redmine», то в 2021 году ситуация стала радикально меняться. Осознание того факта, что пятилетний опыт ручного тестирования frontend части различных приложений недостаточен для конкурирования на рынке, привёл меня к выгоранию и побудил к решительным действиям. Я осознал, чтобы не остаться на обочине всей IT индустрии необходимо соответствовать современным критериям хорошего специалиста по тестированию. А именно, попытаться понять, как тестировать серверную часть приложений.

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

Читать далее
Total votes 7: ↑3 and ↓4-1
Comments4

Redux-saga: обзорная экскурсия

Level of difficultyMedium
Reading time9 min
Views16K

Сегодня я бы хотел рассказать о библиотеке redux-saga. Она уже достаточно давно используется во frontend-программировании, но не является интуитивно понятной, что может помешать начинающим разработчикам освоить её быстро и начать применять в своих проектах. В данной статье я максимально просто постараюсь объяснить максимально основные принципы этой технологии и некоторые полезные возможности. Намеренно отказываюсь от сравнительного анализа в пользу одних либо других технологий, т.к. выбор — это личное дело каждого, но чтобы его сделать, необходимо обладать определёнными знаниями.

В статье используются специализированные термины, поэтому предполагается, что вы имеете общее представление о React, Redux, генераторах и итераторах из ES6.

Из официальной документации следует, что redux-saga — это библиотека, которая ориентирована на упрощение и улучшение работы с сайд-эффектами (side-effects, любыми взаимодействиями с внешней средой, например, запрос на сервер) и облегчение их тестирования. В redux сага — это middleware (слой, работающий с момента диспатча (dispatch) экшена (action) и до обработки его редьюсером (reducer)), который может запускаться, останавливаться и отменяться из основного приложения с помощью обычных действий redux. Библиотека использует такое понятие ES6 как генераторы (Generators), и благодаря этому наши асинхронные потоки выглядят как обычный синхронный код.

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

Arc — революционный браузер нового поколения

Level of difficultyEasy
Reading time10 min
Views70K

Каждую неделю свет видит новое приложение или стартап. Команды создают новые продукты или адаптируют старые механики под новые паттерны и реальности.

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

У меня на компьютере установлено несколько браузеров: Safari, Firefox Developer, Yandex и как основной — Google Chrome. Каждый раз, когда я запускаю какой-то не основной браузер, мне предлагают сделать его браузером по умолчанию, но я отказываюсь.

С Arc картина поменялась, теперь он браузер по умолчанию и сейчас я расскажу почему.

Читать далее
Total votes 47: ↑11 and ↓36-23
Comments72

Чего ждать разработчикам от WWDC 2023?

Reading time3 min
Views2.1K

Всем привет, с вами я, Анна Жаркова, ведущий разработчик компании Usetech. 

Apple уже опубликовала анонс WWDC 2023, который пройдет 5-9 июня. А это значит, что время загадывать и угадывать, что же нового нам представят из инструментария iOS SDK.

И начнем мы со Swift 5.8, который официально вышел (ссылка). В новой версии появились доработки, связанные как с самим sdk и Swift, так и SPM, инструментом документации и SwiftSyntax. Часть новинок уже разобрал у себя Пол Хадсон, и об этом можно почитать здесь, здесь и здесь.

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

Клонирование объектов JS

Level of difficultyMedium
Reading time5 min
Views11K

Всем привет, я — Кирилл, frontend разработчик компании Usetech.

Сегодня поговорим о глубоком и поверхностном клонировании объекта, посмотрим различные примеры и способы как это можно реализовать, а также разберём отличия, плюсы и минусы данного подхода, уделим внимание новому встроенному методу глубокого клонирования — structuredClone.

Глубокое клонирование:

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

4 простых способа оптимизировать объём индексов в Elasticsearch

Level of difficultyMedium
Reading time11 min
Views11K

Всем привет! Меня зовут Данила, я выполняю роль SR-инженера в Usetech. В этой статье я бы хотел рассказать о 4-х способах, которые помогут сократить объём ваших индексов в Elasticsearch.

Прежде всего статья будет полезна начинающим специалистам по администрированию ELK стека, администраторам систем мониторинга, разработчикам, внедряющим ELK стек у себя на проекте. 

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

Мы видели 2 пути решения проблемы:

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

5 вредных советов начинающему тестировщику

Level of difficultyEasy
Reading time8 min
Views9.6K

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

В интернете можно найти много статей по запросу «ЧТО НУЖНО знать начинающему тестировщику»… КАК ПРАВИЛЬНО… ЧТО ВАЖНО… ПРИМЕРЫ… ШАБЛОНЫ…

Но очень мало где разбирают то, что получается на деле и как прийти от «неправильно» к тому самому «вот так надо». Предлагаю рассмотреть 5 не совсем выдуманных, а даже очень реальных ситуаций. Завариваем чашку чая, закутываемся в плед и начинаем!:)

Читать далее
Total votes 5: ↑4 and ↓1+3
Comments2

Улучшаем производительность сайта с помощью CSS

Level of difficultyMedium
Reading time13 min
Views11K

Всем привет, я Кирилл, frontend разработчик компании Usetech. Сегодня я бы хотел поговорить о том, как можно улучшить производительность сайта с помощью обычных CSS свойств и на что стоит обращать внимание. Но прежде чем приступим к улучшению производительности сайта, давайте поговорим о том, какие проблемы возникают с CSS:

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

Tarantool Data Grid + Java = …

Reading time6 min
Views2.9K

В последнее время всё большую популярность набирает Tarantool — платформа in-memory вычислений с гибкой схемой данных, включающая в себя NoSQL-базу данных и сервер приложений. В этой статье я хочу рассказать об одной из его реализаций — Tarantool Data Grid (TDG).

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

Редко используемые свойства CSS

Reading time7 min
Views11K

Всем привет, меня зовут Кирилл, я frontend разработчик компании Usetech. CSS постоянно развивается, и некоторые полезные свойства остаются незамеченными. Возможно о них говорят не так много, как о других, но в этой статье на примерах я разберу новые и полезные свойства CSS. Ещё вы увидите раздел ресурсы, где можно почитать подробнее и глубже.

CSS свойства, которые мы рассмотрим в данной статье:

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

Приёмы эффективного общения

Reading time7 min
Views7.8K

Здравствуйте, меня зовут Павел Кондратьев, и я руководитель проектов. 

Начинал работу в небольшой компании, создавая кросс-платформенные и нативные мобильные приложения на Kotlin/Swift и веб-сервисы на Yii2, пока не перешел в ГК Юзтех, где веду самые разные проекты на .NET/Vue.JS в мультивендорных командах.

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

Читать далее
Total votes 11: ↑8 and ↓3+6
Comments16

Information

Rating
364-th
Works in
Registered
Activity