Pull to refresh
14
0
Алексей Колтаков @aklexel

Developer, Performance Engineer

Send message

GitLab Shell Runner. Конкурентный запуск тестируемых сервисов при помощи Docker Compose

Reading time12 min
Views30K


Данная статья будет интересна как тестировщикам, так и разработчикам, но рассчитана в большей степени на автоматизаторов, которые столкнулись с проблемой настройки GitLab CI/CD для проведения интеграционного тестирования в условиях недостаточности инфраструктурных ресурсов и/или отсутствия платформы оркестрации контейнеров. Я расскажу, как настроить развертывание тестируемых окружений при помощи docker compose на одном единственном GitLab shell раннере и так, чтобы при развертывании нескольких окружений запускаемые сервисы друг другу не мешали.

Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments20

Настройка GitLab CI для загрузки java проекта в maven central

Reading time22 min
Views28K


Данная статья рассчитана на java разработчиков, у которых возникла потребность быстро публиковать свои продукты в репозиториях sonatype и/или maven central с использованием GitLab. В данной статье я расскажу про настройку gitlab-runner, gitlab-ci и maven-plugin для решения данной задачи.

Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments1

Использование JavaScript-консоли в браузерах

Reading time4 min
Views40K
Сегодня мы публикуем заметку, посвящённую особенностям использования JavaScript-консоли в браузерах, лежащим за пределами широко известной команды console.log(). Собственно говоря, эта команда представляет собой простейший инструмент для отладки программ, который позволяет выводить что-либо в консоль. Однако знание некоторых особенностей этого инструмента позволит тем, кто им пользуется, повысить эффективность работы.


Читать дальше →
Total votes 67: ↑57 and ↓10+47
Comments10

Steal: кто крадёт у виртуалок процессорное время

Reading time11 min
Views20K


Привет! Хочу рассказать простым языком о механике возникновения steal внутри виртуальных машин и о некоторых неочевидных артефактах, которые нам удалось выяснить при его исследовании, в которое мне пришлось погрузиться как техдиру облачной платформы Mail.ru Cloud Solutions. Платформа работает на KVM.

CPU steal time — это время, в течение которого виртуальная машина не получает ресурсы процессора для своего выполнения. Это время считается только в гостевых операционных системах в средах виртуализации. Причины, куда деваются эти самые выделенные ресурсы, как и в жизни, весьма туманны. Но мы решили разобраться, даже поставили целый ряд экспериментов. Не то чтобы мы теперь всё знаем о steal, но кое-что интересное сейчас расскажем.
Читать дальше →
Total votes 60: ↑59 and ↓1+58
Comments8

Когда новые технологии важнее основ: почему «сгибаемый» Samsung Galaxy Fold оказался провалом

Reading time5 min
Views63K


Galaxy Fold – девайс с 7,3-дюймовым экраном, который складывается напополам и становится компактным, многим казался настоящий мечтой. Хороший планшет в форм-факторе смартфона! А за такую высокую цену ($1980 в США) можно было ожидать превосходного качества. Например, Samsung сообщила, что механизм сгибания-разгибания протестирован на 200 000 итераций. Покупатели в США, особенно небедные тех-гики, были вовсю готовы принять новинку.


К сожалению, не сложилось. За пару недель до выпуска товара покупателям несколько десятков изданий и популярных американских блогеров получили девайс для обзора. Сразу три из них – Michael Fisher, Blick и TheVerge – через несколько дней отрапортовали, что их смартфон сломался.


Компании пришлось отозвать все девайсы, и отказаться от их выпуска в Китае, который должен был состояться буквально через пару дней. Некоторые уже сравнивают фиаско с Galaxy Note 7, аккумуляторы которого стали взрываться из-за сдавливания батареи. Миллиарды долларов, потраченные компанией на разработку устройства, могут оказаться спущенными в унитаз.


На днях iFixit опубликовала свой детальный разбор аппарата, и проблемы оказались довольно смешными (и грустными). Вставив в своё устройство самую ожидаемую и хайповую новую технологию за последние несколько лет, компания умудрилась забыть несколько фундаментальных правил смартфоностроения.

Читать дальше →
Total votes 91: ↑80 and ↓11+69
Comments139

Гнев на код: программисты и негатив

Reading time11 min
Views46K


Я смотрю на кусок кода. Возможно, это худший код, что мне когда-либо встречался. Чтобы обновить всего одну запись в базе данных, он извлекает все записи в коллекции, а затем отправляет запрос на обновление каждой записи в базе, даже тех, которые обновлять не требуется. Тут есть map-функция, которая просто возвращает переданное ей значение. Есть условные проверки переменных с очевидно одинаковым значением, просто поименованных в разных стилях (firstName и first_name). Для каждого UPDATE’а код отправляет сообщение в другую очередь, которая обрабатывается другой serverless-функцией, но которая выполняет всю работу для другой коллекции в той же базе данных. Я не упомянул, что эта serverless-функция из облачной «сервис-ориентированной архитектуры», содержащей более 100 функций в окружении?

