Задать вопрос
  • Почему моя реализация Shaker Sort-а такая медленная?

    копирование данных во временные переменные a и b

    Ссылка же?
    Написано
  • В чем смысл public _ {get;set} в c#?

    никто не запрещает использовать unsigned типы в своём api

    Василий Банников, наш код существует не в вакууме, и мест где вы можете использовать какой-нибудь uint без конфликта с convenction guidelines.. на текущий момент очень мало

    Use int rather than unsigned types. The use of int is common throughout C#, and it's easier to interact with other libraries when you use int. Exceptions are for documentation specific to unsigned data types.


    сделать какую-нибудь обёртку

    Спорить не буду, сам иногда так делаю.. хотя это еще +1 к возможности получить необработанное исключение
    Написано
  • В чем смысл public _ {get;set} в c#?

    Для того чтобы понять, вам надо заглянуть в Java где нет property. Там вы руками должны создать методы Get и Set. Фактически это синтаксический сахар, позволяющий вместо явного, но многословного
    class MyClass
    {
         private int _myField = 1; //присваивается где-то в других методах класса
         public int GetValue() { 
             return _myField; 
         }
    }

    можно написать
    class MyClass
    {
         private int _myField = 1; //присваивается где-то в других методах класса
         public int Value { get { return _myField; }}
         // или public int Value { get; } = _myField;
         // или public int Value => _myField;
    }

    Компилятор в любом случае создаст метод `get_Value()` но в коде вы можете просто работать с ним, как с field.
    Аналогично с сеттерами. Вы можете скрыть поведение за пропертей, например Invoke какого-нибудь OnChange event.

    Использование автопропертей, то есть те самые `{ get; set; }` позволяет декларировать их в интерфейсах и абстрактных классах с расчётом на то что в имплементации их поведение может быть изменено. А ещё 99% стандартных сериализаторов по умолчанию работают ТОЛЬКО со свойствами.. и даже если ваш объект - просто DTO без поведения, но если его придется сериализовать в какой-нибудь json или использовать как сущность в EntityFramework, то создание автосвойств обязательно.

    В общем это инструмент сильно облегчающий жизнь, но использовать его надо с умом
    Написано
  • В чем смысл public _ {get;set} в c#?

    Зачем делать какую-то валидацию, если можно изначально использовать тип, который не допускает отрицательных значений?

    Затем что в подавляющем большинстве методы принимают именно signed типы. Иначе вам придется обмазать огромное количество кода приведением типов, которое не бесплатное.. и все равно проверять чтобы например `uint` не превысил `int.MaxValue`
    Написано
  • Фреймворки для кросс-платформенной разработки. Практикуют ли переписывание под разные платформы?

    Серьезно? А аргументы будут?

    У вас тоже аргументы уровня "сам дурак". Так что естественно это бред спорить с фанбоем делфи, спич про огромныные возможности это подтверждает.
  • Фреймворки для кросс-платформенной разработки. Практикуют ли переписывание под разные платформы?

    Hemul GM, очень рад что вы болеете за свою команду) но надо смотреть правде в глаза. Отсутствие значительного развития в delphi это вещь очевидная. Пик популярности далеко позади, возможности языка по современным меркам скромные. . Рейтинг TIOBE показывает эпизодический рост, когда Embarcadero выкатывает новые фичи и поддержку новых платформ в RAD Studio, но в целом каких-то перспектив нет. Об этом не обязательно где-то читать, чтобы это понять. Все что его держит на плаву это огромное количество уже написанного корпоративного софта.. который вроде и деньги приносит, но не настолько чтобы переписать его на что-то более свежее. Он в своей нише.. а она будет только сокращаться. Потому что вопрос найма и поддержки delphi решений будут решать не в пользу delphi. Я не говорю что он завтра точно умрет, Embarcadero будет тянуть его из всех сил, но.. ровно до тех пор пока поддержка и лицензии приносят им деньги.

    Каким образом появятся новые специалисты, если такие как вы постоянно пишут "не изучай, тебе такое не надо, я знаю!"?

    А никаким. Никто не должен учить delphi только за то что он есть. На текущий момент delphi это среда в себе.. замкнутая экосистема, переход из которой более затруднителен, чем, к примеру, попытка пересесть с одного си-подобного языка на другой. И востребованность на рынке у delphi весьма скромная. Плюс никакой "интересный" современный проект на delphi делаться не будет.. в ачивку потом себе его не запишешь. В совокупности с постоянно сокращающимся комьюнити, это должно только отпугивать. Сейчас куда более перспективно учить какой-нибудь попсовый python потому что и по скорости обучения он уделывает, и там можно потом и в администрирование, и в интеграцию и в прочие бигдата.
  • Фреймворки для кросс-платформенной разработки. Практикуют ли переписывание под разные платформы?

    Имхо, каждый кулик нахваливает свое болото) Hemul GM, я думаю вы не правы. Вы может пришли в нишу давно и не собираетесь из нее уходить, но рекомендовать рабочие, но бесперспективные среды и языки в 2024.. ну это такое. Как сказали выше уже сейчас вопрос упирается в стоимость найма, разработки и обучения, при прочих равных поиск и найм в delphi команду будет дорогим и долгим.. банально потому что специалистов мало и они как правило возрастные. Так еще к тому же kkoollaj потеряет время на изучение непопулярной среды и языка.. и потом придется переучиваться на что-то более востребованное.
  • Фреймворки для кросс-платформенной разработки. Практикуют ли переписывание под разные платформы?

    Вот тут не согласен

    Windows Forms - это только Windows, т.к. он построен вокруг нативных системных вызовов Windows. Вообще-то я однажды писал Windows Forms для Linux, но там очень много было костылей и багов, поэтому - нет, не надо.

    Весь функционал winforms кросс-платформенный, то есть формы запускаются в nix как в netcore так и в mono, но ровно до тех пор пока вы не подключаете платформоспецифичные компоненты и плагины.. например от devexpress. Мое мнение, что winforms вполне себе заслуживает право на жизнь и кроссплатформенность, просто используйте для простых интерфейсов без претензий.
  • Сравнение скорости копирования массивов разными способами?

    iamkisly
    @iamkisly Автор вопроса
    Изменил с учетом рекомендаций. Получилось не менее интересно

    65aa4bacafc46744598997.png

    Ну и сравнение

    65aa4b7c86e8a453904490.png
    65aa4b87814cf730716827.png
    65aa4b92a3541109604106.png
    65aa4b9e32983427412155.png
  • Сравнение скорости копирования массивов разными способами?

    iamkisly
    @iamkisly Автор вопроса
    Это откуда такие данные?
    - Enumerable с 1 элементом
    - Результат фильтрации выбрал только 2-3 штуки
    - Сериализация примитивных (и не только) типов

    По своему опыту) Реально только сериализация.. и то, копирование массива в массив там случается весьма не часто .

    Мы исходный код платформы не знаем.

    Не "не знаем", а нет времени изучить исходники на github
  • Почему C# не кроссплатформенный?

    Евгений Гл, я не знаю как там сейчас, но когда maui зарелизили, поддержка linux версии была возложена на сообщество, толи как обертка над gtk, толи над qt.. не помню. Репозиторий maui-linux до сих пор живой по меркам open source.. правда последний коммит был полгода назад
  • Почему C# не кроссплатформенный?


    winforfms

    Вот тут стоит сделать оговорку, что большая часть дефолтного winforms кроссплатформенная, и была такой ещё со времён mono. Но! Лабающие на winforms часто любят использовать проприетарные плагины, и вот их работа не гарантируется никак.. что наверняка потребуется написание платформоспецифичного кода.. но для тех кто привык писать для разных версий dotnet это не проблема.
  • Есть сервера, которые стоит написать именно на Java, а не на Node?


    Например стриминговый сервер или сервер для чата, он же относится к разряду типичных запрос/ответ


    Поддержу предыдущих комментаторов, тут намешалось тёплое с мягким. Почитай что такое QoS, и какие требования к задержкам у стриминга, у чатов, и у веб приложений. У тебя даже провайдер потоки данных разных типов по разному приоритезирует.

    На самом деле мало кто пишет с нуля. Обычно есть команда, стек и определённая инфраструктура. Чтобы начать писать на другом стеке ради возможно перспективного hiload надо нанять дополнительных людей, а это деньги..

    Node специфически работает с потоками. Они организованы иначе чем в Java или dotnet. Воркеры, это скорее мультипиоцессинг.. зато это позволяет относительно легко масштабировать приложение, но не только лишь все могут это эффективно использовать.
  • Ext JS 6.2.0 Classic, как управлять полосой прокрутки Ext.grid.Panel?

    Че нет то? Я до сих пор пользуюсь, пилю как рабочие так и личные проекты, уже и не помню, когда просто самостоятельный html писал. В нем чертовски удобно заниматься формошлепством делая всякие inhouse crm без претензий на дизайн. Потому что в 99.9% случаев не задумываешься о том, что там под капотом у контролов, и какой там dom генерируется. Меня лично еще подкупает легкость с которой я могу перетаскивать в веб приложения winforms или delphi.. и замены какой-то для себя я не вижу.
  • Может ли gitlab составлять todo лист из комментариев?

    iamkisly
    @iamkisly Автор вопроса

    Не задумывались почему ? НЕ ЖЕЛАТЕЛЬНО комитить не работающий код.

    TODO это не неработающий код. Даже (о ужас!) FIXME это не неработающий код. Это заметка. И IDE просто напоминает "эй чувак, ты не забыл? ".
  • Может ли gitlab составлять todo лист из комментариев?

    iamkisly
    @iamkisly Автор вопроса
    А где в гитлабе они должны отображаться?

    А я не знаю, вот и спрашиваю ) В pycharm оно выглядит так
    6544cdddd95d1051542129.png

    В теории можно расширение сделать или в исходниках покопаться и добавить - они открытые.

    Василий Банников, проблема в том, что я не специалист по ruby или на чем оно там написано.
    Так то я понимаю, что можно при каждом аплоаде комиттов делать чек комментариев согласно расширению файла. Но хотелось бы из коробки иметь решение )
  • Почему в CoreCLR Int32.TryParse сделано не самым оптимальным образом?

    iamkisly
    @iamkisly Автор вопроса
    Вот такой ответ я получил на github
    Because by spec an erroneous number style needs to result in an exception regardless of the string to be parsed. Otherwise, you only know that you're holding it wrong for some input strings.

    В общем по соглашению насрать какая там строка, главное что стиль правильный. Имхо большая глупость, потому что если вам нечего конвертировать, то и не важно во что.
  • Таблица с дискриминатором или раздельные таблицы?

    iamkisly
    @iamkisly Автор вопроса
    Akina, нужна мне статистика с одного сервиса. Как пет проект для самообучения. Так что считай что захотелось странного :D Храниться будет пока мне не надоест, или пока я не забуду оплатить vds.
    База отсчёта всегда одинакова? или плавает?
    Не совсем понял, о чем речь, но планирую забирать данные раз в 15 минут.
    Четвёртый 15-минутный срез одновременно является часовым?
    Не принципиально, но возможно так и сделаю.
    Срезы фиксированы, или возможна корректировка данных "задним числом" и соответственно пересчёт срезов?
    Сервис иногда подтормаживает, поэтому возможно придется аппроксимировать. Но это не страшно, я готов хранить как сырые данные, так и обработанные. Но хочется научиться делать это максимально красиво даже в случае нестабильного источника данных.