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

Нехватка времени становится все глобальнее. Я случайно заметил, что уже ооочень давно не выпускал рубрику «полезного чтива». Накопилось за это время:
На заметку разработчикам
- Release Notes for MongoDB 2.4 – большой релиз MongoDB 2.4
- Sonar 3.5 in Screenshots – информация о тестах, которыми покрыт участок кода – новая классная фишка Sonar 3.5
- Refactor to remove duplication – дубликаты бывают разные и не все так очевидны!
- I’m Pascal, I’m a bug writer – дефект – это возможность сильно улучшить продукт, если конечно с ним правильно работать…
- Try-Catch-Resource and the Exception.getSuppressed() Method – да уж, Try-Catch-Resource сделали коряво
- It’s Not Simple to Keep It Simple – интересные размышления на тему простоты дизайна и кода
- Short Commit Cycles – давно хочу перейти на циклы коммита через 15-30 минут, сейчас пока час-два
- TeamCity Feature Branches – отличная работа с ветками в TeamCity
- Проектирование высокопроизводительных систем: о чем не расскажут в книгах – отличные сарказмы на тему проектирования высокопроизводительных систем
- Bureaucracy-Free Software Development – интересные идеи на тему упрощения процесса разработки и релизов
- Code and Code Reviews: What’s in a Name? – проблемы с именованием в коде говорят о том, что вы не до конца понимаете его смысл
- Apache Lucene and Solr 4.2 – вышел Apache Lucene и Solr 4.2
- AWS: Теперь образы AMI можно копировать между регионами – теперь образы AMI можно копировать между регионами!
- Refactoring, Redesign, Time, and Transparency – бытовой пример отличий между рефакторингом и редизайном
- First Step on Legacy Code: Classifying – хорошая классификация легаси кода
- ExtJS4: практические впечатления – схватка на тему ExtJS
- Bulk fetching with Hibernate – за что я еще не люблю Hibernate, так это за желание его фанатов использовать даже там, где он работает ужасающе…
- On Testing “Trivial Code” – я тоже придерживаюсь мнения, что модульные тесты на геттеры/сеттеры не нужны в пользу функциональных тестов
- Test Better – разработчики должны лучше тестировать свою работу
- Outside In TDD versus DDD – TDD и DDD не противоречат друг другу, хотя что такое DDD мало кто представляет
- JUnit Tests as Inner Classes – слабо представляю себе модульные тесты как внутренние классы, хотя преимущества все же есть
- Testing Departments are for Losers – все правильно – разработчики должны отвечать за качество кода и заботиться о нем, а в комментах напали тестеры
- The Start-Up Trap – не использовать TDD – это глупо
- TeamCity 8.0 EAP (build 26984) – TeamCity 8.0 на подходе
Тестировщикам о тестировании
- Simple Cloud-based Load Testing – новый бесплатный облачный сервис для нагрузочного тестирования loader.io
- It ain’t just reds and greens: Automated Acceptance Testing and quaternary test outcomes – в действительности у автотестов есть 4 состояния: не готов, проходит, непредвиденная ошибка, не сработала проверка
- Testing Antipattern: Release Testing – тестирование надо интегрировать в разработку, а не иметь отдельной фазой
- How to Accept Self-Signed SSL Certificates in Selenium 2 – как работать с SSL в WebDriver
Процессы, подходы и менеджмент для менеджеров
- How Shipping Software Teaches You to Make Tough Choices – учиться принимать решения можно только видя последствия своих решений и неся за них ответственность
- Elaborating on “it depends” – Value для заказчика важнее правил, догм и практик
Общие темы
- Working Remotely: The Best Thing I’ve Ever Done – удаленная работа замечательно подходит, если команда собрана из ответственных замотивированных профессионалов
- Удалённая работа – отстой. Да здравствует удалённая работа! – еще о сложностях и приятностях удаленной работы
- У Вас много денег? Тогда мы идем к Вам! – славься украинский аутсорсинг! веселый и беззаботный, все дороже и дороже…
- У вас много денег? Мы все равно к вам не пойдем! – продолжение веселой темы про зарплаты и качество умений разработчиков на отечественном IT рынке
- 7 Reasons Why You Should Tackle Hard Problems Last – интересные причины откладывать сложные задачи на потом, но на себе заметил, что работают
А вот список интересного видео для просмотра:
- Functional Reactive Programming & ClojureScript – лучший доклад про UI и JavaScript, я не видел еще чтобы кто-то так жег!
- Материалы конференции XP Days Ukraine 2012 – большая часть видео докладов уже доступна
- Session Based Exploratory Test Management for Agile Teams – очень полезный доклад про исследовательское тестирование в Agile командах
- An Overview of Guava: Google Core Libraries for Java – очень крутой доклад по Guava
Читайте и набирайтесь новых знаний!
Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!
Рубрика «Полезное чтиво». Выпуск 54
6 Февраль

