Котлин - это компиляция фич из других языков (в том числе и то что по ссылке) помноженная на унаследованные ограничения JVM. Такой билдер конкретно в джаве (и конкретно в данный момент) не напишешь, но менее красивый эквивалентный код вполне. Пример того, какую шляпу можно получить, если думать о дсл, а не о пользователях, можно посмотреть в Gradle. Сам по себе Котлин никаких решающих преимуществ не дает в части дсл, чтобы еще и от него зависеть.
Это в теории, а на практике у нас Visual Studio, от которой можно получить стокгольмский синдром, решарпер, который тормозит так, что страшно включать, Visual Studio Code - самая тормозная и слабая поддержка C# из всех, райдер - полный косяков.
По своей сути эти сети вторичны, их можно натаскать на алгоритмы, на фреймворки, но без детальных указаний что делать они не работают. А для более-менее полноценной работы нужна еще и хорошая интеграция с IDE (что само по себе ха-ха). И чем сильнее задача отличается от хелоу ворлд, тем хуже ее результат. Лучшее на что пока можно надеятся - это некий визард, которому можно поручить какие-то супер обычные действия. Вобще это кажется способом не изобретать условный экскаватор, а придумать девайс который может махать десятью лопатами одновременно - вроде и то, но не совсем.
Мне непонятно, откуда могли взятся такие завышенные ожидания по отношению к нейросети?
Все эти приблуды в конечном итоге используются либо для монетизации либо для контроля за аудиторией. Например, ютуб уже давно ничего не может найти, это и не поиск уже, а некий генератор выдачи, результат которого может быть даже не связан с исходным запросом.
Валидация автомаппера проверяет только то, что каждое поле как-то замаплено, она не гарантирует, что маппинг будет работать. Такую валидацию можно сделать и для предложенного подхода.
Такой подход не даст использовать проекцию в проекции, мне такая возможность нужна, кому-то конечно будет и без нее хорошо (в этом и есть плюс самого подхода).
public static readonly Projection<SubCategory, SubCategoryDetails> SubCategoryDetails = new(x => new SubCategoryDetails
{
Id = x.Id,
Active = x.Active,
// тут вложенная проекция:
Category = CategoryLookupDetails.ProjectTo(x.Category),
Name = x.Name,
Description = x.Description,
CreatedDate = x.CreatedDate,
ModificationDate = x.ModificationDate
});
Кроме того, есть случаи когда хотелось бы задать отдельное поведение для делегата, например, при использовании DbFunctions.
А что означает "Mapster-е в режиме "маппинг на пределе""?
Котлин - это компиляция фич из других языков (в том числе и то что по ссылке) помноженная на унаследованные ограничения JVM. Такой билдер конкретно в джаве (и конкретно в данный момент) не напишешь, но менее красивый эквивалентный код вполне. Пример того, какую шляпу можно получить, если думать о дсл, а не о пользователях, можно посмотреть в Gradle. Сам по себе Котлин никаких решающих преимуществ не дает в части дсл, чтобы еще и от него зависеть.
Даже за идеей надо следить, в зависимости от настроек может переименовать не то, что надо или там, где не надо.
Телега только позиционирует себя как супер безопасная, по факту доверять мессенджеру такие вещи нельзя.
Это в теории, а на практике у нас Visual Studio, от которой можно получить стокгольмский синдром, решарпер, который тормозит так, что страшно включать, Visual Studio Code - самая тормозная и слабая поддержка C# из всех, райдер - полный косяков.
Да, серьезно.
Да хотя бы корректный ренейм сделать в проекте.
По своей сути эти сети вторичны, их можно натаскать на алгоритмы, на фреймворки, но без детальных указаний что делать они не работают. А для более-менее полноценной работы нужна еще и хорошая интеграция с IDE (что само по себе ха-ха). И чем сильнее задача отличается от хелоу ворлд, тем хуже ее результат. Лучшее на что пока можно надеятся - это некий визард, которому можно поручить какие-то супер обычные действия. Вобще это кажется способом не изобретать условный экскаватор, а придумать девайс который может махать десятью лопатами одновременно - вроде и то, но не совсем.
Может оказаться, что подбрасываение монетки имеет сравнимую эффективность.
Мне непонятно, откуда могли взятся такие завышенные ожидания по отношению к нейросети?
Все эти приблуды в конечном итоге используются либо для монетизации либо для контроля за аудиторией. Например, ютуб уже давно ничего не может найти, это и не поиск уже, а некий генератор выдачи, результат которого может быть даже не связан с исходным запросом.
Вот именно ) В следующих выпусках мы расскажем вам как поумнеть)
Валидация автомаппера проверяет только то, что каждое поле как-то замаплено, она не гарантирует, что маппинг будет работать. Такую валидацию можно сделать и для предложенного подхода.
EF Core может тихонько свалится в client side evaluation и даже как-то работать.
Оригинальная Кама была у меня и даже есть, неубиваемый велик.
Я как-то забыл даже про DelegateDecompiler, тоже вариант, но как по мне более магический, потенциально может затруднить обновление. Надо попробовать.
Такой подход не даст использовать проекцию в проекции, мне такая возможность нужна, кому-то конечно будет и без нее хорошо (в этом и есть плюс самого подхода).
Кроме того, есть случаи когда хотелось бы задать отдельное поведение для делегата, например, при использовании
DbFunctions
.Почему-то мне показалось это очевидным из названия, добавил ссылку.
Он еще добавит и сотни мегабайт памяти в этом случае.
Разумеется, они ответили, что якобы теперь поддерживают только EF Core - facepalm!
Рано или поздно любого умельца правильно вести беседу вычислят, но будут делать вид, что не поняли наезда.