» Последние публикации на сайте » Страница 6

 

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 3

Автор: admin от 16-07-2018, 14:00, посмотрело: 19

Как я стандартную библиотеку C++11 писал или почему boost такой страшный. Глава 3

Краткое содержание предыдущих частей



Из-за ограничений на возможность использовать компиляторы C++ 11 и от безальтернативности boost'у возникло желание написать свою реализацию стандартной библиотеки C++ 11 поверх поставляемой с компилятором библиотеки C++ 98 / C++ 03.



Были реализованны static_assert, noexcept, countof, а так же, после рассмотрения всех нестандартных дефайнов и особенностей компиляторов, появилась информация о функциональности, которая поддерживается текущим компилятором. На этом описание core.h почти закончено, но оно было бы не полным без nullptr.



Ссылка на GitHub с результатом на сегодня для нетерпеливых и нечитателей:



Коммиты и конструктивная критика приветствуются


Итак, продолжим.

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

 

Создатель игры while True: learn() о программировании в геймдеве, проблемах с VR и симуляции ML

Автор: admin от 16-07-2018, 12:20, посмотрело: 20

Создатель игры while True: learn() о программировании в геймдеве, проблемах с VR и симуляции ML


Несколько лет назад мне казалось, что Олег Чумаков (тогда еще из Nival) был самым известным программистом геймдева. Постоянно выступал, проводил Gamesjam, был частым гостем подкаста Как делают игры.



С появлением на рынке VR, Олег возглавил в компании новое подразделение — NivalVR. Но вы все знаете, с виртуальной реальностью что-то пошло не так, как хотелось.



Я на долгое время отвлекся от геймдева, а взглянув снова, увидел — у команды Олега дела стали только интереснее. Теперь она называется Luden.io и их симулятор специалиста по машинному обучению while True: learn() стал хитом в своей нише, вокруг него творится куча крутых историй.



Мы поговорили с Олегом, но я не смог выбрать только одну тему — слишком уж насыщен и разнообразен был его путь. А чтобы программист говорил о программировании не боясь быть непонятым, беседу поддержал мой друг, коллега и опытный разработчик fillpackart.

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

 

Angular: Создаем multiple checkbox компонент, который подойдет для повторного использования

Автор: admin от 16-07-2018, 11:20, посмотрело: 24

Давайте создадим Angular компонент для создания множества checkbox из определенной логической группы. Компонент будет написан с идей повторного использования. Что это значит? Приведем пример ниже:



Представьте что перед вами задача сделать редактирование пользователей. При редактвровании обычно открывается форма со всеми полями. Пользователь может иметь одну или множество ролей из списка «Adimin», «Director», «Professor», «Student».



Для реализации множественного выбора ролей было решено нарисовать на форме по одному checkbox для каждой роли. Ставя галочки или снимая роли пользователя будут меняться.

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

 

Flutter.io закопать или сжечь?

Автор: admin от 16-07-2018, 11:20, посмотрело: 32

Flutter.io закопать или сжечь?


У нас был GitHub, DockerHub, VisualParadigm и целое множество мессенджеров всех цветов и фасонов, а также Sails.js, MongoDB и Trello. Не то чтобы это был необходимый запас для разработки, но если начал делать модно, стильно, молодёжно, то становится трудно остановиться. Единственное, что вызывало у меня опасение — это мобильное приложение. Нет ничего более беспомощного, безответственного и порочного, чем кроссплатформенное мобильное приложение. Я знал, что рано или поздно мы перейдем и на эту дрянь.

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

 

Запускаем LDA в реальном мире. Подробное руководство

Автор: admin от 16-07-2018, 11:00, посмотрело: 26

Предисловие



На просторах интернета имеется множество туториалов объясняющих принцип работы LDA(Latent Dirichlet Allocation — Латентное размещение Дирихле) и то, как применять его на практике. Примеры обучения LDA часто демонстрируются на "образцовых" датасетах, например "20 newsgroups dataset", который есть в sklearn.



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




  • Много выбросов.

  • Неправильная разметка(если она есть).

  • Очень сильные дисбалансы классов и 'некрасивые' распределения каких-либо параметров датасета.

  • Для текстов, это: грамматические ошибки, огромное кол-во редких и уникальных слов, многоязычность.

  • Неудобный способ харнения данных(разные или редкие форматы, необходимость парсинга)



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

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

 

Дисней представила собственную систему анимации волос HairControl

Автор: admin от 16-07-2018, 11:00, посмотрело: 17

Одна из самых сложных проблем современной 3D-анимации до сих пор заключается в такой, на первый взгляд, простой вещи, как отрисовка волос. На самом деле создание прически — это одна из наиболее сложных и трудоемких операций, которую можно себе вообразить. Анимационные и игровые студии уже достаточно давно научились использовать реальных актеров для снятия их движений и придания реалистичности действиям персонажей. Тоже касается и животного мира, когда речь идет о «звериных» анимационных фильмах, даже если персонажей делают антропоморфными (как, например, в «Зверополисе»). Но если анимация шерсти или коротких «полубокс» стрижек еще кое-как дается художникам, то с длинными женскими прическами все крайне и крайне неоднозначно. По этой причине многим студиям и проектам приходится отказываться от реализма в своих работах и использовать более простую, «мультяшную» рисовку.





Компания Дисней (с учетом ее имперских амбиций на рынке) с таким подходом мириться не хотела, поэтому несколько дней назад публике был представлен новый метод трекинга и управления поведением волос анимационных персонажей. При этом разработка применима как и для рынка анимационных фильмов, так и для рынка геймдева. Основное отличие новой системы от устоявшихся практик: отказ от создания сетки «локонов» и переход к динамической системе с «якорями». В своем релизе специалисты Дисней рассказывают о новой системе генерации волос, которая базируется на принципе взаимодействия с центром масс и опорных точек внутри локонов.

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

 

Создание мультяшного шейдера воды для веба. Часть 3

Автор: admin от 16-07-2018, 10:50, посмотрело: 23

Создание мультяшного шейдера воды для веба. Часть 3


Во второй части мы рассмотрели плавучесть и линии пены. В этой последней части мы применим как эффект постобработки подводные искажения.



Преломление и эффекты постобработки



Наша цель заключается в визуальной передаче преломления света в воде. Мы уже рассказывали, как создавать такой тип искажений во фрагментом шейдере для 2D-сцены. Здесь единственное отличие заключается в том, что нам нужно понять, какая область экрана находится под водой, и применить искажение только к ней.



Постобработка



В общем случае эффект постобработки — это любой эффект, применяемый к всей сцене после её рендеринга, например, оттенки цвета или эффект старого ЭЛТ-экрана. Вместо рендеринга сцены непосредственно на экран, мы сначала рендерим её в буфер или текстуру, а затем, пропустив сцену через свой шейдер, выполняем рендеринг на экран.

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

 

Реализация голосового справочника на базе YandexSpeechKit

Автор: admin от 16-07-2018, 10:50, посмотрело: 25

На просторах интернета представлены различные реализации, но, на мой взгляд, все они достаточно простые. Хочу представить свой вариант голосового справочника под астериск.



Примечание: я не являюсь профессиональным программистом, и, возможно, некоторые решения могут показаться вам дикими. Некоторые приемы могут быть устаревшими. Я готов принять критику и исправить систему к лучшему.



Краткое описание возможностей:



Пользователь попадает в IVR, произносит свой запрос и, в большинстве случаев, попадает туда, куда ему надо. К системе также прикручена статистика с записью в таблицу mysql.

Коротко о компании и сети, в которой развернута данная система:

~1000 телефонов, около 50 отделов

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

 

Может ли хакер заблокировать Ла-Манш?

Автор: admin от 16-07-2018, 10:50, посмотрело: 22

Может ли хакер заблокировать Ла-Манш?


Оказывается, судоходные маршруты подвержены серьезному риску со стороны хакеров: устаревшие ИТ-системы на борту кораблей в сочетании с современными IoT-устройствами дают кибер-преступникам шансы на успех.

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

 

Новинки ASUS ROG на Computex 2018

Автор: admin от 16-07-2018, 10:50, посмотрело: 19

Новинки ASUS ROG на Computex 2018


На выставке Computex 2018 произошло большое расширение портфолио ASUS ROG. Кроме обновления уже существующих девайсов, на выставке были представлены устройства, которые ранее не выходили под брендом Republic Of Gamers. Мы собрали все интересные новинки и анонсы в этом отдельном материале.

Категория: Game Development