В очередном проекте я столкнулся с необходимостью активно работать с кросс доменными запросами на ajax, тема, как я вижу на хабре особо не поднималась и не освещалась, вот и решил поделиться с читателями свои опытом.
Халиуллин Данил @bifidokkread-only
User
Git Wizardry
17 min
452K1 Введение
В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.
Данный же топик задумывался как непосредственное введение в работу с git, нечто
среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
прочитать упомянутое выше введение. Сознательно избегаются технические
подробности работы git, употребляются только общие для СКВ термины и
ограничивается список упоминаемых команд.
+43
PHP + Word
4 min
87K
Что делать, если нужно создавать много Word файлов одинакового вида, но разного содержания? Например заполнять бланки, квитанции.
Есть 3 варианта:
1) использовать одну из библиотек для работы с Word документами
2) сохранить документ в формате docx, открыть архиватором и внутри мы увидим "\word\document.xml" — чистый xml, с которым можно работать через str_replace (спасибо Enuriru за подсказку)
3) использовать сторонний сервис, который сделает за меня большую часть работы
Первый вариант отпал сразу, т.к. необходимо было создать документ со сложным форматированием, а создавать его вручную, прописывая многочисленные параметры для каждой строчки, не было времени и желания.
Второй варинт хорош и прост, когда мы работаем с word документами в формате .docx, но к сожалению он не поддерживает формат .doc
В процессе проработки третьего варианта, наткнулся на интересное решение LiveDocx
Преимущества:
— файл шаблона можно создать привычным способом через Word
— представление документа в форматах doc, docx, rtf, pdf
— не нужно заморачиваться с представлением Word документа через html или XML
— простота подключения
— надежность — сервис существует давно и под него даже есть готовая библиотека от Zend
Недостатки:
— в бесплатной версии ограничение на 250 генерируемых документов в сутки
— шаблон нельзя менять (например нельзя сгенерировать таблицу с кол-вом строк, равным количеству элементов в базе)
+69
GitHowTo — тур обучения гиту на русском
1 min
15K
Спешу поделиться радостной новостью о запуске проекта GitHowTo — интерактивного тура-обучалки основам Git.
За основу были взяты идеи gitimmersion.com, но переведены на русский язык и немного изменены под реалии не-ruby разработки, поэтому спешите любить и жаловать — githowto.com!
Буду чрезвычайно рад любым замечаниям и пожеланиям к проекту.
+177
Фичи новой версии игрового фреймворка Flixel 2.5
4 min
2.1KTranslation
Не так давно вышла новая версия Flixel, довольно известного и популярного фреймворка для создания игр (последние изменения на github датируются 28 апреля). Теперь порядковый номер фреймворка достиг циферки 2.5. Данное обновление включает в себя несколько, на мой взгляд, интересных фич, которые могут ещё больше упростить жизнь Flash-разработчиков. Если вам интересен Flixel, то настоятельно рекомендую ознакомиться с оригинальным описанием, которое содержит ряд примеров, демонстрирующих новые фичи, о которых речь пойдёт ниже.
+17
Простое решение проблем с Flash в Ubuntu
2 min
140KБольшинство пользователей Ubuntu уже свыклись с безобразно работающим Flash, поставляемом в пакете flashplugin-nonfree. Лично меня релиз за релизом беспокоили разные проблемы, было мигание флешек, клик по чему-либо во флешке работал через раз, в общем нестабильная работа и стабильные тормоза. В Ubuntu 11.04 Natty Narwhal в моём случае Flash вел себя настолько отвратительно, что им было невозможно пользоваться. Но буквально неделю назад я наткнулся на простое решение, разом избавившее меня от всех проблем с flash на моей конфигурации. Самое примечательное — раньше заметно тормозило 480p видео в fullscreen, теперь даже 1080p проигрывается идеально плавно.


+33
Релиз Alternativa3D 8.5.0 (с поддержкой GPU)!
2 min
3KПредставляем вам раннюю версию движка Alternativa3D 8 с поддержкой Molehill 3D API для Flash Player 11. Технология задействует для обработки изображения графический процессор видеокарты. Это одновременно повышает и качество картинки, и производительность.
Центральный процессор компьютера полностью освобождается от нагрузки и может использоваться для других задач. Например, для обработки физической модели в трёхмерной игре. В то же время графический процессор позволяет увеличить максимальное число полигонов на экране до нескольких миллионов. Также значительно расширяется набор доступных эффектов. Тени, эффекты частиц, фотореалистичное освещение, постэффекты — всё это становится возможным прямо в браузере и приложениях для социальных сетей.
Демонстрация персонажной анимации
Модель состоит из 52 костей и имеет до восьми влияний костей на каждую вершину.

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

+38
.phar — исполняемые PHP-архивы
4 min
54KДанную статью я хочу посвятить одному интересному нововведению в PHP 5.2 (с версии 5.3 входит в стандартную поставку PHP) — PHAR.

PHAR — это утилита для создания исполняемых архивов в PHP, аналог JAR в Java.
PHAR ползволяет упаковать много файлов в один, в результате чего Ваше приложение может работать с целой библиотекой, как с одним файлом.
PHAR умеет создавать, читать, записывать и конвертировать такие форматы, как TAR, ZIP и, собственно, PHAR.
Доступ к файлам в архиве осуществляется напрямую, без необходимости распаковки архива, через PHP Stream Wrapper, тоесть с файлами из архива работают все функции, которые поддерживают PHP Stream Wrapper.

PHAR — это утилита для создания исполняемых архивов в PHP, аналог JAR в Java.
PHAR ползволяет упаковать много файлов в один, в результате чего Ваше приложение может работать с целой библиотекой, как с одним файлом.
PHAR умеет создавать, читать, записывать и конвертировать такие форматы, как TAR, ZIP и, собственно, PHAR.
Доступ к файлам в архиве осуществляется напрямую, без необходимости распаковки архива, через PHP Stream Wrapper, тоесть с файлами из архива работают все функции, которые поддерживают PHP Stream Wrapper.
+119
Простой способ расшарить localhost
1 min
15KИногда появляются проекты, глядя на которые возникает мысль: почему я не догадался сделать это раньше? Нечто подобное вы можете подумать о сервисе Showoff.io. Для веб-разработчика это простой и удобный способ тестировать проект в вебе и показывать заказчикам, расшарив локальный сервер через SSH-туннель. Просто устанавливаете программу, запускаете команду show с номером порта…
… и получаете рабочий URL типа https:// you.showoff.io. Работает даже через NAT.
> gem install showoff-io
> show 3000
… и получаете рабочий URL типа https:// you.showoff.io. Работает даже через NAT.
+50
+115
Подборка 10 css3 кнопок
4 min
91KС каждым днем новые стандарты css3 и html5 всё более глубоко входят в жизнь верстальщиков и web-разработчиков, а браузеры с каждым днем становятся все более совместимыми с этими стандартами.

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

В связи с этим событием хотелось бы представить Вам подборку 10 css3 кнопок, которые смогут облегчить вам жизнь при верстке и создании web приложений.
+188
Обзор плагинов ++
2 min
3.4KОчередной топик с обзором нескольких интересных плагинов jQuery.

Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.).
Узнать больше (англ.) | Посмотреть в действии
Mobily Map

Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.).
Узнать больше (англ.) | Посмотреть в действии
+134
MarkHtml
1 min
1.8KБиблиотека для чистки HTML кода от XSS вставок и лишних закрывающих тегов, позволяет фильтровать входные данные, способные нарушить работу сайта.
В отличии от других аналогичных библиотек, например Jevix, ставка сделана не на разрешающие теги и атрибуты, а на запрещающие. То есть, возможно вводить всё, кроме запрещённого.
В отличии от других аналогичных библиотек, например Jevix, ставка сделана не на разрешающие теги и атрибуты, а на запрещающие. То есть, возможно вводить всё, кроме запрещённого.
+21
Стремимся к минимализму (подборка сайтов, где можно черпать вдохновение)
1 min
33K
Ни для кого не секрет, что в настоящее время многие стремятся к минимализму в дизайне чего бы то ни было. Действительно, когда нет ничего лишнего, то повышается и восприимчивость информации. Но это все лирика. Сказано было это еще до меня и много. Предлагаю вашему вниманию подборку сайтов, посещение которых может направить ваши мысли по поводу разрабатываемого дизайна в нужное русло.
+100
Регулярные выражения, пособие для новичков. Часть 2
18 min
263KTranslation
В первой половине этого пособия мы раскрыли лишь малую часть возможностей регулярных выражений. Во второй, большей, половине мы рассмотрим некоторые новые метасимволы, то, как использовать группы для получения частей совпавшего текста, разбивать строки, находить и замещать части текста. В конце немного поговорим о распространенных ошибках.
+65
Собираем данные с помощью Scrapy
4 min
117KЗдесь уже проскакивали вскользь упоминания об этом фреймворке для сбора данных. Инструмент действительно мощный и заслуживает большего внимания. В этом обзоре я расскажу, как


- создать паука, выполняющего GET запросы,
- извлекать данные из HTML документа,
- обрабатывать и экспортировать данные.
+83
Регулярные выражения, пособие для новичков. Часть 1
14 min
920KTranslation
Регулярные выражения (РВ) это, по существу, крошечный язык программирования, встроенный в Python и доступный при помощи модуля re. Используя его, вы указывается правила для множества возможных строк, которые вы хотите проверить; это множество может содержать английские фразы, или адреса электронной почты, или TeX команды, или все что угодно. С помощью РВ вы можете задавать вопросы, такие как «Соответствует ли эта строка шаблону?», или «Совпадает ли шаблон где-нибудь с этой строкой?». Вы можете также использовать регулярные выражения, чтобы изменить строку или разбить ее на части различными способами.
+93
Наш опыт работы с Django, или 10 полезных модулей, облегчающих жизнь
4 min
38K+92
Аппаратно ускоренная графика во Flash на Windows и Linux
2 min
2KВдогонку целой коллекции хабрастатей на тему выхода превью Molehill (низкоуровневое API Actionscript для вывода аппаратно ускоренной графики во flash-плеере) предлагаю вашему вниманию способ сборки/запуска этой радости на Windows и Linux (Ubuntu 10.10)
+40
#404fest: Секция Организация работы
2 min
9KМой коллега Егор Гилев yegorg очень хорошо разбирается в вопросах организации работы, но плохо понимает в вопросах кармы на Хабре. Поэтому он попросил меня запостить его пост про его секцию на #404fest:
На прошедшем осенью Фестивале 404 была секция, посвященная вопросам организации работы, управления командами и развития бизнеса. Все доклады были записаны на видео и мы рады предложить их вашему вниманию.
В рамках этой секции я прочитал доклад о том, как компания Турбомилк устроена изнутри. Доклад назывался «Что получится, если дизайнерам доверить самим организовать свою работу»:

В рамках этой секции я прочитал доклад о том, как компания Турбомилк устроена изнутри. Доклад назывался «Что получится, если дизайнерам доверить самим организовать свою работу»:
+18
Information
- Rating
- Does not participate
- Location
- Челябинск, Челябинская обл., Россия
- Date of birth
- Registered
- Activity