Задать вопрос
  • На чем делать UI для Windows в 2022 году?

    MAUI - это масштабное обновления xamarin-а по сути. ИМХО без поддержки Linux его кроссплатформенность мало чего стоит.
    WPF - это нативная технология при этом с WPF тебе доступны всякие сторонние и родные контролы. В том числе самые новые от WinUI 3.
    UWP превратился в WinUI 3
    Avalonia - кроссплатформа. "Как WPF но лучше", но без поддержки контролов от WPF или WinUI, но есть много свободных вполне неплохих. Да и система стилей достаточно удобная

    Если тебе не нравится Winforms из-за внешнего вида стандартных контролов, то всегда можно использовать сторонние.

    На втором месте наверное AvaloniaUI смущает что на нем каких то больших проектов.

    Есть много разных проектов, в том числе крупных и коммерческих, и от именитых компаний.
    https://avaloniaui.net/Showcase

    Так как программа небольшая я склоняюсь все быстро сделать на Windows Forms, в 2022 году кто то стартует на нем новые проекты?

    Если ты делаешь что-то небольшое и чисто для себя, и ты не умеешь работать с XAML и нет времени на освоение - нет причин не использовать Winforms. Да, он имеет проблемы с производительностью, да он не очень красивый, да винформы не очень легко поддерживать. Но является ли это реальной проблемой для вашего проекта?

    В общем вот мой топ-чарт:
    1. Если дёшево и сердито - Winforms (остальное - если нужен нормальный дизайн)
    2. Если кроссплатформу - Avalonia
    3. Если нужно на телефоны - MAUI (хотя Avalonia уже можно заставить работать на Android)
    4. Если хочется в новый дизайн винды - WinUI 3
    Ответ написан
    6 комментариев
  • Функция UPDATE в PostgreSQL не принимает вложенный запрос?

    @kalapanga
    А чего спрашивать-то? Прочитайте документацию postgresql про update - есть там подобный синтаксис или нет? Уже понятно, что нет. Возможно, Вам подойдёт with?
    А что касается Степиков и подобных, то в курсах по SQL обязательно должна быть указана версия/стандарт sql на которых курс основан, чтобы подобные казусы выявлять.
    Ответ написан
    Комментировать
  • Как подождать, пока сервер даст ответ и дальше продолжить выполнение метода?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    С чего бы это вы знаете что нужно использовать асинхронные фичи?
    Вполне нормально в основном потоке поставить лоадер и дождатся когда придут данные.
    Ответ написан
    9 комментариев
  • Как сделать сравнение со всеми элементами листа? И как написать transform.position в векторе2?

    @Farawa
    Про сравнение v2 и v3, гугли приведение типов, если в кратце, пишешь (Vector2) перед v3 и он становится v2.
    Про сравнение всего массива, гугли циклы, например
    for(int i=0;i<GlobalData.Objects.count;i++)
    {
    Сюда твое условие, но вместо нуля i
    }

    Так же полезная, но по началу не понятная штука Linq - по сути это запросы как в СУБД, только для массивов:
    var selectedList = GlobalData.Objects.Where(x=>x.transform.position == pos).ToList();

    В selectedList будут все объекты с позицией == pos
    Ответ написан
    2 комментария
  • Как для поля добавить ограничение на вводимые данные?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    Не нужно пизать в БД лишнюю логику и лишние ограничения.
    У вас с БД работает какой-то софт, например бэкенд. Там и делайте валидаторы данных. В случае пола раньше можно было 1 и 0 удобно хранить и всё было абсолютно интуитивно и понятно, а русскую букву в качестве индекса держать неудобно и неправильно. Во-первых, она в UTF-8, наверняка, что уже как-то изврат для бинарного поля.
    Во-вторых, при локализации проблемы могут быть в логах надо юникодовую экранировку читать, если что... в общем либо международное F\M, либо кодами и 1\0 для мнемонического запоминания очень удобно. Вот угадайте что есть что и почему.=)

    Но по нынешним временам за такую бинарность могут и засудить=) Не иначе нужна целая таблица гендеров небинарных с названиями, описаниями и локализацией. Да ещё и меняться она будет со временем, а потом при импортах мапить надо одну таблицу полов на другую=).
    Шутки шутками, а 0\1 и тут хорошо лягут. Просто идентификаторы такие будут синтетические.

    Да, а ограничения делать не надо. Вы могли бы сделать триггер, который при изменении и вставке будет проверять значения полей, но лишняя логика амедляет БД и порой без реальной причины. Если система спроектирована верно, то ничего некорректного в БД попасть не должно.
    Многие часто даже от внешних ключей отказываются для ускорения бд, ведь за консистентностью вполне может следить бэкенд, а в каких то случаях лишний процент производительности не помешает.

    Ответ: на надо валидировать значения такого рода полей на уровне БД. Делайте так, чтобы нельзя было ввести неверно на уровне ввода данных от пользователя, и дополнительно валидируйте в бэкенде.
    Ответ написан
    7 комментариев
  • Как создать новую таблицу, используя старую в postgresql?

    @alexalexes
    В чем проблема? Пользуйтесь псевдонимами столбцов в селекте.
    CREATE TABLE AS SELECT таб_1.стар_название_1 as нов_название_1 from таблица as таб_1
    Ответ написан
    Комментировать
  • Как в ymaps.Placemark поставить не координаты а примерное значение района?

    imko
    @imko
    Senior Scratch Developer
    Тебе нужно использовать геокодирование
    Ответ написан
    Комментировать
  • Почему выдаёт null при обращении к другому скрипту?

    GavriKos
    @GavriKos Куратор тега Unity
    Ну а tempinstance где то присвоен?
    Ответ написан
    2 комментария
  • Почему не получается преодолеть барьер в изучении программирования?

    @k4nt
    Здравствуйте.
    Я так же, как и Вы учусь программировать. Лично мне никакое изучение материала не давало результата.
    Только когда у меня появилось к чему приложить свои знания (я сам придумал себе интересный проект и делаю его) у меня появилась больше мотивации в изучении.
    Я не смотрю курсы, не читаю литературу. Я заполняю нужные мне пробелы в знаниях исходя из практики. Да, явно с точки зрения специалиста у меня всё криво, можно лучше и тд, но знания гораздо лучше остаются в моей голове и мотивация падает только тогда, когда я упираюсь во что-то сложное для себя. Пару дней голова поварит, я соберу нужные знания и снова продвигаюсь к реализации своего мини проекта.
    Ответ написан
    2 комментария
  • Как лучше всего реализовать массивы с информацией о предметах?

    GavriKos
    @GavriKos Куратор тега Unity
    Есть вроде как способ с массивами, но в массив нельзя добавить ещё массив.

    можно
    Если объект сделать, то его нельзя взять по id

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

    можно.

    Тут подходит класс с полями id, name, image. И все инстансы кладете либо в List, либо в dictionary (ключ - айди)
    Ответ написан
    1 комментарий
  • Возможен ли обратный процесс при экспорте из одного формата файлов в другой?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Обычно можно, но с оговорками. Csv может быть урезан. Например там только текст, а оригинальный формат ещё и шрифт размечал.

    Но эти потерянные вещи можно придумывать по ходу на какие-то стандартные значения.

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

    Плохо, если там какое-то самопальное сжатие или обфускация, тогда взглядом на файл формат не расковырять.
    Ответ написан
    2 комментария
  • Пример БД в виде отдельных JSON файлов для C#?

    1. В такой СУБД нет никакого смысла, по тому нет никаких готовых библиотек
    2. Реализуется очень просто - ты бы быстрее свой велосипед сделал, чем получил бы ответ здесь.
    Ответ написан
    5 комментариев
  • Как отобразить на карте только Россию?

    Использовать свой тайловый сервер, в который загружена только карта России
    Ответ написан
    Комментировать
  • Как создать игру на основе местоположения GPS?

    @pfg21
    ex-турист
    изучить функции операционной системы по получению геокоординат и отображения карты гугла :)
    (заодно уточнить условия пользования картой гугла).
    используя эти функции, написать програмку
    ...
    профит
    Ответ написан
    Комментировать
  • Как изменить определённую строку и записать новое значение в txt?

    maaGames
    @maaGames
    Погроммирую программы
    Считать весь файл в массив (если в файле сохранён массив), заменить третий элемент массива, сохранить весь массив в файл. То есть сделать полную перезапись файла.
    Ответ написан
    Комментировать
  • The object of type has been destroyed but you're still trying to acess it, что делать?

    GavriKos
    @GavriKos Куратор тега Unity
    Удаляете что то не то. Надо дебажить.
    Ответ написан
    Комментировать
  • Как мне реализовать семеричную систему счисления в ascii символы на nasm?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    А в чем проблема конкретно? Зачем вы привели этот код?
    Тут нет даже попытки решить вашу задачу.
    Что именно у вас не получается?
    Чтобы преобразовать любую систему счисления нужно домножить каждый разряд исходного числа (в исходной системе счисления) на нужную степень основания исходной системы и сложить результаты.
    К примеру семиричное число "123" будет состоять из трёх единиц, двух семёрок и одной сорокдевятки: 3+2*7+1*7*7=49+14+3=66. После этх операций вы получите бинарное число, а его уже надо преобразовать в десятичные знаки.
    Если готовой функуии для этого у вас нет, то просто действуете обратным способом. Многократно делите число на основание системы счисления (теперь это 10) с остатком. Остатки будут соответствовать десятичным цифрам.
    Ответ написан
    7 комментариев
  • Зачем мне универсальный класс, если в методе я могу указать родительский класс?

    Nipheris
    @Nipheris Куратор тега C#
    Если под "универсальным классом" вы имеете в виду класс-дженерик, то почитайте про параметрический полиморфизм и полиморфизм через подтипы. Параметрический полиморфизм в контексте C# это про дженерики, полиморфизм через подтипы - это о вашем "указать родительский класс".

    Это сильно разные механизмы, и чтобы понять разницу, попробуйте реализовать какой-нибудь List или Dictionary без использования дженериков, как предлагает вам Василий Банников , и как было в .NET 1.1 (о боги, это было как будто позавчера), до появления обобщённых типов. И увидите, как теряется типобезопасность и сколько нужно кастить туда-сюда.
    Ответ написан
    Комментировать
  • Создавать ли интерфейсы с единственной реализацией?

    Смысл имеет, например, для облегчения написания тестов.

    Но если эта единственная реализация не мешает писать тесты, то можно и не заморачиваться с намазыванием абстракций.

    Например нет никакого смысла вводить интерфейсы для DTO-шек.

    В остальном тред для C# также актуален, за исключением того что оверхед таки есть, ибо добавляет лишней работы JIT-компилятору, тк ему сложнее будет решить, какие виртуальные вызовы можно девиртуализировать.
    Ответ написан
    4 комментария
  • Как упросить это if...else выражение?

    VoidVolker
    @VoidVolker Куратор тега C#
    Dark side eye. А у нас печеньки! А у вас?
    Перегрузка - самый оптимальный вариант.
    Ответ написан
    1 комментарий