(короч не будет ккооомбо саксес сториз)
Самое прикольное, что весь проект на гитхабе лежит
https://xn--r1a.website/teamerlin/5315
https://github.com/hullarb/grank
Самое прикольное, что весь проект на гитхабе лежит
https://xn--r1a.website/teamerlin/5315
https://github.com/hullarb/grank
Telegram
Мерлин заваривает чай☕️
Сайт с рейтингом и трендами Go пакетов. Дизайн очень инженерный, но минималистичный, мне нравится. Вот ещё краткое описание выводилось — цены бы не было
https://www.grank.io/about.html
https://www.grank.io/about.html
Тут оказывается кто-то интернет сломал
https://xn--r1a.website/linkmeup_podcast/1945
Теперь понятно откуда этот инцидент у Cloudflare https://www.cloudflarestatus.com/incidents/46z55mdhg0t5
https://xn--r1a.website/linkmeup_podcast/1945
Теперь понятно откуда этот инцидент у Cloudflare https://www.cloudflarestatus.com/incidents/46z55mdhg0t5
Telegram
linkmeup
Начали подъезжать разборы глобального утреннего косяка в BGP. Кто пропустил: 20к префиксов были перенаправлены через AS396531 и затем ушли в мир через их транзитного провайдера Verizon (AS701). Весело было 3 часа. Особенно веселились в Cloudflare, Facebook…
oleg_log
Тут оказывается кто-то интернет сломал https://xn--r1a.website/linkmeup_podcast/1945 Теперь понятно откуда этот инцидент у Cloudflare https://www.cloudflarestatus.com/incidents/46z55mdhg0t5
...а вот и постмортем, легко заметить раздраженный тон автора и нападки на виновника Verizon.
Статья как всегда отличная, советую почитать как тот скучный слой интернета сделан.
https://blog.cloudflare.com/how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-today/
Статья как всегда отличная, советую почитать как тот скучный слой интернета сделан.
https://blog.cloudflare.com/how-verizon-and-a-bgp-optimizer-knocked-large-parts-of-the-internet-offline-today/
The Cloudflare Blog
How Verizon and a BGP Optimizer Knocked Large Parts of the Internet Offline Today
Today at 10:30UTC, the Internet had a small heart attack. A small company in Northern Pennsylvania became a preferred path of many Internet routes through Verizon (AS701), a major Internet transit provider.
Лол, оракл выкатил свою реализацию OpenContainters initiative на Расте. Хех, попытка отхватить хайпа?
https://github.com/oracle/railcar
https://github.com/oracle/railcar
GitHub
GitHub - oracle/railcar: RailCar: Rust implementation of the Open Containers Initiative oci-runtime
RailCar: Rust implementation of the Open Containers Initiative oci-runtime - GitHub - oracle/railcar: RailCar: Rust implementation of the Open Containers Initiative oci-runtime
В этой строке прекрасно все
MultiDcRepositoryCommandExecutor multiDcRepositoryCommandExecutor(ZookeeperGroupRepositoryFactory zookeeperGroupRepositoryFactory)Было:
и комент:
Спасибо синьерам за выработку кортизола в моем теле
stream()Говорю на ревью, давай так:
.filter(some_heavy_filter() && some_easy_check())
stream()в мастере:
.filter(some_easy_check())
.filter(some_heavy_filter())
stream()
.filter(some_heavy_filter())
.filter(some_easy_check())
и комент:
doneСпасибо синьерам за выработку кортизола в моем теле
oleg_log
Было: stream() .filter(some_heavy_filter() && some_easy_check()) Говорю на ревью, давай так: stream() .filter(some_easy_check()) .filter(some_heavy_filter()) в мастере: stream() .filter(some_heavy_filter()) .filter(some_easy_check()) и комент: done Спасибо…
Да, там реально стоило разбить и сделать простой чек раньше.
Кроме красоты, это еще чуток узкое место, и пару десятков тыщ рпс пролетающие через фильтр это подтверждают.
Кроме красоты, это еще чуток узкое место, и пару десятков тыщ рпс пролетающие через фильтр это подтверждают.
Сейчас я пишу одну из самых отвратительных вещей в жизни.
Если кратко, то я играюсь с ооп фабриками, спринг контекстами и перекидыванием классов между публичным и приватным проектами.
Все бы ничего, но приходится писать костыли во имя блага (иначе придется еще больше вещей переделывать)(один из основных авторов одобрил, я чист).
Офкорс можно ругать архитектуру и вообще мой дед написал бы лучше™, но так уж вышло.
Често говоря меня выбешивает другое: циклические зависимости. Не явные, но все же циклические. Когда оказывается, что пакеты между собой связаны в кольцо длиной 5 (foo -> bar -> baz -> quz -> foo, wtf?)
Выстраданная мысль: спагетти начинается не с кода, а с модулей/пакетом/неймспейсов.
"he will not divide us" - звучит как лозунг херовенько организованных модулей, в которые я несу демократию и фичи👌
Если кратко, то я играюсь с ооп фабриками, спринг контекстами и перекидыванием классов между публичным и приватным проектами.
Все бы ничего, но приходится писать костыли во имя блага (иначе придется еще больше вещей переделывать)(один из основных авторов одобрил, я чист).
Офкорс можно ругать архитектуру и вообще мой дед написал бы лучше™, но так уж вышло.
Често говоря меня выбешивает другое: циклические зависимости. Не явные, но все же циклические. Когда оказывается, что пакеты между собой связаны в кольцо длиной 5 (foo -> bar -> baz -> quz -> foo, wtf?)
Выстраданная мысль: спагетти начинается не с кода, а с модулей/пакетом/неймспейсов.
"he will not divide us" - звучит как лозунг херовенько организованных модулей, в которые я несу демократию и фичи👌
Дед Боб сцепился с Джеффом со стековерфлоу и испортили всем ленту в твиторе каждый раз одно и тоже...
Рандом чел - Types + tests > tests
Дед Боб - Not necessarily. Types come with significant costs.
Но ведь: Tests aren't free either
Дедуле пора на пенсию.
https://mobile.twitter.com/codinghorror/status/1141848007404425221
Рандом чел - Types + tests > tests
Дед Боб - Not necessarily. Types come with significant costs.
Но ведь: Tests aren't free either
Дедуле пора на пенсию.
https://mobile.twitter.com/codinghorror/status/1141848007404425221
Twitter
Jeff Atwood
Can we all just agree at this point that "we don't need strict typing, unit testing is all you need" was dumb, wrong .. and bad? https://t.co/zwaSjAcCV8
1й билд дня начинатеся с этого:
А если и лежит, то какой же это надо иметь объем запросов, чтобы мне кидало 403 ? для CDN думаю смешной.
Космонавты архитектуры, чесслово
UPD: мавен репо живет за плечами Fastly, спасибо за уточнение (тут упоминается https://www.fastly.com/customers/sonatype)
Could not GET 'https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.4/jackson-annotations-2.9.4.pom'. Received status code 403 from server: ForbiddenОк, допустим я превысил квоту на скачивание, теперь хороший вопрос, а почему оно не лежит в CDN?
А если и лежит, то какой же это надо иметь объем запросов, чтобы мне кидало 403 ? для CDN думаю смешной.
Космонавты архитектуры, чесслово
UPD: мавен репо живет за плечами Fastly, спасибо за уточнение (тут упоминается https://www.fastly.com/customers/sonatype)
Fastly
Sonatype : Fastly customer case study
Sonatype served over 30 billion requests for such components in 2015, and continues to add thousands of new or updated components daily.
Хорошая задачка на самом деле, да и ответ не замудренный.
Кстати, еще одна близкая и хорошая: напишите генератор строк с одинаковым хешем (жавовским к примеру)
https://xn--r1a.website/numstation/1514
Кстати, еще одна близкая и хорошая: напишите генератор строк с одинаковым хешем (жавовским к примеру)
https://xn--r1a.website/numstation/1514
Telegram
Numbers Station Omega
В комментариях ещё и предложения интересные
https://twitter.com/korifey_ad/status/1143474874603773952?s=19
https://twitter.com/korifey_ad/status/1143474874603773952?s=19
ExponentiallyDecayingReservoir это такой крутой контейнер для метрик, который выжирает под 1.5гб рама и висит там очень долго (почти забирая треть рама сервиса).А потому что внутри ConcurrentSkipListMap. А она далеко не легко весная, а метрик хочется больше. Но не такой же ценой, блин.
(резервуар из пакета com/codahale/metrics если что)
Узнал сегодня о макросе
https://doc.rust-lang.org/std/macro.include.html
И более адекватные братья
Казалось бы, причем тут префикс
include в Rust, который парсит заданный файл как выражение на расте. В доке сразу советуют им не пользоваться лишний раз. Действительно, странно-опасная штука, контект выражения смешивается с округающим кодом. Но круто, да./// File 'monkeys.in':
['🙈', '🙊', '🙉']
.iter()
.cycle()
.take(6)
.collect::<String>()
/// File 'main.rs':
fn main() {
let my_string = include!("monkeys.in");
assert_eq!("🙈🙊🙉🙈🙊🙉", my_string);
println!("{}", my_string);
}
https://doc.rust-lang.org/std/macro.include.html
И более адекватные братья
include_bytes & include_str. Работаю так же, ток типы байт аррей и строка соотв.Казалось бы, причем тут префикс
include, а как подсказал друг, это смахивает на include из си. Как помню в ранних версиях это просто означало: вставь этот файл сюда и компиль (хотя си далеко от этой мысли не ушел)doc.rust-lang.org
include in std - Rust
Parses a file as an expression or an item according to the context.
Штош, в го завозят
https://blog.golang.org/go2-next-steps
try к 1.14, разрешают накладывание интерфейсов, ругаются на strings(int), улучшают криптографию. Авеhttps://blog.golang.org/go2-next-steps
oleg_log
Штош, в го завозят try к 1.14, разрешают накладывание интерфейсов, ругаются на strings(int), улучшают криптографию. Аве https://blog.golang.org/go2-next-steps
Если кратко, то try работает так. Там есть одна тонкость, когда он используется с
go и defer. Пользоваться можно, но смысл сомнительный.
oleg_log
Если кратко, то try работает так. Там есть одна тонкость, когда он используется с go и defer. Пользоваться можно, но смысл сомнительный.
Do…or do not. There will be a try.
(c)
(c)