Обновить
44
Артем Навроцкий@Bozaro

Программист

12
Подписчики
Отправить сообщение

Git LFS решает только проблему хранения blueprint-ов в Git.
Проблема просмотра изменений и слияния остаётся не решенной.

В общем случае — проковырять дырку нельзя.
Могу порекомендовать посмотреть в сторону:


Например: GRE не использует порты.

наименование стандарта, SQL:2011, он же ISO/IEC 9075:2011, все-таки упоминается в тексте, пускай и без прямой ссылки

Извиняюсь, если я был не правильно понят.
Когда я говорил про отсутствие наименования стандарта, речь шла про статью: http://ocelot.ca/blog/blog/2013/09/30/sometimes-mysql-is-more-standards-compliant-than-postgresql/

Статья все равно жёлтая: обсуждение соответствия стандарту без ссылок не то что, на сам стандарт, а даже на его название.

У меня, кстати, сложилось впечатление, что ни одна СУБД полностью не соответствует SQL стандарту.


Касательно статьи, можно упомянуть более простой случай, где MySQL не соответствует SQL92.
Речь идет про абзац:


13.9 <update statement: positioned>

6) The <value expression>s are effectively evaluated before updat-
   ing the object row. If a <value expression> contains a reference
   to a column of T, then the reference is to the value of that
   column in the object row before any value of the object row is
   updated.

И иллюстрируется запросом:


UPDATE foo SET a = b, b = a WHERE id = 42;

Беда в том, этот запрос в MySQL эквивалентен:


UPDATE foo SET a = b, b = b WHERE id = 42;

У нас получился следующий алгоритм:


  • blueprint-ы всегда редактирует кто-то один;
  • избегаем blueprint-ы с логикой (прототип в blueprint, потом переносится в C++);
  • стараемся blueprint-ы использовать только как dataonly.

При этом бинарные формат имеет еще одну проблему: там лежит много мусора, который никто не видит.


К примеру, я бы предпочёл видеть за пределами ассетов:


  • предрасчитанное освещение карты;
  • предрасчитанный навигационный граф;
  • скомпилированный байт-код blueprint-ов.

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


Утилиты просмотра и слияния изменений, которые пишут Epic Games проблему не решают:


  • Они не показывают всю картину. Два визуально одинаковых ассета могут иметь разное поведение (например: https://udn.unrealengine.com/questions/271376/ue410-incorrect-asset-loading-in-cooked-game-data.html);
  • Они полагаются на то, что ассет можно распарсить текущей версией редактора.
  • Они не существуют отдельно от редактора. К примеру их проблематично использовать в bash-скриптах.

Мне довелось работать с:


  • CryEngine
  • RenderWare
  • Unity
  • UnrealEngine

В Unreal Engine лично меня расстраивает их приверженность бинарному хранению данных.
Причем во всем:


  • Файлы перевода;
  • BluePrint-ы, включая Data-only.

Это сильно мешает использованию веток при разработке.


К сожалению, сами EpicGames проблемы в этом не видят, и от того ситуация вряд ли скоро изменится :(


А в остальном — это лучший движок, с которым мне приходилось работать.

Я бы не стал полагаться на SO_KEEPALIVE. Там таймаут порядка 2-х часов.
В моей практике был прецедент: между серверами, которые держали неактивное соединение, находился statefull firewall и через час данные переставали через него проходить, хотя формально с обоих сторон соединение открыто.

Насколько я помню, как минимум под Linux вечно соединение без данных жить не будет.
Оно схлопнется, когда истечет параметр net.netfilter.nf_conntrack_tcp_timeout_establishe (по умолчанию: через 5 суток).

В Москве есть две "улицы 8 Марта". Одна из них ранее была в поселке Липки, но теперь он часть Москвы. Название улицы при этом не изменялось.


Так же в Москве "улица Станиславского" несколько переместилась в пространстве:


  • в 1994 улица Станиславского была переименована в Леонтьевский переулок;
  • в 2005 Малая Коммунистическая улица была переименована в улицу Станиславского.

Когда у меня мой бложик похакали, я почесал репу и переделал его на Hugo (благо динамический контент на нём не требовался).


В результате удалось избавиться от CMS, PHP и MySQL. Остался только Linux и nginx.

Да, я постоянно путаю LE и BE :(
Порядок сортировки сохраняется для UTF-8 и UTF-16BE.

Важная особенность UTF-8 и UTF-16LE: при побайтовом сравнении Unicode-строки не меняют свой порядок.

Windows, к примеру, позволяет создавать файлы, которые могут содержать не корректную UTF-16 последовательность.
Из-за этого, в частности, родилось надмножество над UTF-8 для кодирования таких последовательностей с замечательным названием WTF-8: https://simonsapin.github.io/wtf-8/

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

Глубоко копаете. Попробуйте просто поставить Microsoft Visual Studio 2010 на Windows 10.
Получите массу удовольствия.

В TreeSize pacman-ов нету :(

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность