Как стать автором
Поиск
Написать публикацию
Обновить
0
0
den1234554321 @den1234554321

Пользователь

Отправить сообщение

Использование связки из PHP и MySQL совместно с Google Maps

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

Отсебятина


А вот и перевод третьего урока по Google Maps API. Этот урок — как видно из названия — посвящен созданию карт при помощи данных, хранящихся в БД. Как и предыдущие — кросс-пост из моего блога.

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

wysiwyg своими руками

Время на прочтение3 мин
Количество просмотров24K
Существует куча платных\бесплатных визуальных редакторов на любой вкус и цвет. Но что, если они работают не во всех браузерах, Вас не устраивает дизайн или функциональность, или просто душа лежит к написанию своего собственного? Ответ на вопрос, как это сделать —
Читать дальше →

Поддержка < canvas> в IE

Время на прочтение2 мин
Количество просмотров1.2K
Что такое canvas вы можете прочитать здесь и кое-что на хабре тут и тут (наглядный пример).

Vladimir Vukićević написал компонент ActiveX для IE, который добавляет в браузер поддержку тэга canvas. Чтобы использовать его нужно лишь добавить на страницу небольшой.js сниппет и тэг object который будет получать контроль. Разумеется, он полностью доступен для скриптов. Исходный код будет доступен для всех чтобы его можно было изучить и улучшить. Наличие этого компонента означает что canvas станет доступным во всех популярных браузера, не смотря на то, что Майкрософт ещё не добавил его поддержку.
via Christopher Blizzard

canvas в IE и Firefox
Читать дальше →

Полиморфизм, шмолиморфизм…

Время на прочтение6 мин
Количество просмотров15K
Я думаю всем уже окончательно заморочили голову бесконечные статьи про полиморфизм, но меня они достали тоже и я решил… написать свою.

Прежде всего основной принцип (о котором писатели всех предыдущих статей забывают напрочь): KISS. Почему-то для объяснения базовых концепций считается необходимым привлечения двух-трёх языков программирования (обычно неизвестных читателю), парочки двухстраничных примеров и т.п.

Это хороший способ если вы хотите показать свою крутизну на интервью — его иногда даже могут положительно оценить. Хотя я лично вряд ли бы поставил подобному кандидату высокую оценку. Ибо это обозначает просто-напросто что либо человек занимается самолюбованием (не очень хороший вариант), либо он действительно не умеет выражать свои мысли (ещё худший вариент).

Базовые концепции нужно уметь объяснять без привлечения языков программирования вообще! Второй этап — показать как базове концепции используются в том или ином языке программирования. Но это — уже другая история.
Читать дальше →

16 действительно полезных решений для JavaScript

Время на прочтение16 мин
Количество просмотров7.3K
© shamansir.wordpress.com

Представляю вам набор функций, которые у меня лежат в отдельном файле utils.js — это функции, которые я использую чаще всего. Они стараются быть кроссбраузерными и проверены на IE6/7, FF2 и Safari 2 и на боевой, сложной системе, в XHTML документах. Должны, по идее, работать, и на других, но не очень старых версиях браузеров — проверку браузера я использовал только в исключительных случаях. Некоторая часть из них, конечно же, просто нарыта на просторах интернета (где — обычно указано) и заимствована ввиду открытости, а большая часть — сконструирована из многих ресурсов и своих идей (и советов коллег), дабы работать на ура — поскольку часто в разных скриптах не учитываются разные тонкости, которые, тем не менее — при ближайшем рассмотрении — оказываются общностями :), ну и быть довольно читабельными.
Узнать

PNG vs. Internet Explorer

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

В двух словах

В догонку появившейся недавно статье о преодолении привередливого отношения браузера Internet Explorer 6-й версии по отношению к .png, опишу еще один рецепт.Речь идет о разработке TwinHelix под банальным названием IE PNG Fix.
Читать дальше →

Быстрый-быстрый JavaScript

Время на прочтение1 мин
Количество просмотров2K
Примечание: ниже расположен перевод статьи «Serving JavaScript Fast», написанной года два назад, но нисколько не потерявшей своей актуальности. Автор предлагает достаточно большой комплекс мер для ускорения загрузки и работы CSS/JS-файлов. Ссылки и частичные переводы данной статьи достаточно широко цитируются в Рунете, однако, полностью она еще нигде не появлялась, а полезных советов в ней довольно много. Мои комментарии далее курсивом.

