Архив за 20 марта 2012 - 4

Наверняка почти каждый сталкивался с ситуацией, когда при разработки какого-либо проекта, Вы, случайно сохранили изменения в каком-либо файле по ошибке, и отменить действие — нельзя. Например, я однажды редактировал одну картинку в фотошопе, и при сохранении по невнимательности выбрал для сохранения совсем другой файл, навсегда переписав его. На перерисовку того файла было потрачено полтора часа, и все это из-за того, что делать резервные копии каждые 20 секунд вручную невозможно.

Именно после этого случая мне в голову пришла идея написать программу, которая будет мониторить каждые N секунд указанный каталог и его подкаталоги на предмет добавления новых файлов и изменения старых. В случае если есть новые файлы или изменения в старых, то она сделает резервную копию этого файла в указанную папку под имя_файла_дата_время. При таком раскладе потерять какие-либо данные будет сложно, т.к. есть полная история всех изменений.

Такая программа была написана мною 2 года назад. Она не раз спасала мои проекты от разных случайностей, но вот совсем недавно я внес в нее несколько изменений, и сейчас презентую ее Вам.
Читать полностью »

Некоторое время назад мне потребовалось решить достаточно необычную задачу, а именно, добавить нестандартный оператор в языке python. Эта задача заключалась в генерации питоновского кода по псевдокоду, похожему на ассемблер, который содержит в себе оператор goto. Сложный лексический анализатор мне писать не хотелось, оператор goto в псевдокоде использовался для организации циклов и переходов по условиям, и хотелось иметь некоторый его аналог в питоне, которого нет.
Читать полностью »

Доброго времени суток!

С недавнего времени я занимаюсь разработкой системы чатов, так сказать чаты 3.0. Данная идея пришла после того как познакомился с такой интересной и удобной штукой как comet-сервер Realplexor от dkLab. Но сейчас не об этом…

Основной движок написал, чат работает, пользователи общаются, все вроде бы ничего, но есть одно НО! Все же мы люди и бывает забываем переключить раскладку клавиатуры с английской на русскую, такое бывает. После написания n-го количества слов отправляем сообщение и что видим — написали не в той раскладке, и редко кому захочется заново переписывать этот текст, а читателям не всем захочется переводить Ваши каракули. И решено было придумать какой-нибудь очень простой способ исправления таких сообщений.
Читать полностью »

Введение

Многие программисты-одиночки зачастую очень много времени проводят сидя «с головой» в работе и к концу дня мозг совершенно отказывается работать, особенно при постоянной нагрузке. От этого менее страдают те, кто работают в свое удовольствие, без установленных сроков, однако если работа идет на заказ с определенным сроком разработки, то подобная проблема практически неизбежна. Так же с этой проблемой связаны многие стрессы и неправильный режим дня.
Читать полностью »

Установка Mercurial Server и использование авторизации по SSH Несколько дней назад передо мной поставили задание — поднять mercurial-репозиторий на одной из локальных машин, и поставили одно условие — обязательная авторизация по SSH. Установка будет производится с использованием Mercurial Server на 64-битной серверной Убунте.
Читать полностью »

image

Наверняка все слышали шумиху вокруг проекта travis-ci.org. Я не являюсь исключением и учитывая, что один из его разработчиков, Джош Калдеримис (Josh Kalderimis), выступивший на прошедшей конференции toster.ru, разжег мой интерес еще больше, то я решил окончательно разобраться, что такое travis-ci и с чем его едят. После прочтения вы узнаете как данный сервис может помочь ruby-разработчикам, а также как ему могут помочь они. Располагайтесь поудобнее, начнем...Читать полностью »

На 3 апреля намечен старт продаж Kinect Star Wars
3 апреля 2012 года в 18:00 в Москве, в магазине Media Markt расположенном в торговом центре «Капитолий» (проспект Вернадского, дом 6) состоится официальный старт продаж долгожданной игры Kinect Star Wars.

Kinect Star Wars — игра для XBox 360 с контроллером Kinect на основе знаменитой вселенной Звёздных войн, а точнее — на основе двух трилогий, выпущенных Lucasfilm в 1977-1983 и 1999-2005 годах. Разработкой игры занималась малоизвестная компания Terminal Reality, основанная в 1994 году одним из бывших разработчиков Microsoft, совместно с LucasArts Entertainment — одним из подразделений Lucasfilm, созданной специально для разработки развлекательного программного обеспечения.
Читать полностью »

Под катом находится сравнительно небольшая подборка СSS3 и СSS3+JQuery меню. Некоторые из них уже могли встретится пользователям на просторах Интернета, некоторые-нет. Весь обзор представлен в виде скриншотов и демо-ссылок, а также ссылок на закачку сырцов, там, где это возможно.
Читать полностью »

Предисловие

Добрый день.
Это вторая часть статьи про написание своего генератора LALR-анализаторов. В этой части я расскажу про эволюции от примитивных восходящих синтаксических анализаторов до наиболее актуальных, хотя и не шибко новых, LALR-парсеров. Тем, кто не читал первую статью (ссылки — снизу), советую прочесть хотя бы первую половину последнего раздела. О том небольшом фрагменте кода я буду упоминать несколько раз.

В комментариях к прошлой статье несколько человек интересовались моими мотивами в написании своего компилятора компиляторов. К сожалению, они в этой статье не найдут ответов на этот вопрос. Не скрою, изначально я планировал написать статью без особой теории, но с оправданием задач и целей, ради которых я начал писать генератор, да и хотел поделиться нюансами и особенностями реализации. То есть по объему это довольно прилично: несколько экранов. Но затем я решил всё же описать базовую теорию популистским языком, поэтому статья разрослась до трех частей. Таким образом, дабы не ломать логику изложения, я сначала расскажу про LR/SLR/LALR-анализаторы, а завтра опубликую заключительную, и, думаю, самую интересную часть.
Читать полностью »

Недавно я захотел попробовать какую-нибудь альтернативу для домашнего веб-сервиса.
Не то чтобы меня чем-то не устраивал «станартный» Apache — просто хотелось расширить кругозор ну и, возможно, найти альтернативу получше.
Кандидат должен был отвечать нехитрым требованиям — малое потребление ресурсов и высокая скорость работы.
Так как Nginx, lighthttpd и LiteSpeed я уже в своё время трогал, и примерно знал, чего от них можно ожидать — выбор пал на испанскую разработку Cherokee.

Изначально статья планировалась как сравнение двух «индейцев» — но в процессе установки и настройки Cherokee я столкнулся с парой подводных камней. Так что эта статья — так сказать вводная.
Сравнение производительности тоже будет — но чуть позже.
Читать полностью »


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