Ext.Direct что это такое?

В связи с просьбами читающих пришлось провести расследование в направление Ext.Direct.

Для чего же он?

Прямое назначение Ext.Direct это выполнение сценариев на стороне сервера, не зависимо от технологий и языков путем вызова методов на стороне клиента. Ext.Direct был реализован для многих популярных платформ: Читать далее...

Комментариев(6)

Тянущаяся строка поиска как на яндексе

Понадобилось мне сделать строку поиска на сайте, как на главной странице Яндекса. Чтобы input кнопка поиска занимала 100% от родительского блока. На яндексе поступили просто и сделали это с помощью таблиц. Этот вариант мне не понравился, таблицы все таки не для верстки предназначены да и тегов многовато (:. Использовать float лишний раз на странице может принести больше проблем, чем пользы тем более если есть способ и без него, что я дальше и покажу.

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

Комментариев(2)

Подход REST в PHP

Продолжим тему начатую в прошлой статье про подход REST, рассмотрим со стороны сервера с использованием языка PHP. Согласно принципу REST нам предстоит реализовать четыре операции: GET, PUT, POST и DELETE.

Примеры будут построены на основе классической схемы построения современных web приложений построенной по потерну MVC(Model View Controller). Мой код будет базироваться на моем движке но я думаю кто знаком с патерном MVC смогут понять, я рассмотрю только основные заморочки.

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

Комментариев(9)

Форматирование JSON данных

Мне приходится по много работать с javascript и AJAX. Передача параметров клиенту происходит с помощью формата JSON и не совсем в читабельном виде в виде длинной лапши. Отлаживать такую спагетти не совсем легко.

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

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

Комментариев(2)

Подход REST в ExtJS

В этой статье я хочу рассмотреть как можно с помощью ExtJS реализовать редактирование данных используя принцип REST(сокр. англ. Representational State Transfer, «передача состояния представления»). Согласно REST сервер должен поддерживать всего четыре операции: GET, PUT, POST и DELETE. Все запросы будут адресоваться на один и тот же скрипт а операции будут отличатся HTTP методом. За более подробной информацией можно обратится в википедию.

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

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

Комментариев(10)

Книга по ExtJs «ExtJS 3.0 Cookbook»

Появилась новая книга по известному javascript фраемворку ExtJs. В книге рассмотрено создание много функциональных RIA приложений с помощью ExtJS библиотеки javascript.

Эта книга поможет вам обуздать эту великолепную библиотеку. Вы научитесь использовать уже готовые компоненты входящие в ExtJS такие как деревья, таблицы,формы, диаграммы, меню, тулбары, и др. А так же создавать свои собственные и использовать компоненты других разработчиков.

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

Комментариев(0)

Список дат в MySQL

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

Вот собственно сам запрос.
<br/>
<span style="color: rgb(153, 51, 51); font-weight: bold;">SET</span> @rownum:<span style="color: rgb(102, 204, 102);">=-</span><span style="color: rgb(204, 102, 204);">1</span>;<br/>
<span style="color: rgb(153, 51, 51); font-weight: bold;">SET</span> @d_begin:<span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">'2009-04-10'</span>; <span style="color: rgb(128, 128, 128); font-style: italic;">/* Начало периода*/</span><br/>
<span style="color: rgb(153, 51, 51); font-weight: bold;">SET</span> @d_end:<span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(255, 0, 0);">'2009-12-20'</span>;   <span style="color: rgb(128, 128, 128); font-style: italic;">/* Конец периода*/</span><br/>
<span style="color: rgb(153, 51, 51); font-weight: bold;">SELECT</span> d<span style="color: rgb(102, 204, 102);">,</span>WEEKDAY<span style="color: rgb(102, 204, 102);">(</span>d<span style="color: rgb(102, 204, 102);">)</span> <span style="color: rgb(153, 51, 51); font-weight: bold;">AS</span> day<br/>
<span style="color: rgb(153, 51, 51); font-weight: bold;">FROM</span> <span style="color: rgb(102, 204, 102);">(</span><br/>
    <span style="color: rgb(153, 51, 51); font-weight: bold;">SELECT</span> adddate<span style="color: rgb(102, 204, 102);">(</span>@d_begin<span style="color: rgb(102, 204, 102);">,</span>interval @rownum:<span style="color: rgb(102, 204, 102);">=</span>@rownum<span style="color: rgb(102, 204, 102);">+</span><span style="color: rgb(204, 102, 204);">1</span> DAY<span style="color: rgb(102, 204, 102);">)</span> d <span style="color: rgb(153, 51, 51); font-weight: bold;">FROM</span> CITY <span style="color: rgb(128, 128, 128); font-style: italic;">/*Генерируем временную таблицу*/</span><br/>
<span style="color: rgb(102, 204, 102);">)</span> t<br/>
<span style="color: rgb(153, 51, 51); font-weight: bold;">WHERE</span> t<span style="color: rgb(102, 204, 102);">.</span>d<span style="color: rgb(102, 204, 102);"><=</span>@d_end <br/>
    <span style="color: rgb(153, 51, 51); font-weight: bold;">AND</span> WEEKDAY<span style="color: rgb(102, 204, 102);">(</span>d<span style="color: rgb(102, 204, 102);">)</span> <span style="color: rgb(153, 51, 51); font-weight: bold;">IN</span> <span style="color: rgb(102, 204, 102);">(</span><br/>
        <span style="color: rgb(153, 51, 51); font-weight: bold;">SELECT</span> ws<span style="color: rgb(102, 204, 102);">.</span>id_week <span style="color: rgb(153, 51, 51); font-weight: bold;">FROM</span> WEEK_SERVICE ws <span style="color: rgb(153, 51, 51); font-weight: bold;">WHERE</span> ws<span style="color: rgb(102, 204, 102);">.</span>id_service<span style="color: rgb(102, 204, 102);">=</span><span style="color: rgb(204, 102, 204);">214</span> <span style="color: rgb(128, 128, 128); font-style: italic;">/* Фильтруем по нужным дням недели*/</span><br/>
    <span style="color: rgb(102, 204, 102);">)</span><br/>
 

Может кому то пригодится. Если есть вариант лучше или предложения пишите в комментариях:)

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

Комментариев(1)

ХабраРедактор

Вот сделал редактор статей для любимого Хабра.

Возможности

  1. Удобная панель инструментов в стиле Office 2007
  2. Поддержка горячих клавиш (почти на весь функционал)
  3. Tab ставит именно табуляцию, а не прыгает на следующий элемент (ставит 4 пробела)
  4. Shif+Tab удаляет табуляцию
  5. Умный Enter (при переносе вставляет табуляцию как у предыдущей строки для выравнивания)
  6. Shift + Enter вставляет перенос строки в стиле HTML тег
  7. Подсветка кода с помощью библиотеки GeSHi, а это более 80 языков
  8. Обработка типографом
  9. Пред просмотр(как будет выглядеть на хабре)
Вот ссылка на ХабраРедактор

Эта страница будет домашней для «ХабраРедактора», по этому все пожелания и баги прошу оставлять здесь в комментариях. Если он всем полюбится то будет и дальше развиваться, идей куча что еще можно добавить плюс надеюсь вы подскажете.

Используемые библиотеки

  1. GeSHi
  2. Типограф
Читать далее...

Комментариев(7)

Выход silverlight 3 beta

Возможности новой версии silverlight впечатляют. Если сравнивать темпы развития flash и silverlight то последний далеко впереди.

Вот некоторые из возможностей:
  1. Поддержка высококачественного видео и аудио
    • Прямое вещание и доступность по запросу видео в формате HD (720p и выше) с динамическим изменением качества сигнала в зависимости от текущего канала
    • Поддержка новых форматов – H.264 на основе MPEG-4, AAC Audio
    • Новые возможности полноэкранного воспроизведения, в том числе HD-качества с использованием аппаратного GPU-ускорения
    • Поддержка формата Raw AV для создания сторонних кодеков
    • Возможность защиты контента через DRM
  2. Новые графические возможности
    • Перспективная 3D-графика
    • Пиксельные шейдерные эффекты
    • Кэширование графики
    • Новый API для отрисовки графики
    • Поддержка графических тем для приложений
    • Анимационные эффекты
    • Дополнительные возможности по стилизации элементов управления
    • Улучшенная отрисовка текста и работа со шрифтами
  3. Новые возможности для создания интерактиных приложений (RIA)
    • Более 60 готовых элементов управления с исходными кодами
    • Deep linking для создания ссылок внутри приложения
    • Возможности по поисковой оптимизации
    • Новые возможности по работе с данными – связывание между элементами, Data Forms, валидация данных, поддержка бизнес-объектов
    • Улучшенная производительность – кэширование библиотек, новые возможности Deep Zoom, бинарный XML, локальное связывание между Silverlight-приложениями
  4. Возможности работы без браузера
    • Поддержка ярлыков на рабочем столе и Главного меню операционной системы
    • Запуск без браузера
    • Защищенный режим «песочницы»
    • Легкая установка приложений без прав администратора
    • Встроенное автообновление приложений
    • Автоматическое определение соединения с Интернетом и работа без него
    • Интеграция с Windows 7 – панель задач, Multi-touch
  5. Возможности по accessibility
    • Доступ ко всем системным цветам для создания контрастных интерфейсов для слабовидящих пользователей
Для тех кто хочет опробовать бету:

Что думаете сможет ли silverlight потеснить flash?

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

Комментариев(0)

Делаем игру «Цветные линии» сами. Часть 2

Продолжим написание игры начатой в первой части. Для тех кто хочет просто поиграть вот вам сылка
Читать далее...

Комментариев(4)

Делаем игру «Цветные линии» сами. Часть 1

Эту игру многие знают, она из далекого детства называется "Цветные линии". Кому она не известна поясню правила игры, на квадратное поле бросаются шарики разных цветов, после каждого хода,кроме когда шарики сгорают. Нужно передвигая шарики выстраивать линии одного цвета по горизонтали, вертикали или диагонали. При чем перемещать шарики можно только в ту точку к которой они могут пройти. При выстраивание линий из 5 или более шариков, они уничтожаются. Сегодня я предлагаю ее сделать самим на javascript. Кому не охота дальше читать вот ссылка на законченный вариант игры. Читать далее...

Комментариев(4)

Первый пост

Как говорится "Сапожник без сапог", так и я, занимаясь сайтостроительством, не имел своего. Теперь и у меня появился свой блог. Постараюсь суда писать только самые интересные свои мысли. Раньше писал только на http://no-smoking.habrahabr.ru/blog/ теперь буду писать здесь.

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

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

Комментариев(0)