Это всё таки другое. Это контролируемые политические заигрывания с определённой целью (в том числе и с целью не допустить падения цел на внутреннем рынке). Майнинг же больше похож на лесной пожар в этом плане.
Отсутствие уведомления, дополнительная нагрузка и так на нагруженный процесс, допустили попадание заведомо известных ошибок в релиз, подорвали доверие.
> Поначалу Марс таки был более пригоден Земли.
Почти наверняка да: в определённый момент нечто очень большое столкнулось с землёй, в результате у нас сейчас есть луна, расплавленное ядро и магнитное поле, защищающее атмосферу от солнечного ветра. Магнитное поле у Марса наверняка тоже было. Если я не ошибаюсь — как раз в те времена, когда Земля была расплавленным шаром.
> метеориты образовались с образованием Солнечной системы,
Сильный удар способен выбросить материал планеты на орбиту. Быть может, что Марс или Венера были несколько более пригодны для появления жизни в ранней солнечной системе.
Имхо, на самом деле есть: если жизнь была занесена с метеоритом — это значит, что у эволюции было больше времени, так как она больше не ограниченна временем, прошедшим с появления жизни на земле.
Список действий можно получить спросив у блока, но для этого нужно запустить тестовый скрипт
Вариант с IDE интересен тем, что в ней в теории (и, впрочем, на практике — я это делал) можно запустить mock-окружение. Но, как я уже писал, это неоправданно при старте с нуля. Я собирал свои инструменты в течении пары лет (я не использовал MDK в ide).
> Насколько я помню, там предлагается использовать таймер с нулевой задержкой
Позже они добавили возможность запланировать повторный запуск скрипта.
Вообще, вся система внутриигрового скриптинга на определённом шаге была переработана самим сообществом (моддеры с доступом к исходному коду).
Но отдельного упоминание заслуживает ограничение размера скрипта в 100000 символов.
Ну, конкретно закрытые исходники — не самая большая проблема (особенно учитывая их изначально низкую читабельность), сборки игры не обфусцированы, ничего такого, с чем не справится dnSpy. Но dnSpy — это не инструмент рядового разработчика.
Как бывший игрок/моддер Space Engineers, я не думаю, что это хорошая идея, на самом деле.
Может быть за последнее время что-то изменилось, но это потребует работы с программным API, которое документировано примерно никак. Что в общем-то соответствует положению вещей в реальной жизни, но для собеседования, в сумме с другими вещами, занимает слишком много времени для первоначального исследования.
Мне кажется, у них систему заклинило, и они давали вам всегда начальные задачи. (И в связи с тем, что каждый раз собеседователи разные — они не могли этого заметить, если вы им не говорили)
К слову, я с вами не соглашусь по поводу оценки сложности: это единственный навык полученный в универе, которым я пользуюсь регулярно при написании кода.
Это типичный приём по травле неугодных. К сожалению, таких историй в англоязычном интернете полно. У этого явления даже название есть, «cancel culture».
Что в Swift лично мне всё таки не нравится: До него я иногда использовав скобки для разделения логических блоков внутри метода или для изоляции областей видимости переменных. В Swift же "{ }" — корректное замыкание.
Как такой пользователь скажу, что проблема в том, что мне пытаются продать то, что мне нафиг не упало. А если сделать бесплатное платным — ну, я либо уйду к другому провайдеру услуг, либо таки исследую доступные решения и… провайдеру уйду к другому провайдеру услуг.
Как пример — Почта для домена Яндекса. Мне не нужна Яндекс-Музыка и Яндекс-Плюс. Яндекс-Диск я использую просто потому, что мне его дали. Всё, что мне нужно — это работающий хостинг личного домена для почты. Желательно без постоянных редизайнов, ломающих существующие настройки и убивающих функционал на пол года, пока его не впилят назад, из-за которых я и достаю поддержку. Всё.
Не могу дать каких-то определённых советов, так как смотрел только поверхностно по коду.
Классы чисел у вас выступают как константы? Если да, то даже ref не нужен
Всё зависит от ваших задач. Возможно, ничего не стоит менять, так как это наверняка уменьшит читабельность и увеличит количество кода.
В моём случае мне нужно было рассчитать весь layout «пока пользователь не заметил», буквально (это порядка 0.01 секунды)
Собственно, Cassovary.Net — это порт с Java, видимо обёртка нужна для того, чтобы сделать значение мутабельным. На C# в этом не было никакого смысла.
Я так понимаю, что ref double быстрее из-за способа обращения к значению: в случае с обёрткой обращение идёт к значению по указателю в управляемой памяти со сдвигом, ref double просто значение по указателю? Если значение константное (ref не нужен, просто double), то оно будет лежать прямо в стеке
vs2019 community, пару месяцев назад обновлена.
К слову об классах-обёртках для int: из личных издевательств над математическими библиотеками знаю, что лучше использовать `ref int`, `ref double` чем класс-обёртку. Удаление таковой из Cassovary.Net дало 30% прирост производительности.
Win 7. (Некоторых пакетов просто нет в природе для неё)
.Net Standart 2.0 в списке пакетов есть, но больше похоже на проблему с версией языка. static у лямбд не работает в частности, а так же проверка типов более строгая (требует explicit cast) для == между 'Entity.Number.Integer' и 'int'. Причём это довольно странно, implicit cast объявлены, должно работать (я так делал, но не на этом типе проекта)
Почти наверняка да: в определённый момент нечто очень большое столкнулось с землёй, в результате у нас сейчас есть луна, расплавленное ядро и магнитное поле, защищающее атмосферу от солнечного ветра. Магнитное поле у Марса наверняка тоже было. Если я не ошибаюсь — как раз в те времена, когда Земля была расплавленным шаром.
Сильный удар способен выбросить материал планеты на орбиту. Быть может, что Марс или Венера были несколько более пригодны для появления жизни в ранней солнечной системе.
Вариант с IDE интересен тем, что в ней в теории (и, впрочем, на практике — я это делал) можно запустить mock-окружение. Но, как я уже писал, это неоправданно при старте с нуля. Я собирал свои инструменты в течении пары лет (я не использовал MDK в ide).
Позже они добавили возможность запланировать повторный запуск скрипта.
Вообще, вся система внутриигрового скриптинга на определённом шаге была переработана самим сообществом (моддеры с доступом к исходному коду).
Но отдельного упоминание заслуживает ограничение размера скрипта в 100000 символов.
Может быть за последнее время что-то изменилось, но это потребует работы с программным API, которое документировано примерно никак. Что в общем-то соответствует положению вещей в реальной жизни, но для собеседования, в сумме с другими вещами, занимает слишком много времени для первоначального исследования.
К слову, я с вами не соглашусь по поводу оценки сложности: это единственный навык полученный в универе, которым я пользуюсь регулярно при написании кода.
Как пример — Почта для домена Яндекса. Мне не нужна Яндекс-Музыка и Яндекс-Плюс. Яндекс-Диск я использую просто потому, что мне его дали. Всё, что мне нужно — это работающий хостинг личного домена для почты. Желательно без постоянных редизайнов, ломающих существующие настройки и убивающих функционал на пол года, пока его не впилят назад, из-за которых я и достаю поддержку. Всё.
Классы чисел у вас выступают как константы? Если да, то даже ref не нужен
Всё зависит от ваших задач. Возможно, ничего не стоит менять, так как это наверняка уменьшит читабельность и увеличит количество кода.
В моём случае мне нужно было рассчитать весь layout «пока пользователь не заметил», буквально (это порядка 0.01 секунды)
Вот изменение, которое я делал в Cassovary.Net:
github.com/krypt-lynx/Cassowary.net/commit/3fd07e5078f4ff55e06418cb00578be8bbbae6e0
Собственно, Cassovary.Net — это порт с Java, видимо обёртка нужна для того, чтобы сделать значение мутабельным. На C# в этом не было никакого смысла.
Я так понимаю, что ref double быстрее из-за способа обращения к значению: в случае с обёрткой обращение идёт к значению по указателю в управляемой памяти со сдвигом, ref double просто значение по указателю? Если значение константное (ref не нужен, просто double), то оно будет лежать прямо в стеке
К слову об классах-обёртках для int: из личных издевательств над математическими библиотеками знаю, что лучше использовать `ref int`, `ref double` чем класс-обёртку. Удаление таковой из Cassovary.Net дало 30% прирост производительности.
.Net Standart 2.0 в списке пакетов есть, но больше похоже на проблему с версией языка. static у лямбд не работает в частности, а так же проверка типов более строгая (требует explicit cast) для == между 'Entity.Number.Integer' и 'int'. Причём это довольно странно, implicit cast объявлены, должно работать (я так делал, но не на этом типе проекта)