Про ScalaCheck
Про ScalaCheck
Часть 1. Введение.
ScalaCheck — это комбинáторная библиотека, значительно облегчающая написание модульных тестов на Scala. В ней используется подход property-based тестирования, впервые реализованный в библиотеке QuickCheck для языка Haskell. Существует множество реализаций QuickCheck: как для Java, C, а так же других языков и платформ. Использование данного подхода позволяет значительно сократить время на разработку тестов.
Эта серия статей во многом похожа на мою предыдущую, посвященную Parboiled, поэтому и структура повествования будет похожей. Я расскажу вам, для чего всё это нужно, затем мы научимся смотреть на мир сквозь призму свойств и генераторов, а потом перейдём к более сложным вещам. Заинтересовало? Прошу под кат.





Работа программиста — это борьба со сложностью. Один из популярных вопросов про облачную телефонию — «А зачем ее использовать, если можно самим взять Asterisk, вжух, и все сделать?». Любопытная деталь из практики: много тех, кто приходит к нам после Asterisk. То есть сперва они приходят к нам, смотрят, что платформа стоит денег, говорят «да сами все сделаем» и уходят. Через полгода возвращаются со словами «Мы поняли, что хотим заниматься своим бизнесом, а не Asterisk». Как программисты, мы очень любим бороться со сложностью: заменять Asterisk на тулбокс с JavaScript полуфабрикатами, использовать облачные сервисы для работы с кодом и задачами, делить все на небольшие части и экспериментировать с версиями. Как оказалось, не только мы это любим. В новогодние праздники я совершенно случайно прочитала о том, что у Толкиена тоже был свой Git. Под катом — адаптированный для Хабра перевод.
Данная статья является продолжением моей статьи "



Коллекция в Python — программный объект (переменная-контейнер), хранящая набор значений одного или различных типов, позволяющий обращаться к этим значениям, а также применять специальные функции и методы, зависящие от типа коллекции. 
Теперь мы знаем как создавать объекты, раскрашивать их и накладывать на них текстуры, но они все еще довольно скучны, поскольку являются статическими объектами. Мы можем попробовать заставить их двигаться изменяя координаты вершин для каждого кадра, но это довольно муторно и требует процессорных вычислений. Есть гораздо более удобный способ для совершения трансформаций над объектом — это применение матриц. Но это не значит, что мы сейчас будем разговаривать про кунг фу и искусственный цифровой мир.