Pull to refresh
-24
0
Алексей @Kinozol

User

Send message

Мониторинг (измерение) потребляемого траффика в Linux

Reading time2 min
Views68K
Однажды мне потребовалось измерить количество трафика, которое «пожирает» некоторое приложение. Один из способов такого измерения — это установить прокси. Но что, если не хочется ставить прокси-сервер?.. Мне вот не хотелось. В поисках других способов я сначала перерыл Хабр, потом интернет. Так как я в своё время потратил на это много времени, то сейчас я создаю эту заметку, чтобы у других такой проблемы не возникло.

ВАЖНО:
Этот метод работает, если мы знаем по какому адресу (адресам) обращается наше приложение, или же с какого/каких портов.
Итак, пошаговая инструкция для чайников
Total votes 46: ↑32 and ↓14+18
Comments11

Упрощение жизни разработчика с помощью сторонних сервисов

Reading time3 min
Views9.6K
Представляю скромную подборку сервисов, которые ускоряют экономят время разработчику и/или ресурсы сервера. Здесь не будет подробных обзоров, только список с кратким описанием и ссылками. Также, я не претендую на свежесть ресурсов, поэтому кому-то перечисленный список покажется слишком очевидным и известным всем.

Буду рад включить ссылки и описания, предложенные в комментариях.

Google Fusion Tables


Позволяет развернуть реляционную базу данных на серверах гугла с обращениями с помощью библиотеки Visualization или JSONP.
Статья на хабре: habrahabr.ru/blogs/webdev/116035
Ссылка: www.google.com/fusiontables/Home

Минусы: количество обращений в секунду равно пяти с одно IP адреса и столько же при обращении с аккаунта (используя авторизацию). То есть развернуть сайт с хорошей посещаемостью и работать с сервисом с помощью сервера не получится. Стоимость увеличения лимита — от 10 тысяч долларов в год (см. Maps API Premier). Кроме того, отсутствуют джойны, которые заменяются представлениями (view), создаваемыми через интерфейс.
Читать дальше →
Total votes 170: ↑156 and ↓14+142
Comments41

AeroFS, альфа-тестирование

Reading time3 min
Views5.7K
Не так давно на хабре мелькал топик про aerofs.
Многие из нас тогда кричали «Вау! Круто! Маст хэв и всё такое». Время шло, интерес поутих, все подзабыли как-то. Я же не отчаивался и оставил несколько запросов на инвайты. Ну и периодически общался с разработчиками. Видимо, время пришло, и мой самый представительный ящик попал в число счастливчиков и получил инвайт.
Само собой, в конце поста — раздача попугаев (то есть инвайтов).
Под катом же — небольшой обзор и скриншоты данной мегаштуки (нет, правда, это именно то, что нужно каждому человеку, у которого больше 1 ПК). Все скриншоты сделаны под Ubuntu. Макоси нет, а windows искать лениво.
Читать дальше →
Total votes 49: ↑45 and ↓4+41
Comments210

Приехали. В Украине разработали свой Facebook

Reading time1 min
Views2.4K
Недавно в одном из киевских ресторанов прошла презентация нового украинского проекта социальной сети Френдин.

«Мы взяли лучшее от всех социальных сетей, которые сейчас есть, и переписали это в своем видении. Добавили кое-что свое, и у нас получилась уникальная сеть. Например, интерфейс сети можно изменить под конкретного пользователя — отдельные структурные блоки пользователь может разместить на экране по собственному желанию. Мы адаптировали ее под сенсорные экраны телефонов, для удобного пользования», — рассказал на презентации Глоба.

Сейчас проект проходит альфатестирование. Так же было отмечено, что над проектом работало около 20 программистов и вложено 1.5 миллиона долларов.

Адрес чуда: http://friendin.net/

P.S. Логотип неуловимо намекает на Kopete, из чего можно сделать выводы о том, куда потрачено 1.5 миллиона денег
Total votes 116: ↑85 and ↓31+54
Comments281

