Как стать автором
Обновить
40
@bypasserread⁠-⁠only

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

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

Динамические деревья

Время на прочтение8 мин
Количество просмотров36K
Перед прочтением статьи рекомендую посмотреть посты про splay-деревья (1) и деревья по неявному ключу (2, 3, 4)

Динамические деревья (link/cut trees) мало освещены в русскоязычном интернете. Я нашел только краткое описание на алголисте. Тем не менее эта структура данных очень интересна. Она находится на стыке двух областей: потоки и динамические графы.

В первом случае динамические деревья позволяют построить эффективные алгоритмы для задачи о поиске максимального потока. Улучшенные алгоритмы Диница и проталкивания предпотока работают за и соответственно. Если вы не знаете, что такое поток, и на лекциях у вас такого не было, спешите пополнить свои знания в Кормене.

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

Перед тем, как нырнуть под кат, попробуйте решить следующую задачу. Дан взвешенный граф в виде последовательности ребер. По последовательности можно пройти только один раз. Требуется посчитать минимальное покрывающее дерево, используя памяти и времени. По прочтении статьи вы поймете, как легко и просто можно решить эту задачу, используя динамические деревья.
Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии5

Ещё один пример теста на проникновение из собственной практики

Время на прочтение4 мин
Количество просмотров49K
Доброго времени суток, уважаемые читатели. Давно я не писал примеров по пен-тесту из собственной практики, пора это исправить. Как раз имеется один заказ, после выполнения которого прошло уже достаточно времени, и клиент разрешил опубликовать информацию в сети, но, естественно, без упоминания названия предприятия, имён его сотрудников и т. д. Чтоб не отнимать много времени постараюсь изложить всё кратко, без воды.
Читать дальше →
Всего голосов 115: ↑112 и ↓3+109
Комментарии8

Мониторинг событий информационной безопасности с помощью ZABBIX

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

Некоторое время поработав с Zabbix, я подумал, почему бы не попробовать использовать его в качестве решения для мониторинга событий информационной безопасности. Как известно, в ИТ инфраструктуре предприятия множество самых разных систем, генерирующих такой поток событий информационной безопасности, что просмотреть их все просто невозможно. Сейчас в нашей корпоративной системе мониторинга сотни сервисов, которые мы наблюдаем с большой степенью детализации. В данной статье, я рассматриваю особенности использования Zabbix в качестве решения по мониторингу событий ИБ.
Читать дальше →
Всего голосов 47: ↑40 и ↓7+33
Комментарии29

Стратегия игры в «мафию» с точки зрения анализа транзакций

Время на прочтение4 мин
Количество просмотров219K
В разных компаниях в Мафию играют по-разному. У всех свои заморочки, за которые эти отдельные компании часто просто готовы порвать. Например, я знаю компанию, где много говорить опасно – считается, что мафия нервничает и болтает. Где-то надо обязательно смотреть в глаза собеседнику. Могут «убить» за закрытую позу или другой частичный признак, почерпнутый из книг или сериалов.

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

Итак, начнём с простой вещи. Мирный житель – это игрок, всегда находящийся под угрозой. Это основной фактор, определяющий его поведение.
Читать дальше →
Всего голосов 58: ↑48 и ↓10+38
Комментарии69

Документирование в разработке ПО

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

INTRO


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

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

Итак, для начала отвечу на главный вопрос: для чего всё это нужно.
Есть несколько причин.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии42

«Запретите им запрещать» или обратная сторона реестра запрещенных сайтов

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


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

Можно долго спекулировать о том, что они думали и чем они не думали, но факт есть факт: блокировкой любого сайта они невольно вручают мощное средство, если не сказать орудие, защиты и нападения в руки владельца домена, включенного в реестр.
Информационная война как она есть
Всего голосов 211: ↑199 и ↓12+187
Комментарии129

Проблема увода клиентов сотрудниками компании

Время на прочтение4 мин
Количество просмотров4.7K
Проработав год фрилансером, недавно устроился на работу в одну SEO-компанию среднего размера. Немаловажным фактором при выборе работы стали близость к дому и работа во вторую смену. Пойти работать на полный день я не мог, т.к. у меня оставалась вероятность обращения старых клиентов по фрилансу + возможность появления новых клиентов (в основном через знакомых). К тому же, на момент трудоустройства у меня намечалась активная фаза работ по собственному интернет-магазину, который в будущем должен стать основным источником дохода. Ну а работа в компании — это скорее так, для души и получения опыта. Все же интересно было попробовать поработать в коллективе и узнать, какие задачи могут встать перед разработчиком на этой позиции. Надо сказать, что работа и коллектив мне пришлись по душе. Вперемешку с рутинными задачами попадаются и интересные, хоть и не масштабные, но занятные головоломки.

И вот приключился такой инцидент.
Читать дальше →
Всего голосов 232: ↑209 и ↓23+186
Комментарии162

Don't click

Время на прочтение1 мин
Количество просмотров1.1K
На www.dontclick.it предлагается вариант интерфейса без кликов. Представлены обоснования подхода и возможные варианты замены кликов обычными движениями мышкой. Ощущается необыкновенно легко.

Один чувак запостил это в рассылку по юзабилити GNOME. Что вы думаете насчёт такого интерфейса вообще? В вебе? На рабочем столе? При работе с прикладными программами?
Всего голосов 38: ↑32 и ↓6+26
Комментарии77

Сэр Тим Бернерс-Ли: всемирной паутине исполнилось 25 лет. Сохраним её свободной и открытой

Время на прочтение2 мин
Количество просмотров12K
imageСегодня вебу исполняется 25 лет. 12 марта 1989 года я опубликовал предложение по усовершенствованию обмена информацией в виде «паутины документов, связанных перекрёстными ссылками».

Хотя ЦЕРН, будучи прежде всего физической лабораторией, не могла официально поддержать настолько отвлечённый проект, мой начальник, Майк Сэнделл, позволил мне уделить ему часть своего времени. В 1990 году я написал первый браузер и редактор. В 1993 году мне удалось убедить ЦЕРН объявить WWW технологией, которая будет доступна всем и всегда, без каких либо лицензионных выплат.

Это решение позволило десяткам тысяч людей начать вместе строить паутину. Сегодня около 40% населения планеты пользуются ею. Веб уже принёс пользу мировой экономике на триллионы долларов, преобразовал образование и медицину и послужил распространению демократии во всем мире. И это только начало.
Читать дальше →
Всего голосов 56: ↑52 и ↓4+48
Комментарии17

Взаимодействие сканеров уязвимостей с Metasploit. Часть 1

Время на прочтение3 мин
Количество просмотров42K
Мы начинаем цикл обучающих статей, посвященных взаимодействию сканеров уязвимостей с Метасплоитом.

Требуемое программное обеспечение: Kali Linux.
Необходимые знания: опыт работы с консолью Linux-систем (в частности, дистрибутивом Kali Linux) и консолью Метасплойта.

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

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

Как известно, Metasploit Framework – это инструмент для создания, тестирования и использования эксплойтов. Но, благодаря поддержки модулей и плагинов, он вполне может сгодиться и для поиска уязвимостей.

В первой части мы рассмотрим модули, встроенные в Metasploit, которые позволяют выявить наиболее распространенные бреши в системах безопасности.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии7

DDOS любого сайта с помощью Google Spreadsheet

Время на прочтение3 мин
Количество просмотров251K
Google использует своего «паука» FeedFetcher для кэширования любого контента в Google Spreadsheet, вставленного через формулу =image(«link»).

Например, если в одну из клеток таблицы вставить формулу
=image("http://example.com/image.jpg")
Google отправит паука FeedFetcher скачать эту картинку и закэшировать для дальнейшего отображения в таблице.

Однако если добавлять случайный параметр к URL картинки, FeedFetcher будет скачивать её каждый раз заново. Скажем, для примера, на сайте жертвы есть PDF-файл размером в 10 МБ. Вставка подобного списка в таблицу приведет к тому, что паук Google скачает один и тот же файл 1000 раз!
=image("http://targetname/file.pdf?r=1")
=image("http://targetname/file.pdf?r=2")
=image("http://targetname/file.pdf?r=3")
=image("http://targetname/file.pdf?r=4")
...
=image("http://targetname/file.pdf?r=1000")

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

Атакующему даже необязательно иметь быстрый канал. Поскольку в формуле используется ссылка на PDF-файл (т.е. не на картинку, которую можно было бы отобразить в таблице), в ответ от сервера Google атакующий получает только N/A. Это позволяет довольно просто многократно усилить атаку [Аналог DNS и NTP Amplification – прим. переводчика], что представляет серьезную угрозу.



С использованием одного ноутбука с несколькими открытыми вкладками, просто копируя-вставляя списки ссылок на файлы по 10 МБ, паук Google может скачивать этот файл со скоростью более 700 Мбит/c. В моем случае, это продолжалось в течение 30-45 минут, до тех пор, пока я не вырубил сервер. Если я все правильно подсчитал, за 45 минут ушло примерно 240GB трафика.
Читать дальше →
Всего голосов 181: ↑174 и ↓7+167
Комментарии62

На счетах MtGox обнаружены «украденные» деньги

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


Эпопея с MtGox продолжается, и, похоже, попкорна для слежения за развитием событий понадобится еще много. Дело в том, что сегодня в Сети появилась информация о том, что никто деньги со счетов MtGox не крал. Об этом заявили неизвестные, взломавшие блог Марка Карпелеса, генерального директора MtGox.

Взломщики оставили соответствующее сообщение в блоге Карпелеса (сейчас недоступен), а также выложили архив с документами, которые подтверждают наличие денег на счетах биржи. Архив «весит» почти 800 МБ, вот ссылка.

Читать дальше →
Всего голосов 83: ↑71 и ↓12+59
Комментарии25

Суперкомпьютер IBM Watson научился создавать собственные рецепты блюд

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


На Хабре уже не раз и не два писали о суперкомпьютере IBM Watson. Эта система является центром нового проекта корпорации, стоимостью в миллиард долларов США. Суперкомпьютер обучают обрабатывать огромные массивы данных, включая информацию о болезнях, разного рода научные данные и… рецепты.

Да, уже два года идет обучение суперкомьютера с той целью, чтобы Watson смог создавать собственные блюда, которые можно назвать не только вкусными, но и необычными. Ну, например, что скажете о рецепте, где есть такие ингредиенты, как шоколад, кофе и чеснок? В общем, специалисты стараются научить Watson быть креативным в плане составления рецептов. И, похоже, обучение не прошло даром.

Читать дальше →
Всего голосов 49: ↑38 и ↓11+27
Комментарии25

Мой инструмент для тайм-трекинга и выписывания инвойсов

Время на прочтение1 мин
Количество просмотров64K
Привет! В честь наступающего понедельника я хочу поделиться инструментом для трекинга рабочего времени, который я сам написал и которым сам пользуюсь. Как фрилансер, я работаю по почасовой оплате и для меня важно:
  • учитывать затраченное по задачам время
  • выписывать заказчикам инвойсы

Под влиянием симптома NIH я написал самый лучший в мире тайм-трекер :)

Читать дальше →
Всего голосов 61: ↑55 и ↓6+49
Комментарии48

Норвежский провайдер выдавал в браузере номер телефона клиента по IP

Время на прочтение1 мин
Количество просмотров22K
В Норвегии на днях была обнаружена проблема на стороне провайдера NextGenTel, которая делала вполне реальной угрозу «я найду тебя по ip». На роутерах компании было установлено ПО, выдающее номер телефона конкретного пользователя, по его ip.

При этом никаких особых инструментов использовать не нужно. Обычный браузер, вбиваем в адресную строку ip, получаем страничку с информацией о работе роутера. На этой же страничке указывался телефонный номер клиента.

Читать дальше →
Всего голосов 41: ↑36 и ↓5+31
Комментарии40

Определение локальных IP-адресов через WebRTC

Время на прочтение1 мин
Количество просмотров47K
Через WebRTC можно получить список всех локальных (находящихся за NAT) интерфейсов в системе.

Пример кода на JavaScript jsfiddle.net/GZurr

Работает только в браузерах поддерживающих WebRTC, на текущий момент это Firefox и Chrome.

Это можно использовать для получения более точного фингерпринта браузера или, например, разоблачения персонажей, сидящих за VPN, чтобы ВЫЧИСЛИТЬ ПО АЙПИ И НАБИТЬ Е**ЛЬНИК

Для удобства использования я изготовил js-сниффер, который можно вставить на страницу и удобно просматривать результат его работы: zhovner.com/jsdetector

Достаточно вставить на страницу код:

<script src="//zhovner.com/jsdetector.js?name=test"></script>


Где test нужно заменить на слово, по которому будет доступен результат работы сниффера: zhovner.com/jsdetector/test

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

Управленческие инструменты: 4-фазный алгоритм решения проблем с людьми или «А чего ты хочешь, если ты такой хреновый менеджер?»

Время на прочтение10 мин
Количество просмотров179K
На одном из давних тренингов мы отрабатывали кейс “Сотрудник не присылает вовремя отчеты”. Кейс абсолютно не привязанный к реальной жизни — ведь такого же не бывает, чтобы люди не присылали вовремя отчеты, верно?

И вот одному менеджеру не досталось пары, и я встал играть роль сотрудника. До этого всем пар хватало, поэтому к роли сотрудника я был не очень готов…

Моим собеседником оказался молодой человек, назовем его Егор, технический директор небольшой компании.

Цель кейса — донести до сотрудника обратную связь, что отчеты надо присылать вовремя. Егор начал сразу с места в карьер:

— Александр, как же так, почему Вы не присылаете мне отчеты?

Я стоял, думал-думал, чего сказать. И потом ляпнул первое, что пришло в голову:

— Егор, а чего ты хочешь, если ты такой хреновый менеджер?!

Каюсь, я тогда был не в курсе про тяжелые манипуляции. Зато их влияние смог ощутить на себе в полной мере. Егор покраснел, потом пошел пятнами:

— Что значит “хреновый менеджер”?!!! Это недопустимо — так разговаривать с руководством…

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

И сегодня мы как раз поговорим о том, как доносить до людей неприятную обратную связь, а также как ее правильно принимать. Как обычно— алгоритмы, схемы, примеры — все, что мы любим. :) И многобуков, что мы не любим, но зато с подробностями.
Читать дальше →
Всего голосов 185: ↑174 и ↓11+163
Комментарии106

Обзор особенностей ядра Андроида

Время на прочтение7 мин
Количество просмотров106K
“А я… карбюратор промываю!”
Анекдот


Введение

В детском садике мы с единомышленниками препарировали кузнечиков в надежде разобраться в их строении. В школе распаивали радиоприёмник “Россия”. В институте дошла очередь до автомобилей, гайки которых были многократно переставлены. Интересы поменялись, но желание “разбирать” иногда просыпается, и сегодня оно направлено на Андроид.

Сколько раз вас выручало наличие исходников Андроида? Меня — уже не счесть. Андроид — открытый проект, но, к сожалению, у нас есть возможность только читать; править код Андроида, не будучи сотрудником Google, практически невозможно. Погрустим над этим моментом и загрузим репозиторий. Как это сделать, отлично описано на официальном сайте.


Читать дальше →
Всего голосов 169: ↑151 и ↓18+133
Комментарии17

Домашний ЧПУ-фрезер как альтернатива 3D принтеру, часть первая — выбор станка

Время на прочтение5 мин
Количество просмотров290K
Последнее время на хабре все чаще появляются топики, посвященные 3D-печати вообще и домашним 3D-принтерам в частности. И почти в каждом в комментариях вспыхивает холивар между романтиками, в жизни не видевшими 3D отпечатков, и практиками, единожды потрогавшими и разочаровавшимися. При этом вторые почему-то не приводят адекватных альтернативных технологий, комментарии носят либо чисто критический характер, либо предлагают заведомо более дорогие альтернативы. Тем не менее, достойная альтернатива есть — домашний фрезерный станок с ЧПУ.

Звучит удивительно, да? Как-то само слово станок в народе ассоциируется с производством, с отдельными помещениями и специально обученным персоналом. В действительности, существует большой класс ЧПУ-станков, рассчитанных на настольное использование в офисе и на малых производствах, а при желании — и дома. При этом цена маленьких ЧПУ-фрезеров приближается (чтобы не сказать равна) к реальной цене 3D-принтеров.

Жизнь сложилась так, что последний год с гаком я занимаюсь изготовлением литьевых форм для полиуретановых изделий на ЧПУ-фрезере. Поскольку до этого 10 лет оттрубил в IT ритейле, а образование не имеет никакого отношения ни к инжинирингу, ни к ЧПУ, осваивать технологии пришлось с нуля. За прошедший год я подрос с должности оператора-фрезеровщика до инженера-конструктора, а затем и до замдиректора по технологиям, моими стараниями ЧПУ-парк предприятия вырос с одинокого старенького роланда до 5 разнокалиберных станков. В связи с чем еще свеж и актуален опыт выбора, покупки, пусконаладки, тюнинга, эксплуатации и ремонта различных ЧПУ-станков.

И вот — решил поделиться опытом с сообществом. Я осознаю сам, и прошу принимать во внимание читателей, что я — самоучка без базового инженерного образования, все нижеизложенное основано исключительно на личном опыте.
Читать дальше →
Всего голосов 104: ↑98 и ↓6+92
Комментарии188

Нелицеприятный тест вашего Agile

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


Когда-то мне доводилось участвовать в попытках внедрения Agile в команде, разрабатывающей ПО. В регулярных дискуссиях, стараясь, чтобы это внедрение не превратилось в карго-культ, я снова и снова цитировал пост в блоге Элизабет Хендриксон. Ему уже больше трёх лет, но мне он нравится, и я бы хотел представить вашему вниманию (и вашей борьбе с карго-культом) перевод этого поста.
Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии16

Информация

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