Pull to refresh
0
0
BACRHR @BACRHR

User

Send message

Космические рейнджеры: Революция

Reading time 1 min
Views 2.2K
Здравствуйте. Уже прошло 2.5 месяца с выхода долгожданного обновления легендарной игры, и я удивлен, что такая новость обошла хабр стороной, особенно учитывая количество поклонников. Мод, под названием «Революция», был создан командой, состоящей из разработчиков и фанатов. Мод не является официальным, из за проблем с лицензией, но придает игре новое дыхание. Добавлены куча вещей, квестов, планетарных боев, скриптовых ситуаций, новая музыка, балансировка сил ИИ и многое другое.
О конкретных изменениях можно прочитать под катом.
Читать дальше →
Total votes 105: ↑86 and ↓19 +67
Comments 131

71 фотография из жизни Альберта Эйнштейна

Reading time 2 min
Views 48K
imageВ твиттере популярного ученого физика-теоретика Митио Каку, который, кстати, специализируется на Теории струн (Привет Шелдон!), проскочил твит о его подборке фотографий, рукописей и писем Альберта Эйнштейна. Предлагаю и Вам ознакомится с этой подборкой из 58 (+ 13 фото я добавил из других источников) фото, которые я выложу под катом, или же Вы сможете посмотреть их прямо в альбоме Митио на Facebook.
Читать дальше →
Total votes 178: ↑140 and ↓38 +102
Comments 93

Грамотная настройка сервера отправки почты для скриптов PHP, настройка функции mail()

Reading time 8 min
Views 273K
В этом топике вы узнаете, как грамотно настроить, сервер исходящей почты и в частности функцию mail() в PHP. Сам являюсь жутким педантом. Люблю, что бы везде было все на своих местах, не терплю халтуры. Увидев один раз полную чушь в заголовках письма со своего сервера я разобрался с этим кардинально и безоговорочно. Под грамотной настройкой я подразумеваю такую, которая удовлетворяет потребности спам фильтров крупных почтовых систем, и просто выглядело красиво и осмысленно.

Как известно протокол SMTP не подразумевает никаких средств защиты от спама и аутентификации пользователя, поэтому крупными и не очень компаниями были придуманы «фиксы» безопасности протокола.
Если вы устанавливаете выделенный сервер с доменом размещенным на нем, очень рекомендуется выполнить данные настройки, что бы все было как надо.

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

Название заголовка выбрал именно такое, так как вначале своего пути я искал что-то вроде этого. Настраивать будем postfix, php, dns (ptr, spf), и другое.

Эта статья будет интересная людям, настраивающим выделеные сервера, но не менее интересна для обычных программистов.
К слову данную инструкцию я использую для своих проектов. Системы автоматизированного получения приглашений и получения виз в страны Шенгена: https://goingrus.com/ru, весь софт крутится на виртуальной машине.

Подробности под катом
Читать дальше →
Total votes 97: ↑71 and ↓26 +45
Comments 73

Флаги 254 стран одним спрайтом

Reading time 1 min
Views 15K
Однажды, nickivanov нарисовал миниатюры для кучи разных флагов и выложил их в свободный доступ. А недавно, artpolikarpov собрал их в один спрайт и написал к нему удобный css, который позволяет легко отобразить любой флаг просто указанием нужного класса.

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

И был бы этот топик топиком-ссылкой, да по необъяснимым причинам не разрешает Хабр в топиках-ссылках указывать авторов, заслуживающих похвал. Так что вот они ссылки:
Описание: artpolikarpov.ru/projects/flags
Архив с флагами: artpolikarpov.ru/projects/flags/flags.zip
Total votes 215: ↑200 and ↓15 +185
Comments 39

Создание объектов в Javascript

Reading time 5 min
Views 70K
Гибкость Javascript позволяет создавать объекты множеством способов. Но как это нередко случается, разнообразие таит в себе множество подводных камней. Из этой статьи Вы узнаете о том, как разглядеть и обогнуть эти опасные рифы.
Читать дальше →
Total votes 133: ↑119 and ↓14 +105
Comments 68

Текстурирование спрайтов с помощью (dis)placement map

Reading time 3 min
Views 5K

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

Если коротко, то технология позволяет иметь одну отрендеренную анимацию и накладывать на нее разнообразные скины, тем самым получая внешне различные объекты.

Суть в том, что в изучаемой мной игре есть большое количество анимированных спрайтов человечков (как я изначально считал — заранее отрендеренных). Человечки разные (по-разному одетые, разных цветов и т.п.).
Читать дальше →
Total votes 183: ↑181.5 and ↓1.5 +180
Comments 63

Обзор бесплатных библиотек для Flash/Actionscript 3.0 разработчиков

