Обновить
454.97

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

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

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

CDN своими руками или раздача видеоконтента

Время на прочтение5 мин
Охват и читатели11K
[ Часть I. Доставка видеоконтента ] [ Часть II. CDN своими руками ]

В продолжение темы про доставку видеоконтента: мы обеспечили хранение и обработку контента, как теперь отдать контент таким образом, чтобы он оказался как можно “ближе” к потребителю? Большая часть статьи будет посвящена обобщенному подходу географически распределенной раздачи контента, а в конце в качестве примера описанный подход будет применен к доставке видеофайлов и вещаний конечным пользователям.

Кроме самого факта, что контент был доставлен пользователю, мы должны обеспечить качество доставки контента. Для FLV-файла видео это означает, что скорость, с которой он доставляется пользователю, должна быть выше либо равна битрейта потока, иначе видео у пользователя при просмотре будет «затыкаться».

Кроме того, имеет смысл «приблизить» контент к пользователю географически. Это связано с пропускной способностью каналов (отсутствием иногда хороших магистральных каналов), а также с разницей в стоимости локального и внешнего трафика для конечного пользователя (например, в регионах РФ).

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

Таким образом, осознав необходимость географической распределенности для контента, мы покупаем/арендуем сервера в непосредственной близости от потребителя: в Европе, США, Украине, Екатеринбурге и т.д.

Что же делать дальше?

Делаем полноценный JS-прелоадер для AJAX-приложения

Время на прочтение5 мин
Охват и читатели39K
Многие программисты оптимизируют JavaScript и CSS-код, чтобы страница грузилась быстрее.
Но не все они делают прелоадеры, которые дают пользователю эффект субъективно более быстрой загрузки.
хочу продолжения

Доставка видеоконтента пользователям

Время на прочтение7 мин
Охват и читатели12K
[ Часть I. Доставка видеоконтента ] [ Часть II. CDN своими руками ]

Что такое «контент» для видеохостинга? Во-первых, контент видеохостинга – это просто видео, которое представляет собой набор файлов в различных форматах, в частности, в формате FLV для просмотра пользователем через Flash Player. Эти файлы статичны, видеохостинг при загрузке пользователем видеоролика осуществляет конвертацию во все требуемые форматы с необходимым битрейтом. Хранение такого контента — это хранение обычных файлов, только довольно большого размера. Отдача контента — это, по сути, организация скачивания файлов.
Во-вторых, контент видеохостинга — это «живые» потоки или вещания. Вещания не записываются на диск, не происходит их конвертация, потоки раздаются клиентам с учетом пропускной способности каналов (происходит пропуск пакетов, если канал клиента недостаточен для получения потока вещания в полном качестве). Отдача контента в данной ситуации — это раздача потока на большое количество подключенных пользователей (тысячи смотрящих).
Читать дальше →

Опрос от Web Directions

Время на прочтение1 мин
Охват и читатели839
Создатели Web Directions — серии конференций посвященных web-разработке устраивают опрос с целью понять положение вещей в web-е. Если вы так или иначе занимаетесь web-разработкой и понимаете слово-другое по английски, то не поленитесь поучаствовать в данном опросе. Это займёт 5-10 минут вашего времени. Спасибо.

Верстка скругленных границ и острых углов

Время на прочтение4 мин
Охват и читатели21K
Сложность элементов интерфейса увеличивается с каждым новым макетом, что доставляет немало хлопот верстальщикам. Развивающиеся технологии позволяют создавать в WEBе сложные приложения (Google не даст мне соврать), поэтому дизайнеры себя не сдерживают и рисуют всё более навороченные вещи. Как правило, это приводит к большому количеству графики на страницах.

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

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

Три первых шага к оптимизации LAMP

Время на прочтение2 мин
Охват и читатели5.6K
Бытует мнение, что связка LAMP (Linux+Apache+Mysql+PHP) не требует особой настройки и работает «из коробки». Это далеко не так. После того, как я долго убеждал товарища установить кеширующий акселератор PHP xcache, я решил провести небольшой эксперимент и попробовать выключить xcache на своём виртуальном сервере, находящемся под небольшой нагрузкой (около хита в секунду). В реальной жизни нагрузка на процессор мала, а вот память загружена сильно, т.к. её немного (256МБайт).

