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

HL 2018. Конспект доклада «Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем» - 1
Картинка: источник

Привет! Меня зовут Ахмадеев Ринат, я Sr. PHP developer.

Представляю вашему вниманию конспект доклада "Make passwords great again! Как победить брутфорс и оставить хакеров ни с чем" с HighLoad++ 2018.
Докладчик: Алексей Ермишкин, Virgil Security, Inc., Chief Product Security Officer.
Тезисы: https://www.highload.ru/moscow/2018/abstracts/3865.
Слайдов в открытом доступе еще нет, поэтому приводится их текстовая расшифровка.

Впечатление

Когда я шел на доклад, то был настроен пессимистично, действительно, что еще можно нового тут придумать кроме хеша и соли? Но т.к. это Virgil Security, то я все же решил сходить.

В начале доклад казался действительно капитанским, и я даже начал терять интерес, но потом, как оказалось, даже узнал что-то новое.

Мне так понравился доклад, что я подготовил конспект. Всем рекомендую к ознакомлению.

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

Поскольку праздники кончились, предлагаю вашему вниманию субъективную подборку ржавых новостей за декабрь. В этой подборке: безумие с растом, страшен ли раст, волна пророчеств, Rust 2018, Rust Analyzer.

КДПВ

Rust 1.31 & Rust 2018

Самое важное событие декабря — выпуск Rust 1.31 и Rust 2018, конечно. Туда очень много всего вошло:

редакция 2018, нелексические времена жизни, изменения системы модулей, дополнительные правила вывода времен жизни, const fn, новые инструменты, инструментальные проверки качества кода, документация, новый веб-сайт, улучшения в cargo.

Изменений так много, что обзор всех не получилось запихнуть в один пост, так что через несколько дней были опубликованы вспомогательные заметки:

Так же, имеет смысл полистать мозиловский хорошо структурированный обзор/ликбез 2018й редакции языка: Rust 2018 is here… but what is it? (перевод, обсуждение).

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

Аннотация статьи.

  • Использование GtkApplication. Каркас приложения. Makefile.
  • Отрисовка библиотекой librsvg.
  • Экспорт изображения в GtkImage и его масшабирование.
  • Масштабирование SVG самописными функциями.
  • Получение полного пути в приложениях.
  • Тесты быстродействия GtkDrawingArea vs GtkImage.

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

image

Вы просто сидите за своим столом, занимаясь своими делами, пытаясь выполнить какую-то работу. Затем, как это неизбежно происходит, вы сталкиваетесь с незначительным препятствием: ваш код выдает загадочное сообщение об ошибке.

«Нет проблем», как вы думаете. Это не ваше первое родео. Таким образом, вы копируете и вставляете дословно сообщение об ошибке в Google и смотрите, что вы получаете.

Неудача.

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

И вот начинается творческий процесс поиска в Google. Вы пробуете несколько комбинаций ошибки + контекст, в котором вы ее используете. Вы пытаетесь указать название используемой вами библиотеки. Вы знаете, что становитесь ближе…
Читать полностью »

Привет!

Продолжаем битву за производительность Javascript на примере построения сводных таблиц. В прошлый раз мы реализовали несколько оптимизаций, и оставалась последняя реальная возможность ускорить расчет — перейти на многопоточные вычисления. В Javascript уже давно существуют воркеры, реализация которых не лишена недостатков, но заявлено, что они используют реальные потоки операционной системы — так почему бы не попробовать? Неожиданно оказалось, что для распараллеливания простого, в сущности, алгоритма пришлось переписать синтакис агрегатных формул, так как старые не обладали свойстом аддитивности (подробнее под катом), но, в конечном итоге, все получилось.

Тестировалась обработка 1 миллиона фактов на двух устройствах:

  • Нетбук Linux 4.15, 2 x Intel Celeron CPU N2830 @ 2.16 GHz
  • Телефон Android 7.0, 4 x ARM Cortex-A53 @ 1.44 GHz

Многопоточные вычисления на Javascript, или как телефон выиграл гонку у ноутбука - 1

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

Будучи back-end разработчиком, я всеми фибрами своей души люблю микросервисные архитектуры, но еще больше, люблю разрабатывать микросервисы. При разработке, чего бы то ни было, я придерживаюсь одного простого принципа – минимализм. Под минимализмом я подразумеваю простую истину: код должен быть максимально «прозрачным», его должно быть минимум (идеальный код – код которого нет), а посему, я делаю ставку в пользу аннотаций.

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

Сегодня мы анонсируем два важных нововведения на GitHub, которые сделают его более доступным для разработчиков: неограниченные бесплатные приватные репозитории и более удобный продукт для компаний. Подробности под катом!

Новый год, новый GitHub: неограниченные бесплатные приватные репозитории - 1Читать полностью »

Создание новой системы — многоэтапный процесс: проработка концепции и дизайна, проектирование архитектуры, реализация, тестирование, релиз. Проектирование архитектуры и реализация — это те этапы, которыми в первую очередь занимаются разработчики.

Большинство разработчиков любят заниматься архитектурой, продумывать как система или её часть будет устроена с чистого листа. Если тот, кто продумал архитектуру системы, и будет её реализовывать, никаких проблем с мотивацией нет: программист получит удовлетворение от воплощения в жизнь задуманных им идей. Но если архитектуру продумал один, а реализацией будет заниматься другой, то у последнего может возникнуть естественное возмущение: все продумали за меня, а мне только делать по написанному?

Как поделить архитектуру и реализацию и не поругаться - 1

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

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

Привет! Сегодня продолжим разговор о возможностях, которые предоставляет нам Amazon Web Services и о том, как эти возможности использовать в решении прикладных задач.

На простом примере рассмотрим создание буквально за несколько минут собственного бессерверного автомасштабируемого REST API с разбором кейса — получения списка для ресурса.

Интересно? Тогда заходим под кат!

Бессерверный REST API «на коленке за 5 минут» - 1
(Источник)
Читать полностью »

Конференция DEFCON 18. Практический шпионаж с помощью мобильного телефона. Часть1

Мы хотим применить определённые методы, чтобы ускорить захват телефонов фальшивой сетью. На данный момент у нас есть простой перехватчик IMSI, вы можете попробовать позвонить и услышать записанное мною предупреждение. Вижу, что несколько человек подняли руки. Я имею в виду, что вы, ребята, подключаетесь к моей сети, и я перехватываю весь ваш трафик.
Во-первых, я теперь знаю все ваши IMSI и могу их отфильтровать, оставив только IMSI конкретного человека, который является моей целью. То же самое я могу проделать с фильтрованием IMEI, которые представляют собой идентификаторы телефонов. Например, я могу разрешить подсоединяться к сети только телефонам марки «Нокия» или только «Айфонам». Я могу сделать так, что только этот конкретный IMEI будет в моей сети и никого больше. Я могу ограничить доступ с помощью самых разных параметров.

Конференция DEFCON 18. Практический шпионаж с помощью мобильного телефона. Часть 2 - 1

Как я уже упоминал, для миграции людей из официальной сети в мою сеть требуется время, и мы можем сделать это быстрее, я расскажу об этом через секунду. Одно из главных ограничений этой системы то, что она принимает только исходящие звонки. Когда вы подключаетесь к моей сети, независимо от того, будет ли это Т-Mobile или AT&Т, ваш телефон отключается, потому что реально вы не подключены ни к одной из легальных вышек сотовой связи. Таким образом, как только приходит звонок, он поступает прямо в вашу голосовую почту. Это проблема разрешаема, позже я покажу вам, что исходящие звонки тоже могут быть записаны. Читать полностью »


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