Как стать автором
Обновить
30
0
Андрей @napster

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

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

Социальные сети, перспективы развития и способы монетизации. Часть 2

Время на прочтение10 мин
Количество просмотров8.9K
Вторая часть моего доклада на конференции UA WEB про социальные сети. Тема части: перспективы развития социальных сетей.

Для пропустивших, советую сначала прочитать первую часть
Читать дальше →
Всего голосов 40: ↑37 и ↓3+34
Комментарии58

А так ли нужен static?

Время на прочтение3 мин
Количество просмотров20K
Довольно часто в последнее время читал разные статьи на тему оптимизации, во многих из них писалось о том, что если функция используется как статическая, то с точки зрения оптимизации лучше перед ее объявлением написать модификатор static.
Читать дальше →
Всего голосов 14: ↑10 и ↓4+6
Комментарии48

Борьба с фрагментацией PHP кешеров

Время на прочтение3 мин
Количество просмотров3.8K
Я надеюсь, что нормальные люди уже прониклись необходимостью кешировать вывод данных на своих сайтах, либо кэшировать промежуточные результаты работы с базой данных, либо просто кешировать opcode скриптов для их более быстрого выполнения.
И что разработчики предоставляют нам для этого дела?
Читать дальше →
Всего голосов 32: ↑28 и ↓4+24
Комментарии43

Позднее статическое связывание в PHP (Часть II: Практика)

Время на прочтение3 мин
Количество просмотров10K
phpПервую часть читайте здесь.

Теперь приступим к практике. Наиболее показательным примером использования LSB, по-моему, является случай, когда у вас есть набор классов выполняющих похожие действия. В терминах веб-разработки мы часто встречаемся с такими задачами при обращениях к таблицам базы данных, особенно в ORM системах. Все ваши объекты для работы с таблицами будут похожи по сути, но при этом будут иметь собственный функционал ( и, соответственно, свои подклассы).
Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии4

Позднее статическое связывание в PHP (Часть I)

Время на прочтение2 мин
Количество просмотров35K
phpПозднее Статическое Связывание (Late Static Binding, LSB) является бурно темой обсуждений последние три года в кругах разработчиков PHP (и наконец мы его получили в PHP 5.3). Но зачем оно нужно? В данной статье, как раз и будет рассматриваться, как позднее статическое связывание может значительно упростить ваш код.

На встрече разработчиков PHP, которая проходила в Париже в ноябре 2005 года, тема позднего статического связывания официально обсуждалась основной командой разработчиков. Они согласились реализовать его, наряду со многими другими темами, которые стояли на повестке дня. Детали должны были быть согласованы в ходе открытых дискуссий.
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии53

40 советов по оптимизации вашего PHP-кода

Время на прочтение4 мин
Количество просмотров56K
Всем доброго времени суток.

Перевод заметки "40 Tips for optimizing your php code". Автор — Reinhold Weber.

  1. Если метод может быть статическим, объявляйте его статическим.
  2. echo быстрее, чем print.
  3. Передавайте в echo несколько параметров, вместо того, чтобы использовать конкатенацию строк.
  4. Устанавливайте максимальное количество проходов ваших циклов for до цикла, а не во время его выполнения.
  5. Удаляйте свои переменные для освобождения памяти, тем более, если это большие массивы.
  6. Остерегайтесь магических методов, таких как __set, __get, __autoload.
  7. require_once дорого обходится.
  8. Указывайте полные пути в конструкциях include/require, меньше времени будет тратится на поиск файла.
  9. Если вам необходимо определить время, когда скрипт был запущен, используйте $_SERVER[’REQUEST_TIME’] вместо time().
  10. Старайтесь использовать strncasecmp, strpbrk и stripos вместо регулярных выражений.

Читать дальше →
Всего голосов 79: ↑65 и ↓14+51
Комментарии201

Делаем свой webfile

Время на прочтение4 мин
Количество просмотров13K
Отчего-то всегда хотел сделать свой сервис для загрузки файлов. Всевозможные slil/zalil не устраивали своей скоростью. ifolder — обилием рекламы. Пользовался не очень популярным (от этого он ни чуть хуже не становился) сервисом up.spbland.ru. Но это как-то не правильно. И тут я решил написать свой сервис. Не буду вдаваться в подробности и рутину, только концепция.
Читать дальше →
Всего голосов 129: ↑127 и ↓2+125
Комментарии142

Flowplayer — Open source Flash плеер

Время на прочтение1 мин
Количество просмотров31K
Лого с сайте

Flowplayer — Бесплатный видео-плеер для веба
FlowPlayer — это Flash медиа плеер. Вы можете использовать его нв ваших HTML страницах чтобы воспроизводить видео файлы. «Это ваш персональный YouTube».
Читать дальше →
Всего голосов 48: ↑46 и ↓2+44
Комментарии78

GoogleTalk, part III (calls, VoIP & SIP)

Время на прочтение5 мин
Количество просмотров3.1K
Продолжаем экзекуцию нашего подопечного. Часть III.

(см. также часть I и часть II)

Сегодня мы поговорим о голосовых функциях GoogleTalk. Сразу после установки софтины и добавления контактов либо автоматически из гмэйловского ящика, либо вручную с помощью меню Add... мы имеем следующие возможности:
  • посылать нашим контактом голосовые сообщения (голосовая почта)
  • звонить таким же, как мы сами, пользователям GTalk
  • отправлять им файлы
  • отправлять им письма
  • отправлять сообщения




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

Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии57

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

Время на прочтение7 мин
Количество просмотров17K
В предыдущей статье мы разобрали основные аспекты построения шаблона с помощью XSLT. Однако, для полноценного шаблона нужно не только выводить меню сайта, но также и текстовый материал документа.
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии37

Способы «завлечения» пользователей на ресурс.

Время на прочтение3 мин
Количество просмотров1.1K
Проблема «раскрутки» заставляет болеть головы владельцев проектов не один десяток лет. Однако, в последнее время понятие «раскрутки» стало приближаться к понятию «накрутки», практически любой новый проект основную массу посетителей тащит с поиска. На самом деле это не так и плохо, тем более если представляется интересный продукт. Но как удержать пользователей и заставить их «работать»? Давайте рассмотрим несколько способов, если что не так — пишите комменты, поправим.

1. Деньги.


Первым вариантом ставлю деньги, завлечение деньгами. Это, наверно, самый логичный но наименее распространенный вариант. Во-первых, не каждый «зеленый» проект сможет платить нормальные деньги, ибо нужен не плохой буфер. Зачастую владельцы проектов — свободные разработчики, у которых нет лишних 2-3 тыщ зеленых в месяц на свой зеленый проект. Во-вторых, я лично не видел еще ни одной нормальной компенсационной программы, точнее её реализации для сети. Идеальная — установка AdSense от гугля. В идеале — пользователь ставит свой AdSense код в свой контент (блог, новости) и получает 100%, оставляет AdSense проекта и получает 50% (скажите, стали бы вы больше писать, если бы за каждый просмотр вашей новости на хабре вам капала копеечка?)
Читать дальше →
Всего голосов 47: ↑39 и ↓8+31
Комментарии50

Разгоняем картинки: PNG вместо GIF

Время на прочтение2 мин
Количество просмотров6.1K
Примечание: ниже приведен перевод статьи «Replace GIF with PNG Images» о том, в каких случаях стоит использовать PNG-формат вместо GIF. Мои комментарии далее курсивом.

Введение



Переносимый сетевой графический формат (Portable Network Graphics, PNG) разрабатывается как более эффективная, гибкая и свободная от патентов замена GIF-формату. PNG был задуман для хранения отдельных растровых изображений для дальнейшего распространения по компьютерным сетям (1). PNG был создан в 1995 в ответ на давление со стороны Unisys и их патента на алгоритм LZW-сжатия, используемый в GIF. Хотя срок действия патента Unisys уже закончился, причины на переход от GIF к PNG остались, практически, прежними (2). Заменив ваши GIF-изображения теми же самыми, но в формате PNG, вы можете ускорить загрузку ваших страниц и сэкономить трафик ваших пользователей.

PNG против GIF: алгоритмы сжатия



PNG использует алгоритм deflate-сжатия обычно с 32Кб скользящим (sliding) окном. Deflate является улучшенной версией алгоритма сжатия Lempel-Ziv (LZ77), который используется в ZIP- и GZIP-файлах (3, 4). Созданный Phil Katz для второй версии PKZip, deflate совмещает LZ77 с кодированием Huffman и является от 10% до 30% более эффективным, чем LZW при сжатии без потери информации. Так же, как и GZIP, некоторые инструменты по PNG-сжатию предполагают опциональный параметр «степень сжатия», которая варьируется от 1 до 9. По умолчанию выставляется 6. 9 является практически всегда лучшим выбором для максимального сжатия.

Не удивительно, что изображения, сохраненные как PNG, обычно от 10% до 30% меньше, чем GIF, хотя в некоторых редких случаях они могут быть больше по размеру (5, 6). В нашем тестировании мы обнаружили, что часть картинок могут быть сжаты от 40% до 50% или даже больше (до 85% для одного примера), в зависимости от изображения. По большей части изображения с большими однотонными областями сжимаются лучше, чем градиентные с большим количеством переходов между цветами.

читать дальше на webo.in →
Всего голосов 56: ↑53 и ↓3+50
Комментарии99

Реабилитация XML/XSLT технологий

Время на прочтение7 мин
Количество просмотров10K
Здравствуй, Хабр. Некоторое время назад мы внедрили у себя в CMS наряду с уже имевшимся к тому моменту собственным шаблонизатором, еще и XSLT. Поскольку есть в XSLT большие и реальные преимущества и для разработчиков, и для хозяев студий, и даже для владельцев сайтов. Но реакция наших партнеров разделилась на противоположные мнения: одни давно ожидали этого и были рады появлению такой возможности, другие поставили под сомнение востребованность XSLT, приводя в качестве аргумента низкую производительность, которую якобы влечет за собой использование XSLT.
Понятно, что у всего нового всегда есть сторонники и противники, и рассудит их время. Поэтому не было особого смысла развязывать религиозную войну XSLT vs tpl или Smarty на тот момент. Но мы обнаружили, что оказывается, один из лидеров российского рынка CMS с завидным упорством все пишет и пишет о якобы несостоятельности XSLT как массовой технологии и готов рассматривать ее только в контексте специфичных задач. А это негативно влияет на умы некоторых непосвященных разработчиков об XSLT.

Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии206

Страны, регионы, города

Время на прочтение1 мин
Количество просмотров120K
Карта мира
Хочу поделиться базой стран, регионов и городов на русском языке. Возможно, кому-то пригодиться в своих проектах. В базе 106 стран, 922 региона и 10969 городов!

Если кто не понял о чем речь, то вспомните, например, как на ВКонтакте указывается город: выбирается страна -> подгружается список регионов -> выбирается регион -> подгружается список городов

Читать дальше →
Всего голосов 124: ↑122 и ↓2+120
Комментарии128

Сессии — всегда ли они нужны?

Время на прочтение5 мин
Количество просмотров17K
Хочу еще раз поднять тему использования сессий для аутентификации пользователей. Надеюсь услышать критику приведенного в статье метода с высоты вашего опыта.

Читать дальше →
Всего голосов 53: ↑38 и ↓15+23
Комментарии59

Внедрение PayPal на сайт, работающий под ASP.NET

Время на прочтение3 мин
Количество просмотров8.2K
Намедни возникла задача внедрения PayPal на коммерческий сайт, работающий под ASP.NET. После детального изучения данного вопроса, выяснилось, что в рунете инфы по нему очень мало. Посему думаю, что будет уместно осветить данный вопрос. Начнем, как всегда, с постановки задачи.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии6

Кропотливая оптимизация PHP-приложений (рассматриваю PHP5, но большинство справедливо и для 4-й ветки)

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

Когда во сне снится «ой а если сервера не хватит...»


Для начала, Доброй Ночи. Пишу что-то полезное вроде впервые (если не считать разного рода полу-тестов в моём блоге). Человек я допытливый до жути, неожиданно в голову пришло, что могу помочь сэкономить кому-то много времени ;).


танцуем с бубном
Всего голосов 99: ↑95 и ↓4+91
Комментарии147

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

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

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



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



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


читать дальше на webo.in →
Всего голосов 77: ↑73 и ↓4+69
Комментарии28

PHP и ООП. Совмещаем \«несовмещаемое\»…

Время на прочтение4 мин
Количество просмотров4.1K
Объектно-ориентированное программирование — как стиль жизни. Это не просто применение конструкций типа class или interface — это способ мышления, когда любая сущность программы является не просто набором инструкций, а представляет из себя \«живое\» существо…

Думаю напоминать что такое ООП, в рамках данной статьи, будет лишним, посему перейду сразу к проблематике вопроса.

Разработчики, пришедшие в PHP из других языков программирования, и столкнувшиеся в нем (в РНР. тут и далее буду подразумевать РНР5 — прим.) с классами, недоумевают как их вообще возможно использовать. А все из-за того, что время жизни скрипта на РНР гораздо меньше, чем у прикладного ПО и составляет всего один цикл работы, в то время как прикладное ПО может жить и взаимодействовать со своими компонентами много дольше. В итоге миру является код, в котором классы реализуют всего-навсего отсутствующие в РНР namespaces.
Читать дальше →
Всего голосов 22: ↑16 и ↓6+10
Комментарии62

Информация

В рейтинге
Не участвует
Откуда
Днепропетровская обл., Украина
Дата рождения
Зарегистрирован
Активность