Результаты эксперимента превзошли все ожидания.
Читать дальше →

Тег label

Время на прочтение1 мин
Охват и читатели21K
Когда уже горе-верстальщики научаться использовать этот тег? Повсюду в проекте такие ляпы:

<form ...>
 <input type="checkbox" ..> Поставьте галочку, чтобы стало зае...сь <br>
 ...
</form>


Видя такое, пользователь сначала кликает на надпись, обламывается, кликает на сам чекбокс.
Разве нелья было сразу сделать так?
<form ...>
 <label><input type="checkbox" ..> Поставьте галочку, чтобы стало зае...сь</label><br>
 ...
</form>


Некоторые даже вешают обработчик события OnClick на кусок текста, лишь бы не использовать label… :(

Ускорение нарезки макета в Photoshop

Время на прочтение1 мин
Охват и читатели34K
При создании html-макета страницы иногда приходится иметь дело с множеством однотипных картинок. Например, выпало верстать фотоальбом. Нужно нарезать порядка двадцати «превьюшек», потом их всех поименовать и сохранить. Рутина.

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

Javascript: Visual Event

Время на прочтение1 мин
Охват и читатели9.2K
Отменнейшая JS библиотека, базированная на jQuery. Позволяет простым наведением мыши на объект увидеть все event'ы, которые на него повешены. Запускается через букмарклет.

Подробности на странице автора.

http://www.sprymedia.co.uk/article/Visual+Event

P.S. Я хотел разместить пост-ссылку, но хабру, видимо, не нравится плюс в URL…

Запуск проекта на разных хостах

Время на прочтение4 мин
Охват и читатели3.9K
Наверное, каждый разработчик встречался с задачей запуска одного проекта на разных компьютерах. В простом случае это машина разработчика и «боевой» сервер. Ещё сложнее ситуация, если в разработке участвуют несколько человек, и у каждого свои настройки.

Сложность здесь в том, что разное окружение (доступ к БД, расположение файлов и проч.), будучи «жестко» прописанным в файле конфигурации, заставляет нас постоянно этот файл править. Кроме того, файлы настроек часто заливаются в репозиторий, и после очередного обновления кода у вас всё перестаёт работать.

Для решения проблемы я использовал два метода.
Читать дальше →

Как Хабр тестировал Visual Studio

Время на прочтение3 мин
Охват и читатели1K
В конце сентября пользователи Хабра собрались в московском офисе Microsoft, чтобы потестировать только что переведенные на русский язык Visual Studio 2008 и документацию MSDN. О том, почему людей для этого большого дела Microsoft искала именно у нас, кого ждут памятные наручные часы с логотипом, о веб-Ломоносовых, веб-Холмогорах и о многом другом мы поговорили с руководителем направления по продвижению инструментов для разработчиков Денисом Котляровым и директором департамента стратегических технологий Microsoft Дмитрием Халиным.

Гайдар Магдануров (gaidar), который собирал людей на Хабре, говорил, что только у нас в одном месте можно найти разработчиков самого разного профиля. И Денис Котляров соглашается: «Мы получили очень хорошую выборку специалистов. Участников тестирования по заявкам выбрали случайно, и среди них оказались люди всех возрастов, из многих регионов (даже из Новосибирска приехали, а ведь все за свой счет), из самых разных профессиональных областей — веб-разработка, внутрикорпоративная и разработка коробочного ПО.

Почему именно Хабр? А у нас, на самом деле, не было особого выбора — других таких крупных независимых IT-комьюнити у нас в стране нет. Это, наверное, хорошо для Хабра, но для сообщества в целом — не очень.»

Самый активный участник тестирования оставил 281 замечание, правда, почти все они касались орфографии и запятых. А подарочные часы с логотипом за лучший вклад получил, как известно, не он. Часы — это вообще отдельная тема. Денис говорит, что их хотят заполучить многие, предлагают за них деньги. Но получают их только те, кто внес вклад в локализацию и «проявил свою любовь» к Visual Studio. Это команды разработчиков, переводчики, популяризаторы.
Читать дальше и смотреть часы

«Платформа-2009» ждет хабралюдей

Время на прочтение1 мин
Охват и читатели568
4-5 декабря в здании Российской Академии Наук в Москве пройдет 10-я ежегодная конференция для IT-профессионалов «Платформа-2009». Как и всегда, несмотря ни на какие кризисы, посетителей там будут ждать:
  • более 60 докладов о новейших и уже зарекомендовавших себя технологиях, разделенных на несколько тематических секций;
  • практические занятия, лабораторные классы и круглые столы с участием самых видных российских и зарубежных специалистов;
  • выставка партнеров и полчища экспертов, открытых для вопросов и консультаций в специальной зоне «Спроси эксперта»;
  • живое общение с коллегами со всей страны;

А наш с вами Хабрахабр стал информационным спонсором конференции. И в отличие от всех остальных, обычных инфоспонсоров, только Хабр смог заполнить «Платформу» своими представителями больше, чем наполовину :) Приходите, участвуйте и рассказывайте обо всем здесь. Хабрахабр ждет твоих постов, %username&!

Регистрация на живое мероприятие уже закрыта, но каждый сможет ощутить cебя там, как наяву, посмотрев прямые трансляции всех докладов и 50 дополнительных технических докладов на Платформе Online. Ура интернету!

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

Интервью с создателем ASP.NET

Время на прочтение1 мин
Охват и читатели792
Друзья! У нас есть возможность заставить человека из Microsoft ответить за все! (зловещий смех) Ну, может быть и не за все, но уж точно за все, что связано с ASP.NET.

Дмитрий Робсман (Dmitry Robsman) работал над технологией ASP.NET в разных ролях: он был разработчиком, менеджером и архитектором. 12 лет назад он начинал свою карьеру в Редмонде с работы над технологией ASP в команде IIS, а позднее стал первым разработчиком в команде ASP.NET. Среди его известных личных проектов — веб-сервер Cassini (полностью написанный на управляемом коде) и ASP.NET RSS Toolkit (библиотека для публикации и использования RSS потоков в ASP.NET).

Кроме того, с 2006 по 2008 год Дмитрий работал над языками программирования. Как менеджер группы в команде динамических языков (DLR, IronPython, IronRuby и их интеграция с продуктами Microsoft, включая Silverlight). И как менеджер разработки в составе команды Visual Studio (работал над C#, VB.NET, F# и динамическими языками).

Дмитрий приезжает на «Платформу-2009». А за день до нее, 3 декабря, Хабрахабр будет брать у него интервью. Поэтому прямо сейчас задавайте здесь ему свои вопросы. А уж мы-то с него спросим :)

Закат Веба?

Время на прочтение11 мин
Охват и читатели3.7K
7 марта прошлого года W3C, после 10-летнего перерыва, возобновила работу над HTML.

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

Спустя год, в связи с развитием технологий, мои предположения во многом стали более актуальными: во многом я оказался прав, хотя, кое-где и ошибался.

Я решил выложить их в виде статьи, переработав и снабдив иллюстрациями и примечаниями.


Содержание:

  1. Вступление
  2. Сценарии гибели
    • Гибель ментальная, или HTML — новый ассемблер
    • Гибель физическая, или HTML — новый Turbo Pascal
  3. Все ли так серьезно?
    • Ментальной гибели не будет, если web-технологии будут правильно поняты
    • Физической гибели не будет, если web-технологии будут развиваться
  4. Заключение
  5. Примечания


В настоящий момент мир вступает в эпоху расцвета богатых web-приложений.

Программы, работающие через Веб, все больше вытесняют традиционные десктопные приложения. Gmail, Google Map, online-офис, даже web-операционные системы… Список можете продолжить сами.

Однако, по мере продвижения web-приложений, все больше возрастают требования к основным клиентским web-технологиям: xHTML, CSS, JavaScript.

И, если эти технологии не будут поспевать за все более возрастающими требованиями, это приведет к их медленному закату…
 
Читать дальше →

Нормализация Unicode

Время на прочтение2 мин
Охват и читатели25K
Однажды мне пришлось наблюдать, как спамеры очень интересным образом обходят спам-фильтр. Вместо традиционного URL типа «example.com», ссылка выглядела так:
http://example.com
Ссылка с подобной изощрённой точкой работает в IE7, FF3, Opera 9.5, Safari 3, Google Chrome и не работает в IE6.
Читать дальше →

jsForms

Время на прочтение18 мин
Охват и читатели819
Добрый вечер, после написания предыдущего поста прошло уже, наверное, более трех недель, с тех пор мое направление немножко изменилось, да MVC хороший паттерн, но сейчас для js он еще слишком громоздкий. Мы стремимся выбрать более прозрачные и тонкие решения, которые бы позволяли видеть как все работает, вот почему мне нравится jQuery, он вводит тот самый минимум, который позволяет абстрагироваться от типа браузера, но при этом он не убирает ощущение того, что ты пишешь именно на js. Вот почему когда стремясь реализовать паттерн Document-View на js, хотелось сделать его как можно более тонким, незаметным и как мне кажется мне удалось добиться тех же легких ощущений, что все таки это тот же js, просто он немножко расширился.
Как и в WinForms, в jsForms все строится на компонентах. Итак приступим.
далее

ʇxǝʇ dılɟ

Время на прочтение1 мин
Охват и читатели3.3K
Наткнулся на забавный онлайн-сервис — в одном поле пишется текст, в другом автоматом появляется этот же текст но повёрнутый на 180 градусов, именно текст который при желании можно скопировать в буфер. Стала интересна реализация данной задумки и решил заглянуть в исходник.

Даже и не думал, что это можно сделать, да с такой красивой реализацией на JS. Всё предельно просто: составляется хэш соответствия символов, например «n» перевёрнутая «u» и т.п., для символов у которых нет отражённых копий в алфавите, ищутся соответствия в таблице Unicode. После чего хэш добивается своей реверсированной версией и остаётся только к нему обращаться через функции на эвентах.
Читать дальше →

Веборуб — наше все или отруби у кризиса корни :-)

Время на прочтение1 мин
Охват и читатели802
imageВЕБОРУБ – это звание, присваиваемое ведущим веб-разработчикам, либо людям, заслужившим признание других веб-разработчиков.

ВЕБОРУБ – это неконференция, проводимая для того, чтобы ВЕБОРУБы имели возможность в непринужденной обстановке обсудить волнующие их темы.

Везде кризис — а у вас пир горой?
— Это уже не первый проводимый Веборуб и мы реально отрубим на нем те корни кризиса, которые крепко засели у многих в головах ;-)

Поделимся секретами как выжить и процветать в текущей ситуации.

Формат ВЕБОРУБА нам представляется таким:
  • отсекаем (отрубаем) все лишнее;
  • ни одного спонсора;
  • не рассказывать очевидное, то, что можно найти в открытых источниках, т.е. рассказываем свое видение, мысли, идеи, опыт;
  • нет традиционных докладов — выступления длятся итерационно, до 10 минут (до 5 слайдов, если они нужны).

Основная идея в том — чтоб отдать время на то, что нужно, интересно каждому (что мы пытаемся выведать в кулуарах).

Подробней на http://www.weborub.ru/

Свой SVN на виртуальном (shared) хостинге

Время на прочтение4 мин
Охват и читатели7.2K
svn
Решили мы как то с приятелем, запустить стартап не стартап, а так, сайт для души. Решили — значит будет запущен. Бюджет… А давай не купим ещё по 2 кружки пива, на это и запустим. В общем денег на домен да на виртуальный хостинг на валуехосте. Так люди мы «взрослые», и делать всё привыкли основательно, нам нужна система управления версиями и выкладыванием. Было решено поднять subversion репозиторий с возможностью раздачи доступа к нему нескольким разработчикам с разными логинами на valuehost. Но у нас виртуальный хостинг со всеми его ограничениями, что делать?

Итак, читаем что делать

Вклад авторов