Game Engine
Проектируем, пишем, думаем рассуждаем, читаем и многое другое
Внимание: статьи содержат много костылей!
Читать полностью »
Метка «c++»
Game Engine своими руками на с++. Часть 1 (Вступление)
2017-07-28 в 17:03, admin, рубрики: c++, Анализ и проектирование систем, разработка игр, метки: architecture, c++, game engine, GamedevВзгляд снизу вверх или Ubuntu Server для разработчика электроники. Часть 1
2017-07-26 в 13:08, admin, рубрики: c++, Программирование, Разработка под Linux, метки: c++, daemon, ethernet, ftdi, ubuntu server, usb 3.0При решении задач электроники все методы хороши, если они устраивают ТЗ, бюджет и разработчика. Linux был мне неизвестен, но вместе с задачами, которые решаешь, растешь и сам. Этот пост расскажет о том, как применить компьютер с Ubuntu для связи большого компьютера с контроллером в соответствии со схемой:
Статья описывает практику применения описанной техники и не ставит целью охватить все глубины и возможности современной аппаратуры. Это один из вариантов решения поставленной задачи.
Читать полностью »
Как generic-и нас спасают от упаковки
2017-07-03 в 2:44, admin, рубрики: C#, метки: boxing, c++, genericsПри заходе в метод мы часто выполняемым проверку на null. Кто-то выносит проверку в отдельный метод, что бы код выглядел чище, и получается что то такое:
public void ThrowIfNull(object obj)
{
if(obj == null)
{
throw new ArgumentNullException();
}
}
И что интересно при такой проверке, я массово вижу использование именно object атрибута, можно ведь воспользоватся generic-ом. Давайте попробуем заменить наш метод на generic и сравнить производительность.
Вычисляем животное китайского календаря
2017-04-19 в 17:40, admin, рубрики: .net, C#, tdd, математика, метки: c++, tdd, дядюшка Боб, китайский календарь, китайцы, тестированиеКак определить, какое животное китайского кругового календаря соответствует любому году? Для начала, обнаружим некоторые закономерности.
Пусть М = некоему набору исторических годов:
int[] M = { 1905,1917,1941,1953,1989,2001,2013,2025,2241 };
Тогда, для него справедлив следующий тест:
//((1))
// Набор специальных исторических годов M
static int[] GetSpecialHistoryYears() {
int[] M = { 1905,1917,1941,1953, 1989,2001,2013,2025, 2241 };
return M;
}
//((2))
// Проверяем математические закономерности годов M
[Test]
protected void SpecialHistoryYearsMath() {
int[] M = GetSpecialHistoryYears();
// A и B - индексы массива
// вкладывая A в B мы получаем возможность брать любую пару в массиве M.
for( int A = 0; A < M.Length; A++ ) {
for( int B = 0; B < M.Length; B++ ) {
// разница любой пары в наборе кратна 12
Assert.AreEqual( 0, Math.Abs(M[A]-M[B]) % 12,
"Expected 12x differrence" );
}
}
}
Моя модернизация Byndyusoft.Infrastructure | DDD + CQRS + WebApi
2017-04-06 в 1:56, admin, рубрики: .net, C#, метки: .net, c++, castle.windsor, cqrs, DDDВсем привет! Я часто ищу в просторах интернета «идеальную архитектуру» и несколько месяцев назад наткнулся на интересную реализацию и хотел бы поделится немного дополнив его.
Немного модернизации и я получил вполне универсальный рабочий шаблон.
Для всех, кто не знаком с DDD можно начать с wiki.
В конце мы получим связку с DDD + CQRS + Entity Framework + OData + WebApi + Log4Net + Castle Windsor + Kendo UI.
Читать полностью »
Arduino Uno для начинающих
2017-04-02 в 16:16, admin, рубрики: arduino, Программирование, Электроника для начинающих, метки: arduino uno, c++, подключение светодиоидов, электроникаДоброго времени суток всем тем кто читает эту статью. Мы будем говорить об Arduino Uno и я проведу маленький урок на примере одного «устройства» — полоска с мигающими светодиодами (два разных алгоритма). Сразу скажу, кто не знал, программировать на Arduino надо на С++ (Cpp).
Direct3D11 C# — Часть 1 — Создание окна и настройка проекта
2017-03-28 в 16:07, admin, рубрики: .net, C#, метки: .net, c++, Direct3D11Настройка проекта
В этой статье рассказ пойдет о создании окна и подключение SharpDX-библиотек. Мы будем использовать одну из библиотек SharpDX, а именно SharpDX.Window.
Читать полностью »
Простейший пул в Unity
2017-03-16 в 16:22, admin, рубрики: C#, unity3d, Программирование, разработка игр, метки: c++, unity, unity3d, пулПоскольку в Unity операции создания и удаления объектов являются затратными и при их использовании могут появляться микрофризы, по крайней мере, на мобильных устройствах, то желательно создавать объекты заранее и уже потом манипулировать менее дорогостоящими операциями. В данном примере будет описан простейший пул без подгрузки элементов при их нехватке, нехватка компенсируется созданием заранее достаточно большого количества объектов. Таким образом, мы избавляется от микрофризов ценой дольшей загрузки в начале и большего потребления памяти.Читать полностью »
Разработка платформы для анализа финансовых рынков
2017-03-16 в 13:16, admin, рубрики: 'feed page', метки: c++, алготрейдинг, трейдинг
В данной статье я описываю платформу для анализа финансовых рынков, которую разрабатываю. Я назвал ее MarketLab. Почему я решил ее создать, в чем ее особенности и конечная цель. Возможно, кому-то будет интересно присоединиться к проекту.
Читать полностью »
Генерирование PDF в ASP.NET Core
2017-03-14 в 12:30, admin, рубрики: .net, ASP, C#, метки: .net, .net core, ASP, asp.net core, c++, html, html to pdf, PDFДолго ли, коротко ли, вместе с новой Visual Studio 2017 в релиз вышел ASP.NET Core. Тулинг лишился приставки preview, как и все инфраструктурные сборки, поставляемые Microsoft'ом. На мой взгляд, фреймворк получился отличным, а история с cjproj=>xproj=>project.json=>csproj и поломанная совместимость при переходе с RC1 на RC2 — это всё же разумная плата за скорость развития. Ну да ладно, опустим дела минувших дней, и вернёмся к текущим реалиям.
А реалии таковы, что есть задачи, и есть инструменты которые их решают. В частности, передо мной встала задача генерирования PDF-документов средствами ASP.NET Core. «Хмм… Наверняка уже есть что-то готовое...», — подумал я. Как бы не так. Вернее готовые библиотеки для этого есть, но платные, а вот чего-то OpenSource'ного нет. «А как же iText?», — спросите вы. «AGPL», — ответит вам страничка с лицензией на гитхабе. Для OpenSource проектов бесплатно, а для коммерческого использования, извольте заплатить. Ну что ж, раз нет инструмента, решающего мою задачу, значит я сделаю его сам.
Читать полностью »