И снова выпуск «полезного чтива». Накопилось достаточно много интересного:
На заметку разработчикам
- Top JavaScript MVC Frameworks – голосование за самый популярный JavaScript MVC фреймворк открыто
- ScrumMaster Tales: The Team collaborate on Acceptance Criteria – как надо вырабатывать приемочные тесты командой и работать по ATDD
- Не обманывайте своих заказчиков – моя первая «проба пера» на хабре про автоматизацию регрессии и обман заказчиков
- Об идеальном коде и суровой реальности – отличная статья про качественный код
- Software Development: Specialize or Generalize? – строгая специализация членов команды – однозначно зло, но и «… и на дуде игрец» обычно плохо, нужен баланс
- Why Do We Put Bugs in Our Code? – забавно, но дефекты не попадают в код сами, их вносят сами разработчики
- О чем не хочется вспоминать программисту – замечательная статья о разных местах работы программиста и их особенностях
- Каково быть ИП? Выводы после года работы – советы начинающим фрилансерам
- Apache Solr Reference Guide – вышла версия 4.1 Lucene и Solr
- 11 важных вещей, которые нужно знать про DevOps — часть первая – перевод полезной и интересной статьи про DevOps
- Откуда растут ноги у hashCode – детальный разбор происхождения значений метода hashCode у класса Object
- @Cacheable overhead in Spring – расстроили меня производительностью @Cacheable в Spring, хорошо что в критичных моментах мы кешируем руками
- How Many Queues Are Best For Max Performance? RabbitMQ – отличные советы как сделать ваши очереди сообщений быстрыми
NEXT STOP: SPRING FRAMEWORK 4.0 – Spring Framework 4.0 уже в разработке!
Тестировщикам о тестировании
- Dr. Testlove or: How I Learned to Stop Worrying and Love Automated Testing* – тестирование настойчиво переходит в облако, причем по достаточно смешным ценам
- To resolve this problem, it is best to upgrade to newer version of Internet Explorer – пора уже забыть про IE 6
- Functional Test Coverage – taking BDD reporting to the next level – Thucydides очень хорош для привязки требований к тестам
- Selenium WebDriver: прокрутка страницы (scrolling) – как проскроллить страницу с WebDriver и зачем это может вам понадобиться
Процессы, подходы и менеджмент для менеджеров
- Priming Prime Directive – новая книжка по ретроспективам, надо добавить в список на прочтение
- You May Be a Scrum-But – почти полный список признаков СкрамНа на вашем проекте
- Сеть оценок для планирования в Scrum – табличка канонических историй для оценок в Agile отлично работает
- Can’t Change; Won’t Change – Agile заключается не в стоянии на ежедневном митинге и не в доске задач на стене: принципы -> практики -> процесс
- Фруктовый Покер – хорошая альтернатива техникам оценки задач – относительные оценки можно давать даже во фруктах
Общие темы
- Пускаем пыль в глаза или как получить больше заказов на разработку – полезные советы по правилам успешного делового общения в IT сфере
А вот список интересного видео для просмотра:
- 7 Ways to Make Good Teams Great – полезные советы от Atlassian как делать из неплохих команд отличные
- Scaling Tumblr – учимся масштабировать платформу у Tumblr, простая доменная модель, но все равно интересно
- Petabyte Scale Data at Facebook – блин, все таки Facebook команда разработки рулит! вот где умеют работать с данными…
- Agile Architecture & Design – отличный доклад про Agile архитектуру и дизайн
- The “Waste”berg: Traditional Project Resourcing Methods – неплохое выступление на тему потерь времени в традиционных управленческих IT моделях
- Keynote: Real Software Engineering – неплохое философское выступление на тему software engineering и можно ли это так называть
Читайте и набирайтесь новых знаний!
Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!
Рубрика «Полезное чтиво». Выпуск 53
30 Январь

Давненько я не издавал выпусков «полезного чтива». Накопилось достаточно много интересного:
На заметку разработчикам
- Design Doesn’t Emerge from Code – продумывать дизайн и архитектуру заранее в Agile можно и нужно, но главное не увлекаться
- On the Dark Side of «Craftsmanship» – между прочим, изначальная статья про «Craftsmanship» очень достойная, советую прочитать!
- More on «Craftsmanship» – во как прошлись по теме «Craftsmanship», хабр отдыхает просто…
- Пять причин, по которым разработчики сопротивляются переменам – правильный список причин, по которым мы не любим изменения
- Specification By Example – BDD для прагматиков – отличная статья по мотивам книги «Specification By Example», оказывается я своим докладом подтолкнул на прочтение
- How to Completely Fail at BDD – вот это называется «адская разработка», без шансов внедрить BDD
- INDEPENDENT REFACTORING IS IRRESPONSIBLE – делать рефакторинг отдельной подкомандой параллельно с основной разработкой – большая ошибка!
- Spring Data JDBC Generic DAO Implementation: Most Lightweight ORM Ever – реализация Spring Data Generic DAO на JDBC как замена ORM – полезно, но будет ли толк?
- Dependency Injection: анти-паттерны – ох и дискуссия разрослась вокруг анти-паттернов Dependency Injection
- Раскрываем магию MySQL или о строгости и мягкости MySQL – у MySQL нет плохого поведения, просто вы мало о нем знаете!
- Никогда не отвлекай программиста! – прерывания в работе вредны, но не все так печально
- Backbonejs vs Angularjs : Demystifying the myths – после прочтения этой статьи я больше на стороне AngularJS чем BackboneJS
- Landscape of Sustainable Engineering Practices – хорошая пирамидка инженерных практик, только Code Review потеряли и на тренинге мы его раньше даем с Pair Programming
- Using Redis with Spring – работать с Redis из Spring Data одно удовольствие
- Infrastructure Automation and the Cloud – в облаке гораздо больше возможностей по обновлению сервиса с минимальным временем простоя
- The Sprinting Centipede Strategy: How to Improve Software Without Breaking It – рефакторинг – последовательность МАЛЕНЬКИХ шагов, которые улучшают структуру кода без изменения внешнего поведения!!!
- Как расставлять приоритеты при совмещении роли ScrumMaster в команде – чтобы совмещать роли ScrumMaster и разработчик (или Tech/Team Lead) надо быть реально опытным и осознавать сложности
- Dev vs QA: Should There Be a Difference? – QA должен жить у разработчика в голове, а не на чужой должностной табличке…
- Gradle – A Maven Perspective – отличная статья о перспективах Gradle при живом Maven
- Масштабирование Agile в Spotify – перевод статьи Хенрика Книберга
- ActiveMQ: KahaDB Journal Files – More Than Just Message Content Bits – вот почему мы не используем KahaDB хранилище в ActiveMQ
- 5 People You Meet on Failing Projects – типы нехороших людей, которых вы можете встретить на нехорошем проекте
- Sonar 3.4 in Screenshots – новые фичи в Sonar 3.4.
- Too Lazy To Refactor? – если все так не любят legacy code, то почему ленятся делать рефакторинг?
Тестировщикам о тестировании
- Wait commands in WebDriver – отличный обзор возможностей по ожиданиям в WebDriver
- Imperative Vs. Declarative style of writing Twist scenarios – об отличиях в стилях написания приемочных тестов
- Вышел релиз 2.29 – новая версия Seelnium
- Параллельное выполнение Thucydides тестов с помощью Jenkins – Подробная инструкция как запускать параллельно тесты Thucydides на Jenkins в несколько билдов с единым отчетом
- So You Want to Run Tests in Parallel… Now What?? – вот почему я рекомендую всем для функциональных тестов использовать TestNG, а не JUnit – разбиение по группам рулит!
- Тестирование в Mail.Ru Group – тестирование может быть интересным, если убрать из него ручную работу
Процессы, подходы и менеджмент для менеджеров
- 7 Agile Myths – маленький докладик про очевидные Agile мифы
- Visualizing the Big Picture of your Agile Project – способов визуализации состояния проекта в Agile подходах выдумали очень много
- How to run a Big Retrospective – это конечно очень полезно проводить ретроспективы, но 65 человек на целый день… 2 человеко-месяца времени…
- An Evolutionary Approach to Implementing XP – вполне логичная эволюция: Scrum -> Scrum + XP -> Kanban + XP -> Custom Process…
- Resources Don’t Write Software. People Do – люди – не ресурсы! слишком много отличий!
Общие темы
- Your conference presentation – шикарная инструкция для докладчиков
- Why I Won’t Take Your Call – да, я за собой тоже заметил, что меньше люблю звонки и разговоры по Skype, зато быстро пишу и планирую приоритеты
А вот список интересного видео для просмотра:
- Akka Eye for the Spring Guy or Gal – отличный пример разработки простенького приложения на Scala и Akka
- Building High Performing Agile Teams – неплохое видео про Agile команды, но с не очень хорошим качеством звука
- 100% Big Data, 0% Hadoop, 0% Java – пример выбора технологий и реализация сервиса для работы с большими данными
- NoSQL: Past, Present, Future – доклад про то, что NoSQL всегда был рядом с нами
- Chasing Code Quality in a Distributed Team – на слегка ломаном английском, но неплохой доклад про обеспечение качества кода для распределенных команд
- Messaging for Modern Applications – без сообщений в современных приложениях никуда…
- Screencast: Testing and Refactoring Legacy Code – пример покрытия тестами и рефакторинга legacy кода
Читайте и набирайтесь новых знаний!
Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!
Рубрика «Полезное чтиво». Выпуск 52
29 Декабрь

