Стратегии в Moxy (часть 1)

Автор: admin от 12-04-2017, 23:00, посмотрело: 89

Стратегии в Moxy (часть 1)
Наш фреймворк Moxy получил широкое распространение в разработке под Android.
Он обеспечивает реализацию MVP паттерна при работе с Activity, Fragment и View, полностью отделяя “callback hell” их жизненного цикла от презентера.

Данное поведение реализовано за счет сущности ViewState, которая проксирует вызовы методов между Presenter и View, при этом сохраняя некоторые из них в очереди на основании специальных стратегий. При пересоздании View вызываются не все методы, а только те, которые находятся в очереди на данный момент.

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

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

 

Lazarus вездесущий

Автор: admin от 12-04-2017, 22:25, посмотрело: 179

Lazarus вездесущийВзлом Sony Entertainment, ограбление центробанка Бангладеш и дерзкие атаки на систему SWIFT по всему миру, уничтожение данных южнокорейских медиа- и финансовых компаний. Казалось бы, между этим акциями нет ничего общего. И каждый раз это были одни и те же ребята из группы Lazarus.

Впечатляют и масштаб кампаний, и разнообразие, и объем затрат – только наши исследователи смогли увязать с Lazarus более 150 вредоносных инструментов! Фактически для каждой атаки хакеры писали новые инструменты – от эксплойтов до стирателей. Код был новый, но не полностью, что в конечном итоге их и выдало. Подробный отчет об известной деятельности Lazarus содержит 58 страниц, здесь же я приведу наиболее любопытные моменты.

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

 

Создание сапера при помощи модуля Tkinter

Автор: admin от 12-04-2017, 22:10, посмотрело: 66

День добрый. Почти каждый начинающий программист стремится к созданию своей первой игры. Спустя пол года ленивого кропотливого обучения я решился написать сапера. Языком написания был выбран Python, модулем для добавления интерфейса tkinter, потому как уже имелся опыт работы с ним. Этот пост будет полезен скорее начинающим кодерам, но если вы итак все знаете, можете написать свои советы по улучшению кода в комменты.

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

 

(Не) любителям protothreads посвящается: Высокоуровневые функции для работы с 1-Wire

Автор: admin от 12-04-2017, 21:45, посмотрело: 81

Подразумевается, что мы будем писать прошивку под «голое железо». В противном случае применение protothreads смысла не имеет, т.к. мультизадачность должна обеспечиваться средствами ОС. Подразумевается также, что нам необходимо реализовать несколько более-менее сложных алгоритмов, связанных с операциями ввода-вывода. Ну и, как всегда в микроконтроллерах, очевидные требования по экономии RAM и энергопотребления.

Категория: Программирование, Системное администрирование, Веб-разработка

 

Логика сознания. Часть 12. Поиск закономерностей. Комбинаторное пространство

Автор: admin от 12-04-2017, 20:25, посмотрело: 117

Логика сознания. Часть 12. Поиск закономерностей. Комбинаторное пространствоПоэзия — та же добыча радия.
В грамм добыча, в годы труды.
Изводишь единого слова ради
Тысячи тонн словесной руды.
Но как испепеляюще слов этих жжение
Рядом с тлением слова-сырца.
Эти слова приводят в движение
Тысячи лет миллионов сердца.

Владимир Маяковский


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

Сделаем еще один шаг в сторону универсального обобщения. Опишем идею комбинаторного пространства и то, как это пространство помогает искать закономерности и тем самым решать задачу обучения с учителем.

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

 

Полезные плагины и советы по безопасности для WordPress

Автор: admin от 12-04-2017, 20:25, посмотрело: 132

Полезные плагины и советы по безопасности для WordPress


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

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

На сегодняшний день на WordPress работает примерно 76,5 миллионов блогов, или 27% всех страниц в интернете. Каждый день создается еще 50000 веб-сайтов (источник: WordPress).

Из-за такого объема операций WordPress становится мишенью для злоумышленников. Взломщики проникают в систему, чтобы распространять вирусы, раскрывать данные или мешать работоспособности WordPress-сайта в целом.

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

 

В канадском аэропорту обнаружили устройства для слежки за смартфонами

Автор: admin от 12-04-2017, 17:30, посмотрело: 92

В канадском аэропорту обнаружили устройства для слежки за смартфонами


Изображение: Jorge Diaz, Flickr

Расследование репортеров Radio-Canada выявило использование в аэропорту Пьер Эллиот Трюдо в Монреале специализированных шпионских устройств (IMSI-catcher). Ранее журналисты нашли такие же устройства в непосредственной близости от канадского парламента и посольств иностранных государств в Оттаве.

Устройства, которые также называют StingRay, выдают себя за базовые станции мобильной связи — смартфоны подключаются к ней, что позволяет злоумышленникам получать данные об уникальных идентификаторах телефонов (IMSI).

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

 

«C чем это едят»: что такое блокчейн

Автор: admin от 12-04-2017, 17:20, посмотрело: 106

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

Например, распределенных вычислений, макроэкономики и даже теории игр — методы теории игр находят широкое применение в математическом аппарате криптовалют, стимулируя различные действия участников.

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

«C чем это едят»: что такое блокчейн

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

 

Компания Delta потеряла $150 млн из-за желания производителя аварийных генераторов для ЦОД

Автор: admin от 12-04-2017, 16:20, посмотрело: 120

Компания Delta потеряла $150 млн из-за желания производителя аварийных генераторов для ЦОД

В прошлом году авиакомпания Delta потеряла более $150 млн. Причина убытков — сбой в работе дата-центра Delta, о чем мы в свое время писали. Речь о компании Delta Air Lines, многие тысячи пассажиров которой не смогли никуда улететь из-за сбоя в ДЦ, расположенном в Атланте, США. Как и у практически любой компании, в дата-центрах Delta Air Lines есть дублирующие системы, которые начинают работать, если что-то идет не так. В резервные системы были вложены десятки миллионов долларов США, но в нужное время они просто не сработали должным образом.

Категория: Системное администрирование, Сетевые технологии

 

Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое

Автор: admin от 12-04-2017, 16:00, посмотрело: 102

Хабра, привет!

Немного о строках в Си, или несколько вариантов оптимизировать неоптимизируемое Не так давно у со мной произошел довольно-таки интересный инцидент, в котором был замешан один из преподавателей одного колледжа информатики.

Разговор о программировании под Linux медленно перешел к тому, что этот человек стал утверждать, что сложность системного программирования на самом деле сильно преувеличена. Что язык Си прост как спичка, собственно как и ядро Linux (с его слов).

У меня был с собой ноутбук с Linux, на котором присутствовал джентльменский набор утилит для разработки на языке Си (gcc, vim, make, valgrind, gdb). Я уже не помню, какую цель мы тогда перед собой поставили, но через пару минут мой оппонент оказался за этим ноутбуком, полностью готовый решать задачу.

И буквально на первых же строках он допустил серьезную ошибку при аллоцировании памяти под… строку.

char *str = (char *)malloc(sizeof(char) * strlen(buffer));

buffer — стековая переменная, в которую заносились данные с клавиатуры.

Я думаю, определенно найдутся люди, которые спросят: «Разве что-то тут может быть не так?».
Поверьте, может.

А что именно — читайте по катом.

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

 
Назад Вперед