Блог*
Open in Telegram
Блог со звёздочкой. Много репостов, немножко программирования. Небольшое прикольное комьюнити: @decltype_chat_ptr_t Автор: @insert_reference_here
Show more1 923
Subscribers
+124 hours
-17 days
-830 days
Posts Archive
1 923
#prog #go #article
Hiring Challenge: Smallest Golang Websocket Client
TL;DR: если опуститься до голых сисколов, выкинуть GC, пошаманить с линкером для выкидывания лишних секций и компилировать под 32 бита, то можно уменьшить размер на четыре порядка по сравнению с бейзлайном.
Занятно, что избавление от std уменьшает размер вдвое по сравнению с предыдущим шагом. gc слаб в LTO?
(thanks @go_perf)
1 923
#prog #db #article
Yes, PostgreSQL has problems, but we’re sticking with it!
Статья о том, как обойти некоторые из упомянутых недостатков MVCC. Не без рекламы своего продукта, но вроде штука полезная.
1 923
#prog #db #article
Nine ways to shoot yourself in the foot with PostgreSQL
Статья от 23 апреля 2023, так что некоторые пункты могут быть неактуальны (один уже устарел).
1 923
#prog #db #article
The part of PostgreSQL we hate the most
Или о том, как криво в PostgreSQL реализован MVCC и как это сказывается на производительности, особенно на нагрузках с большим количеством записей.
1 923
#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 предположительно поощряет.
Available now! Telegram Research 2025 — the year's key insights 
