» Материалы за Май 2017 года

 

Странности Generic типов Java

Автор: admin от 31-05-2017, 23:05, посмотрело: 73

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


1


Например, мы знаем, что метод Class#getAnnotation параметризован и имеет следующую сигнатуру: public A getAnnotation(Class annotationClass). Значит, можно писать вот такой код:


Deprecated d = Object.class.getAnnotation(Deprecated.class);

Тут я решаю вынести Object.class в отдельную переменную и код перестаёт компилироваться:


Class clazz = Object.class;
// incompatible types:
// java.lang.annotation.Annotation cannot be converted to java.lang.Deprecated
Deprecated d = clazz.getAnnotation(Deprecated.class);

Где я ошибся?

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

 

Обзор изменений в новом мажорном релизе Node 8

Автор: admin от 31-05-2017, 22:55, посмотрело: 87

Обзор изменений в новом мажорном релизе Node 8

30 мая 2017 года в 23:00 по московскому времени вышел новый долгожданный мажорный релиз Node.js 8.0.0. Именно эта линейка версий за номером 8 в октябре 2017 перейдет в Long Term Support — цикл длительной поддержки. Предлагаю вашему вниманию небольшой обзор того огромного количества изменений и дополнений, вошедших в этот релиз.



  • npm 5 (lock-файл!)

  • V8 5.8

  • Node.js API (N-API)

  • async_hooks

  • WHATWG URL парсер

  • повышение безопасности буфера

  • упрощенная промисификация

  • статичные коды ошибок

  • и многое другое!

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

 

«За ту же функциональность, которую дает SQL Server, Oracle просит в 10 раз больше», — Константин Таранов о SQL Server

Автор: admin от 31-05-2017, 19:20, посмотрело: 130

Мы побеседовали с Константином Тарановым, разработчиком и администратором баз данных в компании Газэкономика, подразделения Газпром. Профессиональный стаж Константина составляет более 10 лет, в течение которых он поработал со всеми ключевыми реляционными СУБД, в результате чего остановил свой выбор на MS SQL Server. Константин обьяснил, почему SQL Server так привлекателен для решаемых в компании Газэкономика задач, и рассказал о наиболее полном в рунете наборе инструментов и полезных материалов для работы с SQL Server.

«За ту же функциональность, которую дает SQL Server, Oracle просит в 10 раз больше», — Константин Таранов о SQL Server

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

 

Сравнение Эльбрус-4С и Эльбрус-8С в нескольких задачах машинного зрения

Автор: admin от 31-05-2017, 18:55, посмотрело: 113

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


Сравнение Эльбрус-4С и Эльбрус-8С в нескольких задачах машинного зрения

Эльбрус-8С — новый 8-ядерный процессор МЦСТ с VLIW-архитектурой. Мы тестировали инженерный образец с частотой 1.3 ГГц. Возможно, в серийном выпуске она еще возрастет.

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

 

Безопасность в веб-разработке: чек-лист

Автор: admin от 31-05-2017, 18:20, посмотрело: 98

Светлана Шаповалова, редактор «Нетологии», адаптировала статью Michael O'Brien, в которой он составил чек-лист для веб-разработчиков, предпочитающих разрабатывать не только удобные, но и безопасные приложения.

Разработка безопасных и надежных облачных веб-приложений — очень, очень сложное дело. Если вы думаете иначе, вы либо не от мира сего, либо жизнь вас еще не проучила.

Если вы уже заразились идеей «минимально жизнеспособного продукта» (англ. MVP — minimum viable product, прим. перев.) и считаете, что за месяц можно создать одновременно полезный и безопасный продукт — подумайте дважды, прежде чем выпускать его. Просмотрев чек-лист, вы поймете, что оставляете немало уязвимостей.

Безопасность в веб-разработке: чек-лист

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

 

Анализ изменений в игре

Автор: admin от 31-05-2017, 18:00, посмотрело: 109

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

Еще до сборки нового продакшен-билда мы должны понимать, на какие показатели повлияет нововведение. Ведь в новых версиях игры может быть множество изменений баланса. Без предварительного планирования неизбежно возникнет один из таких вопросов: «Что же повысило ARPU в Канаде — локальные мероприятия в честь национального праздника или общее повышение сложности группы каких-то уровней; а может, просто звезды так совпали?». Безусловно, и после выхода апдейта выполняется всесторонний анализ результатов, но понимать характер изменений нужно заранее.