Следующее поколение веб-приложений будет использовать весьма «тяжелые» JavaScript- и CSS-framework'и. Мы собираемся продемонстрировать, как увеличить скорость взаимодействия таких приложений и ускорить их работу.

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

читать дальше на webo.in →

Кэширование js сжатием gzip

Время на прочтение2 мин
Количество просмотров4.2K
Cache — временные данные или устройство по их хранению, созданные для ускорения чтения/записи. Все программисты это знают. Ускорение загрузки web-сайтов тема обширная, начинающаяся с сервера и заканчивающаяся клиентом. К сожалению я не нашёл более-менее подходящих решений по объединению и кэшированию js-кода, поэтому к своему блогу я написал свою схему, о которой вкратце и расскажу..
Существует сжатие «packer», которое убирает все символы форматирования и переименовывает имена функций и переменных в js и предоставляет т.н. minified-версию скрипта. Все с этим прекрасно знакомы на примере больших библиотек jQuery, TinyMCE, prototype. Кроме того что код становится совершенно не читаемым, это может вызвать неработоспособность кода, когда имена переменных динамические.
Моя идея простая — разделять js/css по файлам разработчикам надо для поддержания модульной структуры. Обычно я в контроллере создаю список файлов которые надо присоединить к данному документу, вместо того что-бы прописывать это вручную в темплейте. Но теперь надо сделать так, что-бы до показа темплейта вызывалась функция кэширования, которая проходилась бы по списку, проверяла из них локальные файлы на время изменения, объединяла в один файл и создавала или перезаписывала gz-файл с именем, сформированным из md5-хэша имён входящих файлов.
Всё просто и в сумме заняло часа 4 на раздумье. Привожу метод cache_js из класса Controller.
Читать дальше →

Интерфейсы vs. классы

Время на прочтение4 мин
Количество просмотров287K
Обсуждая с различными людьми — в большинстве своём опытными разработчиками — классический труд «Приёмы объектно-ориентированного проектирования. Паттерны проектирования» Гаммы, Хелма и др., я с изумлением встретил полное непонимание одного из базовых подходов ООП — различия классов и интерфейсов.

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

Как запретить браузеру выделять текст

Время на прочтение4 мин
Количество просмотров180K
Если Вы веб-разработчик, то у вас наверняка возникала необходимость в том, чтобы запретить пользователю выделение текста. Оговоримся, что я не имею ввиду полный запрет с целью защиты текста, а запрет на выделение всевозможных подписей, надписей и т.п. где выделение мешает работе интерфейса и пользователю (чаще всего при drag&drop, или выделении текста при двойном клике). Это в первую очередь касается веб-приложений и ни в коем случае не касается информационных сайтов.
Читать дальше →

Какие этапы прописывать в договоре

Время на прочтение7 мин
Количество просмотров13K
В прошлых заметках и комментариях к ним я рекомендовал разбивать работу с заказчиком на этапы, каждый этап сдавать и получать за него деньги. Коллеги стали спрашивать, какие этапы можно выделить при создании сайта, и я решил написать об этом подробнее.
Читать дальше →

Обновление IETester

Время на прочтение1 мин
Количество просмотров24K
Была приятна удивлена, прочитав свежие заголовки RSS одного из моих избранных сайтов.
Вышла новая версия веб-браузера IETester, позволяющая просматривать и тестировать сайты в IE8 beta 1, IE7 IE 6 и IE5.5 под Vista и XP.
Ссылка на домашнюю страницу разработчика www.my-debugbar.com
Скачать можно здесь

Отрицательные отступы — путь к универсальности

Время на прочтение2 мин
Количество просмотров32K
Я часто сталкиваюсь с ситуацией, когда в череде блоков с одинаковыми отступами и общим контейнером, у первого или последнего блока нет отступа или он отличается от остальных. Какое–то время для решения этой «проблемы» я использовал «костыли», вроде классов first или last, пока не освоил технику работы с отрицательными отступами.

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

Картинки в теле страницы с помощью data: URL

Время на прочтение1 мин
Количество просмотров5K
Примечание: ниже расположен перевод статьи «Inline Images with Data URLs», в которой рассматривается вопрос о внедрении картинки на веб-страницы при помощи data:URI. Эта схема позволяет вставить код картинок прямо в (X)HTML-страницу без обращений к внешним файлам, что уменьшает общее количество HTTP-обращений к серверу. Мои комментарии далее курсивом.

Встроенные (inline) изображения используют схему data:URI для внедрения прямо в тело веб-страницы. Как было определено в RFC 2397, такие URI предназначены для вставки небольших объектов как «непосредственные» данные. Такие объекты должны рассматриваться так же, как и любые другие внешние файлы. Использование встроенных изображений позволяет сэкономить HTTP-запросы к внешних ресурсах.

Поддержка браузерами data:URL



Хотя Opera 7.2+, Firefox, Safari, Netscape и Mozilla поддерживают data:URI, Internet Explorer 5–7 совсем нет. Однако, сообщается, что Internet Explorer 8 будет поддерживать эту схему, так как проходит Acid2 тест, что позволяет использовать data:URL как реальную альтернативу для внедрения небольших декоративных изображений. Существует также несколько приемов для поддержки старых версий Internet Explorer.

читать дальше на webo.in →

Делаем красивые кнопки

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

Эта инструкция научит Вас, как создавать очень красивые и удобные текстовые кнопки (с эффектом нажатия), используя CSS.

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

Практический XSLT. Использование в качестве шаблонизатора

Время на прочтение10 мин
Количество просмотров57K
В сети доступно масса документации по языку XSL. Данный раздел не претендует на роль документации по языку, а лишь кратко, по шагам объясняет, как создать свой XSLT-шаблон.

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

Высокопроизводительные AJAX-приложения

Время на прочтение1 мин
Количество просмотров741
Примечание: ниже перевод презентации «High Performance Ajax Applications», подготовленной ведущим специалистом из Yahoo (а теперь уже из Apple) Julien Lecomte. В ней автор освещает некоторые аспекты оптимизации как JavaScript-приложений, так и веб-сайтов вообще. В целом, советов много, и почти все, действительно, по делу. Однако, встречается и откровенная реклама Yahoo :) Мои комментарии далее курсивом.

Часть 1. Разработка для высокой производительности



Планируем и проектируем для высокой производительности



  • Ориентируемся на производительность с самого первого дня
  • Тесно работаем с дизайнерами и менеджерами продукта
  • Понимаем рациональность дизайна
  • Объясняем компромиссы между дизайном и производительностью
  • Предлагаем альтернативы и показываем, что еще возможно (на уровне прототипа)
  • Пробуем силы в реализации нетривиального дизайна (нельзя сразу говорит «нет»)
  • Помогаем упростить дизайн и взаимодействие с пользователем (добиваемся компромисса)


читать дальше на webo.in →

Обновление Google Gears 0.2 — все внимание на WorkerPoll

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

Программа-дополнение ко всем основным браузерам Google Gears это своеобразный мост между оффлайновым режимом работы и онлайном, так как одна из основных функций, предоставляемой пользователю (в данном случае — разработчикам различных веб-сервисов) — это способность приложения работать без соединения с интернетом, сохраняя всю функциональность и возможности, а после подключения — синхронизировать состояние с сервером. Но это, конечно, не все — встроенная база данных и локальный веб-сервер могут намного больше, особенно в умелых руках разработчиков. Раньше я уже писал о разных API, которые могут быть реализованы в Gears, а теперь посмотрим, что же есть в новой версии.
Читать дальше →

Пристрелите меня, или опять дедлайн.

Время на прочтение4 мин
Количество просмотров4.3K
Не знаю как у вас, а у меня давно исчезла мысль о том, что в работе может не быть авралов. Причин множество: неправильная оценка сложности и задач и сроков для их реализации, задержки утверждения документов или предоставления информации по проекту со стороны заказчика, человеческий фактор. А в итоге получаем неподъемное количество работы на пару со стрессом. Причем, не всегда проблемы могут быть внутренние. Сколько раз мне приходилось наблюдать и участвовать в проектах, в которых все идет по плану. Спокойно и размеренно. Функциональность проработана, все необходимые тесты имеются и пройдены, документация написана. И вот остается день – два до сдачи, и… От заказчика приходит гневное письмо, что он изучил последнюю версию продукта и понял, что все не так и надо изменить то-то и то-то, причем сделать это необходимо в кратчайшие сроки.
Читать дальше →

Стоп! Снято!

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

О Screencast.


Для начала коротко о том, что такое скринкаст.
Screencast (скринкаст) — Цифровая запись с экрана монитора, со звуком или без.
Так как мы «правильные» пользователи, то будем использовать только Open Source программы.

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

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность