Pull to refresh
27
0
Dan Sosedov @sosedoff

User

Send message

yougetsignal.com — набор полезных сетевых инструментов!

Reading time1 min
Views1.7K
В набор входят как обычные, так и уникальные утилиты, ну давайте обо всем по порядку (как это представлено на сайте).

1. Port Forwarding Tester — средство для проверки внешнего IP-адреса и обнаружения открытых портов.



2. Network Location Tool — утилита, позволяющая определить геофизическое местоположение по ip-адресу используя Google Maps.
Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments12

Масштабируемые и высокопроизводительные веб-приложения. Гл. 1. Протокол HTTP. Draft.

Reading time13 min
Views2.9K
Обсуждаемые темы: HTTP-запросы; HTTP-ответы; Оптимизация с помощью HTTP keep-alive; Оптимизация с помощью HTTP-pipelining; Оптимизация с помощью HTTP-кэширования: Кэширование в современных клиентах, Стратегии ревалидации, Отключение кэширования и интерактивные страницы; Оптимизация с помощью компрессии; Специфическая оптимизация отдаваемого содержимого; Комбинирование контента.

Комментарии приветствуются.

Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments11

Инфраструктура MySpace не справляется с нагрузкой

Reading time5 min
Views1.1K
Журнал Baseline опубликовал подробный технический анализ инфраструктуры сайта MySpace.com. Как известно, это один из крупнейших веб-сервисов в интернете, который сейчас спорит с порталом Yahoo за звание самого посещаемого сайта в Сети.
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments56

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

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

Шло время, потребности росли (особенно потребности в мобильности рабочего места) и я стал обладателем ноутбука MacBook Pro. Что делать со старым компьютером? Выбрасывать? Было жалко… Ведь почти руками его собирал в течение двух лет. И тогда я решил — будет сервером! Я почистил компьютер и заново поставил туда Ubuntu Linux.
Читать дальше →
Total votes 225: ↑159 and ↓66+93
Comments250

flash-видео на веб-страницах и PHP

Reading time8 min
Views5.9K
Эта статья — перепечатка статьи от 16 ноября 2007 г. с моего блога, ссылку на который можно найти в моем же профайле — но, поскольку так уж вышло, что тема эта, кажется, до сих пор многим интересна, к тому же не так давно я читал на эту тему доклад на конференции PHPConf… в общем — судите сами.

Вступление


В последнее время все большее распространение получает технология трансляции видео через веб – без необходимости скачивать медиа-контент на машину пользователя, с просмотром прямо из браузера. Таким образом можно просматривать довольно большое количество различных форматов видео, однако, это требует наличия определенных плагинов на стороне пользователя. Очевидно, самым распространенным подобным плагином является flash-player (ну хорошо, хорошо: если быть точным, то он, конечно же, не может сам по себе проигрывать видео – но позволяет легко создать приложение, способное воспроизводить видео-контент). Яркий пример такого подхода – youtube.com. Попытаюсь рассказать о том, как самостоятельно организовать трансляции флэш-видео на своей веб-странице и какие существуют подходы к этой проблеме.

Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments20

MediaCoder — Аудио-Видео перекодировщик

Reading time2 min
Views2.3K
MediaCoder Logo
MediaCoder — универсальный аудио-видео перекодировщик, обладающий огромными возможностями. Поддерживаемы аудио форматы — MP3, Vorbis, AAC, AAC+, AAC+v2, MusePack, Speex, AMR, WMA, RealAudio, FLAC, WavPack, Monkey's Audio, OptimFrog, AAC Lossless, TTA, WAV/PCM, Waveform. Видео кодеры — H.264, XviD, DivX, MPEG 1/2/4, Theora, Flash Video, Dirac, 3ivx, RealVideo, Windows Media Video; Контейнеры — AVI, MPEG/VOB, Matroska, MP4, PMP, RealMedia, ASF, Quicktime, OGM, а также CD, DVD, VCD, SVCD, CUESheet.
Читать дальше →
Total votes 36: ↑29 and ↓7+22
Comments42

11 порталов для выбора Иконок

Reading time1 min
Views5.4K
Коллекция ссылок больших порталов и поисковиков, для выбора всевозможных Иконок(Icons) разного типа. Практически на всех есть широкий выбор размеров.

В этой коллекции я уверен что вы найдете что вам нужно ;)

Ну интересное так точно!!!

1. http://www.iconspedia.com
Читать дальше →
Total votes 100: ↑99 and ↓1+98
Comments32

Выбираем онлайн-хранилище файлов

Reading time5 min
Views8.3K
Персональные онлайн-хранилища файлов Не знаю как у вас, но у меня периодически возникает потребовать в онлайн-хранилище данных. Всегда есть файлы, которые могут потребоваться мне как на работе, так и дома – документация, фрагменты кода (snippets), наброски статей и т.д. Впрочем, иные документы, такие как карты, описания туристических маршрутов, материалы по истории городов и достопримечательностей могут понадобиться и вдалеке от родины. В первом случае можно обойтись синхронизацией данных домашнего и офисного компьютеров (что, кстати, не гарантирует вам отсутствие «головной боли»).
Читать дальше →
Total votes 59: ↑58 and ↓1+57
Comments71

Не гуглом единым… Онлановые инструменты

Reading time1 min
Views815
Сделал подборочку не гугловских инструментов:

www.gliffy.com — Онлайн-диаграммы, эквивалент MS Visio;
thinkature.com — Онлайн-диаграммы, размышлений;
show.zoho.com — Онлайн-презентации;
www.bubbl.us — Онлайн Mind Maps;
us.ajax13.com — Онлайн-офис;
www.empressr.com — Онлайн-презентации;
www.burnham-on-sea.co.uk/fax.html — Послать онлайн-факс;
www.zamzar.com/?www.deltaasesores.com — Конвертер файлов;
www.chatcreator.com/chatbox — Возможность добавить на свой сайт чат;
www.ortelius.de/kalender/form_en2.php — Перевод дат по разным календарям, есть даже календарь Майя;
www.webwag.com — Web-комбайн: rss-агрегатор, погода, поиск, возможность добавлять свой контент;
www.netvibes.com — Web-комбайн: читает rss, показывает, погоду, хранит todo листы, проверяет почту, хранит закладки, записки, хранит todo из rememberthemilk, всё это дополняет приятным и удобным интерфейсом;
www.rememberthemilk.com — Онлайн-органайзер;
voo2do.com — todo-листы, поддержка проектов.
Total votes 52: ↑48 and ↓4+44
Comments28

Система непересекающихся множеств и её применения

Reading time10 min
Views70K
Добрый день, Хабрахабр. Это еще один пост в рамках моей программы по обогащению базы данных крупнейшего IT-ресурса информацией по алгоритмам и структурам данных. Как показывает практика, этой информации многим не хватает, а необходимость встречается в самых разнообразных сферах программистской жизни.
Я продолжаю преимущественно выбирать те алгоритмы/структуры, которые легко понимаются и для которых не требуется много кода — а вот практическое значение сложно недооценить. В прошлый раз это было декартово дерево. В этот раз — система непересекающихся множеств. Она же известна под названиями disjoint set union (DSU) или Union-Find.

Условие


Поставим перед собой следующую задачу. Пускай мы оперируем элементами N видов (для простоты, здесь и далее — числами от 0 до N-1). Некоторые группы чисел объединены в множества. Также мы можем добавить в структуру новый элемент, он тем самым образует множество размера 1 из самого себя. И наконец, периодически некоторые два множества нам потребуется сливать в одно.

Формализируем задачу: создать быструю структуру, которая поддерживает следующие операции:

MakeSet(X) — внести в структуру новый элемент X, создать для него множество размера 1 из самого себя.
Find(X) — возвратить идентификатор множества, которому принадлежит элемент X. В качестве идентификатора мы будем выбирать один элемент из этого множества — представителя множества. Гарантируется, что для одного и того же множества представитель будет возвращаться один и тот же, иначе невозможно будет работать со структурой: не будет корректной даже проверка принадлежности двух элементов одному множеству if (Find(X) == Find(Y)).
Unite(X, Y) — объединить два множества, в которых лежат элементы X и Y, в одно новое.

На рисунке я продемонстрирую работу такой гипотетической структуры.


Как такое сделать и зачем оно нужно
Total votes 114: ↑109 and ↓5+104
Comments29

Обзор NoSQL систем

Reading time5 min
Views55K
Беспрецедентные объемы данных заставляют разработчиков и бизнес приглядываться к альтернативам реляционных баз данных, используемым вот уже более тридцати лет. В совокупности все эти технологии известны как «NoSQL базы данных».


Основной проблемой является то, что реляционные базы данных не могут справляться с нагрузками актуальными в наше время (мы говорим о high-load проектах). Есть три конкретные проблемных области:
  • горизонтальное масштабирование при больших объемах данных, например как в случае Digg (3 терабайта для зеленых значков, отображаемых, если ваш друг сделал dugg на статье) или Facebook (50 терабайт для поиска по входящим сообщениям) или eBay (2 петабайта в целом)
  • производительность каждого отдельного сервера
  • не гибкий дизайн логической структуры.
Читать дальше →
Total votes 101: ↑98 and ↓3+95
Comments67

Ресайз изображений на лету

Reading time9 min
Views19K
Практически в любом веб-приложении использующем изображения существует потребность формировать уменьшенные копии этих изображений, причем зачастую, форматов дополнительных изображений несколько.
Так же вызывает некоторую головную боль добавление новых размеров на существующем приложении. Отсюда задача:
Читать дальше →
Total votes 73: ↑69 and ↓4+65
Comments65

Прогрессивные технологии, как способ выжать из сервера максимум

Reading time5 min
Views12K

Вступление


Просто красивый rrdtool =)
Забавно, но когда программист разрабатывает какой-либо продукт, он редко задумывается над вопросом могут ли на одну кнопку в один момент времени нажать одновременно 2000 человек. А зря. Оказывается могут. Как ни странно но большинство движков, написанных такими программистами, очень плохо ведут себя под большими нагрузками. Кто бы подумал, а всего один лишний INSERT, не проставленный index, или кривая рекурсивная функция могут поднять load averages чуть ли не на порядок.

В этой статье я опишу как мы, разработчики проекта, сумели выжать из одного сервера с Pentium 4 HT / 512Mb RAM, максимум, держа одновременно 700+ пользователей на форуме и 120,000 на трекере. Да, проект этот — торрент трекер. Предлагаю сразу оставить в стороне разговоры о копирайтах и правах, мне это не интересно, что действительно интересно — это HighLoad.
читать дальше
Total votes 318: ↑314 and ↓4+310
Comments184

Три первых шага к оптимизации LAMP

Reading time2 min
Views5.4K
Бытует мнение, что связка LAMP (Linux+Apache+Mysql+PHP) не требует особой настройки и работает «из коробки». Это далеко не так. После того, как я долго убеждал товарища установить кеширующий акселератор PHP xcache, я решил провести небольшой эксперимент и попробовать выключить xcache на своём виртуальном сервере, находящемся под небольшой нагрузкой (около хита в секунду). В реальной жизни нагрузка на процессор мала, а вот память загружена сильно, т.к. её немного (256МБайт).

Результаты эксперимента превзошли все ожидания.
Читать дальше →
Total votes 82: ↑66 and ↓16+50
Comments84

Marble drop

Reading time1 min
Views4K
Должен признаться, меня несколько смущало "щелкание винчестера" (WDC WD1200BEVS-75RST0) на моем Dell Inspiron. Я использую Ubuntu Linux и помню шумиху вокруг системы энергосбережения, которая должна была "убивать" жесткие диски наших компьютеров. В то время доказали, что это не более, чем глупости, что все будет исправлено и, вообще, переживать по данному поводу не стоит. Недавняя статья заставила меня еще раз более пристально понаблюдать за HDD и поэкспериментировать с настройками APM (advanced power management) и соотношением шум/производительность. Действительно, оказалось, что странные звуки вызваны парковкой головок диска.

Команды

sudo hdparm -M 254 /dev/sda
sudo hdparm -B 255 /dev/sda


решили проблему!

Однако, после перезагрузки я начал опять слышать характерные щелчки. Оказалось, что значение параметра '-B' (APM settings) не сохраняется. Для Ubuntu Linux решением этого оказалось редактирование /etc/hdparm.conf (раскомментировав 41-ю сроку получил запись 'apm = 255').

Если после данных манипуляций система не грузится, следует попробовать в grub дать параметр ядру 'nohdparm'.

Дополнительную полезную информацию можно найти на Ubuntu Forums.
Total votes 40: ↑32 and ↓8+24
Comments28

Кэширование и memcached

Reading time7 min
Views82K

Этим постом хочу открыть небольшую серию постов по материалам доклада на HighLoad++-2008. Впоследствии весь текст будет опубликован в виде одной большой PDF-ки.



Введение


Для начала, о названии серии постов: посты будут и о кэшировании в Web’е (в высоконагруженных Web-проектах), и о применении memcached для кэширования, и о других применениях memcached в Web-проектах. То есть все три составляющие названия в различных комбинациях будут освещены в этой серии постов.
Читать дальше →
Total votes 76: ↑75 and ↓1+74
Comments72

Оптимизация MySQL запросов

Reading time4 min
Views124K
В повседневной работе приходится сталкиваться с довольно однотипными ошибками при написании запросов.

В этой статье хотелось бы привести примеры того, как НЕ надо писать запросы.
Читать дальше →
Total votes 143: ↑132 and ↓11+121
Comments142

AdMe.ru: Тэги, полнотекстовый поиск и всё такое…

Reading time9 min
Views7.4K
В этой статье я открою секреты того, как работает adme.ru, а именно я расскажу о том как устроено хранение статей и тэгов, как работает полнотекстовый поиск, поиск по тэгам и всё такое…

В статье приведён пример структуры таблиц, рабочий конфиг Sphinx и немного php кода с примерами выборок.
Читать дальше →
Total votes 71: ↑64 and ↓7+57
Comments32

Скриптлеты для Web-разработчика + подарок

Reading time41 min
Views6.1K
Для начала. Что же такое скриптлет?

Скриптлет — яваскрипт, помещеный в закладку и выполняемый на открытой странице при нажатии на ту самую закладку.

С помощбю скриптлетов можно видоизменять страницу, редактировать или отлаживать дизайн, искать ошибки в своих скриптах и еще очень много чего…

Читать дальше →
Total votes 128: ↑114 and ↓14+100
Comments44

Безопасность на хабре

Reading time2 min
Views2K
А расскажу я вам сегодня про фичу, которую совсем недавно мне понадобилось сделать в одном проекте. А именно о функции «Запомнить меня на этом компьютере». Смешно не правда ли? Что же тут сложного? Сохраняй куки на две недели, месяц, потом вытаскивай и восстанавливай сессию. Ага, всё просто. А я встал в тупик. Меня часто ставят в тупик самые простые вещи.Так что же меня смутило…

Читать дальше →
Total votes 155: ↑142 and ↓13+129
Comments68

Information

Rating
Does not participate
Location
Chicago, Illinois, США
Date of birth
Registered