Наступают праздники и читать будет некогда. Но все же я решил опубликовать «праздничный» 52-ой выпуск полезного чтива::
На заметку разработчикам
- Akka 2.1.0 Released – очередная версия Akka уже на прилавках
- EBS RAID для ускорения работы и экономического эффекта – мы сейчас крутимся на EBS RAID, но уже начинаем экспериментировать с IOPS
- Software Architect Mistakes – настоящему архитектору нужно и важно работать с требованиями!
- Java собеседование. Коллекции vs null – продолжение подсказок для Java собеседования
- Testacular – Spectacular Test Runner for JavaScript – если вы пишете на JavaScript, то просто обязаны использовать Testacular или ему подобный тул
- Making your apps truly HA on AWS – lessons from the recent outage – для высокой доступности приложения в AWS надо использовать разные зоны и региона, но это далеко не бесплатно…
- The Tracer Bullet Approach: An example – walking skeleton рулит!
- Side load may massively impact your MySQL Performance – да уж, контроля над правилами заполнения буферов в памяти MySql почти нет…
- Sonar 3.4 – новая версия лучшего инструмента для статического анализа кода
- Новый тип EC2 инстанса — High-Storage Eight Extra Large – новый тип EC2 инстанса — High-Storage Eight Extra Large
- Spring MVC Test Framework – перешли на Spring 3.2 и попробовал Spring MVC Test – это гениально!!!
- Переход на Percona XtraDB Cluster. Часть II. Накладные расходы на репликацию – продолжение отчета о переходе на Percona XtraDB Cluster
- Code Reviews: Understanding and Breaking the Stigma – Code Review должен работать на благо, а не на вред
- Вебсокеты: боевое применение – не по делу затроллили статью про реализацию уведомлений на вебсокетах с Redis и Node.JS
- AWS: Копии образов EBS – ура! теперь можно копировать снапшоты с EBS в другой регион AWS!
- Не надо копипастить чужой код, набирайте его сами – интересный метод обучения через набор чужого кода
- Long-Running Branches Considered Harmful – долго живущие фича-ветки противоречат практике постоянной интеграции и уничтожают ее преимущества
- Inspections are not Optional – инспекции кода, архитектуры, тестов, требований и прочих артефактов сильно снижают риск ошибки
- Getting Started with Continuous Deployment – стратегии реализации Continuous Deployment на проекте с нуля
- Jenkins + JsHint(JsLint) или смотрим метрики javaScript на Jenkins-е – как собирать метрики анализа JavaScript кода с помощью Jenkins
- Код CSS «с душком» – полезные советы по предотвращению говно-CSS
- How to integrate FitNesse tests into Jenkins – как интегрировать FitNesse с Jenkins
- Julien Nioche on Apache Nutch 2 Features and Product Roadmap – мы когда-то давно отказались от Apache Nutch, а он до сих пор живет и порождает новые библиотеки
- IntelliJ IDEA Productivity Tips. Part 1 – базовый набор горячих клавиш, которые обязан знать всякий работающий в IntelliJ IDEA, а лучше поставить KeyPromoter!
- Continuous Delivery with a Difference: They’re Using Windows! – что-то очень слабенько ребята настроили Continuous Delivery: ручные шаги, нет интеграции с CI, репозитория артефактов
- 50 Tricks for Faster Web Applications – великолепный набор советов и рекомендаций для ускорения ваших веб-страниц!!!
- Parallelization of a Simple Use Case Explained – мы написали похожую систему для миграции данных, она чуть сложнее, но утилизирует 100% ресурсов легко и непринужденно
- Грязный, чистый, устремлённый – говнокодить или не говнокодить?
- TDD vs BDD – еще раз расставляем все по местам
Тестировщикам о тестировании
- Пирамида автоматизации тестирования в agile – пирамида, которую должен знать каждый тестировщик
- PhantomJS 1.8 “Blue Winter Rose” – PhantomJS все развивается, кто еще не смотрел, обязательно взгляните
- Хо-хо-хо хомяк. Предновогодние ссылки для тестировщиков и автоматизаторов – предновогодние ссылки для тестировщиков и автоматизаторов
- Подробнее о Sikuli в автоматизации тестирования – снова о Sikuli
- Finally, GhostDriver 1.0.0 – GhostDriver 1.0.0 приходит на смену HtmlDriver
- Thucydides Release 0.9.88 – очередная версия отличного фреймворка для тестирования
- ALL SELENIUM/WEBDRIVER BLOGS – список блогов о Selenium
- Хомяк в тесте. О тестировании, качестве, BDD и продуктах – еще одна порция полезных материалов для тестировщиков
Процессы, подходы и менеджмент для менеджеров
- И еще немного мыслей на тему методологий управления проектами – очередная «дискуссия» на тему Agile подходов
- Things to consider when building a new team – в классной команде должен быть микс разных участников, а не только звезды
- Level Up в проект менеджменте – полезные советы менеджерам на пальцах
Общие темы
- A Developer’s Guide to Starting a New Job – отличная инструкция для начинающих работать на новом месте
А вот список интересного видео для просмотра:
- Small is Beautiful – маленькие команды почти всегда гораздо эффективнее больших и нескрытая реклама Erlang
- Keynote: The New Application Architectures – очень неплохое выступление на тему архитектуры современных приложений и роли в ней SpringSource
- Читабельные отчеты для автоматизации на C# и Selenium Webdriver (Gallio Automation Platform + BDDfy) – запись выступления с Auto ConfeT&QA 2012 об отчетности в C# с WebDriver
- Agile Product Ownership in a nutshell – гениальная презентация от Хенрика Книберга – Agile Product Development за 15 минут. смотреть всем обязательно!!!
- Материалы конференции XP Days Ukraine 2012 – уже доступны записи нескольких докладов с конференции
Читайте и набирайтесь новых знаний!
Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!
Рубрика «Полезное чтиво». Выпуск 51
18 Декабрь

После юбилейного 50-ого выпуска рубрики все не находилось времени подготовить очередной. За 6 недель скопилось достаточно много «читательского долга», который я буду возвращать порциями. Итак, вот очередная порция полезного чтива:
На заметку разработчикам
- What Refactoring is, and what it isn’t – According to Kent Beck and Martin Fowler – отличная статья о том, что является рефакторингом, а что нет
- Software Professionals do Inspections – статическое тестирование и инспекции кода, дизайна, архитектуры способны много проблем выявить на раннем этапе
- W3C объявили о завершении работы над спецификациями HTML 5 и Сanvas 2D, а также о начале работы над HTML 5.1 – дело HTML 5 сдвинулось с мертвой точки!
- Простое написание тестов — это не TDD! – как же много людей не понимает преимуществ TDD, судя по комментариям
- Why DevOps Matters (To Developers) – DevOps – это круто, прививает ответственность разработчикам за их работу
- SPRING FRAMEWORK 3.2 GOES GA – вышел Spring 3.2
- The 4 Most Important Skills for a Software Developer – гениально! решать проблемы, обучаться, именовать вещи и работать с людьми – вот 4 самых важных качества разработчика!
- TeamHackCity: What a bunch of TeamCity Developers got up to in 2 weeks – неплохие фичи в TeamCity нахакатонили
- Five Ways to Torture Candidates in a Technical Interview – еще одно крутое упражнение для тренировки разбиения на подзадачи и написания маленьких завершенных кусков кода
- Java собеседование. Коллекции – вот кто-то удружил тем, кто ищет работу Java разработчиком, может хоть теперь изучат коллекции чуть глубже
- О выборе языка программирования – гениальный наброс про языки программирования и новый виток развития!!!
- Simply Writing Tests Is Not Test Driven Development – не ленятся же люди одно и то же писать про TDD по 100 раз, анализатора дубликатов на них нет
- Difference between TDD, BDD & ATDD – еще раз о TDD, BDD и ATDD…
- Git Rebase: руководство по использованию – Git Rebase во всех подробностях и деталях
- Amazon SQS vs RabbitMQ – неплохой базовый анализ на тему что лучше: Amazon SQS или RabbitMQ – однозначного ответа нет, надо считать $$$
- Not All Optimization Is Premature – предварительная оптимизация – зло, но грань между правильным дизайном и оптимизацией очень тонка и ее надо чувствовать
- Серебряная пуля системного администрирования – интересное применение CI сервера для задач сисадмина, взял на заметку
- AWS Insight: Как работает ELB – простая инструкция по использованию AWS Elastic Load Balancer
- Что такое In-Memory Data Grid – сейчас память ну очень дешевая и просто глупо этим не пользоваться, внедряя Data Grid решения в памяти
- CD Pipeline Implementation: Tracer Bullet (Trail Marker) – Continuous Delivery лучше всего начинать с первой фичи. Тогда и проще и быстрее
- Should You Trust the Default Settings in JVM? – интересные факты о поведении JVM по умолчанию
- End of Public Updates for Java SE 6 – Java 6 доживает последние месяцы
- О скраме, фокус-факторе и плюшках – плюшки для разработчиков стоят дешево и отбиваются очень быстро! уровень зарплат такой…
- Measure the right coverage – уровень покрытия не говорит ничего о качестве конечного продукта, только о дизайне и качестве кода
- Client-Side Markup with JQuery Cloning and Templates – шаблонизаторы – очень правильное решение для построения UI. Умрите JSF, JSP, GWT!
- Continuous Delivery vs Continuous Deployment vs Continuous Integration – Wait huh? – коротко и ясно о разнице между Continuous Delivery, Continuous Deployment и Continuous Integration
- Pair Programming Takes Double Effort – парное программирование выматывает, но очень сильно помогает сформировать команду
Тестировщикам о тестировании
- Кто такой хороший тестировщик? – перевод интересной статьи про тестировщика-профессионала
- Хомямиум – это как Selenium, но хомямиум – дайджест интересных статей для тестировщиков-автоматизаторов
- Средства сокращения ошибок – отличный список факторов, влияющих на количество ошибок в ПО
- SikuliFirefoxDriver – попробовал использовать SikuliWebDriver и я в восторге, теперь самый сложный UI можно протестить
- How to be a bug reporting superstar – для тех кто учится заводить баги
- PERFORMANCE DATA COLLECTION USING BROWSERMOB PROXY AND SELENIUM – пошаговая инструкция по сбору данных о веб-приложении с BrowserMob Proxy и WebDriver
- Вышел релиз 2.27 – очередной релиз Selenium
- Not Providing an HTML Page? Think of the Kittens! – помогайте развивать open source инструменты адекватно или лучше вообще не мешайте
Процессы, подходы и менеджмент для менеджеров
- 6 Способов убить Agile – не убивайте ваш Agile!
- The Scrum Primer – еще одна книжка-малышка по Scrum на шару
- Should we stop using Story Points and Velocity? – для тех, кто еще не слыхал, что стори поинты и велосити могут быть использованы не по назначению
- Real Life Scrum – еще одна бесплатная книжка по Scrum
- Scaling Agile @ Spotify with Tribes, Squads, Chapters & Guilds – отличная статья о масштабировании Agile подходов на практике
- Measuring Software – очень трудно доказать в IT пользу какой-то практики или подхода, потому что надо куча статистики по проектам
- Overheard During a Customer Conversation About Estimates – процесс оценивания важен и полезен, но должен быть простым и легковесным
Общие темы
- Украинский Senior-разработчик: взгляд со стороны мирового рынка – детальный анализ «сеньеристости» наших и зарубежных разработчиков
А вот список интересного видео для просмотра:
- Agile Teams, from Good to Great – совершенно бесплатно ссылка на Agile доклад с той же инфой, которую многие продают
- JavaScript Testing: Completing the BDD Circle in Web – тестируйте свой JavaScript, если вы конечно не «идеальный разработчик»
- Путь XP практика: как стать и оставаться профессионалом – первое видео с конференции XP Days Ukraine 2012
- Why Is A Math Proof Like A Unit Test? – математическое доказательство полезности модульных тестов
- Why We Need Architects (and Architecture) on Agile Projects – как же легко рассуждать об архитектуре в теории, столько советов и практик можно предложить
- Протоколирование в Selenium – запись доклада с конференции Auto ConfeT&QA 2012 о детальном логировании с Selenium
Читайте и набирайтесь новых знаний!
Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!
Рубрика «Полезное чтиво». Выпуск 50
2 Ноябрь

Вот и подошло время для юбилейного 50-ого выпуска рубрики. Тяжело поверить, что вышло уже столько выпусков. Искренне верю, что многие почерпнули из них много полезного и с удовольствием читают/просматривают/зачитывают до дыр каждый выпуск. Итак, перейдем к самому выпуску:
На заметку разработчикам
- SPRING FRAMEWORK 3.1.3 RELEASED – вышла очередная версия Spring
- Метрики кода, или Как определить внутреннее качество продукта – хоть одна толковая статья на DOU
- You Don’t Need to Mock Your SOAP Web Service to Test It – можно конечно тестировать веб-сервис напрямую, но зачем? получается сложно и долго…
- Top 20 Refactoring Features in IntelliJ IDEA – рефакторинг в IDEA очень хорош
- Автоматизируем сбор информации о падениях программы – чем больше информации об ошибке собирается автоматически, тем проще с ней разбираться
- Why Do Bad Things Happen to Good Code? – эрозия кода неизбежна, к ней нужно быть готовым
- CI Tools: Anti-Patterns – несколько помех Continuous Integration
- Разработка через страдание – очень правильный подход – разработка через страдание
- Spring AOP или AspectJ: в чем же все таки разница? – простое и понятное введение в AOP со Spring
- 10 Things I Never Want to See a Java Developer Do Again – не делайте глупостей!
Тестировщикам о тестировании
- Вышел релиз 2.26 – вышел очередной релиз Selenium/WebDriver с множеством полезностей
- Распространенные ошибки при составлении баг-репортов – типичные ошибки при составлении отчета о дефектах
- Как правильно составлять баг-репорты – как правильно писать отчеты об ошибках (если вы все таки решили их писать)
- Как правильно запускать браузер, часть 2 – инструкции с примерами по запуску и остановке браузеров с WebDriver
- Tester Bill of Rights – биль о правах тестировщиков
- 100500 конфигураций. – тестировать надо на окружении, которое максимально похоже на реальное
Процессы, подходы и менеджмент для менеджеров
- Agile Буллшит Бинго: качаем все, кто на #secr2012 – отличное развлекалово на конференциях
- ATDD: What’s in it for me? – отличная статья об основах ATDD
- Retrospectives, Part 1: In Your Own Sweet Way – практические советы по проведению ретроспектив
- Behaviour Driven Development – отличная статья о BDD
- Continuous Delivery with Continuous Design: Completing the Cycle – Continuous Design отлично дополняет Continuous Delivery
- How To Not Destroy your Agile Team with Metrics – с метриками в Agile нужно быть очень осторожным/li>
А вот список интересного видео для просмотра:
- Messaging over the Web with WebSocket & JMS – отличное решения для обмена сообщениями с JMS и WebSocket – очень круто!
- Entirely Predictable Failures – очень классный доклад про то, что разработка – не такое простое дело
- Entirely Predictable Failures – блин, слушаешь про провальные проекты и поражаешься, какая же IT ужасающая индустрия…
- Software’s Hidden Clockwork: A General Theory of Software Defects – теоретический доклад на тему количества дефектов в коде, прямо научные формулы
Читайте и набирайтесь новых знаний!
Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!
Рубрика «Полезное чтиво». Выпуск 49
24 Октябрь

Медленно, но верно мы подбираемся к юбилейному выпуску рубрики «полезное чтиво». Трудно представить, что позади уже почти 50 выпусков, которые пополняли багаж знаний наших постояннх читателей. Итак, что интересного подобралось на этой неделе:
На заметку разработчикам
- Четыре паттерна вызова функций в JavaScript – в JavaScript очень важно понимать принципы вызова функций и значение this
- Автоконфигурация в облаке Amazon при помощи Chef-Solo – Chef полезен и прост
- Heroku vs. AWS Revisited – Heroku мутит с оплатами, а AWS часто падает – нет совести у облачных провайдеров
- Loud Failures are Better than Silent, Faulty Behavior – serialVersionUID – одна из самых долбанутых вещей в Java, к сожалению, почти неискоренимая
- Don’t Be Just a «Bubbles and Arrows» Architect – архитектор архитектору рознь, классный архитектор знает как и может реализовать каждую часть архитектуры
- Combining Continuous Delivery Practices with Maven and Jenkins – процесс Continuous Delivery с Maven и Jenkins
- How to Analyze Java Thread Dumps – детальное описание анализа Thread Dumps в Java
- BigMemory Go is the easiest way to get real-time access to your data — with 32 GB free. – очень крутая новость – Terracotta сделали бесплатную версию своей BigMemory до 32GB
- Backbone.js Is Not An MVC Framework – флейм на тему Backbone.js и MVC
- Hermetic Servers – интересная концепция Hermetic Servers для тестирования
- Как устроена apache cassandra – детальное описание принципов работы Cassandra на русском
- Percona XtraDB Cluster. Установка и тестирование – все руки не доходят глянуть поближе на Percona XtraDB Cluster
- Three Things Java Developers Should Know – что должен знать современный Java разработчик
- FitNesse + TeamCity — добавь проекту тонуса – как прикрутить FitNesse к TeamCity
- Ускоряем сервис с клиентской стороны в несколько раз. Ajax + предзагрузка в фоне + при наведении курсора – AJAX и предзагрузка способны ускорить визуально ваш сайт в разы
- Where Do the Stack Traces Come From? – откуда берется stack trace
- Isolating database data in integration tests – несколько способов изолировать тесты на базу данных, но я предпочитаю Unitils с DBUnit
- NoSQLUnit 0.5.0 released! – NoSQLUnit продолжает развиваться
- SPRING DATA RELEASE TRAIN ARRIVES – большой релиз Spring Data
- Почему нельзя превращать прототип в итоговую программу – прототип не превратится по мановению палочки в классный production ready код
Тестировщикам о тестировании
- Верите ли вы в карму тестировщика? – карма тестировщика – правда или выдумка?
- On Acceptance Criteria – хорошие и простые примеры приемочных критериев
Процессы, подходы и менеджмент для менеджеров
- Scrum doesn’t work for us; should we try Kanban? – если для вас «не заработал» Scrum, то только в редком случае заработает Kanban
- Agile, planning and fixed dates in no time – один из мифов про Agile – там нет планов и оценок, поэтому невозможно работать с фиксированным бюджетом. чушь!
- Pair Programming Is A Good Software Development Practice – без инженерных практик Scrum не приведет к успеху, поэтому обязательно смотрите на XP, а парное программирование рулит!
- An anatomy of a successful retrospective – без ретроспектив любой Agile подход не может развиваться и улучшаться
Общие темы
- Отчёт с презентации Apple 23 октября – отличный отчет о презентации Apple. iPad Mini, обновление iPad и MacBook Pro…
А вот список интересного видео для просмотра:
- «Автоматизация тестирования пользовательского интерфейса веб-приложений» – опубликовали видео моего доклада с UA Testing Days
- «Эволюция Agile процессов» – опубликовали видео моего доклада с AgileEE
- Slides & Videos from LDNSE #6 – отличный набор видео на тему Selenium/WebDriver
- Slides, videos & resources from LDNSE #5 – отличный набор видео на тему Selenium/WebDriver
- Continuous Delivery Using Jenkins – Continuous Delivery с Jenkins
- Measuring Agile Scrum Development with Velocity – объяснение на пальцах что такое Velocity для тех, кто еще не понял
- Sensible Testing – классная презентация про правильные тесты
- Cool Code – один из моих любимых докладчиков – Kevlin Henney
Читайте и набирайтесь новых знаний!
Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!
Рубрика «Полезное чтиво». Выпуск 48
15 Октябрь

