Публикации

сегодня в 14:54

Новые гиперконвергентные системы от HP

Несколько месяцев назад в нашем блоге мы рассказывали о гиперконвергентной системе HP Converged System 240-HC StoreVirtual (CS240), с помощью которой всего за 15 минут можно развернуть виртуализованную инфраструктуру (о том, как происходит процедура развертывания этой системы, можно прочитать здесь).

Основные сценарии применения HP CS240 (и всех других систем семейства CS200) – это быстрое создание виртуализованной серверной инфраструктуры «из коробки», которая может использоваться для развертывания новых приложений, инфраструктуры виртуальных десктопов (VDI) на 500 – 2000 рабочих мест и построения частного облака. Это коробочное решение с минимальными требованиями к поддержке и обслуживанию особенно интересно для небольших компаний и филиалов/удаленных офисов крупных организаций, где всю ИТ-инфраструктуру обслуживают один или два системных администратора, обладающих только базовыми знаниями по применению серверной виртуализации и не являющиеся экспертами по системам хранения.


Семейство систем HP CS200 было представлено осенью прошлого года. Оно использовало сверхплотную серверную систему восьмого поколения HP ProLiant SL2500 с процессорами Intel Xeon E5-2600 v2. Начиная с сентября 2014 года, когда на рынок вышли первые модели ProLiant Gen9, HP постепенно обновляет все свои серверы стандартной архитектуры. В августе нынешнего года HP вывела на рынок новую версию гиперконвергентной системы HP Converged System 250-HC StoreVirtual (CS250), аппаратной основой которой стала  сверхплотная серверная система девятого поколения HP Apollo 2600 на базе серверных узлов ProLiant XL170r Gen9 с процессорами Xeon E5-2600 v3.
сегодня в 15:05

Самый простой и самый сложный Builder на Java

JAVA*

Один из часто рассматриваемых паттернов — паттерн Builder.
В основном рассматриваются варианты реализации «классического» варианта этого паттерна:
MyClass my = MyClass.builder().first(1).second(2.0).third("3").build();
Паттерн прост и понятен как табурет, но чувствуется какая-то недосказанность — то минимальный вариант объявляется антипаттерном, то более сложные случаи игнорируются. Хотелось бы исправить этот момент, рассмотрев предельные случаи и определив минимальную и максимальную границы сложности этого паттерна.
Итак, расссмотрим их:
1540
12
сегодня в 12:47

Игра на чистой Java от новичка, для новичков из песочницы

Я начинающий программист на Java, и путь мой пройден тысячами.



Сначала идет долгий и мучительный выбор Самой Правильной Книги, затем первый восторг от работы перепечатанных из нее листингов программ. Затем осознание растущей крутости и профессионализма. Падение в яму собственного ничтожества, при попытке написать что-то самостоятельно. И долгий путь наверх.

В моем случае Самой Правильной Книгой стал двухтомник «Java. Библиотека профессионала.» за авторством Кея Хорстманна и Гари Корнелла, а самой первой книгой, которая открыла дверь в мир Java – Яков Файн «Программирование на Java для детей, родителей, дедушек и бабушек».
Чтобы закрепить пытающиеся разбежаться знания, которые упорно пытались сбежать из головы, я решил написать простую игру. Основная задач была в том, чтобы писать без применения сторонних библиотек.
2452
35
сегодня в 14:17

Мультиплатформенный аудио плеер на C++ и OpenAL

Привет Хабр!

Так сложилось, что большую часть жизни я пользовался Windows и привык воспроизводить аудио файлы с помощью Winamp. Он очень удобно интегрируется с командной строкой — запустил любой аудио файл и готово. После перехода на Linux и OS X (в основном по работе, но Mac использую и дома вместе с виндой) возникла острая необходимость найти альтернативу. Перепробывал большое количестко крафических плееров. Основная их проблема — это отсутствие нормальной интеграции с командной строкой и часто поддержка только одной из платформ: либо Linux, либо OS X. С консольными плеерами ситуация получше: mpg123 и mpg321 практически идеально делают именно то, что надо. Вот только появилось одно большое «но». Они не умеют играть .ogg и трекерную музыку (.it, .mod, .xm, .s3m и прочие), которой тоже накопилось достаточно и расставаться с ней совершенно не хотелось.

763
13
сегодня в 14:56

Карстен Ноль: корпорации против людей, угрозы USB и недостатки биометрии



В издании Atlas Obscura вышло интервью немецкого специалиста по шифрованию и защите данных Карстена Ноля. Этот эксперт занимается самыми разными проектами в области информационной безопасности — от разработки «USB-презерватива» до помощи в организации защищенного подключения миллиарда новых пользователей к интернету в Индии. Мы представляем вашему вниманию основные мысли из разговора с Карстеном.
сегодня в 12:24

Осенняя встреча Rambler.iOS

image

Пришла осень, астрологи предсказали пору повышенной активности мобильных разработчиков — и 24 сентября мы готовы провести новую встречу Rambler.iOS, официально под номером четыре.
717
6
сегодня в 10:03

Скрипт для подсчета места, занимаемого виртуальными машинами Hyper-V

Недавно я обнаружил расхождение данных о занимаемом виртуальными машинами дисковом пространстве, отображаемых в консоли System Center Virtual Machine Manager с данными, полученными при помощи Get-SCVirtualMachine и решил выяснить, в чем дело. Данные о занимаемом дисковом пространстве я получал при помощи распространенного командлета Get-SCVirtualMachine. Для этого я использовал цикл, в котором перебирал все виртуальные машины и накапливал размер их дисков в переменной:

$totalhdd = 0
$vms =  Get-SCVirtualMachine  #| where {$_.Name -eq "VM Name"} # Для отладки 
foreach ($vm in $vms) {          
    $totalhdd += ($vm.VirtualHardDisks.Size -as [double]) / 1TB}  
}

Похожие конструкции многократно тиражируются на форумах technet и во всяких блогах, поэтому сомнений в их корректности у меня не возникало.
941
12
Botkin 4,0
сегодня в 12:28

Вертикальные отступы между колонками с помощью Sass на примере bootstrap сетки

Практически любой сайт не обходиться без блоков потоковых элементов, таких как: список новостей, товаров, фотографий галереи. Такие элементы в основном выводятся шаблонизатором в цикле, занимают равное число колонок и непредвиденное количество строк. Если такие элементы переходят на вторую строчку, то между ними нужно предусмотреть вертикальные отступы, что бы они не сжимались. Даже если на макете дизайнер для красоты вывел только один ряд, на верстке обязательно нужно предусмотреть увеличение числа таких элементов
956
17
сегодня в 14:36

Фурье-вычисления для сравнения изображений

Традиционная техника “начального уровня”, сравнения текущего изображения с эталоном основывается на рассмотрении изображений как двумерных функций яркости (дискретных двумерных матриц интенсивности). При этом измеряется либо расстояние между изображениями, либо мера их близости.
Как правило, для вычисления расстояний между изображениями используется формула, являющаяся суммой модулей или квадратов разностей интенсивности
d(X,Y) = SUM ( X[i,j] — Y[i,j] )^2

Если помимо простого сравнения двух изображений требуется решить задачу обнаружения позиции фрагмента одного изображения в другом, то классический метод “начального уровня”, заключающийся в переборе всех координат и вычисления расстояния по указанной формуле, как правило, терпит неудачу практического использования из-за требуемого большого количества вычислений.
Одним из методов, позволяющих значительно сократить количество вычислений, является применение Фурье преобразований и дискретных Фурье преобразований для расчёта меры совпадения двух изображений при различных смещениях их между собой. Вычисления при этом происходят одновременно для различных комбинаций сдвигов изображений относительно друг друга.
Наличие большого числа библиотек, реализующих Фурье преобразований (во всевозможных вариантах быстрых версий), делает реализацию алгоритмов сравнения изображений не очень сложной задачей для программирования.
сегодня в 10:01

Сколько загрузок нужно для ТОП-10 бесплатных игр App Store из песочницы

Наверняка многим разработчикам, чьи приложения давно не попадали на высокие места в рейтингах App Store, будет интересно узнать, сколько же загрузок нужно получить, чтобы туда попасть. Постараюсь ответить на этот вопрос в меру своих возможностей. Недавно мне удалось продвинуть свою игру в ТОП-10 бесплатных игр российского App Store, и я хочу рассказать о том, сколько же инсталлов для этого понадобилось.

К сожалению, совсем уж точный ответ не обещаю. Так получилось, что из-за досадного бага в игре не работала аналитика. Но и без этого можно приблизительно прикинуть, сколько же скачиваний нужно было для ТОП-10 в начале августа.



Как видно из скриншота выше, за первые 3 дня игра была получила 11000 инсталлов, но 6,5 тысяч из них пришлись на 3-й день. При этом игра попала на 7-е место в рейтинге бесплатных игр на iPhone в 17:00 1 августа. После этого никакого пиара уже не было, а учитывая, что приведенная статистика загрузок считается по тихоокеанскому времени, то как минимум половину, а скорее всего даже больше загрузок можно считать органическими. Также стоит учесть, что для 7-го места нужно больше инсталлов, чем для 10-го. С учетом всего этого можно сделать вывод, что в начале августа для ТОП-10 бесплатных игр нужно было порядка 6-7 тысяч загрузок за 3 дня.

2292
13
Dics 4,0