Архив рубрики: Разработка

Команда, которую создал я

Решил поделиться с вами впечатлениями от книг, которые я периодически прочитываю (новый год — новые мысли). Читаю я в основном техническую литературу, книжки про стартапы, «success strory», иногда про управление и маркетинг, не забываю и художественную литературу. Стараюсь читать много, но без фанатизма. Каждой книге буду ставить оценку от 1 до 5 (как в школе, да!), кратко рассказывать свое мнение и приводить парочку цитат если будет что-то достойное. В основном читаю на ридере (Nook Simple Touch), хотя иногда покупаю и бумажные книги. Периодичность заметок про книги будет зависеть только от скорости прочтения мною оных.

Все описанное ниже (и в будущих заметках) — это мое субъективное мнение, оно может не совпадать с вашим =)

cover

Первая «книжная заметка» будет о книге «Команда, которую создал я» (тыц ссылка). Уже точно не помню кто мне ее посоветовал, может сам случайно наткнулся, но это и не важно. Моя оценка —  тройка. Кратко о сути. Молодой паренек переезжает из провинции в Москву и начинает «новую жизнь». Устраивается на работу в рекламное агентство и проходит путь от курьера до почти генерального директора.
И вот на этом самом пути он попадает в различные ситуации и корпоративные интрижки. Паренек оказывается не промах, знает свое место и свою цену. Плыть по течению — не его вариант. Служебные записки, любовницы, скандалы, интриги, расследования — все это присутствует.

Довольно интересно было читать о том, как наш герой, будучи уже начальником, выстраивал отношения со своими подчиненными, как увольнял («чтобы уволить человека — нужны стальные яйца») своих коллег и принимал на работу новых людей. После всех этих перетасовок в его распоряжении оказалась эффективно работающая команда, команда на которую он мог положиться и которую в конце концов увел из этого агентства, основав свой рекламный бизнес (не мечта ли ?!).   Взаимоотношения между людьми в коллективе, отношения между начальниками и подчиненными, отношение людей к своей работе — это основные темы, которые, как мне показалось, хотел донести автор. Особо понравилась одна история, описанная в книге. Суть ее такова. Уже точно не помню в какой стране, один человек со своими партнерами основал совместный бизнес. Через довольно короткий промежуток времени бизнес стал крупным и успешным, а за этот самый короткий промежуток времени команда этого проекта успела полностью поменяться 4 раза! Он всех выгнал к чертовой матери!  Из «стареньких» остался только он — тот самый основатель! Мораль: не хочешь работать — «давай, до свидания!» Это все к вопросу об увольнениях, сотрудниках и командах.

Книжка кончается «хеппи эндом». Главный герой собирается стать президентом России! Если бы не подробные и довольно скучные описания корпоративных интрижек и борьбы за власть — моя оценка была бы четыре с большим минусом, а так только тройка.

Купить книжку на books.ru

http://amylabs.ru/ — отличная команда для Вашего интернет-проекта!

 

Перевод Modern Perl Book

Цель проекта: сделать качественный перевод на русский язык отличной книги для начинающих и опытных программистов по современному подходу программирования на мощном языке Perl 5. Книга собрала в себе огромный опыт (более 17 лет Perl5!) сообщества программистов, о том как правильно и успешно программировать на Perl 5, как создавать поддерживаемый, масштабируемый, выразительный и эффективный код.

Подробнее http://allframeworks.ru/blog/perl/352.html

Мысли про null…

Послушал сегодня очередной «радиот» — довольно такой интересный выпуск получился. Громко кричали и шумели со словами «PHP — говно!», но к этому можно уже привыкнуть и пропускать мимо ушей. Если инструмент меня кормит —  пусть он будет хоть трижды говном. Был там еще очень любопытный момент. Всем известный Бобук рассказывал про такой тип данных как null в  Smalltalk. Хочу заметить, что в этом самом смалтолке реализован этот null довольно интересно. Передам как я это понял. Null в смалталке это такой объект, у которого можно вызвать любой метод и этот метод вернет….правильно null! Гениально! Сразу же отпадает необходимость проверки на возвращаемый тип и сразу же пропадают пхп-шные ошибки типа «null is not object…». Удобно же!

Мысли про проверки, зависимости, фреймворки, php и perl …

Продолжаю выкладывать свои мысли и соображения о php и perl (первая серия вот тут). Сегодня хотелось бы поговорить про проверку зависимостей («чекеры»так называемые). Написать эту заметку меня заставил чекер зависимостей Symfony2. Возьмем, к примеру, пхпшный Yii (или Symfony2) в дистрибутивах всех этих фреймворков есть специальная страничка/скриптик, который проверяет наличие всех необходимых расширений и системное окружение, в которое фреймворк установлен.  Почему таких страничек нет в перловых фреймворках Mojolicious, Catalyst и т.д. ?  На мой взгляд, все эти, так называемые, зависимости должны проверяться  и валидироваться при установке фреймворка/библиотеки. Беда в том, что в мире php установка, в большинстве случаев, сводится к простому копированию файлов на сервер (ну нету пока у php центрального хранилища модулей и библиотек). Как-то же необходимо узнать «правильно» ли мы все скопировали, все ли у нас теперь заработает ? Вот для этого такие странички «чекеры» и необходимы. При таком подходе к установке очень часто возникают ситуации, когда все кажется сделано: фреймворк залит, приложение залито, запускаем….ничего не работает, смотрим наш «чекер» и видим, что не хватает какого-то PDO расширения или драйвера для memcache. Отсутствующие библиотеки — это еще пол беды. Самое интересное когда работа фреймворка зависит от конфигурации php (всем известен php.ini c его сотнями параметров ? ). Т.е. имея установленный php, имея установленные все необходимые модули, наше приложение может не заработать из-за конфигурации языка программирования (!). Вот и чекер Symfony2 выдал мне варнинги (хорошо хоть не фатальные) с просьбой подкорректировать настроечки в php.ini. Наличие у языка программирования централизованного файла настроек, на мой взгляд, очень сомнительная штуковина, добавляющая лишние проблемы при распространении приложения (вот маленький пример, возникший при разработке Юпи! https://github.com/yupe/yupe/issues/203 ). А что же Perl ? А тут все просто: ставим пакеты из CPAN, при установке автоматом проверяются и ставятся все зависимости, если что-то пошло не так — установка просто закончится неудачей и нам не придется гадать «а заработает ли?». Конечно, и тут бывают проблемы, но значительно реже. У перла нет никакого конфигурационного файла, что решает еще одну проблему с установкой. Есть конечно опции компиляции, которые могут отличаться от сервера к серверу, но это настолько редко было в мой практике, что я не беру это в расчет. И снова забыл про тестирование. При установке Mojolicious (как пример) прогоняются все тесты, которые только есть в дистрибутиве фреймворка и зависимостях. Автоматическая проверка зависимостей,  их установка и прогон тестов практически всегда гарантируют работоспособность расширения на данной конкретной машине. Мысли кончились…

В заключении поделюсь ссылкой на статью Фабьена (разработчика Symfony) http://fabien.potencier.org/article/64/php-is-much-better-than-you-think