Как вообще можно было такое сделать? Я закрываю лицо и явственно всхлипываю сквозь смех. Мои коллеги спрашивают, что случилось, и я в красках пересказываю Worst Hits Of BulkDataImporter.js 2018. Все сочувственно кивают мне и соглашаются: как они могли так с нами поступить?
Читать дальше →
Total votes 82: ↑77 and ↓5+72
Comments110

Как технический перевод превращается в минидетектив

Reading time4 min
Views16K

Представлюсь


Я ИТ-переводчик, эпизодически — преподаватель перевода.
Занимаюсь переводами я с 2006 года, читаю Habr.com регулярно, но публикуюсь здесь впервые.

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

История


Итак, я преподавал студентам ИТ-перевод, мы разбирали устройство коммутатора и маркетинговый буклетик к нему, попалось нам одно любопытное предложение.

Я люблю такие — у них как бы есть второе дно. Оригинал выглядел так:



Читать дальше →
Total votes 76: ↑76 and ↓0+76
Comments34

ВИЧ – методы лечения от первых лекарств до сегодняшнего дня

Reading time10 min
Views32K

Прежде, чем приступить к изложению материала, хотелось бы сказать несколько слов о себе: участник сообществ по борьбе с отрицанием ВИЧ („ВИЧ/СПИД диссидентством“): в 2016-2018 годах „ВИЧ/СПИД диссиденты и их дети“, с 2018 года – „ВИЧ/СПИД отрицание и альтернативная медицина“.


Моё – и далеко не только моё – мнение состоит в том, что большинство случаев отказа от лечения ВИЧ-инфекции вызвано банальным непониманием того, что это контролируемая хроническая инфекция, а также стигматизацией людей, живущих с ВИЧ – применением к ним распространённого клише, что ВИЧ – болезнь низших слоёв общества либо же наоборот, „культурной элиты“. Это давно не так – в России примерно 1% населения живёт с ВИЧ, и ситуация не планирует становиться лучше.


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

Читать дальше →
Total votes 88: ↑87 and ↓1+86
Comments110

Прилипчивая радиация: наведенная радиоактивность, радиоактивное заражение, дезактивация…

Reading time10 min
Views66K


Многими людьми радиация представляется, как нечто «заразное»: считается, что если что-то подверглось воздействию радиации, оно само становится ее источником. Данные представления имеют свое рациональное зерно, но способность радиации «переходить» на облучаемые вещи очень сильно преувеличена. Многие люди думают, например, что можно «схватить дозу» от деталей разобранного рентгеновского аппарата, от рентгеновских снимков и даже от врача-рентгенолога. А сколько шума поднимается, когда начинают говорить о гамма-облучении продуктов питания для их стерилизации! Мол, нам же придется есть облученную, а значит, радиоактивную пищу. Ходят и вовсе нелепые слухи о том, что в пище, разогретой в микроволновке, «остаются микроволны», о том, что под действием бактерицидных ламп становится радиоактивным воздух в комнате, где они горели.

В этой статье я расскажу, как все есть на самом деле.
Читать дальше →
Total votes 79: ↑79 and ↓0+79
Comments82

Яндекс опубликовал обзор рынка ИТ-вакансий

Reading time4 min
Views87K
В феврале 2019 года Яндекс запустил Практикум — сервис для онлайн-обучения будущих разработчиков, аналитиков и других ИТ-специалистов. Чтобы решить, какие курсы делать в первую очередь, наши коллеги изучили рынок вместе с аналитической службой HeadHunter. Мы взяли данные, которые они использовали, — описания более 300 тысяч ИТ-вакансий в городах-миллионерах за 2016–2018 годы — и подготовили обзор рынка в целом.

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



Читать дальше →
Total votes 97: ↑91 and ↓6+85
Comments136

Каково быть мейнтейнером свободного ПО

Reading time3 min
Views35K
2013 год. Я узнаю об альфе нового проекта под названием GNOME Calendar. Интересно.

Я люблю календари.

«Круто, буду следить за ним», — сказал я по молодости. В ветке ui-rework шла бурная разработка. Каждый день несколько новых коммитов. Скачать, собрать, протестировать. И вдруг коммитов не стало на целый день. И на следующий день тоже. Неделю, месяц, год… Я разочарован. Не хочется, чтобы такой замечательный проект погиб. Вы же понимаете…

Я люблю календари.
Читать дальше →
Total votes 132: ↑129 and ↓3+126
Comments259

Фибоначчи на собеседовании

Reading time8 min
Views126K
Вычисление ряда Фибоначчи — это классическая алгоритмическая задача, потому её нередко дают на собеседованиях, когда хотят проверить, что кандидат в принципе хоть как-то умеет в алгоритмы. Предположим, вы тот самый кандидат. Вам дали задание: на языке JavaScript написать функцию fib(n), возвращающую энное число Фибоначчи. Считаем, что нулевое число Фибоначчи — это нуль. Проверка корректности аргумента не требуется. Какие у вас есть варианты?

