Папищеки, а поделитесь в комментариях своими котиками (и вообще своими питомцами)
❤2
#prog
В программировании есть принцип, известный как robustness principle или Postel's law. Одна из его формулировок звучит так:
Be conservative in what you send, be liberal in what you accept
Люди, поддерживающие этот принцип, аргументируют, что он необходим для нормальной коммуникации, особенно на ранних этапах ввода систем в эксплуатацию.
Авторы Maintaining Robust Protocols приводят аргументы против этого принципа, точнее, против одной из его интепретации: обработка ввода, не соответствующего спецификации, не приводит к немедленной ошибке, а проходит с угадыванием намерения того, кто этот ввод прислал. TL;DR: следование robustness principle достаточно большой доли эксплуатируемых реализаций приводит к циклу положительной обратной связи, которая может привести к расхождению между протоколом согласно спецификации и протоколом согласно тому, как он работает реально, и в конечном счёте привести к нарушению совместимости между реализациями, которую robustness principle предположительно поощряет.
В программировании есть принцип, известный как robustness principle или Postel's law. Одна из его формулировок звучит так:
Be conservative in what you send, be liberal in what you accept
Люди, поддерживающие этот принцип, аргументируют, что он необходим для нормальной коммуникации, особенно на ранних этапах ввода систем в эксплуатацию.
Авторы Maintaining Robust Protocols приводят аргументы против этого принципа, точнее, против одной из его интепретации: обработка ввода, не соответствующего спецификации, не приводит к немедленной ошибке, а проходит с угадыванием намерения того, кто этот ввод прислал. TL;DR: следование robustness principle достаточно большой доли эксплуатируемых реализаций приводит к циклу положительной обратной связи, которая может привести к расхождению между протоколом согласно спецификации и протоколом согласно тому, как он работает реально, и в конечном счёте привести к нарушению совместимости между реализациями, которую robustness principle предположительно поощряет.
Wikipedia
Robustness principle
design guideline for software that states: "be conservative in what you do, be liberal in what you accept from others"
❤🔥5🔥2
#prog #db #article
The part of PostgreSQL we hate the most
Или о том, как криво в PostgreSQL реализован MVCC и как это сказывается на производительности, особенно на нагрузках с большим количеством записей.
The part of PostgreSQL we hate the most
Или о том, как криво в PostgreSQL реализован MVCC и как это сказывается на производительности, особенно на нагрузках с большим количеством записей.
Andy Pavlo - Carnegie Mellon University
The Part of PostgreSQL We Hate the Most
As much as Andy loves PostgreSQL, there is one part that is terrible and causes many headaches for people. Learn what it is and why it sucks.
❤7
#prog #db #article
Nine ways to shoot yourself in the foot with PostgreSQL
Статья от 23 апреля 2023, так что некоторые пункты могут быть неактуальны (один уже устарел).
Nine ways to shoot yourself in the foot with PostgreSQL
Статья от 23 апреля 2023, так что некоторые пункты могут быть неактуальны (один уже устарел).
philbooth.me
Nine ways to shoot yourself in the foot with PostgreSQL
Previously for Extreme Learning,
I discussed
all the ways I've broken production using healthchecks.
In this post
I'll do the same for PostgreSQL.
I discussed
all the ways I've broken production using healthchecks.
In this post
I'll do the same for PostgreSQL.
Блог*
#prog #db #article The part of PostgreSQL we hate the most Или о том, как криво в PostgreSQL реализован MVCC и как это сказывается на производительности, особенно на нагрузках с большим количеством записей.
#prog #db #article
Yes, PostgreSQL has problems, but we’re sticking with it!
Статья о том, как обойти некоторые из упомянутых недостатков MVCC. Не без рекламы своего продукта, но вроде штука полезная.
Yes, PostgreSQL has problems, but we’re sticking with it!
Статья о том, как обойти некоторые из упомянутых недостатков MVCC. Не без рекламы своего продукта, но вроде штука полезная.
Andy Pavlo - Carnegie Mellon University
Yes, PostgreSQL Has Problems. But We’re Sticking With It!
Andy explores ways to optimize PostgreSQL for each of the problems caused by the implementation of multi-version concurrency control in PostgreSQL.
Это неправда, что мне не нравятся мускулы.
Нравятся. Просто не на мужчинах. 🌚
Нравятся. Просто не на мужчинах. 🌚
😐14❤2👍2🤮1💯1
Блог*
#prog #rust #menacingopensource github.com/Speykious/cve-rs
GitHub
segfault fails to segfault on windows toolchain · Issue #10 · Speykious/cve-rs
> cargo run segfault Finished dev [unoptimized] target(s) in 0.04s Running `target\debug\cve-rs.exe segfault` 112 thread 'main' panicked at src\segfault.rs:27:5: internal error: entered ...
😁15🤣7❤🔥4🔥1
#prog #go #article
Hiring Challenge: Smallest Golang Websocket Client
TL;DR: если опуститься до голых сисколов, выкинуть GC, пошаманить с линкером для выкидывания лишних секций и компилировать под 32 бита, то можно уменьшить размер на четыре порядка по сравнению с бейзлайном.
Занятно, что избавление от std уменьшает размер вдвое по сравнению с предыдущим шагом. gc слаб в LTO?
(thanks @go_perf)
Hiring Challenge: Smallest Golang Websocket Client
TL;DR: если опуститься до голых сисколов, выкинуть GC, пошаманить с линкером для выкидывания лишних секций и компилировать под 32 бита, то можно уменьшить размер на четыре порядка по сравнению с бейзлайном.
Занятно, что избавление от std уменьшает размер вдвое по сравнению с предыдущим шагом. gc слаб в LTO?
(thanks @go_perf)
Dyte
Hiring Challenge: Smallest golang Websocket Client
Learn to create a compact Go program for a websocket server, optimizing the binary size. Insights from a Dyte hiring challenge.
🤣9🤔1
#prog #rust #suckassstory
trait Trait {Issue
fn abs(self) -> Self;
}
impl Trait for i64 {
fn abs(self) -> Self {
2 * self
}
}
fn main() {
let x = 42;
println!("{}", x.abs()); // 84
println!("{}", x.abs()); // 42
}
GitHub
Surprising non-idempotent behavior on `{integer}` inference + method resolution · Issue #121453 · rust-lang/rust
Excerpt from Zulip (originally https://rust-lang.zulipchat.com/#narrow/stream/144729-t-types/topic/Question.20from.20t-spec/near/422487076): trait Trait { fn abs(self) -> Self; } impl Trait for ...
🤯27😱2👍1😢1🥴1😐1