На прошлой неделе я так и не нашел времени на публикацию, поэтому на этой неделе выпуск будет толще и интереснее:
На заметку разработчикам
- Cache is King – кеш – основной способ сделать сайты быстрее и легче
- Lines of Code is a Bad Metric, Either Way – количество строк кода мало связано с их качеством
- История изменения размера главной страницы Google – а когда-то я приводил в пример страничку Google за ее минимализм…
- Apache Lucene‚ 4.0 available – наконец-то выпустили Lucene 4.0, много улучшений и ускорений
- Checkstyle и Java. Поможет ли автоматическая инспекция кодa? – прикольно, народ расширил Checkstyle своими собственными проверками
- What Enterprise Architects and Time Travelers have in Common – рекламная, но очень правильная статья о применении новых подходов и технологий в IT
- Bug Fixing: To Estimate, or Not to Estimate: That is The Question – оценивать время на исправление багов или нет? лучше их не делать или сразу исправлять
- 5 Common Automized Software Quality Metrics (with Pros & Cons) – 5 известных метрик кода
- Making It Right: Technical Debt vs. Slop – давайте называть все своими именами: хреновый код – это не технический долг, а дерьмо! зачем эти самообманы?
- Two of My Favorite Javascript Design Patterns – по-моему модули и классы потихоньку становятся стандартом в JavaScript
- A Footnote on Accessing Request Parameters using Spring 3 MVC – не стоит слишком доверять умолчаниям и хитрым правилам, только если есть тесты
- Making the Right Decisions When Optimizing Code – при оптимизации не стоит забывать о GC
- Speeding Up Java Test Code – отличная статья со способами ускорить модульные тесты
- Things Great Engineers (almost) Never Say – настоящий разработчик никогда не ноет и не считает себя круче всех, открыт к новым знаниям и умеет говорить
- The “Performance Series” Part 1. Test Driven Performance – может это и не TDD в чистом виде, но тесты на скорость работы лучше писать до реализации
- Continuous Delivery & Sitecore: наша реализация – Continuous Delivery в Sitecore
- Consider assertThat() in place of assertEquals() – все хочу начать использовать FEST assert и «руки не доходят»
- How To Earn Trust When You Are Not Worth It – хотите лучше работать и развиваться? задавайте много вопросов!
- Continuous releasing of Maven artifacts – интеграция Continuous Delivery с Maven
- VisualVM: Monitoring Remote JVM Over SSH (JMX Or Not) – как мониторить удаленную JVM через SSH
- Оптимизация сложных запросов MySQL – пару полезных советов по оптимизации MySQL запросов
- Common Rules in Programming – простые правила для разработчика
- A Developer’s Guide to Getting Hired – отличные советы по поиску работы разработчику
- Arrange Your Code Automatically with IntelliJ IDEA 12 – теперь можно будет группировать элементы классов в IDEA
- Unit Tests Versus Code Quality – тесты не всегда означают высокое качество кода
- Apache ActiveMQ 5.7.0 Released! Adds Java 7 Compatibility – отличная новость – ActiveMQ 5.7.0!
- jQuery UI 1.9.0 – новый мажорный релиз jQuery UI
- The Pitfalls of Cut-and-Paste Coding – все знают о вреде копи-пасты и продолжают ее готовить
- Preemptive commit comments – commit comment driven development
- OutOfMemoryError: Unable to Create New Native Thread – Problem Demystified – детальный обзор проблемы с памятью в Java при создании нового потока
- Несколько жизненных советов разработчику – жизненные советы разработчикам, самый важный из которых «не считайте себя крутым»
- Does Immutability Really Mean Thread Safety? – immutable и thread safety – разные понятия
- SugarJS — Синтаксический сахар для JavaScript – SugarJS – очередная либа для «улучшения» JavaScript
- Как два программиста хлеб пекли – классное чтиво на ночь о двух крайностях в дизайне кода, особенно комментарии
- Инспекция кода. Итоги – Code Review рулит!
- Оптимизация обработки сообщений RabbitMQ – как правильный prefetch помогает равномерно и быстро распределять сообщения в RabbitMQ
- Ты правда хочешь продолжать заниматься этим, когда тебе исполнится 50 лет? – а вы любите программировать или это лишь промежуточный шаг?
Тестировщикам о тестировании
- Why Testing Matters in Agile Projects – отличные размышления на тему Agile тестирования
- Почему тестировщики – самые счастливые? – тестировщиком быть круто, не надо стоить из себя звезду и важную птицу
Процессы, подходы и менеджмент для менеджеров
- How to study for your next exam with Kanban – Kanban можно использовать для чего угодно
- Can You Get By Without Estimating, and Should You Try? – от оценок можно отказаться, но далеко не всегда и не в каждой команде
- Stop Using Story Points – если использовать оценки и стори поинты не по назначению, то лучше вообще не использовать
- Management Myth About “No Time for Training” – мы слишком заняты пилением, нам некогда точить пилу…
- Shu Ha Ri: An Agile Adoption Pattern – есть еще кто-то, кто не слыхал про Shu-Ha-Ri?
- Size Matters – using “size” instead of “estimate” on Agile projects – Agile подходы научили нас не оценивать, а прикидывать размер
- What will KANBAN bring in to your offshore projects? – что вам может дать Kanban
Общие темы
- Доклад на конференции – какую проблему решает? -зачем готовить доклад на конференцию
- The Degradation of Java Developers – не тот уже пошел Java разработчик… скоро никто без копипасты ничего не сможет написать…
- 5 Tips for Getting Testing Done in the Scrum Sprint in Methods & Tools – неплохой IT-шный журнал
А вот список интересного видео для просмотра:
- Security Vulnerabilities for Grown-ups – интересные дыры в безопасности на опыте Atlassian
- Event Processing at Massive Scale – приемы масштабной обработки сообщений: sharding, динамические очереди и ring buffer, но не тысячи потоков
- The Lazy Learner – неплохой доклад об обучении и изучении
- Session: Beyond Method – Using Systems Thinking to Deepen Your Mastery of Agile – отличный доклад о применении системного мышления для более глубокого понимания Agile подходов
- «Thucydides — приемочные тесты нового поколения на базе WebDriver» – опубликовали видео моего доклада с YaC 2012
Читайте и набирайтесь новых знаний!
Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!
Рубрика «Полезное чтиво». Выпуск 47
5 Октябрь

Я решил на этой неделе все таки опубликовать выпуск полезного чтива:
На заметку разработчикам
- Amazon Gives Away More Free Usage (RDS), A Wake-Up Call For Oracle? – Amazon теперь на шару дает и RDS
- Sonar’s Quality Alphabet – отличный алфавит на тему Sonar
- CSS принципы – не делайте хаков в верстке, пока нет жесткой необходимости!
- 10 Ways I Avoid Trouble in the Database – советы как избежать проблем в поддержке БД
- Облака и эластичность – эластичность в облаке не всегда достигается так просто
- The Wide Range of DevOps – все таки DevOps – очень правильное направление
- New ActiveMQ failover and Clustering Goodies – у ActiveMQ есть поддержка кластера брокеров с балансировкой нагрузки и автоматическим failover
- Announcing innotop 1.9.0 – Innotop – отличный инструмент для мониторинга MySQL
- Let’s Write Better Software – давайте писать качественный код!
- NoSQL-like Approaches to PostgreSQL, a reply to Martin Fowler – странно сравнивать NoSQL решения с RDBMS + хранимые процедуры, масштабирование совсем не то…
- Caching With Guava – а в Guava своя поддержка кешей с красивыми билдерами
- Resolve Circular Dependency in Spring Autowiring – как разорвать циклические зависимости в Spring? лучше их не делать!
- Understanding ESB Performance & Benchmarking – вот что называется серьезным подходом к сравнению инструментов!
- Немного о многопоточном программировании. Часть 1. Синхронизация зло или все-таки нет – отличная статья о многопоточности
- Scrum + Continuous Delivery – вводная статья на тему Continuous Delivery
- Do Programmers Get Bored? – настоящему разработчику не должно быть скучно от его работы, надо держать запал!
- To Autowire or Not to Autowire, That is the Question – ох, не люблю я autowiring…
- What Does java.util.concurrent.Future Hold? – что таит в себе объект Future
- AWS: Ускоренные носители для RDS – Amazon ввел в игру SSD диски – дорого, но клево!
- Юнит тесты Vs функциональные тесты — взгляд руководителя и разработчика – интересная дискуссия человека, который не понял модульное тестирование, с теми кто понял
- Экстремальное программирование: Pair Programming – неплохая статья по парному программированию
- Apache Lucene‚ 4.0 available – скоро будет релиз Lucene 4.0
- ActiveMQ in the Cloud – FuseSoft делает много классных инструментов для ActiveMQ, теперь и для облачных платформ
Тестировщикам о тестировании
- The QA Conundrum – How Can We Move Faster? – неправильно поставленный процесс тестирования снимает ответственность за качество с разработчиков
- Conversation with a Test Engineer – в Google тестировщики тратят только 5% на ручное тестирование и то исследовательское
- Testing in the Cloud: Exploring the Practice – список облачных сервисов и компаний по тестированию
- Monitoring Your Customers with Selenium and Nagios – WebDriver – инструмент работы с браузером, а значит отлично подходит для мониторинга
- Что такое Selenium WebDriver? – отличная статья на тему что же такое WebDriver на самом деле
Процессы, подходы и менеджмент для менеджеров
- SoftwareStories: Мысли котенка и программиста – известная болячка разработчиков с оценками
- «10 канбан досок и их контекст» теперь и на русском – полезные примеры kanban досок
- Мне не нужно техзадание… мне нужно нечто большее – о ТЗ вспоминаю с ужасом – было время, когда мы делали систему документооборота для мэрии Москвы…
- Outsourcer Says: Do Not Outsource – аутсорсинг несет в себе кучу бед для компаний, его надо делать очень грамотно или не делать вовсе
- Прогибаться или нет. Часть 2 – продолжение статьи по работе над процессами с заказчиком
Общие темы
- Немного об «утечке мозгов» – у «нас» менеджер — это социальный статус, а у «них» — профессия…
А вот список интересного видео для просмотра:
- Preserve and Promote Collaboration with Agile Metrics – немного унылая презентация на тему Agile метрик
- Scaling Agile to Work with a Distributed Team – Майк Кон как всегда хорош: доклад про распределенные команды и масштабирование
- Code Smells and Refactoring Revisited – выступление на тему рефакторинга и душков в коде
- Материалы конференций IT Brunch – опубликованы практически все материалы прошедшей конференции «Поиск и найм IT профессионалов»
- Почему тестирование занимает так много времени – запись моего доклада с конференции Chief ConfeT&QA, который занял первое место по результатам голосования участников
Читайте и набирайтесь новых знаний!
Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!
Рубрика «Полезное чтиво». Выпуск 46
25 Сентябрь

На этой неделе выпуск получился большой, потому что на прошлой неделе я «прохалявил». Вот чем хочу поделиться с вами:
На заметку разработчикам
- Top 20 Features of Code Completion in IntelliJ IDEA – code completion работает просто великолепно в Intellij IDEA
- Technical Debt for PMs – cписок вопросов для определения размера технического долга
- Technical Debt: Making the Case – что делать с техническим долгом
- Иллюзия эффективной разработки: проектирование – интересная философская статья про совершенство кода, передовые технологии и практики
- Help, My Code Isn’t Testable! Do I Need to Fix the Design? – не смешивайте логику, представление и данные в одном месте!
- Resign Patterns – Eliminate Them With Agile practices and Quality Metrics – оригинальные шаблоны
- Практические советы для эффективного инспектирования кода – полезные советы по проведению ревью кода
- Throw Checked Exceptions Like Runtime Exceptions in Java – ох уж эти generics в Java…
- Comment Rate in Applications: The Higher the Better? – мое отношение к комментариям в коде простое – для важного API обязательно, а для остального кода запрет
- My first sharded MySQL application, 5 years later – пару месяцев назад мы тоже делили большущую базу на шарды, теперь живем в гармонии на кластере
- Fail Faster! It Helps! – Go очень меня заинтересовал – у него в Community Edition теперь бесплатно доступ ко всем фичам как в TeamCity
- Русскоязычное сообщество Software Craftsmanship – очень правильное сообщество в России открыли
- Facebook: “Betting on HTML5 Was a Mistake” – Technical Reasons and Reactions – что-то HTML5 очень медленно продвигается
- Reckless Debt versus Strategic Debt – технический долг бывает разный
- Простой, но показательный пример использования TDD – простенький пример применения TDD с акцентом на поведение
- О практических применениях свойства float – классная статья про свойство float в верстке HTML
- Сравнение методик обзора кода – немного о методиках ревью кода
- SQLifying NoSQL – Are ORM tools relevant to NoSQL? – как по мне, ORM просто бесполезен для NoSQL, мы же не monkey разработчики!
- One Does Not Simply Scale into Real-Time – современные MapReduce решения не работают в режиме realtime, но я не был бы так скептичен в отношении Storm
- Sonar in the news – свежие новости и статьи о Sonar
- Unit Testing your JavaScript Code with QUnit and JS Test Driver in Eclipse – инструкция по настройке модульных тестов для JavaScript в Eclipse
- 8 Common Code Violations in Java – индусы такие смешные примитивные ошибки в коде описывают
- You’re Using Maven 2 – Are You Sure? – ну теперь оставшиеся проекты тоже переведу на Maven 3, а то стыдно уже
- Spring 3.1 Caching and @Cacheable – ничего странного, что Cacheable появился в Spring только сейчас – раньше все использовали отдельный проект просто
- Factories: Good and Not So Good Reasons to Use One – когда стоит использовать фабрики в коде
- Benchmarking a JMS Layer With Open Source JMSTester Tool by FuseSource – полезные инструменты для анализа производительности JMS провайдеров
- Nobody Needs Reliable Messaging – без надежной доставки сообщений можно спокойно жить
- 10 Lessons for Uncultured Web Developers – 10 интересных уроков для веб-разработчика
- Naming Antipatterns – как не стоит именовать ваши классы: если не получается придумать имя, может класс и не нужен вовсе…
Тестировщикам о тестировании
- Что такое Selenium? – обзорная статья на понимание что есть что в Selenium
- Bug Tracker Hell – статья об использовании баг-трекеров с ужасающим форматированием
- Selenide: удобные тесты на Selenium WebDriver – люди написали 3 класса и называют это framework, причем, все это давно есть в Thucydides
- On Testing – тестирование должно начинаться с приемочных критериев, из которых рождаются тесты
- 3 негатива собеседования – о проблемах на собеседовании тестировщиков
Процессы, подходы и менеджмент для менеджеров
- Прогибаться или нет? – стоит ли навязывать процесс разработки заказчику
- What Agile Is — And What It Isn’t – 100500-ная статья на тему что такое Agile
- Why I’m done with Scrum – дискуссия по поводу актуальности Scrum: второй пункт убил, остальные имеют смысл
- Успешный проект менеджмент без купюр – исповедь микроменеджера, который считает свой подход крутым – смешно, право…
Общие темы
- iPhone 5: проблемы с экраном. Видео – жара в коментах к обзору багов экрана iPhone 5
- You’re a Top Developer! – полностью согласен, что 90% разработчиков ничего не читают и им плевать на развитие
На видео, к сожалению, не хватило времени.
Читайте и набирайтесь новых знаний!
Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!









