oleg_log
1.77K subscribers
1.86K photos
129 videos
9 files
2.77K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
Неизвестная история героя, который мигрировал пдфки с бланками в онлайн формы.

Нудная и монотонная работа, но кто-то ведь делает. Вообще круто, что он это написал, сразу понимаешь, что может мои копипасты дашбордов для mysql не так уж и плохи.

https://medium.com/@jgee/what-i-learned-in-two-years-of-moving-government-forms-online-1edc4c2aa089
Ого, Телега обзавелась открытым баг-трекером https://bugs.telegram.org/
Вывод моих написываний сериализатора и дезериализатора Bencode (формат в торрентах) на Go.
❤️❤️❤️
Defront сегодня празднует второй день рождения. В январе 2019 года мне захотелось поделиться прочитанной статьёй со своими коллегами во внутреннем чате Яндекс.Маркета. Написал небольшой tldr и подумал, что такой формат будет полезен большему числу людей. Потом пошло-поехало, и вот вас уже больше 5000.

Благодарю за помощь в развитии канала:
Сергея Рубанова (@webnya — крутой канал про web-стандарты и новинки web'а от участника TC39)
Олега Ковалёва (@oleg_log — сильный канал про бэкенд и программирование в целом)

Также хочу передать привет всем дружественным каналам и сообществам (если кого-то забыл, пишите в лс):
@ufostation @javascript_ru
@typesafesound @amorgunov
@frontend_u_news
@forwebdev @winterview
@dereference_pointer_there
@evodevclub @Loskirs
@htmlshit @prostorazrabotka
@we_use_js @css_ru

Спасибо всем за помощь и поддержку!

P.S. Если считаете нужным, можете сделать подарок каналу и рассказать про Defront своим друзьям, коллегам и подписчикам.

https://twitter.com/myshov/status/1355105595997757442
Прочитал небольшое интро к жизни и работе Claude Shannon и стало интересно, кто для вас самый значимый ученый (во всех широких значениях этого слова) ?

Логично спросить только про computer science, но спасибо мир не только из айти состоит.

https://www.quantamagazine.org/how-claude-shannons-information-theory-invented-the-future-20201222/
По поводу последнего (S02E15) выпуска @generictalks

Дебаг кубов. Я не знаю, что может быть лучше этого. Удивите и скиньте, если есть.

Правда вещь отличная, ты просто идешь по стрелочками и понимаешь, что не так. Обрадую, скорее всего вы получите ответ.

https://learnk8s.io/troubleshooting-deployments
Ох что я нашел, что я нашееееел.

Короче я больше не буду писать алёрты на Prometheus, просто буду их копировать отсюда. Это на порядки полезнее чем мой сборник docker-compose :):

https://github.com/samber/awesome-prometheus-alerts
Если я услышал странное шипение(?) от макбука, наверное не стоит его ставить на коленки, да?

Причем только когда подключена зарядка. хм
oleg_log
Подведём итоги ~1 месяца. Все даже хорошо. Есть посты, за которые не стыдно. Есть приятные и критикующей-правильные отзывы. Есть желание продолжать дальше. Хотя местами хочется уйти в дикие и непрактичные темы, но по большому счёту пользы от таких мало.…
Итоги еще одного месяца.

Январь вышел чуть не таким, как мне хотелось бы (не только в контексте канала(ов)), но определенно хочется делать больше заметок про архитектурные решения. Ибо набралось и ибо накипело.

А для заинтересованных @oleg_log_plus 👌
Прибрал из одного доклада (2017). Код на Scala. Какое значение выдаст последняя строка?

Логично, что почти никто не ответит правильно (тут мало скалистов хорошо жаль), но может смешное придумаете)

Ответ дам позже.
oleg_log
Прибрал из одного доклада (2017). Код на Scala. Какое значение выдаст последняя строка? Логично, что почти никто не ответит правильно (тут мало скалистов хорошо жаль), но может смешное придумаете) Ответ дам позже.
Объяснение из коментов под видосом:

The koan returns -3 because in Scala operators are methods and applying a method to a conditional automatically casts the return value of both branches to be of the same type. Since float has precedence over long, the long is cast to a float which causes it to lose precision and become 123456792. Then both the long and float are cast to a double, which has the highest precedence, in order to evaluate the subtraction method. The result is 123456789 - 123456792 = -3.

Работает для Scala 2.12.x, в 2.13.х уже не, хотя какая там разница. Проверено в REPL online.

Из доклада автора Jepsen https://xn--r1a.website/oleg_fov/243 (буквально последние 30сек)
Обожаю вот это мышление: сложные системы рушатся, если в их архитектуре есть единая точка отказа (single point of failure, SPOF).

Поэтому мы накатим кластер etcd и все станет отлично! ведь у нас не будет точки отказа. ..или...?

Нет. Оказывается кластер может разложиться на плесень и мёд, при этом обратно собираться не захочет (пример https://blog.cloudflare.com/a-byzantine-failure-in-the-real-world/).

Как вариант, у нас есть Кафка, все радужно, пишем терабайты, читаем за миллисекунды. Все супер-топ. ...или...?

Нет. Ведь потом мы натыкаемся на 1 сообщ, которое мы не можем обработать (спасибо нашей логике!) и ретраим до конца жизни, пока все не начнет сыпаться из-за распухающей очереди и последующих тормозах.

Я не так много писал сложных систем, чтобы идти и ругаться на всех, но мне кажется вместо ярого убирания SPOF лучше завести graceful degradation, чтобы прилегла часть системы, но остальное продолжало работать.

(можно спорить про связь СПОФ и деградации, что одно без другого никак и тд, но для этого и есть коменты, хех)