Pull to refresh
1
0
jj_killer @jj_killer

User

Send message

Какая боль! Толпы против Веб — 2:0. Эпизод один — высокоскоростная очередь

Reading time5 min
Views821
Тов. phpdude открыл блогом «PHP+MySQL оптимизация» интересную тему, захватывающую большую аудиторию. Расскажу я о том, как я Веб 2.0 убил два моих сервера (из-за моей глупости в т.ч.) и еще планирует поубивать.

Все началось осенью 2006 года, когда я решил открыть небольшой сайтик с 70 миллионами страничек. И нет, они не были бы сделаны по цепям Маркова, а именно были бы полезными. Почему 70 миллионов? Потому что столько .com/.net/.org доменов в тот момент я смог найти.
Читать дальше →

Тур по Pixar

Reading time2 min
Views4.2K
Существует много фотосетов по кампусу Pixar, но так как там трудятся талантливые люди, дизайн помещений меняется не так редко. Я представляю один из туров, автором которого был Joe Utichi. Фотосет маевский — самый разгар мультфильма Wall-E.
Поехали

Делаем сами простые часы за выходные

Reading time7 min
Views61K
Статья о том, как за выходные с нуля сделать простые электронные часы с использованием микроконтроллера. Показана только основа часов, количество программных и аппаратных фич ограничивается только вашей фантазией).

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

Гуглякартим по умному

Reading time9 min
Views10K
В последнее время модно стало использовать гуглякарту.
Гугля карту суда, гугля карту туда.
И главное не забыть отобразить свои объектики на карте.
Но, почему-то, подавлявшее число сервисов используют неправильную реализацию процесса передачи маркеров с сервера на клиент.
Точнее они не правильно формируют запросы.
А если выразиться еще более точнее — они это делают
не-по-умному

PHP: Изменение файлового кеширования на memcached — впечатления

Reading time1 min
Views1K
Почти всегда на крупных проектах, особенно сообществах, приходится очень много кешировать данные, такие, как количество сообщений, данные пользователя, общая информация…

На наших проектах мы уже несколько лет использовали файловое кеширование. Т.е., данные каждого пользователя заносились в файл, и по мере надобности изменялись. Проблема нагрузки была всегда, особенно на БД Mysql.

Изменили файловое кеширование на кеширование Memcached. Результаты просто потрясающие. Нагрузка сошла на нет, очередь коннектов к базе данных ушла. Сайты начали работать в разы быстрее.

Почему нагрузка на Mysql уменьшилась? Мое мнение — уменьшилось количество запросов на чтение и запись на жесткий диск, от этого разгрузился Mysql. Скорость работы диска, как и загруженность диска запросами на чтение-запись, как известно, одни из параметров, которые влияют на производительность Mysql.

UPD:

Что было:
1. Около 250 000 файлов кеша.
2. Около 2ГБ занято под кеш.
3. Около ~ 30 запросов/секунду (в пике ~ 50) на чтение-запись кеша с диска.

Что стало:
1. 0 файлов кеша
2. 400 МГ выделено под memcached (срок хранения данных в кеше — неделя)
3. 0 запросов на чтение-запись кеша.

Что такое memcached и для чего он нужен

Reading time2 min
Views19K
Memcached (читается мемкЭшид) — это система кэширования различных объектов в оперативной памяти. Позволят значительно снизить нагрузку на базу или файловую систему и ускорить работу сайта, за счет того, что работа с памятью быстрее чем с базой или файлами. Насколько я помню была разработана для LJ, а сейчас применяется практически на всех проектах с большим количеством пользователей. Запускается отдельным сервером.

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

Для PHP есть специальный PECL-модуль (то есть он не поставляется вместе с PHP, надо отдельно скачивать и компилировать). Думаю также есть готовые модули для Perl, Python (Django), Ruby(RoR) и других языков.

В API самого мемкеша есть только базовые функции: выбор сервера, коннект и дисконект, добавление, удаление, обновление и получение объекта, инкримент и дикримент. Для каждого объекта устанвливается время жизни, от 1 секунды до бесконечности. При переполнение памяти более старые объекты автоматически удаляются. Для PHP также есть уже готовые библиотеки для работы с мемкешем, которые дают дополнительную функциональность.

Базовый алгоритм работы с мемкешем следующий — обращается к мемкеш-серверу за объектом, если он есть то берем его. Если нет, то обращаемся к базе данных (или где там еще у вас могут хранится данные), формируем объект, выдаем его пользователю и добавляем в мемкеш, чтобы мы могли прочитать его при следующем обращение.

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

Сейчас на одном из своих проектов (сайт знакомств) я пробую использовать мемкеш для реализации показа статуса пользователя он- или оффлайн..

История юзер-агентов

Reading time3 min
Views3.8K
Увидел ссылку на этот текст тут в новых. Очень понравился, жаль, что ссылка не вышла на главную. Поэтому решил сделать вольный перевод, постаравшись сохранить стиль повествования.

В Начале был NCSA Mosaic, и назвал он себя NCSA_Mosaic/2.0 (Windows 3.1), и показал он пользователем картинки в тексте, и было много радости.

И вот, пришёл новый браузер, «Mozilla», сокращение от «Mosaic Killer» — но не обрадовались бы такому в Mosaic, посему пришлось переименоваться в Netscape, а представляться как Mozilla/1.0 (Win3.1), и было ещё больше счастья и радости: поддерживал нетскейп фреймы, и понравились фреймы народу. Но мозайк не поддерживал фреймы — и стали определять юзер-агент, и Мозилле вебмастера слали фреймы, а остальным — не фреймы.

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

Важность факторов, влияющих на ранжирование сайта в Яндексе

Reading time1 min
Views2.3K
Мною был организован опрос среди опытных SEOшников на тему сабжа. Надеюсь — оцените.

Факторы с важностью по 10-и бальной шкале в картинках (чем больше — тем важнее):



Остальные графики спрятал под кат.

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

Купил новый компьютер? Старый тоже пригодится

Reading time4 min
Views7.9K
Так получилось, что я люблю программирование и компьютеры. Поэтому у каждого члена моей семьи было по одному PC. У меня стационарный (Ubuntu), у мамы тоже (Windows XP), а у жены — ноутбук (Windows Vista). Была задача — организовать интернет для всей этой техники. Провайдер мне его отдает по PPTP. Недолго думая (и будучи лентяем) я докупил обычные Ethernet-сетевые карты, вставил на стационарные компы и соединил все компьютеры проводами (если честно, я еще купил WiFi модуль для своего компа, но тупо не смог настроить для ubuntu).

Шло время, потребности росли (особенно потребности в мобильности рабочего места) и я стал обладателем ноутбука MacBook Pro. Что делать со старым компьютером? Выбрасывать? Было жалко… Ведь почти руками его собирал в течение двух лет. И тогда я решил — будет сервером! Я почистил компьютер и заново поставил туда Ubuntu Linux.
Читать дальше →

Невероятные возможности по улучшению видео… Возможно ли такое?

Reading time1 min
Views2.9K
Сегодня увидел видео, которое меня просто поразило. Систему разрабатывают студенты из University of Washington. Разрабатываемая ими система позволяет вносить автоматические улучшения в фотографии или отдельно взятые кадры из видео. Улучшения просто потрясают воображение. В общем — лучше один раз увидеть, чем сто раз услышать.

Flickr шутит об интернете

Reading time1 min
Views579
Бродя по «Фликеру» в поисках интересных фотографий, набрел на интернетную тематику.
От некоторых работ посмеялся от души, подумал, что могу поделиться с хабра-сообществом.
Смеяться полезно, каждая минута смеха продлевает на несколько часов нашу жизнь.
Так почему бы не найти лишний повод улыбнуться или поднять себе настроение?!


Приятного просмотра!..

Эксперимент №1. Сколько орешков в тарелке?

Reading time1 min
Views6.9K
Для тех кто пропустил вчерашнее обсуждение книги «Мудрость толпы», можно ознакомиться здесь.

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

Прошу навскидку оценить сколько орешков лежит в тарелке (это не ваза) и указать это в комменте. По возможности, перед ответом, не смотрите что отвечали другие.

Когда наберется (если вообще наберется) хотябы 100 ответов, я посчитаю среднее арифметическое всех ответов и сравню с правильным ответом. Теоретически, если верить книге, и если эксперимент
не слишком грубый, средний ответ должен быть очень близким к верному. Пожалуйста, отвечайте серьезно и не пишите заведомо неправильных ответов (0, 100000, итп)



UPD: Не минусуйте, дайте состояться эксперименту ;) Для тех кто задает себе вопрос, какое отношение все это имеет к IT: почитайте, пожалуйста, ссылку на обсуждение книги

UPD: Эксперимент завершен! В тарелке было ровно 135 орешков. Хотя каждый по-отдельности давал, как правило, сильно отличающийся результат, среднее арифметическое получилось: 139.28!! Всего было 257 ответов. Дубликаты (несколько ответов от одного пользователя) и «9999999» я не считал. Результат очень интересный, будем продолжать экспериментировать. Правда, этот топик почему-то стоил мне кармы — тоже, наверное, проявление коллективной мудрости :)

Основные принципы организации приема SMS платежей. Преимущества и тонкости оплаты по SMS, описание платежных SMS систем.

Reading time10 min
Views22K
Ни для кого не секрет, что сегодня бизнес в интернете развивается семимильными шагами. Новые интернет проекты открываются каждый день — большинство из них, правда, также быстро и закрывается, не успев развиться и привлечь аудиторию. Те, кто аудиторию привлек, начинает задумываться о способах ее монетизации — превращении показателей счетчиков в деньги.

Методы монетизации аудитории


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

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

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

Музицирующий Лео

Reading time2 min
Views998
Вот наткнулся на забавные подборки для генератора голоса. Открываем терминал, копируем команду и жмем enter.

say -v Good oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

Понравилось?
Читать дальше →

Cопродюсер «Героев» и Lost рассуждает о торрентах

Reading time3 min
Views747
Не секрет, что именно сериалы составляют львиную долю трафика в торрент-сетях. По статистике зарубежных трекеров, некоторые эпизоды популярных сериалов, таких как «Герои» и Lost, скачали до 10 млн человек.

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

Торрент-гики уверены, что так называемое «пиратство» через торренты на самом деле идёт на пользу сериалам. Известность фильмов растёт, а армия фанатов гарантированно не пропускает ни одной серии, благодаря чему поддерживается интерес. Через торренты сериалы получают бесплатную рекламу: она как вирусный маркетинг охватывает миллионы новых зрителей, которые в противном случае никогда бы не посмотрели этот сериал. Когда у Джесси Александра напрямую спросили, помогают ли торренты расширить аудиторию сериала, он не стал кривить душой и ответил прямо: «Да, помогают».

И это говорит сопродюсер, который напрямую отвечает за коммерческий успех проекта.
Читать дальше →

Российским компьютерам быть?

Reading time2 min
Views3.4K
Cnews сообщает, что в текущем году начнутся поставки отечественных компьютеров «Эльбрус-3М» на основе одноимённых процессоров «Эльбрус».
<img src=«habrastorage.org/getpro/habr/olpictures/7de/127/3ed/7de1273ed3c6d99a893e8e66b0b9cbca.jpg» width=300 height=158 border=0 alt=«Внешний вид процессора „Эльбрус“. (фото с ru.wikipedia.org)» hspace=10 vspace=10>
Читать дальше →

Шпаргалка по управлению сервисами CentOS 7 с systemd

Reading time7 min
Views345K
Systemd – менеджер системы и сервисов в операционной системе Linux. При разработке eго стремились спроектировать обратно совместимым со скриптами инициализации SysV init и предоставить полезные функции, такие, как параллельный запуск системных сервисов во время загрузки, активацию демонов по требованию, поддержку снепшотов состояния системы и логику управления сервисами, основанную на зависимостях. В CentOS 7 systemd заменяет Upstart как систему инициализации по умолчанию.

В этой статье мы рассмотрим процесс управления сервисами в systemd для пользователя CentOS 7. Эти знания будут полезны и в других дистрибутивах, ведь systemd уже давно используется в Fedora и планируется в Ubuntu 14.10 и Debian 8. Хорошо это или нет — оставим за кадром.

CentOS 7 Systemd Infobox

В процессе чтения статьи вы можете попробовать systemd на классических VPS и облачных VPS от Infobox. Мы стремимся своевременно добавлять поддержку современных ОС, чтобы вы могли использовать последние технологии для более эффективной работы. Сама идея написания статьи родилась после очередного вопроса пользователей об использовании сервисов в CentOS 7.
Читать дальше →

Отладка и оптимизация скриптов gstreamer на примере онлайн трансляции (live streaming)

Reading time4 min
Views17K
Gstreamer — самая популярная *nix библиотека для работы с видео, которая является основой для большинства популярных приложений (основной список можно найти здесь).

image

Однако, столь гибкий инструмент требует тонкого подхода для стабильной и эффективной работы.
Все действия будут рассмотрены на примере онлайн HD трансляции с HDMI входа по RTMP с помощью blackmagic intensity pro, Debian Linux, gstreamer и Nginx.
Читать дальше →

Information

Rating
Does not participate
Location
Киев, Киевская обл., Украина
Registered
Activity