Pull to refresh
29
0.1
Роман @easyman

Архитектура распределённых систем

Send message

Еще раз про интеграционное тестирование ASP.NET Core c testserver и testcontainers

Level of difficulty Easy
Reading time 9 min
Views 9.6K

Хабр, привет!


Сегодня я предлагаю совершить небольшое исследование на тему "как нам обустроить интеграционное тестирование и встроить его в сиайку".
Написать эту заметку меня сподвигла дискуссия, случившаяся недавно на работе. Инициативная группа "четырехглазых в свитерах" пыталась родить меры по улучшению качества нашего изделия и снижения трудозатрат QA-инженеров на проведение рутинного регрессионного тестирования. Как это часто бывает, разработчики если и писали тесты, то только модульные, оставляя интеграционные и end-to-end для тестировщиков. Для выполнения интеграционного тестирования QA-инженеры используют "тестовый стенд", на котором развернуты компоненты приложения (еще около 40, с позволения сказать, "микросервисов"), сервер базы данных (с не всегда ясным наполнением этой самой базы), брокер сообщений (RabbitMQ) и все остальное, что может потребоваться для запуска приложения. На этот тестовый стенд натравливаются автотесты, которые шатают приложение за все доступные снаружи конечные точки, таблицы БД и элементы UI пытаясь проверить максимальное количество тестовых сценариев в границах (и за ними!) возможных входных данных.

Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Comments 14

Перформанс: что в имени тебе моём? — Алексей Шипилёв об оптимизации в крупных проектах

Reading time 26 min
Views 33K
Оптимизация производительности издавна не даёт покоя разработчикам, представляясь своеобразным «золотым ключиком» к интересным решениям и хорошему послужном списку. Большую обзорную экскурсию по ключевым вехам оптимизации больших проектов  – от общих принципов до ловушек и противоречий —  на прошедшем JPoint 2017 провёл Алексей Шипилёв, эксперт по производительности.



Под катом — расшифровка его доклада.
Total votes 76: ↑73 and ↓3 +70
Comments 10

Основная проблема образования

Reading time 4 min
Views 8.2K

На днях на Хабре появилась критическая статья о бакалавриате, что называется "из первых уст", от очередного первохода. Статья далеко не лишена смысла, однако главная проблема не была в ней затронута. А заключается она вовсе не в обилии посторонних дисциплин и даже не в том, что в учебных заведениях так мало разъясняют суровую конкретику жизни "научиться штамповать JavaScript сайты за месяц". Да, эти проблемы присутствуют, наряду с плохой подготовкой педагогов и отношением к студентам, но не они на корню обесценивают нынешнее образование.

Что же на самом деле не так?
Total votes 27: ↑18 and ↓9 +9
Comments 29

Откуда взялся 'do' в вопросах и отрицаниях?

Reading time 5 min
Views 10K

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

Важно понимать, что вспомогательные глаголы для образования сложных времён — это не что-то особенное, и у нас они тоже есть: рус. буд.вр. он будет писать письмо, укр. дпр.вр. він був написав листа. Более того: колебания между использованием и неиспользованием вспомогательного глагола русскому языку тоже знакомы: в древнерусском было два простых прошедших времени (аорист, невѣжѧ писа недума каза "незнающий написал, недумающий показал", и имперфект, ѡни моляхуся аз же глумляхъся "они молились, а я шутил") и впридачу сложное, перфект: еси приходиле в русь "ты приходил в Русь", зарубати посылали есмо "мы посылали зарубать". Простые прошедшие времена исчезли из всех славянских языков, кроме болгарского и македонского; с перфектом же произошла более интересная история...

Читать далее
Total votes 47: ↑46 and ↓1 +45
Comments 11

Что такое «памятники науки и техники»?

Reading time 6 min
Views 3.7K

Что такое "памятники науки и техники"? Массовый интерес к объектам науки и техники, как к музейным экспонатам, памятникам или части культурного наследия впервые обозначился во второй половине XIX в. До 1851 года широко известен лишь один пример организации, где были собраны технические изобретения и чертежи - Консерватория искусств и ремесел, открытая в Париже в 1794 году. Из источников известно, что предметы, собранные в "Консерватории..." служили учебным целям и являлись скорее образцами, которые демонстрировали студентам в ходе занятий, а не памятниками. При организации действовала рисовальная школа и бесплатные образовательные курсы по ряду дисциплин.

В 1851 году в Лондоне (в Гайд-парке) при поддержке королевской четы, Виктории и Альберта, и Академии наук была организована первая Всемирная промышленная выставка. Для демонстрации технических новинок, всего за 4 месяца, по проекту архитектора и садовника, Джозефа Пакстона, выстроили грандиозное здание из железных рам со стеклянным заполнением, - "Хрустальный дворец".

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

Ответы на часто задаваемые вопросы о NFT

Reading time 6 min
Views 44K
У вас тоже накопилось много вопросов к этому новому виду… искусства? Платформе?

Новости о блокчейне всегда заставляют нас задуматься: «Эм… А что здесь происходит?». Именно такое чувство я испытал, читая, как Граймс получает миллионы долларов за цифровые рисунки и видео в виде NFT-токенов или как анимацию Nyan Cat продали на блокчейн-аукционе за 43 млн рублей.


Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Comments 19

Как избежать «парадокса убитого дедушки» или Квантовая механика решает загадки путешествия во времени

Reading time 7 min
Views 23K

Путешествия во времени давно стали основным жанром фильмов, романов и телевизионных шоу, которые служили всем: от заднего плана до подростковых весёлых комедий, таких как «Назад в будущее», и вдумчивого созерцания в новелле Рэя Брэдбери «И грянул гром». Часто эти истории сосредотачиваются вокруг одного аспекта путешествия во времени – возможных последствий того, что путешественник во времени поменяет прошлые события, в результате чего по возвращении в будущее произойдёт кошмарный сценарий, влияя на способность вообще путешествовать в прошлое.

Эта дилемма, известная как «парадокс убитого дедушки», отражает главное возражение философов и физиков против путешествий во времени – возможное нарушение причинности. В то время как само путешествие во времени остаётся в области чистой спекуляции, возможные результаты нарушения принципа причинности и то, как природа может предотвратить их, являются горячо обсуждаемыми темами, с  такими известными физиками и философами, как Стивен Хокинг и Кип Торн, размышляющими о возможных решениях. Возможно ли, что «многомировая» интерпретация квантовой механики может спасти несчастного (и неуклюжего) путешественника во времени?

Приятного чтения!
Total votes 19: ↑15 and ↓4 +11
Comments 30

Импорт ЕГРЮЛ ФНС средствами Apache NiFi. Шаг 3 — преобразование JSON с помощью JOLT

Reading time 13 min
Views 4.7K

В одном из проектов возникла необходимость перевести процессы импорта данных сторонних систем на микросервисную архитектуру. В качестве инструмента выбран Apache NiFi. В качестве первого подопытного выбран импорт ЕГРЮЛ ФНС.

В предыдущей статье был описан способ преобразования XML в JSON с использованием AVRO schema.

В данной статье описан способ преобразования JSON с помощью JOLT спецификации.

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

Собираем Perl прямиком из 1987 года

Reading time 16 min
Views 15K
Прочитав новость "Код интерпретатора Perl официально перенесён на GitHub" на ресурсе LINUX.ORG.RU я решил взглянуть на репозиторий Perl 5, который теперь уже находится на GitHub'е.

Удивительно, как трепетно и качественно его перенесли, сохранив не только абсолютно всю 32-летнюю историю проекта, но и багрепорты (попали в Issues), патчи (попали в PRs), релизы и ветки. Надпись "32 years ago" рядом с файлами вызывает невольную улыбку.

Что ещё делать в этот унылейший пятничный вечер, когда на улице неприятно моросит дождь со снегом, а все уличные дорожки погрязли в осенней слякоти? Правильно, красноглазить! Так что я ради эксперимента и интереса решил взять и собрать древний Perl на современной x86_64-машинке с последней версией GCC 9.2.0 в качестве компилятора. Сможет ли такой старый код пройти проверку временем?


Демонстрация работы twm, одного из первых оконных менеджеров для X Window System, на современном дистрибутиве Arch Linux.

Чтобы было совсем уж аутентичненько и некромантненько, я развернул виртуальную машину с голыми иксами и оконным менеджером twm, который тоже родом из 1987 года. Кто знает, может быть Larry Wall писал свой Perl используя именно twm, так сказать bleeding edge technology того времени. Используемый дистрибутив — Arch Linux. Просто потому что в его репозитории есть некоторые полезные вещи, которые впоследствии мне пригодились. Итак, поехали!
Читать дальше →
Total votes 112: ↑112 and ↓0 +112
Comments 23

TDD ошибочно?

Reading time 12 min
Views 30K
Читать дальше →
Total votes 63: ↑58 and ↓5 +53
Comments 85

k3s – маленький, но сертифицированный Kubernetes от Rancher Labs

Reading time 1 min
Views 14K
image

Требования:

  • Linux 3.10+
  • 512 MB of ram per server
  • 75 MB of ram per node
  • 200 MB of disk space
  • x86_64, ARMv7, ARM64

Rancher Labs выпустила новый продукт для Edge, IoT, CI с поддержкой ARM: k3s

Нет поддержки Legacy/Alpha, есть замена etcd3 на sqlite по умолчанию (можно включить etcd3).

Вместо Docker используется containerd: нет libnetwork, swarm, драйверов для Docker storage.
Для сокращения потребления памяти объеденены в один процесс Kubelet, kubeproxy и flannel agent.

Инсталлятор простой, сертификаты генерируются автоматически.

k3s.io
github.com/rancher/k3s
Читать дальше →
Total votes 11: ↑9 and ↓2 +7
Comments 2

Мобильный доступ — использование смартфона в системах контроля доступа

Reading time 21 min
Views 90K


Более 20 лет в системах контроля доступа превалирующим типом идентификатора была бесконтактная RFID-карта. Современное вытеснение смартфонами всего и вся, похоже добралось до крайне консервативной отрасли СКУД.