image
Выбирай мудро
Total votes 183: ↑177 and ↓6+171
Comments135

Почему размытие плохо скрывает конфиденциальную информацию

Reading time5 min
Views69K
Наверняка все видели по телевизору и в интернете фотографии людей, специально размытые, чтобы скрыть их лица. Например, Билл Гейтс:



По большей части это работает, поскольку нет удобного способа обратить размытие обратно в достаточно детализированное фото, чтобы распознать лицо. Так что с лицами всё нормально. Однако многие прибегают к размытию конфиденциальных чисел и текста. Я покажу, почему это плохая идея.
Читать дальше →
Total votes 157: ↑157 and ↓0+157
Comments43

О простых вещах-сложно. «Cпящая сталь». Чем смазать заржавевшие болты или Не WD-40 единым…

Reading time22 min
Views126K
Посвящается всем отчаявшимся и потерявшим надежду… открутить заржавевшую гайку!

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

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

Ну и, традиционно — не забудь закинуть в закладки, %USERNAME%, пригодится! :)


Читать дальше →
Total votes 196: ↑195 and ↓1+194
Comments297

Альтернативный терминал для Windows

Reading time18 min
Views441K
Часто путают терминал и шелл. В тех же *nix есть шеллы (bash, csh, zsh, …) и терминалы (konsole/guake/yaquake/tilda и т.д. и т.п.) Для мира Windows общеизвестный терминал только один – стандартное консольное окошко, которое часто ошибочно называют «cmd.exe». И мало кто знает о существовании множества других эмуляторов терминала. Известных шеллов больше, их целых два: cmd.exe и powershell.exe. И хотя есть как минимум три порта bash (MinGW, CygWin, GIT) многие юниксоиды предпочитают ругать cmd.exe.

Меня не устраивал ни один из найденных альтернативных терминалов (как в 2009-м, когда я начал работу над ConEmu, так и сейчас). Казалось бы требований немного, вот основные:
Читать дальше →
Total votes 182: ↑175 and ↓7+168
Comments194

Понимание джойнов сломано. Это точно не пересечение кругов, честно

Reading time4 min
Views337K

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


Чаще всего ответ примерно такой: "inner join — это как бы пересечение множеств, т.е. остается только то, что есть в обеих таблицах, а left join — это когда левая таблица остается без изменений, а от правой добавляется пересечение множеств. Для всех остальных строк добавляется null". Еще, бывает, рисуют пересекающиеся круги.


Я так устал от этих ответов с пересечениями множеств и кругов, что даже перестал поправлять людей.


Дело в том, что этот ответ в общем случае неверен. Ну или, как минимум, не точен.

Читать дальше →
Total votes 179: ↑138 and ↓41+97
Comments227

Советская техническая эстетика и технологии

Reading time2 min
Views55K

Привет, сегодня любовался некоторыми артефактами советской эпохи и захотелось поделиться с обществом. Пост не будет содержать технического разбора или исторической справки, просто картинки для любопытных и мои пометки. Поэтому публикую в "чулане". (Осторожно: картинок 40 Mb!)


Электрический разъем


По легенде он с брата "Бурана" — "Бури". Обратите внимание, что провод залит в коричневый компаунд, видна пластиковая крышка и отверстие для заливки.



Удивляет точность и аккуратность надписи. Интересно, каким образом её нанесли, трафарет? Штамп?


Читать дальше →
Total votes 118: ↑115 and ↓3+112
Comments224

Почему кремний и почему КМОП?

Reading time27 min
Views82K
Самый первый транзистор был биполярным и германиевым, но подавляющее большинство современных интегральных микросхем сделаны из кремния по технологии КМОП (комплементарный металл-оксид-полупроводник). Как вышло, что кремний стал главным из многих известных полупроводников? Почему именно КМОП-технология стала почти монопольной? Были ли процессоры на других технологиях? Что ждет нас в ближайшем будущем, ведь физический предел миниатюризации МОП-транзисторов фактически достигнут?


Если вы хотите узнать ответы на все эти вопросы — добро пожаловать под кат. По просьбам читателей предыдущих статей предупреждаю: там много текста, на полчаса.
Читать дальше →
Total votes 118: ↑116 and ↓2+114
Comments243

Бунт на Пикабу. Пользователи массово уходят на Реддит

Reading time3 min
Views218K
Если вы не в курсе, несколько дней подряд на Пикабу бушует драма. Пользователи восстали против политики модерации ресурса в отношении «клубничного» контента. В знак протеста они гнобят администрацию сервиса и массово уходят на другие ресурсы, в том числе на Реддит.
Читать дальше →
Total votes 256: ↑215 and ↓41+174
Comments489

Information

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