Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Небольшой скрипт для отслеживания цен avito из Google Spreadsheet

Время на прочтение2 мин
Количество просмотров46K
Хочу поделиться с сообществом небольшим скриптом для загрузки цен с сайта объявлений AVITO в Google Spreadsheet. Вдруг кому-нибудь еще пригодится.

Логика такая — в цикле бежим по ячейкам таблицы с адресами и запрашиваем странички. Из полученных страниц получаем цену и подставляем в соседние ячейки. Запуск скрипта через пункт меню Avito -> Update Prices.

Page Sample
(наименнннование sic!)
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии33

Как настроить расширяемую систему для регрессионного тестирования на телефонах: опыт мобильной Почты Mail.Ru

Время на прочтение10 мин
Количество просмотров20K


Привет, Хабр! Сегодня я хочу рассказать, как мы построили с нуля гибкую и расширяемую систему для выполнения автотестов на Android-смартфонах. Сейчас у нас используется около 60 устройств для регрессионного тестирования мобильного приложения Почты Mail.Ru. В среднем они тестируют около 20 сборок приложения ежедневно. Для каждой сборки выполняется около 600 UI-тестов и более 3500 unit-тестов.

Автотесты доступны круглосуточно — они экономят очень много времени тестировщиков и позволяют нам выпускать качественное приложение. Без них мы бы тестировали каждую сборку 36 часов (с учетом ожидания) или примерно 13 часов без ожидания. Вместе со сборкой, актуализацией переводов, при рабочей загрузке агентов с автотестами тестирование в среднем занимает 1.5 часа, что ежедневно позволяет нам экономить недели работы тестировщиков.

Мы рассмотрим, как всё делать с самого начала тем, кто занимается написанием автотестов, а не инфраструктурой: начиная от покупки телефона, его перепрошивки и заканчивая созданием docker-контейнеров, внутри которых будет доступен телефон для автотестов.
Читать дальше →
Всего голосов 53: ↑52 и ↓1+51
Комментарии26

Docker: запуск графических приложений в контейнерах

Время на прочтение15 мин
Количество просмотров86K
Строго говоря, Docker не был создан для подобного рода вещей, а именно запуска графических приложений. Однако, время от времени в темах про Docker звучат вопросы о том, нельзя ли запустить GUI-приложение в контейнере. Причины могут быть разные, но чаще всего, это желание сменить излишне громоздкую виртуальную машину на что-то полегче, не потеряв в удобстве и сохранив при этом достаточный уровень изоляции.

Это небольшой обзор способов запуска графических приложений в контейнерах Docker.
ну-ка, что там
Всего голосов 36: ↑36 и ↓0+36
Комментарии14

Использование Docker-контейнеров как Jenkins-нод

Время на прочтение3 мин
Количество просмотров23K
Эта статья описывает использование контейнеров docker как отдельные ноды для системы непрерывной интеграции, в данном случае jenkins. Кому лень читать tl; dr
Для сборки нашего проекта в RPM и DEB пакеты мы используем Jenkins, на что выделена специальная машина.

Сначала мы собирали наш проект только для CentOS 6. Далее добавилась поддержка CentOS 5, и оказалось что зависимости от конкретных версий библиотек не дают работать тем же бинарникам под разными версиями CentOS, понадобилась сборка разных RPM. Это было решено добавлением в jenkins ноды с CentOS 5, которой служила виртуалка на VirtualBox. Потом добавилась поддержка Suse, а потом и Debian.

Количество оперативной памяти не резиновое, а использование виртуальных машин только для сборки это явный оверхед, и было решено переписать скрипты используя Docker.
Читать дальше
Всего голосов 12: ↑12 и ↓0+12
Комментарии16

БЭМ-методология: с чего всё начиналось и зачем это всё нужно

Время на прочтение13 мин
Количество просмотров237K
На Хабре уже много писали о методологии БЭМ, выросшей в Яндексе. И мы решили, что пора системно рассказать о том, откуда она появилась и что сделало БЭМ таким, каким мы его знаем. Думаем, это будет интересно не только тем, кто уже использует БЭМ, но и тем, кто считает, что эта методология не подходит для их проектов. Возможно, они увидят, что мы решали проблемы, похожие на их собственные, и найдут что-то полезное для себя.

image

Конечно, все началось с собственных потребностей Яндекса. Вместе с тем, как он рос, росло и количество сотрудников, которые занимаются фронтендом. Постепенно команда увеличилась настолько, что стало очевидно — без единых стандартов работать будет сложно. К тому же, мы находимся в офисах Яндекса в разных городах. Возникла идея создать общую методологию, которая поможет организовать процессы в большой команде, работающей над разными проектами. А главное то, что мы хотели не только упорядочить и ускорить разработку, но и снизить порог входа в проект для нового разработчика.
Читать дальше →
Всего голосов 73: ↑58 и ↓15+43
Комментарии100

Лекции Техносферы. 2 семестр. Методы обеспечения качества и тестирования web-приложений

Время на прочтение4 мин
Количество просмотров85K
Лето только начинается, но это не повод прекращать учиться. Предлагаем вам ознакомиться с очередной порцией знаний в рамках проекта «Лекции Техносферы». Цель курса — ознакомить студентов с актуальными методологиями тестирования и обеспечения качества современных веб-приложений. Курс позволит слушателям получить достаточные знания для овладения и применения на практике эффективных приемов построения процесса тестирования и обеспечения качества.

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


Читать дальше →
Всего голосов 20: ↑18 и ↓2+16
Комментарии1

Обработка строк в Java. Часть II: Pattern, Matcher

Время на прочтение6 мин
Количество просмотров331K

Вступление


Что Вы знаете о обработке строк в Java? Как много этих знаний и насколько они углублены и актуальны? Давайте попробуем вместе со мной разобрать все вопросы, связанные с этой важной, фундаментальной и часто используемой частью языка. Наш маленький гайд будет разбит на две публикации:

  1. String, StringBuffer, StringBuilder (реализация строк)
  2. Pattern, Matcher (регулярные выражения)

Сегодня поговорим о регулярных выражениях в Java, рассмотрим их механизм и подход к обработке. Также рассмотрим функциональные возможности пакета java.util.regex.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии8

Обработка строк в Java. Часть I: String, StringBuffer, StringBuilder

Время на прочтение8 мин
Количество просмотров455K

Вступление


Что вы знаете о обработке строк в Java? Как много этих знаний и насколько они углублены и актуальны? Давайте попробуем вместе со мной разобрать все вопросы, связанные с этой важной, фундаментальной и часто используемой частью языка. Наш маленький гайд будет разбит на две публикации:

  1. String, StringBuffer, StringBuilder (реализация строк)
  2. Pattern, Matcher (регулярные выражения)

Реализация строк на Java представлена тремя основными классами: String, StringBuffer, StringBuilder. Давайте поговорим о них.
Читать дальше →
Всего голосов 30: ↑21 и ↓9+12
Комментарии68

Гарвардский курс CS50x на EdX, перевод субтитров (Недели 0-3)

Время на прочтение1 мин
Количество просмотров8.3K
image

Я уже писал про CS50 здесь. Опрос показал, что народ заинтересован в переводах субтитров. Я приношу извинения за то, что забросил эту тему на некоторое время. К этому моменту у меня накопились переводы лекций с 0-ой недели по 3-тью. Думаю к концу календарного года (а может и раньше) справлюсь со всем курсом.

Кому надо забирайте. Буду обновлять этот файл добавляя туда новые субтитры со средней частотой раз в неделю. Если кто-то хочет добавить в этот архив какой-нибудь перевод шлите на soslan[a]tabuev.com.
Всего голосов 20: ↑19 и ↓1+18
Комментарии0

Тестирование инсталляторов в Windows, когда надо быстро и дешево

Время на прочтение6 мин
Количество просмотров10K
Счастливы веб-тестеры, бери селениум и не ошибешься. Счастливы java-tester'ы — для них есть тест-фреймворки, в особо тяжелых случаях- siculi. Принесли на тесты консольные приложения — тут приятны python, perl. А как же desktop? Тестирование приложений blackbox в windows, в частности — инсталляторов (например пакетов msi) привело меня в стан autoit, ввиду того, что автоматизация у меня каждый раз напарывается на одни и те же грабли, которые я выделил в следующее
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии6

Тестирование инсталляторов. Теория

Время на прочтение10 мин
Количество просмотров16K
imageТестирование установки ПО направленно на проверку успешной инсталляции и настройки, а также обновления или удаления программного обеспечения.
В настоящий момент наиболее распространена установка ПО при помощи инсталляторов (специальных программ, которые сами по себе так же требуют надлежащего тестирования.

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

В распределенных системах, где приложение разворачивается на уже работающем окружении, простого набора инструкций может быть мало. Для этого, зачастую, пишется план установки (Deployment Plan), включающий не только шаги по инсталляции приложения, но и шаги отката (roll-back) к предыдущей версии, в случае неудачи. Сам по себе план установки также должен пройти процедуру тестирования для избежания проблем при выдаче в реальную эксплуатацию. Особенно это актуально, если установка выполняется на системы, где каждая минута простоя — это потеря репутации и большого количества средств, например: банки, финансовые компании или даже баннерные сети. Поэтому тестирование инсталляторов можно назвать одной из важнейших задач по обеспечению качества программного обеспечения.

Именно такой комплексный подход с написанием планов, пошаговой проверкой установки и отката инсталляции, полноправно можно назвать тестированием установки или Installation Testing.

Под катом много текста о том, что следует помнить при тестировании.
Кат...
Всего голосов 58: ↑37 и ↓21+16
Комментарии13

Мой удобный дом

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

То есть, умный дом — это дом, который может все. А удобный дом — это дом, который все, что может, делает сам.

Давайте сначала я просто похвастаюсь тем, что умеет мой дом сейчас, а вы решите, имеет ли смысл читать про мой местами горький (а местами очень даже ничего) опыт дальше, ок?
Читать дальше →
Всего голосов 161: ↑160 и ↓1+159
Комментарии97

Лучшее время для изучения микроконтроллеров

Время на прочтение12 мин
Количество просмотров212K
image
Признайтесь, как часто вы думали о том, чтоб освоить азы программирования микроконтроллеров? Наверняка у вас есть в голове несколько идей потенциальных проектов, но воплощать их в жизнь вы так и не взялись. Так вот: лучше времени для старта, чем сейчас просто не найти.

Почему я решил, что этот вопрос интересен аудитории Хабра? Достаточно проанализировать количество добавления в избранное некоторых постов и выводы напрашиваются сами собой.

С другой стороны, в моём текущем окружении очень много программистов, но почти нет имбедеров. Когда я разговариваю с ними на тему микроконтроллеров, у меня создаётся впечатление, что мнение о них у многих осталось на уровне 10-летней давности.
Читать дальше →
Всего голосов 91: ↑87 и ↓4+83
Комментарии77

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность