Ми вирішили в міру своїх сил регулярно шукати і усувати уразливості і баги в різних проектах. Можна назвати це допомогою open-source проектів. Можна — різновидом реклами або тестуванням аналізатора. Ще варіант — черговий спосіб залучення уваги до питань якості та надійності коду. Насправді, не важливо назва, просто нам подобається це робити. Назвемо це незвичайним хобі. Давайте подивимося, що цікавого було виявлено в коді різних проектів на цьому тижні. Ми знайшли час зробити виправлення і пропонуємо вам ознайомитися з ними.

Читати далі →



Зміст:
  1. Оптимізація розміру ігри
  2. Бандли і завантажувані ресурси. Що потрібно від системи?
  3. Дифы маніфесту
  4. Економія на кодогенерации
Ми пройшли екватор циклу про створення MMO RTS. Сьогоднішня стаття присвячена оптимізації.

Читати далі →

Ми раді повідомити вам про те, що завершилася пленарна доповідь онлайн-трансляції запуску Visual Studio 2017, на якому провідні інженери і керівники Microsoft представили майбутнє інструментів розробки і довгоочікувана Visual Studio 2017 стала доступна для розробників по всьому світу!



Читати далі →


Доброго часу, Хабр!

Купа часу пройшло з того моменту, як я написав свою першу статтю, і вже майже рік з того моменту, як прийшла в голову ідея для другої. В силу багатьох обставин (в першу чергу – ліні і забудькуватості), ця ідея так і не була реалізована раніше, але зараз я зібрався, написав весь цей матеріал і готовий представити його вашій увазі.

Почну з невеликої вступної. Будучи студентом 4-го, на той момент, курсу бакалаврату, я вивчав курс «Комп'ютерна графіка». Багато там було різних цікавих (і не дуже) завдань, але одне прямо особливо запало мені в душу: інтерполяцію кубічними сплайнами із заданими першими похідними на кінцях інтервалу. Користувач повинен був задавати значення перших похідних, а програма — вважати і виводити на екран интерполяционную криву. Особливість і основна складність завдання полягає в тому, що задаються саме перші похідні, а не другі, як у класичній постановці сплайн-інтерполяції.
Як я її вирішував, і до чого воно в підсумку прийшов, я як раз і викладу в цій статті. І так, якщо за описом завдання ви не зрозуміли ні в чому її сенс, ні в чому складність, не переживайте, все це я також постараюся розкрити. Отже, поїхали.

А, ні, стривайте один момент. Ось вам два числових ряду:
a) 2, 4, 6, 8, ?
b) 1, 3, ?, 7, 9

Які числа повинні стояти на місці питань і чому? Ви дійсно впевнені у своїй відповіді?

Читати далі →

У минулій статті ми розглянули питання з підключенням нативних SDK від Facebook у ваших додатках на Xamarin.Forms зручною для авторизації користувачів. Сьогодні, як і обіцяли, розглянемо підключення нативних SDK для соціальної мережі ВКонтакте. Новий SDK буде підключатися до проекту, який ми описували в минулій статті.



Читати далі →

Як відомо, в .Net Core, на даний момент, немає AppDomain, а WCF тільки SOAP клієнт .Net Core, WCF і ODATA клієнти.

Звичайно, завдання можна вирішити і через Web Api з WebSockets для виклику подій. Але, я просто пропоную альтернативне рішення на маршалинге по TCP/IP і створення об'єктів, і виклик методів на стороні сервера за допомогою Reflection.

Ось як виглядає віддалений виклик методів і властивостей. Приклад взято звідси Основи перевантаження операторів:

// Виведемо повідомлення в консолі сервера
string typeStr = typeof(Console).AssemblyQualifiedName;
var _Console = wrap.GetType(typeStr);// Отримаємо тип на сервері по імені
// "Hello from Client" буде виведено в консолі сервера
_Console.WriteLine("Hello from Client");

// отримаємо тип по імені класу TestDllForCoreClr.MyArr
// Із збірки TestDll.dll
var MyArr = wrap.GetType("TestDllForCoreClr.MyArr", "TestDll");

// Створимо об'єкти на стороні сервера
// і отримаємо посилання на них
var Point1 = MyArr._new(1, 12, -4); // new MyArr(1, 12, -4);
var Point2 = MyArr._new(0, -3, 18); // new MyArr(0, -3, 18);

// Всі операції з об'єктами PointX відбуваються на стороні сервера
Console.WriteLine("Координати першої точки: "+Point1.x+" "+Point1.y+" "+Point1.z);
Console.WriteLine("Координати другої точки: "+Point2.x+" "+Point2.y + " "+ Point2.z);

var Point3 = Point1 + Point2;
Console.WriteLine("\nPoint1 + Point2 = " + Point3.x + " " + Point3.y + " " + Point3.z);
Point3 = Point1 - Point2;
Console.WriteLine("Point1 - Point2 = "+ Point3.x + " " + Point3.y + " " + Point3.z);
Point3 = -Point1;
Console.WriteLine("-Point1 = " + Point3.x + " " + Point3.y + " " + Point3.z);
Point2++;
Console.WriteLine("Point2++ = "+ Point2.x + " " + Point2.y + " " + Point2.z);
Point2--;
Console.WriteLine("Point2-- = " + Point2.x + " " + Point2.y + " " + Point2.z);

Читати далі →



Привіт! Мене звуть Паша Матлашов. Я Director of Game Server Development Department в ігровій компанії Plarium.

Сьогодні на прикладі наших проектів я розповім про особливості кешування, підводних каменях і про те, як їх обійти.

Читати далі →

Media Portal 2 — це відкрите програмне забезпечення класу медіа-центр, який дозволяє дивитися відео, фотографії, слухати музику і багато іншого. Для нас, розробників статичного аналізатора PVS-Studio, це ще одна можливість перевірити цікавий проект, розповісти людям (і розробникам в тому числі) про знайдені помилки і, в свою чергу, ще раз показати можливості нашого аналізатора.

<img src=«www.viva64.com/media/images/content/b/0481_Media_Portal/image1.png» alt=«Picture » 9"/>

Читати далі →