Расскажи про MongoDB (желательно с CRUD, пагинацией, с фильтрацией), Elasticsearch (так же с пагинацией и прочим). С примерами и хорошими практиками. Будет пушка! С Redis уже есть, за что отдельный лайк от меня)))
спасибо за ролик первый случай: не рассмотрел вариант создания такого же поста с такимже слагом: нужна какая-то магия, чтоб слаги не дублировались (добавлялись индексы и проч: slug, slug-1, slug-2 и тд...) второй способ какой-то нежизнеспособный. если есть задача от сеошника иметь слаги, то наверное надо ими управлять как-то, сохранять. тайтл поменялся - слаг изменился, пост теперь недоступен по старой ссылке а вообще надо бы посоветовать использовать какие-нибудь готовые решения, где все это продумано, например, spatie
Ролик супер. Хотелось бы короткий но ёмкий ролик про теорию реляционных баз данных. Чего там по полгода в институтах преподают этот курс? Используется ли оно на практике? Как часто?
3й вариант интересный с точки зрения изучения фреймворка, но в жизни это полный ахтунг ибо будут дубли страниц и очень много и от них потом будет очень сложно избавиться. Так же с редиректами никак не поработать, когда будете избавляться от дублей или просто изменится заголовок.
Третий способ очень интересный, но конечно далек от жизни, потому что у внутреннего сеньора есть внутренний тимлид, который знает наверняка, что сегодня сеошнику нужно генерировать автоматически, но наступит день икс, когда понадобится поменять слаг(на более короткий например), а у вас поля то и нет, и что тогда?)))
Только начал изучать Laravel, но это вариант со slug помоему вообще нерабочий. Попробую объяснить что имею ввиду. При смене имени - сменится slug чего не должно происходить нивкоем случае. Добавление id в slug тоже ужасная идея. По мне лучше хранить слаг в базе, можно добавить автоматическое создание slug при сохранении если он явно не указан. В идеале еще бы хранить историю смены slug, чтоб можно было управлять редиректами и не терять страницы в поиске при смене slug, но это довольно сложная история, возможно вернусь к этому чуть позже, когда наберусь базовых знаний. Пример как я организовал автоматическое создания slug protected function prepareForValidation() { return $this->merge([ 'slug' => $this->slug ? Str::slug($this->slug) : Str::slug($this->name) ]); }
Отличная инструкция: "Как сжить со света ненавистного SEO-шника". ✌😼🏴☠ Ибо SEO-шника после такой реализации обязательно (и очень скоро) навестит Кондратий и заобнимает вусмерть. )) А всё потому, что Гоогле с Яндексом начнут слать письма ему "с того света" о том, сколько у него дублей страниц, и как низко будет ещё падать его подопечный сайт в поисковой выдаче. 😝 И дело не в тех самых "дурачках", о которых автор в ролике упоминает, а в том, что найдутся умники, которые специально нагенерят для поисковиков мусорных ссылок для дублей контента. Ибо нефиг лезть в ТОП поисковой выдачи! 😉
Наверно лучше добавлять не через Request, а добавить в модель метод boot class Post extends Model { public static function boot() { parent::boot(); self::creating(function ($model) { $model->slug = Str::slug($model->title); });
У первого варианта есть еще один затык. если мы используем софтдэлит и уникальное поле на уровни базы то второй слаг после удаления нам не даст создать, а логически должен быть. проблема второго варианта что после удаления мы не можем восстановить статью на том же урле, а это плохо.
Перед удалением записи меняем слаг (я добавляю номер, делаю проверку, добавляю ещё если проверка это требует). Но вообще это зависит от политики бизнес-логики, возможно запись должна остаться в "архиве" и быть занята "вечно" (допустим, это артикул).
снимите видео по популярным паттернам, как это все используется на ларавел, ребята накидайте лайков, что бы он это увидел
Спасибо! "Датабазе" топ! )
Поржал с ситуации с телегой)
Спасибо за урок)
Классный урок! Очень жду про Elasticsearch прям мастхев
Расскажи про MongoDB (желательно с CRUD, пагинацией, с фильтрацией), Elasticsearch (так же с пагинацией и прочим). С примерами и хорошими практиками. Будет пушка! С Redis уже есть, за что отдельный лайк от меня)))
спасибо ) полезный материал!
Лучший
Спасибо за урок!
спасибо за ролик
первый случай: не рассмотрел вариант создания такого же поста с такимже слагом: нужна какая-то магия, чтоб слаги не дублировались (добавлялись индексы и проч: slug, slug-1, slug-2 и тд...)
второй способ какой-то нежизнеспособный. если есть задача от сеошника иметь слаги, то наверное надо ими управлять как-то, сохранять. тайтл поменялся - слаг изменился, пост теперь недоступен по старой ссылке
а вообще надо бы посоветовать использовать какие-нибудь готовые решения, где все это продумано, например, spatie
Отличное видео
Спасибо!
Ролик супер. Хотелось бы короткий но ёмкий ролик про теорию реляционных баз данных. Чего там по полгода в институтах преподают этот курс? Используется ли оно на практике? Как часто?
Ого, автор жив)
датабазе))
спасибо)
3й вариант интересный с точки зрения изучения фреймворка, но в жизни это полный ахтунг ибо будут дубли страниц и очень много и от них потом будет очень сложно избавиться. Так же с редиректами никак не поработать, когда будете избавляться от дублей или просто изменится заголовок.
а про сео и мултиязычные категории aws и digital ocean расскажешь ?)
супер
Азиз Азизов)
КотоЛьвище передаёт пример
Третий способ очень интересный, но конечно далек от жизни, потому что у внутреннего сеньора есть внутренний тимлид, который знает наверняка, что сегодня сеошнику нужно генерировать автоматически, но наступит день икс, когда понадобится поменять слаг(на более короткий например), а у вас поля то и нет, и что тогда?)))
Только начал изучать Laravel, но это вариант со slug помоему вообще нерабочий. Попробую объяснить что имею ввиду. При смене имени - сменится slug чего не должно происходить нивкоем случае. Добавление id в slug тоже ужасная идея. По мне лучше хранить слаг в базе, можно добавить автоматическое создание slug при сохранении если он явно не указан. В идеале еще бы хранить историю смены slug, чтоб можно было управлять редиректами и не терять страницы в поиске при смене slug, но это довольно сложная история, возможно вернусь к этому чуть позже, когда наберусь базовых знаний.
Пример как я организовал автоматическое создания slug
protected function prepareForValidation()
{
return $this->merge([
'slug' => $this->slug ? Str::slug($this->slug) : Str::slug($this->name)
]);
}
Отличная инструкция: "Как сжить со света ненавистного SEO-шника". ✌😼🏴☠
Ибо SEO-шника после такой реализации обязательно (и очень скоро) навестит Кондратий и заобнимает вусмерть. ))
А всё потому, что Гоогле с Яндексом начнут слать письма ему "с того света" о том, сколько у него дублей страниц, и как низко будет ещё падать его подопечный сайт в поисковой выдаче. 😝
И дело не в тех самых "дурачках", о которых автор в ролике упоминает, а в том, что найдутся умники, которые специально нагенерят для поисковиков мусорных ссылок для дублей контента. Ибо нефиг лезть в ТОП поисковой выдачи! 😉
Хорошо бы сделать одновременный запрос по id и по Slug
Зачем? id в принципе не должно быть в slug.
@@oleksandrperebykovskyi4409а почему бы и нет
Наверно лучше добавлять не через Request, а добавить в модель метод boot
class Post extends Model
{
public static function boot() {
parent::boot();
self::creating(function ($model) {
$model->slug = Str::slug($model->title);
});
static::updating(function($model)
{
$model->slug = Str::slug($model->title);
});
}
}
У первого варианта есть еще один затык. если мы используем софтдэлит и уникальное поле на уровни базы то второй слаг после удаления нам не даст создать, а логически должен быть. проблема второго варианта что после удаления мы не можем восстановить статью на том же урле, а это плохо.
Перед удалением записи меняем слаг (я добавляю номер, делаю проверку, добавляю ещё если проверка это требует). Но вообще это зависит от политики бизнес-логики, возможно запись должна остаться в "архиве" и быть занята "вечно" (допустим, это артикул).
Это после курса?
Ахаха датабазé, спс поржал 😂
То есть сео уже до api добралось?
Круто, давно ждали! Спасибо) Еще проблема второго варианта, что будут создаваться дубли страница, например 1-post будет тоже самое что и 1-ne-post.
А почему php .\artisan а не php artisan?