» Материалы за Январь 2015 года » Страница 7

 

Как виртуальная реальность пришла в проект на Unity

Автор: admin от 28-01-2015, 10:30, посмотрело: 631

«Веяния моды привносят в жизнь новые проблемы заставляют меняться» Наверно именно от этой мысли было принято решение подключить в проект на Unity, шлем виртуальной реальности, всем известный Oculus Rift DK2. Вопреки суровому прощупыванию рублем финансового дна удалось заказать Oculus Rift с доставкой в Санкт-Петербург по адекватной цене. Оперативно, менее чем за две недели, заказ прибыл в стены нашего офиса.

Как виртуальная реальность пришла в проект на Unity

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

 

Не используйте MediaPlayer и MediaMetadataRetriever в Android

Автор: admin от 28-01-2015, 10:28, посмотрело: 510

Как показывает мой скромный опыт, родные MediaPlayer, MediaMetadataRetriever, а так же другие классы, которые так или иначе основываются на них (VideoView, ThumbnailUtils, к примеру), являются крайне ненадежными в использовании. Возможно, проблема в том, что они реализованы нативно, и меняются от версии к версии, но факт остается фактом — их поведение на разных устройствах предсказать невозможно, причем это даже не зависит от мощности железа.

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

 

Sass-архитектура вашего проекта

Автор: admin от 28-01-2015, 10:21, посмотрело: 450

Существуют разные подходы для организации sass-архитектуры, какую бы вы не выбрали, главное, чтобы она была.

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

Bem, Smacss, Oocss, Organic-css должны давать вам гибкость мысли, чтобы построить свой проект.

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

 

Arduino & Modbus

Автор: admin от 28-01-2015, 09:57, посмотрело: 4832

В предыдущей статье мы соединили открытую платформу домашней автоматизации OpenHAB с контроллером Arduino использовав очень простой, текстовый протокол. Но это решение поставит нас в тупик, если мы захотим подключить наш контроллер к другой системе, что же делать?

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

Что нам необходимо знать об этом стандарте?
Протокол Modbus использует последовательные линии связи (например, RS232, RS485), а протокол Modbus TCP рассчитан на передачу данных по сетям TCP/IP.
Протокол Modbus имеет два режима передачи RTU и ASCII, в режиме ASCII каждый байт передается как два ASCII символа его шестнадцатеричного представления.
В сети Modbus есть только один ведущий, который с заданным интервалом опрашивает несколько ведомых устройств, каждое из которых имеет свой уникальный адрес от 1 до 254, адрес 0 широковещательный и на него отвечают все устройства, так как ведущий в сети один у него нет своего адреса.
В спецификации Modbus определено два типа данных, один бит и 16 битное слово. Данные организованны в четыре таблицы с 16 битной адресацией ячеек, адресация в таблицах начинается с 0. Для доступа к данным из разных таблиц предназначены отдельные команды.





















Discrete Inputs1 биттолько чтение
Coils1 битчтение и запись
Input Registers16 биттолько чтение
Holding Registers16 битчтение и запись

Как нам подключить Modbus устройство к OpenHAB?

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

 

YouTube отказался от Flash в пользу HTML5 по умолчанию

Автор: admin от 28-01-2015, 09:47, посмотрело: 1824

Команда разработчиков YouTube объявила о том, что теперь HTML5 будет стандартом по умолчанию для проигрывания роликов, вместо Flash. HTML5 будет использоваться для проигрывания содержимого сервиса на веб-браузерах Google Chrome, MS IE11, Apple Safari 8 и бета-версий Mozilla Firefox. Еще несколько лет назад YouTube запустил экспериментальную версию проигрывателя на HTML5 для устройств или OS, которые не поддерживают Flash Player или просто не хотят его использовать (например, iOS).

YouTube отказался от Flash в пользу HTML5 по умолчанию

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

 

Современное продвижение бренда в сети Интернет

Автор: admin от 28-01-2015, 08:43, посмотрело: 5780

На сегодняшний день любой предприниматель старается развиваться во всех сферах воздействия на потребителя. Это может быть как реальная жизнь, так и виртуальная. Как показала статистика, наибольшей популярностью пользуется продукция в интернете. На страницах многочисленных интернет-ресурсов представлен ее довольно большой ассортимент. Покупателю есть из чего выбрать. Но как среди такого изобилия виртуальных продавцов выделиться? С такой проблемой сталкивается каждый начинающий предприниматель. Он старается снижать цены на свою продукцию, организовывает различные распродажи и акции. В некоторых случаях это помогает, а в некоторых – нет. В этой сфере на помощь приходят настоящие специалисты, которые определяют курс продвижения продукции и, как правило, имеют для этого все необходимые инструменты. Для постоянных клиентов есть программа лояльности.

Категория: Статьи

 

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 5 из 6

Автор: admin от 28-01-2015, 01:15, посмотрело: 658

Содержание основного курса



  • Статья 1: алгоритм Брезенхэма

  • Статья 2: растеризация треугольника + отсечение задних граней

  • Статья 3: Удаление невидимых поверхностей: z-буфер

  • Статья 4: Необходимая геометрия: фестиваль матриц

    • 4а: Построение перспективного искажения

    • 4б: двигаем камеру и что из этого следует


  • Статья 5: Пишем шейдеры под нашу библиотеку

  • Статья 6: Чуть больше, чем просто шейдер: просчёт теней



Улучшение кода



  • Статья 3.1: Настала пора рефакторинга

  • красивый класс матриц

  • как работает новый растеризатор




Пришла пора веселья, давайте для начала смотреть размер текущего кода:

  • geometry.cpp+.h — 218 строк

  • model.cpp+.h — 139 строк

  • our_gl.cpp+.h — 102 строки

  • main.cpp — 66 строк



Итого 525 строк. Ровно то, что я обещал в самом начале курса. И заметьте, что отрисовкой мы занимаемся только в our_gl и main, а это всего 168 строк, и нигде мы не вызывали сторонних библиотек, вся отрисовка сделана нами с нуля!
Я напоминаю, что мой код нужен только для финального сравнения с вашим работающим кодом! По-хорошему, вы всё должны написать с нуля, если следуете этому циклу статей. Очень прошу, делайте самые безумные шейдеры и выкладывайте в комментарии картинки!!!

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 5 из 6

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

 

Ансамбль синапсов – структурная единица нейронной сети

Автор: admin от 28-01-2015, 00:22, посмотрело: 709

Ансамбль синапсов – структурная единица нейронной сети

В мае прошлого года сотрудники лаборатории глубокого обучения Гугла и учёные из двух американских университетов опубликовали исследование «Intriguing properties of neural networks». Статья о нём вольно пересказывалась здесь на Хабре, и само исследование также критиковалось специалистом из ABBYY.

Гугловцы в результате своих исследований разочаровались в способностях нейронов сети распутывать признаки входных данных и стали склоняться к мысли, что нейронные сети не распутывают синтаксически значимые признаки по отдельным структурным элементам, а хранят их во всей сети в целом как в голограмме. В нижней части иллюстрации к этой статье чёрно-белыми я привёл карты активации 29, 31 и 33-его нейронов сети, которую обучил рисовать картинку. То, что тушка птицы без головы и крыльев, изображаемая для примера 29-ым нейроном, покажется людям синтаксически значимым признаком гугловцы считают всего лишь ошибкой интерпретации наблюдателя.

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

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

 

Xcode 6 Objective-C Modernization Tool

Автор: admin от 27-01-2015, 23:52, посмотрело: 594

Уже довольно давно в Xсode есть возможность проверить свой код на соответствие современным особенностям Objective-C (Edit > Refactor > Convert to Modern Objective-C Syntax…). Мне всегда было интересно наблюдать за тем, что Apple продвигает в качестве хорошей практики; и даже если вы не доверяете Xcode автоматически изменять код, это простой способ проверить его на возможность внесения потенциальных улучшений.

Xcode 6 представляет несколько нововведений, а кроме того, гораздо большую гибкость, позволяя самостоятельно контролировать, какие преобразования запускать:

Xcode 6 Objective-C Modernization Tool

К сожалению, из описания преобразования не всегда очевидно, что оно делает. Некоторые полезные подробности можно прочитать в руководстве Adopting Modern Objective-C а также посмотреть на WWDC 2014 Session 417 What’s New in LLVM. Эта статья содержит мои заметки по каждому из преобразований.

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

 

Эволюция SAAS конструкторов сайтов

Автор: admin от 27-01-2015, 23:02, посмотрело: 478

Первые конструкторы появились около 15 лет назад. Не так давно, но и не недавно, учитывая, что первый сайт появился в девяносто первом. С тех пор они претерпели немало изменений и сейчас большинство конструкторов работают по SaaS модели (англ. Site as a Service — сайт как сервис/услуга). Это значит, что сайт можно создать с помощью веб-приложения, которое разрабатывается и поддерживается поставщиком услуг, который сам следит за его работоспособностью и занимается обновлением ПО и оборудования. Поддержание работоспособности системы, техническая поддержка и иногда некоторые другие работы входят в оплату, которая обычно взимается с клиентов помесячно. При этом конечный пользователь не приобретает лицензию на программу, что позволяет ему значительно сэкономить. Но при этом нужно понимать, что конструктор – это, по сути, аренда сайта, а не его покупка.

Эволюция SAAS конструкторов сайтов

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