Pull to refresh

Technotext

Как приручить автотестового монстра, или Dependency Injection в автотестах

Level of difficultyMedium
Reading time15 min
Views8K
Вы пишете автотесты? Ваш проект с автотестами огромен и монструозен, и добавление каждого нового сервиса в него приносит нестерпимое желание все удалить и написать заново? У вас есть базовый класс на 3000+ строк с методами на все случаи жизни? Или, возможно, вам приходилось исправлять множество тестов, чтобы добавить одну и ту же строчку в каждом из них?



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

Что вы могли не знать о продуктовом дизайне в B2B

Level of difficultyMedium
Reading time8 min
Views3.8K
Как делать дизайн для бизнеса и больших корпораций по всему миру? В чем его отличие от дизайна для В2С? Какие есть особенности? В чем сложности работы и подводные камни? И может ли В2В быть интереснее и увлекательнее B2C?



Я заметила, что статей и выступлений о дизайне в В2С намного больше. Даже если в названии статьи так прямо не говорится, чаще всего описывается специфика или опыт именно работы над В2С-продуктами. Про В2В говорят намного меньше, хотя, на мой взгляд, это ничуть не менее интересно. А отдельный интерес — что советы и рекомендации для В2С не всегда применимы в В2В. Поэтому я решила исправить этот дисбаланс и побольше рассказать вам об опыте работы над В2В-продуктами из первых рук.
Читать дальше →

Как сделать автотесты гибкими и лаконичными

Reading time12 min
Views5.5K

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



Меня зовут Арсений Федоров, я — разработчик автоматизированных тестов в команде Kaspersky Internet Security for Android. В этой статье покажу, как можно избежать всех вышеперечисленных проблем, выбрав другой подход к разработке автотестов, а также разберу несколько хороших практик.

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

Android Work Profile: как безопасно поделить свой смартфон между домом и работой

Level of difficultyEasy
Reading time10 min
Views9.3K

Для тех, кто работает удаленно, провести грань между решаемыми задачами и свободным временем может быть непросто. Но я сейчас буду говорить не про work-life balance, а про Android Work Profile — технологию для управления корпоративными устройствами, которая создает разграничение персонального и рабочего пространства в них.



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


Сотрудники же имеют возможность включать и выключать рабочий профиль на своих устройствах в любое время. Когда рабочий профиль выключен, все приложения в нем «отключены» — это означает, что они не используют мобильные данные и не показывают уведомления пользователю. Между тем личный профиль можно использовать в обычном режиме, а уведомления, связанные с работой, останутся в silent-режиме. Удобно? Очень, особенно если устройство — ваше личное, а не корпоративное (BYOD). Об этом и поговорим.

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

Действительно ли C++ — лучший язык, чтобы выстрелить себе в ногу?

Level of difficultyMedium
Reading time15 min
Views32K
В 2023 году одной из главных IT-новостей стала публикация гайда от Агентства национальной безопасности (NSA) США, в котором языки С/C+ признавались «опасными» и требующими перехода на «безопасные» C#, Go, Java, Ruby и Swift.

В этой статье я с позиции Security Champion на одном из продуктов, использующих KasperskyOS, собственную микроядерную операционную систему «Лаборатории Касперского», расскажу, так ли плохо обстоят дела с безопасностью в С++ на самом деле, а также разберу различные подходы к митигации описанных проблем, которые современная индустрия предлагает для решения данного вопроса.
Читать дальше →

ИБ и ИТ, давайте жить дружно. Вот как это возможно

Level of difficultyHard
Reading time14 min
Views12K
Безопасность во многих компаниях стоит особняком. Вместо того чтобы беспокоиться о качестве вашего продукта, безопасники твердят о ГОСТах и ISO, о разных сертификациях и авторизационных протоколах — вещах важных, но вне фокуса основного архитектора. При этом их деятельность «подрывает» производительность, debugability, да вообще все.

image

Однако есть способы сделать безопасность своим союзником на пути к качеству. В этой статье — о дихотомии разработки и безопасности. О том, что, вообще говоря, миры информационной безопасности и архитектуры ИТ-систем не столь далеки друг от друга, как может показаться. И что на самом деле практики безопасности пересекаются с практиками повышения качества кодовой базы, а ПО можно сделать безопасным без потери качества. Поскольку я сама довольно долго занималась системной разработкой, после чего ушла в безопасность и сейчас работаю в команде собственной микроядерной операционной системы «Лаборатории Касперского» KasperskyOS, то отлично знаю, что хотела бы услышать еще тогда, когда ИБ была для меня другой стороной :)

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

