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. Читать далее

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