Управление разработкой в стиле BDSM

Reading time5 min
Views9.4K
Управление разработкой — очень интересная штука, она вроде бы как есть, а, с другой стороны, ее как бы и нет. При этом на этой зыбкой грани между явью и фикцией многие люди довольно недурно зарабатывают, и ваш покорный слуга в том числе.

Честно говоря, написание этого текста преследовало вполне корыстные цели: он является некоторой лакмусовой бумажкой для отправки людям, с которыми предстоит сотрудничать.

И, расставив все точки над i, нужно либо кидаться с головой в бездну страстей, либо окончательно размежеваться. Итак, немного о том, почему бывают факапы и чем их нельзя исправить.
Часть первая: Bondage
Total votes 195: ↑174 and ↓21+153
Comments50

Google Maps API: теперь за деньги

Reading time1 min
Views24K
Приветствую. Сегодня изменились условия использования Google Maps API. В случае, если нагрузка, приходящая с сайта в API составляет больше 25000 хитов в день (для использующих стилизированные карты — 2500 хитов) — каждая следующая тысяча хитов отныне будет стоить 4$.

В Google Geo Developers Blog сказано, что для очень популярных сайтов вероятно, будет выгодней использование лицензии Premier. Google также говорит, что некоммерческие приложения и приложения, которые считаются полезными для общества (по мнению Google), не подпадают под эти ограничения использования.

Подробности в FAQ сервиса (русская версия пока не обновилась).
Total votes 71: ↑67 and ↓4+63
Comments76

REST vs SOAP. Часть 1. Почувствуйте разницу

Reading time6 min
Views473K
Некоторое время назад я гуглил интернет по поводу “REST vs SOAP”, прочитал пару статей и вроде бы все понял, но не почувствовал от этого никакого удовлетворения. Что-то было не так, то ли я не почувствовал основную идею, то ли просто читал, одновременно слушая новый музон и думая о новой фиче в проекте. Как появилось время, решил восполнить этот пробел, заодно написав полезную статью по этому поводу.
Читать дальше →
Total votes 117: ↑106 and ↓11+95
Comments101

TrackChecker — мониторинг почтовых отправлений. Полтора года развития

Reading time5 min
Views2.4K
Немногим более полутора лет минуло с того момента, как одна из первых версий программы была описана в статье
Джентльменский набор интернет шоппера: Shipito + ProfitBid + TrackChecker юзером hellt.
С тех пор развитие функционала TrackChecker (альтернативная ссылка) не стояло на месте.
Благодаря поддержке и советам пользователей программа приобрела много полезных функций и избавилась от множества багов.
Возможно кому-то темпы развития проекта не покажутся внушительными, но хочу отметить, что развитие программы — это мое хобби, которым я занимаюсь в свободное время.
О том, что же нового появилось в программе, какие возможности и баги добавились за это времся, я расскажу в этой небольшой статье.

Читать дальше
Total votes 54: ↑48 and ↓6+42
Comments37

Как на самом деле работает mod_rewrite. Пособие для продолжающих

Reading time17 min
Views277K
image
Эта статья выросла из идеи продвинутого обучения наших сотрудников технической поддержки работе с mod_rewrite. Практика показала, что после изучения имеющихся в большом количестве учебников на русском языке саппортам хорошо дается решение шаблонных задач, но вот самостоятельное составление правил происходит методом проб и большого количества ошибок. Проблема заключается в том, что для хорошего понимания работы mod_rewrite требуется изучение оригинальной англоязычной документации, после чего — либо дополнительные разъяснения, либо часы экспериментов с RewriteLog.

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

Я предполагаю, что читатель уже знаком с тем, что такое mod_rewrite, и не буду описывать его основы, которые легко найти в интернете. Также нужно отметить, что в статье освещается работа mod_rewrite при использовании его директив в файле .htaccess. Отличия при работе в контексте <VirtualHost> изложены в конце статьи.

