Архив за 19 декабря 2013 - 9

image

Кто верит в Магомета, кто в Аллаха, кто в Иисуса. Кто ни во что не верит, даже в черта, назло всем...

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

Реализация резервного копирования на хардлинках под WindowsИдеей написания этой статьи и создания программы в частности послужил рассказ Oleg_Sh о том, как он из подручных инструментов создал средство для резервного копирования, которое использует хардлинки как замену дублирующихся файлов. Эта идея оказалась настолько простой и гениальной, и всегда лежала на поверхности, что было решено — нужно и себе прикрутить такую штуку. Тем более мне нужна была очень похожая функциональность и я время от времени искал что-то очень простое на замену платным или громоздким комбайнам, которые к тому же не делали именно то, что требовалось для моих задач.

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

Изначально задача возникла больше из академического интереса, чем из практических соображений. После того, как я узнал о Mock-объектах, мне стало интересно, а существует ли такая ситуация, для которой можно написать тест с помощью Mock-объекта, но нельзя с помощью тестов состояния. Буквально первая мысль, которая пришла в голову, была про вычислительную сложность алгоритмов. Можно ли написать автоматический тест, проверяющий, что в конкретной ситуации используется алгоритм определенной сложности?

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js