Pull to refresh
11
Karma
0
Rating

Lead Developer

Улучшаем ваш Unity проект. Гайд по ECS для MonoBehavior разработчиков

Довольно интересный пост, но заметил неточность с тестами.

MonoBehaviour должен быть несколько другого вида, чтобы избежать несколько аллокаций Vector3:

    void Update()
    {
        var position = transform.localPosition; // тут новый
        transform.localPosition = new Vector3(position.x, position.y, position.z + 1); // тут новый
    }

Думаю каждый фрейм 200к объектов создавать выходит тяжеловато.

Вот более справедливый код:

        private Vector3 point;

        void Start() {
            point = transform.localPosition;
        }

        void Update() {
            point.z += 1;
            transform.localPosition = point;
        }

Paradigm  —  дизайн-система Mail.Ru Group, часть 1: визуальный язык

Вы могли бы привести пример с полупикселами? (2 картинки)

Пишем игровую логику на C#. Часть 1/2

Мне нравится ваш подход.
Ничто не мешает, к примеру, биндить физику Unity3d на модель, апдейтить модель, биндить модель к физике Unity3d — я почти так и делал, вполне удобно и на FPS влияние минимальное.
Но моя модель про анимации ничего не знала, не придумал как подружить их грамотно. Как у SpaceLab с этим дела обстоят? Есть ли необходимость в физике и анимациях на уровне проекта с игровой логикой?

Континуации в Java

Чем плох Future? Идея такая же — выполнить в другом потоке и подождать результат обратно в текущий.

Кейс: как мы возвращали у Apple своё доброе имя

У слова есть правильный перевод. Тут дело как раз в том, как это УЖЕ переведено и используется.
В качестве опровержения можно вспомнить слова:
аккумулятор — accumulator
иллюзия — illusion
дискуссия — discussion
процесс — process
класс — class

и так далее и тому подобное.

Кейс: как мы возвращали у Apple своё доброе имя

Ваше оправдание напомнило вот это по ссылке LINK :)
Картинка
image

Что такое шаблоны проектирования?

Разве кто-то сменил технологию? Транслятор сменили и всё. Как писали на php, так и пишут.
Да и Windows множество участков кода имеет на c# — нет проблем в таком подходе.

Что такое шаблоны проектирования?

Аналогии странные. Как трансляция языка связана с уровнем языка — не понимаю. Еще и на оскорбления переходить «не понимаю, как здравомыслящий человек...» — потому не удивлен вашему рейтингу.

Есть C# to Native от unity3d — теперь язык плохой? Есть даже JS to Native. Есть множество JVM для Java, в том числе и AoT под Android. Так чего удивляться существованию Php to Navite?

Что такое шаблоны проектирования?

Вот есть UI поток, а есть другие Background потоки. И вы такой, на зная сложность вставки в хэштаблицу, решили добавить 1 запись туда. А она взяла и пересоздалась и начала пересчитывать хэши для корзин, так как места не хватало уже и UI подвис.
Или привыкли вы за O(1) забирать из ArrayList в UI, а сейчас решили из середины LinkedList достать и снова UI подвис.
Или удалить из середины ArrayList запись, или, что еще хуже, прямо в UI перебрать все элементы в нем и удалить по фильтру что-то.
Продолжать примеры?
Хорошего разработчика от посредственного эти вещи и отличают — он знает, что использовать и как это использовать.

Что такое шаблоны проектирования?

Я в синтаксисе php не силен и мои рассуждения строятся на том, что я реализую некий интерфейс, чего со статик методами не сделать. Какая будет реализация — уже абстракция.
Т.е. я могу прокинуть любую фабрику для инстанциирования объекта.

Возвращается объект типа String — каким он будет, определяет фабрика.
Если на выходе будет не String, а Product, как в примерах из википедии — суть не изменится, это фабрика.

Что такое шаблоны проектирования?

И это очень плохо, так как базовый класс знает, как будут создаваться наследники. И что еще хуже, он будет знать, куда этот объект будет сохраняться или откуда будут браться данные. Например, есть у вас статичный метод, принимающий код ошибки, а возвращающий строку с её описанием для UI. И лезет он за этими данными в BD/Network/XML/Etc. — вот тут жесткая связь данных и их способа хранения, никогда так не делайте :)

Что такое шаблоны проектирования?

Наверное для вас будет новостью, но фейсбук и вконтакте написаны на PHP.
Мыслите стереотипно. Я провел множество собеседований по Java, почти все люди с высшим образованием в сфере it. Но и имея 5-летний опыт работы люди могли не знать, как работает Хэш Таблица, не знать, что такое шаблон Адаптер и т.д.

Что такое шаблоны проектирования?

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

Android string.xml — несколько вещей, которые стоит помнить

Вы избирательно читаете комментарии. Уже обсудили, что %s работает только при наличии 1 параметра. При наличии 2 и более — обязательно нумеровать их. Стиль и код выглядит целостнее, когда всё одинаково. Про plurals тоже обсудили уже, они могут навредить при работе с локализациями, при этом только на старых версиях андроида вроде как. Да и MessageFormat более гибок, чем телеграм и пользуется.
Почему не стоит его использовать при аргументации? Если проект имеет многомиллионную аудиторию и что-то не использует — стоит задуматься «почему?». Я исследовал их исходники, код не идеален с точки зрения читабельности, но фрагменты не используются в угоду скорости и плавности анимаций, коих с фрагментами объективно не добиться. Класс BaseFragment есть, просто он не extends Fragment.

Странно, что автор не участвует в дискуссии, мне его статься витися интересной.

Android string.xml — несколько вещей, которые стоит помнить

Выше я ответил — плохо пробежался значит.
Вот комментарий по проблемам с Plurals от vikarti, помимо моей ссылки на SO — #comment

Android string.xml — несколько вещей, которые стоит помнить

К сожалению, дело давнее, потому и личных пруфов по Plurals не предоставлю, но это не предположение точно. Помню лишь, что проблемы были именно с локализацией. Гугл нашел как минимум одну проблему с ними, когда quantity равна нулю ССЫЛКА.
У нас на проектах используется MessageFormat.

Android string.xml — несколько вещей, которые стоит помнить

Сейчас это работает только для 1 параметра.
При наличии 2 и более будет выдана ошибка:
Error:(1264) Multiple substitutions specified in non-positional format; did you mean to add the formatted=«false» attribute?
Наверное потому мы везде использовали %1$, даже при наличии лишь 1 параметра — выглядит целостнее.

Android string.xml — несколько вещей, которые стоит помнить

В десятках своих проектов? В десятках опенсорсных? В десятках фрилансовых на сапорте?
Не пытаюсь что-то доказать, но я встречал лишь несколько реально крупных проектов, написанных не мной. Примером может послужить Telegram. По ссылке вот тут xml для русской локализации — ССЫЛКА и там нету Plurals и %s. Наверное о чем-то это говорит у проекта с многомилионной аудиторией. Или вы думаете, что они просто не умеют?

По поводу ссылок на свои же ресурсы — это же даже не рекомендация, я написал что можно так делать. Как плюс — можно добиться существенной экономии на переводе.
По // тоже самое, так можно, но я же не настаиваю :)

Рекордное время: как мы увеличили скорость запуска приложения Почты Mail.Ru на iOS

Увеличили скорость запуска == Уменьшили время запуска

Information

Rating
Does not participate
Registered
Activity