Обновить
356.49

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

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

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

Мысли об ООП

Время на прочтение4 мин
Охват и читатели13K
Очередная статья про «азы программирования на C++» меня подтолкнула к мысли, что многие программисты не понимают сути объектно-ориентированного программирования (ООП).

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

Векторные иконки на HTML5 + JS

Время на прочтение1 мин
Охват и читатели11K


На первый взгляд это обычные одноцветные иконки, но если призумить — их качество не ухудшится. Очевидный профит таких иконок: с ними можно свободно экспериментировать и не переживать за высоту и ширину, компактный вид, а не куча файлов в папке icons, ну и наверное маленький размер, хотя с этим поспорить можно. Есть некоторые ограничители в цвете, возможен один цвет либо градиент (но думаю с конвертером нарисованного вектора в js код, возможно и больше цветов)

Смотреть иконки

Если вы хотите использовать эти иконки или создавать свои на подобной основе, кликайте по иконке — внизу появится код выбранной иконки, он вставляется в:

paper.path(<код иконки>).attr({fill: "#000", stroke: "none"});

Поддержку иконок на себя берет Raphaël JS Lib

Источник

Google Maps API

Время на прочтение8 мин
Охват и читатели360K

Картографический сервис – зачем это? Ну например, я 10 лет жил в нашей маленькой провинции, а потом взял и понаехал в Москву, и всё для меня так ново. А где магазины, боулинг, кафешки, парки отдыха – надо знать же, где тратить московскую зарплату. Но вот беда, как узнать? Раньше был справочник «Желтые страницы» и там была карта и всё по адресам. Чтобы найти что-то уходило масса времени. Сейчас стало всё в разы проще. Вот прекрасный пример: http://www.pushkino.org/. Но это далеко не всё.
Я могу отслеживать погоду, пожары, пробки (кстати!) в реальном времени.
Мой заказчик может не вводить свой адрес, а попросту отметить его на карте и я буду знать куда доставить ему товар – какое классное решение, не надо всего этого – «Проспект маршала Блюхера, 43, г. Санкт-Петербург, Россия».

Далее...

GeoIP – страны и города, декабрь 2010

Время на прочтение1 мин
Охват и читатели2.7K
Вышла в свет новая версия русскоязычной базы данных стран и городов. Основные изменения:
— база maxmind.com была объединена с базой городов России ipgeobase.ru (идея sky_lord)
— с помощью Переводчика Google были переведены на русский язык ~60,000 названий (идея neytrino), а затем с помощью Яндекс.Карт из них были отсеяны артефакты типа «Инь молодых» и «Авиаторов деревня»
— были удалены дубли и произведена оптимизация структуры базы.
Результат этой работы доступен для свободного скачивания.
Читать дальше →

Как устроить DoS атаку на сервер баз данных одной строчкой

Время на прочтение2 мин
Охват и читатели17K
40 МБит / сек — неплохой трафик для DoS атаки. Именно на столько внезапно вырос входящий трафик до одного из наших серверов. Сайт мужественно держался. Время начала всплеска аномально высокого трафика подозрительно точно совпадало с временем выкладывания одного крупного релиза, что и навело на мысль о том что мы DoS`им себя сами.
Читать дальше →

Google Body Browser

Время на прочтение1 мин
Охват и читатели47K

Сегодня наткнулся на Google Body Browser. Имхо просто потрясающая вещь даже для тех, кто не занимается медициной.

Хотя действительно интересно наглядно посмотреть-покрутить где находится желудок, как идут нервы и т.д., но для меня, как веб-разработчика это первый действительно наглядный пример толкового использования WebGL — без установки никакого плагина в Chrome 9+ и FireFox4. Кроме того используется декомпрессия ресурсов на клиенте.

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

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

Видео с демонстрации Google Web Browser'a с WebGL Camp'а можно посмотреть тут.

CSS трюки — пишем сайт без html

Время на прочтение2 мин
Охват и читатели16K
В качестве предисловия к переводу. Открываем Firefox/Opera, переходим по ссылке, смотрим исходный код страницы и удивляемся. Потому что его нет. Под катом рассказ, как такое можно сделать.
Читать дальше →

Внутренности вордовских файлов: просто ужас

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

Не скрою, что и меня эти файлы интересовали, но дальше первой страницы описания я так продвинуться и не смог. Однако незакрытый гештальт остался.

А теперь вот жизнь заставила (или подкинула возможность) все-таки разобраться во внутренностях всем хорошо известных документов, тем более, что в Штирлица теперь играть не обязательно, достаточно скачать с сайта «Майкрософта» официальные спецификации.

Что тут можно сказать? Невольно вспоминается старый пошлый анекдот: ну ужас. Ну просто ужас, но ведь не ужас-ужас-ужас.
Читать дальше →

Обновлён ModularGrid — удобный инструмент для HTML-верстальщиков

Время на прочтение1 мин
Охват и читатели2.8K
Демо-страница
Спешу сообщить, что наконец-то обновил ModularGrid — небольшой javascript, который рисует гайды и модульную сетку поверх вёрстки:
  • появилась панель с контролами для тех, кто не любит хоткеи;
  • состояние сетки теперь сохраняется в cookie;
  • было исправлено несколько досадных ошибок.

Демо-страница | проект на GitHub | предыдущая статья

Пишем простое приложение на jQuery Mobile

Время на прочтение8 мин
Охват и читатели59K
imageФреймворк jQuery Mobile вышел уже относительно давно, но только сейчас мне удалось им заняться. До этого имел дело с jQTouch и Sencha Touch. У каждого из них есть свои плюсы и минусы, но сегодня речь пойдет именно про разработку на jQuery Mobile. Для получения базового опыта я опишу создание простого приложения с несколькими страницами, интеграцией с твиттер и гуглокартами, ну и набором базовых элементов. Поехали!
Читать дальше →

Особенности Google CDN

Время на прочтение3 мин
Охват и читатели30K
Сначала посмотрите на это:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>


С помощью этого кода вы можете загрузить библиотеку jQuery напрямую из сети доставки контента (CDN) Google.

Обратите внимание, вы можете прямо указать какую версию (/1.4.4/) библиотеки следует загрузить. Но это далеко не все, что можно сделать. Путем простого изменения этой части ссылки можно творить маленькие приятности:
Читать дальше →

Hosts Commander — модификация hosts из командной строки

Время на прочтение3 мин
Охват и читатели27K
Я хотел бы посвятить немного времени файлу hosts. Года два назад, когда я в очередной раз забирался в глубину системных директорий, чтобы подправить всего одну строчку в этом файле, мне подумалось, как было бы классно работать с hosts из командной строки. Тогда идея отправилась в дневничок, и долгое время оставалась нетронутой. Пару дней назад я реализовал почти все идеи, которые пришли в голову по этому поводу. Результатом делюсь с хабрасообществом. Буду рад, если кому-нибудь пригодится.

Что получилось?


А получилась небольшая программа hosts.exe, которую кратко можно охарактеризовать так:
  • Операции добавления, удаления и отключения хостов
  • Поддерживает операции над хостами по маске
  • Простые выборки из hosts по атрибутам и маске
  • Создание резервных копий hosts и откат последней операции
  • Поддержка IDN (можно создавать русскоязычные домены)
  • Поддержка IPv6 адресов
  • Поддержка алиасов (несколько доменных имён в строке)
  • Сохраняет исходное оформление и кодировку файла hosts
  • Большое количество алиасов для каждой команды (кому как удобнее)
Читать дальше →

Тормозит веб-сервер. Настройка на примере www.ochevidets.ru

Время на прочтение8 мин
Охват и читатели28K
Я оказываю услуги по настройке web- и БД-серверов. На днях ко мне обратился Иван Усачёв — владелец портала ochevidets.ru с просьбой избавить сайт от торможения.

Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.

UPDATE: Статья была написана в 2010 году. Кое-что изменилось: вышли новые версии программ, у nginx изменились некоторые директивы и появились новые. Учитывайте это.

Ниже я опишу, что я предпринял для решения проблемы.

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

Скринкасты о том, как резать и натягивать

Время на прочтение1 мин
Охват и читатели11K
Чтобы было понятно о чем речь, прикладываю 3 скринкаста, второй и третий под катом.
  1. Знакомство с макетом #1
Читать дальше →

HTML5 File API: множественная загрузка файлов на сервер

Время на прочтение7 мин
Охват и читатели88K
Когда передо мной в очередной раз встала задача об одновременной загрузке нескольких файлов на сервер (без перезагрузки страницы, само собой), я стал блуждать по интернетам в поисках довольно корявого jQuery-плагина, который позволяет имитировать ajax-загрузку файла (того самого плагина, который со скрытым фрэймом: от java- и flash- плагинов сразу было решено отказаться). В процессе поиска я вспомнил, что в грядущем стандарте html 5 возможности по работе с файлами должны быть существенно расширены, и часть этих возможностей доступна уже сейчас. В итоге было решено опробовать их в действии.

Рассматривать возможности File API будем на примере одновременной загрузки нескольких картинок на сервер. В конце статьи приводится готовое решение, оформленное в виде jQuery-плагина.
Читать дальше →

Релиз Firebug 1.6

Время на прочтение3 мин
Охват и читатели1.2K
image

Рабочая группа Firebug Working Group с гордостью представляет релиз Firebug 1.6!

Мы внедрили множество новшеств, которые приведены на странице заметок к релизу Firebug 1.6. Пожалуйста, просмотрите список изменений и дайте знать, если вам необходима любая дополнительная информация.

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

Мы значительно повысили стабильность Firebug'а и избавились от множеств утечек памяти — мы утверждаем, что это лучший релиз Firebug'а за всю историю.
Читать дальше →

Важные аспекты RESTful API для вашего проекта

Время на прочтение6 мин
Охват и читатели36K
Данная статья давно назревала в моей голове, но совсем в ином формате.
Прочитав последние несколько неуклюжих статей на тему WEB-сервисов (например: http://habrahabr.ru/blogs/development/108973/) и применения в них REST технологии, решил что настало время все-таки откинуть лень, выделить время и написать «переформатированную» в своей голове статью.
Итак, кратко, что Вы найдете в статье и кому она будет полезна:

новичкам, которые интересуются или планируют написать WEB-сервис для проекта
профи вряд ли найдут что-то новое для себя
— общая идеология REST
— применение CRUD в WEB-сервисах
— принципы KISS при построении раутеров
— лучшие практики
— немного пиара ;)
— ссылки, литература
Читать дальше →

Написание web-API к своей системе

Время на прочтение3 мин
Охват и читатели24K
Добрый день, %username%!
За последний год столкнулся с несколькими задачами по написанию SOAP/REST API к различным сервисам и вывел для себя боле-менее удобную модель. Я не претендую на фундаментальное исследование, просто хочу поделиться опытом наступания на грабли.

Для начала общие требования к default API:
  • возможность расширения
  • удобный стандартизированный формат запросов
  • удобный стандартизированный формат ответов
  • достаточный уровень безопасности
  • возврат ошибок выполнения запроса

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

База GeoIP – страны и города

Время на прочтение1 мин
Охват и читатели77K
При разработке одного проекта встала задача – определить по IP-адресу посетителя его страну и город, на русском языке. Поиск готового решения оказался безуспешным – русскоязычные базы стран можно найти (например, wipmania.com), но баз городов нет. Помощь пришла из-за границы, в лице англоязычного maxmind.com. База была приведена к нормальному состоянию (MySQL) и частично переведена на русский язык с помощью нескольких справочников (~6,000 названий, с учетом городов-тезок ~15,500).   Результат этой работы доступен для свободного скачивания.
Читать дальше →

Числа, которые должен знать каждый программист

Время на прочтение1 мин
Охват и читатели20K
Чтобы было понятно, на чём следует концентрироваться при оптимизации, слайд из доклада «Создание программных систем в Google и его уроки»:
Таблица

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