Author Archives: dmi

Life deadlock

В транзакционных СУБД, например — в Oracle, существует такое явление, как «deadlock»: когда два одновременно выполняющихся запроса хотят получить эксклюзивный доступ к двум одним и тем же ресурсам (например — строкам в таблице), но, по логике их выполнения, первый ресурс оказывается изначально захвачен одним процессом, а второй — другим.

Разработка, Управление

Такой удобный документооборот

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

Управление

Django-admin в качестве интерфейса: Путь в капкан

Знакомство с django-admin поражает воображение. Непосредственно на основе моделей базы данных  вы получаете готовый веб-интерфейс. Этот интерфейс будет иметь фильтры поиска, учитывать условия для полей, подключать справочники связанных объектов. Далее, просто добавляя «подсказки» для моделей базы, вы сможете сделать интерфейс еще удобнее с минимальными трудозатратами. В общем, возникает вполне естественное желание использовать всю эту навороченную систему для того, чтобы построить пользовательский интерфейс (автоматизированное рабочее место). Так я и поступил — и это оказался путь в капкан. Если хватит задора на серию статей, то дальше расскажу о том, как из него выбраться, прихватив с собой кусочек сыра :)

Python/Django, Разработка

Почему вы не используете git-flow?

В заметке «Git workflow для вашего проекта» я сделал вольное изложение статьи “A successful Git branching model”, в которой описывается правильный способ использования git для выпуска релизов и хотфиксов. Под катом — такой же вольный перевод другой статьи «Why aren’t you using git-flow?», рассказывающей о том, как можно сильно упростить себе жизнь, если для описанных операций использовать утилиту git-flow.

Разработка

Git workflow для вашего проекта

Коллективная работа над сложным проектом (в декабре мы выпустили первый релиз SkyCover Infrastructure CD-ROM) породила очень много потребностей: надо выпускать релизы, добавлять функционал, делать хотфиксы. Захотелось иметь автоматические nightly-builds… Казалось бы, для пользователей git и github.com (каковыми мы являемся), эти возможности находятся «на кончиках пальцев» и все должно быть просто. Однако git — лишь инструмент и для достижения хорошего результата требуется следование определенной методологии. Эта статья — вольное изложение хорошо известного первоисточника. Желающие почитать подробный перевод могут погуглить «удачная модель ветвления git». К сожалению, попробовав читать пару переводов я впал в дремоту и вернулся к англоязычному оригиналу. Поэтому ниже я попробую свои силы в изложении только сути дела :)

Разработка

Публикация новости на сайте WordPress

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

WordPress

Учет по счетам для программистов: Баланс

Начав заниматься предпринимательской деятельностью, я несколько раз пытался наладить учет — что пришло, что ушло, что осталось, что ожидается. Однако полученный результат почему-то не приносил желаемого эффекта — не позволял увидеть общей картины. Бессистемность получаемого результата подтолкнула меня к изучению основ бухгалтерского учета — я решил, что самые практичные на планете люди (бухгалтеры) не могут ошибаться 700 лет подряд :) Столпом бухгалтерского учета, который сводит воедино всю отчетность является баланс. Большинство из нас видели фиговину, которая называется «балансовое уравнение» и всем неофитам почему-то преподносится как высшая истина. Освоив эту математически очевидную штуку, я долго не мог понять, что имеет в виду моя жена (экономист), рассуждая о балансе с точки зрения каких-то «источников» и тому подобных вещей, совсем не математического характера. К настоящему моменту у меня сложилось (глубоко личное) мнение, что бухгалтеры — как люди практичные, считают не цифры с формулами, а непосредственно деньги. Поэтому и понимать их надо следуя не математике уравнений, а гармонии (точнее — здравому смыслу ;)

Бух. учет

Терминология денег

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

Деньги

Django South — заполняем таблицы

В этой заметке я напишу очередную шпаргалку (я сам ими пользуюсь :) На этот раз — по миграции данных с помощью Django South. Django South — это инструмент, который позволяет отслеживать изменения модели данных и соответствующим образом изменять SQL-таблицы. Однако, что делать если мы добавляем поле, которое необходимо сразу заполнить значениями?

Python/Django

Django South — легко меняем модель данных

В начале работы с Django меня очень впечатлила команда syncdb, которая на основе модели данных создает необходимые таблицы. К сожалению, любое дальнейшее изменение модели нам предлагается вносить в базу данных вручную, вспоминая SQL-ный синтаксис… А потом нас ждет повторение того же на рабочей базе. Однако, существуют средства для автоматизации и этого процесса.

Python/Django

Учет по счетам для программистов. Счета.

Забавно, что бухгалтерский учет — система  численного отражения фактов человеческой деятельности, которая возникла задолго до появления компьютеров и, без преуменьшения, проверена веками широчайшей практики,  имеет столь мало общего с объектной абстракцией и прочими «компьютерными» принципами моделирования. В сети довольно много материалов по бух. учету. К сожалению, одна их половина предназначена для бухгалтеров — людей, далеких от алгоритмирования, потому что вычислительная машинка им вставлена с рождения, непосредственно в голову. Другая половина — это объяснения балансового уравнения от создателей GnuCash и его пользователей. Занятное чтиво, которое, увы, имеет мало отношения к реальной практике. Вы не найдете там ни одного удовлетворительного примера, вовлекающего, скажем, производство и расчеты с поставщиками и покупателями. Потихоньку разбираясь в теме, я попробую сделать несколько статей о сути бухгалтерских методов и операций. В этом посте рассмотрим основу учета — счета.

Бух. учет

Уникальное безобразие

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

Интерфейсы

Как вести ежедневник

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

Управление

Мониторинг почтового сервера — что измеряем?

Почтовый сервер — одна из традиционных заноз в филейной части системного администратора. Действительно, казалось бы, не было забот — почту приняли, почту отправили. Ан нет! Не проходит и нескольких дней, как приходят спамеры и заставляют вас искать золотую середину между тем, чтобы оградить своих пользователей от бессмысленной корреспонденции, а, с другой стороны, не заблокировать прием почты от некоторых (возможно — очень важных) клиентов. Но и этого мало! Многие чужие серверы откажутся принимать вашу почту по тысяче причудливых причин. Блэк-листы, грей-листы, коллбэки, фильтрация диалапщиков… Однако, тема этого поста — не фильтрация спама, а методы печального наблюдения за тем, во что он превращает ваш почтовый сервер. 

Мониторинг

Инстинкт халатности

У меня открыт дебетовый счет в Альфа-Банке. Время от времени они присылали анкету с вопросами вроде «Удовлетворены ли вы качеством обслуживания?» — это происходило где-то раз в пол-года, или в квартал. Я не очень люблю всякие анкеты, но каждый раз я успевал забыть о них, поэтому ответить на несколько вопросов не напрягало. Потом Альфа стала проводить эти опросы раз в месяц, или около того. Меня хватило… ровно на один раз. Больше я в анкетировании не участвую. Может, частота снова уменьшилась, но мне-то это проверять смысла нет :) А недавно подумалось, что есть и другие похожие примеры в моей повседневной жизни, и что все это очень сильно перекликается с рабочими буднями системных администраторов.

Управление

Выбор СХД mid-range, часть 2

Этой статьей продолжаю тему о выборе системы хранения данных среднего уровня (mid-range). В предыдущей статье я рассказывал о том, что такое класс mid-range и какую нишу среди систем хранения он занимает. Теперь расскажу непосредственно о процессе и превратностях выбора СХД. Выбор производился в конце 2009г. и в нем участвовали: EMC CX4-120, Hitachi AMS 2100, HP EVA 6400, IBM DS 5020 и SVC, Fujitsu Eternus DS410.

Системы хранения данных

Паранойя

Однажды Инь Фу Во заблокировал на межсетевом экране несколько IP-адресов. Сисадмин спросил его о причинах. Учитель сказал: – На всякий случай. Я увидел необъяснимое поведение программ. – Может быть, это просто глюк? – предположил Сисадмин. Инь Фу Во ответил: – Каждый из нас иногда сталкивается с необъяснимым. Не поняв сути, каждый действует по-своему. Сисадмин – камлает с бубном. Инженер Чжа Вынь – пьёт пиво и переинсталлирует систему. А я – начинаю подозревать действия коварного врага. Инженер Чжа Вынь, услышав разговор, заметил: – Это похоже на паранойю. – Паранойя входит в число моих должностных обязанностей, – ответил Учитель. Прочитав притчу, я с легкой ностальгией вспомнил времена, когда сисадмины гордо и во всеуслышание приписывали это проф. заболевание себе.

Безопасность

О природе денег

По традиции отмечая, что «от внимания некоторых системных администраторов ускользает …», я, конечно же, имею в виду себя на разных этапах моего существования. Но отзывы друзей свидетельствуют о том, что обычно я не одинок :) Так вот, о деньгах: Деньги — это не мера стоимости работы и вещей, как ошибочно полагают многие светлые технические головы, и чего бы там не говорила Википедия.

Не в тему

Организация резервного копирования

Для сервиса SkyCover Бэкап сделана интерактивная методичка с вопросами для самокотроля по рискам потери данных и организации резервного копирования. Писалось для руководителей предприятий малого бизнеса, но будет также полезна всем IT-менеджерам. Проверьте себя!. Анекдот в тему: Системные администраторы делятся на тех, кто не делает резервных копий и тех, кто уже делает.

Резервное копирование

Выбор СХД класса mid-range, часть 1

Чуть больше года назад мне случилось выбирать и приобретать систему хранения данных класса mid-range для одного довольно крупного предприятия, а теперь, перебирая рабочие материалы, подведу небольшой итог той работы. В первой части — общая характеристика СХД mid-range.

Системы хранения данных