Nikolay
Декорат выглядит тоже классно, но непонятно поймут ли другие, почему вдруг detail начал раскрывать информацию:)
Nikolay
Странно что разрабы симфони это скрыли
Nikolay
Хотя я еще год назад им таску оставлял, они в своем стиле "недостаточно инфы", ну вроде так можно или нельзя
Михаил
Народ, у меня дилемма. У меня есть rest api для создания/просмотра/редактирования статей (/api/article/ или /api/article/{article-id}) Человек может создать ветку (буквально как в гите) и в рамках этой ветки начать редактировать несколько статей. После того как он будет доволен результатом, он сможет слить эту ветку с мастер веткой. Вопрос, какая должна быть семантика урлов? /api/branch/{branch-id}/article/{article-id} Или наоборот /api/article/{article-id}/branch/{branch-id} А что будет если в рамках ветки я хочу редактировать ещё одну сущность?
Михаил
Фильтром я это делать не хочу, слишком хрупкая конструкция получается
Михаил
Но если указывать имя ветки внутри урла - то слишком высокая связянность (особенно если сначала ветку а внутри ветки сущность) Вроде хочется чтоб сущность была самостоятельной
Nikolay
ветка после слияния удаляется?
Михаил
Нет
Nikolay
чем динамичнее - тем дальше:)
Михаил
чем динамичнее - тем дальше:)
Да, в этом и дилемма- не понятно кто из них коренная сущность. Вроде статья это коренная сущность, но посмотрите что происходит предположем для батч апи /api/article/branch/{branch-id}/balk Полный треш
Михаил
Я как будто ветку редактирую
Павел
Я как будто ветку редактирую
Когда мы говорим о гите, то гит держит ветку нескольких файлов, а не отдельного файла
Павел
Файл в данном случае - как ваша статья
Павел
Хотя если говорить про семантику урлов. То наверное я бы взял бренч как корень
Nikolay
А может тупо связка неправильная получилась? Одна ветка множество статей. У статей есть версии получается.
Павел
Это грубо говоря и есть проект наверное
Павел
Т.е. у вас в конкретном бренче есть ресурсы (статья, не статья)
Михаил
По связям всё адекватно. У меня: статья -ManyToOne-> ветка
Михаил
В итоге зная id ветки я могу получить срез изменяемых статей
Nikolay
а что ты хочешь получить по урлу? версию файла с конкретной ветки?
Павел
Опять же вопрос, если мы говорим, что в ветке могут быть несколько типов ресурсов, они будут объеденены этой веткой или же просто это отдельные ветки и отдельные фичи
Павел
Опять же, если говорить про урл, то наверное там +- пофиг какой дизайн
Павел
В целом наеврное и тот и тот норм. Зависит скорее от логики и семантики приложения. У нас статья такой то версии, или у нас есть ветка и в ней берем статью
Михаил
Или срез если id статьи не указан
Nikolay
Я бы тогда так делал:) /api/article/{article-id}?commit=1111
Nikolay
у гитлаба такая тема. проект файл коммит
Михаил
Фильтр - очень хрупко. А что если не передали? Параметр то required
Михаил
Может его в урл?
Nikolay
из мастера
Михаил
Ну вот да
Nikolay
У тебя есть эталонная реализация статьи. Чувак работает в ветке, редактирует ее и ставит свой коммит Ты по этому коммиту можешь открыть файлик. Вроде логичненько звучит:)
Михаил
Мой мозг говорит да, но моё сердце протестует против этого решения
Михаил
Ладно, послушаю вас
Михаил
И второй, соседний чатик
The Ant
Мой мозг говорит да, но моё сердце протестует против этого решения
Ты главное подумай чё делать когда одновременно две ветки создадут, и как потом будешь слияние делать 😄
The Ant
Может ну его нахуй этот функционал )
Михаил
У меня котики бедные, год работают по принципу «бля, бля ребят, ничего не редактируйте, я щас релиз буду делать»
The Ant
Мердж веток тот ещё квест...
Михаил
Так что нет. Плюс есть транзакционность. Можно будет отсмотреть что сделал человек за некую транзакцию а не «ну я там это, где-то вчера в 29-00 начал редактировать, ну эээ, какие то статьи»
Nikolay
Обертку над гитом замути и успокойся:)
Nikolay
Или gitea разверрни:)
Михаил
в гите нет реста
Юра
В гите первична не ветка а комит
Юра
Ветка может прыгать с комита на комит
Юра
HEAD -> branch -> commit -> tree
Юра
Считай что все это указатели
Михаил
но у меня не гит, я не собираюсь писать космолёт
Юра
Иначе потом может быть непонятно тем кто привык к Гиту а твоя система работает по другому
Михаил
у меня нет версионности и истории изменений. Мне нужно чтоб одну статью могли редактировать в рамках 2 разных транзакций
Юра
А понятно
Михаил
это вообще не про гит
Юра
Ты просто сам написал, буквально как в гите
Михаил
думай про это как begin transaction change change commit transaction
Юра
Получается не совсем буквально не совсем как в гите )
Михаил
ну просто чтоб не придирались "а какая ветка, на дереве чтоль?"
Юра
Комит в дереве, дерево в ветке, ветка в репе, репа в яйце )
Михаил
я в жопе
Юра
/article/foo?branch=master
Юра
Так не?
Михаил
да, мы уже к этому пришли
Юра
Я просто не получил уведомление в джире
Shokha
$dto = $this->denormalize->denormalize($data, $argumentType, context: [ AbstractObjectNormalizer::DISABLE_TYPE_ENFORCEMENT => true, ]); можно ли в этот момент указать name_converter ? типа camel_case_to_snake_case
Vlad
https://github.com/symfony/serializer/blob/7.0/Normalizer/AbstractObjectNormalizer.php#L309
Vlad
нет.
из коробки этого нету. поэтому придется самому делать
Bekzod
Здравствуйте всем! я знаю здесь сидят опытные программисты, кто уже много лет занимаются программированием и решают бизнес проблем с помощью IT решений хотел узнать что вы думаете насчет Devin AI? как это коснется рынка IT заранее спасибо за ваш подробный ответ)
Юра
Им и сейчас не легко но будет ещё хуже
Юра
Но на рынок айти сейчас влияют совсем другие факторы и ИИ тут не при чем
Михаил
Это как no-code его появление не убрало спрос на кадры, а просто увеличило скорость сборки продуктов и повысило удобство