Как стать автором
Обновить
411.63

Веб-разработка *

Делаем веб лучше

Сначала показывать
Период
Уровень сложности

Сколько игр стали делать?

Время на прочтение1 мин
Количество просмотров23K
image
На днях обсуждался вопрос актуальности различных игровых жанров в данный момент и пришли к выводу, что трезво оценить никто не может, потому что каждый отталкивается от своих собственных ощущений. Тогда подумалось набрать статистики по истории для PC и посмотреть на тенденции…
Читать дальше →

SlickGrid documentation improvement

Время на прочтение2 мин
Количество просмотров8.7K
SlickGrid – небольшой javascript-компонент для отображения таблиц. Отличительной чертой этого компонента является концентрация на порядке отображения информации, а не на работе с ее (информации) источником. Другой отличительной чертой SlickGrid является весьма скудная документация, в том числе описание того, что касается работы через AJAX.
Читать дальше →

Отслеживание изменений в свойствах Js объекта с использованием dirtyFlag из пакета KoLite

Время на прочтение5 мин
Количество просмотров3.7K

Для отслеживания изменений, в объекте ViewModel, может помочь dirtyFlag, входящий в состав библиотеки KoLite, которая в свою очередь расширяет возможности knockout, добавляя новые возможности:

  • dirtyFlag — предназначен для отслеживания изменений как в отдельных, так и в совокупности свойств ViewModel
  • asyncCommand — предназначается для выполнения асинхронных команд
  • activity — предназначена для индикации активности. Используется совместно с asyncCommand


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

Стриминг 2.0: что ждет радио и ТВ завтра?

Время на прочтение5 мин
Количество просмотров4.6K
Мир вокруг меняется, кассеты сменились дисками, а диски — файлами, файлы — стримингом, но если задуматься, это не революция, а эволюция. Революция сопровождает сейчас преимущественно газетно-журнальную журналистику, а радио и интернет просто адаптируются. Печатным журналистам нужно осваивать мир, ставший во много раз более динамичным, в то время как формат телевизионного и радиовещания по сути не поменялся. Телеканал «Дождь», например, стал охватывать интернет-аудиторию, но никакого технологического прорыва в самом вещании не случилось. С точки зрения механизма доставки контента сменилась только среда передачи данных, разве что появилась возможность смотреть архив, да читать расшифровки. Телевидение идет в сторону количественного развития, а не качественного — увеличиваются мегапикселы, в звонках в эфир пейджеры и телефоны сменяются твиттерами и форумами. Скоро до нас дойдет цифровое радио — но по сути, это просто другая упаковка того же стриминга. Революции нет.

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

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

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

Создаем RESTful web service на Java с использованием Eclipse + Jersey + Glassfish3

Время на прочтение8 мин
Количество просмотров72K
Добрый вечер всем!

Не так давно (в феврале этого года), я решил заняться программированием. В качестве языка был выбран Java. И с того момента я упорно изучаю все возможности данного языка. Недавно наткнулся на статью про RESTful на хабре. Прочитал и понял, что надо осветить альтернативный способ создания данных сервисов. Ещё меня поразило, насколько некоторые статьи пишутся непонятно для новичков. Я решил написать статью в которой расскажу и о прикладной части создания веб сервиса.

Я не претендую на истину. Я просто хочу показать простой и быстрый способ создать веб сервис.

Начало


Необходимое ПО

Самое главное это IDE. Я предпочитаю Eclipse. Данный проект я написал в Eclipse for Java EE Developers Juno. Четно говоря, предыдущий релиз был стабильнее, но этот внешне приятнее. В качестве фреймворка для REST я выбрал Jersey. Его легко найти и скачать. Точно так же как и саму IDE. В качестве сервера я установил GlassFish плагин для эклипса. Инструкцию по его установке точно так же легко найти. Ну на этом и всё.

Создание проекта

Итак. У нас есть Eclipse, папка с JAR-файлами Jersey и установленный GlassFish плагин. Теперь запускаем Eclipse и создаем пустой Dynamic Web Project, на последней вкладке не забываем отметить чек-бокс, который отвечает за генерацию web.xml файла.
Читать дальше →

DataSet’ы в Web-сервисах – это порождение дьявола и всё мировое зло

Время на прочтение3 мин
Количество просмотров7.1K
(Нет, на самом деле я в это не верю, но ведь неплохой заголовок получился, не так ли? DataSet’ы имеют право на существование, но только не в качестве внешних бизнес-объектов или контрактов Web-сервисов).
Читать дальше →

Практический пример внедрения инспекции кода

Время на прочтение2 мин
Количество просмотров18K


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

Повышаем безопасность стека web-приложений (виртуализация LAMP, шаг 5/6)

Время на прочтение6 мин
Количество просмотров8.8K

Настройка web-сервера Lighttpd  на работу со статическими файлами сетевой файловой системы (NFS)


Пятый урок цикла статей по настройке web-стека LAMP на виртуальных машинах будет посвящен обслуживанию статических файлов.

lighttpd web-сервер отвечает за предоставление доступа через HTTP или HTTPS протокол к статическому контенту. В этом примере я собираюсь установить и использовать Lighttpd web-сервер, привязав DocumentRoot к vm05:/exports/static mounted смонитрованной в /var/www/static. Все приведенные ниже команды вам необходимо вводить исключительно на vm01 с IP-адресом 192.168.1.10.
Читать дальше →

Корректная работа postback в ASP.NET веб-приложенях в полноэкранном режиме на iOS устройствах

Время на прочтение3 мин
Количество просмотров4.2K

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

В чем же был проблема и как ее решить — вы узнаете дальше.
Читать дальше →

MVC-подход к реализации пользовательского интерфейса в Delphi. Часть 3. Объекты

Время на прочтение8 мин
Количество просмотров17K

В предыдущих частях статьи (1, 2) я показал, каким образом можно организовать работу с внутренними данными приложения и пользовательским интерфейсом через одну точку входа — модель. Изменения модели автоматически отражались в пользовательском интерфейсе. При этом для упрощения в качестве модели я использовал простые property класса формы, setter которых может привести GUI интерфейс к текущему состоянию модели. В данной части статья я покажу, как интерфейс может реагировать на изменения самих объектов внутри приложения.
Читать дальше →

Велосипед: альтернатива iframe на jQuery.ajax как инструмент разработки mash-up приложений. Есть ли смысл?

Время на прочтение8 мин
Количество просмотров24K
альтернатива iframeВсем привет! Хочу предложить вниманию сообщества технический механизм, позволяющий без лишних усилий сделать iframe-подобное приложение, работающее на ajax. В качестве основы использованы jQuery и easyXDM.

Техническое описание, прототип, предположения о возможных вариантах использования и сомнения под катом.

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

Padrino для frontend разработчика

Время на прочтение3 мин
Количество просмотров4.7K
Видимо, только второй пост на хабре с участием Padrino за 2 года ;)



Используйте HAML для генерации HTML



Используйте SASS для генерации CSS



Используйте Coffee Script для генерации JS



Скачайте шаблонное приложение, установите инструментарий и начните разработку немедленно.

10 минут и все работает даже под Windows.

Ага! Вот чем я займусь в выходные!

Ближайшие события

Объединение CKEditor 3.6.3, prettyPhoto и AjexFileManager

Время на прочтение3 мин
Количество просмотров4.8K
Доброе время суток!

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

prettyPhoto — Красивая фото галерея.

AjexFileManager — Файловый менеджер. В Нашем случае он будет грузить картинки.

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

Простейший сервис Вопрос/Ответ, используя Formspring

Время на прочтение3 мин
Количество просмотров5.9K
В данной статье я покажу, как можно использовать сервис анонимных вопросов Formspring для организации раздела «Вопрос/Ответ» на стороннем ресурсе на PHP.

Formpring API в природе существует (REST-like), но сейчас находится на стадии «беты», и полноценно им пользоваться могут, насколько я понял, лишь избранные. На странице для разработчиков пишут: «The API is currently limited to a select group of users and partners right now». Нужна регистрация, которая не тут же выплёвывает необходимые для работы ключи. Я уже посылал свою заявку какое-то время назад, но ответа так и не получил. Однако, некоторыми методами API можно пользоваться, не проходя аутентификации (банальное получение информации).

Сейчас я покажу, как лично я обошёл возникшие проблемы. Как я уже отметил в заголовке, это простейший сервис, который сможет:
  • Задавать анонимно вопросы;
  • Выводить список ответов.

Для работы с сервисом нам, естественно, потребуется аккаунт на Formspring. Начнём с простого и очевидного: вывод ответов с аккаунта.
Читать дальше →

DOM-библиотека Laconic

Время на прочтение2 мин
Количество просмотров1.3K
Laconic обеспечивает интуитивный подход к генерированию DOM джаваскриптом. Исходный код Laconic выложен на Гитхабе.

При использовании стандартного DOM API для создания вложенных друг в друга элементов простой таблицы потребовался бы вот какой код:

ворох кода
var firstTh = document.createElement('th');
firstTh.appendChild(document.createTextNode('first name'));
var secondTh = document.createElement('th');
secondTh.appendChild(document.createTextNode('last name'));
var firstTr = document.createElement('tr');
firstTr.appendChild(firstTh);
firstTr.appendChild(secondTh);
var firstTd = document.createElement('td'); 
firstTd.appendChild(document.createTextNode('Joe'));
var secondTd = document.createElement('td'); 
secondTd.appendChild(document.createTextNode('Stelmach'));
var secondTr = document.createElement('tr');
secondTr.appendChild(firstTd);
secondTr.appendChild(secondTd);
var table = document.createElement('table');
table.appendChild(firstTr);
table.appendChild(secondTr);
document.body.appendChild(table);

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

$.el.table(
  $.el.tr(
    $.el.th('first name'),
    $.el.th('last name')),
  $.el.tr(
    $.el.td('Joe'),
    $.el.td('Stelmach'))
).appendTo(document.body);

Laconic добавляет в пространство имён $.el по одному методу для каждого из известных элементов HTML. Этим методам при их запуске передаётся список аргументов, имеющий переменную длину и состоящий из дочерних элементов, строк, чисел, или массивов элементов этих типов. Первым аргументом метода может быть необязательный объект, содержащий атрибуты элемента. Вот пример:

$.el.div({'class' : 'example'}, 
  $.el.div('content'));

Код этого примера создаст такую структуру элементов:

<div class='example'>
  <div>content<div/>
</div>

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

HTML5-карты для мобильных платформ

Время на прочтение2 мин
Количество просмотров2K
На днях команда HTML5-карт Nokia предоставила API карт под смартфоны и планшетники.

С места — в карьер!

Попробовать можно по ссылке: bit.ly/html5map
На данный момент поддерживаются Webkit-браузеры.

Достоинства и возможности

  • Компоненты
    Карты, пробки, поиск, геолокация, информация об интересных местах, навигация, пешеходные маршруты, избранное.
  • Вес
    80 KB Javascript + 10 KB CSS
  • Производительность
    Быстрая загрузка и плавные эффекты.
  • Готовность
    Можно легко поменять цвета, обернуть в PhoneGap или QtWebkit и получить готовое приложение.
  • WYSIWYG-помощник
    Помогает настроить конфигурацию под себя.

Подробнее обо всех возможностях

Drag and drop изображений во Flash в браузере

Время на прочтение5 мин
Количество просмотров2.2K
В ходе тестирования своего сервиса собралось достаточное количество фидбека, что олдскульный способ загрузки файлов в приложение не уносит. Люди хотели drag and drop и пытались перетащить картинки прямо с рабочего стола. Приложение у нас занимает весь экран браузера и написано на флеше, так что прямого способа решить задачу не нашлось.

Поразмыслив и погуглив решили реализовать D&D хотя бы для хрома вот так:
Когда пользователь переключается с вкладки с приложением, т.е. она теряет фокус, поверх флешки накладывается div на который навешано событие отлова дропнутых файлов.
Затем через ExternalInterface изображение в виде ByteArray передается во flash, где оно декодируется и отображается.
Читать дальше →

Анонс вебинара: Как и когда исполняются приложения в стиле Metro для Windows 8

Время на прочтение1 мин
Количество просмотров6.2K

Приложения в стиле Metro для Windows 8 имеют отличный от привычных нам настольных приложений жизненный цикл. Они перестают исполнятся, практически сразу, как только пользователь перестаёт их видеть, они могут активироваться несколькими различными способами.

Как же выполнять задачи, для которых для настольных приложений используются разнообразные сервисы, работающие в фоновом режиме? Система предоставляет специальные механизмы, чтобы выполнять определённые, необходимые приложению задачи, когда само приложение не исполняется, позволят обновлять тайлы и отображать статус приложения на lock screen. Система предоставляет специальные механизмы для приложений обмена сообщениями (RTC).

Во время вебинара мы постараемся погрузиться в мир приложений в стиле Metro для Windows 8 и узнать,
как и когда исполняются приложение в стиле Metro для Windows 8.
Читать дальше →

Автоматический BusyIndicator для асинхронных операций и не только

Время на прочтение3 мин
Количество просмотров5K
Использование такого компонента как BusyIndicator привнесит в наше приложение приятные (индикация процесса) и полезные (блокировка элемента управления) качества. Однако до последнего времени я редко использовал его, т.к. при асинхронном получении источника данных приходилось постоянно писать дополнительный код для включения/выключения. При синхронной работе ситуация вроде как упрощается, но использование MVVM-модели всё-равно требует дополнительных телодвижений. Особенно, если BusyIndicator добавляется в самом конце разработки формы.

Поэтому, я решил максимально автоматизировать этот процесс, чтобы мне не приходилось писать ни строчки кода. Итак:
Читать дальше →