06 марта 2014

Напочитать: Технический выпуск

Давно не было выпусков полных технической жести.
Отчасти потому что жести нет, отчасти потому что про некоторую рассказать нельзя.

Но тем не менее.

1. Отличный обзор того что такое Guava и как ее готовить
http://www.infoq.com/presentations/Guava

2. Длинный и может быть не самый лучший рассказ о том что такое DropWizard, но в нем хорошо изложена мотивация того нафига он нужен.
http://www.infoq.com/presentations/Dropwizard

3. Я давно смотрю на Gradle и до сих пор не понимаю нафиг оно вообще.
Но тем не менее.

Рассказ о том что такое таски в Gradle
http://habrahabr.ru/post/167227

и рассмотрение Gradle Артемом Кошелевым (поддерживаю Артема по всем пунктам)
http://artkoshelev.github.io/posts/getting-started-with-gradle/

Видео с Клуба Анонимных Разработчиков в Киеве про build tools
http://video.yandex.ua/users/xpinjection/view/345/#hq

4. Тестирование с использованием виртуальных машин уже давно не является чем-то особенным.
Вслед за распространением самой идеи появляются и инструменты.
http://sourceforge.net/projects/rf-virtualbox-lib-py/
В 2011 году я создавал нечто подобное, но библиотекой это так и не стало.
От себя могу сказать что подобного рода библиотеки строятся поверх command-line-интерфейсов.

Такие интефейсы есть и у VirtualBox (reference, интересная статья ), и у VmWare WorkStation (ссылочка на reference)

5. Грядет. Я только об этом успел подумать, а умные дядьки из гугла уже давно подумали. И уже даже сделали.
Модульные девайсы, кастомизация своими руками, сменные модули.
Project Ara 

6. Как  нынче преподают java в Таллине
Код тут - https://github.com/zeroturnaround/java-fundamentals

7. Обновление Android SDK - поддержка фич Java 7.
  • String в switch-case выражениях;
  • Сокращенное описание generics (diamond operator <>);
  • Обработка исключения для нескольких типов (catch (E1 | E2 e));
  • Знаки подчеркивания в числовых константах (1_234_567);
  • Двоичные константы (0b0001).
  • Автоматическое управление ресурсами (try-with-resources)
Хабра.



Менеджерское.
Подпишусь под каждым словом.

Скажу честно, построить эту систему удалось не сразу. Много раз не получалось, я скатывался назад. Один из примеров: как только я для увеличения ответственности отменил контроль над приходом в офис (первый раз это было примерно в 2002 году), моментально были сорваны все сроки сдачи журналов, типографии стонали, сроки отгрузки были нарушены. Я снова ввел жесткую дисциплину, а сам начал думать, что же не так. Потом опять ввел свободный график, и опять не получилось, через два года еще раз — и опять провал… Сейчас мы работаем в режиме свободного графика и четырехдневной рабочей недели. Что для этого понадобилось? Замена людей на более взрослых, серьезных и адекватных. Взрослых с точки зрения психологической зрелости. Заменив людей, я впервые смог уехать из страны на полгода. Еще один бонус для меня лично — отсутствие унизительного для меня контроля, необходимости отдавать приказания.
Важно понимать цену перехода на четвертый тип управления. Люди, способные к самоорганизации, стоят намного дороже. Риски высоки — мы не знаем заранее, кто потянет, а кто нет, соответственно в любом случае поначалу будут срывы. Если мы даем людям свободу, надо приготовиться, что будут ошибки, за которые придется платить. Кроме того, есть руководители, которые тащатся, раздавая указания, и для них просто по стилю такая система не подойдет.

23 февраля 2014

Maven: Собираем артефакты по разному

Я начал работать с maven в  2007 и тогда он был в принципе большим новшеством для отрасли (в России я имею ввиду).

С тех пор можно сказать мы неразлучны.
С помощью maven я  собираю все не только тестовый код, но и утилитные проекты.

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

А когда разработка закончена и перетекает в фазу саппорта существующего решения - хочется как раз обратного - деплоить все одним куском и не думать про то скопировал ты нужные либы или нет.

В общем желания на разных этапах жизненного цикла строго противоположные, а натянуть на эти жедания один pom.xml трудновато.

Но годы опыта и эксперименты решили и эту проблему.

Дамы и господа, извольте любить и жаловать.

Что это такое ? Это универсальный pom.xml который позволяет работать с обеими стратегиями упаковки конечного артефакта.

В этом файле есть два профиля сборки - thin-package и one-package.
Давайте по порядку.

thin-package пакует код в отдельный jar-файл,а все зависимости складывает в папочку lib/.
Если вы приписали новый и достаточно изолированный кусочек фукнционала к вашему проекту, то можно собрать его под профилем thin-package (mvn -P thin-package) , а вот деплоить уже только основной jar и появившиеся новые библиотеки.



one-package пакует код в один общий артефакт (mvn -P one-package), сбрасывая все зависимости в одну кучу.
Слияние в один большой и монолитный артефакт происходит с помощью maven-assembly-plugin.
Делать это также можно и с помощью maven-shade-plugin, выбирайте сами. 

Удачных и разносторонних сборок Вам!

10 февраля 2014

Напочитать: Напосмотреть

Потихонечку разбираю завалы скопившегося видео на посмотреть.
Вам вывешиваю - только то что понравилось самому.

1. Илья Балахнин о том куда работает маркетинг и как оно на самом деле. Просто приятное выступление



2. Пока мы тут сидим в интернетах будущее наступает.
http://habrahabr.ru/company/nordavind/blog/211052


3. Google отрелизил :

  1. 16 версию Guava
  2. опубликовал code style guideline - если лень придумывать свое, то берите это, весьма демократично.
  3. начал выкладывать в Open Source часть своих внутренних разработок - в частности проект Auto который позволяет писать value object
4. Замечательное выступление Альберто Савоя в паре с Джеймсом Уиттакером на открытии GTAC 2011 - подходы к тестированию в современных (осторожно, слово "стартапы" упоминается многократно) условиях  должны меняться.


5. Прекрасная иллюстрация того почему системы вознаграждений в компании должны быть прозрачными. По наводке ITBoost


Ну и чтобы вы про буковки тоже не забывали.

  This will finally prompt politicians to introduce much stricter regulation of software in critical systems and the major cost for these systems will be achieving certification rather than software development. This will also create huge economic opportunities as continuing to run old and insecure systems will simply not be acceptable.

Дедушка Фаулер растолковывает о том что такое Given-When-Then и зачем оно надо.
Лучшего объяснения я пока не видел.

05 февраля 2014

Краудфаундинг: Книга от издательства Дмитрия Лазарева

Многие из вас наверное сталкивались с такой ситуацией, что заинтересовавшая вас книга есть только на английском.
Для кого-то это проблема, для кого-то - нет. Лично для меня  - это неприятность.

Я и на английском могу прочесть, но тяжелее воспринимается - английский язык очень информационно-емкий.

Поэтому хочется чтобы книга была на русском.
Видимо (я на это надеюсь:)) очень хороший человек Дмитрий Лазарев решил как-то исправлять эту ситуацию.

И хочет издать книжку на краудфаундинговой основе.
Детали ниже.

23 января 2014

Напочитать: Про людей (в основном)

1.
Роман Сергеевич Ивлиев написал замечательнейший текст про конусы, очко и как одно с другим связано.

2.
Найм жилья, дисконт-программы по крупным ритейлерам, групповые походы в бассейн, достраивание этажа под тренажерный зал, путевки в санаторий, бесплатные пироженки под веселый треп отдыхающих коллег и прочие комплиментарные удовольствия. Совместный team building, делающий из вас стадо овец, с прекрасным «а что сегодня ты сделал для своей компании?». Ребята, это не ваша компания, компания принадлежит собственникам и ничего не делает бесплатно. А если вам больше 25 и вас все еще нужно за ручку водить в бассейн и в столовую, подбирая вам друзей на час и на день, то вам в пору задуматься, как в известном фильме: «раньше мне родители что-то запрещали, теперь жена. И когда же я вырасту?!». Вы айтишник и для уверенного пути в гору должны быть способны к самоорганизации, зная и трезво оценивая свои возможности.

3. Пока я читаю "Черного лебедя" Насима Талеба могу вам посоветовать раствор скептицизма и эмпиричности послабже.
Про ошибку выживших.

4.  Я понял для чего технарям в ВУЗе два-три года вставляют в голову математику.
Математика, сама по себе, не так нужна. Нужна конечно, но достаточно примитивная и в малом объеме.
А вот вставлять ее надо.
Потому, что мозг человека он как промышленный пластилин - его сначала нужно разогреть до 60 градусов, только потом с ним можно что-то делать.
Вот математика - она "разогревает" мозги.
А после 2-3 лет прогрева - в них можно вставлять. И про программирование, и про атомную физику, и про все на свете.
В качестве бесплатного бонуса идут другие предметы.
Ссылочка по теме.http://xpinjection.com/2013/08/20/we-definitely-need-high-education/

5. Когда-то я писал о том как я понимаю знание человека.
Вот тут.
Тема продолжается Алексеем Шипилёвым
Но чем дальше в лес, тем меньше людей вокруг тебя, которые обладают теми же скиллами. А значит, что проблем столько же, а помощи ждать приходится всё меньше и меньше. Нельзя загуглить ответ, потому что никто ещё не задавал такой вопрос. Нельзя скопировать решение, потому что решения ещё нет. Нельзя спросить, потому что спрашивать некого. 

И еще

И, вот, ты остался один. Тебе не с кем посоветоваться по проблемам, которые тебе волнуют. Нет, конечно, ты можешь о чём-то поговорить с другими одиночками, они даже попробуют тебе чем-то помочь, но по факту - ты один на один с твоей областью проблем. Это увлекает. Нет, даже не так. Это захватывает. Ты стоишь один посреди новой, твоей вселенной. Ведь по мере отдаления от других область твоего не-знания для тебя растёт, помните? Целая вселенная вопросов, которые принадлежат только тебе и никому больше. Ну, ок, если кто-то вдруг берёт один из твоих вопросов - ты не ревнив, бери конечно, у меня их еще примерно 2-3 бесконечности. Ты поглощаешь информацию, и каждый новый полубит добавляет к твоей непознанной вселенной еще пару килобайтов. Ты купаешься в собственной значимости и величии. Но это всё внутри. Снаружи - ты перестаёшь выглядеть как специалист.


6. Замечательный публичный персонаж Сергей Савельев рассказывает вам о том почему "собачка рождается собачкой, а кошечка - кошечкой". Да, дамы и господа - люди не равны, я думал вы в курсе ?




7. Зарабатывает тот, кто первым начнет продавать технологию.
Изобретение само по себе ничего не стоит.
Технология  - вот ценность.
Между моментом как произойдет открытие и тем как оно поступит в продажу - есть фаза создания технологического процесса.
Технологическими процессами занимаются технологи - это такие специально обученные люди (раньше были).

Но создание технологического процесса - это тоже процесс, который не моментален.
У него есть промежутонче результаты.
Как этот вот например.

30 декабря 2013

Книга: Rework

Дочитал, исключительно из-за своей привычки дочитывать до конца даже неинтересные книги.
Наверное, эта книга просто не для меня.
Эта книга для заскорузлого владельца большого бизнеса который решил постарперить стартапить, при том, что основной бизнес успешно работает.
И вот тут надо бы свернуть шаблоны большого бизнеса в голове и посмотреть на все свежим взглядом. Эта книга для него  - такого вот владельца.
Сделана книга действительно хорошо, читается легко.
Полезности только для меня оказалось мало.
Бизнес-мурзилка.

Оценка 3/5.

20 декабря 2013

Видео: Популярно про сжатие изображений

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

11 декабря 2013

Видео - Michael Bolton об одержимости регрессом


131108 1540 Spacepigs Michael Bolton Recording on 2013-11-08 1521-Vimeo from Øredev Conference on Vimeo.

О том чем тестирование отличается от проверок и о том, что не все тесты нужно повторять постоянно  в очень кратком формате, можно сказать рафинировано.

P.S. Это вот оно когда смотришь на видео выглядит все очень просто а смысл речи докладчика выглядит записками Капитана Очевидности. А вот когда нырнешь....


04 декабря 2013

Видео - Про тестирование в Agile

Хороший молдавский тренер - это как хороший французский коньяк. 
Только молдавский. 
И тренер.

Выделил за вчера и сегодня час времени и посмотрел видео к которому и был написан эпиграф.

Собственно смотреть вот сюда.
http://testitquickly.com/2013/11/27/tine-nasul-cumsecade/

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

Одна фраза о том, что "тестировщиков в Agile никто не приглашал"  (с) А.Лупан - можно считать самым емким выражением того что происходит вокруг.

Очень много мыслей выраженных очень кратко и емко, и очень много пищи для размышлений.
Очень много всего, на тему чего я бы хотел с автором подискутировать за банкой виски.
Леша мы обязательно должны встретится.

P.S. Ну вот есть и еще один повод сгонять в Киев.
P.P.S. Леша, у тебя талант.