Задать вопрос
  • Это оригинальный ESP32?

    Ланской Кирилл, тогда к чему эта суета по поводу оригинальности?
    Написано
  • Можно ли в одном микросервисе использовать Postgres и MongoDB?

    R1911, для сканов, как правило, лучше файловое хранилище.
    Написано
  • Почему рекомендуется использовать private а не просто ставить везде Public?

    K0TlK,
    соболезную

    А чего соболезновать то? Работа на порядок легче, а платят в разы больше, чем в геймдеве.
    Написано
  • Это оригинальный ESP32?

    Что такое "оригинальный"?
    Чипы/модули производит только espressif, так что они по определению не могут быть неоригинальными.
    Модуль - эта вон та мелкая штука сверху с металлической крышкой и антенной.

    Какие девкиты делает espressif можешь посмотреть тут:
    https://www.espressif.com/en/products/devkits
    Написано
  • Как передавать файлы текстом, или картинкой, или видео?

    F1eex, я думаю, можно написать небольшой скрипт консольный, который разобьёт файл на куски и из каждого куска сделает картинку. Потом картинки можно будет объединить в видео через ffmpeg.
    Ну и аналогичный обратный процесс.

    Но это надо погуглить.
    Написано
  • Почему рекомендуется использовать private а не просто ставить везде Public?

    K0TlK,

    Я говорю о том, что должна быть причина сделать поле приватным, ты говоришь о том, что должна быть причина сделать поле публичным. Это немножко противоположные вещи

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

    Я никогда геймдева не касался, а был в ентерпрайзе / системщине - в 90% случаев тут поля - это либо какие-то зависимости, которые прокинуты через DI, либо какое-то хрупкое состояние. (тобишь и то и то должно быть private)

    С публичными полями разве что какие-нибудь DTO-шки и модельки для баз данных можно было бы сделать, но там либо по техническим причинам (из-за ORM или сериализаторов), либо по привычке всё делается через свойства.
    Тут ещё на помощь пришли record-ы, в которых даже не надо руками {get; set;} писать.
    + Прикольно всё можно сделать иммутабельным.
    Написано
  • Как отключить плашку о новом домене?

    Juchok, собственно об этом сообщение и говорит - домен очень новый. Через какое-то время пропадёт, если не будете рассылать спам.
    + ещё проверьте, что всякие dmarc/dkim/spf/fbl корректно настроены.
    Написано
  • Почему рекомендуется использовать private а не просто ставить везде Public?

    K0TlK,
    Открой главу, которая называется "Принцип единой ответственности" и посмотри что он советует делать в конце главы. Мне даже не пришлось ничего искать, по оглавлению понятно на какой странице будет бред.

    Мне кажется, тут ситуация похожа на мой пример с хп - ситуация слишком простая, чтобы подход себя оправдал.

    Аргументация уровня дошкольника.

    Это не аргументация, а просто наблюдение ;)

    Когда я пишу про "безопасность и защиту", я имею ввиду ту мнимую безопасность которая появляется, когда кто-то просто везде пишет приватные поля и думает, что их никто не будет менять.

    В случае, если приватное поле было изменено за пределами класса, то причина поломки очевидная - кто-то запортачил с рефлексией и полез туда, куда не надо.

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

    Слава богу, я отписался от всех таких чатов)

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

    После этого мне начинает казаться, будто мы говорим об одном и том же, но разными словами.
    Написано
  • Как отключить плашку о новом домене?

    Juchok, ну скажи, сколько твой домен зарегистрирован?
    Написано
  • Как отключить плашку о новом домене?

    Просто ждать - написано же, что домен типа свежий.
    Написано
  • Как установить обновление Jetbrains?

    Сергей delphinpro, про это и говорю - toolbox и идешки у меня без vpn не обновляются
    Написано
  • Что за странные файлы с непонятным расширением на гугл диске?

    Некоторые приложения могут хранить свои данные в гуглдиске (whatsapp так делает, например).
    Что внутри этих файлов?
    Написано
  • Как установить обновление Jetbrains?

    Сергей delphinpro, а сейчас разве не должно быть 2024.2?
    UPD: глянул, действительно phpstorm сейчас самый новый - 2024.2.3 с 30 августа.
    Написано
  • Как установить обновление Jetbrains?

    Сергей delphinpro, вот про обновления плагинов не скажу, а вот сами идешки уже несколько недель как без vpn не обновляются у меня
    Написано
  • Почему рекомендуется использовать private а не просто ставить везде Public?

    K0TlK,

    Сделал все приватным, а потом тебе нужно в разных местах ui одни и те же данные отобразить по-разному, твои действия? Переделать приватное поле под свойство? Так это же рефакторинг, нельзя так делать, сложно, да и данные наружу выходят, а так нельзя, это же инкапсуляцию нарушает (или нет?).

    Ну вот увидел, что нужно вывести - добавил публичное read-only свойство для этого поля.

    И это не рефакторинг, ведь мы добавляем новый код, а не изменяем старый.


    Зачем поле, которое изначально было публичным, делать приватным?

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


    Смотрю в книгу - вижу фигу. Лучше бы со свежей головой прочитал все мои сообщения в этой ветке

    А дальше разработчика порвало, несите нового.


    Как я и писал раньше, вся эта непомерная "защита и безопасность" - бред

    Если обратить внимание, лично я ни разу не аппелтровал к защите и безопасности, ни в комментах, ни в ответах.


    И, если публичные поля все ломают и делают плохо, почему же софт, написанный на С кучу лет назад, работает лучше(быстрее, меньше багов), чем тот ужас, что выпускают сейчас (можешь сравнить вижуал студию до того, как она перешла с плюсов на C# и после).


    Предлагаю тебе ещё посмотреть на весь веб - вон в жаваскрипте тоже нет приватных полей, но качества кода это тоже не добавляет.

    А вот в C++ есть - сам же говоришь, что на C++ было лучше.

    Может тогда дело далеко не в модификаторах доступа, ООП и прочем?


    Сидеть и ограничивать себя в возможностях использовать данные так как тебе хочется, подбирать паттерны часами, надеясь найти подходящий, пытаться соблюдать "лучшие практики", солид, кисс, драй, ай, вай, а потом плакать в тг чатах, что уже год делаешь клон флеппи берд и не можешь доделать, потому что сложно все очень и запутанно. Типичный современный "программист".

    Реальная история?
    Написано
  • Почему рекомендуется использовать private а не просто ставить везде Public?

    K0TlK, чистая архитектура у меня есть, но что-то я не помню там рекомендаций накидывать повсюду мелкие классы.

    Да и это больше про enterprise, а не про геймдев
    Написано
  • Как установить обновление Jetbrains?

    Попробуй другой vpn (не публичный)
    Написано
  • Как установить обновление Jetbrains?

    Сергей delphinpro, раньше они смотрели регион, но сейчас они по ip смотрят.
    Написано
  • Почему рекомендуется использовать private а не просто ставить везде Public?

    K0TlK,

    Плохо гуглил

    Зачем использовать англицизм там, где вполне можно было использовать русское слово "неочевидность" / "надуманная сложность" итд?

    Мне кажется, что использование private / internal слабо коррелирует с (не)понятностью кода.


    Чтобы найти пример, можешь прочитать практически любую статью/книжку/гайд про "правильное программирование", где тебе будут втирать, что нужно делать как можно больше маленьких классов для абсолютно тривиальных вещей.

    К сожалению (или к счастью) у меня на полке таких книг нет. Пример будет?


    Удивительно сложный рефакторинг - нажать две кнопки в райдере или любом другом иде.

    Ага, рефакторинг очень простой, особенно если переходишь с классов на интерфейсы и уже невелосипедил валидацию и события после изменения поля во всех местах использования. И вообще поле должно быть read-only.


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

    А зачем эта дополнительная ценность нужна для принятия решения о закрытии полей?
    Сделаем всё приватным.
    Потом пришёл к выводу, что это нужно снаружи и это можно безопасно открыть - открыл.
    Сделал сначала свойства, но они так и остались auto и захотелось сделать микрооптимизацию - стёр акцессоры и вот у тебя поле.

    Зачем задумываться о том, что делать приватным, если можно поступать наоборот? Сделать приватное поле публичным - безопасно.
    Сделать публичное поле приватным - breaking changes.
    Так зачем себе головную боль добавлять?


    В чем заключается хрупкость? То, что мододел сломал все, не почитав документацию, проблема исключительно мододела.

    Хрупкость в том, что у тебя таким образом вся игра становится публичным API и любое изменение становится ломающим => при обновлении игры непредсказуемо ломаются моды вплоть до состояния "невозможно починить".

    PS: я хорошо поспал и со свежей головой прочитал первый коммент

    К нечитабельному коду. Когда вместо публичного поля используется конструкция типа

    В обоих примерах разработчик вполне очевидно показал своё намерение - изменять поле извне нельзя.

    Как такое ограничения сделать при помощи публичных полей? Да никак.
    Написано