Search
Write a publication
Pull to refresh
28
0
Антон Патрушев @apatrushev

Пользователь

Send message

Девелопим для себя

Reading time2 min
Views2.5K
Привет всем! Хочу поделится с аудиторией Хабра утилитой, которую написал мой друг Евгений Доманов и я.
Программка помогает не гадит на рабочий стол и в то же время иметь все ярлыки под рукой.

Читать дальше

Brain Fuck Scheduler — ставим за 5 минут

Reading time3 min
Views11K
О новом планировщике задач для Linux на Хабре уже написали вот тут. Весьма эпатажный «трейлер» с xkcd к новому планировщику, и не менее веселый FAQ, пробудили интерес. Расспросил знакомых, кто ставил, чтобы поделились впечатлениями — никто не ставил, ибо «влом ядро новое ставить» или «я подожду, пока оно в мейнстриме появится». Поставил и попробовал сам, и для тех кто хочет сделать то же самое — краткое руководство для Ubuntu 9.04, с описанием потенциальных граблей.

В качестве тизера, скажу лишь, что полноэкранное видео на youtube действительно не тормозит и система стала отзывчивее и шустрее.

Итак, дабы не быть голословным, приступим. Предполагается, что у вас установлена Ubuntu 9.04 (Jaunty).

Читать дальше →

Software Configuration Management // Контроль версий

Reading time12 min
Views20K
И снова здравствуйте.

Продолжаю публиковать цикл статей о SCM — управлении конфигурацией ПО.
3 предыдущие заметки можно прочитать в этом же блоге.

Сегодня расскажу о том, с чем работает большинство читателей — о контроле версий.

Disclaimer


Далее будут описаны основные техники, реализованные в подавляющем большинстве систем контроля версий. Как они реализуются в приложениях, которые использует читатель, оставим на откуп многочисленным руководствам пользователя, how-to, FAQ и прочим документам, коих можно найти без труда. Главное – понять, по каким принципам и зачем оно работает именно так.

Всё понятно, продолжай

Как забыть про ярлыки на рабочем столе?

Reading time3 min
Views9.4K

Введение



image Раньше у меня довольно часто возникала проблема захламления рабочего стола огромным количеством ярлыков, и я начинал теряться в них, соответственно терять время при поиске необходимых мне приложений. В дальнейшем я научился пользоваться сочетанием клавиш win+r, создавая ярлыки с короткими именами в system32.С приходом Windows Vista (7) теперь только кнопки win, однако гибкость и настройка данных методов весьма ограниченна. Имеется так же огромное количество hotkey-менеджеров, однако не с одним из них я так и не сдружился.
Читать дальше →

Уязвимость в RubyOnRails затронула Twitter, но не пользователей IE8

Reading time1 min
Views757
На прошлой неделе стало известно об уязвимости в популярном движке веб-разработки Ruby On Rails, основанной на Cross-site scripting (XSS).

Уязвимость добралась до многих популярных сервисов, в том числе пресловутого Твиттера. Ошибка закралась в работу с Unicode и позволяла воспроизвести произвольный код на JavaScript. Подробную информацию о данном инциденте можно почитать на Ars Technica. Ошибка была оперативно исправлена, однако учитывая аудиторию сервисов, могла иметь существенный негативный эффект.

В то же время уязвимость не затронула пользователей Internet Explorer 8. IE8 имеет встроенный XSS-фильтр, который автоматически защищает пользователей от подобного рода атак – происходит блокировка кода и высвечивается предупреждающее сообщение сверху.

Это лишнее свидетельство тому, что Интернет невозможен без угроз и атак и пользователям необходима адекватная защита. IE8 имеет целый набор средств для безопасности и надежности. Более подробно об этом я рассказал в онлайн-докладе.

Напомню, что по результатам недавнего исследования NSS Labs Internet Explorer 8 является самым безопасным браузером в области защиты от вредоносных программ и фишинга.

Data Extracting SDK: Часть 1

Reading time4 min
Views1.6K
Data Extracting SDK написан на .NET Framework 3.5 и содержит средства для извлечения и анализа данных из текстовых файлов и web-ресурсов. Прислушиваясь к результатам опроса выкладываю первую версию Data Extracting SDK CTP (Community Technical Preview) на всеобщее обозрение.

Основные возможности:
  • Html Processing — загрузка, анализ html
  • DOM анализ — получение ссылок, изображений, таблиц
  • извлечение ссылок, фильтры, возможность написания своих фильтром, глубокий анализ сайта
  • извлечение электронных адресов, телефонов, urls и т.д.
  • анализ контента сайта (количество элементов, плотность слов)
  • возможности для SEO анализа
Остановимся на основных возможностях SDK.
Читать дальше →

Повышение работоспособности: как я делаю работу, которую делать не хочу

Reading time3 min
Views11K
image Сегодня я продолжаю свою тему и пишу пост о том, как я «заставляю» себя делать скучную, нудную и неприятную работу.

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

Так что же делать? Ответ я нашёл не так давно, и теперь хочу поделиться с Хабрасообществом.

Читать дальше →

Онлайн чат для сайта через джаббер (GTalk)

Reading time2 min
Views41K
image
Великолепная веб-программа позволяющая разместить на вашем сайте панель с чатом для ваших клиентов сообщения которого будут прилетать в ваш джаббер клиент.
Другими словами это способ организовать общения с посетителями сайта.

Написать подробную инструкцию меня сподвигнула обзорная заметка на сайте dikiy.com
Под катом так-сказать пошаговая инструкция как запустить онлайн чат на своем сайте
Читать дальше →

Из записной книжки Мистера Томпкинса

Reading time10 min
Views18K
Мистер Томпкинс — человек уже довольно приличного возраста. Первое знакомство с ним состоялось в далеком 1938 году, когда физик и одессит Георгий Антонович Гамов опубликовал в Британском журнале Discovery серию рассказов о человеке, который в своих снах попадал в альтернативные миры, где значения физических констант радикально отличаются от значений оных в реальном мире, что приводит к совершенно неожиданным результатам. Так Гамов популярно объяснял концепции современной физики неискушенному читателю. Незадачиливым же соней был тот самый Мистер Томпкинс.

Практически 60 лет спустя Том ДеМарко решил поделиться свой безграничной мудростью и в столь же популярной форме преподнести идеи из Peopleware, написанной в соавторстве с Тимоти Листером. Итогом стал "Роман об управлении проектами", в котором наш старый знакомый Мистер Томпкинс похищается сексапильной брюнеткой Лаксой Хулигэн и увозится в загадочную страну Моровию, где ему представляется возможность провести настоящий эксперимент по управлению проектами разработки программного обеспечения…

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

Software Configuration Management // Конфигурации и baselines

Reading time12 min
Views16K
Итак, по горячим следам продолжаю публиковать материалы, касающиеся основ управления конфигурацией программных средств. Прочитайте предыдущую заметку, если вдруг пропустили.

Ниже речь пойдет о следующих вещах:
— Рабочие продукты и конфигурации;
— Компонентная разработка;
— Продуктовые линейки;
— Стабилизация результатов работы;
— Baselines AKA базовые конфигурации;
— Конфигурации при компонентной разработке;
— Конфигурации при наличии продуктовых линеек.

Рассказывай, не тяни!

Цикл статей по основам Software Configuration Management

Reading time5 min
Views25K

Пролог


Что такое управление конфигурацией в разработке ПО? Зачем оно нужно? Думаю, немногие способны полностью и внятно ответить на этот вопрос. Большинство обычно вспоминает системы контроля версий, которые сами используют. Кто-то упоминает багтрекинг. Кто-то считает вершиной CM отращивание веток в любимой системе контроля версий. А кто-то вообще уходит в сторону и начинает говорить про ITIL и про то, как он записывает в какую-нибудь базу параметры всего софта, который установлен у него в фирме.

Несколько странно и немного досадно наблюдать за этим. Дело в том, что я проработал в SCM в общем сложности около 5 лет, из них 3 года — интегратором в Motorola, на одном из проектов по разработке софта для сотовых телефонов. По ходу дела прочитал кучу материалов по этой теме и получил большой практический опыт — в том числе по работе с одной из мощнейших систем контроля версий IBM Rational ClearCase (см. linkedin в профиле). В итоге в голове сформировалась некоторая целостная картина того, что же это на самом деле — software configuration management.
Ну а дальше-то что?

Здоровье для гиков и не только

Reading time5 min
Views4.8K

Введение.



В последнее время на суд хабрасообщества были представлены несколько статей разных авторов в стиле «Здоровье для гиков, или как оторвать задницу от насиженного и родного с детства места». Упоминались также темы здорового питания, здорового сна, и несколько смежных. Последняя на данный момент публикация повествовала о такой дисциплине, как бодибилдинг. За это спасибо автору публикации sortafreel, к тому же, материал может оказаться полезным многим из нас. Но (и тут меня начнут пинать плюшевыми тапками, как обычно бывает) людям нужен совсем не спорт, им нужно развитие, развитие духовно-физическое. Так почему же не спорт, и что я могу предложить заинтересованному читателю?

Почему не спорт?



Слово «спорт» подразумевает соревнование: в скорости, выносливости, поднимаемом весе, силе толчка, длине прыжка. И пусть многие пнут меня хорошенько за эти слова, но другого спорта не существует. Да, конечно, многие люди занимаются чем-то ради собственного удовольствия. Кто-то бегает перед сном, кто-то играет в настольный теннис, быть может бадминтон, а кого-то воодушевляют формы собственного тела, которые продолжают улучшаться с каждой тренировкой. Но, в таком случае, конкретная дисциплина не приносит тех результатов, что могла бы, а приверженец того или иного вида спорта загоняет себя в рамки, не позволяющие ему развиваться. Спорт == ограничение, поскольку развитие, если оно происходит, осуществляется лишь в одном из множества направлений.

Куда более широкое понятие — «здоровый образ жизни». Но ведь никто не может точно сказать, как это? Здоровое питание, спорт, прогулки, движение — все эти слова конечно характеризуют понятие, но не определяют его. Хочется конкретики? Я предлагаю вам реальную дисциплину, имеющую свою историю, дисциплину современную, мощную и всестороннюю. Я говорю о естественном методе.

Что же это такое?



Естественный (натуральный) метод — всесторонняя дисциплина, созданная для комплексного развития человека, соблюдение которой культивирует потрясающие духовные и физические качества. Система, применявшаяся для подготовки военных, рожденная французским офицером, развитая и осмысленная современными практикующими. Интересно?

Под катом много текста и видео

Сравнение эффективности способов запуска веб-приложений на языке Python

Reading time8 min
Views16K
Последнее время в области веб-разработок стал набирать популярность язык программирования Python. Однако, массовому распространение Python мешает проблема эффективного запуска приложений на этом языке. Пока, в большинстве случаев, это удел выделенных или виртуальных серверов. Модульные языки в отличии от монолитного в базовой функциональности php на каждый запрос подгружают как минимум runtime-библиотеку, а как максимум — ещё несколько десятков запрашиваемых пользователем модулей. Поэтому классический подход наподобие mod_php для Python и Perl не очень уместен, а держать приложение постоянно в памяти было дороговато. Но время движется, техника стала мощнее и дешевле, и уже достаточно давно можно спокойно говорить о постоянно запущенных процессах с приложением в рамках массового хостинга.

О чём тут

Время от времени, в сети появляются различные предложения как запустить приложение на Python. Например, недавно хостинг Джино уникально поправил mod_python и предложил хостинг именно с его помощью. Следом за ним, некий хостинг Locum вообще отринул mod_python с его безопасностью (создаётся впечатление, что суть самобытная безопасность — это единственная проблема АйТи на пути к нирване) и провёл победоносное тестирование modwsgi против fastcgi. Комьюнити же, судя по проведённому мною поиску, разрывается между mod_python и FastCGI. Причём, FastCGI обычно имеется ввиду тот, что идёт в поставке Django — flup. Являясь популярным хостингом Python-приложений, мы не смогли пройти мимо и решили внести свою лепту в эту священную войну.
Читать дальше →

Первоклассным специалистом может стать каждый!

Reading time3 min
Views9.6K
Вы думаете лучшими специалистами в своем деле становятся талантливые и гениальные люди? Нет, быть лучшим — это возможность каждого нормального человека! И у тебя, Хаброжитель, эта возможность тоже есть!
Читать дальше →

ASP.NET MVC: модульное тестирование маршрутов

Reading time4 min
Views4.5K
imageМодульное тестирование (unit test) очень важная часть современной разработки программного обеспечения. При тестировании web-приложений разработчики стараются охватить все аспекты работы приложения от получения запроса до выдачи результата. При разработке проектов с помощью ASP.NET MVC одним из таких моментов является механизм маршрутизации. Тестирование маршрутов обычно приносило немало головной боли, заставляя разработчика писать много сопутствующего кода. В этой заметке я покажу как используя пару инструментов можно упростить тестирование маршрутов до минимума.
Читать дальше →

Интеграция с TeamCity

Reading time2 min
Views4.3K
В процессе разработки проекта на Ruby 1.9 нам потребовалось использовать систему непрерывной интеграции.

CruiseControl.rb в своё время не подошёл из-за несовместимости с Ruby 1.9, в результате мы остановились на бесплатной TeamCity Professional под Linux.

Начальная настройка тривиальна, потребует лишь распаковки дистрибутивов TeamCity и JRE, а также настройки переменной JRE_HOME.

Прямо из коробки мы можем получить запуск тестов Test::Unit, RSpec, с оценкой покрытия rcov.

Но нам потребовалось большее, например, использовать кастомные тесты.

Рассмотрим тривиальный пример — тесты на компилируемость (например, исходного кода, файлов в формате YAML etc.).

image

Читать дальше →

Vim. Одновременное изменение нескольких файлов. Развернутый пример с комментариями

Reading time2 min
Views6.2K
Бывают ситуации когда нужно выполнить какую-то последовательность действий одновременно в нескольких файлах. Конечно, для этого можно использовать разные инструменты (навскидку: bash + sed/awk, python/perl, ...) — какие-то будут менее приспособлены для выполнения поставленной задачи, какие-то — более. Сейчас мы рассмотрим пример решения одной такой простой задачи средствами редактора Vim.

Рассмотрим простой пример: вставка строки в начало каждого файла.
Читать дальше →

Возвращаясь к конструкции foreach с Duck Typing для LINQ

Reading time6 min
Views2.9K
Обещаю, что в этот раз будет короткая статья (относительно). Все вы знаете языковую конструкцию foreach в C#, не так ли? Но подумайте дважды прежде чем сказать как именно работает следующий код:
  1. foreach (int x in src)
  2. {
  3.   // Do something with x.
  4. }
* This source code was highlighted with Source Code Highlighter.

Уже знаете ответ? Позвольте мне разочаровать вас: если у вас только один ответ, то вы ошибаетесь. Нет единственного ответа на поставленный вопрос, поскольку вы должны знать больше о типе переменной src чтобы принять окончательное решение насчет того, как вышеприведенный код работает…
Читать дальше →

OpenGL ES: Перемещение в 3D

Reading time9 min
Views33K
В Сидней практически пришла зима — и я умудрился подхватить грипп (простой, не свиной). А тут еще работа, день Матери и пр. и пр. Одним словом, ввиду недостатка времени двигаться будем быстро. Но прежде чем приступать к созданию «уникального» трехмерного мира, освоим концепции перемещения в 3D пространстве.

Нам предстоит освоить код обработки событий, который позволит ходить «по полу». С помощью касаний мы будем поворачивать влево, вправо, перемещаться вперед и назад. Обойдемся без бега, поворотов головы и наведения резкости, хотя добавить их легко. Подобные ограничения объясняются как желанием упростить изложение, так и возможностью для не располагающих iPod Touch или iPhone добиваться аналогичных результатов в симуляторе.

Для начала загрузим основу проекта здесь.

Кода там не много — в основном объяснения, что и как происходит.

Мифическая камера


Большинство воспринимает 3D миры как пространство, на которое смотришь через камеру, но в OpenGL камеры как таковой нет. Для иллюзии движения по сцене относительно начальной точки (0, 0, 0) перемещаются объекты, а не камера, как в кино.

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

Чтобы немного упростить работу, к уроку я приложил удобную игрушку от «большого брата» OpenGL ES — библиотеки GLU: я имею в виду функцию "gluLookAt()".
Читать дальше →

Бизнес 160 байт. Часть первая, вводная

Reading time3 min
Views13K
СМС-сообщения не только являются удобным и простым средством связи, но и открывают обширные возможности для бизнеса. Только в России рынок СМС-платежей составляет 300 миллионов долларов, и это при максимальном размере сообщения в 160 байт.

Если вы еще не видели предложения отправить СМС по телевизору, в Интернете или хотя бы в спаме по ICQ, то скорее всего вы живете на необитаемом острове без всех прелестей современной жизни. Полагаю, немногим из вас повезло решить квартирный вопрос с подобным размахом, разделавшись заодно и с невсегда полезными плодами цивилизации. Тем не менее человеческие познания о дополнительных возможностях СМС довольно ограничены, и по сему давайте попробуем развеять некоторые мифы, почерпнув заодно много интересной информации.

Начнем с простого. Что такое СМС замечательно описывает статья в Википедии, там есть и история, и технические детали, так что не будем повторяться. Из этой статьи, однако, нам важно запомнить, что СМС могут быть двух типов — отправленные с телефона (MO — Mobile Originated) и полученные на него (MT — Mobile Terminated), далее мы встретим эти термины и в других смыслах.

При помощи СМС-протокола мы можем:
Читать дальше →

Information

Rating
Does not participate
Location
Bonn, Nordrhein-Westfalen, Германия
Date of birth
Registered
Activity