Трагические микрозаймы, украденные креды: какие Android-зловреды мы обнаружили в официальных маркетах

Level of difficultyMedium
Reading time13 min
Views4.7K
Один из основных принципов защиты мобильного устройства от киберугроз — загружать приложения только из официальных маркетов, таких как Google Play или Apple App Store. Однако несмотря на то, что софт проходит множество проверок перед публикаций, это не гарантирует, что пользователь не столкнется с фишинговым приложением или даже с банковским трояном.

image

Меня зовут Татьяна Шишкова, я — Lead Security Researcher в команде Глобального центра исследования и анализа угроз (GReAT) «Лаборатории Касперского». За более чем 25 лет существования компании мы выявили сотни и тысячи угроз, которые могут подпортить жизнь владельцам смартфонов. В этой статье я расскажу о тех угрозах для пользователей Android, которые мы с коллегами нашли в официальных Android-маркетах за последние пару лет: методы продвижения вредоносных приложений и способы обхода мер безопасности маркетов, новые семейства зловредов, которые попали в официальные и сторонние магазины приложений. Также мы рассмотрим способы обнаружения мобильных зловредов, в том числе банковских троянов, подписочных троянов, фишинговых приложений, методы защиты пользователя от них и многое другое.
Читать дальше →

Почему я возмущен хабрапостом на 75 минут, или Вы неправильно нанимаете DevOps

Level of difficultyMedium
Reading time12 min
Views15K
Достаточно часто я сталкиваюсь с существенной проблемой, которую допускают многие компании на уровне почти всех отделов при найме DevOps. Она многоуровневая и затрагивает как взаимодействие и зоны ответственности HR-отдела и нанимающей команды, так и выстраивание общих процессов внутри компании, например актуальной базы знаний и открытость дальнейших планов для лидов.

Меня зовут Андрей Сухоруков, я DevOps TeamLead в «Лаборатории Касперского». В IT я в общей сложности более 11 лет и в течение карьеры очень часто примерял на себя роль антикризисного лида, разрешая большие проблемы в больших проектах практически во всех отраслях бизнеса: металлургия, банки, госструктуры; был консультантом на аутсорсе. А еще — нанимал и, соответственно, собеседовал. Поэтому отлично знаю, о чем говорю.
Читать дальше →

MyBatis «на минималках»

Level of difficultyEasy
Reading time11 min
Views11K

Привет, Хабр! Меня зовут Пётр Гусаров, я Java‑программист в CDEK. В этой статье расскажу про не очень распространённый фреймворк MyBatis.

Почему MyBatis? Потому что мы в CDEK используем его в большинстве проектов, и в деле он весьма неплохо себя показал. Немного сложен и непривычен на этапе входа, но все эти минусы перекрываются его гибкостью. «Да есть Hibernate, Jooq, JDBC и еще что‑то», — скажут бывалые. Есть, но в данной статье речь пойдёт о MyBatis.

Статья будет полезна новичкам, которые хотели попробовать данный фреймворк или попробовали, но что‑то не получилось.

Читать далее

Юнит-тесты: чек-лист методик проектирования

Level of difficultyEasy
Reading time10 min
Views14K

Привет, Хабр! Меня зовут Василий Косарев, я Java‑разработчик в CDEK. Много раз мы слышали о необходимости писать модульные тесты, о том, что весь код должен быть ими покрыт. При этом мне не встречалось списка: какие именно методики лучше использовать при тестировании кода.

Я задумался: есть ли чек‑лист/ руководство, который облегчил бы генерацию тестовых сценариев и помог выявлять серьёзные ошибки? Чтобы вдумчиво подходить к тестированию и не тратить ресурсы впустую, сводя к минимуму количество необходимых тестов.

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

Читать далее

Что такое оценка эффективности в мире IaaS, или как мы обезопасили облако на базе VMware

Reading time10 min
Views1.9K

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

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

У самураев есть только путь: как запустить Gentoo Linux в облаке

Reading time7 min
Views12K

Привет, Хабр! Меня зовут Антон, я старший менеджер региональных проектов в Selectel. В этой статье я бы хотел рассказать про Gentoo Linux: особенности установки ОС и работы с ней.

Идея материала родилась неожиданно. Мне потребовалась очередная виртуальная машина для достаточно банальной вещи — VPN в РФ. Я начал делать виртуальную машину в панели управления Selectel, и на стадии выбора ОС мне захотелось поэкспериментировать. Не использовать вполне стандартные Debian/Ubuntu, а запустить свой сервер с Gentoo Linux, который не поставить «из коробки».

Далее я решил описать свой опыт, чтобы упростить жизнь пользователям Linux и всем причастным.
Читать дальше →

