Pull to refresh
151
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, но для небольших проектов разницы скорее всего вы не почувствуете.

Information

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

Specialization

Backend Developer, Chief Technology Officer (CTO)
Lead
Golang