Началось всё с того, что я не умею говорить нет. Хроника восстановлена по переписке, и, надеюсь, это больше никогда не повторится, хотя кто-то этим живет. Главные действующие лица: Я (исполнитель), И. (представитель заказчика), Р. (разработчики iiko), Н. (начальство И.). Все общение растянулось на 64 письма, неизвестное количество телефонных звонков и 9 месяцев, начиная с апреля 2012 года.
Blog about searching flow,
my thoughts, events in my life,
books I read,
testing, version controls and development in general
2012-12-30
Dependency injection
Назрела необходимость управлять зависимостями Ъ путем. Выбор был между Spring и Guice. Если первый, очевидно, монструозный, то последний позиционировался как легковесный инструмент без лишних зависимостей. Началось все с видео в котором докладчики показали типичную эволюцию кода от прямого прямого создания зависимостей (в нашем случае все заканчивалось фабриками) к инъекции и своё решение.
2012-12-26
Программирование в допущениях
Самые серьезные падения систем происходят из-за нарушения допущений и неявных контрактов: что ответ от системы всегда будет приходить мгновенно, что ответ вообще когда нибудь придет, куча пространственно-временных допущений, календарных и именных. Сюда же можно отнести YIW, OMMIW, "я исправил одну строку, зачем тестировать", и другие связанные с тестированием.
2012-12-23
Снова о прозрении
Новые знания усваиваются постепенно и ответы на появившиеся вопросы ищутся в рабочем режиме. Но иногда появляется совершенно новая область, либо накапливается критическая масса знаний и количество готовится перейти в качество. Настоящий когнитивный кризис: вопросы растут лавинообразно, а ответы всё никак не находятся.
Интересы причины таких качественных скачков. Самыми яркими этапами у меня были понимание как работает сервлет-контейнер, отличия rich и anemic, тестирование, мавен. Сейчас меня распирает от DI. Сервлет-контейнер не был похож ни на десктопные приложения, которые я писал и понимал как отлаживать, ни на php скрипты. Maven потребовал серьезнейшего мозгового усилия и чтения двух книг, потому что он был абсолютно непохож на известный мне ant. Подходы к доменной модели были понятны, но не было практики, чтобы выяснить границы применимости.
Интересы причины таких качественных скачков. Самыми яркими этапами у меня были понимание как работает сервлет-контейнер, отличия rich и anemic, тестирование, мавен. Сейчас меня распирает от DI. Сервлет-контейнер не был похож ни на десктопные приложения, которые я писал и понимал как отлаживать, ни на php скрипты. Maven потребовал серьезнейшего мозгового усилия и чтения двух книг, потому что он был абсолютно непохож на известный мне ant. Подходы к доменной модели были понятны, но не было практики, чтобы выяснить границы применимости.
2012-12-18
Вселенная наследия
Чисто случайно выяснил, что у Шеффилда вышло продолжение тетралогии Вселенная наследия. Это была одна из любимейших книг в детстве и все сюжетные линии былы завершены с исчезновением артефактов Строителей.
Данная же книга, по всей видимости должна была открывать новый цикл и поэтому сюжет выглядит оборванным. К сожалению автор скончался до публикации.
Книга не самоценна и может быть интересна только фанатам цикла, хотя чтение стоит того, чтобы потратить один вечер.
Данная же книга, по всей видимости должна была открывать новый цикл и поэтому сюжет выглядит оборванным. К сожалению автор скончался до публикации.
Книга не самоценна и может быть интересна только фанатам цикла, хотя чтение стоит того, чтобы потратить один вечер.
2012-12-16
We the People
В связи с эпик фейлом решил выкурить сразу три конституции: американскую, российскую (семь лет живу, пора уже ознакомиться) и повторить казахстанскую. В общем много интересного, российская довольно похожа на казахстанскую, со скидкой на различия в унитарности/федеративности, хотя встречаются ньюансы. После прочтения всех трех, идея о праве голоса на основании не только дееспособности, но и уплате налогов, и экзамене по конституции из Облачной демократии не кажется мне такой уж дикой.
Что российская, что казахстанская конституции явно оговаривают запрет на разжигание межнациональной розни. У американцев в этом отношении своя атмосфера.
Интересными пунктами в казахстанской конституции являются ст. 8 про отказ от применения первой вооруженной силы. Ст 10. п. 2 о том, что гражданин ни при каких условиях не может быть лишен гражданства - сразу вспоминается двухлетний срок на постановку на консульский учет, иначе гражданство признается недействительным.
Статья 32 (аналог 31 российской) приведена с поправкой Пользование этим правом может ограничиваться законом в интересах государственной безопасности, общественного порядка, охраны здоровья, защиты прав и свобод других лиц. Что потенциально снижает потоки ненависти.
Статья 52 п.2 гласит Депутаты Парламента обязаны принимать участие в его работе. Голосование в Парламенте осуществляется депутатом только лично. Отсутствие депутата без уважительных причин на заседаниях палат и их органов более трех раз, как и передача права голоса, влечет за собой применение к депутату установленных законом мер взыскания. Сразу вспоминается видео с бегающими тетками по пустым рядам Думы.
Что российская, что казахстанская конституции явно оговаривают запрет на разжигание межнациональной розни. У американцев в этом отношении своя атмосфера.
Интересными пунктами в казахстанской конституции являются ст. 8 про отказ от применения первой вооруженной силы. Ст 10. п. 2 о том, что гражданин ни при каких условиях не может быть лишен гражданства - сразу вспоминается двухлетний срок на постановку на консульский учет, иначе гражданство признается недействительным.
Статья 32 (аналог 31 российской) приведена с поправкой Пользование этим правом может ограничиваться законом в интересах государственной безопасности, общественного порядка, охраны здоровья, защиты прав и свобод других лиц. Что потенциально снижает потоки ненависти.
Статья 52 п.2 гласит Депутаты Парламента обязаны принимать участие в его работе. Голосование в Парламенте осуществляется депутатом только лично. Отсутствие депутата без уважительных причин на заседаниях палат и их органов более трех раз, как и передача права голоса, влечет за собой применение к депутату установленных законом мер взыскания. Сразу вспоминается видео с бегающими тетками по пустым рядам Думы.
2012-12-15
Облачная демократия
Книжка полная фигня: идет много ненужных букв, где с десяти сторон объясняется одна и та же нехитрая мысль: политика должна требовать прозрачности, граждане должны управлять своими голосами или делегировать их в реальном времени - всё.
В процессе чтения у меня было стойкое дежавю с книгой Шок будущего, где, по прошествии десятков лет, предсказания автора кажутся наивными до крайности. Авторы стали жертвой баззворда Cloud, который они расшифровывают как "открытые и распыленные по миллионам и миллиардам пользовательских компьютеров и серверов, существующих везде и нигде", такое определение подходит скорее P2P.
Тем не менее было несколько интересных моментов.
2012-12-09
Человеческий фактор. Продолжение
Первая часть
Создание продуктивных команд
Самыми ценными воспоминаниями о работе является опыт командного взаимодействия. Характер работы полностью меняется, когда группа становится одним целым. Вызов - инструмент такого объединения. Группы, получающие наибольшее удовлетворение, работающие на пределе своих возможностей не мыслимы без командного взаимодействия, благодаря которому люде терпят всё, выкладываются на полную катушку и преодолевают чудовищные трудности.Как только начинается кристаллизация команды, вероятность успеха очень возрастает. Такой команде не нужно управление в традиционном смысле и уж тем более не нужны дополнительные стимулы - команда обладает собственным импульсом. Команды по природе своей склонны формироваться вокруг общих целей. Даже если участники имели собственные цели, то в процессе кристаллизации каждый поверил в общую цель.
Человеческий фактор. Успешные проекты и команды
Ненавижу такие книги, как "Человеческий фактор" - они настолько великолепны, что закладки приходится ставить почти на каждой странице, и в итоге читалка начинает жутко тормозить, а интерес все возрастает. А после прочтения приходится несколько часов обрабатывать закладки.
Книга Peopleware - нестареющая классика. За тридцать лет в индустрии несколько сменилось несколько технологических поколений, а вот люди не поменялись ничуть. И, проблемы которые рассматривают авторы, все так же актуальны и сейчас.
Демарко и Листер рассматривают решающую роль команд в успешных проектах. Но, поскольку они не знают секрета построения идеальной команды, им приходится идти от противного: рассматриваются стопроцентные способы загубить Команду в зародыше. Рассматриваются признаки успешных команд и возможные катализаторы. Отдельно достается Методологиям (с заглавной буквы), которые обещают решить все проблемы и их адептам.
Дальше идут цитаты из закладок, разбитые по главам. Очень много букв.
2012-12-06
2012-12-05
Freeswitch book
Итак, спустя почти 15 месяцев работы с FreeSWITCH у меня, наконец, дошли руки прочитать матчасть, чему я несказанно рад. Эта книга висела тяжким бременем на моей совести.
Первые пол года мы умудрились писать графический интерфейс для абстрактной доменной области IP-телефонии. Следующие пол года мы пытались впихнуть написанное в узкие рамки реальности. И после всего этого ничего нового из книги извлечь не удалось, кроме истории появления этого продукта.
Не смотря на это, по ощущениям, книга написана вполне добротно. Разбирается демо-конфигурация, в качестве примеров пишется куча конфигов на все случаи жизни. Сам же FreeSWITCH состоит из небольшого количества очень простых модулей, комбинируя функционал которых можно на коленке поднять разухабистую IP-PBX.
Первые пол года мы умудрились писать графический интерфейс для абстрактной доменной области IP-телефонии. Следующие пол года мы пытались впихнуть написанное в узкие рамки реальности. И после всего этого ничего нового из книги извлечь не удалось, кроме истории появления этого продукта.
Не смотря на это, по ощущениям, книга написана вполне добротно. Разбирается демо-конфигурация, в качестве примеров пишется куча конфигов на все случаи жизни. Сам же FreeSWITCH состоит из небольшого количества очень простых модулей, комбинируя функционал которых можно на коленке поднять разухабистую IP-PBX.
Подписаться на:
Сообщения (Atom)