Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Алгоритмы на графах — Часть 1: Поиск в глубину и проблема взаимоблокировок

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

Хотелось бы осветить вопросы применения некоторых алгоритмов, для решения задач программирования.
Достаточно жизненный пример, с которым сталкивался не один разработчик — это deadlock. По сути deadlock – это взаимоблокировка, в результате которой система, или какие-то отдельные процессы начинают конкурировать за один ресурс.
В жизни такие ситуации встречаются, например, когда два человека желают пропустить друг друга на входе, предположим, в аудиторию. Однако после 3-4 фраз «только после вас!», кто-нибудь всё же пройдет первым.
На уровне программного обеспечения всё сложнее, пока программы не способны думать, машинный аналог фразы «только после вас!» будет повторяться вплоть до перезагрузки.
Как исполняющая система может повлиять на этот процесс? Вот тут нам на помощь и приходят алгоритмы на графах.
Для начала определимся, что же будет элементами нашего графа, и как его составить.
Читать дальше →
Всего голосов 61: ↑50 и ↓11 +39
Просмотры 61K
Комментарии 20

Блокировки в InnoDB (шпаргалка)

MySQL *
Решил разобраться в вопросе блокировок в InnoDB. Получилась такая вот краткая шпаргалка. Может кому пригодится. Буду благодарен сообществу за найденные неточности

И так, в пределах одной транзакции, после…
Читать дальше →
Всего голосов 64: ↑55 и ↓9 +46
Просмотры 17K
Комментарии 4

Сайты начнут блокировать за «призывы к насилию»

Информационная безопасность *
Совершенно неожиданным образом «Фонд развития гражданского общества» объявил о намерении внести законопроект о блокировке ресурсов, «призывающих к насилию». И хотя сам доклад ещё официально не опубликован, согласно интервью с главой фонда, основанием для блокировки могут стать высказывания вроде «судью на мыло» или что-то на уровне «я тебе лицо пошатаю» сказанное в рамках невинного сетевого бокса по переписке.


Константин Костин, председатель Фонда развития гражданского общества, бывш. начальник одного из подразделений администрации аппарата президента РФ. Фото Forbes.

Основная цель, которой эта инициатива служит — блокировка групп/сообществ/тем, в которых координируются атаки на представителей власти (sic!), а если таковые заблокировать с помощью владельцев ресурса не удастся, то доступ к ресурсу целиком отключается через провайдеров.
Подробнее об инициативе
Всего голосов 122: ↑105 и ↓17 +88
Просмотры 43K
Комментарии 198

Потоки, блокировки и условные переменные в C++11 [Часть 1]

Программирование *C++ *
Tutorial
В первой части этой статьи основное внимание будет уделено потокам и блокировкам в С++11, условные переменные во всей своей красе будут подробно рассмотрены во второй части
Читать дальше →
Всего голосов 67: ↑67 и ↓0 +67
Просмотры 344K
Комментарии 14

Потоки, блокировки и условные переменные в C++11 [Часть 2]

Программирование *C++ *
Tutorial
Для более полного понимания этой статьи, рекомендуется прочитать ее первую часть, где основное внимание было уделено потокам и блокировкам, в ней объяснено много моментов (терминов, функций и т.д.), которые без пояснения будут использованы здесь.
В данной статье будут рассмотрены условные переменные…
Читать дальше →
Всего голосов 54: ↑54 и ↓0 +54
Просмотры 129K
Комментарии 8

Роскомнадзор планирует блокировать ресурсы с информацией о заблокированных ресурсах

Законодательство в IT
Как бы абсурдно это не звучало, но все обстоит именно так. Роскомнадзор, Роспотребнадзор и ФСКН разработали законопроект, который будет предусматривать общие критерии и основания для блокировки сайтов с т.н. «запрещённым контентом». Помимо всего прочего, данным законопроектом предусматриваются санкции для ресурсов, распространяющих ссылки на уже заблокированные ресурсы, а также в целом «популяризирующие запрещённую информацию».

image
Читать дальше →
Всего голосов 162: ↑155 и ↓7 +148
Просмотры 84K
Комментарии 243

Предсказываем будущее, или что будет с «законом против интернета»

Сетевые технологии *
Как многие из вас знают, на сайте Российской Общественной Инициативы успешно набрала положенные 100'000 голосов петиция об отмене закона о произвольной блокировке сайтов. Некоторые владельцы сайтов даже принимали участие в сборе голосов (я в том числе).

Однако открывать шампанское ещё рано — рассматривать эту петицию будут неизвестное количество времени, да и к чему придут в результате — непонятно.

Хотя, известны же эксперименты, в которых коллективные оценки некоторых величин удивительно точно совпадают с реальностью. Вот почему бы и нам не заглянуть в будущее, коллективно оценив его возможные варианты.
Всего голосов 87: ↑66 и ↓21 +45
Просмотры 51K
Комментарии 88

Роскомнадзор VS TitanPoker

Информационная безопасность *
Хабралюди, доброе утро!
Вот и начались первые «неудобства» после введения ФЗ сами знаете какого. Я впервые только сейчас столкнулся с фактом блокировки ресурса и меня это крайне напрягло. Пожалуй осталось дождаться момента, когда подобную страничку увидит хотя бы каждый 10, чтобы люди начали шевелиться и читать, что же там настрочили их любимые дурмовцы.
Читать дальше →
Всего голосов 18: ↑11 и ↓7 +4
Просмотры 16K
Комментарии 29

Рождение магии от духа протокола торрент (cхема организации свободной бесцензурной неразрушимой информационной сети)

Криптография *
Из песочницы
Постановка задачи

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

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

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

Я предлагаю схему создания такой системы, отталкиваясь от принципа функционирования торрентов.

Итак, мы будем решать следующую задачу:
создание децентрализованной распределенной сети хранения и передачи информации,
с анонимными, но идентифицируемыми участниками,
действующими на равных правах и не нуждающимися в каком-то едином управляющем властном авторитете,
которая обеспечивает хранение и распространение любой информации до тех пор, пока в системе есть участники, заинтересованные в ее распространении.
Читать дальше →
Всего голосов 46: ↑36 и ↓10 +26
Просмотры 26K
Комментарии 82

Децентрализация контента сайта

Разработка веб-сайтов *
Предлагаю дать возможность пользователям самостоятельно выбирать сервис по доставке контента. На странице остаётся только информация о контенте (Название композиции, фильма, книги).

Сайт с информацией и контент разделены или не связаны прямо. Ответственность за законность контента перекладывается на поставщика который его предоставляет (сайт на котором расположен файл). Поскольку сервисов много уже сейчас (Различные видеохостинги, аудиохостинги, библиотеки и т. д.) пользователю не составит проблемы переключиться с одного на другой(подключить другой скрипт) в случае блокировки контента.
Читать дальше →
Всего голосов 17: ↑9 и ↓8 +1
Просмотры 6.8K
Комментарии 61

Блокировки, реестры, монетизация

Децентрализованные сети
image


Прошел год со дня начала работы первого реестра запрещенных сайтов, запущенному в результате принятия закона о «черных списках» 139-ФЗ.
Можно подвести как первые итоги, так и посмотреть на перспективы развития ситуации в сфере дальнейшего госрегулирования интернета в России.

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

По результату годового мониторинга правоприменения законов по блокировки (139-ФЗ и 187-ФЗ), в ходе которого была собрана и проанализирована информация по заблокированным интернет-ресурсам из соответствующих реестров, были получены нижеприведенные данные.
Читать дальше →
Всего голосов 100: ↑94 и ↓6 +88
Просмотры 39K
Комментарии 71

Сайты из «черного списка» Роскомнадзора можно не блокировать

Законодательство в IT
Интересный прецедент произошел в Ленинградской области: провайдер «Всевнет» выиграл у Роскомнадзора в арбитражном суде дело об ограничении доступа к сайтам из «черного списка». Суть претензий ведомства: провайдер не выгружал каждый день информацию с сайта vigruzki.rkn.gov.ru и не ограничивал доступ к информации в соответствии с Федеральным законом № 149-ФЗ.

Арбитражный суд г. Санкт-Петербурга вынес оправдательное решение в отношении провайдера, мотивировав тем, что ни лицензионные условия провайдера, ни правила оказания телематических услуг не содержат условия об обязательной блокировке запрещенных сайтов из соответствующего реестра.
Решение суда
Всего голосов 73: ↑71 и ↓2 +69
Просмотры 20K
Комментарии 36

ACID в SQLite

SQLite *
Перевод
В данном посте описана система блокировок и поддержания атомарности, согласованности, изолированности и надежности (ACID) в SQLite, а также алгоритмы записи и чтения из файла базы.
Читать дальше →
Всего голосов 13: ↑9 и ↓4 +5
Просмотры 6.8K
Комментарии 1

Расширение антипиратского закона. Блокировать контент будут без судебного постановления

Хостинг
В гос. Думе были приняты последние поправки к антипиратскому законодательству, которое вступило в силу с августа 2013 года. В финальном варианте правообладатель сможет блокировать нарушающий, по его мнению, контент без судебного постановления, оформив запрос к хостинг-провайдеру. Штрафы для физических лиц за несоблюдение законодательства составляют 150-300 тысяч рублей, для юр. лиц — 0.5-1 млн. рублей.


Читать дальше →
Всего голосов 60: ↑56 и ↓4 +52
Просмотры 10K
Комментарии 36

Блокировки и уровни изоляции транзакций InnoDB в MySQL

MySQL *SQL *
Здравствуй, Хабр!
Предлагаю всем желающим вспомнить или познать суть блокировок движка InnoDB в MySQL.


КДПВ: deadlock в исполнении тропической фауны

Читать дальше →
Всего голосов 40: ↑37 и ↓3 +34
Просмотры 69K
Комментарии 26

Разблокировка «Телеграма»: tele.gg — простой сокращатель ссылок на Telegram-аккаунты

Мессенджеры *Микросервисы *
После блокировки Telegram в России перестали работать внешние ссылки на каналы и профили вида t.me/habr_com

Решить эту проблему очень просто: вместо ссылок вида t.me нужно использовать сокращение tele.gg: tele.gg/habr_com

На странице самого сервиса нет рекламы, только обращение его создателей: «Мы улучшаем наш сервис. Пишите, какие дополнительные фунции хотите видеть на сайте».
Всего голосов 9: ↑3 и ↓6 -3
Просмотры 1.5K
Комментарии 4

Краткая инструкция: GitHub через Tor

Информационная безопасность *Разработка веб-сайтов *Git *GitHub
Предлагаю использовать Tor для доступа к сайтам, к которым отсутствует прямой доступ.

image

Узнать, как использовать git через tor
Всего голосов 100: ↑92 и ↓8 +84
Просмотры 85K
Комментарии 110

Анонимизация всего траффика через VPN + TOR/I2P. Собираем миддлбокс с нуля

Информационная безопасность *
В этой статье будет рассказано, как пробросить весь трафик операционной системы через TOR так, чтобы о наличии TOR-а операционная система даже не подозревала.



Это поможет не думать о бесконечных настройках прокси и onion, перестать бояться на тему «а не сливает ли торрент клиент мой реальный IP адрес, так как не полностью поддерживает прокси?» и, наконец, быть застрахованным от законодательного запрета TOR-а в России.

Когда я говорю «TOR», я подразумеваю «TOR и I2P». По схожей методике сюда можно подключить любой даркнет.

Статья — «чисто конкретная». Теория уже неплохо изложена в статье Pandoshabrahabr.ru/post/204266. В данном тексте будет дана детальная инструкция «как сделать, чтобы работало».

Постановка задачи


1. Мой компьютер должен по нажатию одной кнопки переходить в режим «весь трафик — не русский».

2. По нажатию второй кнопки он должен переходить в режим «весь траффик идет через TOR»

3. Третья кнопка — для I2P.

4. Входная TOR-нода должна находиться за рубежом.

5. Все это должно работать под linux, windows, android. Заранее: с OS X и iPhone тоже все в порядке, просто у меня их нету, так что протестить не смогу.
Далее
Всего голосов 81: ↑73 и ↓8 +65
Просмотры 240K
Комментарии 46

Опрос: как у вас решается проблема синхронизации параллельных запросов на PHP?

PHP *
Долгое время я пытаюсь понять, сколько места отведено вопросам параллельности и конкурентности выполнения кода в повседневной практике среднестатистического PHP-программиста. С одной стороны, разрабатывая серверное приложение, программист автоматически пишет код, который будет выполняться параллельно. С другой, на практике в PHP все проблемы этой области решались инструментами, которыми все пользовались — веб-сервер, сессия и СУБД.

Обращают ли на ваших проектах внимание на на проблемы синхронизации параллельно обрабатывающихся HTTP-запросов? Они решаются через транзакции, блокировки? Какие способы блокирования вы используете? Да и вообще, нужно об этом париться, или тема бесполезная? Узнаем мнение аудитории. Этот пост не дает ответов на вопросы. Здесь ведется разведка.
Читать дальше →
Всего голосов 28: ↑20 и ↓8 +12
Просмотры 17K
Комментарии 47

Детектор блокировок UI в WPF c нотификацией

Программирование *.NET *
Tutorial


Приветствую!

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

Подробности под катом.
Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Просмотры 13K
Комментарии 29