Данная статья будет интересна как тестировщикам, так и разработчикам, но рассчитана в большей степени на автоматизаторов, которые столкнулись с проблемой настройки GitLab CI/CD для проведения интеграционного тестирования в условиях недостаточности инфраструктурных ресурсов и/или отсутствия платформы оркестрации контейнеров. Я расскажу, как настроить развертывание тестируемых окружений при помощи docker compose на одном единственном GitLab shell раннере и так, чтобы при развертывании нескольких окружений запускаемые сервисы друг другу не мешали.
Developer, Performance Engineer
Настройка GitLab CI для загрузки java проекта в maven central
Данная статья рассчитана на java разработчиков, у которых возникла потребность быстро публиковать свои продукты в репозиториях sonatype и/или maven central с использованием GitLab. В данной статье я расскажу про настройку gitlab-runner, gitlab-ci и maven-plugin для решения данной задачи.
Использование JavaScript-консоли в браузерах
console.log()
. Собственно говоря, эта команда представляет собой простейший инструмент для отладки программ, который позволяет выводить что-либо в консоль. Однако знание некоторых особенностей этого инструмента позволит тем, кто им пользуется, повысить эффективность работы.Steal: кто крадёт у виртуалок процессорное время
Привет! Хочу рассказать простым языком о механике возникновения steal внутри виртуальных машин и о некоторых неочевидных артефактах, которые нам удалось выяснить при его исследовании, в которое мне пришлось погрузиться как техдиру облачной платформы Mail.ru Cloud Solutions. Платформа работает на KVM.
CPU steal time — это время, в течение которого виртуальная машина не получает ресурсы процессора для своего выполнения. Это время считается только в гостевых операционных системах в средах виртуализации. Причины, куда деваются эти самые выделенные ресурсы, как и в жизни, весьма туманны. Но мы решили разобраться, даже поставили целый ряд экспериментов. Не то чтобы мы теперь всё знаем о steal, но кое-что интересное сейчас расскажем.
Когда новые технологии важнее основ: почему «сгибаемый» Samsung Galaxy Fold оказался провалом
Galaxy Fold – девайс с 7,3-дюймовым экраном, который складывается напополам и становится компактным, многим казался настоящий мечтой. Хороший планшет в форм-факторе смартфона! А за такую высокую цену ($1980 в США) можно было ожидать превосходного качества. Например, Samsung сообщила, что механизм сгибания-разгибания протестирован на 200 000 итераций. Покупатели в США, особенно небедные тех-гики, были вовсю готовы принять новинку.
К сожалению, не сложилось. За пару недель до выпуска товара покупателям несколько десятков изданий и популярных американских блогеров получили девайс для обзора. Сразу три из них – Michael Fisher, Blick и TheVerge – через несколько дней отрапортовали, что их смартфон сломался.
Компании пришлось отозвать все девайсы, и отказаться от их выпуска в Китае, который должен был состояться буквально через пару дней. Некоторые уже сравнивают фиаско с Galaxy Note 7, аккумуляторы которого стали взрываться из-за сдавливания батареи. Миллиарды долларов, потраченные компанией на разработку устройства, могут оказаться спущенными в унитаз.
На днях iFixit опубликовала свой детальный разбор аппарата, и проблемы оказались довольно смешными (и грустными). Вставив в своё устройство самую ожидаемую и хайповую новую технологию за последние несколько лет, компания умудрилась забыть несколько фундаментальных правил смартфоностроения.
Гнев на код: программисты и негатив
Я смотрю на кусок кода. Возможно, это худший код, что мне когда-либо встречался. Чтобы обновить всего одну запись в базе данных, он извлекает все записи в коллекции, а затем отправляет запрос на обновление каждой записи в базе, даже тех, которые обновлять не требуется. Тут есть map-функция, которая просто возвращает переданное ей значение. Есть условные проверки переменных с очевидно одинаковым значением, просто поименованных в разных стилях (
firstName
и first_name
). Для каждого UPDATE’а код отправляет сообщение в другую очередь, которая обрабатывается другой serverless-функцией, но которая выполняет всю работу для другой коллекции в той же базе данных. Я не упомянул, что эта serverless-функция из облачной «сервис-ориентированной архитектуры», содержащей более 100 функций в окружении?Как вообще можно было такое сделать? Я закрываю лицо и явственно всхлипываю сквозь смех. Мои коллеги спрашивают, что случилось, и я в красках пересказываю Worst Hits Of BulkDataImporter.js 2018. Все сочувственно кивают мне и соглашаются: как они могли так с нами поступить?
Как технический перевод превращается в минидетектив
Представлюсь
Я ИТ-переводчик, эпизодически — преподаватель перевода.
Занимаюсь переводами я с 2006 года, читаю Habr.com регулярно, но публикуюсь здесь впервые.
На проектах, вытягивая из слов технический смысл, я иногда забредаю туда, куда обычно переводчики не заглядывают. Бывает, складываются интересные истории. Одна из них — ниже.
История
Итак, я преподавал студентам ИТ-перевод, мы разбирали устройство коммутатора и маркетинговый буклетик к нему, попалось нам одно любопытное предложение.
Я люблю такие — у них как бы есть второе дно. Оригинал выглядел так:
ВИЧ – методы лечения от первых лекарств до сегодняшнего дня
Прежде, чем приступить к изложению материала, хотелось бы сказать несколько слов о себе: участник сообществ по борьбе с отрицанием ВИЧ („ВИЧ/СПИД диссидентством“): в 2016-2018 годах „ВИЧ/СПИД диссиденты и их дети“, с 2018 года – „ВИЧ/СПИД отрицание и альтернативная медицина“.
Моё – и далеко не только моё – мнение состоит в том, что большинство случаев отказа от лечения ВИЧ-инфекции вызвано банальным непониманием того, что это контролируемая хроническая инфекция, а также стигматизацией людей, живущих с ВИЧ – применением к ним распространённого клише, что ВИЧ – болезнь низших слоёв общества либо же наоборот, „культурной элиты“. Это давно не так – в России примерно 1% населения живёт с ВИЧ, и ситуация не планирует становиться лучше.
Около года назад несколько статей на этом ресурсе сподвигли меня на написание пяти заметок об истории борьбы с вирусами. Целью этих статей было описание принципов работы различных типов лекарств от ВИЧ (консультантами выступали микробиолог и врач-инфекционист). Надеюсь, переложение этих заметок вам понравится.
Прилипчивая радиация: наведенная радиоактивность, радиоактивное заражение, дезактивация…
Многими людьми радиация представляется, как нечто «заразное»: считается, что если что-то подверглось воздействию радиации, оно само становится ее источником. Данные представления имеют свое рациональное зерно, но способность радиации «переходить» на облучаемые вещи очень сильно преувеличена. Многие люди думают, например, что можно «схватить дозу» от деталей разобранного рентгеновского аппарата, от рентгеновских снимков и даже от врача-рентгенолога. А сколько шума поднимается, когда начинают говорить о гамма-облучении продуктов питания для их стерилизации! Мол, нам же придется есть облученную, а значит, радиоактивную пищу. Ходят и вовсе нелепые слухи о том, что в пище, разогретой в микроволновке, «остаются микроволны», о том, что под действием бактерицидных ламп становится радиоактивным воздух в комнате, где они горели.
В этой статье я расскажу, как все есть на самом деле.
Яндекс опубликовал обзор рынка ИТ-вакансий
Как меняется спрос на специалистов разных профилей, какими навыками они должны обладать в первую очередь, в каких областях выше всего доля вакансий для новичков, на какую зарплату они могут рассчитывать — всё это можно узнать из обзора. Тем, кто хочет освоить профессию в сфере ИТ, должно пригодиться.
Каково быть мейнтейнером свободного ПО
Я люблю календари.
«Круто, буду следить за ним», — сказал я по молодости. В ветке ui-rework шла бурная разработка. Каждый день несколько новых коммитов. Скачать, собрать, протестировать. И вдруг коммитов не стало на целый день. И на следующий день тоже. Неделю, месяц, год… Я разочарован. Не хочется, чтобы такой замечательный проект погиб. Вы же понимаете…
Я люблю календари.
Фибоначчи на собеседовании
fib(n)
, возвращающую энное число Фибоначчи. Считаем, что нулевое число Фибоначчи — это нуль. Проверка корректности аргумента не требуется. Какие у вас есть варианты?Почему размытие плохо скрывает конфиденциальную информацию
По большей части это работает, поскольку нет удобного способа обратить размытие обратно в достаточно детализированное фото, чтобы распознать лицо. Так что с лицами всё нормально. Однако многие прибегают к размытию конфиденциальных чисел и текста. Я покажу, почему это плохая идея.
О простых вещах-сложно. «Cпящая сталь». Чем смазать заржавевшие болты или Не WD-40 единым…
На улицы наших городов определенно пришла весна. Потеплело и люди с радостью начали отдавать предпочтение своим настоящим железным друзьям, хоть на время забывая про планшеты и смартфоны. Велосипедисты, мотоциклисты и еще множество любителей сезонных средств передвижения достали свое добро и вдруг обнаружили, что что-то заржавело, что-то невозможно открутить и т.д. и т.п. Признаюсь, я один из этих, обнаруживших :) И чтобы не пропал даром труд по борьбе с коррозией, решил накопленный материал оформить в хабра-статью.
Информация точно будет полезна абсолютно всем, кому хотя бы раз приходилось бороться с ржавыми деталями, не только автолюбителям и самодельщикам, но и реставраторам техники, тем кто собирается красить ржавые столбы на даче/страдает от ржавых разводов на раковине и просто желающим докопаться до сути процесса ржавления и найти методы эффективной борьбы с этой напастью. Сегодня говорим о том, как разбудить «заснувшую сталь».
Ну и, традиционно — не забудь закинуть в закладки, %USERNAME%, пригодится! :)
Пошаговая инструкция: сборка JDK9 из исходников на Windows 10
Альтернативный терминал для Windows
Меня не устраивал ни один из найденных альтернативных терминалов (как в 2009-м, когда я начал работу над ConEmu, так и сейчас). Казалось бы требований немного, вот основные:
Понимание джойнов сломано. Это точно не пересечение кругов, честно
Так получилось, что я провожу довольно много собеседований на должность веб-программиста. Один из обязательных вопросов, который я задаю — это чем отличается INNER JOIN от LEFT JOIN.
Чаще всего ответ примерно такой: "inner join — это как бы пересечение множеств, т.е. остается только то, что есть в обеих таблицах, а left join — это когда левая таблица остается без изменений, а от правой добавляется пересечение множеств. Для всех остальных строк добавляется null". Еще, бывает, рисуют пересекающиеся круги.
Я так устал от этих ответов с пересечениями множеств и кругов, что даже перестал поправлять людей.
Дело в том, что этот ответ в общем случае неверен. Ну или, как минимум, не точен.
Советская техническая эстетика и технологии
Привет, сегодня любовался некоторыми артефактами советской эпохи и захотелось поделиться с обществом. Пост не будет содержать технического разбора или исторической справки, просто картинки для любопытных и мои пометки. Поэтому публикую в "чулане". (Осторожно: картинок 40 Mb!)
Электрический разъем
По легенде он с брата "Бурана" — "Бури". Обратите внимание, что провод залит в коричневый компаунд, видна пластиковая крышка и отверстие для заливки.
Удивляет точность и аккуратность надписи. Интересно, каким образом её нанесли, трафарет? Штамп?
Почему кремний и почему КМОП?
Если вы хотите узнать ответы на все эти вопросы — добро пожаловать под кат. По просьбам читателей предыдущих статей предупреждаю: там много текста, на полчаса.
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity