Pull to refresh
152
0
Максим Чагин @Maxchagin

Пользователь

Send message

Почему? Ограничить сканирование поисковиками можно и сейчас, в том числе через robots.txt

У меня есть ощущение, что турбо для Википедии Яндекс делает самостоятельно.

Как пользователю ужасно стыдно, но как издателю приходится с этим мириться. Медийная реклама - основной источник дохода. Есть еще: заказные спец. проекты, статьи на правах рекламы и нативные размещения в блоках вида "Читайте также". Но медийка приносит наибольший доход.

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

Для примера: 

В материале с рекламой Lighthouse показывает Performance = 70, без рекламы = 82. Если отключить партнерки и счетчики цифра будет еще выше.

Но реклама это основной источник заработка издания, поэтому отключать ее нельзя.

Зачем тянуть в прод весь образ golang? Обычная практика собрать бинарник в ci и закинуть его в отдельный контейнер (можно на базе alpine ~ 5мб)

Спасибо за статью!
Кстати, если создать индекс с конфигурацией russian
CREATE INDEX idx_gin_document 
ON documents_document 
USING gin (to_tsvector('russian', "document_text"));

И выполнять запрос без
to_tsvector("document_text"), plainto_tsquery('запрос')

То индекс использоваться не будет
Вы можете использовать любые сторонние пакеты Go, для примера в статье используется пакет для работы с mustache template
На проде в последнем проекте использовал go-cache, по функционалу все устраивает. Данный материал исключительно для академических целей, старался максимально не усложнять.
Да, согласен, в примере он действительно не нужен. Исправил. Спасибо.
А зачем в структуре Item Duration? Мы при добавлении нового элемента вычисляем когда он протухнет и в дальнейшем время жизни никак не используем, зачем тогда храним?

Duration необходим для вычисления значения expiration, которое используется в методах Get и GC


Еще вопрос: если время жизни по-умолчанию будет 10 и при добавлении нового элемента я захочу, чтоб он не протухал и установлю duration 0, правильно ли я понимаю, что желаемого я не получу? (в go просто новичок)

Прошу прощение, не уточнил этот момент в статье: что бы кеш не протухал необходимо установить значение duration равное -1, в этом случае expiration будет равен 0.

Спасибо за сообщение! Поправил.
Да, действительно можно использовать sync.Map, но для небольших проектов разницы скорее всего вы не почувствуете.
Закинул на яндекс диск yadi.sk/i/bQZ58bHk3SB5mW

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Backend Developer, Chief Technology Officer (CTO)
Lead
Golang