С превеликой радостью объявляем, что мы только что запустили Add-on Developer Hub (beta) — всеобъемлющий сборник сведений, где разработчики дополнений могут выяснить, зачем они пожелали бы изготовить дополнение, и как делают дополнения, и управлять списками своих дополнений.
Михаил @amduscias
User
Электричество из воздуха
1 min
55K+20
PHP и его встроенные OOP мелочи
5 min
2.2KПочитал еще в «том году» статью о PHP и OOP под названием PHP и магия ООП, тамошний Девид Блейн описал в краце что есть таки OOP в PHP… Да, автор показал как «надо» использовать правильно функции, но в наше время, когда языки стали не обьектно ориентированными а обьектными, уже не удивишь простой поддержкой OOP. Многие гнобят PHP тем что он корявый, медленный… Ну подумаешь, медленный, подумаешь параметры функций принимаются в разном порядке =) его можно ускорить акселераторами, функции можно скрыть в классах… Самая мошь OOP в PHP — встроенные интерфейсы… Вот о 2-х из них (на примере массива) я и расскажу…
+15
Фотографии России начала XX века в цвете
1 min
1.7KВ библиотеке Американского Конгресса хранится коллекция фотографий Российской империи, сделанных в 1909-1910 годах неким Прокудиным-Горским.
Меня поразило качество изображений и, главное, то, что фотографии цветные! Ведь первые цветные фотокамеры появились в свободной продаже только в 30х годах. А тогда уже никакой империи не было.
+180
flash-видео на веб-страницах и PHP
8 min
5.9KЭта статья — перепечатка статьи от 16 ноября 2007 г. с моего блога, ссылку на который можно найти в моем же профайле — но, поскольку так уж вышло, что тема эта, кажется, до сих пор многим интересна, к тому же не так давно я читал на эту тему доклад на конференции PHPConf… в общем — судите сами.
В последнее время все большее распространение получает технология трансляции видео через веб – без необходимости скачивать медиа-контент на машину пользователя, с просмотром прямо из браузера. Таким образом можно просматривать довольно большое количество различных форматов видео, однако, это требует наличия определенных плагинов на стороне пользователя. Очевидно, самым распространенным подобным плагином является flash-player (ну хорошо, хорошо: если быть точным, то он, конечно же, не может сам по себе проигрывать видео – но позволяет легко создать приложение, способное воспроизводить видео-контент). Яркий пример такого подхода – youtube.com. Попытаюсь рассказать о том, как самостоятельно организовать трансляции флэш-видео на своей веб-странице и какие существуют подходы к этой проблеме.
Вступление
В последнее время все большее распространение получает технология трансляции видео через веб – без необходимости скачивать медиа-контент на машину пользователя, с просмотром прямо из браузера. Таким образом можно просматривать довольно большое количество различных форматов видео, однако, это требует наличия определенных плагинов на стороне пользователя. Очевидно, самым распространенным подобным плагином является flash-player (ну хорошо, хорошо: если быть точным, то он, конечно же, не может сам по себе проигрывать видео – но позволяет легко создать приложение, способное воспроизводить видео-контент). Яркий пример такого подхода – youtube.com. Попытаюсь рассказать о том, как самостоятельно организовать трансляции флэш-видео на своей веб-странице и какие существуют подходы к этой проблеме.
+19
XRAY, заглянем под шкурку
1 min
912XRAY небольшой скрипт, размещаем его на нашей панели закладок, а дальше кликаем на любой элемент и получаем окошко с:
+12
Учимся отдыхать
5 min
18KРабота программиста — это тяжелый умственный и плюс еще творческий труд. Конечно это весело — кодить, разрабатывать или проектировать какой-нибудь мега-сервис или стартап, но это требует мощной работы мозга.
+18
ExtJS/Rails CRUD приложение за 7 минут
5 min
7KTranslation
Этот пост покажет вам простые шаги по созданию TODO веб приложения с ипользованием ExtJS, Ruby on Rails и Netzke. Это займет у вас приблизительно 7 минут, и если вам заранее любопытно стоит ли оно того, смотрите сразу последнюю часть (кстати самую большую), где и обсудим результаты. Наша цель заключается в создании веб приложения которое позволит вам добавлять, редактировать и удалять TODO задачи, а также отмечать сделанные. В дополнение к этому вы сможете сортировать и искать задачи, редактировать несколько задач одновременно, и это еще не все. Можете засечь время на своих часах, давайте приступим к работе.
+35
JS1k — пишем отличное веб приложение в 1024 байт
7 min
3.4KУже второй год я участвую в JS1k, в прошлом году был пробный скрипт, сейчас я решил подойти основательно. Приложения я уже написал и отправил. В статье я хочу поделиться своим опытом: как стоит писать приложение для JS1k, чем сжимать, как сократить код в 4 раза и вообще как впихнуть что-то интересное в 1 Кб.
Тема текущего JS1k "Oregon Trail" — классическая игра для Apple II (что это можно нагуглить). Поэтому рекомендуется написать что-то в этом духе, но это не обязательно.
Начало
Вам необходимо придумать небольшое приложение или демку, которое по вашему мнению может влезть в 1кб (продумать детали и управление). Если вы сомневаетесь в своих прикидках, то можно посмотреть, что впихнули в прошлом году: Legend Of The Bouncing Beholder, Tiny chess. Прочитайте правила и используйте html шаблон — тогда ваше приложение будет 100% работать в демо среде.
Начните писать скрипт, без каких-либо оптимизаций, но следите за его размером. Если он стал больше 4-5Кб — вам стоит придумать другую тему или в будущем придется попотеть (у меня было 4393 байт).
+56
Динамический favicon или отображаем карму, не обновляя страницу
5 min
11KУ каждого из нас, полагаю, в любимом браузере постоянно открыты несколько вкладок одновременно. Не раз бывают случаи, что и заголовка вкладки не видно — лишь favicon'ки. Но часто они информации, кроме как отображения логотипа сайта, не дают. И, наверное, зря. Но мы постараемся и здесь использовать это место (целых 16px*16px!) так, как хотим. По крайней мере, будем знать, как это можно сделать.
+128
Очень много полезных штук для AS3 #1
4 min
24KНедавно в моей RSS ленте сразу несколько людей написало о большой подборке всяких штук для AS3, которые могут изрядно упростить жизнь Flash-разработчикам. Одним из таких людей был injun (чей блог я читаю уже очень давно), в его посте я увидел ссылку на исходный пост одного зарубежного автора, и решил сам посмотреть, что там к чему.
Изначально, я хотел опубликовать все ссылки в рамках одной статьи, но ссылок оказалось слишком много, и статью придётся разделить на несколько частей. В этой статье мы разберём 3D движки, 3D игровые движки, 2D игровые движки, изометрические движки, 3D фреймворки для анимации, 3D физические движки, библиотеки для дополненной реальности, твиннеры (движки для программной анимации). Итак, понеслась.
Изначально, я хотел опубликовать все ссылки в рамках одной статьи, но ссылок оказалось слишком много, и статью придётся разделить на несколько частей. В этой статье мы разберём 3D движки, 3D игровые движки, 2D игровые движки, изометрические движки, 3D фреймворки для анимации, 3D физические движки, библиотеки для дополненной реальности, твиннеры (движки для программной анимации). Итак, понеслась.
+48
CSS3 сейчас — анимация, прозрачность и многое другое (часть 2)
3 min
48KПродолжая цикл статей «CSS3 сейчас!» (Первая статья — CSS Transitions), хотелось бы рассказать об анимации средствами CSS3, а конкретно — @keyframe и animate. Так же, в статье мы затронем свойства opacity и цветовую модель rgba(), кроссбраузерное использование border-radius, box-shadow и градиентов.
+51
CSS3 сейчас — transition
3 min
263KCSS3 и HTML5 развиваются всё быстрее и быстрее, браузеры начинают поддерживать всё больше новых фишек и плюшек. В связи с этим, мне хотелось бы заглянуть в наш будущий рай верстальщиков и сделать цикл обзорных статей по новым плюшкам и фишкам этих технологий.
В этом цикле мне хотелось бы рассмотреть такие свойства CSS3, как transition, animate, opacity и модель rgba().
Часто можно услышать от многих веб-дизайнеров слова «Я уже не могу дождаться, когда же можно будет использовать CSS3...». А между тем, использовать его можно уже сегодня. Да, использование CSS3 для критичных моментов сайта сейчас невозможно. Но использовать его для добавления мелких, некритичных для проекта деталей вполне реально, можно и нужно.
В этом цикле мне хотелось бы рассмотреть такие свойства CSS3, как transition, animate, opacity и модель rgba().
Использование CSS3.
Часто можно услышать от многих веб-дизайнеров слова «Я уже не могу дождаться, когда же можно будет использовать CSS3...». А между тем, использовать его можно уже сегодня. Да, использование CSS3 для критичных моментов сайта сейчас невозможно. Но использовать его для добавления мелких, некритичных для проекта деталей вполне реально, можно и нужно.
+51
Заметка ленивого верстальщика о SCSS и Compass Framework
3 min
32KЯ изготавливаю сайты «под ключ». Начиная от дизайна, кончая заливкой на хостинг. И самая нелюбимая мною часть этого увлекательного процесса — верстка дизайна в HTML. Вроде бы ничего сложного, но многие рутинные вещи очень утомляют. Поэтому я постоянно нахожусь в поисках интересных решений в этой области.
Не так давно я начал изучать Ruby on Rails 3 и нашел очень интересный плагин для него: Compass. По сути, этот CSS-фреймворк независим от Rails, им можно пользоваться и в других типах проектов.
Расскажу-ка я вам, как Compass облегчил мою жизнь.
Не так давно я начал изучать Ruby on Rails 3 и нашел очень интересный плагин для него: Compass. По сути, этот CSS-фреймворк независим от Rails, им можно пользоваться и в других типах проектов.
Расскажу-ка я вам, как Compass облегчил мою жизнь.
+68
Грабли при верстке HTML писем
3 min
103KДовольно часто наши клиенты устраивают регулярные рассылки с новостями. Почти всегда их не устраивают текстовые рассылки или простое оформление HTML рассылок. Наши дизайнеры вовсю креативят, а мы потом набиваем шишки при верстке их макетов с корректным отображением во множестве почтовых клиентов.
Ниже список встретившихся нам особенностей и способы их разрешения (как то упорядочить их мне не удалось, поэтому всё идет единым списком)
Ниже список встретившихся нам особенностей и способы их разрешения (как то упорядочить их мне не удалось, поэтому всё идет единым списком)
+264
Модификация изображений для сайта, или какие бывают превьюшки
5 min
22KНаверняка каждый из вас делал сайт, где администратор, или даже пользователи, могу закачивать изображения, которые должны отобразится на сайте. Такие изображения можно разделить условно на 2 группы: те, которые вставляются в тело статей, скажем с помощью wysiwyg-редактора, и те, которые закачиваются в отдельное поле и потом выводятся в заранее отведенном месте. Ко вторым относятся всевозможные картинки к новостям, фотографии в фото-галереях, какие-нибудь логотипы партнеров и прочее.
И те и другие требуют какой-то обработки после размещения, но каждая группа имеет свои особенности.
И те и другие требуют какой-то обработки после размещения, но каждая группа имеет свои особенности.
+38
Git Wizardry
17 min
449K1 Введение
В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.
Данный же топик задумывался как непосредственное введение в работу с git, нечто
среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
прочитать упомянутое выше введение. Сознательно избегаются технические
подробности работы git, употребляются только общие для СКВ термины и
ограничивается список упоминаемых команд.
+43
Пуш ми, бум-бум, тач ми… Ajax Push Engine
5 min
6.9KСегодня поговорим о Comet и о server push вообще.
Обычные веб-приложения, как и сайты, работают по традиционной модели запрос-ответ-запрос, при этом, в силу особенностей HTTP-протокола и некоторых серверных реализаций обработчиков, приложение не хранит информацию между запросами, так что каждый вызов является независимым, а идентификация или сессионность обеспечиваются более высокоуровневыми средствами (например, всем известная реализация сессий в PHP). Кроме этого, запрос на новую информацию посылает всегда клиент, который заинтересован в получении самой актуальной версии данных. В приложениях, которым критично обновление, это часто становиться узким местом. У нас в одном из предыдущих проектов, было сразу несколько периодических AJAX-запросов на обновление данных. Хотя для такого случая есть варианты и вызова нескольких обработчиков на стороне сервера одним запросом от клиента.
Обычные веб-приложения, как и сайты, работают по традиционной модели запрос-ответ-запрос, при этом, в силу особенностей HTTP-протокола и некоторых серверных реализаций обработчиков, приложение не хранит информацию между запросами, так что каждый вызов является независимым, а идентификация или сессионность обеспечиваются более высокоуровневыми средствами (например, всем известная реализация сессий в PHP). Кроме этого, запрос на новую информацию посылает всегда клиент, который заинтересован в получении самой актуальной версии данных. В приложениях, которым критично обновление, это часто становиться узким местом. У нас в одном из предыдущих проектов, было сразу несколько периодических AJAX-запросов на обновление данных. Хотя для такого случая есть варианты и вызова нескольких обработчиков на стороне сервера одним запросом от клиента.
+35
Способ вертикального выравнивания блока с помощью настоящего vertical-align
4 min
70KСегодня, верстая один макет, я, кажется, изобрел очередной небезынтересный способ вертикального выравнивания блока относительно родительского. Он не основан на превращении блоков в ячейки таблицы и не использует css-свойство position.
— Должна быть известна начальная высота родительского блока;
— Дочерний блок может иметь произвольный размер как по высоте, так и по ширине.
— Работает в IE6+, O9+, FF2+, webkit;
— Тру vertical-align выравнивание со всеми допустимыми значениями;
— Одинаковое поведение во всех браузерах (незначительные отклонение при некоторых условиях в ие6 будут оговорены ниже);
— При вырастании дочернего блока выше «папочки», родительский блок расширяется;
— Ни грамма JavaScript.
Требования
— Должна быть известна начальная высота родительского блока;
— Дочерний блок может иметь произвольный размер как по высоте, так и по ширине.
Возможности
— Работает в IE6+, O9+, FF2+, webkit;
— Тру vertical-align выравнивание со всеми допустимыми значениями;
— Одинаковое поведение во всех браузерах (незначительные отклонение при некоторых условиях в ие6 будут оговорены ниже);
— При вырастании дочернего блока выше «папочки», родительский блок расширяется;
— Ни грамма JavaScript.
+68
Быстрая сортировка таблиц посредством Javascript
3 min
17KВ процессе работы с таблицами, для удобства восприятия, а также быстрого анализа, рано или поздно возникает вопрос вывода отсортированного содержимого этих таблиц. Эту задачу в web-программировании можно решить двумя способами:
Минусы первого варианта — это перезагрузка страницы на каждый клик пользователя по контролам сортировки. Плюсы — скорость сортировки на больших выборках.
Минусы сортировки на стороне клиента — сравнительно низкая скорость работы, прямо зависящая от браузера и мощности компьютера пользователя. Плюсы — отсутствие перезагрузки страницы, следовательно, иногда это дает бОльшую скорость получения отсортированного содержимого, т.к. в данном случае нет задержки между отправкой запроса серверу и получением результата.
- Сортировка на стороне сервера посредством SQL или backend'а;
- Сортировка на стороне клиента.
Минусы первого варианта — это перезагрузка страницы на каждый клик пользователя по контролам сортировки. Плюсы — скорость сортировки на больших выборках.
Минусы сортировки на стороне клиента — сравнительно низкая скорость работы, прямо зависящая от браузера и мощности компьютера пользователя. Плюсы — отсутствие перезагрузки страницы, следовательно, иногда это дает бОльшую скорость получения отсортированного содержимого, т.к. в данном случае нет задержки между отправкой запроса серверу и получением результата.
+33
Information
- Rating
- Does not participate
- Location
- Самарская обл., Россия
- Date of birth
- Registered
- Activity