Reading time 3 min
Views 7.5K
Появление в 2006 году третьей версии языка ActionScript заметно повлияло на развитие рынка флэш-приложений. Смещение акцента с создания дизайнерами небольших флэш-приложений в сторону разработки более сложных программных продуктов потребовало привлечения в отрасль все большего числа профессиональных программистов. Поддержка ООП, пакетов, пространства имен и другие нововведения породили создание различных универсальных и узконаправленных библиотек, которые служат основой для многих проектов.
Данная статья представляет собой обзор наиболее популярных и полезных библиотек, которые могут стать отправной точкой для начинающих флэш-разработчиков, а также оказаться полезными для профессионалов.
Читать дальше →
Total votes 58: ↑52 and ↓6 +46
Comments 41

Трехмерный движок для Флеша — Papervision3D. Как и с чем его едят

Reading time 6 min
Views 12K


Papervision3D — это библиотека классов для ActionScript 3.0, которая позволяет создавать полноценные 3D флеш-ролики.
Таким образом пользователю не требуется качать какие-то альтернативные плагины (как это было с VRML, например), кроме собственно Flash Player'a.

Итак, что же повзоляет нам Papervision3D:

— Добавлять во флеш-ролик встроенные примитивы: Plane, Sphere, Cylinder, Cone, Cube, Paperplane, Arrow
— Импортировать модели созданные в 3D-редакторах, вместе с анимацией.
— Накладывать на объекты в качестве материалов однородные цвета, битмапы, мувиклипы и даже потоковое видео
— Использовать источники света
— Накладывать встроенные во флеш фильтры (Blur, Glow и т.п.) на 3D объекты
— Управлять отдельными вершинами и фейсами объектов. Пример
— Назначать на 3D объекты и материалы обработчики событий (клик, наведение мышки и т.п.)

Не стоит забывать, что Papervision3D требователен к ресурсам пользователя, так что не стоит загружать ролик большим количеством моделей и придерживаться максимального количества фейсов 3000

В данной обзорной статье я хочу рассказать немного о самом движке и показать его использование, на примере создания вращающейся сферы. Предполагается, что читатель знаком с основами программирования на ActionScript 3.0

Читать дальше →
Total votes 79: ↑71 and ↓8 +63
Comments 49

О Робокассе наглядно

Reading time 4 min
Views 93K
Вчера вечером добавил интерфейс взаимодействия с Робокассой в свою CMS.

Кратко о платежной системе


Робокасса — интегратор платежных систем. Она позволяет организовать прием платежей в пользу магазина через множество известных электронных валют (Webmoney, ВКонтакте, ЯндексДеньги, Деньги@Mail.Ru, RBK Money и другие), через терминалы оплаты ЭлексНет, и, самое главное — через SMS.

Доступно два варианта подключения — для юридических лиц и ИП, с выводом денег из системы на расчетный счет и для физических лиц с возможностью вывода в электронные валюты.
Читать дальше →
Total votes 49: ↑38 and ↓11 +27
Comments 48

Установка SVN практически на любой хостинг (static svn)

Reading time 1 min
Views 4.4K
0. Интро

Практически всегда хостинг не предусматривает поддержку svn для конечного пользователя или эта возможность идет в качестве дополнительной платной опции, а обновлять проект с большим количеством файлов — занятие не из легких. Тем более, когда изменения затронули много связанных между собой файлов. Старый вариант через фтп или закачка архива с последующей его распаковкой не особо подходит, так как влечет за собой вероятность возникновения ошибок. Будь-то недокачка какого-то файла (ftp) либо неверные права на папки\файлы (архивом). Все это для примера. Но есть более удобный способ решить эту проблему. Установить svn на хостинг.
Читать дальше →
Total votes 40: ↑33 and ↓7 +26
Comments 67

syncTranslit плагин

Reading time 2 min
Views 5.2K
Во многих веб проектах используются friendly urls. Например, вместо id статьи в url испольуется его текстовый идентификатор (slug). Обычно slug генерируется автоматически на серверной стороне при создании статьи. Но если вы хотите иметь возможность задавать slug самостоятельно (через форму) — можете использовать мой плагин syncTranslit.

syncTranslit plugin
Читать дальше →
Total votes 28: ↑23 and ↓5 +18
Comments 41

Квантификаторы в регулярных выражениях

Reading time 8 min
Views 74K
imageРегулярные выражения — это арифметика для алгоритмов. Они доступны во многих языках программирования, редакторах и настройках приложений. Как и сложение с умножением они просты в использовании.
Но для правильного и эффективного использования regexp-ов нужно понимание того, как они работают. Я постараюсь описать принцип работы регулярных выражений, покажу в каких случаях бывают проблемы и как их решать.

В продолжение общих советов.
Читать дальше →
Total votes 113: ↑109 and ↓4 +105
Comments 40

MySQL Profiler: простой и удобный инструмент профилирования запросов

Reading time 2 min
Views 46K
Сегодня был неожиданно удивлен, какие удобные штуки таит в себе MySQL. ;-)

Хочу представить вашему вниманию фичу MySQL — профайлинг.
Появилась она начиная с версии 5.0.37.

Всего парой запросов можно узнать, какими запросами формируется страница (для веб-девелоперов)
и почему она тормозит.

И раньше подобный функционал был доступен, но пользоваться журналом запросов не в пример сложнее.