Анализ изменений в игре

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

 

Чип для умных камер ELISE — одно из самых высокотехнологичных изделий России 2017 года. Плата для разработчиков и камера

Автор: admin от 31-05-2017, 16:55, посмотрело: 66

У каждой российской микроэлектронной компании есть рассказ, почему она самая хорошая и передовая. По английски это называется «claim to fame» — «заявка на славу». Одни российские компании славятся оригинальной архитектурой CPU, другие — спроектированной в России системой на кристалле, третьи — спроектированными в России блоками, которые были лицензированы западными компаниями.

У российской компании ЭЛВИС (ELVEES), которая исторически специализировалась на космической электронике, DSP и хардверно-поддерживаемом распознавании образов, текущая «заявка на славу» выражена в совместном российско-британско-американско-тайваньском чипе для «умных камер» под названием ELISE. Инженеры в подмосковном Зеленограде спроектировали внутри этого чипа важные блоки для видео-обработки и GNSS, которые потом кросс-лицензировала британско-американская Imagination Technologies.

Блоки от элвисовцев интегрированы с тремя разнородными процессорными ядрами: двухядерным кластером суперскалярных ядер MIPS P5607 (Apache) с частотой 1.2 GHz, на котором работает Linux, процессором с аппаратно-поддерживаемой многопоточностью MIPS interAptiv (1 GHz) и небольшим вспомогательным процессором с аппаратно-поддерживаемой виртуализацией MIPS M5150 (Virtuoso).

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

На фотографиях ниже некоторые из инженеров-участников проекта. Девушка слева спроектировала часть load-store unit в MIPS P5607, юноша в зеленой майке написал модели интерфейсов шин, а товарищ в клетчатой рубашке — архитектор софтверной экосистемы:

Чип для умных камер ELISE — одно из самых высокотехнологичных изделий России 2017 года. Плата для разработчиков и камера

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

 

Роутеры, векторы атак и другие приключения шурика

Автор: admin от 31-05-2017, 16:35, посмотрело: 78

Роутеры, векторы атак и другие приключения шурика

Не так давно всего за один месяц свет увидели около 10 уязвимостей, связанных с получением root shell или админских учетных записей на домашних сетевых устройствах. Wi-Fi и 3G-роутеры с админскими учетками вокруг нас. Заплатив 50 $ за платный аккаунт на shodan.io, любой желающий получает доступ к десяткам миллионов IoT-устройств. В их числе роутеры, веб-камеры и прочие гаджеты. С другой стороны, разработчики и поставщики сетевых устройств не придают значения таким понятиям, как «тестирование» и «безопасность». Многие серьезные уязвимости остаются без патчей, а если патчи все-таки выходят, то пользователи не торопятся их применять. Что в результате? Легионы устройств ждут своего часа, чтобы быть взломанными и стать ботами для DDOS-атак.

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

 

Рецепты под Android: Scroll-To-Dismiss Activity

Автор: admin от 31-05-2017, 16:35, посмотрело: 53

Привет! Сегодня мы расскажем, как за минимальное количество времени добавить в свою Activity поведение Scroll-To-Dismiss. Scroll-To-Dismiss – это популярный в современном мире жест, позволяющий закрыть текущий экран и вернуться в предыдущую Activity.


Рецепты под Android: Scroll-To-Dismiss Activity


В один прекрасный день нам поступил реквест на добавление такой функциональности в одно из наших новостных приложений. Если вам интересно, как легко добавить такую функциональность в уже существующую Activity и избежать возможных проблем – добро пожаловать под кат.

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

 

Первоначальная настройка Puppet — не все так просто, как кажется

Автор: admin от 31-05-2017, 16:35, посмотрело: 70

Первоначальная настройка Puppet — не все так просто, как кажется


Всем привет! В данной статье хочу поделиться с вами впечатлениями от настройки Puppet для конфигурации Windows-серверов.


В целом, задача заключалась в следующем: требовалось организовать процесс автоматической доставки и установки патчей для обновления удаленных серверов. Выбирали из известных менеджеров конфигураций, главное требование к которым — поддержка Windows на высоком уровне. Сразу скажу, что от Puppet решили отказаться из-за высокого порога вхождения, pull подхода и необходимости знания Ruby. Но уж очень хочется поделиться тем, что получилось.

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

 
Назад Вперед