По поводу short-circuit - это вовсе не костыль, это оптимизация использования CPU для веб-приложений. Тот же StaticFilesMiddleware, если вы, например, делаете запрос на получения favicon, то не имеет смысла уже далее пропускать через routing, авторизацию и прочее, а надо сразу вернуть ответ. Это просто здравый смысл обработки запроса.
Хм, спасибо. Все равно в голове не укладывается, взять что-то родное из своей экосистемы (.NET), к примеру, Avalonia - кроссплатформенный UI фреймворк для .NET - репозиторию 10 лет, и он не весит даже 200 MB. Так что, пресловутые GameDev-repos, они скорее как файловые хранилища. 300GB чистого исходного кода под операционную систему - это действительно очень много.
Ну хорошо, судя по прилетевшим минусам я поторопился с выводами, тогда задам такой вопрос - какой процент от этого объема занимают именно текстовые файлы (программный код)? 5% хотя бы будет? Просто стало интересно, что это за магические GameDev репозитории, на терабайты заполненные спрайтами и другими графическими ассетами. Вот даже интересно стало, условно, я на PS4-ке раньше игрался в souls-like жанр, самые тяжелые из них уже после установки занимают (специально зашел в настройки проверить):
Nioh - 55.3GB
Nioh2 - 53GB
Nier Automata - 52.63GB
Ghost of Tsushima - 52.23GB + Bonus Content в 22.10GB
God of War - 45.86GB.
Elden Ring - 45.69GB
Nier Replicant - 27GB
Sekiro: Shadows Die Twice - 17.02GB (!)
Вот объясните недалекому, неужели в этих игрушках в репозиториях тоже терабайты ассетов?
Не, на SO есть монстры gita, я даже подписался на их RSS - всегда что-нибудь новое узнаю. Но это только для искушенных. Большинству и базовых вещей хватает.
Оох, С-С++ roadmap самый хардкорный. Как .NET-чик, посматриваю купленную на первом курсе книгу Роберта Лафоре по С++ (талмуд в почти 800 страниц), с мыслью "А не восстановить ли знания?", и как оказалось, книга покрывает только С++ 98 + STL. А помимо этого за много лет куча новых стандартов вышло и еще всякие cmake-и и прочий зоопарк водится... PS: За roadmap-ы спасибо - прямо definitive, приятно, что самому собирать не приходится, чувствуется коллективный разум современной IT-индустрии.
Неплохо для начинающего, для чистоты репозитория надо бы еще удалить .idea-папку (user-specific настройки и прочее, такое не принято хранить в репозиториях). Для этого надо добавить .idea/ в .gitignore-файл, предварительно удалив .idea/-директорию из индекса (.gitignore не игнорит уже закомиченные файлы), командой git rm -r --cached ./idea, и закоммитить правки. После уже придраться при беглом взгляде не получится.
PS: Можете еще логирование прикрутить, Serilog сейчас очень в ходу.
Ой, а почему именно про хардверную часть спросили? - У ТСа еще теги по алгоритмам и ИИ - две обширные темы. А если серьезно: Раннее весеннее обострение - кое-кто перебирается с киберфорума на хабр, распространяя плоды своей воспаленной фантазии на более широкую аудиторию. По крайней мере, есть живое доказательство того, что может быть с кукухой в 50 лет, если не следить за своим ментальным здоровьем.
Спецов, как погляжу, понаехало - дедлоки увидели, даже трассировок через Environment.CurrentManagedThreadId нету, и столько выводов делается. Вот тут тоже, судя по всему, дедлок. Без лишних Producer-Consumer-ских прикрас :))
//АТАТА!! Тут дедлок - таски не запущены, но у нас все равно дедлок!!! await TestTaskConstructors(); async Task TestTaskConstructors() { var task1 = new Task(() => { Console.WriteLine("Hello world from Task1!"); }); var task2 = new Task(() => { Console.WriteLine("Hello world from Task2!"); }); await Task.WhenAll(task1, task2);
Не надо давать уроков, если нет полного понимания как это работает. Вы только больше хаоса из своей головы вносите.
Это все всратый хабр, который требует что-то писать чтобы можно было лайкать/дизлайкать, судя по всему еще и маркдаун в комментариях выключен только у тех, у кого мало "репутации". На SO работает markdown даже в комментах, а тут нет. Помойка.
Радикальное решение через sudo - это rm -rf /var/lib/docker. Я так с перепугу удалил докер и его директорию, когда на лаптопе с 1TB-ым диском папка /var/lib/docker съела 737GB и система перестала грузиться.
По поводу short-circuit - это вовсе не костыль, это оптимизация использования CPU для веб-приложений. Тот же StaticFilesMiddleware, если вы, например, делаете запрос на получения favicon, то не имеет смысла уже далее пропускать через routing, авторизацию и прочее, а надо сразу вернуть ответ. Это просто здравый смысл обработки запроса.
Хм, спасибо. Все равно в голове не укладывается, взять что-то родное из своей экосистемы (.NET), к примеру, Avalonia - кроссплатформенный UI фреймворк для .NET - репозиторию 10 лет, и он не весит даже 200 MB. Так что, пресловутые GameDev-repos, они скорее как файловые хранилища. 300GB чистого исходного кода под операционную систему - это действительно очень много.
Ну хорошо, судя по прилетевшим минусам я поторопился с выводами, тогда задам такой вопрос - какой процент от этого объема занимают именно текстовые файлы (программный код)? 5% хотя бы будет? Просто стало интересно, что это за магические GameDev репозитории, на терабайты заполненные спрайтами и другими графическими ассетами.
Вот даже интересно стало, условно, я на PS4-ке раньше игрался в souls-like жанр, самые тяжелые из них уже после установки занимают (специально зашел в настройки проверить):
Nioh - 55.3GB
Nioh2 - 53GB
Nier Automata - 52.63GB
Ghost of Tsushima - 52.23GB + Bonus Content в 22.10GB
God of War - 45.86GB.
Elden Ring - 45.69GB
Nier Replicant - 27GB
Sekiro: Shadows Die Twice - 17.02GB (!)
Вот объясните недалекому, неужели в этих игрушках в репозиториях тоже терабайты ассетов?
А вы хотя бы какие-то репозитории видели? И вообще, знаете что такое репозиторий?
Вопросы к чему - хватить нести чушь.
400 долгоиграющих веток? У вас проблемы с организацией воркфлоу, совершенно точно, это на 5-6 человек то.
Не, на SO есть монстры gita, я даже подписался на их RSS - всегда что-нибудь новое узнаю. Но это только для искушенных. Большинству и базовых вещей хватает.
Вывод - ничего не надо учитывать для миграции, так как этой миграции не будет.
Просто методичный перевод.
Оох, С-С++ roadmap самый хардкорный. Как .NET-чик, посматриваю купленную на первом курсе книгу Роберта Лафоре по С++ (талмуд в почти 800 страниц), с мыслью "А не восстановить ли знания?", и как оказалось, книга покрывает только С++ 98 + STL. А помимо этого за много лет куча новых стандартов вышло и еще всякие cmake-и и прочий зоопарк водится...
PS: За roadmap-ы спасибо - прямо definitive, приятно, что самому собирать не приходится, чувствуется коллективный разум современной IT-индустрии.
Неплохо для начинающего, для чистоты репозитория надо бы еще удалить .idea-папку (user-specific настройки и прочее, такое не принято хранить в репозиториях).
Для этого надо добавить
.idea/
в .gitignore-файл, предварительно удалив.idea/
-директорию из индекса (.gitignore не игнорит уже закомиченные файлы), командойgit rm -r --cached ./idea
, и закоммитить правки.После уже придраться при беглом взгляде не получится.
PS: Можете еще логирование прикрутить, Serilog сейчас очень в ходу.
Все, иди в забвение, мужик, что тут, что на киберфоруме.
Ой, а почему именно про хардверную часть спросили? - У ТСа еще теги по алгоритмам и ИИ - две обширные темы.
А если серьезно: Раннее весеннее обострение - кое-кто перебирается с киберфорума на хабр, распространяя плоды своей воспаленной фантазии на более широкую аудиторию. По крайней мере, есть живое доказательство того, что может быть с кукухой в 50 лет, если не следить за своим ментальным здоровьем.
Да, благодарю, лень было разбирать форматирование - копипастнул и все.)
Что значит неудобный? - это единственный способ ее запустить, если использовали конструктор. Ну вы поняли, это фиаско. ))
Спецов, как погляжу, понаехало - дедлоки увидели, даже трассировок через
Environment.CurrentManagedThreadId
нету, и столько выводов делается.Вот тут тоже, судя по всему, дедлок. Без лишних Producer-Consumer-ских прикрас :))
//АТАТА!! Тут дедлок - таски не запущены, но у нас все равно дедлок!!! await TestTaskConstructors(); async Task TestTaskConstructors() { var task1 = new Task(() => { Console.WriteLine("Hello world from Task1!"); }); var task2 = new Task(() => { Console.WriteLine("Hello world from Task2!"); }); await Task.WhenAll(task1, task2);
Не надо давать уроков, если нет полного понимания как это работает. Вы только больше хаоса из своей головы вносите.
Это все всратый хабр, который требует что-то писать чтобы можно было лайкать/дизлайкать, судя по всему еще и маркдаун в комментариях выключен только у тех, у кого мало "репутации". На SO работает markdown даже в комментах, а тут нет. Помойка.
Радикальное решение через sudo - это
rm -rf /var/lib/docker
. Я так с перепугу удалил докер и его директорию, когда на лаптопе с 1TB-ым диском папка/var/lib/docker
съела 737GB и система перестала грузиться.Еще это называют порождающей статистической машиной.
Лучше бы "Кто я?" с Джеки Чаном посмотрели).
А лучше wallpaper поставить на пару месяцев и периодически практиковаться.