Итак, как пользоваться:


Читать дальше →
Total votes 132: ↑125 and ↓7 +118
Comments 52

Список полезных инструментов для php разработчика

Reading time 10 min
Views 147K
PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.
Читать дальше →
Total votes 214: ↑200 and ↓14 +186
Comments 131

Слушаем вызовы функций в Javascript

Reading time 12 min
Views 9.8K
Многие знают о механизме Event-Dispatcher-Listener'ов, реализованному во многих языках программирования. Я же создам подобный механизм не для Event'ов, а для любого метода объекта JavaScript — Object.
Я не претендую на оригинальность, нет. Основная цель статьи — рассмотреть интересные механизмы прототипирования в JavaScript, создание декораторов и, собственно, постараться хоть немного раскрыть мощь и гибкость это чудесного языка, который так часто обижают и недооценивают.

UPD1: краткое содержание:
1. Создание декоратора на JavaScript
2. Создание механизма Function call listener с помощью декораторов

UPD2: от 09.06.2009
В конце статьи я добавил раздел Update: Decorator Mark II. В нём — исправления и улучшения (я не перекраивал всю статью из-за этого)

Итак, первый (и, надеюсь, не последний) рецепт в моей поваренной книге JavaScript.
Перейти к рецепту
Total votes 112: ↑107 and ↓5 +102
Comments 37

Сверхжадные квантификаторы

Reading time 4 min
Views 15K
В статье Regexp — это «язык программирования». Основы была поставлена задача: написать регулярное выражение, находящее в цепочке символов текст в двойных кавычках, причем внутри кавычек "..." могут быть и сами символы ", если они экранированы обратным слэшем, например:
one two "foo:=\"quux\"; print" three "four"
Здесь наш регекс должен найти соответствие цепочке
"foo:=\"quux\"; print"
Автором (той статьи) было предложено такое решение:
/ " ( \\" | [^"] )* " /x
(здесь и далее синтаксис Perl; ключ /x означает, что пробелы в регексе не учитываются, мы добавили их лишь для наглядности, чтобы части регекса не слились в единый «модемный шум»).
Этот регекс работает в том случае, когда есть совпадение (текст в кавычках). Проблема же в том, что он находит текст в кавычках даже тогда, когда текста в кавычках (согласно нашим правилам экранирования обратным слэшем) просто нет. Например, в цепочке "\" регекс находит соответствие (равное всей строке "\" ), хотя его быть не должно: кавычка открыта, экранированная кавычка… а вот закрывающей-то кавычки нет.
Ситуацию легко исправить, исходную задачу решить несложно, внеся несколько простых изменений в регекс… но речь не об этом, а о том, что если у вас в руках современный инструмент, т. е. движок регексов (свежая версия Perl, Java или PHP с PCRE), то вы можете «исправить» описанный регекс, добавив в него всего лишь 1 символ. Какой? Куда? Почему? Если знаете ответы, то читать дальше вам не стОит ;-)
Читать дальше →
Total votes 63: ↑59 and ↓4 +55
Comments 22

Regexp — это «язык программирования». Основы

Reading time 4 min
Views 25K
Несколько лет назад я думал, что regexp осуществляет линейный поиск по тексту, но какое моё удивление было, когда я понял, что это не так. Тогда я убедился на собственном опыте, что от простой смены местами а и b в схеме (...a...)|(...b...) поменялся полностью результат.

Поэтому сейчас я расскажу, как на самом деле работает regexp.
Поняв эти простые принципы и как оно работает, вы сможете писать любые запросы.
Для примера, я разберу сложную при первом приближении, но на самом деле простейшую задачу – выявление всех строк в кавычках.
Читать дальше →
Total votes 114: ↑101 and ↓13 +88
Comments 35

Плагин загрузки картинок для TinyMCE

Reading time 1 min
Views 9.3K
Несколько дней назад я писал о выходе новой версии своего плагина для TinyMCE, многие уже успели его потестировать, за что им огромное спасибо, все критические баги были исправлены.
Читать дальше →
Total votes 58: ↑56 and ↓2 +54
Comments 67

7 простых способов протестировать кроссбраузерную совместимость

Reading time 4 min
Views 70K
Эта статья предназначена для дизайнеров, верстальщиков, разработчиков и всех остальных людей, бьющихся с тестированием сайтов в нескольких браузерах.

Всего лишь год назад, хороших средств для тестирования кроссбраузерной совместимости сайтов практически не было. Инструменты, как правило, обладали серьезными недостатками – высокой ценой, скромными возможностями или затрачиваемым временем. Однако, в последнее время, в мире тестирования браузеров появилось много новичков, и некоторые из них являются прекрасными сервисами.

В этой статье, мы рассмотрим 7 простых инструментов для тестирования кроссбраузерной совместимости; инструментов, которые справляются со своей задачей очень легко, и к тому же, каждый из этих инструментов можно использовать бесплатно.
Читать дальше →
Total votes 99: ↑96 and ↓3 +93
Comments 57
1

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity