Интернет-цензура и обход блокировок: не время расслабляться |
Disclaimer: практически всё описанное в статье, не является чем-то принципиально новым или инновационным - оно давно известно и придумано, используется в разных странах мира, реализовано в коде и описано в научных и технических публикациях, поэтому никакого ящика Пандоры я не открываю.
Нередко на Хабре в темах, посвященных блокировкам ресурсов встречаются забавные заявления, вида "Я настроил TLS-VPN, теперь будут смотреть что хочу и цензоры мой VPN не заблокируют", "Я использую SSH туннель, значит все ок, не забанят же они SSH целиком", и подобное. Что ж, давайте проанализируем опыт других стран и подумаем, как же оно может быть на самом деле.
Читать далееhttps://habr.com/ru/post/710980/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710980
Метки: Информационная безопасность Сетевые технологии Исследования и прогнозы в IT vpn proxy блокировки сайтов цензура интернета |
Использование транспортных развязок для разгрузки напряженных транспортных потоков в Калининградской области |
Калининградская область – регион с растущим числом населения и развивающейся инфраструктурой. Как следствие, возрастает количество транспортных средств и интенсивность движения, что влечет за собой возникновение заторов на автомобильных дорогах.
Для обеспечения безопасности и расчетной скорости дорожного движения в местах пересечения автомобильных дорог с высокой интенсивностью движения необходимо разведение транспортных потоков в разные уровни. Таким образом, для решения данной задачи необходимо строительство транспортных развязок с устройством путепроводов.
Актуальность данной работы заключается в том, что качественные автомобильные дороги с грамотно сконструированными транспортными развязками обеспечивают безопасность движения и быструю перевозку грузов и пассажиров, что вызывает интерес к изучению данной темы.
Читать далееhttps://habr.com/ru/post/711014/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711014
Метки: Транспорт Будущее здесь Урбанизм Транспортные развязки Автомобильные дороги Калининградская область |
Kubernetes через грабли или внедрение в университете |
К Kubernetes мы присматривались два года. Изучали различные статьи, пытались его разворачивать, но после развертывания не понимали что делать дальше. Пока однажды мы не решили попробовать завернуть одну из систем в контейнер. Для оркестрации контейнера была выбрана система Docker Swarm, так как она проще, и тут возникла первая проблема – в выбранной системе была авторизация, а Docker Swarm проблема с сохранением сессии пользователя если контейнеров больше одного (мы использовали ADFS для авторизации в системе) – т.е. текущая сессия пользователя не сохранялась и при обновлении страницы выходила стартовая. Поиск различных решений сводил к одному – нужен Kubernetes с его Ingress контроллером, где есть «липкие сессии» (sticky session). При выборе дистрибутива было принято решение использовать «ванильный» k8s.
В очередной раз установив Kubernetes начался поиск решения как доставить туда наш контейнер. Контейнеры собирались на отдельной виртуальной машине и загружались в локальный Docker Container Registry, а чтобы развернуть этот контейнер в Kubernetes использовался Gitlab Runner на мастере. Не самое лучшее решение, но компетенций на другое не хватало. И вот когда Deployment был развернут возник вопрос. Как вывести контейнер наружу. Так как мы использовали Bare Metal конфигурацию, то при первом запросе в Google вылез Metal LB. Если бы мы знали тогда, что можно использовать Ingress Nginx с параметром Host Network: True, то это сэкономило бы нам месяц экспериментов с Metal LB и мы знали, что от него можно сразу отказаться. Для Metal LB использовалась L2 конфигурация, где создавался виртуальный пул адресов, который виден только внутри кластера. А как вывести это наружу? Конечно установить Nginx на мастер и прописывать виртуальные адреса в /etc/hosts, чтобы Nginx их видел. К счастью в голове тогда была мысль, что это как-то неправильно.
Читать далееhttps://habr.com/ru/post/711008/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711008
Метки: kubernetes metallb ingress docker swarm gitlab gitlab-ci k8s cезон Kubernetes |
Делаем минимальную отладочную плату на STM32G030F6P6 и шьем в Arduino IDE |
У меня в разработке оказалось несколько устройств, в составе которых кроме прочего планируется использовать F030F6P6. Они маленькие и достаточно производительные. Для мониторинга вполне достаточно. Программист я так себе, занимаюсь в основном железом. Но экстренно пощупать некоторые функции приходится, и тогда на помощь приходит Arduino IDE.
Читать далееhttps://habr.com/ru/post/710984/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710984
Мой опыт разработки программы для игры в шашки с помощью алгоритма минимакс |
В Интернете можно откопать сотни и тысячи статей о разработке алгоритмов и ИИ для игры в шахматы. Однако шашки почему-то не привлекают такого интереса.
Мне захотелось написать программу, которая будет играть в шашки на относительно высоком уровне. Для этого я использовал алгоритм минимакс и Unity.
Читать далееhttps://habr.com/ru/post/710990/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710990
Метки: алгоритмы C# Unity Машинное обучение Искусственный интеллект шашки шахматы машинное+обучение минимакс настольные игры |
[Перевод] Логические задачки из Аргентины в честь победы на ЧМ |
https://habr.com/ru/post/710998/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710998
Метки: Занимательные задачки Логические игры месси чм аргентина змейки квадрат |
[Перевод - recovery mode ] Перевод: Топ-5 лучших практик управления уязвимостями |
Для уменьшения поверхности атаки требуется надежное решение по управлению уязвимостями, которое поможет бороться с самыми постоянными и разрушительными киберугрозами современности.
Читать далееhttps://habr.com/ru/post/710996/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710996
Метки: информационная безопасность управление уязвимостями уязвимости сканирование уязвимостей |
Unity3d: Запись файла на Yandex диск на C# |
К моему удивлению, на столь популярный сервис, как Яндекс диск, не нашлось примеров записи файла на диск на языке программирования C#. На PHP же ситуация обратная, примеров вдоволь, например: https://snipp.ru/php/disk-yandex
Я, как человек, который практически не изучал веб, потратил сутки, чтобы разобраться, что к чему. Надеюсь, эта статья поможет кому-нибудь сэкономить время.
Читать далееhttps://habr.com/ru/post/710994/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710994
Метки: Unity Яндекс Диск Сохранение |
Балансировка трафика на межсетевые экраны с помощью брокеров сетевых пакетов |
В связи со сложившейся мировой обстановкой, иностранные производители межсетевых экранов ушли с российского рынка, а использование уже эксплуатируемых остается под вопросом. Если вы тот самый специалист, который столкнулся с задачей перехода на отечественные МЭ и организации высокопроизводительного кластера, то в этой серии статей вы узнаете о балансировке трафика в кластере и её реализации на реальной инфраструктуре.
Читать далееhttps://habr.com/ru/post/710970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710970
Парсим сайты с защитой от роботов |
В этой статье мы разберемся, как работает типичная защита от роботов, рассмотрим подходы к автоматическому парсингу сайтов с такой защитой, и разработаем свое решение для её обхода. В конце статьи будет ссылка на гитхаб.
Речь не идет о каком-либо виде "взлома" или о создании повышенной нагрузки на сайт. Мы будем автоматизировать то, что и так можно сделать вручную.
Читать далееhttps://habr.com/ru/post/710982/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710982
Метки: Настройка Linux javascript .NET HTML c# cloudflare anglesharp proxy браузеры парсинг linux |
Пентест. Думаем как злоумышленник. Часть 3: Эскалация привилегий и социнженерия |
В предыдущих статьях (Часть 1, Часть 2) мы поговорили о том, как может действовать Внешний нарушитель (пентестер за пределами организации) и Гость (пентестер имеет только доступ в сеть) при проведении пентеста. Также начали рассматривать действия Внутреннего нарушителя (пентестер имеет доступ с правами доменного пользователя) в контексте анализа трафика. Сегодня мы продолжим рассмотрение векторов атак для данной роли и также поговорим о том как можно использовать социальную инженерию при пентесте и совмещать ее с техническими методами.
Читать далееhttps://habr.com/ru/post/710910/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710910
Метки: Блог компании OTUS Информационная безопасность pentest mimikatz kali linux otus |
Интерфейсы и протоколы в IoT. Лекция первая |
В этом году меня в очередной раз позвали в Московский институт электроники и математики (МИЭМ) НИУ ВШЭ читать студентам магистратуры (четвёртый курс на наши деньги) департамента электронной инженерии курс «Обеспечение взаимодействия элементов системы IoT, интерфейсы и протоколы».
Когда-то давно я уже читал вводный курс по программированию микроконтроллеров в МИРЭА, от лекций которого остались любезно сделанные вузом видеозаписи (от семинаров не осталось ничего, увы), потом — курс по Интрнету вещей (там было сочетание микроконтроллеров, их программирования и введения в специфику IoT-систем) уже в МИЭМ НИУ ВШЭ, от которого, увы, тоже не осталось никаких публично доступных материалов.
В этот раз хочу исправиться — и выложить, не отходя от кассы, конспекты всех лекций. Объём курса заложен очень приличный — 60 академических часов, собранных в 14 групп занятий, с начала января и по середину июня.
Надеюсь, разные рассказываемые вещи будут полезны не только моим студентам (ребята, но вы же понимаете, что в тексте будет просто в силу формата сказано меньше, чем голосом на лекциях?), которым не надо писать конспекты лекций, но и всем желающим. Например, не далее как сегодня вступал на Хабре в статье про протоколы питания в USB-C в дискуссию «зачем они так сделали» — а в прошлый вторник рассказывал студентам, какие на самом деле соображения могут лежать в основе выбора того или иного решения, и как раз на примере эволюции питания в USB.
Итак, поехали.
Читать далееhttps://habr.com/ru/post/710972/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710972
Метки: Беспроводные технологии Производство и разработка электроники Умный дом Электроника для начинающих iot интернет вещей миэм |
От поисковой системы до застежки-липучки: обзор самых прибыльных патентов новейшего времени |
За свою историю человечество создало превеликое множество изобретений и оформило миллионы патентов. По большей части оценить, сколько изобретатели смогли получить со своих патентов, невозможно — коммерческая реализация всегда подразумевает дополнительные вложения и дополнительные продукты. Рассказываем про патенты, которые оказались самыми прибыльными для их создателей.
Читать далееhttps://habr.com/ru/post/710948/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710948
Метки: Блог компании Онлайн Патент Читальный зал патентование Научно-популярное патент изобретение история |
Security Week 2303: проблемы шифрования данных в мессенджере Threema |
https://habr.com/ru/post/710840/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710840
Метки: Блог компании «Лаборатория Касперского» Информационная безопасность threema |
Прокачка виртуального персонажа и иные методы геймификации в Agile |
Все взрослые — немножко дети и всем нравятся игры. Методы использования игровых механик активно используются в образовании и в маркетинге для повышения вовлеченности, удержания клиентов, повышению времени взаимодействия с приложением. Также использование методов геймификации применимо и к управлению проектами и в этой статье мы обсудим некоторые подходы к совмещению идей управления планированием задач в гибких методологиях и мотивации с использованием игровой механики.
Читать далееhttps://habr.com/ru/post/710738/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710738
Метки: Блог компании OTUS Управление разработкой Управление проектами agile gamification achievements management otus |
English Tenses — моё представление времён в английском языке |
Всем привет! Сегодня я хочу представить своё виденье времен в английском языке, а также представить свою диаграмму по изучению и применению на практике данных времен.
Сразу хочу отметить, что я не являюсь педагогом и у меня вообще нет никакого ни лингвистического, ни педагогического образования. Данной статьей я просто хочу поделиться своей диаграммой по изучению времен, возможно кому-то она будет полезной и поможет в понимании времен и того, как и когда использовать, то или иное время. Данная диаграмма будет поверхностной и не будет углубляться во все подробности языка (и так она получилась огромной), она не охватывает все многообразие времен и конструкций в английском. Уровень данной диаграммы А2-В1.
И сразу начну с диаграммы:
Читать далееhttps://habr.com/ru/post/710938/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710938
Метки: Изучение языков Времена английский английский язык |
[Перевод] Введение в модульное тестирование T-SQL помощью tSQLt |
tSQLt — это мощный фреймворк с открытым исходным кодом для модульного тестирования кода SQL Server.
Модульное тестирование SQL-кода — полезная практика в разработке баз данных, которая позволяет обнаруживать ошибки до попадания их в продакшн. Хотя надо сказать, есть разные мнения, и некоторые разработчики все еще спорят о необходимости модульного тестирования SQL-кода. Модульное тестирование очень важно для контроля и проверки поведения отдельных частей базы данных и не стоит игнорировать написание модульных тестов кода базы данных. По сути, модульные тесты позволяют автоматически проверять поведение объектов базы данных (хранимых процедур, триггеров, функций и т. д.) при регрессионном тестировании.
Читать далееhttps://habr.com/ru/post/710934/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710934
Метки: Блог компании OTUS Microsoft SQL Server sql ms sql server модульное тестирование tSqlt T-SQL код |
Как сделать коммерческое предложение |
Иногда вроде всё объяснил на словах клиенту, рассказал, что будет для него сделано, сколько денег надо за это заплатить и как долго будет вестись работа. А клиент не спешит вносить предоплату. Да ещё и объявляется через неделю с новыми вопросами по предстоящей работе.
Чтобы такого не происходило, чтобы клиент сразу реагировал на запрос фрилансера внятным ответом, нужно обеспечить его грамотным коммерческим предложением (КП). Документом, отвечающим на все его вопросы и не оставляющим выбора: надо заключать сделку с этим замечательным и внимательным специалистом!
И желательно, чтобы КП у клиента появилось на руках в тот промежуток времени, когда он ещё примерно помнит, о чём разговаривал с фрилансером, а не через недельку-другую:)
С удовольствием читаю для вас главу из «Книги нормального фрилансера», отвечающую на вопрос, как такое КП написать.
Читать далееhttps://habr.com/ru/post/710932/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710932
Метки: фриланс коммерческое предложение |
Гигабитный интернет в каждый дом — что предлагают западные регуляторы |
Последнее время все больше государств строит карты развития интернет-инфраструктуры. И гигабитная Ethernet-инфраструктура становится обязательным компонентом свежепостроенных домов. Посмотрим, какие решения для этого принимают на законодательном уровне.
Читать далееhttps://habr.com/ru/post/710466/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710466
Метки: Блог компании VAS Experts it-инфраструктура Сетевые технологии vas experts интернет законодательство интернет-подключение новостройки |
IEntityTypeConfiguration в EF Core, или отделим отделимое |
Почти каждый разработчик программного обеспечения работал с СУБД, по крайней мере каждый слышал о них. В мире существует множество способов для работы с базами данных и один из них - это ORM (англ. Oblect-Relational Mapping). Для разработчиков приложений, особенно бизнес-приложений, различного рода реализации данного способа стали в прямом смысле "спасательным кругом" в грубом мире работы с базами данных. Ещё начиная с .Net Framework компания Microsoft кидала такой круг разработчикам, который носил название Entity Framework (EF). И теперь, в .NET есть кроссплатформенная реализация старенького EF - Entity Framework Core (EF Core).
В EF Core существует несколько способов конфигурирования сущностей, все они рассмотрены в моей предыдущей статье - https://habr.com/ru/post/649647/. Лучший из них на мой взгляд - это реализация IEntityTypeConfiguration<>
. Он позволяет отделить модель предметной области от хранилища, сделать структуру проекта более упорядоченной, а само решение более гибким. Далее по статье мы рассмотрим все преимущества данного способа. Итак, пришло время на не реальном реальном проекте разобраться наконец с этим способом описания отношений полей и сущностей.
Сделаем конфигурацию для магазина, который занимается продажей автомобилей. База данных у нас уже существует, нужно только "подружить" с ней наше решение на .NET. Будем считать, что структуру нашей будущей БД разрабатывал вменяемый человек, который соблюдал элементарные правила именования полей и т.п.
Имеем несколько таблиц Cars, EquipmentOptions, Makes, Models. Все они имеют поля, которые являются системными, имеют один и тот же тип и называются одинаково. Это поля Id, CreatedDateTime, UpdatedDateTime. Для описания этих полей, мы создадим базовую модель для будущих сущностей BaseEntity
:
https://habr.com/ru/post/710740/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710740
Метки: .net c# Проектирование и рефакторинг ef core entity framework core .net core clean architecture entity framework ef |