Тем более, что преимущества смартфона в СКУД, по сравнению с пластиковыми картами, абсолютно уничтожительные. Под катом уничтожим карточные СКУД и еще кого нибудь.
Читать дальше →
Total votes 25: ↑19 and ↓6 +13
Comments 65

Справочная: космическая обсерватория «Кеплер» — железо, связь с Землей, ПО и результаты работы

Reading time 5 min
Views 12K


В конце октября телескоп «Кеплер», который НАСА запустило в марте 2009 года, прекратил работу. Закончилось топливо, без него устройство работать не может — отсутствует возможность позиционирования в пространстве, а это необходимо для ведения наблюдений за космосом. О достижениях «Кеплера» много говорили на Хабре, поэтому я очень постараюсь не повторяться (ну, может, чуть-чуть). Вместо этого опишу то, что представляла собой космическая обсерватория в технологическом плане и каким софтом пользовалась команда «Кеплера» — в том числе, для обработки поступающих данных.
Total votes 38: ↑38 and ↓0 +38
Comments 21

Памятка пользователям ssh

Reading time 13 min
Views 1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8 +344
Comments 148

Российская компания ЭЛВИС выпускает передовой чип для видеоаналитики, «умных камер» с семантическим анализом изображений

Reading time 2 min
Views 14K
День 2 мая 2016 года войдет в историю российской микроэлектроники. Вышел пресс-релиз британско-американской компании Imagination Technologies о том, что российский клиент Imagination, компания ЭЛВИС-НеоТек выпускает передовой чип для видеоаналитики на 28 нанометров, используя как блоки от Imagination (процессоры MIPS, графические процессоры PowerVR и другие), так и блоки, спроектированные элвисовцами в Зеленограде. Чип называется ELVEES Image Semantic Engine (ELISE):

Screenshot 2016-05-03 00.19.59
Читать дальше →
Total votes 29: ↑18 and ↓11 +7
Comments 58

Облачные сервисы под высокой нагрузкой. Опыт Cackle

Reading time 11 min
Views 26K
Всем привет! Мы, в компании Cackle, занимаемся разработкой облачных SaaS-решений для сайтов с 2011 года. Наши продукты установлены более чем на 10 000 сайтах, каждый день мы обрабатываем в среднем 65 миллионов уникальных хитов. Полоса пропускания (bandwidth) в пики доходит до 780 мбит/сек, а БД в сутки принимает до 120 миллионов запросов на чтение, и до 300 тысяч запросов на запись. Такие нагрузки заставляют изобретать непростые решения, частью которых мы и хотим поделиться.

Cackle cloud widgets
Читать дальше →
Total votes 56: ↑54 and ↓2 +52
Comments 80

Анонс MongoDB 3

Reading time 2 min
Views 27K
Как-то незаметно прошел анонс новой версии MongoDB. Изменение номера версии с 2 на 3 указывает на значительные изменения внутри базы данных. Разработчики заявляют о значительном увеличении производительности и улучшении маштабируемости. Немного подробнее под катом.
image
Читать дальше →
Total votes 60: ↑55 and ↓5 +50
Comments 36

Стиль WS_EX_LAYERED для дочерних окон в Windows 8

Reading time 3 min
Views 17K
В Windows Вы не можете просто так сделать полупрозрачный элемент управления, Вы должны либо рисовать все контролы сами(Qt, FMX) либо использовать DrawThemeParentBackground, что неминуемо приводит к тормозам.
Регионы тут не помогут т.к. они не поддерживают частичную прозрачность.
Было бы удобно использовать окна со стилем WS_EX_LAYERED («Слоистые» окна поддерживающие альфа прозрачность отдельных пикселей), однако Windows поддерживает этот стиль только для окон верхнего уровня. Так было до Windows 8 в которой, не прошло и полвека, наконец-то стало возможно назначать этот стиль дочерним окнам.

Что это дает? Первое что приходит в голову, это то, что композицией окон будет заниматься видео карта, что даст прирост производительности.

Под катом небольшое исследование этой возможности Windows 8.
Читать дальше →
Total votes 20: ↑17 and ↓3 +14
Comments 52

Исследуем внутренние механизмы работы Hyper-V: Часть 2

Reading time 15 min
Views 14K


Со времени публикации первой части статьи глобально в мире ничего не изменилось: Земля не наскочила на небесную ось, все так же растет популярность облачных сервисов, все так же в гипервизоре компании Microsoft не были обнаружены новые дыры, а исследователи не хотят тратить свое время на поиск багов в плохо документированной и мало изученной технологии. Поэтому я предлагаю тебе освежить память первой частью из предыдущего номера, пополнить запас своего бара и приступить к чтению, ведь сегодня мы сделаем драйвер, взаимодействующий с интерфейсом гипервизора и отслеживающий передаваемые гипервизором сообщения, а также изучим работу компонентов служб интеграции Data Exchange.
Читать дальше →
Total votes 13: ↑10 and ↓3 +7
Comments 0

Information

Rating
2,814-th
Location
Россия
Registered
Activity