Dmitriy
и получают монолит из микросервисов но на Го )
Юра
Потому что го золотая середина в плане скорости
Юра
Написания кода и самого кода
Юра
Хотя наверное люди не знают просто про свуль и прочие воркермены
Юра
И застряли мыслями на уровне пхп 5
Юра
Ну и конечно стремно для крупного проекта где важна надежность брать пхп в котором нет разницы между array и map, и случайно можно отдать вместо массива в джсоне объект и все сломается
Юра
Плюс память он жрет больше чем го, а значит дороже в облаке будет обходится
Nikolay
Ну и конечно стремно для крупного проекта где важна надежность брать пхп в котором нет разницы между array и map, и случайно можно отдать вместо массива в джсоне объект и все сломается
Разница в том, что на go никто целый проект писать не будет, так как язык покрывает только часть (создание микросервисов, инфраструктуры и тд.). Писать сложную бизнес-логику лучше на других языках
Юра
Если делать cqrs го идеально подходит для рид части
Юра
Хендлит кучу клиентов, памяти мало требует, работает быстро
Юра
А для бизнес логики можно и не го да
Юра
нет нормального фреймворка?
Там большинство фреймворков по типу express js
Юра
Есть фреймворки которые хотят быть Энтерпрайз больше, я читал пару статей отзывы не очень были
Юра
Как когда-то разделилось на фронт и бек, так сейчас идет разделение на рид и врайт и это не всегда на одном языке даже написано
Null
Любители золотых молотков.
Юра
Да просто типо мы вот умеем на го, давайте и бизнес логику писать на го
Юра
Это же удобно (нет)
Иван
Да потому что голанг изначально для микросервисов. Нет вот, людям надо полноценный фреймворк туда запихать.
а пхп изначально для простого встраивания серверной логики в html, а яваскрипт - немного интерактива в браузере?
Иван
у меня бомбит от того, что чтобы сделать простой маршалинг с камелкейсом, надо дополнительно писать код но к возможности написать фреймворк это не относится
Иван
Ты с голангом знаком?
знаком, он тьюринг полный
Юра
CSS тоже говорят тюринг полный
Юра
Давайте на нем писать бизнес логику )
Юра
Как по мне язык в котором нет классического ооп идет мимо бизнес логики. Потому что все их эти композиции, все есть интерфейс и прочие интересные концепции это прекрасно но мимо
Иван
CSS тоже говорят тюринг полный
это как мой сосед говорит, что ему 60 и он может 3 раза за ночь
Юра
Собака это объект который содержит животное и т.д. это все конечно интересно но мало подходит для моделирования сложных бизнес процессов
Иван
Юра
Ну да поэтому просто взяли и заменили отношение является на содержит или владеет
Юра
Мелочи )
Юра
Все примеры проблем ооп с наследованием которые я видел в интернете в основном из-за неумения этого наследования
Юра
Когда например аттрибуты и характеристики пытаются натянуть на иерархию классов
Юра
Наследование не отменяет композицию, но когда его нет бай дизайн то как-то такое..
Иван
Kirill
о, а ты уже в Мск?
Иван
о, а ты уже в Мск?
пока только на поезде еду
Юра
Прикол в том что в 2022 до сих пор нету нормального языка программирования для бошьших приложений. С нормальной инфраструктурой и дизайном
Юра
Иногда мне кажется что проще было бы все удалить к херам и начать заново )
Юра
Потому что многие языки пишут не те кто ими будет реально пользоваться поведневно а какие-то теоретики которым вот пипец как важно имутабельность в языке и компиляция во все платформы, а не удобство, системы сборки, тесты, нормальный пакетный менеджер и другие полезные вещи которые используешь каждый день
Юра
Вот очередной новый язык один чудак пишет, Roc называется. Чисто функциональный язык. И все вокруг этого крутится. Сам тут же показывает пример quick sort на нем, который выглядит раздутее и запутаннее чем на обычлм императивном языке, и говорит такой ну это алгоритм не подходящий под функциональное программирование просто. Понимаете алгоритм не подходит под язык. И в этом вся проблема
Иван
иногда лучше бухать
Kirill
У него инфраструктура вся из джавы, а функционал что-то между JS и Swift со своими плюшками
Юра
Эпоха jvm уходит. Если будет без танцев с бубнами работать graalvm тогда да
Nikolay
Подскажите как более правильно указать тип в таком виде /** @param array<string, Object|null> $codesToUsers */ Есть по сути мапа строки на объект и внутри метода может быть обращение по ключу которого нет. Как это правильно указать?
Vlad
array {pupa: Object} ?
Nikolay
А зачем в параметре описывать то, что с ним будет делаться? У вас мапа, опишите просто мапу array<string, Object>
Там в методе есть выбор из мапы по ключу вида user = map[code] ?? null и пхпстан не понимает если без null описать
Павел
Имхо, тот вариант который вы описали, звучит как "мапа имеет значения null", что как я понял неверно
Миша
Привет всем. Кто нибудь озадачивался вопросом - как общим словом назвать все эти данные на странице которые не являются контентом, то есть меню, хлебные крошки, тэги, заголовки, и прочее?
Миша
И вроде как бы да, но вроде как бы заголовок язык не поворачивается компонентом назвать...
Миша
Думаю как дто-шку назвать в которую собрал все вспомогательные данные по странице которые не удалось общим запросом вытянуть. Пока остановился на AuxiliaryDataForSomePageDto.
Юра
ExtraData...
Миша
ExtraData...
Это конечно короче. Но переводчик говорит что Extra Data это в основном про дополнительность а не вспомогательность. Auxiliary мне кажется точнее будет. Ну и примеры использования туда же клонят: https://tr-ex.me/%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4/%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9/extra+data?search=extra+data
Миша
С одной стороны PageBlocksDto - звучит, будто я там top left width height блоков передаю. Навскидку вводит в заблуждение. С другой стороны. Заголовок он ведь тоже с определённой точки зрения к контенту относится и не является в полной мере вспомогательными данными. Да, тут есть над чем подумать.
Миша
Да логики нет там никакой. Именно Дто-шка в которую результат запроса гидратируется в репозитории. Факт передачи есть - от репозитория в респондер.
Миша
Репозиторий и респондер же можно назвать "слоями"...
Павел
Да логики нет там никакой. Именно Дто-шка в которую результат запроса гидратируется в репозитории. Факт передачи есть - от репозитория в респондер.
Ну я имею скорее семантическую логику. А не методы класса. Т.е. например какой нить Adress мы же не называем AdressDto, только потому что там нет методов.
Павел
Т.е. у вас есть после парсинга контент, и что то еще. Но контент же у вас не dto
Миша
Контент тоже в ДТО-шке в респондер отправляется только в отдельной.
Миша
Класс который на запрос отвечает, в основном валидирует данные запроса, обращается к репозиторию и причёсывает выхлоп репозитория в то что нужно на выходе
Павел
Класс который на запрос отвечает, в основном валидирует данные запроса, обращается к репозиторию и причёсывает выхлоп репозитория в то что нужно на выходе
Ну короче у вас репозиторйи возращает некую модель и вы такие модели называете dto. Ну тогда ок, пусть будет dto если так в проекте
Андрей
Добрый день! С Симфони работаю недавно, подскажите в каком каталоге принято хранить загружаемые файлы? Задача хранить сканокопии договоров, АКТ-ов и т.п. И по необходимости отдавать их на скачивание.
Null
Если прям публичными ссылками без проверок доступов - public/uploads заведи
Null
Иначе var/storage какой-нибудь
Vlad
S3