Итак, вы изучили mod_rewrite, составили несколько RewriteRule и успели столкнуться с бесконечными перенаправлениями, со случаем, когда правило почему-то не ловит ваш запрос, а также с непредсказуемой работой группы правил, когда последующее правило неожиданно изменяет запрос, кропотливо подготовленный правилами предыдущими.

Почему так происходит?
Читать дальше →
Total votes 208: ↑203 and ↓5+198
Comments25

Яндекс.Такси вызывали?

Reading time1 min
Views22K

Сегодня мы выпустили приложение, которое поможет быстро найти и заказать такси. Оно так и называется – Яндекс.Такси. Приложение работает на платформах iPhone и Android. Сервис запущен в бета-версии и пока вызывает такси только в Москве.

 

Самое главное, что умеет приложение – найти ближайшее такси. Допустим, вы засиделись с друзьями в кафе. Время позднее, и вы хотите заказать такси, но либо дозвониться не получается, либо машину могут подать только через час.  Приходится идти на дорогу и голосовать. С Яндекс.Такси все может быть иначе  – заказ отправляется, минуя диспетчера, напрямую водителям, которые уже находятся поблизости. И после того, как один из них соглашается взять ваш заказ, вы видите его движение на карте и получаете информацию о машине.

 

С помощью Яндекс.Такси также можно заказать такси заранее в одном из работающих с нами таксопарков. Например, на утро следующего дня.
Сейчас мы сотрудничаем с одиннадцатью крупными таксопарками Москвы, то есть выбрать есть из чего.
 
Если же вдруг вам понадобилось такси не в Москве, а, например, в Минске, Киеве или Воронеже, приложение тоже будет полезным. В базе приложения есть телефоны служб такси трех сотен городов России, Украины, Беларуси  и Казахстана

Предлагаем посмотреть обзор приложения — для iPhone:

Видеообзор для платформы Android можно посмотреть здесь.

Скачать приложение можно в App Store и в Android Market, а также с помощью QR-кода:

 

От всей команды Яндекс.Такси желаем вам хорошей поездки!

.
Total votes 100: ↑94 and ↓6+88
Comments61

Selloby: сервис частных объявлений в стиле twitter

Reading time2 min
Views10K
Допустим, сидите вы на диване и смотрите телевизор. Вдруг, по неведомой причине, вам сильно захотелось продать собственного любимого слона, но вставать с дивана совершенно не хочется. Выход есть! Вы просто берете смартфон и используя наш сервис осуществляете задуманное.

Selloby

А если серьёзно… Все привыкли, что создавать объявления — это очень сложно. Нужно делать фотографии, заливать их в компьютер, потом придумывать “продающий” текст и чтобы он был без ошибок. С другой стороны, все знают, что твиттер — это легко, просто и быстро. Мы сделали удобный сервис частных объявлений Selloby, где опубликовать объявление — не сложнее, чем написать твит. Вся логика сервиса построена на системе хэштэгов: ! действие, #товар, Рцена, @город. Весь поиск и система подписок (фоловингов) также постороена на хэштегах.

Читать дальше →
Total votes 73: ↑65 and ↓8+57
Comments63

Тактика победителя: убеди врага, что он всё делает правильно

Reading time3 min
Views10K
Представим, что вы владелец одной из 100500-миллионной доски объявлений по недвижимости. Вы чувствуете, что тема перспективная, бабла на рынке крутится много, вам хочется заработать и быть счастливым. Для монетизации вашего сайта у вас, допустим, есть распространённый приём: деление аккаунтов на «пользовательские» (публиковать можно только одно объявление), т.е. бесплатные, и «профессиональные», т.е. аккаунты продавцов, за деньги.

Некоторые нехорошие продавцы (поскольку они нехорошие, то будем и нехорошим словом их дальше называть — «мошенники»), в свою очередь, тоже хотят зарабатывать и не хотят вам платить.

В результате вы каждое утро получаете на свой сайт очередную тонну шлако-объявлений от «псевдочастников», которые только отпугивают пользователей вашего сайта (они же ищут частников, а в каждом втором объявлении попадают на очередного мошенника), а значит и ударяют по вашей прибыли.
Как с ними борются обычно и как действовать намного эффективнее
Total votes 171: ↑154 and ↓17+137
Comments98

MySQL и JOINы

Reading time6 min
Views147K
Поводом для написания данной статьи послужили некоторые дебаты в одной из групп linkedin, связанной с MySQL, а также общение с коллегами и хабролюдьми :-)

В данной статье хотел написать что такое вообще JOINы в MySQL и как можно оптимизировать запросы с ними.

Читать дальше →
Total votes 85: ↑83 and ↓2+81
Comments67

Перехват PPPoE сессии

Reading time1 min
Views60K


На видео показан практический способ угона сессии PPPoE с помощью врезки в кабель. При этом не происходит перехвата логина или пароля и не имеет значения используемый тип авторизации (CHAP/PAP).

Большинство ethernet-провайдеров, к сожалению не используют шифрование всей сессии, ограничиваясь только шифрованием этапа авторизации. Это позволяет представиться легитимным клиентом, перехватив реквизиты существующего подключения.

Читать дальше →
Total votes 89: ↑86 and ↓3+83
Comments63

Имеют ли право пренебрегать безопасностью пользователей крупные компании?

Reading time6 min
Views1.4K

Лирическое отступление


Представим себе ситуацию… Вы простой пользователь интернета. Ежедневно посещаете различные сайты, читаете там новости, общаетесь в социальных сетях, просматриваете почту и т.д. Все как обычно. Но в один прекрасный день в дверь вашей квартиры стучат. На вопрос «кто там?» вам отвечают: «Откройте, полиция!». Берут вас под белы рученьки и сопровождают в ближайший отдел. Вы недоумеваете «за что?». В ответ слышите: «Систематическая публикация в интернете сообщений призывающих к разжиганию межнациональной розни». Как? Почему? Никогда не писал подобного рода сообщений! В ответ на эти претензии вам показывают ряд сообщений на некоторых известных информационных ресурсах которые действительно написаны из под вашего аккаунта и содержание которых явно противоречит законам РФ. Что самое интересно, даже IP-адрес с которого были отосланы сообщения совпадает с вашим домашним. Возможно, это кошка, которая живет с вами, гуляя по клавиатуре, случайно набрала эти сообщения за вас и разослала по разным сайтам. Возможно, вам даже поверят… И срок в 2 года лишения свободы неявно замаячил на горизонте.
Так что же все-таки произошло? А произошло следующее…
Читать дальше →
Total votes 120: ↑105 and ↓15+90
Comments89

Anonymous обрушили серверы с детской порнографией

Reading time2 min
Views19K
Нет нужды напоминать уважаемой аудитории Хабра об известной хакерской группе Anonymous — они упоминались в довольно большом числе топиков; например, в контексте того, что группа смогла добраться до секретных документов НАТО и обещании «уничтожить» Facebook. Тогда характер новостей о Anonymus носил преимущественно скандальный характер, однако теперь мнение об этих хакерах придется, как минимум, изменить.

Около недели назад Anonymus обнаружили некий сайт Hidden Wiki, содержащий ссылки на сотни ресурсов с детской порнографией, которые были недоступны для поисковых машин и пользовались услугами хостера Freedom Hosting. Дальнейшие действия группы лучше всего описать их собственными словами:
Положив сервера Freedom Hosting, мы удалили более 40 сайтов с детской порнографией, среди которых был Lolita City — один из крупнейших сайтов, содержащий более 100 Гб детской порнографии. Мы продолжим обрушение не только Freedom Hosting, но и любой другой сервер, который будет замечен нами в распространении детской порнографии.

Узнать подробности
Total votes 308: ↑281 and ↓27+254
Comments172

