» Материалы за Март 2017 года » Страница 4

 

Формирование Support Division краснодарской студии Plarium

Автор: admin от 31-03-2017, 04:15, посмотрело: 251

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

Формирование Support Division краснодарской студии Plarium

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

 

Necurs, один из крупнейших ботнетов мира, получил DDoS-модуль

Автор: admin от 31-03-2017, 03:45, посмотрело: 219

Necurs, один из крупнейших ботнетов мира, получил DDoS-модуль

Ботнет Necurs известен как один из крупнейших ботов мира. Его владельцы задействуют мощности своего детища для рассылки огромного количества спам-сообщений. Их объем настолько большой, что работа Necurs заметно влияет на общий размер e-mail трафика во всем мире. Вообще говоря, Necurs — не просто спамбот, это достаточно опасное malware, которое заражает уязвимые системы, подтягивая основной модуль ботнета и соответствующие модули.

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

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

 

Функциональный C#

Автор: admin от 30-03-2017, 22:55, посмотрело: 215

C# — язык мультипарадигмальный. В последнее время крен наметился в сторону функциональщины. Можно пойти дальше и добавить еще немного методов-расширений, позволяющих писать меньше кода, не претендуя при этом на то, чтобы превратить язык в F#.

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

 

Как мы портировали программно-аппаратное решение из SPARC Solaris в AMD64 Linux и виртуализировали все это

Автор: admin от 30-03-2017, 20:55, посмотрело: 183

Эта статья для тех, кто все еще сильно любит древние Unix, но уже понимает, что срочно нужно мигрировать на Linux...

Как мы портировали программно-аппаратное решение из SPARC Solaris в AMD64 Linux и виртуализировали все это

Началась эта история с того, что наш уважаемый заказчик решил уменьшить риски эксплуатации оборудования 10-ти летнего возраста, сэкономить на лицензиях и перейти с Unix на Linux, а заодно и виртуализировать это программно-аппаратное решение. Не то, чтобы заказчик не любил Solaris и Unix, просто сама возможность виртуализировать серверное приложение, жестко привязанное к специфической на сегодняшний день архитектуре SPARC и «седеющей» операционной системе Solaris, выглядела для заказчика очень привлекательной. Отдельным пунктом стоял вопрос замены специализированной карты с PCI интерфейсом на доступное «виртуализированное» решение. Мы решили взяться за такую интересную задачу.

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

 

Подводные камни для самодельной распределенности «из коробки» в С++ном акторном фреймворке

Автор: admin от 30-03-2017, 20:50, посмотрело: 201

В комментариях к последней статье про шишки, которые нам довелось набить за 15 лет использования акторов в C++, вновь всплыла тема отсутствия в SObjectizer-5 распределенности «из коробки». Мы уже отвечали на эти вопросы множество раз, но очевидно, что этого недостаточно.


В SObjectizer-5 нет распределенности потому, что в SObjectizer-4 поддержка распределенности была, но по мере того, как расширялся спектр решаемых на SObjectizer задач и росли нагрузки на SObjectizer-приложения, нам пришлось выучить несколько уроков:



  • под каждый тип задачи желательно иметь свой специализированный протокол. Потому что обмен большим количеством мелких сообщений, потеря части которых не страшна, сильно отличается от обмена большими бинарными файлами;

  • реализация back-pressure для асинхронных агентов — это сама по себе непростая штука. А когда сюда еще и примешивается общение по сети, ситуация становится гораздо хуже;

  • сегодня какие-то куски распределенного приложения обязательно будут написаны на других языках программирования, а не на C++. Поэтому требуется интероперабильность и наш собственный протокол, заточенный под C++ и SObjectizer, мешает разработке распределенных приложений.


Далее в статье попробуем раскрыть тему подробнее.

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

 

Сертификаты от StartCom и WoSign окончательно превратились в тыкву

Автор: admin от 30-03-2017, 20:00, посмотрело: 188

Сертификаты от StartCom и WoSign окончательно превратились в тыкву

Эти органзиации известны тем, что они до запуска Let's Encrypt бесплатно выпускали свои сертификаты. И все было прекрасно до недавней поры: 21 октября 2016 года. Все сертификаты, выпускаемые после этой даты были заведомо невалидны. Но выпущенные до этой даты работали нормально. Это коснулось всех сертификатов, даже платных (включая Extended Validation):

Сертификаты от StartCom и WoSign окончательно превратились в тыкву

Но и это длилось не долго.

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

 

Фальшивые обещания, агрессивная реклама, трояны-загрузчики и другие сюрпризы Google Play

Автор: admin от 30-03-2017, 19:35, посмотрело: 184

Специалисты ESET обнаружили на сервисе Google Play очередную партию вредоносных и нежелательных приложений. Они маскируются под легитимные программы и/или используют методы социальной инженерии для увеличения рейтинга. Общее число загрузок «героев» этого обзора превышает полтора миллиона, причем в большинстве ситуаций изучение отзывов пользователей в сервисе Google Play позволило бы избежать установки потенциально опасного ПО.

Фальшивые обещания, агрессивная реклама, трояны-загрузчики и другие сюрпризы Google Play

Категория: Google, Android

 

Вращение изображения на FPGA

Автор: admin от 30-03-2017, 18:50, посмотрело: 249

Вращение изображения на FPGA

Пол года назад я наткнулся в сети вот на это видео.

Первой мыслью было то, что это очень круто и у меня такое никогда не получится повторить. Шло время, читались статьи, изучались методы и я искал примеры реализации подобного, но к моему огорчению, в сети ничего конкретного не находилось. Наткнувшись однажды на вычисления тригонометрических функций с использованием алгоритмов CORDIC, я решил попробовать создать свою собственную вращалку изображения на ПЛИС.

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

 

Приглашаем на Go meetup 14 апреля

Автор: admin от 30-03-2017, 18:20, посмотрело: 174

Приглашаем на Go meetup 14 апреля

В пятницу 14 апреля мы приглашаем вас в наш московский офис на Go meetup. Мы послушаем доклады экспертов и пообщаемся на профессиональные темы. В программе встречи пять докладов.

Приглашаем на Go meetup 14 апреля— Go Template Toolkit
Сергей Свистунов, Lazada

В докладе речь пойдет о трансляторе шаблонов в Go-код (https://github.com/go-qbit/template). Получаемый шаблонизатор работает в более чем 10 раз быстрее html/template из стандартной библиотеки. Будет сделан краткий обзор синтаксиса шаблонов, сходства и различия с Perl Template Toolkit. Также спикер расскажет, как Go YACC помог описать грамматику для построения AST, и как из AST получается Go-код. Продемонстрирует, как go tool pprof помог найти неочевидные места, требующие оптимизации.

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

 

Шаблон проектирования «Спецификация» в C#

Автор: admin от 30-03-2017, 17:30, посмотрело: 392

«Спецификация» в программировании — это шаблон проектирования, посредством которого представление правил бизнес логики может быть преобразовано в виде цепочки объектов, связанных операциями булевой логики.

Я познакомился с этим термином в процессе чтения DDD Эванса. На Хабре есть статьи с описанием практического применения паттерна и проблем, возникающих в процессе реализации.

Если коротко, основное преимущество от использования «спецификаций» в том, чтобы иметь одно понятное место, в котором сосредоточены все правила фильтрации объектов предметной модели, вместо тысячи размазанных ровным слоем по приложению лямбда-выражений.

Классическая реализация шаблона проектирования выглядит так:
public interface ISpecification
{
    bool IsSatisfiedBy(object candidate);
}

Что с ним не так применительно к C#?



  1. Есть Expression и Func, сигнатура которых совпадает с IsSatisfiedBy

  2. Есть Extension-методы. alexanderzaytsev с помощью них делает вот так:
    public class UserQueryExtensions 
    {
      public static IQueryable<User> WhereGroupNameIs(this IQueryable<User> users,
    string name)
      {
          return users.Where(u => u.GroupName == name);
      }
    }
    


  3. А еще можно реализовать вот такую надстройку над LINQ:
    public abstract class Specification<T>
    {
      public bool IsSatisfiedBy(T item)
      {
        return SatisfyingElementsFrom(new[] { item }.AsQueryable()).Any();
      }
    
       public abstract IQueryable<T> SatisfyingElementsFrom(IQueryable<T> candidates);
    }
    



  4. В конечном итоге возникает вопрос: стоит ли в C# пользоваться шаблоном десятилетней давности из мира Java и как его реализовать?

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