String и &str в функциях Rust

Автор: admin от 3-01-2016, 23:56, посмотрело: 501

String и &str в функциях Rust

Этот пост посвящается всем тем, кого смущает необходимость использовать to_string(), чтобы заставить программы компилироваться. И я надеюсь пролить немного света на вопрос о том, почему в Rust два строковых типа String и &str.

Категория: Программирование

 

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №192 (28 декабря 2015 — 3 января 2016)

Автор: admin от 3-01-2016, 23:40, посмотрело: 374

Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №192 (28 декабря 2015 — 3 января 2016)

Категория: Программирование / Веб-разработка

 

Локализация WPF-приложения и мгновенная смена культуры

Автор: admin от 3-01-2016, 22:37, посмотрело: 534

Существуют разные способы локализации WPF-приложения. Самый простой и распространенный вариант — использование файла ресурсов Resx и автоматически сгенерированный к ним Designer-класс. Но этот способ не позволяет менять значения «на лету» при смене языка. Для этого необходимо открыть окно повторно, либо перезапустить приложение.
В этой статье я покажу вариант локализации WPF-приложения с мгновенной сменой культуры.

Категория: Программирование / Веб-разработка / Windows

 

Рисуем эллиптические кривые с помощью SQL

Автор: admin от 3-01-2016, 17:32, посмотрело: 631

Преимущество подхода на основе эллиптических кривых в сравнении с задачей факторизации числа, используемой в RSA, или задачей целочисленного логарифмирования, применяемой в алгоритме Диффи-Хеллмана и в DSS, заключается в том, что в данном случае обеспечивается эквивалентная защита при меньшей длине ключа.

В общем случае уравнение эллиптической кривой Е в поле действительных чисел R имеет вид:

— y^2+a1*x*y+a3*y = x^3+a2*x^2+a4*x+a6

или в случае конечного кольца вычетов Z|n:

— y^2+a1*x*y+a3*y = x^3+a2*x^2+a4*x+a6 mod N

Поставим перед собой задачу визуализации эллиптической кривой.

Эллиптическая кривая Е в поле действительных чисел R


Если эллиптическая кривая Е рассматривается в поле действительных чисел R, то построение графика можно описать, используя только знания алгебры и геометрии старших классов школы

аргументы N a1 a2 a3 a4 a6 xmin xmax

  • Выбираем диапазон [xmin — xmax] аргумента x

  • Отмечаем на выбранном диапазоне аргумента x необходимое число значений x1,...,xN

  • Каждое из значений x1,...,xN подставляем в уравнение y^2+a1*x*y+a3*y = x^3+a2*x^2+a4*x+a6 и получаем обычное квадратичное уравнение аргумента y

  • Находим корни квадратичного уравнения аргумента y

  • Если квадратичное уравнение аргумента y имеет решения, то добавляем две точки на график

  • Соединяем линиями все «верхние» точки на графике и все «нижние» точки на графике

  • Категория: Информационная безопасность / Криптография

     

    Поддержка Unity в Consulo за 2015 год в одном посте

    Автор: admin от 3-01-2016, 15:25, посмотрело: 490

    Поддержка Unity в Consulo за 2015 год в одном посте

    Хотя поддержка Unity в Consulo и появилась в конце 2014 года (первый коммит) — большинство возможностей появилось именно в 2015 году. Ниже описаны значимые фичи, которые были реализованы:


    Категория: Программирование

     

    Расширение разделов без потери данных

    Автор: admin от 3-01-2016, 10:22, посмотрело: 941

    Суть


    Разработал программу для простого расширения раздела и файловой системы (xfs, ext3,4) без потери данных. github.com/rekby/fsextender/releases/latest

    Исходная проблема


    После расширения диска виртуальной машины c ос семейства linux расширить внутри неё раздел данных.
    Подробности

    Категория: Системное администрирование / Linux

     

    Сказ о компрессоре, который можно называть, но не помню, как

    Автор: admin от 3-01-2016, 09:53, посмотрело: 455

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

    Категория: Программирование / Веб-разработка

     

    Bondiscount – всегда выгодные предложения

    Автор: admin от 3-01-2016, 08:33, посмотрело: 4 665

    Современный человек ежедневно совершает десятки и сотни мелких сделок и операций, приобретая необходимые для него товары и услуги. Зачастую производители и продавцы устраивают разнообразные акции и рекламные кампании, позволяющие клиентам существенно сэкономить на том или ином продукте. Кроме того, постоянно быть в курсе последних событий и совершать покупки с максимальной выгодой россиянам сегодня помогают отдельные приложения. Самые выгодные дисконты нижний новгород и другие города реализуют через специализированные сервисы, крупнейшим из которых является Bondiscount. Рассмотрим основные преимущества данной компании.

    Категория: Новости

     

    Создание функции на Rust, которая принимает String или &str

    Автор: admin от 3-01-2016, 02:34, посмотрело: 396

    От переводчика


    Создание функции на Rust, которая принимает String или &str
    Статья — одна из серии постов, рассказывающих об использовании некоторых полезных библиотечных типажей и связанных с ними идиом Rust на примере строковых типов данных. Информация бесспорно полезная как для начинающих программистов на Rust, так и для тех, что уже успел себя немного попробовать в этом языке, но ещё не совсем освоился с богатой библиотекой типажей. Оригинальный пост содержит несколько неточностей и опечаток в коде, которые я постарался исправить в процессе перевода, однако в общем и целом описанные подходы и мотивация правильные, подходящие под понятие «лучших практик», а потому заслуживают внимания.

    В моём последнем посте мы много говорили об использовании &str как предпочтительного типа для функций, принимающих строковые аргументы. Ближе к концу поста мы обсудили, когда лучше использовать String, а когда &str в структурах (struct). Хотя я думаю, что в целом совет хорош, но в некоторых случаях использование &str вместо String не оптимально. Для таких случаев нам понадобится другая стратегия.

    Категория: Программирование

     

    Black Hat USA 2015: полная история взлома того самого Jeep

    Автор: admin от 3-01-2016, 01:57, посмотрело: 471

    Как Чарли Миллер и Крис Валасек взломали Jeep Cherokee.

    Black Hat USA 2015: полная история взлома того самого Jeep

    В начале своего исследования Миллер и Валасек пытались взломать мультимедийную систему Jeep через Wi-Fi. Производитель автомобиля, компания Chrysler, предлагает возможность использования Wi-Fi по подписке. Оказалось, что эту беспроводную связь взломать достаточно легко, из-за того, что пароль на неё генерился автоматически на основе времени, когда машина и мультимедийная система включались впервые.

    Теоретически, измеряя время с точностью до секунд, этот метод довольно надёжен, учитывая большое количество вариантов времени. Но если вы знаете хотя бы год производства и угадаете месяц, то перебор будет ограничен 15 миллионами комбинаций. Если уменьшить время до дневных часов, останется уже 7 миллионов комбинаций. А это уже достаточно неплохой результат – его можно пробрутфорсить за час.

    Shock at the wheel: your Jeep can be hacked while driving down the road https://t.co/40h8StaLFG pic.twitter.com/bOvjzQb9K4

    — Kaspersky Lab (@kaspersky) 23 июля 2015[/quote]


    Проблема в том, что в течение всего часа необходимо находиться поблизости от этого джипа, чтобы оставаться в пределах досягаемости Wi-Fi. Но исследователи нашли другой путь. Оказалось, что пароль для Wi-Fi создаётся до того, как в системе будут установлены дата и время – то есть, дефолтное время отсчёта плюс несколько секунд на то, чтобы бортовой компьютер загрузился.

    И это время составляет ровно January 01 2013 00.00.32 GMT.

    Категория: Информационная безопасность

     
    Назад Вперед