The ExtremeCode Times
41.1K subscribers
571 photos
47 videos
5 files
515 links
IT punks.

❤️ YouTube
https://youtube.com/ExtremeCode

💸 Реклама
@Mshvyag / eaa@extremecode.studio

Для РКН: № 5025353650
Download Telegram
🤡 Тут анонимные источники подкинули закономерную претензию к моему посту про Benchmark сервера на Rust, ну типа вот - есть же HTTP/2 и вот может же сервер реализующий этот протокол отправлять файлы клиентской стороне до того момента, как браузер их запросит.

Приведу последовательность, для примерного понимания происходящих процессов. Обычная, "сильно-упрощенная" схема в классическом Http "из 90-ых", которая работает следующим образом:

Браузер запрашивает index.html ->
Сервер отправляет index.html ->
Браузер парсит разметку, строит DOM и определяет какие файлы нужно дополнительно догрузить ->
Браузер производит запрос на сервер по каждому файлу (или параллельно или последовательно) ->
Сервер последовательно или параллельно отправляет все запрошенные файлы ->
Браузер отображает страницу с учетом всех ресурсов.

Разница HTTP/2 в том, что серверная сторона может заранее определить, распарсив исходный HTML (или захардкодив их в конфиге) — какие файлы могут понадобиться клиенту и сразу же начать их отправку без дополнительных запросов с клиентской стороны.

Под файлами, там понятно — что угодно может быть, и JS и CSS и JPEG'и, вообще не суть.

Только вот проблема в том, что все эти процессы никакого отношения к бенчмарку не имеют - там, как правило, используется статичный Hello World на HTML размером в ~110 байт и без дополнительного контента в виде вышеупомянутых JPEG'ов.

Весь процесс клиент/серверного взаимодействия упрощается до примерно следующего вида:
Клиент запрашивает index.html ->
Сервер отправляет index.html ->

Более того, исходник faf открыт, это не rocket science, а элементарнейший веб сервер. Изучив код в течении 30-и секунд, сразу становится понятно, что там реализован стандартный HTTP/1.1 без выпендрежей.

И даже какой-нибудь хитровыебаный Pipelining конкретно в этом случае физику не обманет — запрос от клиента в любом случае должен произойти. Сервер не может слать ответ на опережение, ОСОБЕННО в случае использования мультиплексирования, как бы ты все клиентские сессии в единый поток не совал, это не так работает.

КАКИМ ОБРАЗОМ это вообще можно представить?

Типа, я как клиент, ОДИН РАЗ запросил страницу, а сервер по приколу решил мне заслать 10/100/1000 абсолютно одинаковых экземпляров страницы, предварительно запихнув их в один Stream? Вообще беды с башкой? 🤡
🤡119👍41😁2🤔1🫡1
👉 Короче, пошарился в самых глубоких частях DarkNet'а и накопал чисто для тебя нормальный и самое главное — халявный гайд по сетевому кодингу в *nix, на нормальном мужицком C.

Если интересно — можешь полистать и ознакомиться, чтобы шарить в теме, и не нести дичь как 🤡🤡 БЛЕЙЗИНГ ФАСТ 🤡🤡 дебилы.

https://beej.us/guide/bgnet/

P.S.
Даже перевод на русский есть, если что. Но там старая версия, апдейты на оригинале выходят чаще, да и свёрстана она лучше.

Поэтому инглиш версия предпочтительней, рекомендую её в первую очередь.
👍68🔥154🤔3🤡3🌚3❤‍🔥1👎1
Разработчик веб сервера faf — 4 дня назад обещал разобраться с причиной этих паранормальных явлений и пропал (видимо в параллельное измерение "Rust-Borderworld" провалился).

Я подписался на этот Issue, буду следить за обновлениями. Даже самому интересно чем всё закончится 😂👍

P.S.
А, ну и еще - я обратил внимание, что очень много интересного контента приходит от вас, мои дорогие отпищечки. Так что не стесняйтесь накидывать в комментарии подобные кейсы. Я буду периодически мониторить и отбирать самые интересные/скандальные вещи.

Всё это в последствии так или иначе перерастёт в часть публикаций здесь. Ну и отбей 👊
👍161😁16👏11🥰7🤡7🤩42🤔2🙏2🌭2
👉 Большинство бенчмарков, которые ты повстречаешь в интернете — всратые.

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

begin = текущая дата
// Код, у которого замеряем время исполнения
log(begin - текущая дата)

И в консольку вывалится время исполнения кода. Но на самом деле доверять этому результату не очень хорошая затея. Просто потому что на время исполнения влияет множество факторов.

Вот, например, кот мог полежать на клавиатуре ноутбука чуть больше, чем обычно. От этого ноутбук нагрелся чуть сильнее, чем обычно. Из-за увеличения температуры количество свободных ионов в проводнике могло увеличиться чуть сильнее, чем обычно. От этого проводящие свойства проводников стали более проводниковыми, чем обычно. И как результат, тактовая частота процессора становится выше чем обычно, из-за чего результаты бенчмаркинга на разогретой машине будут отличаться от охлаждённой, просто потому что кудахтерное "железо" начинает менять свои характеристики.

И подобных моментов реально дофига. Поэтому для бенчмаркинга делают специальные инструменты, чтобы замеры получились более честными.

Как вы думаете, обычный чел из интернетов знаком с этими нюансами? Может да, может нет. Это абсолютный рандом. Поэтому прежде чем верить бенчмаркам, ознакомься с методологией их проведения и вообще всё перепроверь сам. А то каждый рисует циферки, кто какие захочет и носятся потом со своей 🤡🤡БЛЕЙЗИНГ ФАСТ🤡🤡 хернёй по всему интернету.

По-поводу бенчмаркинга и перфоманса в кокнете могу порекомендовать доклад Андрея Акиньшина на ютабе.
👍90🤡25👌9❤‍🔥4🤔4🔥3🥰3😁2🐳2👎1
👉 Тут в ядре самой безопасной операционной системы в мире нашли АНАЛЬНУЮ ТРЕЩИНУ [Это я про Linux, если вдруг кто не понял].

В подсистеме netfilter, которая является по сути фреймворком для работы с сетевыми пакетам, и предоставляет инструментарий для фильтрации трафика (прим. грубо говоря обычный системный firewall). На его базе работает известный почти всем красноглазикам iptables.

Где-то примерно месяц назад в этой подсистеме обнаружился некритичный баг, который осветили в сообществе и подзабили на него болт. Но чел, нашедший уязвимость просто так не сдался и в итоге смог добиться переполнения буфера, с помощью которого из директории /tmp он мог запустить любой код с root правами.

Крч, в зоне риска все пользователи Ubuntu-22.04, так шо если ты патч на ядро еще не накатил, то накати. А то тебя взломают злые хакеры. 🥸
😁93👍24🤡24💩13😱9🤣2🔥1
📄 Материалы прошлой недели

🔶 ЛЕЧИМ ВЫГОРАНИЕ НАРОДНЫМИ МЕТОДАМИ

🔹 ВСЯ СУТЬ BENCHMARK ТЕСТИРОВАНИЯ

🔹 Не учи язык, только потому что он "быстрее"

🔹 Производительность HTTP/2 и мультиплексирование в тестах

🔹 Нормальный, бесплатный гайд по сетевому кодингу в unix

🔹 Про всратые бенчмарки

🔹 Злые хацкеры взломали linux. Вычёркиваем.

Всем чиловых выходных🍦🥴

Ну и если у тебя есть какой-то интересный материал, новость или инфоповод, закидывай его в комменты, самое интересное на следующей недельке разберем👇
🥰48👍116🤡6🙏1🥴1
👉 Вот, знаешь, некоторые неопытные молодые люди регулярно спрашивают про не слишком распространённые платформы/языки. Они делают это для того, чтобы попытаться влезть в программирование через низкоконкурентную нишу. Типа, "вот ща, выучу Q#, через 10 лет весь рот в квантовых компьютерах будет и сразу станут нужны квантовые программисты! Я буду такой востребованный! Мне будут платить миллиарды и никакой конкуренции, недобор же!".

Если у тебя когда-нибудь возникали подобные мысли, то соре. Ты закомплексованный омежка, который ссыт вступить в конкуренцию с челами, которые ложкой в рот попадают через раз. Вместо того, чтобы пердолиться со скалой или эликсиром, возьми старую добрую Java, на которую вакансий в 10000 раз больше, так будет пролазить легче.

Всякие модные сорта говна лучше оставить исключительно опытным бойцам. Они с ними пердолятся ради забавы и стимулирования эрекции путём прямого вливания ПЕРСПЕКТИВНЫХ технологий в чертоги своего разума. Неопытные маслята делают это из-за жизненной необходимости и потому что ссыкуны. Они не одинаковые.

Мораль: Хочешь в айтишку - не выпендривайся, выбирай из популярного, там больше чайников, которых легко уделать. А уже потом, когда станешь большим и крепким, тогда и можешь совать нос в это болото перспективности. В противном случае, за то немногое, что остаётся в области ПЕРСПЕКТИВНЫХ технологий тебе придётся закусываться с сеньорами-помидорами, которые выкормились на популярных технологиях.

P.S. Ставь + в каментах, если тоже хотел влезть в непопулярную залупу, чтобы там не пришлось толкаться локтями с толпами джунов.
🔥184👍85😁137🐳3👎2🤯2😱2🤩1
ЕхтримЦоде на страже ментального здоровья отпищеков ✌️
👏21821👍8🤔8💩5🤡5🙏3😁2👎1🔥1
Ну приветик, мои маленькие любители перформанса.

Я вот тут опять полазил по самым глубинным-глубинам DarkNet'а, и нашел одно занимательное бенчмарк исследование чувака из Canonical, в котором сравнивается производительность разных инструментов для решения задачи подсчёта количества слов в тексте.

Результаты конеш восхитительные.

Во-первых, обычный grep трахнул всех без шансов.

Во-вторых, Zig, на котором написан небезызвестный Bun (принципиально новый JavaScript runtime, убийца Nodejs) занимает очень крепкую позицию.

В-третьих, ЧЁТА RUST НЕДОСТОАТОЧНО 🤡BLAZINGLY FAST🤡
👍93🤡80🤔9😁6🔥43👎3💯1
Forwarded from Ayrat Hudaygulov
Го был сделан гуглом чтобы емплои гугла (очень массово нанимаемые ньюграды в подавляющем большинстве, ничего кроме питона и жс не знающие) могли делать быстрый бекенд быстро.

Если чо, то количество микросервисов на питоне и ноде превышает все разумные пределы. Они делаются моментально на ExpressAPI или FastAPI, но они сука имеют abysmal перформанс.

В масштабах Гугла это крупные потери бабла.

Поэтому они подрядили Роба Пайка сделать простой как полено язык для этой самой задачи - быстро писать бек, но чтобы с перфом. Без изысков чтобы питонисты и нодеры осилили. С тулингом который позволит всем сразу деплоить в прод.

Я считаю Пайк прекрасно справился с задачей и Го прекрасно решает проблемы Гугла.

Только вы не Гугл.
👏196🤡46🤔18😁16👍8🤩8🤮6🔥41
Forwarded from Ayrat Hudaygulov
Все что сложнее перекладывания жсонов между кафками и ответа 200 по хттп на Го выглядит как кусок говна
139🐳59🤡21😁13🤔9👍8❤‍🔥6💩5👏4😢4
👉 IT KEKW NEWS из КиберБеза:
Microsoft сотрудничает с AMD/Intel/Qualcomm для внедрения своего чипа Pluton в новые процессоры.

Что такое Pluton? — Небольшой чип, который предоставляет хардварный способ защиты операционной системы. При этом он должен быть встроен в ЦП. Это такое виденье будущей кибербезопасности у корпорации добра и розовых пони.

Я тут как обычно лазил по даркнету, и нашел очешуительный разбор, чем это может грозить дефолтному пользователю персонального компьютера:

1. Больше никакого Linux на ваших персональных кудахтерах (наконец-то), если Microsoft не предоставит UEFI-сертификаты для вашего железа, сменить операционную систему будет не возможно

2. Интеграция Windows Update до уровня железа, + потенциально встроенная защита от даунгрейдов

3. Лицушные ключи можно будет безопасно хранить в этом супер-секурном чипе -> невзламываемый DRM.

Чипочек уже кстати поставляется в мобильные Ryzen 6000 серии.

Но из хорошего, Lenovo и Dell хоть и будут включать его в свое железо (процессор из компа сложно выкинуть, не так ли?) — собираются держать этот модуль деактивированным, но это не точно.

Ну чё, ❤️ или 💩
💩75115👍13🤡9🤬3👎2🤔2🌚2🎉1🤮1
Признавайтесь, кто уже успел стать жертвой пропаганды F# в нашем чате? 🧐
🤡177😁2610👍6🤔5🤮5💩5🔥1
👉 Debian отсудил домен debian.community, на котором публиковалась критика проекта

Так, я сейчас вот не совсем понял. Это получается что? Критика Open Source проекта оказывается может повлиять на бизнес этого самого Open Source проекта 😱

Обалдеть, вот это вот открытие. Вся картина моего мира только что перевернулась с ног на голову. Я если честно в шоке и испытываю легкое чувство негодования по этому поводу. Никогда такого не было. Ужас, что творится 😳

Кстати, линуксятники: жду ваших комментариев по этому поводу

Источник
💩74🤯9👍6👏6😁6🤡4🤔2🤬2
Предлагаю тебе вкатиться в простую историю появления принципов или парадигм написания кода и понять, каким образом это всё стыкуется и используется в наших современных языках программирования.

P.S.
Ну и если я какой-то текст дочитываю до конца, то никогда не поленюсь поставить лайк и в комменте написать что-то типа: "Братан, хорош, давай, давай, вперёд! Контент в кайф, можно ещё? Вообще красавчик! Можно вот этого вот почаще?"

https://www.youtube.com/watch?v=JB0nxT8Pp0E
👍186🤡32❤‍🔥17🔥7🌭5🤩3🥰1👏1😁1🎉1
👉 Твой СЕО моему в подметки не годится. Мой ебашит вообще адовые стартапы. Ну такой вот примерно роадмап усредненный, потому что вариаций масса.

Берется команда задротов с синдромом самозванца, им не платят премии, платить премии – это не про моего СЕО. Он берет этих задротов, вываливает на них свои Agile-процессы и начинает жарить. Добавляет к ним огромное количество обещаний, опционов, встреч стартаперов и потценциальных инвесторов, АКСЕЛЕРАТОРЫ!

Для переработок — пиздливого менеджера сверху.

Всё это программирует до выгорания. Потом снимается с разработки и остывает на техподдержке. Потом СЕО заносит стартап на акселерацию и щедро полив пиздливой статистикой начинает питчить. При этом питчит со сцены шкрябая по интерактивной доске пальцем. Питчит и приговаривает полушепотом "ух бля, мы почти компания-единорог". При этом у него на лбу аж пот выступает. Любезно мне иногда предлагает вложится, но я отказываюсь.

Надо ли говорить о том какой дичайший технический долг потом? Вонища такая, что обои от стен отклеиваются.
😁197🤡32👍28🥰11💩9🔥6👏52
👉 Помните эпопею с увольнением сотрудников в xsolla?

Наши австралийские друзья из Shopify, не отстают и уволили нахер около 10% сотрудников, разослав им e-mail'ы. Как вы думаете, как они выбирали кого увольнять: нейросети или просто рандомайзер?

P.S.
Вот и крах дутых АйТишных пузырей поехал. Неудивительно, что некоторые уволенные сотрудники были доведены до слёз.

И это еще летний сезон отпусков продолжается, хех. Дальше будет хуже.
🤡72😱32👍16😢42😁2🐳2
Какие глобалные компании в текущем кризисе первее начнут сокращать работяг?
Anonymous Poll
22%
FAANG
22%
Microsoft
15%
Spotify
36%
EPAM
6%
Свой вариант, в комментах
🤔64💩12👍4😱3😢2🤬1🎉1
👉 Появилась замена для C++ под названием Carbon — сотрудник из корпорации радужных единорогов и розовых пони (Google) представил свой проект на github

В чем мотивация? Да в том, что у многих "устаревших" и уже нехайповых, среди зумеров, языков программирования давным-давно назрели актуальные "замены". Которые объективно во всём лучше своих предшественников и в качестве примера приводятся следующие аналогии:

JavaScript → TypeScript
Java → Kotlin
C++ → Carbon

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

А так компилятор нового совместимого языка написан с использованием LLVM, плюс ко всему Carbon позволяет внедрятся в уже существующие C++ проекты, так что в разработке можно будет комбинировать языки.

Хз короче, кому как, но лично мне синтаксис кажется вообще максимально оторванным от крестов/си, опять при переходе придется учить 100500 новых кейвордов.

Короче, продолжаем хлебать смузи и бахать на очередном хайповом 🤡BLAZINGLY FAST🤡 и конечно же, самое главное 🤡MEMORY SAFE🤡 языке. Судя по звездочкам на гитхубе, спрос на такое от людей есть. Ну а нейросети нас с таким дрочиловом конечно же не скоро заменят.

P.S.
Автор мог бы хотя бы от ; избавиться за компанию, но нет, видимо не в этот раз 🧐
🤡151🔥39🌭27💩17👍16🤔11🤮9😁5😢2🥰1