Безопасность данных: новая система хранения IBM Storwize

Автор: admin от 23-06-2015, 22:47, посмотрело: 5 289

Использование данных с максимальной эффективностью и скоростью позволяет предприятию выгодно выделяться на фоне конкурентов. Использование IBM Storwize V3700 дает возможность осуществлять аналитику больших объемов информации, а также использовать приложения для обработки различных типов данных. Применение данной технологии хранения информации поможет предприятию максимизировать прибыль и сократить расходы, обеспечивая более быстрое развитие компании. При этом анализ информации может осуществляться независимо от места хранения: облачная среда, центр обработки и так далее.

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

 

Генерация маппинга через t4 шаблоны

Автор: admin от 23-06-2015, 20:10, посмотрело: 516

Генерация маппинга через t4 шаблоны
Здравствуйте! Наш проект уже достиг такой стадии когда встал вопрос об оптимизации производительности. После анализа слабых мест, одно из возможных путей для оптимизации был способ избавления от AutoMapper’а, он хоть и не является самым тормозным местом, но является тем местом, которое мы можем улучшить. AutoMapper используется у нас для маппинга DO объектов в DTO объекты для передачи через WCF сервис. Вручную написанный метод с созданием нового объекта и копированием полей работает быстрее. Писали маппинг вручную — безрадостная рутина, часто были ошибки, забытые поля, забытые новые поля, поэтому решили написать генерацию маппинга через t4 шаблоны.

По сути нам надо было сверить список пропертей и типов, и написать копирование, но не всё так гладко в датском королевстве.

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

 

Мониторинг и оповещение о событиях в журналах Windows: отправка на E-mail в Windows Server 2012 R2

Автор: admin от 23-06-2015, 19:34, посмотрело: 1 649

Не так давно, для успешного прохождения аудита на соответствие стандартам PCI DSS, потребовалось включить аудит событий Windows серверов и что самое главное — настроить отправку уведомлений о критичных событиях на E-mail. Для Linux серверов вопрос решается установкой и настройкой OSSEC (ну еще могут понадобиться syslog ws loganalyzer и auditd), для Windows Server 2012 R2 да еще и русской версии он не подошел (в последствии нам таки удалось его адекватно настроить, если будет интересно — смогу описать как). Так что решили искать другие способы…

Первым дело следует включить аудит всех необходимых операций (управление учетными записями и контроль целостности файлов) в доменной политике. И если с аудитом операций над объектами Active Directory все просто, то вот с аудитом файловых операций придется повозиться. Тут, как нельзя кстати, компания Netwrix (не сочтите за рекламу, — компания автор коммерческого софта для аудита) подготовила замечательную статью: «Настройка аудита файловых серверов: подробная инструкция и шпаргалка» (.pdf).

Но вернемся к нашим «костылям». После успешной активации аудита всех необходимых операций и обнаружения в журналах Windows интересующих нас событий, встал вопрос об их отправке на сервер мониторинга… Логично было бы воспользоваться встроенными инструментами ("Attach Task To This Event" не самый информативный инструмент, зато «родной» для Windows), но тут всплывает первый любопытный и не приятный момент от Microsoft — «Send an email and Display a message are deprecated for from Windows Server 2012 and Windows 8».

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

 

Brubeck — быстрый, statsd-совместимый агрегатор метрик от GitHub

Автор: admin от 23-06-2015, 18:18, посмотрело: 619

Brubeck — быстрый, statsd-совместимый агрегатор метрик от GitHub

История появления


Одной из главных целей команды разработчиков GitHub всегда была высокая производительность. У них даже существует поговорка: «it's not fully shipped until it's fast» (продукт считается готовым только тогда, когда он работает быстро). А как понять, что что-то работает быстро или медленно? Нужно мерять. Измерять правильно, измерять надёжно, измерять всегда. Нужно следить за измерениями, визуализировать всевозможные метрики, держать руку на пульсе, особенно, когда дело имеешь с высоконагруженными онлайн системами, такими как GitHub. Поэтому метрики — это инструмент, позволяющий команде предоставлять столь быстрые и доступные сервисы, почти без даунтаймов.

В своё время GitHub одними из первых внедрили у себя инструмент под названием statsd от разработчиков из Etsy. statsd — это агрегатор метрик, написанный на Node.js. Его суть состояла в том, чтобы собирать всевозможные метрики и агрегировать их в сервере, для последующего сохранения в любом формате, например, в Graphite в виде данных на графике. statsd — это хороший инструмент, построенный на UDP сокетах, удобный в использовании как на основном Rails приложении, так и для сбора простейших метрик, наподобие вызова nc -u. Проблема с ним начала проявляться позже, по мере роста количества серверов и метрик, отправляемых в statsd.

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

 

Решение разреженных СЛАУ больших размерностей средствами ManagedCuda в .NET

Автор: admin от 23-06-2015, 18:17, посмотрело: 1 178

Зачастую в прикладных математических и компьютерных моделях возникает необходимость решать системы линейных алгебраических уравнений (СЛАУ). Как правило, на практике матрица в таких СЛАУ оказывается разреженной. Например, разреженные матрицы встречаются в моделях с конечно-разностными или конечно-элементными методами решения дифференциальных уравнений. Возникают сильно разреженные матрицы большой размерности при моделировании материальных и информационных потоков в крупных технологических сетях (системы газоснабжения и газораспределения, канализационные и теплоснабжающие системы, электросети и компьютерные сети и др.). Общим для технологических сетей является представление их моделей в виде графа, у которого матрица инциденций оказывается практически всегда сильно разреженной.

В статье будет рассказано о том, как ваш покорный слуга значительно повысил эффективность компьютерной модели расчета нестационарных течений газа в крупных системах газоснабжения произвольной конфигурации, благодаря применения библиотеки ManagedCuda и nVidia CUDA 7.0. Однако изложение будет вестись без привязки к конкретной предметной области.

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

 

Мобильные приложения и основные факторы freemium-монетизации. Часть 1

Автор: admin от 23-06-2015, 17:39, посмотрело: 458

Мобильные приложения и основные факторы freemium-монетизации. Часть 1

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

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

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

 

RAD с помощью многомерного табличного процессора

Автор: admin от 23-06-2015, 17:28, посмотрело: 420

RAD с помощью многомерного табличного процессора

Хочу поделиться с хабрсообществом проектом из области business intelligence, которым я занимаюсь в свободное время последние полтора года.

Многие используют табличные процессоры (Excel, OpenOffice Calc и т.д.) для быстрого создания приложений, которые выполняют простые вычисления, помогают при создании отчётов или облегчают планирование. Несмотря на то, что возможности таких приложений, как правило, очень ограничены, простота табличных процессоров делает такой подход очень популярным. Речь в этой статье пойдёт о попытке расширить возможности табличных процессоров с помощью многомерной модели данных (обычно ассоциируемой с понятием

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

 

PHP extension. Пишем простой массив с Traversable и ArrayAccess

Автор: admin от 23-06-2015, 16:43, посмотрело: 489

В этой статье предлагаю на примере простого массива рассмотреть как именно работают внутренние интерфейсы Traversable и ArrayAccess.

Сразу приведу список ресурсов, на которые далее по тексту будет множество ссылок.

  • lxr.php.net — Удобнейший поиск по исходному коду php;

  • phpinternalsbook — Полезнейший ресурс по внутренностям php. А конкретно нас интересует раздел по классам;

  • Руководство по ядру PHP.


И про платформу: я писал код по ubuntu, так что для других linux дистрибутивов (да и OS X) понадобится минимум изменений (поменять apt-get). Если хотите писать под Windows, то придется поискать информацию в других интернетах (все равно никто не пишет код по windows).

Картинки не будет. Приступаем.

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

 

Сборка Кубика Рубика генетическим алгоритмом online без смс

Автор: admin от 23-06-2015, 16:30, посмотрело: 822

Сборка Кубика Рубика генетическим алгоритмом online без смс

В то время пока я собирался на ланч, мой ко-воркер Дейв окликнул меня: «Хэй, Алекс, а ты не хочешь заниматься улучшениями навыков своего программирования?». Я задумался. Это было интересное предложение, но я склонялся ответить отказом: «Сейчас я занимаюсь развитем навыков говорения на языках, дружище!». Ладно, шучу. Утро началось с того, что я добрался до почты и заполучил в руки копеечный китайский Кубик, случайно заказанный на али. К обеду я проштудировал мануал сборки и обновил мышечную память, а к вечеру пришло осознание, что я наигрался. Будущее кубика было ясным: он будет пылиться на полке, раз или два в неделю может быть я буду его собирать, чтобы привести мысли в порядок или отвлечься, но не более того. Соревнование в механической скорости сборки? Non merci, уж лучше скворечники делать…

Ситуацию, как всегда, спасли мысли об автоматизации. После недолгого изучения я узнал рекогнисцировку. Для начала, число Бога уже давно найдено и равно 20. Правда задача сборки от этого не упрощается, т.к. использовать граф кратчайших путей для всех возможных конфигураций кубика не очень спортивно и немножко накладно по ресурсам. Алгоритм Бога предполагает под собой некое разумное количество использованной памяти, и в то же время обязан обеспечить минимально возможное число модификаций. Так вот, такого алгоритма еще нет. Есть ряд алгоритмов, позволяющих заметно ускорить сборку по сравнению с традиционными шаблонными методоми, но повторять кем-то уже проложенный (математически) путь мне показалось скучным. Если кому интересно, вот хороший анализ Далее есть традиционные шаблонные методы. Идея здесь в послойной сборке снизу вверх с использованием формул. Формула — последовательность модификаций Кубика, приводящая к таким-то целевым модификациям, и таким-то побочным. Соответственно, побочные модификации почти всегда падают на еще не собранные слои. Различаются шаблонные методы уровнем детализации шаблонов. Всякого рода спидкуберы знают все мыслимые шаблоны для большого количества частных случаев, что позволяет отыграть лишнюю 0.1 секунду с каждой модификации на соревнованиях. Пример, на что еще можно потратить жизнь.

Итак, я постепенно формировал для себя задачу. В итоге, формулируется она так: за кратчайшее реальное время необходимо написать решалку для Кубика Рубика.

Что мы знаем о Кубике? Число его состояний описывается как
(8! x 3^7) x (12! x 2^11)/2 = 43 252 003 274 489 856 000
.

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

 

Пишем на JS в функционально-декларативном стиле

Автор: admin от 23-06-2015, 12:23, посмотрело: 471

Пишем на JS в функционально-декларативном стиле

Введение


Я люблю функциональные языки за их простоту, ясность и предсказуемость. Пишу в основном на Elixir / Erlang / OTP, пробовал другие языки, но Erlang с его акторами пока мне гораздо ближе чем например Lisp или Haskell. Как известно Erlang == web, а у чего-либо написанного для веба порой бывает клиентский веб-интерфейс: html, css, js — содержимое. Увы js это стандарт современного веба, для него есть библиотеки почти под любую задачу почти на все случаи жизни, да и это более-менее единственное доступное средство что-то выполнить в браузере на стороне клиента. Поэтому нам всё-таки нужен js. Сперва мне подумалось «Лямбды и функции высшего порядка есть, значит писать на js будет просто. Выучу синтаксис и буду писать так же как пишу в Erlang/Lisp/Haskell». Как же я ошибался.

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

 
Назад Вперед