1.83K subscribers
3.3K photos
132 videos
15 files
3.58K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
😁11🫡3
Forwarded from Сталингулаг
Группа «Алиса» перенесла три концерта тура «Гойда», потому что билеты плохо продаются.

Кажется, у нас досрочный победитель в номинации новостной заголовок года
😁22🌚1
Круглый дурак — это тот, кто записывает кружочки в телеге
👍15👎4😁4💩4🌚21
Forwarded from Install Wizard
🌚15👍41
Решившему зарегистрироваться в реестре Роскомнадзора блогеру прислали повестку в военкомат

Автор телеграм-канала «Духи наизнанку» Кирилл Хайкин подал заявку на включение в реестр блогеров и всего через шесть часов получил повестку в военкомат с требованием пройти призывную комиссию, рассказал сам Хайкин.

«За меня не волнуйтесь, я окончил военную кафедру», — отметил он, обращаясь к своим подписчикам. При этом блогер уточнил, что произошедшее может быть совпадением.
🌚11
Хотите трюк с поиском статей, которые не находятся на sci-hub/nexus? Нигде не встречал упоминания этого способа, а он, бывает, помогает в самых отчаянных случаях.

Если написать в гугле дорк
filetype:pdf


а затем искомый doi в кавычках (строгое совпадение), то часто находится пдфка уже любезно кем-то выложенная, например самими авторами на личных сайтах или соцсетях.

filetype:pdf "doi.org/10.1038/s41586-022-05278-9"


пользуйтесь)
16🥰5🤯3👍2🔥1🌚1
😁29🤷4💩1🌚1
Мужчину-гетеросексуала, который увлечён женщинами (и часто много занимается с ними сексом), зовут бабником. Слово, очевидно, образовано от "баба".

А как назвать гея, сильно увлечённого мужчинами? По идее, следуя той же логике, "мужник"?

А как тогда назвать любвеобильного би/пансексуала?
🍌3🎉1🤮1
Forwarded from Wazowski Recommends
Попав в Яндекс, мы получили проект от Ильи Сегаловича. Илья умел очень классно делиться идеями и объяснять суть. Он нам рассказал, что на самом деле Гугл в своё время выиграл у всех предыдущих поисковиков за счёт хорошо сделанных сниппетов. А теперь для нас самое главное — сделать так, чтобы поисковые результаты не были сплошь одинаковыми. Надо бороться с полу-дублями.

Только сделать это у нас не удалось. Зато мне удалось получить свою первую психологическую травму на работе.

В Яндексе тогда не было почти никакой документации. Даже как собирать проект — было тайным знанием, передающимся из уст в уста.

Когда нужно было разобраться в каком-то куске поискового кода, Макс сказал:
— Ну давай посмотрим, кто автор этого кода... Ага, некий Антон с ником pg@. Просто сходи и спроси у него, что здесь происходит.

Я сходил и спросил. Антон с ником pg@ ответил мне, чтобы я просто прочитал код.

Прочитать и понять код у меня не получилось. А так как работали мы на четверть ставки, то в следующий раз мы с Максом встретились примерно через неделю. Узнав, что прогресса особо нет, Макс сказал:
— Нет, ну так дело не пойдёт. Пойдём вместе сходим и спросим.

Сходили и спросили. На что Антон с ником pg@ просто накричал на нас обоих: какого чёрта какие-то стажёры его отвлекают и не могут даже за неделю самостоятельно прочитать код?!

С тех пор ни я, ни Макс уже больше никогда не хотели работать в Яндекс.Поиске.

#lifestories
😁26🔥22👍3
TL;DR: Для масштабирования gRPC в K8s, следует взять linkerd или нечто подобное.

Есть некий клиент (c) и некий сервер (s) в K8s, линия обозначает TCP соединение.
+--+   +--+
|c +---> s|
+--+ +--+


Используя K8s можно достаточно легко горизонтально масштабировать приложение:
- Руками изменить scale.
- Настроить HPA (Horizontal Pod Autoscaling)

И вроде все хорошо — у нас n-ое количество подов, и нагрузка должна автоматом распределятся по round-robin, ведь так?
+--+   +--+         
|c +---> s|
+--+ +--+
| +--+
+-----> s|
| +--+
| +--+
+-----> s|
+--+


Тут уже начинаются детали.

Распределение нагрузки будет работать, в зависимости от того, по какому именно транспорту будут общаться сервисы.

K8s использует iptables как балансировщик, а он работает на уровне TCP соединений, то есть может балансировать TCP соединения.

HTTP/1.1: TCP соединения переиспользуются только после завершения HTTP запроса, то есть: в одно и тоже время в одном TCP соединении может обрабатываться только один HTTP запрос.
HTTP/2: Позволяет использовать одно и тоже TCP соединения для нескольких одновременных HTTP запросов (multiplexing).

Следовательно, при HTTP/2 у нас используется одно TCP соединение, внутри которого проходят множество запросов.

Балансировка будет выглядеть так:
+--+   +--+         
|c +---> s|
+--+ +--+
+--+
| s|
+--+
+--+
| s|
+--+


Все запросы будут идти на первый сервер.

А gRPC использует HTTP/2 для транспорта.

——
То есть: балансировщик из коробки в K8s для gRPC трафика будет некорректно балансировать нагрузку, иначе говоря: балансировать TCP соединения, а не gRPC запросы.
——

Что делать?
Есть пару вариантов:
1. Взять Linkerd, он умеет балансировать gRPC с коробки.
*ИМХО самый корректный*

2. Так же, можно чуть чаще пересоздавать gRPC соединения, тут про это пишут.
*ИМХО самый простой*

2. Внутри самого сервиса: README.md.
*ИМХО самый странный*
👍5
Forwarded from Мемы и точка
Media is too big
VIEW IN TELEGRAM
Женщины: мужики хотят только одного

Мужики:
29🔥8🥰1
#go

Мамой клянусь

Source
🤡18😁6🤔1🍌1
16
Открыточка фронтендерам:

<center><div></div></center>
👍10👏2💩1🍌1
😁6🤔1
#prog #js #article

Speeding up the JavaScript ecosystem - one library at a time

Серия из десяти (на момент написания) статей о изменениях в библиотеках для JavaScript, которые ускоряют за счёт убирания лишней работы. Некоторые не привязаны конкретно к JavaScript.
👍6
#prog

protohackers.com

Задачи на программирование в духе Advent of Code, но тестирующие реализации кастомных сетевых протоколов. Есть своя автоматическая система тестирования, которая требует предоставить лишь публичный IP-адрес и порт.

(thanks @daily_ponv)
12🤮1