Как стать автором
Поиск
Написать публикацию
Обновить
78
0
Александр @Alex10

Full-stack Web Developer

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

Фильтры отображения для сетевых анализаторов (Wireshark, Paketyzer)

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

1. Фильтры отображения


Анализаторы трафика являются полезным и эффективным инструментом в жизни администратора сети, они позволяют «увидеть» то что на самом деле передается в сети, чем упрощают диагностику разнообразных проблем или же изучение принципов работы тех или иных протоколов и технологий.
Однако в сети зачастую передается достаточно много разнообразных блоков данных, и если заставить вывести на экран все, что проходит через сетевой интерфейс, выделить то, что действительно необходимо, бывает проблематично.
Для решения этой проблемы в анализаторах трафика реализованы фильтры, которые разделены на два типа: фильтры захвата и фильтры отображения. В прошлый раз мы рассматривали фильтры захвата. Сегодня пойдет речь о втором типе фильтров – о фильтрах отображения.
Фильтры отображения, это разновидность фильтров, позволяющая отобразить только те кадры, которые необходимы в данный момент (принадлежат определенному протоколу и/или узлу), временно скрыв все остальные.
Правила написания фильтров отображения отличаются от правил написания фильтров захвата. Отличая не такие уж большие, но как правило достаточные для того что бы правило фильтра захвата без каких-либо изменений не работало будучи примененным как фильтр отображения.
Читать дальше →

Полностью анонимный блог

Время на прочтение2 мин
Количество просмотров65K
image
В качестве развлечения, а также упражнения в безопасности и анонимности в наше время, автор блога Untraceable представил свой блог, который, как он считает, абсолютно анонимный — такой, что по нему нельзя вычислить автора блога.

Итак, как создать анонимный блог.
Читать дальше →

Python на колёсах

Время на прочтение7 мин
Количество просмотров125K
Инфраструктура системы пакетов для Python долго подвергалась критике как от разработчиков, так и от системных администраторов. Долгое время даже само комьюнити не могло прийти к соглашению, какие именно инструменты использовать в каждом конкретном случае. Уже существуют distutils, setuptools, distribute, distutils2 в качестве базовых механизмов распространения и virtualenv, buildout, easy_install и pip в качестве высокоуровневых инструментов управления всем этим беспорядком.

До setuptools основным форматом распространения были исходные файлы или некоторые бинарные MSI-дистрибутивы для Windows. Под Linux были изначально сломанный bdist_dumb и bdist_rpm, который работал только на системах, основанных на Red Hat. Но даже bdist_rpm работал недостаточно хорошо для того, чтобы люди начали его использовать.

Несколько лет назад PJE попытался исправить эту проблему, предоставив смесь из setuptools и pkg_resources для улучшения distutils и добавления метаданных в Python-пакеты. В дополнение к этому он написал утилиту easy_install для их установки. По причине отсутствия формата распространения, поддерживающего метаданные, был предоставлен формат 'яиц' [egg].

Python eggs – обычные zip-архивы, содержащие python-пакет и необходимые метаданные. Хотя многие люди, вероятно, никогда намеренно не собирали egg'и, их формат метаданных до сих пор жив-здоров. И все разворачивают свои проекты с использованием setuptools.

К сожалению, некоторое время спустя сообщество разделилось, и часть его провозгласила смерть бинарных форматов и 'яиц' в частности. После этого pip, замена easy_install, перестал принимать egg-формат.

Потом прошло еще немного времени, и отказ от бинарных пакетов стал доставлять неудобства. Люди всё больше и больше стали деплоить на облачные сервера, а необходимость перекомпиляции C-шных библиотек на каждой машине не слишком радует. Так как 'яйца' на тот момент были малопонятны (я так полагаю), их переделали в новых PEP-ах, и назвали 'колёсами' [wheels].
Читать дальше →

Почему существует так много Питонов?

Время на прочтение9 мин
Количество просмотров141K
Питон изумителен.

Удивительно, но это довольно неоднозначное заявление. Что я имею ввиду под “Питоном”? Может, абстрактный интерфейс Питона? Или CPython, распространенная реализация Питона (не путать с похожим по названию Cython)? Или я имею ввиду что-то совсем иное? Может, я косвенно ссылаюсь на Jython, или IronPython, или PyPy. Или может я отвлекся так сильно, что говорю о RPython или RubyPython (которые очень сильно отличаются).

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

При работе с Питоном я столкнулся с кучей таких технологий. Инструменты *ython. Но лишь недавно я уделил время, чтобы разобраться, что они собой представляют, как они работают и почему они (каждая по-своему) необходимы.

В этом посте я начну с нуля и пройдусь по разным реализациям Питона, а закончу подробным введением в PyPy, за которым, по моему мнению, будущее языка.

Все начинается с понимания того, чем на самом деле является “Питон”.
Читать дальше →

Несколько применений Sublime Text 3, которыми Вы могли бы пользоваться

Время на прочтение1 мин
Количество просмотров67K
Sublime Text относится к тем текстовым редактором, которые могут все. Гибкость позволяет настроить его на любой вкус, а большое комьюнити штампует плагины днями и ночами. Многие программисты используют его как среду разработки, однако до неосновных применений доходят не все. В этой небольшой статье я расскажу о некоторых из них.
Читать дальше →

Начало конца сетевого нейтралитета в Интернете?

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


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

Речь идет об отмене сетевого нейтралитета. И произошло это событие совсем не в России, где сетевого нейтралитета не было никогда (например, многие наши операторы уже давно раздают трафик тех же Яндекс-карт бесплатно, предоставляя им очевидное преимущество перед теми же Google Maps). Нет. Это произошло два дня назад в США. Стране, ратующей больше всех за свободу и демократию.
Читать дальше →

Разработка «браузерки» — уровень концепции

Время на прочтение19 мин
Количество просмотров27K
Если бы кто-то сказал мне в тот день, когда я согласился участвовать в разработке браузерной игры, что мы доживем до дня открытия проекта в публичный доступ, я бы нервно похихикал и просто не поверил. И если я уже рассказывал, какая череда событий предшествовала реальному запуску проекта, то я несколько умолчал о том объеме работ, который в действительности был выполнен за это время.

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

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

Пернатск
Читать дальше →

Несколько полезных шорткатов для Sublime Text ниндзи

Время на прочтение2 мин
Количество просмотров217K
Доброго времени суток, уважаемые хабравчане. Многие пользуются замечательным редактором Sublime Text, который стал популярен благодаря своей простоте, гибкости/кастомизации и огромному количеству плагинов. Хочу поделиться с вами, на мой взгляд, самыми полезными шорткатами при работе с Sublime.

image

Переход по фрагментам

Win/Linux: CTRL+R
Mac: CMD+R
Вероятно, самое полезное сочетание клавиш для экономии вашего времени. Содержимое документа разбивается на определенные фрагменты (функции, HTML теги или CSS стили). Переход происходит при выборе соответствующего фрагмента во всплывающем окне.

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

Устанавливаем Linux-программы на смартфон под управлением Android

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


Многие владельцы Android-фонов испытывают трудности с запуском настоящего Linux-софта на своих девайсах. По всем законам он вроде должен здесь работать, да вот только для его установки почему-то нужны права root, сам он распространяется в каких-то самодельных инсталляторах, а выбор программ сильно ограничен. Эта статья предложит ответ на вопрос, почему так получилось, и подскажет решение — удобный способ установки и запуска почти любого Linux-софта в Android.
Подробности

Как стреляет шутер

Время на прочтение10 мин
Количество просмотров22K
image

[Статья Armin Ronacher о принципах вычисления коллизий в сетевых шутерах. Носит скорее обзорный и исследовательский, нежели технический характер. Здесь и далее в квадратных скобках примечание переводчика]

Сегодня я хочу выглянуть из своего окошка и поделиться знаниями по весьма сложной теме, в которой я буквально пару месяцев назад ничего не понимал. Зачем? Ну, мне кажется, что это просто здорово – разбираться в этом. А еще это может дать кому-нибудь повод для погружения в эту тему.

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

Обучение OpenCV каскада Хаара

Время на прочтение8 мин
Количество просмотров199K
На хабре уже есть несколько статей и про то, что такое каскад Хаара (раз, два, три). Есть даже одна, где затронут процесс обучения, но в отношении описанной задачи. На тему обучения есть пара неплохих статей на английском (первая, вторая, третья), но, на мой взгляд, они путанные: либо рассказывают очень мало, либо слишком много и обо всём — выделить нужную мысль сложно.
image
В этой статье я попробую показать, как обучить каскад с нуля за несколько часов, натренировав на поиск простого предмета в видеопотоке (примером будет очаровательная сова с фотографии). Все обучающие выборки и программы будут приложены.
Зачем всё это нужно? Каскад Хаара это один из простейших способов распознавания классов объектов с большой скоростью работы. К ним относятся лица и руки людей, номера автомобилей, пешеходы. Детектором Хаара просто находить животных в кадре (кстати, удивительно, что я не видел ещё ни одной автоматической кормушки для синиц на raspberry pi). К тому же, готовые реализации OpenCV есть под большинство существующих систем (даже для blackfin'a встречал). Всё это делает Хаара одним из самых удобных методов, позволяющих решать задачи видеообработки даже людям, которые никогда не работали с обработкой видео.
Читать дальше →

Python: вещи, которых вы могли не знать

Время на прочтение8 мин
Количество просмотров314K
Python — красивый и местами загадочный язык. И даже зная его весьма неплохо, рано или поздно находишь для себя нечто такое, что раньше не использовал. Этот пост отражает некоторые детали языка, на которые многие не обращают внимание. Сразу скажу: многие примеры являются непрактичными, но, оттого, не менее интересными. Так же, многие примеры демонстрируют unpythonic стиль, но я и не претендую на новые стандарты — я просто хочу показать, что можно делать вот так.
Читать далее

Linux везде. Планета Open Source

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


«Linux используется повсеместно: от космических аппаратов до микроволновок — всё работает под Linux». Наверняка многие слышали такое и хотели бы знать, это просто красивые слова или действительно правда? Журнал Linux Federation доказывает, что это правда: он опубликовал большой обзор со списком тех мест, где работает Linux. Список действительно впечатляет.
Читать дальше →

Как раскрыть мощь HTML5 Canvas для игр

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


Браузеры, поддерживающие HTML5, и платформа HTML5 для Windows 8 Metro сегодня становятся серьезными кандидатами для разработки современных игр.

Благодаря canvas, у вас есть доступ к аппаратно-ускоренной поверхности, на которой вы можете отображать контент вашей игры и с помощью некоторых трюков и ухищрений вы сможете достигнуть великолепной производительности рендеринга до 60 кадров в секунду. Подобная непрерывность действительно важна в играх, так как чем плавнее игра (анимация), тем лучше чувствует себя игрок.

Цель данной статьи — дать вам несколько подсказок, как выжать максимум мощности из HTML5 Canvas. Статья состоит из двух основных частей [вы читаете первую]. David Rousset скоро опубликует вторую часть.

В статье я буду показывать ключевые идеи на одном и том же примере — это эффект 2D-туннеля, который я написал для Coding4Fun-сессии на TechDays 2012 во Франции.
Читать дальше →

Django работает не так, как вы думаете

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

Когда я читаю список плюшек, которые мне предоставляет какой-либо фреймворк, я представляю, что примерно под ними подразумевается. Когда я читаю документацию по плюшкам — я убеждаюсь, что всё в целом действительно так, как я и думал. Когда я пишу код, я постигаю дао. Потому что всё на самом деле совсем не так.

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

Ну а чтобы не быть голословным — перейдём к примерам. Нас ждут:
  1. Неудаляемые модели, которые мы удалим
  2. Валидируемые поля, которые не валидируются
  3. Два админа, которые портят данные

Примеры

Яндекс.Карты меняют API. Почему нам понадобилось ломать обратную совместимость в кластеризаторе

Время на прочтение14 мин
Количество просмотров62K
Я работаю в Яндексе, у Яндекса есть карты, а у карт есть API. API – вещь, которая позволяет встроить карты Яндекса на свой сайт. С версии 2.0 наш API умеет кластеризовать метки на клиенте. Вот как выглядят метки до и после кластеризации:

image

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

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

Почем опиум для народа? Как устроен FOREX и нужен ли он. (Часть II)

Время на прочтение14 мин
Количество просмотров84K
image

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

Кроме того, был задан ряд провокационных вопросов, которые условно можно свести к вариации одного из двух:

  1. Каковы критерии «кухни»? (вариации: вот этот брокер (имярек) кухня или нет? и пр.)
  2. В чем отличия услуг ITinvest от услуг критикуемых вами кухонь?

Не желая вступать в полемику и спор с представителями форекс-сообщества (все-таки статья писалась не для них), я, тем не менее, счел себя обязанным продолжить объяснение, что такое «правильный» форекс, а также:

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

Попутно читатель получит ответ на провокационные вопросы, сформулированные выше. Кому текст покажется занудным – просьба читать только заголовки.
Читать дальше →

Python на Хабре

Время на прочтение7 мин
Количество просмотров454K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →

3G-интернет на 33 км

Время на прочтение5 мин
Количество просмотров198K
Один мой друг, большой поклонник идеи родовых поместий, примерно год назад стал обживать свой участок земли вдали от сел и городов. Построил деревянный дом, баню, организовал подсобное хозяйство. Обзавелся красавицей-женой, собакой модели «хаскоалабай» и кошкой Кусей. И все вроде хорошо, можно жить и развиваться, но здорово не хватает подключения к интернету — ездить каждый раз за 70км в город, чтобы почитать форумы по строительству, солнечной энергетике, садоводству да и просто пообщаться с друзьями онлайн стало неудобно и накладно.

С этой проблемой он обратился ко мне. Я приступил к решению задачи, уточнив вводные условия:
  • Из сотовых 3G-операторов голосовая связь работает только у Билайна, и то, если подойти к окошку. Ловится еще TELE2, но у него нет 3G;
  • Интернет через USB-модем у соседей загружает среднюю страницу по 10 минут;
  • Ближайший населенный пункт в 7км, ближайший «крупный» (28 тыс.человек) — в 30км;

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

Обновился Chrome DevTools: эмуляция разных экранов и тестирование приложений на устройствах с десктопа

Время на прочтение1 мин
Количество просмотров39K
Обновились бета-ветки Chrome для десктопа и для Android, привнеся несколько интересных «фич» Chrome DevTools, предназначенных для тестирования мобильных приложений и сайтов.

Первая — это эмуляция разных физических экранов в Chrome. Из новой вкладки Emulation можно будет выбрать предустановленное устройство и приложение будет показано с параметрами его экрана — как показано на примере ниже. Параметры эмуляции экрана, вроде его разрешения, полностью редактируемы:

image
Узнать подробности

Информация

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