Pull to refresh

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

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

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

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

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

И так, в пределах одной транзакции, после…
Читать дальше →
Total votes 64: ↑55 and ↓9 +46
Views 18K
Comments 4

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

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


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

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

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

Programming *C++ *
Tutorial
В первой части этой статьи основное внимание будет уделено потокам и блокировкам в С++11, условные переменные во всей своей красе будут подробно рассмотрены во второй части
Читать дальше →
Total votes 67: ↑67 and ↓0 +67
Views 376K
Comments 14

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

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

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

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

image
Читать дальше →
Total votes 162: ↑155 and ↓7 +148
Views 84K
Comments 243

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Decentralized networks *
image


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

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

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

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

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

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

ACID в SQLite

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

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

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


Читать дальше →
Total votes 60: ↑56 and ↓4 +52
Views 10K
Comments 36

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

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


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

Читать дальше →
Total votes 40: ↑37 and ↓3 +34
Views 72K
Comments 26

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

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

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

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

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

Information Security *
В этой статье будет рассказано, как пробросить весь трафик операционной системы через 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 тоже все в порядке, просто у меня их нету, так что протестить не смогу.
Далее
Total votes 81: ↑73 and ↓8 +65
Views 248K
Comments 46

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

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

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

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

Programming *.NET *
Tutorial


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

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

Подробности под катом.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 13K
Comments 29