Все потоки
Поиск
Написать публикацию
Обновить
362.92

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

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

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

С днем вебмастера

Время на прочтение1 мин
Количество просмотров704
Сегодня 4 апреля, а значит, кроме дня покровителя Интернета Исидора Севильского, все вебмастера и интернет-разработчики сегодня отмечают свой профессиональный праздник.

С праздником, хабравчане. Быстрых нам серверов, а также лёгкого и валидного кода :)

image

Quake2 на HTML5, без плагинов

Время на прочтение1 мин
Количество просмотров9.5K
В блоге Google Web Toolkit появилось сообщение, что разработчики из Гугль смогли прикрутить Quake2 (вернее проект Jake 2 — порт на java) к GWT.

Были использованы следующие технологии: WebGL, Canvas API, html5-тег audio, Local Storage API и WebSockets.

Для того, чтобы заставить работать Jake 2 с GWT, пришлось сделать некоторые доработки:
— Переписать рендеринг под WebGL.
— Переделать работу с сетью (для многопользовательской игры) с UDP на WebSockets.
— Сделать все подгрузки ресурсов асинхронными.
— Сделать реализацию Java NIO буферов в GWT, используя массивы WebGL.
— Реализовать эмуляцию простой файловой системы для сохранения игр.

На сегодняшний день поддерживаются лишь Webkit Nightly Builds (Mac OS X) и Chrome Development Branch.



Сайт проекта: quake2-gwt-port

UPD: Как я вижу, сие можно запустить на AppEngine. Если вдруг кто-то развернет там это приложение и потестит, расскажите потом плиз, насколько это все нагружено, сколько проца/трафика/etc. потребляет. А то интересно, но у самого времени совсем на это нет.

Когда картинка красноречивее 1024 слов – прототипирование с MockingBird

Время на прочтение2 мин
Количество просмотров7.3K
image Для написания ТЗ я задался вопросом поиска простого и удобного средства создания прототипов веб-страниц. Хотелось чего-то бесплатного и в онлайне, некой альтернативы Axure. Такой сервис удалось найти, его я и предлагаю вашему вниманию. Итак, встречайте www.gomockingbird.com – сервис, позволяющий создавать очень красивые прототипы легко и удобно.
Помимо представления самого сервиса, этим постом хотелось также привлечь внимание общественности к полезной практике прототипирования.
Читать дальше →

IE9 preview

Время на прочтение1 мин
Количество просмотров1.5K
Вот нам и показали IE9. От финала он, конечно, далёк, но посмотреть есть на что.

— Более быстрый, чем в IE8, JavaScript-движок.
— Поддержка некоторых фич CSS3: border-radius, RGBA, opacity, селекторы. К релизу обещают доделать ещё.
— Поддержка HTML5: новые элементы, перехлёст тэгов, изменено поведение script и style (теперь можно получить их текст через DOM), API для выделения текста.
— DOM L2 и немного DOM L3 (Events).
— Поддержка SVG.
— DirectX для рендеринга страниц.
— Улучшена производительность отладчика, добавлен профайлер HTTP.

Для того, чтобы зарабоали приятные дополнения, надо перевести IE в новый document mode — IE9, например, при помощи:
<meta http-equiv="X-UA-Compatible" content="IE=IE9" />
или
<meta http-equiv="X-UA-Compatible" content="IE=edge" />

Полный список изменений
Пробуем

На работу установленного в системе IE никоим образом не влияет. Устанавливать можно не опасаясь повреждения системы.

Код, который приятно читать

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

Хороший код


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

Основное правило

Я считаю, что читаемым является код, в который можно не вчитываться.
То есть, пары-тройки строк дожно быть достаточно, чтобы сказать, что делает класс или метод. Ещё пары-тройки — чтобы примерно сказать, как он это делает.

Прочие замечания

Я заметил, что есть ещё несколько довольно общих правил, которые делают код симпатичнее.
Читать дальше →

Накручиваем PollDaddy.com. Битва за iPad в 4-ех действиях

Время на прочтение9 мин
Количество просмотров2.9K
iPad

1. Предистория


Вот уже некоторое время я наблюдаю за развитием стартапа friendsaround.me. Идея стартапа это запустить социальную сеть для владельцев мобильных утройств с привязкой к местоположению. Сейчас как я понимаю они все еще в процессе разработки — ну не суть. Наблюдаю я достаточно пассивно и поэтому только 7 марта обнаружил, что они проводят конкурс на лучший слоган для их продукта с главным и единственным призом в виде iPad (а точнее iTunes gift карты на необходимую для его покупки сумму). Конкурс заканчивался сообственно 7 марта и я, предварительно посмотрев на текущие присланные варианты (и не найдя ни одного понравившегося), решил тоже попытать, так сказать, счастья. После нескольких минут креативного раздумья в голове вертелось несколько вариантов, из которых я остановился на слогане «Locate Friendship!» (А че — подумал я — коротко, ясно и по делу. Отличный слоган!). Его и послал на участие…

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

10+ удобных онлайн-редакторов для программистов

Время на прочтение3 мин
Количество просмотров155K
Как у разработчика, очевидно, что ваш основной рабочий инструмент, который позволит вам быстро идею превратить в код: текстовый редактор. Время идёт, и теперь нам доступно множество онлайновых текстовых редакторов, которые могут помочь вам создавать свой код с любого компьютера, имеющего доступ в интернет. В этой статье рассмотрим более 10 таких редакторов.

Amy Editor


Созданый в 2007 Петром Кронторадом (Petr Krontorad), Amy Editor продвинутый редактор с интерфейсом в стиле Mac. Amy Editor имеет в наличие кучу полезных опций, такие как нумерация строк, подсветка синтаксиса, сниппеты для более чем 20 языков, совместное использование и прочее.
Ami Editor
» http://www.amyeditor.com

Под катом ещё 11

HTML 5. Работа с Web SQL базой данных

Время на прочтение3 мин
Количество просмотров176K
В HTML 5 есть много новых возможностей, которые позволяют web разработчикам создавать более мощные и насыщенные приложения. К этим возможностям относятся и новые способы хранения данных на клиенте, такие как web storage(поддерживается в IE8) и web SQL database.

При этом если web storage ориентирован на хранение пар ключ-значение, то в случае с web SQL database у нас есть полноценный sqlite(во всех текущих реализациях применяется именно этот движок баз данных, что является проблемой при стандартизации).

Далее я расскажу, как работать с web SQL database. При этом примеры естественно будут на JavaScript. Кроме того, стоит отметить, что с поддержкой браузерами всего этого хозяйства дела обстоят, не очень хорошо, но всё постепенно меняется к лучшему и, скажем, в Opera 10.50 поддержка будет, а браузерах на движке WebKit она уже есть. Более подробно про то, какой браузер, что поддерживает можно узнать, пройдя по ссылке.

Соединение с базой данных.


Подсоединиться к базе данных очень просто:

db = openDatabase("ToDo", "0.1", "A list of to do items.", 200000);
Читать дальше →

О классификации кода

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

О, коде

Когда я пишу код, мне нравится отдавать себе отчёт о том, что именно я делаю.

Например, код, который пишется за одну ночь для демы завтра утром сильно отличается от кода, который станет основным API системы.

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

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

Лифты, поезда и Информационные технологии

Время на прочтение4 мин
Количество просмотров1.8K
Читая блог Ивана Сагалаева нашел отсылку на статью показавшуюся мне интересной и достойной перевода.

Лифты, поезда и Информационные технологии


Возможные методы для создания безопасных систем.

Джордж Вестингауз не был теоретиком, а одним из великих изобретателей 19 века. Возможно, самым известным его изобретением был воздушный тормоз для поезда в 1869. Чуть позже подробнее.

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

Использование picasaweb в качестве фотохостинга

Время на прочтение5 мин
Количество просмотров6.7K
Нужно использовать много изображений на сайте? Не хочется забивать хостинг изображениями? Хочется уменьшить нагрузку на сервер?
Тогда можно использовать сервис от гугл picasaweb і Picasa API как хостинг для изображений

процесс загрузки фотографий на сервер
Читать дальше →

Application Verifier для программиста: тестирование Windows-приложений

Время на прочтение7 мин
Количество просмотров21K
Возможно в Вашем проекте и не пишут try { /* code */ } catch(...) { } для того чтобы избежать исключений при работе с памятью, умеют закрывать хендлы и знают о виртуализации Windows Vista, а программы никогда не падают по непонятным и редко повторяемым причинам.

Тогда Вам повезло, можете переходить к следующему топику.
Но если это не так...

Введение в Continuous Integration

Время на прочтение5 мин
Количество просмотров178K
Недавно я попал на новый проект, с задачей создать небольшое приложение с нуля. Разговариваю с тестером:
— А как тебе новые версии поставлять?
— Можешь как все остальные на проекте, через SVN.
— То-есть ты сама билдить будешь?
— Да нет… Бинарники оттуда беру.


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

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

Доля Unicode в сети приближается к 50%

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

Этот график был сегодня опубликован в официальном гуглоблоге. Данные, соответственно, берутся из индексируемых поисковой системой Google веб-страниц.

А какую кодировку используешь ты, %username%?

Раскрась свои теги. CSSL

Время на прочтение5 мин
Количество просмотров2.1K
     Я иногда сталкивался с тем, когда web-программист не знал CSS или, скорее, не хотел заниматься облагораживанием своего HTML, который являлся результатом работы разрабатываемого им скрипта. Это натолкнуло меня на мысль, что ему (программисту) не помешало бы иметь при себе некоторое средство для создания «красивых» страниц. Средство должно было бы включать в себя некоторый CSS, возможно, картинки, и подключаться к любому HTML (очевидно, созданному по некоторым определённым правилам). При этом смена CSS (и картинок) на альтернативные не должна была бы приводить к семантически некорректному отображению.
     Вышеобозначенные требования очень похожи на требования к составлению скина для какой-либо системы (в частности, CMS). Но, в отличие от скина, который заточен под конкретный HTML, в нашем случае хотелось бы максимально упростить правила написания HTML, чтобы разработчикам не нужно было держать в голове много сложных правил.
     Таким образом, оговаривая некоторые (небольшие) ограничения на HTML, мы с одной стороны гарантируем программисту, что его код, генерируемый с учётом этих правил, будет корректно оформлен любым сделанным для этих целей CSS, а с другой стороны, оговариваем шаблон изготовления самих этих CSS.
Читать дальше →

Все о 960gs — отличном css-фреймворке для построения модульных сеток

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


Я хочу дать исчерпывающее описание замечательному фреймворку для построения модульных сеток 960gs. Недавно где-то в комментариях сказали, что 960gs сложнее в понимании, чем blueprint, что меня удивило. Я не хочу заниматься сравнением этих фреймворком, хотя бы потому, что они выступают в разных весовых категориях, однако, для построения модульной сетки ничего легче и проще в понимании, чем 960gs я не видела.


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

Эксперимент с формой логина: OpenID, два в одном, или обычный порошок?

Время на прочтение3 мин
Количество просмотров1.1K
Привет, .

Недавно, когда запускали Кинобазу, мы помимо способов противодействия хабраээфекту задались ещё одним вопросом, который нас давно интересовал: какая форма логина удобнее всего для большинства пользователей. Для этого мы провели эксперимент: до сегодня всем посетителям сайта предлагалась случайным образом один из 4х вариантов формы логина, каждый из которых состоял из 2х форм. Оценку мы проводили очень просто: по количеству человек, которые всё-таки зарегистрировались через каждый из вариантов форм. Поскольку варианты предлагались случайным образом, чем больше человек зарегистрировалось — тем удобнее форма (или тем меньшее количество людей она отпугнула:).

Итак, участники эксперимента и его результаты:
под катом

Двунаправленный асинхронный обмен данными в веб-приложениях

Время на прочтение4 мин
Количество просмотров21K
Одной из основных черт современного веба эксперты называют RIA, что часто расшифровывается как тренд, когда веб-приложения по функциональности приближены к настольным приложениям. Тем не менее, это приближение весьма условно. Подавляющее большинство «обогащеных» веб-приложений по-прежнему построены по модели «запрос-ответ». Т.е. события на стороне клиента могут быть отражены на стороне сервера, никак не наоборот. Для того чтобы реализовать такую банальную вещь как чат приходиться прибегать к изощренным уловкам. Спасибо Алексу Расселу (Alex Russell) из Dojo, у нас есть даже имя для подобной техники – Comet.
Читать дальше →

Что можно ожидать от Луа 5.2?

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

Опубликована первая превью-версия Луа 5.2


Луа (Lua) — мощный, быстрый, лёгкий, расширяемый и встраиваемый скриптовый язык программирования. Луа удобно использовать для написания бизнес-логики приложений.

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

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

Анонс здесь: http://article.gmane.org/gmane.comp.lang.lua.general/61229

Дополненный список изменений от авторов здесь: http://article.gmane.org/gmane.comp.lang.lua.general/61505

Скачать исходники можно здесь: http://www.lua.org/work/lua-5.2.0-work1.tar.gz

Сборка под Windows здесь: http://article.gmane.org/gmane.comp.lang.lua.general/61528

Посмотреть исходники в онлайне можно, например, здесь.

Update: Выложен 5.2.0-work2, анонс здесь.
То, что написано ниже, скорее всего, будет интересно только людям, близко знакомым с языком.

Download Master Plugin ломает Prototype-сайты

Время на прочтение1 мин
Количество просмотров3.5K
С недавнего времени у меня на Клавогонках у некоторых пользователей начались проблемы совершенно мистического плана — не работали функции, которые ну никак не могли не работать, всплывали абсолютно дикого вида ошибки и гейзенбаги. Долго и мучительно пытаясь выяснить в чем проблема, и не без помощи сообразительных юзеров я обнаружил, что последняя версия Download Master (довольно популярная программа), выпущенная вроде бы где-то в ноябре, содержит удивительнейший Firefox-плагин, который ставится в браузер автоматически. Плагин этот зовется Download Master Plugin 1.2 и его удивительность заключается в том, что он подгружает в глобальное javascript-пространство страницы библиотеку jQuery целиком как она есть. По-настоящему подгружает, со всеми функциями, и (внимание!) с функцией $(). Тем самым, разумеется, ломая аналогичную функцию из Прототайпа.

Tест кейс

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