Search
Write a publication
Pull to refresh
4
0
xRay @xRay

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

Send message

Мультисайтинг в Drupal

Reading time6 min
Views30K

Мне показалось странным, что на хабре эта тема практически не освещена и я постараюсь немного исправить эту ситуацию.

Я не сторонник англицизма, но в нашем языке нет даже похожего термина. Вкратце мультисайтинг можно определить как возможность использовать файлы движка для разных сайтов. Не стану разбираться в этимологии этого слова, но осмелюсь предположить, что его появление было связано с Drupal. Одним из наиболее распространённых примеров мультисайтинга может быть использование общей базы данных пользователей на нескольких сайтах. В друпале мультисайтинг реализован привлекательно, с точки зрения простоты и удобства, о чём я и решил написать.
Читать дальше →

Странный $_FILES или «проблема использования синтаксиса массива в полях формы типа файл»

Reading time3 min
Views17K
Меня всегда мучал вопрос по поводу того, почему так устроен массив $_FILES в PHP, точнее то, почему он очень странным образом формирует его. В случае, если имена полей формы оформлены с использованием синтаксиса массива, $_REQUEST, $_GET или $_POST будут содержать правильное представление, но… такое использование не подходит для $_FILES!
Решаем проблему под катом

Самый простой способ генерации xls в PHP

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

С модулем Spreadsheet_Excel_Writer я предпочел не связываться, по причине отсутствия необходимых ему модулей php на трех имеющихся у меня в наличии для тестирования серверах, хочется все-таки сделать код перетаскиваемый между серверами легко и просто.
php_write_excel оттолкнул полным отсутствием документации при необходимости сделать работу быстро (хотя в дальнейшем я хочу с этим модулем поразбираться).
Читать дальше →

JavaScript для чайников. Всё что вы хотели знать о функциях но боялись спросить

Reading time4 min
Views25K
Как-то незаметно для себя, я решил отойти от возни с классами и паттернами, и разобраться с самыми обычными Js функциями. Думал, что будет достаточно скучно, но ошибся — оказалось очень даже интересно.

В этой статье я расскажу об особенностях объявления функций, и некоторых полезных паттернах (кхе-хе, да, они есть и тут)

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

Вышел MODX Revolution 2.2 RC1

Reading time2 min
Views3K
MODX Revolution 2.2 имеет все шансы стать самым большим релизом, из вышедших до этого. Разработчики потратили огромное количество времени на улучшение административного интерфейса чтобы сделать работу удовольствием как в эстетическом, так и в плане производительности.

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

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

Еще один способ держать провода в порядке

Reading time1 min
Views9.2K


Доброго всем утра!
Как видно на фотографии, мною был обнаружен еще один способ содержания проводов в порядке. В общем-то, все видно из приложенного изображения, но ежели кто хочет подробностей, фотоурока быстрого монтажа конструкции и результаты — прошу под кат.
Читать дальше →

Обзор ExtJS 4. Опыт портирования со старой версии

Reading time6 min
Views6.3K
Несмотря на то, что четвертая версия каркаса ExtJS вышла уже достаточно давно, материалов по этой версии на хабре не слишком много. А если учесть, что в четвертой версии существенно переработан API, структура классов и предлагаемая архитектура приложения, то, как мне кажется, тут есть, о чем поговорить.

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

OS.js: десктоп на JavaScript

Reading time2 min
Views16K
Разработчик Андерс Эвенруд (Anders Evenrud) сделал любопытный проект OS.js, который он называет «операционной системой на Javascript».



Название поменяется в ближайшее время, потому что оно не отражает реальность: на самом деле OS.js — не операционная система, а оболочка и оконный менеджер в стиле Linux, с комплектом приложений на HTML5 и CSS2+, с PHP-бэкендом. Из приложений есть часы (HTML5-SVG, CSS2), видеоплеер (HTML5-Video), аудиоплеер (HTML5-Audio), файловый менеджер, терминал, графический редактор (HTML5-Canvas), игры и прочее. Они разработаны, в основном, на Glade Interface Designer (GTK+3 XML).
Читать дальше →

Настройка Database Mail в MS SQL Server 2005 и старше

Reading time8 min
Views73K
Все описанное в этом посте будет актуально для Microsoft SQL Server 2005 и старших версий (2008, 2008 R2, Denali). Так же, в рамках этого поста, словосочетание «SQL Server» будет обозначать только Microsoft SQL Server, исключая MySQL, PostgreSQL, FireBird и прочие СУБД, которые, теоретически, можно назвать SQL Server.

Что это за штука такая, Database Mail?