Traits в php 5.4. Разбираем детали реализации

Reading time8 min
Views53K
Совсем недавно вышла первая beta php 5.4, а пока я писал топик подоспела и вторая. Одно из нововведений в 5.4 – это traits (типажи). Предлагаю разобраться во всех деталях в том, что же типажи из себя представляют в php.

Простой пример типажа, чтобы не заглядывать в Википедею:
//определение типажа
trait Pprint 
{
    public function whoAmI()
    {
        return get_class($this) . ': ' . (string) $this;
    }
}

class Human 
{
    use Pprint; //подключаем типаж, ключевое слово use

    protected $_name = 'unknown';
    
    public function __construct($name)
    {
        $this->_name = $name;
    }

    public function __toString()
    {
        return (string) $this->_name;
    }   
}

$a = new Human('Nikita');
echo $a->whoAmI(), PHP_EOL; //=> Human: Nikita

Как видно, к классу Human было добавлено поведение из типажа Pprint.

Но во всём есть свои детали.
О них далее
Total votes 163: ↑155 and ↓8+147
Comments102

Стратегия оптимизации веб-проекта с использованием MySQL

Reading time5 min
Views8.2K

Введение


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

Интересно, что, как правило, даже тяжелые фреймворки (вроде Symfony или RoR) на «медленных» языках, в production-окружении работают достаточно сносно по скорости, а основные «тормоза» вызываются SQL-запросами и неграмотным кешированием (к примеру, инициализация достаточно сложной и большой конфигурации проекта на Symfony занимает около 80 мс, а времена исполнения страницы, при этом, иногда достигают секунды и более).

Если вы смогли определить, что это — ваш случай, и ваш проект на MySQL, то эта статья может вам помочь принять конкретные меры и исправлению ситуации с закреплением результата и предотвращением возникновения откровенных проблем с СУБД впоследствии.
Читать дальше →
Total votes 102: ↑90 and ↓12+78
Comments81

SQL инъекции. Проверка, взлом, защита

Reading time4 min
Views328K
SQL инъекция — это один из самых доступных способов взлома сайта.
Суть таких инъекций – внедрение в данные (передаваемые через GET, POST запросы или значения Cookie) произвольного SQL кода. Если сайт уязвим и выполняет такие инъекции, то по сути есть возможность творить с БД (чаще всего это MySQL) что угодно.

Как вычислить уязвимость, позволяющую внедрять SQL инъекции?


Довольно легко. Например, есть тестовый сайт test.ru. На сайте выводится список новостей, с возможностью детального просомтра. Адрес страницы с детальным описанием новости выглядит так: test.ru/?detail=1. Т.е через GET запрос переменная detail передаёт значение 1 (которое является идентификатором записи в табице новостей).
Читать дальше →
Total votes 63: ↑29 and ↓34-5
Comments45

ДР Ubuntu — 7 лет

Reading time1 min
Views1.1K


Поздравляем Ubuntu с Днем Рождения!


7 лет исполнилось с момента первого релиза. Как быстро время летит!

Именно 7 лет назад, 20 октября 2004 вышла в свет первая версия дистрибутива Ubuntu 4.10. Номер версии основывается на годе и месяце выхода, т.е. первая цифра в номере версии — год выпуска, вторая — месяц. Поэтому имеем сразу 4.10. (нынешняя версия 11.10 аналогично). Кодовым именем релиза было Warty Warthog [Бородавчатый Бородавочник].

За это время было проделано огромное количество работы, выпущено 15 версий дистрибутива, достигнуто первое место по популярности среди Linux дистрибутивов 'для пользователя' и популярность ubuntu продолжает набирать обороты.

И это совершенно не случайно, т.к. ее слоган «Linux для людей» соответствует этой системе на все сто!

Вот такой была первая ubuntu:
Читать дальше →
Total votes 196: ↑171 and ↓25+146
Comments158

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity