oleg_log
1.73K subscribers
1.88K photos
131 videos
9 files
2.82K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
Официальный поиск по коду на Github. В плане адекватный поиск. Я оч рад, последние полгода я живу на странице поиска Github.

https://cs.github.com/

И тут видосик, дада, на Rust https://www.youtube.com/watch?v=UOIPBfPXkus (спасибо Алексею за ссыль)
Forwarded from Инжиниринг Данных (Dmitry Anoshin)
Оказывается у AWS есть альтернативная (честная) версия их AWS Service Health Dashboard. Потому что, как мне сказали оригинальный продукт - bullshit. Поэтому, если у вас AWS то вам бует полезно добавить в закладки https://stop.lying.cloud/
Проверь свои знания на NIX Online Edu Testing

NIX приглашает тебя поучаствовать в онлайн-тестировании по одной из 17-ти программ обучения. Выполни тест и узнай уровень своей подготовки.

Когда:
с 3 по 24 декабря
Где: онлайн с любого удобного тебе гаджета

В Корпоративном центре обучения NIX есть 17 учебных программ.

В зависимости от направления ты будешь учиться офлайн в Харькове или онлайн. Ты получишь базовые знания по фронтенд и бэкенд-разработке, по бизнес-анализу и в сфере облачных технологий. После обучения ты сможешь уверенно начать карьеру в IT и попробовать себя на позиции Junior-специалиста в команде NIX.

Переходи по ссылке, выбирай понравившуюся программу обучения и проходи онлайн-тестирование ✅
Ващета есть новости поважнее: Go 1.17.5 and 1.16.12

net/http: limit growth of header canonicalization cache

Люблю хттп.

https://groups.google.com/g/golang-announce/c/hcmEScgc00k
Вот ради таких чтив хочется открывать ноут утром.

Весь сок начинается 2 дня назад, когда были новые падение билда, а потом начинается мясо.

Вообще Расс ворвался сильно https://github.com/golang/go/issues/46272
Камешек в сторону интерполяции и неявности, хах.

Log4j though, doesn't treat strings as black boxes. It inspects its contents and checks if it contains any "variables" that need to be resolved before spitting out.

Now there's a bunch of ways to interpolate "variables" into log content. For example something like "Logging from ${java:vm}" will print "Logging from Oracle JVM". I'm not sure but you get the idea.

https://www.lunasec.io/docs/blog/log4j-zero-day/
Интересно, сколько людей после этого эксплоита задумаются о перемудренных решениях и сколько людей что-то таки изменят (хотя бы в своем коде) ? 🤔
> сами сервисы не падали, но невозможно было внести изменения

На самом деле это многое меняет, я думал там падение прям падение было.
Forwarded from AWS Notes
Подробный постмортем падения AWS на несколько часов 7 декабря 2021:

https://aws.amazon.com/message/12721/

Кому нужна выжимка:

• Проблема была во внутренней сети AWS, где крутятся мониторинг и control plain некоторых сервисов. Поэтому сами сервисы не падали, но невозможно было внести изменения, что для некоторых сервисов, например, API Gateway оказалось равным проблемам его работоспособности (делается фикс такого поведения).

• Задержка с отображением проблем на странице статуса в том числе связана с недоступностью мониторинга в результате падения внутренней сети. Так как инженеры AWS долгое время не могли узнать (без мониторинга), что на самом деле происходит.

• Интересно отметить, что причиной послужил код, который уже несколько лет успешно крутится в проде, просто его поведение, когда он масштабируется, не было оттестировано (теперь протестировали – нет, не работает). Автоскелинг выключили, мощности хватает, как дотестируют, включат автоскелинг обратно (может быть).

Дополнительно отмечу для себя интересный факт, что S3 и DynamoDB ресурсы, которые, как и другие, не страдали во время инцидента, однако вот те, что подключены через VPC Endpoint – были недоступны. Причём, как понимаю (чего нет в постмортеме) – речь именно о (бесплатных) Gateway VPC Endpoints, в то время как (платные) Interface endpoints – не пострадали.

Итого: приятно читать столь детальный отчёт, проливающий свет на внутреннюю кухню AWS.

We want to apologize for the impact this event caused for our customers. While we are proud of our track record of availability, we know how critical our services are to our customers, their applications and end users, and their businesses. We know this event impacted many customers in significant ways. We will do everything we can to learn from this event and use it to improve our availability even further.

#postmortem
Там в твиторах и блогах пошел чёс о том как тяжело живется мейнтейнерам, да даже пост выше, что в большинстве случаев правда, но есть некоторое но.

А какого вообще хрена так было сделано?

Я конечно все понимаю, 1я версия либы делалась 20 лет назад (https://github.com/apache/log4j/search?q=jndi&type=commits) и многое было непонятно как писать код...шо? не, ну кроме как СиндромаПоискаАбстракций я не вижу причин, зачем в логгер был впихнут резолвер. Извините меня, деды-жависты.

И тут же второе "но", моё любимое, брать такие зависимости, в которых ты как бы не уверен. Может быть лучше сказать - ты не можешь их прочитать/понять за разумное время, по отношению к их технической сложности. Во как сказанул.

Пример: нереально прочитать за раз 300К строк логгера (половина это core module, мде), а вот pgx на 17к который все же протокол, а не запись стрингов на диск - как-то можно.

(думаю найдутся те, кто скажут, что языки и разные проекты сравнивать неправильно, и будут правы, а может и нет, мою идею вы уловили и мне хватит)

Эскобар был прав по многим вещам, хочется надеяться, что все же кто-то задумается о том, что втягивается в следующем коммите.

Но зато бенчмарки с картинками, красивое https://logging.apache.org/log4j/2.x/performance.html
Не мое, но…ахахахха(((

Разговаривал с товарищами которые работают на кровавые энтерпрайзы. Пацаны уже 5 дней нормально не спят - на выходных обновили версию библиотеки, но теперь все стоят в очереди на деплоймент :) а вы знаете что в энтерпрайсе сервисы принято поднимать в строгой последовательности