Рутина продакта: путешествие из ХЗ в ТЗ

Reading time14 min
Views8.9K

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

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

Из сетевых администраторов в CloudOps: особенности перехода и трудности онбординга

Level of difficultyEasy
Reading time9 min
Views4.6K

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

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

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

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

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

Из Zero в Hero: как нетехническому специалисту работать со сложным продуктом

Reading time5 min
Views4.1K

Привет, Хабр! Меня зовут Маша Крутикова, и уже три года я проектирую интерфейсы в панели управления my.selectel.ru. Несмотря на это, по образованию я (100%) гуманитарий и до Selectel ни разу не работала с техническими продуктами. Сейчас же убедилась на своем опыте, ​​что не нужно быть крутым техническим специалистом, чтобы успешно вести комплексный продукт в IT.

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

Как тестировать Android-приложения без использования эмуляторов? Знакомство с фермами мобильных устройств

Reading time5 min
Views10K

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

Многие энтузиасты пытаются найти «серебряную пулю», чтобы после проверки приложения можно было заявить, что оно работает на любом устройстве — вне зависимости от характеристик и производительности. И хоть написать приложение под все телефоны в мире невозможно, мы в Selectel нашли способ, как к этому приблизиться.
Читать дальше →

Discovery-процесс в продукте: из подземелья незнания — к лучшим решениям

Reading time12 min
Views11K

Привет! Я Аля — продакт-менеджер в Selectel. Сегодня расскажу про наш Discovery-процесс в команде выделенных серверов. Он описывает, как мы подходим к вопросам, что нам нужно реализовать в продукте и действительно ли это нужно.

Недавно исполнился год, как мы перешли на Discovery- и Delivery-спринты. В тексте пройдемся по лабиринтам именно Discovery-процесса: расскажу, с какими «монстрами» мы столкнулись, пока выстраивали работу, и как с ними боролись. Спойлер: суммой цифр на игральных костях с ними не справиться.

Текст будет полезен всем, кто выстраивает подобные процессы в компании и хочет больше узнать о чужих «граблях».
Читать дальше →

Кто мощнее в базах данных? Сравниваем производительность БД на серверах с ARM- и x86-процессорами

Level of difficultyMedium
Reading time15 min
Views16K

Всем привет! Ранее я разобрал и протестировал сервер с процессором ARM, который попал к нам в Selectel Lab. Сервер показал хорошие результаты по производительности в ряде классических тестов, но в этот раз захотелось проверить его в боевой задаче — в работе с базами данных. Быть может, архитектура ARM-процессора сделает всех конкурентов на этой территории?

Чтобы ответить на этот вопрос, протестировал ARM вместе с семеркой серверов разных конфигураций с процессорами Intel и AMD. В качестве баз данных для нашего эксперимента выбрал самые популярные — PostgreSQL и MySQL. Результаты тестов с графиками и комментариями — под катом. Надеюсь, они будут полезны вам при выборе сервера под БД.
Читать дальше →

Разработчики — налево, методологи — направо: четыре шага к оптимизации работы BI-аналитиков

Reading time12 min
Views9.4K

Привет! Меня зовут Наташа Базанова, я старший аналитик Selectel. В компании я работаю три года: за это время команда аналитиков сильно расширилась, число задач и их амбициозность выросли. Как и любая другая команда, мы столкнулись с проблемами, связанными с несовершенством бизнес-процессов.

В этом тексте расскажу, что мы предприняли, чтобы работать эффективнее и слаженнее. Спойлер: для этого нам пришлось разделиться на две команды, но это тот случай, когда расставание пошло на пользу. Надеюсь, кому-то наш опыт и рекомендации пойдут на пользу — сэкономят время, деньги и нервы. А если вы проходили подобный путь, делитесь своей историей в комментариях!
Читать дальше →

От проверки шрифтов до HAR-файлов: оцениваем инструменты для ускорения работы тестировщиков

Level of difficultyMedium
Reading time7 min
Views14K

Привет, Хабр! Меня зовут Ульяна, я тестирую новые фичи и продукты Selectel. Обычно тестирую фронтенд сайта компании или панели управления, но сегодня выступлю немного в другой роли тестировщика.

Я завсегдатай Heisenbug — одной из самых крупных конференций для тестировщиков. На последнем митапе мне запомнился доклад про различные фичи и возможности браузерных инструментов разработчика. Некоторые были для меня в новинку, и я решила протестировать самые интересные и полезные, на мой взгляд. Оценила их на практике и составила обзор по каждому. Если вы в поисках новых инструментов для работы, вам под кат.
Читать дальше →