» Материалы за Январь 2018 года » Страница 7

 

Приведение типов. Наглядное отличие static_cast от dynamic_cast

Автор: admin от 30-01-2018, 11:45, посмотрело: 63

Доброго времени суток. Очень много статей в интернете о разнице операторов приведения типов, но понимания в данной теме они мне не особо то и не добавили. Пришлось разбираться самому. Хочу поделиться с вами моим опытом на довольно наглядном примере.

Статья рассчитана на тех, кто хочет осознать приведение типов в С++.

Категория: Операционные системы » Windows

 

DCShadow — новая техника атаки на Active Directory

Автор: admin от 30-01-2018, 11:45, посмотрело: 229

DCShadow — новая техника атаки на Active Directory
 

24 января 2018 года на конференции безопасности Microsoft BlueHat исследователями Benjamin Delpy и Vincent Le Toux была продемонстрирована новая технология атаки против инфраструктуры Active Directory.



Название новой техники атаки — DCShadow. Такая атака позволяет злоумышленнику создать поддельный контроллер домена в среде Active Directory для репликации вредоносных объектов в рабочую инфраструктуру Active Directory.

Категория: Операционные системы » Windows

 

Разработка приложений для iOS: начни карьеру

Автор: admin от 30-01-2018, 11:35, посмотрело: 84

Разработка приложений для iOS: начни карьеру


Привет, Хабр! Мы запускаем Академию e-Legion — онлайн-школу для мобильных разработчиков.



Всё серьёзно: 9 месяцев обучения, лекции топовых разработчиков, практические задания, тестирования, чат с преподавателями и материалы для самостоятельной работы.



Под катом — необходимые знания для старта, план обучения iOS-разработчиков, знакомство с преподавателями и программа трудоустройства для выпускников Академии.

Категория: Веб-разработка, Game Development, iOS

 

Разработка приложений для Android: начни карьеру

Автор: admin от 30-01-2018, 11:35, посмотрело: 66

Разработка приложений для Android: начни карьеру


Привет, Хабр! Мы запускаем Академию e-Legion — онлайн-школу для мобильных разработчиков.



Всё серьёзно: 9 месяцев обучения, лекции топовых разработчиков, практические задания, тестирования, чат с преподавателями и материалы для самостоятельной работы.



Под катом — необходимые знания для старта, план обучения Android-разработчиков, знакомство с преподавателями и программа трудоустройства для выпускников Академии.

Категория: Веб-разработка, Game Development, Android

 

Делаем свою прошивку для IP-камеры на Rust и боремся с фродом

Автор: admin от 30-01-2018, 10:50, посмотрело: 92

Это продолжение рассказа о лучших (по мнению участников) докладах HighLoad++ 2017. В предыдущей статье я писал о двух лидерах рейтинга. Идем дальше. В этом материале — доклад Вадима Антонюка о фродах и Макса Лапшина  - о прошивке для IP-камеры на Rust.



Делаем свою прошивку для IP-камеры на Rust и боремся с фродом

Категория: Компании » Microsoft

 

Вашему вниманию — Webpack 4

Автор: admin от 30-01-2018, 10:50, посмотрело: 97

Всем привет! На этот раз на повестке дня перевод статьи Valentino Gagliardi

Webpack 4 tutorial: All You Need to Know, from 0 Conf to Production Mode



Вашему вниманию — Webpack 4



Команда разработчиков Webpack этот раз изрядно потрудилась над новым поколением популярного сборщика модулей (бандлера) — webpack 4.



Репозиторий с используемым кодом здесь.

Категория: Компании » Microsoft

 

Я ненавидел Javascript. А теперь он мне нравится

Автор: admin от 30-01-2018, 10:50, посмотрело: 68

Моя карьера началась с написания программ для мобильных устройств. Я изучал C и Objective-C, чтобы работать с устройствами на iOS. У меня был чёткий контроль над программным обеспечением, я учился тому, как правильно работать с памятью, и проводил долгие часы за отладкой багов, которые возникали из-за моей небрежности (это было ещё до ARC). Я развивался с уклоном в сторону iOS, а так же так же начал изучать Java (и совсем недавно приступил к Kotlin) для перехода на Android.

Категория: Компании » Microsoft

 

Машинное обучение и шоколадные конфеты

Автор: admin от 30-01-2018, 10:50, посмотрело: 69

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



Машинное обучение и шоколадные конфеты

Категория: Компании » Microsoft

 

Неслучайная случайность, или Атака на ГПСЧ в .NET

Автор: admin от 30-01-2018, 06:15, посмотрело: 58

Random numbers should not be generated with a method chosen at random.

— Donald Knuth


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



class AuthenticateByPhoneHandler
{
    /* ... */

    static string GenerateCode() => rnd.Next(100000, 1000000).ToString();

    readonly static Random rnd = new Random();
}


Проблема видна невооруженным глазом: для генерации 6-тизначного кода используется класс Random — простой некриптографический генератор псевдослучайных чисел (ГПСЧ). Займёмся им вплотную: научимся предсказывать последовательность случайных чисел и прикинем возможный сценарий атаки на сервис.



Потокобезопасность



Кстати, заметим, что в приведённом фрагменте кода доступ к статическому экземпляру rnd класса Random из нескольких потоков не синхронизирован. Это может привести к неприятному казусу, который можно часто встретить в вопросах и ответах на StackOverflow:



Неслучайная случайность, или Атака на ГПСЧ в .NET

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

 

Прямой SQL в EntityFramework. Теперь со строгой типизацией

Автор: admin от 30-01-2018, 04:30, посмотрело: 71

Привет!



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

Так вот. Часто ли вы используете в своём C#-проекте с настроенным ORM-ом прямые SQL-запросы в базу? Ой, да бросьте, не отнекивайтесь. Используете. Иначе как бы вы реализовывали удаление/обновление сущностей пачками и оставались живы…

Что мы больше всего любим в прямом SQL? Скорость и простоту. Там, где "в лучших традициях ORM" надо выгрузить в память вагончик объектов и всем сделать context.Remove (ну или поманипулировать Attach-ем), можнo обойтись одним мааааленьким SQL-запросом.

Что мы больше всего не любим в прямом SQL? Правильно. Отсутствие типизации и взрывоопасность. Прямой SQL обычно делается через DbContext.Database.ExecuteSqlCommand, а оно на вход принимает только строку. Следовательно, Find Usages в студии никогда не покажет вам какие поля каких сущностей ваш прямой SQL затронул, ну и помимо прочего вам приходится полагаться на свою память в вопросе точных имён всех таблиц/колонок которые вы щупаете. А ещё молиться, что никакой лоботряс не покопается в вашей модели и не переименует всё в ходе рефакторинга или средствами EntityFramework, пока вы будете спать.

Так ликуйте же, адепты маленьких raw SQL-запросов! В этой статье я покажу вам как совместить их с EF, не потерять в майнтайнабильности и не наплодить детонаторов. Ныряйте же под кат скорее!

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