Учим английский дешево и эффективно
Если вы не готовы тратить на английский хотя бы 2 часа в день, то дальше можно не читать.
Пользователь
Операционная система Linux доказала миру всю силу Open Source проектов — благодаря ей у нас сегодня есть возможность заглянуть в исходный код рабочей ОС и на его основе собрать свою собственную систему для решения тех или иных задач. По причине своей открытости Linux должна была стать самой безопасной операционной системой в мире, так как открытый исходный код позволяет развивать и улучшать подсистемы защиты от атак на ОС и совершенствовать саму операционную систему. Действительно, на данный момент существует большое количество созданных комьюнити защит: сегодня уже просто не так просто проэксплуатировать уязвимости типа переполнения буфера для получения повышенных привилегий так же, как 20 лет назад. Тем не менее, сегодня можно в открытом доступе встретить эксплойты, которые даже на последних версиях ядра могут повысить привилегии пользователя. Рассмотрим в этой статье, как это работает и почему так получается. Мы пройдемся по основным составляющим эксплойтов и рассмотрим, как работают некоторые из них.
Вся предоставленная информация была собрана исключительно в ознакомительных целях.
Давайте на минуту отбросим все предубеждения и стереотипы об отечественной медицине и попробуем объективно разобраться в том, что сделано правильно, а что неправильно с "первой в мире вакциной от COVID" — Спутник V от «НИИ эпидемиологии и микробиологии им. Н. Гамалеи».
Поговорим о том, как устроена современная наука в целом и доказательная медицина в частности, и при чем тут пиар.
— Что вы скажете, если я попрошу вас разработать сервис, который обрабатывает тысячи запросов в секунду с минимальной задержкой?
— Хм… Я скажу, что у вас в компании возникла такая проблема. Но у вас нет идей и вы обсуждаете её на собеседованиях с кандидатами :)
Давайте будем честными: 2020 год — отстой. Так много в этом году было много плохих новостей и печальных событий, что очень трудно за этим всем угнаться. Тем не менее, большинство из нас постоянно следит за происходящим благодаря небольшим карманным компьютерам, которые мы всегда носим с собой. В Америке мы до сих пор называем их по-старому «телефонами».
Телефоны и большая часть нашего цифрового окружения работают на семействе процессоров ARM. И новые компьютеры Apple с новым процессором M1 (на базе ARM) получают фантастические отзывы. Поэтому самое время вспомнить о странных корнях этих микросхем, распространившихся по всему миру.
Если бы вы писали сценарий для фильма и по какой-то непонятной причине вам нужно было выбрать, какой процессор чаще всего используется в большинстве телефонов, игровых консолей, банкоматов и других устройств, вы, вероятно, выбрали бы одного из крупных производителей наподобие Intel. Такое положение вещей имело бы смысл и соответствовало бы реальности, какой понимают её люди, ведь доминирование на рынке пары представителей отрасли не вызывает ни у кого удивления.
Но что если бы вместо этого вы решили выбрать процессоры малоизвестной компании из страны, которая не приходит на ум в качестве мирового лидера в области высокотехнологичных инноваций (по крайней мере не в 1800-х годах)? А что, если бы этот процессор был обязан своим рождением, по крайней мере косвенно, образовательному телешоу? Скорее всего, продюсеры посоветуют вам немного отмотать сценарий — «Давай же, отнесись к этому серьезно». И все же на самом деле все было именно так.
Если у Вас нет математического образования, если Вы хотите по-настоящему разобраться в том, что из себя представляет интеграл и интегрирование, зачем всё это надо, как математика пришла к идее интеграла, то в таком случае Вы пришли по адресу — добро пожаловать!
На этой неделе Европейская Комиссия обсуждает вопрос, стоит ли открыть доступ к аудио и видео-контенту для пользователей, которые ранее сталкивались с геоблокировками таких цифровых провайдеров, как Netflix и Amazon Prime. Напомним, что с 2018 года, использование геоблокировки в коммерческих целях, для увеличения прибыли, запрещено. Но доступ к контенту по принципу географического фильтра допускается, чтобы защитить интеллектуальную собственность. Что же такое геоблокировка и почему в век цифровых возможностей потребитель ограничен в выборе, поговорим в материале. А также подскажем, как обойти геоблокировку.
При проектировании и разработке широкого спектра API с использованием ASP.NET Core 2.1 Web API важно понимать, что это только первый этап в создании продуктивного и стабильного решения. Наличие стабильной среды для вашего решения также очень важно. Ключ к отличному решению заключается не только в правильном построении API, но и в его тщательном тестировании, чтобы исключить возможность негативного опыта у пользователей во время использования вашего API.
Эта статья является продолжением моей предыдущей статьи для InfoQ под названием «Продвинутая архитектура веб-API ASP.NET Core». Не беспокойтесь, вам не нужно вникать в предыдущую статью, чтобы разобраться с тестированием в этой, но она может помочь вам лучше понять, как я спроектировал обсуждаемое здесь решение. На протяжении последних нескольких лет я много времени размышлял о тестировании, создавая API для клиентов. Знание архитектуры веб-API ASP.NET Core 2.1 может помочь и вам расширить ваше понимание.
Солюшн и весь код из примеров в этой статье можно найти в моем GitHub репозитории.
Эта статья содержит лишь малую часть информации по заявленной теме. Рассматривайте ее как вводный курс перед началом всестороннего изучения предмета. Надеюсь, вы найдете в ней полезную информацию. Знание дискретной математики помогает описывать объекты и задачи в информатике, особенно когда дело касается алгоритмов, языков программирования, баз данных и криптографии. В дальнейшем я планирую подробнее раскрыть темы, затронутые в этой статье. Приятного чтения!
"То что ясно всем, ещё кто-то должен сказать"
Типа эпиграфа,
Google/Яндекс автора не сыскали
При построении модели какого-либо объекта её можно свести к представлению чёрного ящика с несколькими параметрами P(i), влияющими на выход T. Для сложного многомерного объекта это могут быть модели его "сечения" в различных плоскостях/смыслах.
В идеальном случае для получения информации, необходимой для построения модели, необходимо получить значения T для всех сочетаний его параметров, заданных с достаточно малым (равномерным) шагом в интервале значений, допустимом для каждого из параметров. Чем больше имеется точек по каждому параметру (и, соответственно, значений Т), тем точнее можно построить модель. Однако, в реальной жизни, зачастую оказывается что и параметры влияют по-разному и шаг по каждому из них разумнее делать не равномерным. Например, в начале допустимого интервала параметр слабо влияет на Т, а в середине или в конце его влияние меняется (и даже многократно) и, следовательно, шаг по такому параметру стоит делать иным.
Но в начале построения модели, когда информации о взаимосвязях мало, допустимый интервал значений каждого параметра разбивается с равномерным шагом. При повторном решении задачи построения модели объекта близкого или слабо изменившегося к ранее уже исследованному, особенность влияния его параметров можно учесть в задании неравномерного разбиения допустимого интервала. Это минимизирует количество необходимых для построения модели значений Т при сохранении полноты получаемой об объекте информации, используемой в модели.
Здесь следует обратить внимание на то, что существуют объекты, для которых стоимость/сложность/длительность получения каждого выходного значения T очень велики. Далее речь пойдёт именно о таких объектах и их моделях.
Метаклассы – это такие классы, экземпляры которых сами являются классами. Подобно тому, как «обычный» класс определяет поведение экземпляров класса, метакласс определяет и поведение классов, и поведение их экземпляров.
Метаклассы поддерживаются не всеми объектно-ориентированными языками программирования. Те языки программирования, которые их поддерживают, значительно отличаются по способу их реализации. Но в Python метаклассы есть.
Некоторые программисты рассматривают метаклассы в Python как «решения, которые ждут или ищут задачу».
У метаклассов множество применений. Выделим несколько из них: