Pull to refresh
-4
0
Alex Pytyev @sfunx

Тестирование

Send message

Пишем свой загрузчик операционной системы Linux

Level of difficultyMedium
Reading time23 min
Views25K


Меня давно интересовал вопрос, насколько сложно написать собственный загрузчик операционной системы. Я не говорю о простой программе, выводящей «Hello, World!», а о полноценном загрузчике, который передаёт управление от встроенного программного обеспечения компьютера ядру операционной системы. Современные загрузчики представляют собой сложные программы, способные загружать множество операционных систем различными способами, учитывая массу нюансов, связанных с программным и аппаратным обеспечением. Читая их исходный код, легко утонуть в деталях и потерять понимание сути и реализации.


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

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

Как создать универсальную лазерную установку, излучающую луч ВСЕХ длин волн?

Level of difficultyMedium
Reading time11 min
Views7.6K
Картинка Freepik

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

Однако что, если я скажу вам, что абсолютно реальна универсальная лазерная установка, которая может излучать вообще все* возможные диапазоны длин волн?! О_о

Причём, что интересно, управление тем, какую длину волны излучать, производится всего лишь электрическим током и больше ничем, что очень привлекательно…
Читать дальше →

Запускаем Gatling из Gradle — Полное руководство для начинающих

Reading time3 min
Views3.5K

Хотите узнать, как использовать Gatling через Gradle? Тогда вы по адресу. В последнее время я достаточно часто использую инструмент стресс-тестирования Gatling. Он стал одним из моих излюбленных инструментов для тестирования производительности. На сайте Gatling есть неплохая документация по началу работы. Но она подразумевает загрузку zip-файла, а затем запуск BAT или SH скрипта для запуска Gatling. А затем вам нужно выбрать из списка тест, который вы хотите запустить.

Так что да, было бы намного приятнее делать все вышеперечисленное через Gradle. И естественно, намного удобнее. В частности, если вы хотите запускать Gatling-тесты как часть вашего Continuous Integration. Одним из наибольших преимуществ этого подхода является то, что Gatling может зафейлить вашу CI-сборку, если будет нарушен определенный порог производительности (например, слишком много ошибок или слишком большое среднее время отклика и т. д.).

Если вы хотите запускать Gatling через Gradle, вам понадобится плагин Gatling Gradle.

Это руководство проведет вас через настройку плагина Gradle для нового Gatling-проекта.

Чтобы сделать это руководство еще более удобным для новичков, мы будем производить настройку в IDE (Intellij). После завершения работы по настройке вы можете переключиться на запуск исключительно через командную строку, если вам угодно.

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

Читать далее

[Перевод] Java Best Practices. Преобразование Char в Byte и обратно

Reading time4 min
Views37K
Сайт Java Code Geeks изредка публикует посты в серии Java Best Practices — проверенные на production решения. Получив разрешение от автора, перевёл один из постов. Дальше — больше.

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

Начало работы с Playwright (Часть 1)

Reading time6 min
Views49K

Добро пожаловать  на 1-й день челленджа #30DaysOfPlaywright!

Сегодня наша  цель – изучить руководство по началу работы с фреймворком, которое должно помочь настроить средство запуска Playwright Test в локальной среде разработки и подготовить его для  выполнения первого тестового прогона.

Читать далее

Spring Boot Starter: практически, принципиально и подробнее. Часть 3

Reading time11 min
Views6.1K

Привет, Хабр! С вами снова Сергей Соловых, Java-разработчик в команде МТС Digital. Мы продолжаем изучать возможности и нюансы построения собственного Spring Boot Starter. В предыдущих частях мы разобрали структуру стартеров, автоконфигурацию и зависимости бинов. А сегодня давайте поговорим о параметрах приложения.

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

Читать далее

Почему String Templates не будет в Java 23?

Level of difficultyEasy
Reading time8 min
Views7K

Неожиданный поворот в поддержке StringTemplates в JDK 23. Команда Java решила отказаться от функциональности, которая есть в большинстве современных языках программирования. Почему так произошло? Кажется, из-за слишком большой гибкости, которую заложили на ранних этапах разработки, а также, нежелания просто сделать “синтаксический сахар” для строковой интерполяции. А чего же хотели разработчики на самом деле? Нам кажется, что все-таки - последнего. Сообщество Spring АйО представляет перевод почтовой переписки Гэвина Бирмана и Брайана Гоеца, в которой решается судьба Spring Templates. 

Читать далее

Spring Boot Starter: практически, принципиально и подробнее. Часть 2

Reading time10 min
Views7.7K

Продолжаю рассказывать о Spring Boot Starter. В прошлой части мы создали принципиальное решение, которое позволит запустить стартер как подключаемую к другому Spring-Boot-приложению библиотеку.

В этой части мы разберемся с зависимостями, стандартными и кастомными аннотациями.

Читать далее

Windows NT 4.0 исполнилось 28 лет. Что из себя представляла эта операционная система?

Reading time4 min
Views8.6K

Привет, Хабр! Меня зовут Виктор Сергеев. Я редактор МТС Диджитал и люблю рассказывать о технологиях. Сегодня поговорим об ОС, чьи времена уже прошли, но с которой знакомы многие из нас.

Windows NT 4.0 вышла 29 июля 1996 года. Она нативно работала сразу на четырех архитектурах — x86, Alpha, MIPS и PowerPC. В следующих Windows оставили только x86. В 4.0 появилось много новых важных функций, но и проблемы тоже были. Подробно об этом — под катом.

Читать далее

Разбор CrowdStrike Falcon: общая архитектура системы, взаимодействие сенсора с Windows и описание ошибки драйвера

Reading time5 min
Views5.5K

Привет, Хабр! Меня зовут Анастасия Гаранжа, я аналитик SOC в МТС RED и разбираю много разных инцидентов ИБ. 19 июля 2024 года многие из нас проснулись и увидели новости, что Windows сломался, и все очень плохо. Новость тут же подхватили далекие от ИТ паблики. В образовавшемся шуме практически невозможно понять, что же произошло. Чтобы показать, как такой массовый сбой стал возможен, я пройду от общих моментов построения систем до конкретных нюансов сбоя.

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

Читать далее

Spring Boot Starter: практически, принципиально и подробнее. Часть 1

Reading time9 min
Views17K

Всем привет, меня зовут Сергей Соловых, я Java-разработчик в команде МТС Digital. За последние 2 года я написал и выпустил в продакшен более 30 микросервисов. Выдержать столь высокий темп помогло применение общепроектных решений и паттернов разработки.

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

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

Первую часть мы посвятим созданию принципиального решения, которое позволит запустить стартер как подключаемую к другому Spring Boot-приложению библиотеку.

Читать далее

Ускорение загрузки сайта: туториал для джунов

Level of difficultyEasy
Reading time7 min
Views13K

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

В начале — пару слов о себе. Меня зовут Полина и я работаю «Rocket Business» уже несколько лет. Свой путь от джуна до тимлида прошла именно здесь. Поэтому своим мини-пособием решила делиться в корпоративном блоге: оставляю в помощь потомкам и аудитории Хабра. 

Читать далее

Linux Mint на челябинском Echips Malachite

Reading time4 min
Views10K

В публикации речь пойдёт о тестировании фирменного ноутбука челябинской компании Echips, а именно модели Malachite (страна производства устройства — Китай). Изначально показалось, что технические характеристики устройства не выделяются ничем особенным, так как там стоит Intel Processor N100. Но знакомство с этим бюджетным ноутбуком поближе, особенно после установки Linux Mint, показало, что это среднее по производительности (на уровне Core i3 11-ого поколения) офисное решение для простых задач, работы в интернете и для нетребовательных к ресурсам игр, в котором есть свои некритичные недостатки и плюсы.

Читать далее

Скачать коллекции запросов по API в Postman и Insomnia на основе написанных тест-кейсов API

Level of difficultyEasy
Reading time2 min
Views9.4K

Коллеги, все желаю хорошего дня.

Хочу предоставить коллекции в Postman и Insomnia, построенные на основе написанных тест-кейсов по API.

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

Financial Management: Как оценить затраты на предоставляемые услуги

Reading time6 min
Views13K
IT-подразделение в любой организации является потребителем бюджета и источником дохода одновременно. Бюджет на информационные технологии каждый год расписывается на несколько десятков статей расходов, доходы же зачастую оказываются неструктурированными, поэтому сложно оценить их роль в достижении бизнес-целей. Понимание масштаба, характеристик и затрат на классифицированные сервисы обеспечивает лучшее управление инфраструктурой и контроль за IT в целом. Поэтому в сегодняшнем материале мы бы хотели поговорить о том, как производится расчет стоимости сервисов и какие инструменты для управления финансами предлагает платформа ServiceNow.

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

Перестаньте заниматься не своей работой

Reading time10 min
Views93K
Вы легко отзываетесь на просьбу помочь? Вам не трудно сделать пару лишних задач? Вы молча переделываете не очень хорошую работу за коллегами или подчинёнными? Скорее всего, ваша рабочая нагрузка заставляет вас «перегреваться». 

Нередко в малом бизнесе мы занимаемся всем подряд, не замечая того: тестовый сервер будет перезапущен, о чём мы сами и сообщим в чате клиенту вместо инженера; баннер повесить — да погоди, у меня есть доступ к админке, готово; код аналитики — да давай я тебе Tag Manager повешу и покажу, как через него любые теги размещать; вот тут в выгрузке были подозрительные пики и провалы, я тебе сделал дополнительную детализацию… Особенно тяжело ситуация обстоит в компаниях, которые активно работают по заявкам клиентов, и каждый сотрудник берёт в работу самые разноплановые задачи. Как итог: усталость, выгорание, ошибки и завалы собственных невыполненных задач. Знакомо? Давайте искать причины и выходы под катом.

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

Дилетант в opensource — lessons learned за 3 года

Reading time16 min
Views39K

Давно, в 2014 году я сделал для себя небольшую утилитку, чтобы перегонять C#-вьюмодели в TypeScript-код. Она сэкономила мне немало времени и нервов. И вот, в сентябре 2015 я решил оформить свои "эксперименты на коленке" в некую удобоваримую форму и вылить их на GitHub. Так началось моё дилетантское участие в разработке открытого ПО. Время шло. И вот, вчера в репозитории с этим проектом, наконец, появился юбилейный, трёхсотый коммит. В связи с этим знаменательным событием, я бы хотел поделиться своим дилетантским опытом о том, с чем придётся столкнуться, если вам вдруг взбредёт в голову разработать что-то "на благо развития индустрии". Я изложу некоторые цифры, расскажу несколько прохладных историй, а так же поделюсь впечатлениями каково это — написать и поддерживать opensource-проект без мам, пап и кредитов поддержки компании, оплаты и… и свободного времени. Заходите под кат, присаживайтесь, мы начинаем.

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

Кластерное хранилище Pacemaker + DRBD (Dual primary) + ctdb

Reading time4 min
Views14K
Доброго времени суток, хабровчане. Поступила задача — развернуть отказоустойчивое High Available хранилище по средствам pacamaker + drbd (в режиме dual primary) + clvmd + ctdb, которое будет монтироваться на сервер. Оговорюсь, что со всеми этими инструментами я сталкиваюсь впервые и буду рад критике и дополнениям\исправлениям. В интернете инструкций конкретно по этой связке либо нет, либо информация устарела. Эта рабочая на данный момент, но есть одна проблема, решение которой, я надеюсь найти в ближайшее время. Все действия нужно выполнять на обоих нодах, если не указано обратное.

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

Complete Idiot's Guide: Как начать работать с Google Analytics

Reading time6 min
Views14K
image

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

  • Как строятся отчеты в Google Analytics.
  • За какими метриками следить и какие специальные отчеты настроить.
  • Какие готовые отчеты Google Analytics подключить.
Читать дальше →
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Test Automation Engineer, Software Performance Engineer
Middle