Database Mail появился в SQL Server 2005, заменив собой компонент SQLMail. Database Mail (как ранее SQLMail) используется для отправки сообщений электронной почты самим SQL Server'ом (точнее, его компонентом Database Engine). Коренным отличием Database Mail от SQLMail является то, что последний, для отправки сообщений, использовал стороний клиент (Microsoft Outlook), который должен был быть установлен на машине с SQL Server'ом, а Database Mail сам общается с почтовым сервером по протоколу SMTP.

Для чего это надо?

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

jQuery Mobile 1.0

Reading time2 min
Views4.5K


После более года разработки увидел свет финальный релиз jQuery Mobile 1.0 на базе jQuery 1.6.4 (поддержка jQuery 1.7 появится с версии jQuery Mobile 1.1). Этот фреймворк создан для разработки сайтов с тач-интерфейсом при помощи привычных HTML, CSS и JavaScript. Инструменты вроде PhoneGap позволяют легко трансформировать сайт HTML5 в мобильное приложение и распространять его через магазины приложений.
Читать дальше →

Одновременная межсайтовая аутентификация без велосипеда

Reading time6 min
Views22K
Одновременная межсайтовая аутентификация (SSO), для чего же она нужна? Допустим у нас есть, назовём его анахроничным термином «портал», с блогами, фотками, фейлами (или файлами, кому как), назовём его fail.ru (не путать с одноимённым сервисом почты на букву М), причём всё это усложнено следующими факторами:
— функционал совершенно разный;
— код написан разными людьми, с испольованием разных технологий;
— работает всё это на разных серверах в разных датацентрах и с разными базами данных;
— сервера находятся на разных доменах.

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

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

Далее мы рассмотрим самописные альтернативы, OpenID, OAuth, SAML, и почему всё это в общем случае не слишком хорошее решение, вопросы хранения аутенитификационных данных, а также некоторые вопросы безопасности в которые без хороших знаний самому лезть не стоит, что такое вообще межсайтовая аутентификация, развеем некоторые мифы.
Шок, ужас, потрясение

Наполняем абонементы nanoCAD плюшками – или можно ли заработать деньги на бесплатном?

Reading time5 min
Views6K
Наша компания («Нанософт») продолжает разработку проекта nanoCAD, в котором пытаемся совместить несовместимое: разработку доступной (во всех смыслах) отечественной САПР-платформы с получением финансов, достаточных для дальнейшего существования и развития.

Напомним, что мы разрабатываем и выпускаем универсальную систему проектирования nanoCAD с 2008 года. Саму программу распространяем абсолютно бесплатно – зарегистрируйтесь на официальном сайте и получите лицензию. Работайте и зарабатывайте – nanoCAD это позволяет как юридически, так и технически: функционал подтянулся к именитым САПР, формат файла (DWG) позволяет использовать старые наработки, а число багов стремительно сокращается.

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

Если с первым более-менее ясно, то второе – это очень большой вопрос для дискуссий. Хочу вынести свои мысли на обсуждение – может быть кому-то будет интересно; а может кто-то и своими поделится…
Читать дальше →

Маршруты общественного транспорта в Саратове и Энгельсе

Reading time1 min
Views8.4K
Яндекс.Карты научились строить маршруты общественным транспортом по Саратову и Энгельсу. Сервис предложит вам до трех вариантов проезда из точки А в точку Б на всех доступных в городе видах транспорта: автобусах, троллейбусах, трамваях и маршрутках.

От Луны до Солнца в среднем 149,9×106 км или 8,5 световых минут. А чтобы добраться от Лунной улицы до Солнечной, необязательно передвигаться со скоростью света. Садитесь на маршрутку №115 – через пол земных часа вы окажетесь на месте:



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

Подобрать удобный маршрут общественным транспортом с помощью своего мобильного телефона смогут владельцы Android. Скачать бесплатное мобильное приложение Яндекс.Карты можно в Android Market.

Команда Яндекс.Карт

Бесплатный комплект значков «Aroma»: 150 обычных пиктограмм и чуть больше сотни изображений клавиш клавиатуры

Reading time1 min
Views2.6K
Вчера (17 ноября 2011 г.) в «Smashing Magazine» был опубликован комплект бесплатных значков «Aroma», созданный Оливером Твардовским.

Бóльшая часть его — полторы сотни пиктограмм и идеограмм 24×24 пиксела:

[предпросмотр]

Остальные значки (я насчитал их 103) изображают клавиши клавиатуры.

Скачать их можно в ZIP-архиве (≈полтора мегабайта), прямую ссылку на который есть просьба не приводить за пределами «Smashing Magazine» (так сказано в readme.txt ко значкам). Мне кажется, эта просьба автора разумна, так как позволяет ему в случае чего оперативно переменить предлагаемую закачку и пресечь дальнейшее распространение прежних версий архива из разошедшихся по Сети копий и переводов блогозаписи.

LG SMART TV (обзор, вопросы, о контенте)

Reading time4 min
Views186K
Вступление

Привет, Хабр! Здравствуйте, друзья!

Тема этого поста – «умное телевидение» или Smart TV. Краткий, но емкий обзор, что у нас есть уже сейчас и что будет в ближайшем будущем.

image

Краткое содержание поста:

1. LG Smart TV в двух словах – что это, что есть в LG Smart TV в России.

2. Особенности платформы LG Smart TV, чем мы отличаемся от конкурентов.

3. Типы сервисов, доступных на телевизорах уже сейчас.

Интересно? Читаем дальше --->
Читать дальше →

Деперсонализация базы MySQL. Интересная техника

Reading time3 min
Views5.3K
image

В компании, где я работаю, мы используем деперсонализированную базу с Production-a. Ее суммарный объем на данный момент около 30 ГБ. Обфускация ruby скриптом занимала около 6 часов. Ускорение обработки можно добиться, если переписать это все в хранимую процедуру (stored procedure). Но у нас в проекте они запрещены… Увы и ах.

Тогда я задался вопросом: можно ли ускорить процесс по максимуму, деперсонализировать всю базу (или хотя бы полностью одну таблицу) используя только один оператор update? Проблема в том, что некоторые поля д.б. уникальными, а некоторые случайными значениями из списка.

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

Асинхронный UI: будущее веб-интерфейсов

Reading time4 min
Views7.5K
В то время как Ajax стал мейнстримом, пользовательские интерфейсы по-прежнему не могут похвастаться мгновенной отзывчивостью к действиям пользователя. Причина в том, что многие разработчики привыкли мыслить в терминологии «запрос/ответ» и думают, что UI должен работать параллельно с фронтэндом, дожидаясь ответа от сервера на каждый запрос. Но почему бы не обновлять интерфейс раньше, чем пришёл ответ?

Проблема довольно острая, потому что быстродействие является критически важной характеристикой UI. Например, по оценке Amazon, задержка загрузки страницы всего лишь в 0,1 секунды приводит к снижению оборота магазина на 1%. По оценке Google, задержка в 0,5 секунды уменьшает количество поисковых запросов на 20%.

Ruby/JavaScript-разработчик Алекс Маккоу (Alex MacCaw) из компании Twitter предлагает логичное решение проблемы: распространить принципы Ajax не только на фронтэнд, но и на пользовательский интерфейс. Он разработал соответствующий фремйворк для того, что называется AUI (асинхронный интерфейс пользователя).
Читать дальше →

Вышел 2.0.2, скоро слет пользователей и 2.0.3

Reading time5 min
Views2.1K
Мы тут дотестировали, собрали бинарные пакеты и выложили версию Sphinx 2.0.2-beta (это такой опен-сорсный поисковой сервер, использующийся на куче вебсайтов), запланировали на середину декабря (революционное изменение!) к выпуску Sphinx 2.0.3-release, а также усердно готовимся к (бесплатному) слету пользователей Сфинкса 04 декабря в Санкт-Петербурге. Зарегистрироваться на слет нужно по ссылке чуть выше, подать крутой доклад через нашу контактную форму, а ряд подробностей про те ~30 новых фичей и планы/сроки по ближайшим релизам и их циклу можно прочитать под катом.
Читать дальше →

HTML5: Web Workers и AJAX

Reading time4 min
Views50K
Все прочнее в среду разработчиков входит HTML5. Важным его достоинством является наличие такой технологии, как web workers, которая позволяет в некоторой степени обеспечить, если не мультипоточность, то ее подобие при выполнении скриптов.

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

Как стать Microsoft Certified Professional? И зачем?

Reading time4 min
Views21K
Доброго времени суток, %username%. Сдав очередной экзамен на сертификацию от Microsoft: MCITP: Database Developer 2008 я решил поделиться своим, пусть и не очень большим (пока только MCTS, MCPD и MCITP), опытом прохождения данных экзаменов.

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

Если коротко отвечать на вопрос «Как подготовиться к экзамену?», то я ответил бы на него так: Пиши код, блять (вы уж простите за мат, но из песни слова не выкинешь)

Если желаете подробностей и ответов на вопрос «а зачем оно тебе, ведь сертификаты уже не модно?», прошу под кат.

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

Information

Rating
Does not participate
Registered
Activity