• Услуги
  • Новости
  • Тренинги
  • Расписание
  • Материалы
  • Проекты
  • О нас

2012 August

Рубрика «Полезное чтиво». Выпуск 43

полезное чтиво

Вторник я пропустил, но все таки решил на этой неделе рубрику опубликовать. Вот что накопилось за неделю интересного:

На заметку разработчикам

  • Google Analytics для сбора ошибок JavaScript – простой и классный способ сбора и анализа JavaScript ошибок на страницах
  • How to build true pipelines with Jenkins and Maven – для качественной цепочки зависимых билдов в Jenkins нужно знать и уметь работать с кучей плагинов, прямо магия…
  • Evolving Enterprise Infrastructure Using Chef – Chef выглядит очень неплохо для управления конфигурациями
  • Sonar Code Quality Testing Essentials – вышла первая книга по Sonar
  • Busting some CQRS myths – мифы о CQRS, все верно и строить приложения с CQRS не так легко
  • Distributed Systems with ZeroMQ – кто еще не видел ZeroMQ, рекомендую взглянуть
  • Несколько идей по повышению личной продуктивности веб-разработчика – 2 монитора, SSD, классный стул и реально можно бить рекорды продуктивности
  • How to Take Unit Testing (and Test-Driving) Seriously – полезные советы по модульному тестированию и TDD
  • Fixing Bugs: The Ones That Can’t be Reproduced – не все баги одинаково просто изолировать и исправить
  • A summary of changes in MySQL 5.6 – блин, скорее бы MySQL 5.6 вышел на финишную прямую – жизнь стала бы гораздо проще
  • Программисты — самые оптимистичные люди на свете! – 100% согласен, что программисты чересчур оптимистичны!
  • CQRS and user experience – в CQRS синхронность выборочная и контролируется на уровне логики
  • Messaging Anti-Patterns: Part 2 – переиспользуйте соединения с JMS брокером, так же как и с базой данных
  • Java Memes Which Refuse to Die – раздражающие приколы в Java
  • Несколько интересных приемов и особенностей работы с MySQL – разные приемы и хаки MySQL
  • NoSQLUnit 0.4.0 Released – вот и добавили поддержку Cassandra в NoSQLUnit 0.4.0
  • Fixing Bugs: Why are Some Bugs Harder to Fix than Others – еще немного спорной статистики об исправлениях багов
  • How To Do Rollback Well – для безопасных релизов вы должны думать об откате изменений и хорошо его тестировать
  • Варианты построения высокодоступных систем в AWS. Преодоление перебоев в работе. Часть 1, Часть 2 – обзор построения высокодоступных систем с AWS
  • Characteristics of Great Programmers – классный разработчик много думает и пишет код только по делу
  • Ticket #12182 (closed bug: invalid) – яркий пример плохой помощи open source проекту

Тестировщикам о тестировании

  • Categorising WebDriver–Navigation, Interrogation, Manipulation – mind-map с классификацией WebDriver API
  • PHP-WEBDRIVER AND BY – любителям PHP с WebDriver тяжелее всего
  • Getting Started with ATDD: Overcoming the Biggest Mistakes Right from the Start – в ATDD и BDD ключевую роль играет не инструмент, а процесс
  • Selenium Best Practices – полезные практики и важные факты при работе с Selenium
  • Automated Acceptance Testing — JBehave & Thucydides Work in Unison – как быстро и красиво делать BDD с JBehave и Thucydides
  • You’re Doing It Wrong: IE Protected Mode and WebDriver – тем, кто интересовался для чего в IE нужно морочиться с Protected Mode при запуске WebDriver тестов
  • Тестирование — это не поиск ошибок! – цель тестирования вовсе не в поиске ошибок…
  • Полезные метрики для оценки проектов – отличные метрики/диагностики для лечения проблем с тестированием

Процессы, подходы и менеджмент для менеджеров

  • Coaching a Scrum Master on a Struggling Team – перед тем как давать советы, сначала внимательно понаблюдайте
  • Программисты и менеджмент – как все взывают к совести программиста и ответственности, а кто будет создавать комфортные условия работы?
  • To-Dos For Your Sprint Reviews – вот как надо делать правильное демо спринта!
  • Seven Things I Hate About Agile – вот это наброс на тему Agile, правда начало поумнее конца, особенно про “трупный запашок” от Agile гуру
  • Мой взгляд на Scrum – да, Scrum не говорит как надо разрабатывать, он вообще позволяет только от хаоса уйти, а дальше команда…
  • О взятых на себя обязательствах или стоит ли изменять план Спринта – лучше взять на себя меньше и все сделать, чем взять много и провалить спринт

Общие темы

  • Выбор TechCrunch: 10 лучших стартапов с демо-дня Y Combinator S12 – одни стартапы вокруг! аж страшно…
  • (Often,) You People are Too Smart to Train – иногда на тренингах собираются очень опытные участники, жаль, что только иногда…
  • Маленькие и БОЛЬШИЕ компании – будьте внимательны при выборе работы чтобы не превратиться в амебу
  • The Best Approach to Software Development – супер-классная троллинговая статья на тему современных подходов, практик и тенденций, но читать осторожно!
  • Why Tech Recruiters Suck, and What You Can Do About It – мы ненавидим рекрутеров, потому что им пофиг на нас и нашу работу, им главное количество закрытых вакансий и собеседок

И порция полезного видео для просмотра:

  • Death by Dogma Versus Assembling Agile – классное видео на тему Agile anti-patterns
  • Experience Report: Trying to do Continuous Delivery – Warts and All – в ThoughtWorks во всех проектах делается Continuous Delivery, потому что это их стиль работы
  • Building Rich User Experiences without JavaScript Spaghetti – Mediator, Observer, Service Bus – все это теперь доступно в JavaScript
  • Agile Planning Advanced Topics – Mike Cohn великолепно доносит материал по планированию и оцениванию
  • How Can we Remove Technical Debt – доклад о техническом долге с каменным лицом, как будто докладчик дом уже заложил…
  • NoSQL Database Technology: A Survey and Comparison of Systems – пожалуй, одно из лучших выступлений на тему NoSQL
  • Extreme Performance with Java – неплохое выступление на тему GC и JIT в Java
  • Storm: Distributed and Fault-tolerant Real-time Computation – Storm – очень крутой фреймворк для распределенных вычислений в реальном времени

Читайте и набирайтесь новых знаний!

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

event29/08/2012
personНиколай Алименков
mode_comment0
Далее
Наши планы на осень

Мы уже начали готовить планы на осень. Она будет насыщенной конференциями.

Начнется все 1 сентября. Когда все дети пойдут в школу, IT-шники соберутся в Киеве на ежегодную тусовку IT-Jam. В этом году мероприятие обрело новый формат – будут представлены локальные сообщества, каждое из которых будет развлекать пришедших участников. Мы будем представлять наш “Клуб анонимных разработчиков”. Приходите в гости! После основной части программы запланировано афтепати с участием IT-шных музыкальных групп, пива и хорошего настроения.

Следующей важной для нас конференцией станет “Поиск и найм IT профессионалов” в рамках платформы онлайн конференций IT Brunch. Конференция пройдет 22 сентября и как всегда будет совершенно БЕСПЛАТНОЙ. Тема выбрана не случайно – ведь каждый в IT индустрии хоть раз устраивался на работу или нанимал других. По одну сторону баррикад кто-то жалуется на рекрутеров, политику отбора кандидатов и проведения собеседований. По другую сторону переживают по поводу перегретого рынка, завышенных ожиданий в отношении условий работы и зарплаты, недостатка квалифицированных специалистов. На конференции мы хотим взглянуть на ситуацию с разных сторон. Мы пригласим докладчиков, которые непосредственно связаны с процессом поиска и отбора кадров, чтобы услышать об их подходах, приемах и полезных практиках. С другой стороны, мы хотели бы послушать советы от профессионалов по поиску работы, прохождению собеседований, составлению резюме и ведению переговоров с компаниями.

5-6 октября на конференцию AgileEE в Киеве соберутся все любители и профессионалы Agile подходов в разработке. Программный комитет пока еще не утвердил поданные заявки на доклады, но уже точно известно об участии таких звезд как Henrik Kniberg, David Hussman, Alistair Cockburn, Lyssa Adkins и других приглашенных докладчиков. В этом году вероятнее всего возродится из пепла русская сцена, где будут радовать участников своими докладами отечественные специалисты.

За неделю до конференции, 29 сентября, мы запланировали провести тренинг “Kanban для управления проектами”. Данный тренинг познакомит вас с принципами, лежащими в основе методологии, преимуществами, которые дает ее внедрение. Множество практических упражнений позволит лучше прочувствовать и понять основы, а также интересно провести время. Участники смогут узнать как определиться с выбором методологии, с чего начать использование Kanban, как выполнять основные проектные активности, какие роли и обязанности есть в команде при применении Kanban, какие инструменты и приемы могут помочь в успешном использовании методологии. Также тренер поделится большим практическим опытом и историями о применении Kanban в различных проектах.

12-13 октября пройдет еще один популярный тренинг – “Тестирование веб приложений с WebDriver/Selenium”. Он уже второй раз будет проходить в двухдневном формате, а это значит больше практики, более детальное рассмотрение всех особенностей и практик в применении инструмента. Говорить тут особо нечего – лучше всего заглянуть в детальную программу тренинга.

Ноябрь будет для нас ознаменован очень важным событием – в Киеве пройдет наша конференция XP Days Ukraine 2012. В этом году мы решили провести по-настоящему масштабное мероприятие. Целых 4 дня участники смогут учиться, общаться, обмениваться опытом и узнавать что-то новое. Все начнется 14-15 ноября с целой серии тренингов и мастер-классов. Участникам будет из чего выбрать – параллельно будут проходить 9 тренингов от известных зарубежных тренеров и отечественных специалистов. Места на тренинги стремительно разлетаются и более половины уже продано. 15 ноября вечером состоится препати конференции (это пока секрет, но будет очень интересно).

16-17 ноября пройдут основные дни конференции. Мы отбираем только лучшие доклады и программа уже на 50% сформирована. Мы стараемся привезти в Украину известных докладчиков, которым есть чем поделиться с участниками. На данный момент мы получили согласие от John Smart, Simon Brown, David Evans, Johannes Brodwall, Daniel Worthington-Bodart, Pawe? Lipi?ski и других профессионалов. Мы верим, что эта конференция будет лучшей из всего, что мы проводили на данный момент. До 1 октября действует основной этап регистрации по цене 1400 гривен. Торопитесь зарезервировать себе место! После конференции мы планируем провести афтепати, где участники смогут пообщаться в неформальной обстановке и закрепить полученные на конференции знания и впечатления (это пока еще тоже секрет). 🙂

Очень предстоит насыщенная и интересная. Присоединяйтесь к нам и давайте проведем ее вместе!

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

event23/08/2012
personНиколай Алименков
mode_comment0
Далее
Рубрика «Полезное чтиво». Выпуск 42

полезное чтиво

На прошлой неделе рубрика не вышла по “техническим причинам”. Зато на этой неделе она будет толще обычного.

На заметку разработчикам

  • MySQL Bad Idea #384 – меня тоже очень возмущала поддержка в MySql других полей при группировке
  • Отчёт о попытке получить заявленную эффективность от prepared statements – печальненько как все в PHP с prepared statements
  • Example Distributed Queue using Zookeeper (via Curator) – очередь на ZooKeeper можно сделать с помощью Curator, но работать будет неспешно
  • Ключевое слово this в javascript — учимся определять контекст на практике – очень классная статья для JS разработчиков, ведь понимать что значит this – очень важно!
  • Шаблоны проектирования: нарушать правила иногда бывает полезно – не все шаблоны одинаково полезны
  • The ultimate continuous delivery deploy(it) toolkit – пошаговая инструкция по настройке Continuous Deployment
  • Handling Form Validation with Spring 3 MVC – валидация форм в Spring MVC становится все проще
  • Why You Didn’t Get the Interview – отличная статья про ошибки разработчиков при поиске работы
  • JaCoCo in Maven Multi-Module Projects – как-то не по-мавеновски сложно настроить JaCoCo для многомодульного проекта
  • SQLite — замечательная встраиваемая БД (часть 1) – что-то я совсем не впечатлен SQLite, H2 и незыблемый HSQLDB выглядят куда вкуснее
  • TeamCity 7.1: Control the flow! – TeamCity 7.1 уже с нами, клевая функциональность для работы с бранчами
  • Top Performance Mistakes when moving from Test to Production: Deployment Mistakes – чтобы не допустить проблем в продакшене, тестируйте (желательно автоматизированно)
  • Про jQuery и велосипеды — мое дополнение – отличный список советов по использованию jQuery
  • Javascript, Javascript, Everywhere – JavaScript реально рвется вперед семимильными шагами – столько новых библиотек, инструментов и возможностей
  • Удобное управление облачными сервисами Amazon? MadeiraCloud! – интересный проект для управления ресурсами в облаке Amazon, как конструктор
  • Best Strategy for Migrating from Apache Ant to Apache Maven – шаги перехода от Ant к Maven
  • Практика TDD/BDD на примере JavaScript: TDD и BDD – TDD в JavaScript на примерах
  • Back By Popular Demand: 43 Free Cloud Services for Application Developers – облачные решения на любой вкус
  • Вся правда об XSS или Почему межсайтовое выполнение сценариев не является уязвимостью? – пожалуй, лучшая статья про XSS
  • NoSQLUnit 0.3.2 Released – скорее бы NoSqlUnit уже начал поддерживать Cassandra, а то CassandraUnit слабоват конечно
  • String Memory Internals – смотрим на String в Java изнутри
  • Велосипеды на Javascript и jQuery – простые но полезные советы по применению jQuery

Тестировщикам о тестировании

  • Acceptance Test Driven Development with Robot Framework – демо использования Robot Framework для приемочного TDD
  • Firefox the Clear Winner for Automated Testing – Firefox – самый популярный браузер для тестов на Selenium
  • 7 Reasons Why QA is Difficult – тестирование гораздо сложнее чем кажется
  • Матрица компетенций нагрузочного тестировщика – крутая матрица скиллов нагрузочного тестировщика
  • Thucydides – новый сайт Thucydides
  • Thucydides Release 0.9.12 – jBehave Integration – очередной релиз Thucydides
  • Война миров: программисты vs. тестировщики! – тестировщикам и разработчикам нечего воевать – у них единая цель сделать качественный продукт
  • BDD engines comparison (Cucumber, Freshen, JBehave,NBehave,SpecFlow, Behat) – сравнение DBB инструментов
  • JBehave and Cucumber – кто же круче? JBehave или Cucumber?
  • Automated Acceptance Testing with JBehave and Thucydides – как автоматизировать приемочные тесты с JBehave и Thucydides

Процессы, подходы и менеджмент для менеджеров

  • Наказание за ошибки или что общего у Скрам команды и синоптиков – чтобы люди хотели брать ответственность не должно быть страха наказания за ошибки
  • Release Planning: Completing the Plan – математика за планированием релиза
  • Estimating Is Often Helpful. Estimates Often Aren’t. – процесс оценивания очень полезен, а сами оценки могут и навредить

Общие темы

  • Presentations; Tell a story – рассказывать истории – самый классный формат докладов
  • Позы программистов – прикольные жизненные позы программистов

Мне очень стыдно, но за две недели я не посмотрел ни одного интересного видео. 🙁

Читайте и набирайтесь новых знаний!

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

event21/08/2012
personНиколай Алименков
mode_comment0
Далее
“Клуб анонимных разработчиков” будет представлен на IT-Jam

Нашему “Клубу анонимных разработчиков” (UADEVCLUB) уже исполнился 1 год и 2 месяца. За это время мы достигли определенных результатов, которые греют нам душу:

  • Провели 21 встречу, что в среднем дает полторы встречи в месяц. Самое главное – они стали регулярными и проходят раз-два в месяц.
  • На встречи теперь собирается стабильно 30-50 человек. Большая часть из них – постоянные посетители, но на новые встречи всегда есть приток новых участников.
  • Мы практически перестали выступать в рамках клуба самостоятельно и хватает желающих поделиться знаниями и опытом. Многие члены клуба выросли до докладчиков и очень даже неплохих.
  • Несколько членов клуба расширили свой кругозор, заинтересовались новыми направлениями и сменили работу. Это очень здорово, когда видишь как люди из недовольных и постоянно замученных превращаются в заинтересованных и активных.
  • Формат зарекомендовал себя отлично. Общение после работы в неформальной атмосфере под пиво и пиццу работает!

Мы решили представить наше детище на предстоящем IT-Jam, который пройдет 1 сентября в Киеве. Изначально планируется провести множество открытых дискуссий на стенде клуба. Поэтому мы подготовили форму тем и идей, заполнив которую вы поможете нам сделать наш стенд интереснее для участников. Будем рады видеть всех вас на IT-Jam!

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

event14/08/2012
personНиколай Алименков
mode_comment0
Далее
Мой запоздалый отчет о менторстве на мобильном хакатоне

Почти месяц назад, 14-15 июля, мне удалось поучаствовать в качестве ментора на мобильном хакатоне. При чем тут я и как меня туда занесло? Ребята из нашего “Клуба анонимных разработчиков” решили поучаствовать и написать приложение для проведения конференций. Я выступил у них в роли Product Owner. Потом мне предложили присоединиться к составу менторов и я с радостью принял предложение.

я на мобильном хакатоне

Сам хакатон проходил в офисе компании Ciklum, что было очень удобно для участников. Они могли располагаться в многочисленных уютных митинг-румах или же в открытом опен-спейсе с видом на город. Кому как больше нравилось. Я не ожидал, что придет столько много команд. Их было около 20, а до финала добрались аж 15! Это очень классный результат – ведь оказалось столько желающих провести выходные за написанием кода!

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

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

читаю свой доклад участникам

Из менторов самыми стойкими оказались Александр Краковецкий (достойный организатор), Михаил Галушко и Владимир Кириллов. Ребята, спасибо большое за интересное и познавательное общение! Я рад, что мы провели вечер весело и интересно за пивом и просмотром матча по боксу Чисора – Хэй, который в противном случае пропустили бы.

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

Теперь о судействе. Я очень рад, что менторы практически единогласно вынесли решение о тройке победителей. При этом, никто из участников не ушел с пустыми руками – все получили призы и подарки. Итак, мой личный рейтинг команд и их приложений с комментариями (не обижайтесь):

1. Команда Callisto с приложением Friend In Need.

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

2. Объединенная команда MOC iOS/Android с голосовым приложением для Google+.

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

3. Команда 411 с приложением FleaTweet.

Приложение представляет из себя блошиный рынок в Twitter. Вы можете продать что-то или сдать в аренду прямо из приложения. Это требует минимум усилий и работает целиком через Twitter, поэтому технологически достаточно просто. Ребята порадовали классным дизайном, но не все успели доделать из запланированного. Поэтому получили минус от меня.

4. Команда Just Developers с приложением для контроля нарушителей правил дорожного движения.

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

5. Команда Ironik с приложением для управления мышкой через телефон.

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

6. Команда Гертруда с приложением для заказа столиков в ресторанах.

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

7. Команда myconf с приложением для проведения конференция.

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

8. Команда atlAnt с образовательным приложением для детей.

Ребята сделали приложение, которое позволяет детям в игровой манере решать задачки и собирать ответ, перетаскивая буквы. Эдакое “Поле Чудес” для маленьких. Но приложение легко развивать – можно добавлять тематики, уровни сложности, вопросы от родителей, программу комплексного обучения. Это одно из немногих приложений, которые я бы приобрел. Проект хоть и простой, но интересный.

9. Команда EVO с приложением Social DJ.

Этот сервис объединил хранилище музыки социальных сетях (VKontakte) с сервисами по поиску и подбору похожей музыки (Last FM). В результате, пользователь может составлять себе плейлисты новой музыки на основании имеющихся примеров. Очень удобно для тех, у кого нет времени на самостоятельный поиск. Не все заработало на демонстрации, но проект представляет интерес, потому что можно внедрить много всего социального.

10. Команда TUTORLE с приложением для локализации мобильных приложений через словари.

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

11. Команда VinZadrotsPWNZ с приложением InfoHERE.

Приложение очень простое – определяет ваше местоположение и выдает популярные хештеги и информацию из Foursquare. Для меня это показалось чересчур простым для хакатона и не видно в чем глубина идеи.

12. Команда U4 с приложением Мой город.

Приложение позволяет вам выбрать маршрут через интересные точки города. Таким образом, вы можете совместить приятное с полезным – добраться до пункта назначения и увидеть что-то новое. Снова слишком просто и проект полагается на уже существующую базу знаний. При этом, ребята отдают ее наполнение на откуп энтузиастам. Жаль, что в проекте нет персонализации интересов. Это бы добавило ему сложности и интересности.

13. Команда BeSimple с приложением LiveWallpaper “солнечные часы”.

Проект являлся экспериментом по рисованию 3D модели солнечных часов. Он не заработал, да и задумка спорная.

14. Команда AndrEid’n’Vovoid LTD с приложением для поиска решения проблем.

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

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

Кому интересно, могут посмотреть фотоотчет с мобильного хакатона и официальный отчет организаторов.

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

event09/08/2012
personНиколай Алименков
mode_comment0
Далее
Рубрика «Полезное чтиво». Выпуск 41

полезное чтиво

Вот и новая порция “полезного чтива”, которая насобиралась за прошедшую неделю. 😉

На заметку разработчикам

  • Sonar 3.2 Released – вышла новая версия Sonar 3.2
  • Я, наверное, знаю ООП. Опыт объектно-ориентированного программирования и дизайна. Ответ «не знающим ООП.» – епрст! все никак не уляжется тема с ООП!
  • Необычные XSS уязвимости – красивую атаку раскопал чувак, флеш давно должен умереть…
  • Defending against Web Application Vulnerabilities – как защититься от разных уязвимостей в веб-приложениях
  • Fixing a Bug is Like Catching a Fish – попытка предсказать сколько времени займет фикс бага похоже на предсказания о скорости рыбалки, но статистика есть…
  • Why I Think Riak is a Great NoSQL Option – что-то не впечатлил Riak…
  • Парное программирование в аутсорсинге: достижение взаимопонимания с техническими специалистами заказчика – успешный пример удаленного парного программирования – надеюсь, мой тренинг по инженерным практикам помог этой идее
  • The ROI of Test-Driven Development – как TDD окупает себя
  • Mustaches in the World of Java – да, Mustache – прикольное решение, я на сервере люблю FreeMarker как раз по тем же причинам
  • Convert Running EC2 Instance to EBS-Optimized Instance with Provisioned IOPS EBS Volumes – новый быстрый EBS от Amazon
  • Начинаем работать с Ember.js – введение в Ember.JS
  • Consolidate your Technical Debt! – технический долг надо отслеживать, измерять, показывать и отдавать понемногу
  • Solr Upgrade Surprise and Using Kill to Debug It – доверяй, но проверяй – вот тестировали бы интеграцию с Solr и все было бы отлично
  • Going Beyond Design Patterns – важны не шаблоны дизайна, ваш опыт работы с ними, да и в целом ваш опыт
  • Messaging Anti-Patterns: Part 1 – не стоит использовать очередь сообщений для хранения данных
  • Top Performance Mistakes when moving from Test to Production: Excessive Logging – логирование – это хорошо, но только когда в меру
  • Running Cassandra in a Multi-node Cluster – как запустить и мониторить кластер Cassandra
  • Practical Unit Testing with TestNG and Mockito – Review – известный холивар – JUnit VS TestNG
  • Профилирование JavaScript с Chrome Developer Tools – отличное руководство по использованию профайлера JS в Chrome
  • Integration Testing IMAP, SMTP and POP3 with GreenMail – пример использования фейкового почтового сервера для тестирования, не используйте настоящий
  • Google Guava for Cleaner Code – не всегда стремление укоротить код несет добро…
  • Apache ZooKeeper 3.3.6 has been released – вышла новая версия ZooKeeper
  • Storm 0.8.0 and Trident released – замечательный проект Storm продолжает развиваться

Тестировщикам о тестировании

  • Principles of Agile Test Automation – простые принципы хорошей автоматизации тестирования
  • Саймон Стюарт о частоте выхода релизов Selenium – почему Selenium/WebDriver выходит достаточно часто

Процессы, подходы и менеджмент для менеджеров

  • Effectively Communicating Software Requirements – Part 1 – чем лучше требования дойдут до команды разработки, тем лучше будет ваш продукт!
  • Part 1: The Employee Formerly Known As Architect – cлишком громкий и опасный заголовок “избавляемся от архитектора”
  • How Detailed Should Tasks Be in a User Story? – как правильно дробить истории на задачи
  • Planning your next retrospective? Get started with a random plan, tweak it, print it and share the URL. Or just browse around for new ideas! – генератор случайных форматов ретроспектив
  • Continuous Feedback in Agile Teams – здорово если у вас в команде все свободно и открыто оценивают друг друга, помогая измениться к лучшему!
  • Top Kanban Blogs – что почитать по Kanban?
  • Programmer Time Translation Cheatsheet -or- Why Programmers Are Bad at Estimating Times – временные оценки редко бывают точны, но часто их еще и вынужденно занижают

Общие темы

  • Как успевать читать и работать? – как больше читать и больше знать

И порция полезного видео для просмотра:

  • Agile Estimating – отличный доклад от Майка Кона на тему оценок в Agile, примеры простые и понятные
  • Lessons Learned in Deploying PaaS – преимущества использования PaaS

Читайте и набирайтесь новых знаний!

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

event08/08/2012
personНиколай Алименков
mode_comment0
Далее
Один день из жизни тестировщика. В поисках правды

в поисках правды

Вторая статья из цикла «Один день в жизни тестировщика». В предыдущей статье мы говорили о планировании. В этом примере мы рассмотрим, чем занимается тестировщик в самый разгар итерации.

Контекст:

  • проект разработки портала спортивных новостей;
  • методология – Scrum;
  • 5 программистов и 2 тестировщика;
  • итерации продолжительностью 2 недели;
  • все работают в одной локации;

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

После согласования, оба приступают к тестированию своих User Story.

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

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

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

«А что если теперь изменить настройки module2 с указанием аналогичных значений и проверить операцию суммирования еще раз с новым созданным товаром?» – предложил второй тестировщик.

Решили осуществить проверку, но опять-таки получили успешный результат. Проверка платежной системы заняла 10 минут, но им все таки удалось найти ошибку и stacktrace в файле логов, где должны собираться все совершенные платежи. Первый тестировщик просто не посмотрел в этот файл, когда тестировал в одиночку, соответственно не смог выявить, на каком шаге возникла ошибка.

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

Тестировщики спросили: “Сколько времени займет, чтобы исправить это?”
«По оптимистическим оценкам – 30-50 минут» – ответил программист.

Недолго думая, единогласно приняли решение, что нужно завести баг и добавить это задачей в колонку TODO этого спринта и связать с тестируемой задачей.

В чем мораль этой истории?

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

Какие ошибки допустил первый тестировщик в своей работе?

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

Как он смог быть решить эту проблему самостоятельно за 5 минут?

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

Дайте свое виденье разрешения проблемы. Как в будущем избежать потерю времени?

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

event01/08/2012
personАндрей Дзыня
mode_comment0
Далее
Рубрика «Полезное чтиво». Выпуск 40

полезное чтиво

По просьбам читателей, эта рубрика “полезное чтиво” будет категоризирована. Категории достаточно крупные, но многим позволят отсечь неинтересный им контент, хотя я и так публикую только наиболее понравившееся. 😉

На заметку разработчикам

  • Я переучиваю людей на Java-программистов – “работа программиста несложная и интересная… Java – самый простой язык для изучения… 25 уроков и вы уже косите $3600…” :)))
  • IDE Project Files In Version Control – Yes or No? Of Course, Not! – не храните файлы IDE в системе контроля версий
  • A Simple PaaS Comparison Guide (With the Java Dev in Mind) – сравнение нескольких PaaS решений на рынке
  • Выводы по SQL injection – может при такой вероятности SQL Injection проще не использовать PHP или хотя бы не генерить на лету SQL?
  • ZooKeeper или пишем сервис распределенных блокировок – отличная статья о подводных камнях ZooKeeper
  • Debuggers are for Losers – согласен на все 100% что дебаггер – это для слабаков, надо использовать его только в самых критических случаях
  • 14 Способов сделать вклад в открытое программное обеспечение, не будучи Гениальным Программистом или Рок-Звездой – воодушевляющая статья на тему помощи open source проектам, все время хочу заняться этим…
  • Облачные базы данных: кто их делает и на что они способны – обзор облачных баз данных на рынке
  • JavaScript-фреймворк Meteor получил 11 миллионов долларов инвестиций – все движется в сторону JavaScript
  • JsRender: Новое поколение jQuery Templates – темплейтных решений для JavaScript становится все больше
  • Getting out of Technical Debt – прикольная идея как бороться и отслеживать технический долг
  • Sonar Documentation – отличная документация для отличного инструмента
  • MongoDB: Replication, Durability, and Disaster Recovery – отличная презентация на тему репликации и доступности данных в MongoDB
  • Why Should We ‘Waste Time’ On Unit Tests When We Could Be Writing Functionality? – модульные тесты – это вовсе не потеря времени!
  • GC и большой heap: друзья или враги? – полурекламная статья с детальным описанием работы Azul JVM и других реализаций GC
  • 5 Ideas for Amazon Web Services – идеи на тему того, что нам готовит Amazon
  • Костыльный программист – Спольски просто жжет – статье про костыльного программиста аплодирую стоя!

Тестировщикам о тестировании

  • WebDriver: Y U NO HAVE HTTP Status Codes?! – почему в WebDriver не будет возможности получить HTTP Status Code
  • Marionette – The Future of FirefoxDriver in Selenium – команда разработки Firefox скоро встроит поддержку WebDriver в сам браузер
  • Тестировщики не должны писать тест-кейсы – я рад, что не один выступаю против тест кейсов как основного оружия тестировщика

Процессы, подходы и менеджмент для менеджеров

  • Is Kanban the New Scrum? – должен ли Kanban придти на смену Scrum
  • Making Daily Scrum Meetings Really Effective & Efficient (Part 5 of 5) – финальная партия советов для эффективных ежедневных митингов
  • Risk Management – How to Stop Risks from Screwing Up Your Projects! – способ борьбы с рисками в IT проектах
  • Scrum or Kanban? – и еще раз вопрос Scrum или Kanban?

Общие темы

  • Тренды, возведенные в культ – культовые тренды последнего времени, к которым надо относиться с опаской

И порция полезного видео для просмотра:

  • Crazy Fast Build Times or When 10 Seconds Starts to Make You Nervous – сделать сборку быстрой реально, надо только приложить усилия и голову
  • Component Lifecycle Management with your Apache Maven Infrastructure – Sonatype работает в правильном направлении – скоро все приложения будут использовать open source на 99%
  • Querying 24 Billion Records in 900ms – классный практический отчет о построении масштабного поискового модуля в облаке Amazon
  • Sf Selenium Meetup: Proxies, HAR Files, JS Executors & Testing Flex/Flash – Adam Goucher рассказывает о некоторых хитростях в WebDriver (HAR, JS, Flex, Flash)
  • CoffeeScript: Good, Bold, and with Sugar – CoffeScript добавляет много “синтаксического сахара” к JavaScript, но не только этим хорош
  • Status of Java – очень не-agile путем идет добавление closures в Java, уже давно сделали бы простое решение, а потом думали дальше

Читайте и набирайтесь новых знаний!

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

event
personНиколай Алименков
mode_comment1
Далее
Важное
XP Days Ukraine 2018: вспоминаем как это было
folder
label
event
star
forum
Категории
  • Club (50)
  • Material (179)
  • Project (6)
  • Review (3)
  • Schedule event (452)
  • Trainer (7)
  • Общие (267)
  • Полезное чтиво (57)
  • Статьи (242)
  • Тренинги (62)
Tags
.NET agile Agile Base Camp AgileDays Agileee 2010 build automation code review continuous delivery continuous integration DevOps exploratory testing Hibernate IT Brunch IT talk Java JavaScript JEE JEEConf kanban QA refactoring scrum selenium Selenium Camp spring tdd test automation testing unit testing webdriver XP XP Days Ukraine автоматизация тестирования архитектура видео инженерные практики клуб анонимных разработчиков команда конференция полезное чтиво презентация проектирование тестирование тренинги управление рисками
Archives
  • February 2021
  • October 2020
  • March 2020
  • February 2020
  • January 2020
  • December 2019
  • November 2019
  • October 2019
  • September 2019
  • June 2019
  • April 2019
  • March 2019
  • January 2019
  • December 2018
  • September 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018
  • March 2018
  • February 2018
  • January 2018
  • December 2017
  • November 2017
  • October 2017
  • September 2017
  • August 2017
  • July 2017
  • June 2017
  • May 2017
  • April 2017
  • March 2017
  • February 2017
  • January 2017
  • December 2016
  • November 2016
  • October 2016
  • September 2016
  • August 2016
  • July 2016
  • June 2016
  • May 2016
  • April 2016
  • March 2016
  • February 2016
  • December 2015
  • November 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
  • June 2015
  • May 2015
  • April 2015
  • March 2015
  • February 2015
  • January 2015
  • December 2014
  • November 2014
  • October 2014
  • September 2014
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • January 2014
  • December 2013
  • November 2013
  • October 2013
  • September 2013
  • August 2013
  • July 2013
  • June 2013
  • May 2013
  • April 2013
  • March 2013
  • February 2013
  • January 2013
  • December 2012
  • November 2012
  • October 2012
  • September 2012
  • August 2012
  • July 2012
  • June 2012
  • May 2012
  • April 2012
  • March 2012
  • February 2012
  • January 2012
  • December 2011
  • November 2011
  • October 2011
  • September 2011
  • August 2011
  • July 2011
  • June 2011
  • May 2011
  • April 2011
  • March 2011
  • February 2011
  • January 2011
  • December 2010
  • November 2010
  • October 2010
  • September 2010
  • August 2010
  • July 2010
  • June 2010
  • May 2010
  • April 2010
  • March 2010
  • February 2010
  • January 2010
  • December 2009
  • September 2009
Recent Posts
  • Байки про Архитектуру, микросервисы и монолиты.
  • Rise and Fall of story points. Capacity-based planning from the trenches.
  • Static analysis tools as the best friend of QA
  • Modern CI/CD in the microservices world with Kubernetes
  • Тренинг “Kubernetes for Java developers”
  • Тренинг “Test automation strategy for microservices-based systems”
  • Тренинг “Test automation strategy for microservices-based systems”
  • Тренинг “Efficient Selenium Infrastructure with Selenoid”
  • Конференция JEEConf 2020
  • Конференция Simplicity Day: Agile Magic
Recent Comments
  • Микола on Справедливо ли зарабатывают представители IT Украины?
  • Николай Алименков on Страсти по Crossover
  • Pavel on Страсти по Crossover
  • Василий on Опубликована программа JEEConf 2018
  • Николай Алименков on Опубликована программа JEEConf 2018
НАШ twitter
Tweets by @xpinjection
© XP Injection, 2019
  • Услуги
  • Новости
  • Тренинги
  • Материалы
  • Расписание
  • Проекты
  • О нас
© XP Injection, 2019