Разработчик
Кодогенерация, Selenoid, HtmlElements в работе автотестировщика
![](https://habrastorage.org/files/e95/00f/223/e9500f22311e4ec88312470075dc9e8d.jpg)
15 марта в питерском офисе Wrike прошла встреча автотестировщиков. Поговорили о новых эффективных подходах и инструментах в сфере автоматизации тестирования, оценили их применимость в тех или иных кейсах и спешим поделиться записью докладов и презентациями.
+500 бесплатных инструментов для запуска вашего стартапа в 2017 году
![](https://habrastorage.org/files/1f3/e3a/690/1f3e3a69061841ac9a384c7b56e788e4.jpg)
Сейчас доступно огромное количество отличных бесплатных инструментов. Но используя бесплатный или условно-бесплатный инструмент, вам понадобится больше времени на достижение своей цели, потому что такой инструмент не будет полностью соответствовать вашим потребностям.
С другой стороны, в начале пути важно минимизировать издержки и внимательно следить за своими платными подписками. В конце месяца они могут незаметно вылиться в огромные накладные расходы.
Итак, мы нашли в интернете бесплатные и условно-бесплатные инструменты для роста вашего бизнеса. Когда они дадут вам желаемый результат, вы можете оформить платную подписку.
История одного толстого бинарника
Привет. Меня зовут Марко (я системный программист в Badoo). И я представляю вашему вниманию перевод поста по Go, который мне показался интересным. Go действительно ругают за толстые бинарники, но при этом хвалят за статическую линковку и за удобство выкладки единственного файла. Если на современных серверах толстые бинарники – не проблема, то на встраиваемых системах – еще как. Автор описывает свою историю борьбы с ними в Go.
Как двухлетний репозиторий на GitHub стал трендовым за 48 часов
![](https://habrastorage.org/files/613/977/cd6/613977cd696844a186a0ffb00181778b.jpeg)
GitHub предоставил возможность миллионам разработчиков с легкостью публиковать свои проекты и тем самым привлекать пользователей и единомышленников. Часто перед разработчиками возникает проблема неэффективного использования ресурсов — они тратят сотни часов на создание проекта с целью продвинуть его на GitHub, а получают максимум две звезды.
Selenium: новая надежда
Представляю вам перевод моей статьи на Medium.com: часть 1, часть 2. Поскольку первая часть статьи содержит в основном уже изложенное в этом посте, то привожу перевод только второй части.
![](https://habrastorage.org/files/7f4/8ce/537/7f48ce537b054eec9e98635970272980.jpeg)
Худеем и переезжаем в контейнеры
В первой части статьи я рассказал о простых подходах, позволяющих построить масштабируемый кластер Selenium без написания кода. В этой части мы рассмотрим более тонкие вопросы работы с Selenium:
- Как создать легко масштабируемые рабочие ноды, используя стандартный Selenium Hub
- Почему можно и нужно запускать большинство браузеров в контейнерах и как это делается
- Какие open-source инструменты для этого существуют
Как ускорить сборку с Maven
![Maven](https://habrastorage.org/files/8ce/996/8cd/8ce9968cd9a84d8c82d0bcfe51371abe.png)
Что делать, если сборка (build) с Maven проходит слишком медленно? Ведь когда сборка длится слишком долго, любой, даже самый терпеливый разработчик, может заскучать и отвлечься.
Для быстрого поиска в Google или для закладок, сразу предлагаю итоговое решение:
mvn package -am -o -Dmaven.test.skip -T 1C
— для сборки проекта без тестов.
gb — менеджмент зависимостей для Go
![](https://habrastorage.org/files/90c/2fd/dc1/90c2fddc123a4df6a145fac5bf93284a.png)
(Credit orig.photo: Nathan Youngman)
Для начала давайте разберемся, из-за чего весь шум и почему в Go изначально не было продвинутого менеджера зависимостей.
Как перенести центр разработки из России в Чехию
![image](https://habrastorage.org/getpro/habr/post_images/465/dd3/d57/465dd3d5738fe60c33e5d834bbb8f8ed.jpg)
I. Почему Чехия?
В начале 2015 года компания, в которой я работала инхаусом, решила перевезти часть своих российских разработчиков в Европу. Преследовалось несколько целей: мотивация российских разработчиков, упрощение найма инженеров из Евросоюза, удобство обслуживания зарубежных контрактов. Выбор пал на Чехию, а именно на Прагу. Почему?
Сделай сам: SQL JOIN на Java
Давайте проведем ликбез и вместе посмотрим, как же работают эти джойны, и даже сами реализуем парочку алгоритмов.
![SQL JOIN](https://habrastorage.org/files/7ff/b2c/3a2/7ffb2c3a25b74dcf9eec013282b9cfb4.png)
Первые шаги с Java 9 и проект Jigsaw – часть вторая
После некоторого промедления публикуем вторую часть статьи о проекте Jigsaw и Java 9, вышедшую в блоге Codecentric. Перевод первой части находится здесь.
В чем польза ZooKeeper для админов и разработчиков. Семинар в Яндексе
Привет! Меня зовут Андрей Степачев. В конце прошлого года я выступил перед коллегами с небольшим рассказом о том, что такое ZooKeeper, и как его можно использовать. Доклад изначально был рассчитан на широкий круг аудитории и может быть полезен и разработчикам, и админам, желающим разобраться, как все это примерно работает.
Начнем, пожалуй, с истории появления ZooKeeper. Сначала, как известно, в Google написали сервис Chubby для управления своими серверами и их конфигурацией. Заодно решили задачу с распределенными блокировками. Но у Chubby была одна особенность: для захвата локов необходимо открывать объект, потом закрывать. От этого страдала производительность. В Yahoo посчитали, что им нужен инструмент, при помощи которого они могли бы строить различные системы для конфигураций своих кластеров. Именно в этом основная цель ZooKeeper — хранение и управление конфигурациями определенных систем, а локи получились как побочный продукт. В итоге вся эта система была создана для построения различных примитивных синхронизаций клиентским кодом. В самом ZooKeeper явных понятий подобных очередям нет, все это реализуется на стороне клиентских библиотек.
Стоит отметить, что протокол, используемый Zookeeper называется ZAB, ссылки на описания протокола приведены в конце статьи.
400 потрясающих бесплатных сервисов
![](https://habrastorage.org/files/714/c54/5ac/714c545ac1434b64a7b2e4d65c906335.jpg)
Рад представить дополнение оригинального списка из 300 потрясающих бесплатных сервисов. Автор оригинальной статьи Ali Mese добавил ещё +100 новых сервисов, которые помогут найти все — от источников вдохновения и редакторов фотографий до создания опросов и бесплатных иконок.
И еще подборку +500 инструментов от 10 марта 2017 г. смотрите здесь.
![](https://habrastorage.org/files/7b7/c4d/3cd/7b7c4d3cd9a74713b3f753ac05761dc0.png)
A. Бесплатные веб-сайты
- HTML5 UP: Адаптивные шаблоны HTML5 и CSS3.
- Bootswatch: Бесплатные темы для Bootstrap.
- Templated: Коллекция 845 бесплатных шаблонов CSS и HTML5.
- Wordpress.org | Wordpress.com: Бесплатное создание веб-сайта.
- Strikingly: Конструктор веб-сайтов.
- Layers: Создание сайтов на WordPress (new).
- Bootstrap Zero: Самая большая коллекция бесплатных шаблонов Bootstrap (new).
- Landing Harbor: Продвижение мобильного приложения c помощью бесплатного лендинга (new).
Тестирование в Яндексе. Как сделать отказоустойчивый грид из тысячи браузеров
![](https://habrastorage.org/files/173/930/c0e/173930c0ec244ae8afa229966e0453d3.png)
Selenium с большим количеством браузеров имеет много проблем с масштабированием и отказоустойчивостью. После нескольких попыток у нас получилось элегантное и простое в обслуживании решение, и мы хотим поделиться им с вами. Наш проект gridrouter позволяет организовать отказоустойчивый Selenium-грид из любого количества браузеров. Код выложен в open-source и доступен на Github. Под катом я расскажу, на какие недостатки Selenium мы обращали внимание, как пришли к нашему решению, и объясню, как его настроить.
19 советов по повседневной работе с Git
![](https://habrastorage.org/getpro/habr/post_images/55e/4c7/551/55e4c75510c933abb382390fbd9501c6.jpg)
Если вы регулярно используете Git, то вам могут быть полезны практические советы из этой статьи. Если вы в этом пока новичок, то для начала вам лучше ознакомиться с Git Cheat Sheet. Скажем так, данная статья предназначена для тех, у кого есть опыт использования Git от трёх месяцев. Осторожно: траффик, большие картинки!
Содержание:
- Параметры для удобного просмотра лога
- Вывод актуальных изменений в файл
- Просмотр изменений в определённых строках файла
- Просмотр ещё не влитых в родительскую ветку изменений
- Извлечение файла из другой ветки
- Пара слов о ребейзе
- Сохранение структуры ветки после локального мержа
- Исправление последнего коммита вместо создания нового
- Три состояния в Git и переключение между ними
- Мягкая отмена коммитов
- Просмотр диффов для всего проекта (а не по одному файлу за раз) с помощью сторонних инструментов
- Игнорирование пробелов
- Добавление определённых изменений из файла
- Поиск и удаление старых веток
- Откладывание изменений определённых файлов
- Хорошие примечания к коммиту
- Автодополнения команд Git
- Создание алиасов для часто используемых команд
- Быстрый поиск плохого коммита
Как не завалить ИТ-проект?
Все знают о том, что значительная доля ИТ-проектов заканчивается неудачей. Причины этих неудач различны, но все, кто занимался этой проблемой сходятся в одном: тщательная подготовка снижает риски неудач.
Вопрос в том, что делать во время этой подготовки? Как правильно подготовить проект так, чтобы он удачно завершился?
Docker в банке. Видео с лекции Александра Тарасова из Альфа-Банка
Неделю назад на московской встрече CodeFreeze Александр aatarasoff Тарасов из Альфа-Лаборатории (подразделение Альфа-банка) рассказал от том, как они внедряли у себя Docker, какой получили профит, какую боль и т.п. Интрига в том, что, с одной стороны, Альфа-банк — это банк, то есть, «кровавый энтерпрайз». С другой стороны… внедрили же.
![](https://habrastorage.org/files/7b0/45b/9d8/7b045b9d89db4a838b1d1cd733be37d4.png)
Под катом — короткое описание того, о чем рассказал нам Александр и видеозапись его выступления.
Как красиво оформить публикацию на Хабре
И первый лайфхак – кликабельная картинка до ката, которая ведёт сразу внутрь публикации:
![](https://habrastorage.org/getpro/habr/post_images/26a/bde/904/26abde9044d04b3aa66680858a755901.jpg)
Информация
- В рейтинге
- Не участвует
- Откуда
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Работает в
- Дата рождения
- Зарегистрирован
- Активность