Рубрика «Программирование» - 348

Оглавление

    Введение
    1. Шаблон Basic Dispose в C++/CLI
        1.1. Определение деструктора и финализатора
        1.2. Использование семантики стека
    2. Управляемые шаблоны
        2.1. Интеллектуальные указатели
        2.2. Пример использования
        2.3. Блокировка финализаторов
    Список литературы

Введение

C++/CLI — один из языков платформы .NET Framework — редко используется для разработки больших самостоятельных проектов. Его главное назначение — создание сборок для взаимодействия .NET с родным (неуправляемым) кодом. Соответственно, весьма широко используются классы, называемые классами-дескрипторами, управляемые классы, имеющие указатель на родной класс в качестве члена. Обычно такой класс-дескриптор владеет соответствующим родным объектом, то есть он должен его удалить в надлежащий момент.Читать полностью »

Джереми Гроссман: я рад приветствовать всех вас и хочу сказать, что мы готовили эту презентацию целых 6 месяцев, поэтому стремимся как можно скорее поделиться своими достижениями. Хочу поблагодарить весь штат Black Hat за приглашение, мы возвращаемся сюда каждый год, мы любим это событие. Спасибо вам за «Чёрную шляпу»! Мы постараемся, чтобы сегодняшняя презентация проходила весело, но сначала хотим представиться.

Конференция BLACK HAT USA. Ботнет из миллиона браузеров. Часть 1 - 1

Я являюсь основателем и руководителем разработки новых продуктов компании WhiteHat Security, расположенной в Санта-Кларе, Калифорния. В нашей компании около 300 сотрудников.

Мэтт работает управляющим центра по исследованию угроз безопасности. У «белоголовых» мы главным образом занимаемся тем, что вламываемся на веб-сайты, находим в них уязвимости и делаем это в массовом масштабе. Но у нас ещё остаётся немного времени на исследования, так что сегодня мы собираемся начать взламывать браузеры и использовать их для взлома сайтов и показать вам полный цикл веб-безопасности. Впервые я выступил здесь в 2002 году. Большую часть времени я занимаюсь исследованиями в области разработки и презентации наших продуктов.

Мэтт Йохансон: у меня имеется опыт работы в качестве тестера на проникновение (пентестера), и свою работу в компании я начал со взлома сайтов, поскольку до этого сам возглавлял армию хакеров. Я провожу крутые исследования и много беру за это, так что можете ко мне обращаться.

Конференция BLACK HAT USA. Ботнет из миллиона браузеров. Часть 1 - 2

Джереми Гроссман: итак, начнем нашу вечеринку. Я не думаю, что здесь есть хотя один человек, который сегодня не заходил в Интернет. Может быть сейчас вы не подключены к Интернет, но когда придёте домой, все присутствующие здесь и все, кого вы знаете, все будут с ним взаимодействовать с помощью браузера. Это просто часть нашей повседневной жизни, и я опишу вам, что это означает, но в первую очередь Интернет предназначен для работы. Мы не взламываем Интернет, мы стараемся использовать его для своих целей.Читать полностью »

Игра с использованием математических графиков вместо графики - 1

На данном скриншоте Вам представлена, казалось бы, обыкновенная игра с пиксельной графикой. Однако не все так просто.

Рельеф земли местами напоминает синусоиду, а пули похожи на два симметричных графика корня из x.

На самом же деле, все что вы видите на экране так или иначе относится к математике, математическим кривым и графикам.
Читать полностью »

Вот так можно мемоизировать питоновскую функцию:

def memo_square(a, cache={}): 
    if a not in cache: 
        cache[a] = a*a 
    return cache[a]

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

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год

Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3Читать полностью »

Когда-то давно, в студенческие годы, меня укусил питон, правда инкубационный период затянулся и получилось так, что я стал программистом на перле.

Однако в какой-то момент перл исчерпал себя и я решил заняться питоном, сначала просто делал что-то и разбирался с тем, что нужно для данной задачи, а потом понял, что нужны какие-то систематизированные знания и прочитал несколько книг:

  • Билл Любанович «Простой Python. Современный стиль программирования»
  • Дэн Бейдер «Чистый Python. Тонкости программирования для профи»
  • Бретт Слаткин «Секреты Python: 59 рекомендаций по написанию эффективного кода»

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

