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