Как стать автором
Обновить
40
0
d0lfin @d0lfin

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

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

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

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

Вступление


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

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

Video rip. Часть 2-1. Что такое interlace и с чем его едят

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

Содержание


  1. Подготовка DVD
    1. vStrip
    2. DGMPGDec

  2. Обработка видео
    1. Что такое interlace и с чем его едят
    2. Как определить что у нас: progressive, interlaced или telecined?
    3. Избавление от обычной чересстрочности (deinterlace)
    4. IVTC

  3. Сжимаем и запаковываем


В этой статье мы узнаем что такое interlace, deinterlace, telecine, pulldown, ivtc и как всё это вместе нам усложняет жизнь.

Все видео-сигналы можно разделить на две категории: interlaced и progressive.

Interlace, по нашему чересстрочная развёртка, как метод, была придумана Львом Сергеевичем Терменом в 1927 году. Суть её заключается в том, что ТВ кадр состоит из нескольких сотен строк. Строки отображаются на экране не одна за другой, а через одну, таким образом разделяя кадр на два полукадра. Таким образом изображение на телевизоре обновляется со скоростью 50 (PAL) или 60 (NTSC) полукадров в секунду. Поле, которое начинается с нечётной строки называется нечётным или верхним, соответственно, другое, чётным или нижним. Благодаря этому методу мы получаем на экране телевизора изображение хорошего качества без увеличения полосы пропускания (а также проблемы при рипе).
Читать дальше →
Всего голосов 33: ↑32 и ↓1+31
Комментарии32

Video rip. Часть 1-2. Подготовка DVD. DGMPGDec

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

Содержание


  1. Подготовка DVD
    1. vStrip
    2. DGMPGDec

  2. Обработка видео
    1. Что такое interlace и с чем его едят
    2. Как определить что у нас: progressive, interlaced или telecined?
    3. Избавление от обычной чересстрочности (deinterlace)
    4. IVTC

  3. Сжимаем и запаковываем


Эта часть будет короче и проще предыдущей. Я было хотел совместить их, но потом увидел, что скорее всего это будет уже через край, поэтому оформил отдельно. Тем не менее этот этап важен и без него дальше мы не продвинемся.

Так как в дальнейшем работать мы будем с AviSynth, то надо как-то получившиеся VOB файлы им открыть. (если вы не знаете что такое AviSynth, то можете почитать здесь, например). Проблема в том, что AviSynth сам по себе с MPEG2 не работает и для этого программе нужен плагин который называется DGMPGDec. Скачать его можно, например, здесь.

Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии14

Firebug: Part 1 — console

Время на прочтение2 мин
Количество просмотров7.7K
Данной статей я хочу начать серию, посвященную всеми любимому Add-on к Firefox под названием Firebug.

Весь цикл: Console, Commands, Debugging ,Profiling

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

Если у вас его еще нету, то можно скачать со страницы http://getfirebug.com.

Читать дальше →
Всего голосов 106: ↑101 и ↓5+96
Комментарии46

Парсер математических выражений

Время на прочтение5 мин
Количество просмотров47K
Спасибо всем! Статья набрала необходимое число плюсов и автор к нам присоединяется! Вот и он: elw00d
Представляю вниманию товарищей-дотнетчиков библиотечку собственного написания, с помощью которой можно легко обращаться с несложными математическими функциями, переводя их из строковой формы инфиксной записи в обработанное представление, составленное в постфиксной нотации, и обратно. Для чего это может понадобиться?

К примеру, можно написать приложение, которое принимает ввод функции пользователем в виде строки, анализирует корректность синтаксиса, вычисляет его значение в указанных точках, оптимизирует введенное выражение, минимизируя количество операций, требуемых для вычисления, и может выдавать результат в виде строки, представляющей собой корректное строковое представление оптимизированной функции. В качестве конкретных применений можно отметить различные специализированные калькуляторы (в том числе, построенные наподобие программируемых), приложения, используемые для построения графиков или других отчетов, требующие задания начальных функций, или как оригинальное средство для построения защиты от спама / автоматических регистраций.
Читать дальше →
Всего голосов 108: ↑91 и ↓17+74
Комментарии35

Отправка комментариев пользователей сайта вам на Jabbеr

Время на прочтение1 мин
Количество просмотров5.9K
Во время шумихи с аськой и предложениями перехода на jabber я решил разобраться: что же такое джаббер и как он мне может пригодиться кроме прямого общения.

Применение нашлось само собой – хочется получать комментарии с сайта себе в мессенжер. Этот подход оказался очень удобным и простым в реализации.

Поскольку я только начал разбираться с джаббером решил использовать готовую библиотеку для php (так как мой сайт работает на нем).
Итак, на сайте протокола xmpp (jabber) xmpp.org/software/libraries.shtml я скачал баблиотеку xmpphp (она мне понравилось больше всех своей простотой в понимании) и закачал ее на свой хост.

В функцию добавления комментария на сайте я добавил строки:

include ‘XMPPHP/XMPP.php’;
$conn = new XMPPHP_XMPP('джаберовский сервер', 5222, 'логин', 'пароль', 'xmpphp', 'jabber.ru', $printlog=false, $loglevel=XMPPHP_Log::LEVEL_INFO);
try
{
	$conn->connect();
	$conn->processUntil('session_start');
	$conn->presence();
	$conn->message('ваш джаббер', 'текст сообщения');
	$conn->disconnect();
}
catch(XMPPHP_Exception $e)
{
	die($e->getMessage());
}


Где: джабберовский сервер — сервер через который отправляются сообщения (я указал тот же на который и приходят сообщения).
Внимание! Текст сообщения должен быть с кодировке UTF-8.

Вот собственно и все…

P.S. Спасибо за приглашение на хабр! Решил перенести свою статью из песочницы в блог.
Всего голосов 171: ↑158 и ↓13+145
Комментарии69

Осваиваем Python. Унция ноль. Введение.

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

Предыстория



Присоединяюсь к MaxElc, DarwinTenk и Devgru :) Начинаю цикл статей посвященных Python. Сам я имею некоторый опыт обращения с PHP и Java. Но каждый раз, при относительном освоении какого-то инструмента — оставалось определённое неудовлетворение им, связанное с чем-то конкретным, и поиски продолжались. На сегодняшний день наиболее близко к идеалу в моих глазах стоит Python. Идеал недостижим — это понятно, посему и у Python есть недостатки. Прежде всего — это скорость выполнения, однако, эта проблема решаема несколькими путями и об этом мы обязательно поговорим чуть позднее.
Сам я начал осваивать Python буквально недавно. Начиная этот цикл статей — я преследую несколько целей. Во-первых, это дополнительная само мотивация + интерактивность, во-вторых, опыт. В-третьих, блуждая по просторам рунета — вижу, что Python куда менее популярен, чем в мире. Ситуацию надо исправлять :)
В соответствии с идеологией Python, а именно с тем, что одни из главных его козырей — это быстрота в освоении и скорость разработки, мы достаточно быстро, практически тезисно пронесёмся по основам синтаксиса и построения программ и перейдём к основной цели данного цикла — освоение django.
Итак, мы начинаем.
Читать дальше →
Всего голосов 90: ↑78 и ↓12+66
Комментарии86

Задачи для начинающих Java программистов

Время на прочтение4 мин
Количество просмотров393K
В продолжение моего поста "Начинающим Java программистам" публикую очередную свою шпаргалку, а именно список задач, которые я обычно даю новичкам. Опытным разработчикам они покажутся тривиальными, а только начинающим изучать Java, причём самостоятельно, надеюсь будут в самый раз. Так же если Вы используете какие-то ещё задачи для обучения, то поделитесь ими, пожалуйста.:) Так как мне, иногда, как-то не по себе в ...-цатый раз рассказывать стажёрам одну и ту же задачу — пусть даже они её слышат впервые:)
Читать дальше →
Всего голосов 44: ↑39 и ↓5+34
Комментарии50

Как зарегистрировать домен бесплатно

Время на прочтение2 мин
Количество просмотров149K
image
На удивление оказывается, что многие незнают о существовании зон, свободных для регистрации. Более того, многие платят за регистрацию доменов в этой зоне деньги — стандартная цена у известных регистраторов от 5 до 15 у.е. за то, что можно сделать самому бесплатно.

Вот какие домены можно зарегистрировать абсолютно бесплатно:
Украина
.net.ua, .od.ua, .org.ua, и множество вида регион.ua
Россия
.com.ru, .net.ru, org.ru, pp.ru, .msk.ru, spb.ru и множество остальных типа регион.ru

Ниже инструкция типа «домен бесплатно для чайников»

Читать дальше →
Всего голосов 231: ↑214 и ↓17+197
Комментарии97

Владельцам нетбуков посвящается: Unetbootin

Время на прочтение1 мин
Количество просмотров5.4K
Программа уже упоминалась на Хабре в блоге OpenSource

Unetbootin (http://unetbootin.sourceforge.net/) позволяет создать загрузочную USB-флешку из практически любого дистрибутива Linux/BSD. Впрочем, можно создать и загрузочный жесткий диск.
Существуют версии как для Linux, так и для Windows.
Работать просто до неприличия:
Выбрали источник → Выбрали загрузочное устройство → Нажали OK.
При этом в качестве источника можно выбрать дистрибутив и версию, программа сама скачает нужное. Можно выбрать ISO, а можно указать ядро и initrd руками с нужными опциями.

Окошко:
screenshot

PS. Поддерживается даже только что вышедшая Ubuntu 8.10.
Всего голосов 51: ↑41 и ↓10+31
Комментарии49

«Система личных сообщений 2.0» или «две истории»

Время на прочтение3 мин
Количество просмотров3.7K
Статья посвящена системе личных сообщений, но только в новом формате, который, по моему скромному мнению, больше подходит под систему ценностей «web 2.0».
Больше ничего не скажу, хоть пытайте!


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

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

Плохая новость заключается в том, что за год я ничего не сделал с этой прекрасной идеей, никому ее не рассказал, и никому не показал. Как ни печально, но это факт.

Шутки — шутками, а потехе — час! Сегодня я расскажу вам все самое сокровенное, а внимательный читатель, чем черт не шутит, вынесет из этого повествования что-нибудь полезное.
что он написал?
Всего голосов 105: ↑69 и ↓36+33
Комментарии72

JS-TrackBar, четвертая версия бегунков

Время на прочтение3 мин
Количество просмотров7.2K
Не так давно на Хабре был опубликован сей труд: «Еще раз о трекбаре», в котором описывается простой скрипт для создания таких вот ползунков:
TrackBar

Благодаря откликам пользователей возможности первой версии скрипта были существенно расширены. Она выросла до v3.0, с одновременным обновлением статьи, описывающей новый функционал. Однако, некоторые изменения откладывались «на потом», т.к. требовали более серьезного вмешательства в код. И вот долгожданное «потом» настало и вышла четвертая версия JS-TrackBar.

Читать дальше →
Всего голосов 52: ↑49 и ↓3+46
Комментарии67

Анимированный фон средствами jQuery или «Эй, а ведь круто! Как Flash!»

Время на прочтение3 мин
Количество просмотров13K
jQuery + CSS Sprite
Занимательные поделки от Джонатана Снука. Данная статья будет интересна скорее новичкам, нежели более умудренным разработчикам, хотя мистер Снук достаточно авторитетен и его методики могут быть полезны всем.
Любопытно... Что там у вас?!
Всего голосов 88: ↑82 и ↓6+76
Комментарии38

Mac версия uTorrent доступна для скачивания

Время на прочтение1 мин
Количество просмотров920
Альфа релиз долгожданной Mac версии популярного bittorrent клиента uTorrent попал в публичный доступ. Программа всё ещё в разработке, но большинство функций работают довольно стабильно. Как и ожидалось, приложение выглядит как родное в этой системе и гораздо лучше, чем собрат на Windows.



uTorrent был выложен на The Pirate Bay, где и доступен для скачивания. Разработчики не рекомендуют использовать его и повторяют, что это альфа версия.

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

via torrentfreak.com
Всего голосов 67: ↑57 и ↓10+47
Комментарии65

10 jQuery скриптов для улучшения интерфейса

Время на прочтение3 мин
Количество просмотров11K
С рассветом WEB 2.0 получили развитие и javascript фрэймворки, позволяющие вебмастеру делать динамические элементы сайта гораздо быстрее и проще. Одним из таких фреймворков является jQuery, получивший огромную популярность за свою простоту и невероятно малый вес. Итак, представляю вашему вниманию 10 наиболее полезных скриптов jQuery для улучшения интерфейса вашего сайта.
Читать дальше →
Всего голосов 133: ↑124 и ↓9+115
Комментарии34

Иногда они возвращаются… снова

Время на прочтение6 мин
Количество просмотров3.9K
Совсем недавно на хабре пользователем bur был опубликован пост про приятные ползунки TrackBar. Они мне понравились своей простотой и возможностью их использования в совокупности с jQuery. Чуть позже был так же пост про слайдер, который определял диапазон времени, но его порицали за большой вес и «тяжесть». Тогда у меня и родилась идея создать на основе TrackBar ползунков для выбора произвольного диапазона времени. Придумано – сделано. И сейчас я представляю свои наработки хабраобщественности.

Итак, было:

Стало:


Прочитать про это
Всего голосов 53: ↑49 и ↓4+45
Комментарии43

Элемент управления, TrackBar но с двумя ползунками

Время на прочтение1 мин
Количество просмотров10K
Понадобилась тут такая «штука», как TrackBar только с двумя ползунками, готового решения на jQuery не нашел, решил писать самостоятельно, правда не на jQuery а на чистом JS. Вроде от этого хуже не стало. «Штука» эта нужна была для выбора числовых значений в формах информационного киоска.
Читать дальше →
Всего голосов 91: ↑87 и ↓4+83
Комментарии110

Золотые горы стартапу, или не живем бесплатно, даже если назвался 'free'

Время на прочтение11 мин
Количество просмотров1.8K
Этот топик — приглашение к обсуждению. В конце обещаю очень полезную вещь.

В последнее время, все больше появляется бесплатного и открытого. Все понятно, когда Google делает великолепный инструмент на котором можно было бы много заработать (SketchUp) — бесплатным — все понимают, что компания и так зарабатывает много денег и ей важнее заполучить больше пользователей. Хотя и есть платная версия. Однако все больше и больше из нас придумывают новые идеи, такие как YubNub (сервис не мой), и подобные, которые облегчат жизнь пользователям. Сделать — день-два, отладить неделя-десять, донести до ума пользователей — год.

Однако встает вопрос — тратить время на развитие сервиса — это терять деньги. Элементарно — сервер, люди, личное время — все деньги отнимает. Раньше эту проблему могла бы решить реклама…
Читать дальше →
Всего голосов 128: ↑117 и ↓11+106
Комментарии128

Что PHP может узнать о браузере посетителя?

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

О чем это?


Возможно ли узнать более детальную информацию о браузере посетителя кроме строки, содержащейся в $_SERVER[«HTTP_USER_AGENT»]: поддерживает ли яву, апплеты, таблицы стилей и фреймы? А может это вообще гуглобот зашел?
Читать дальше →
Всего голосов 104: ↑73 и ↓31+42
Комментарии33

jQuery для начинающих

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

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Читать дальше →
Всего голосов 251: ↑230 и ↓21+209
Комментарии83

Информация

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