В итоге у меня накопились какие-то заметки об особенностях питона, которые, как мне кажется, могут быть полезны тому кто пожелает мигрировать на него с других языков.

Читать полностью »

Символьное решение линейных дифференциальных уравнений и систем методом преобразований Лапласа c применением SymPy - 1

Реализация алгоритмов на языке Python с использованием символьных вычислений очень удобна при решении задач математического моделирования объектов, заданных дифференциальными уравнениями. Для решения таких уравнений широко используются преобразования Лапласа, которые, говоря упрощенно, позволяют свести задачу к решению простейших алгебраических уравнений.
В данной публикации предлагаю рассмотреть функции прямого и обратного преобразования Лапласа из библиотеки SymPy, которые позволяют использовать метод Лапласа для решения дифференциальных уравнений и систем средствами Python.
Читать полностью »

Эта статья служит продолжением предыдущей статьи «Смартфон управляет игрушечным автомобилем» и должна помочь пользователям, решившим повторить проект, управлять своим устройством с помощью блютус, используя среду программирования BASIC!..

Управление голосом эффектное, но не очень надежное средство управления, особенно когда расстояние до объекта управления более 2 метров. Мешает затухание и реверберация звука и посторонние шумы, кроме того нужен постоянный доступ к интернету. Надежнее управление по блютус.
Читать полностью »

Массачусетский Технологический институт. Курс лекций #6.858. «Безопасность компьютерных систем». Николай Зельдович, Джеймс Микенс. 2014 год

Computer Systems Security — это курс о разработке и внедрении защищенных компьютерных систем. Лекции охватывают модели угроз, атаки, которые ставят под угрозу безопасность, и методы обеспечения безопасности на основе последних научных работ. Темы включают в себя безопасность операционной системы (ОС), возможности, управление потоками информации, языковую безопасность, сетевые протоколы, аппаратную защиту и безопасность в веб-приложениях.

Лекция 1: «Вступление: модели угроз» Часть 1 / Часть 2 / Часть 3
Лекция 2: «Контроль хакерских атак» Часть 1 / Часть 2 / Часть 3
Лекция 3: «Переполнение буфера: эксплойты и защита» Часть 1 / Часть 2 / Часть 3
Лекция 4: «Разделение привилегий» Часть 1 / Часть 2 / Часть 3
Лекция 5: «Откуда берутся ошибки систем безопасности» Часть 1 / Часть 2
Лекция 6: «Возможности» Часть 1 / Часть 2 / Часть 3
Лекция 7: «Песочница Native Client» Часть 1 / Часть 2 / Часть 3
Лекция 8: «Модель сетевой безопасности» Часть 1 / Часть 2 / Часть 3
Лекция 9: «Безопасность Web-приложений» Часть 1 / Часть 2 / Часть 3
Лекция 10: «Символьное выполнение» Часть 1 / Часть 2 / Часть 3
Лекция 11: «Язык программирования Ur/Web» Часть 1 / Часть 2 / Часть 3Читать полностью »

Привет! В прошлую пятницу выложил свои бредовые мысли. Спасибо за карму, плюсы и главное за неравнодушные комментарии. Сегодня продолжение. Снова прошу не судить слишком строго. Ведь это всего лишь фантазии.

image

Ржавчина на мече

Пятница после работы. Выхожу из офиса и думаю, как провести вечер. Никак не могу забыть про прошлый поход в ночной клуб. Было что-то странное в том, как Алла ушла. И еще. Когда мы с ней танцевали, наши тела как-то удачно подошли друг к другу. Очень часто приходится делать усилие и, преодолевая неловкость стараться не наступить партнерше на ноги. Здесь же руки сами легли туда куда нужно и тела соприкоснулись там где нужно. Надо попробовать ее найти.

А искать нужно там, где потерял. Наверное сегодня снова ночной клуб. Захожу в магазин, чтобы купить ужин. Бутылка вина и бутылка воды, хлеб, что-то вроде паштета, яблоки. Кассир пробивает покупки.

— Скидочная карта есть?
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js