- 1
Пиздец-оффтоп #130
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
Пиздец-оффтоп #130
#100: https://govnokod.ru/28940 https://govnokod.xyz/_28940
#101: https://govnokod.ru/28949 https://govnokod.xyz/_28949
#102: https://govnokod.ru/28978 https://govnokod.xyz/_28978
#103: https://govnokod.ru/28982 https://govnokod.xyz/_28982
#104: https://govnokod.ru/28989 https://govnokod.xyz/_28989
#105: https://govnokod.ru/29052 https://govnokod.xyz/_29052
#106: https://govnokod.ru/29069 https://govnokod.xyz/_29069
#107: https://govnokod.ru/29086 https://govnokod.xyz/_29086
#108: https://govnokod.ru/29102 https://govnokod.xyz/_29102
#109: https://govnokod.ru/29126 https://govnokod.xyz/_29126
#110: https://govnokod.ru/29136 https://govnokod.xyz/_29136
#111: https://govnokod.ru/29142 https://govnokod.xyz/_29142
#112: https://govnokod.ru/29155 https://govnokod.xyz/_29155
#113: https://govnokod.ru/29160 https://govnokod.xyz/_29160
#114: https://govnokod.ru/29165 https://govnokod.xyz/_29165
#115: https://govnokod.ru/29173 https://govnokod.xyz/_29173
#116: https://govnokod.ru/29174 https://govnokod.xyz/_29174
#117: https://govnokod.ru/29182 https://govnokod.xyz/_29182
#118: https://govnokod.ru/29191 https://govnokod.xyz/_29191
#119: https://govnokod.ru/29196 https://govnokod.xyz/_29196
#120: https://govnokod.ru/29205 https://govnokod.xyz/_29205
#121: https://govnokod.ru/29216 https://govnokod.xyz/_29216
#122: https://govnokod.ru/29219 https://govnokod.xyz/_29219
#123: https://govnokod.ru/29232 https://govnokod.xyz/_29232
#124: https://govnokod.ru/29237 https://govnokod.xyz/_29237
#125: https://govnokod.ru/29239 https://govnokod.xyz/_29239
#126: https://govnokod.ru/29244 https://govnokod.xyz/_29244
#127: https://govnokod.ru/29248 https://govnokod.xyz/_29248
#128: https://govnokod.ru/29251 https://govnokod.xyz/_29251
#129: https://govnokod.ru/29257 https://govnokod.xyz/_29257
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
* https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
* https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)
Примечание: автоматические перекаты в настоящее время осуществляются только с аккаунта nepeKamHblu_nemyx.
Остерегайтесь подделок. Берегите себя и своих близких. Кок!
>>>
Не берите эту дрянь. Не трогайте даже руками. Не покупайте её. Не режьте. И даже не думайте жевать ротом. И уж тем более глотать желудком.
И, главное, не чешите глаза. Никогда.
>>>
ахаха дебил
--Да нет! Надо проголосовать за Даванкова из Новых Людей, Путин испугается, и убежит.
Но дальше всех пошел антивоенный феминистский коммитет. Они решили через сайт Госуслуг принять участие в праймериз Единой России, чтобы туда попало поменьше противников абортов, ведь Единая Россия всегда слушает мнение простых россиян. И вот такого Путин точно не выдержит.
А ты что сделал для его свержения?
если ты против войны нужно заснутуь в жопу банан
«Всю неделю открывать окна, шуметь, стучать по кастрюлям». Политик Екатерина Дунцова предложила устроить «домашний протест» за свободный интернет. И попросила Путина ответить, законно ли это
Да блядь даже смена режима мало что меняет, вчерашние советские коммунисты, метнулись в дерьмократы, потом стали путинистами, потом станут ещё кем-нибудь.
-- South park
я релоцировался в нигерланды/швецию и даю оттуда полезные советы и конструктивную критику
Ну и да, часть моего inkomstenbelasting идёт туда. Но это я как само собой разумеющееся воспринимаю.
для остального существуют бесплатные невыездные хохлы
хорошо придумал!
послушаем самим хохлов
https://nv.ua/world/geopolitics/voennaya-pomoshch-shveciya-peredaet-ukraine-oruzhie-na-836-mln-dollarov-50544238.html
https://24tv.ua/geopolitics/ru/voennaja-pomoshh-niderlandy-peredajut-ukraine-korabli-chto-izvestno-geopolitika_n2838995
правда жопу им прикрывают не свои а чужие мальчики, но это мелочи
у хорошего русского и жопа хорошая
так ты ответь на вопрос, кто её прикрывает
тебе это не нужно
Про мобилизацию тогда и представить не мог, думал что катастрофа сначала начётся как раз с массовых преследований и внутреннего пожирания. Но от мобилизации меня тоже прикрывает расстояние.
У хуйла нет задачи в виде жопы россиянина. Последняя регулярно попадает под раздачу, но это collateral damage при преследовании поехавшими совершенно других целей. Единственный раз, когда задача включала в себя цель перемалывания населения непосредственно, был той самой мобилизацией. Можно спокойно жить сегодня в мск как в 2020, с некоторой разницей в наборе бизнесов вокруг и усложнившемся поиском работы айтишником, но последнее мировой тренд. Если хиханьки хаханьки вокруг сводок милова дойдут до реальности, тогда станет действительно озорно, но миллионы российских скуфов как сидели и ни о чём не думали, так и продолжают играть в танки.
Несправедливо ли то, что реально воюет только население одной страны без наличия выбора, в то время как противоположная страна идёт строями каннибалов разменивать жизни на деньги? Пиздец как. И у меня нет толком слов, чтобы выразить, как.
У меня есть друг, которому близится двадцать пять, с которым мы общаемся буквально каждый день. И я не знаю даже как сформировать своё отношение. Или тем более вербализовать его. Когда все выражения типа "военный преступник" или "диктатор" это просто ёбаное клише, не отражающее происходящее безумие в хоть сколько-нибудь значимой мере.
Но мои деньги ушли не только налогами. Там есть нидерландские скорые, выкупленные волонтёрами на донаты. Шипилёв предлагал оплатить продуктовые покупки беженцам (я тогда сидел без малейшего понимания, удастся ли вообще получить паспорт и следом за ним зарплату за несколько месяцев, лол). За одну попытку перевести деньги по IBAN банк пошёл дрочить меня по KYC и потом выписал предостережение от переводов в рф и рб (где такой штуки как IBAN не существует вообще в принципе).
это было до переезда или после?
такова цена свободы
чужой )))
freedom ain't free как грится
но ты не унывай там
не забывай каждый день рассказывать местным прикрывателям твоей жопы как заебись тебе в нигерландах
и как ты борешься с режимом за 3% подоходного
Регулярная критика тут про примерно такое же расщепление мышления общественности с реальностью, как у хуйла. Некоторые вещи имели спорный смысл десять лет назад (с осознанием, что их надо было делать ещё на декаду раньше). Сейчас остаётся только признать, что вся эта история совершенно точно не работает, что никакие выборы никого на самом деле не ебут, никакие элиты (это вообще кто? если называть жирными котами, то понятно, но слово "элиты" обычно подразумевает активное участие в принятии решений) ничего предпринимать не будут и напротив выстроились по струнке в 2022, когда на деда можно было просто нассать или втихую съебать. Между этим мышлением и мышлением НОД нет большой разницы, потому что ни в одном из двух случаев запрашиваемые действия не изменят вообще ничего, т.к. они никак не коррелируют с актуальной ситуацией.
на пьяные откровения очень похоже
> что никакие выборы
> никакие элиты
найден набор молодого слактивиста
план А: ему власть сама должна на выборах отдать красную кнопку и ключи от квартиры где бюджет лежит
ну типа ты хороший такой
хорошее говоришь
если план А не выгорел, то есть план Б где какие-то элиты должны сделать заебись
план В - это где блоггеры должны правильное говорить
тоже обломали гады
но остаётся план Д: бесплатные хохлы в товарных количествах
жалко конечно слов нет, слёзы на очах
но хороший русский на какие только жертвы не пойдёт
И результат войны никак не повлияет на продолжение власти тоже.
а опровержение будет?
но ещё и из-под анона
Подпиши уже контракт, заебал
но я не думаю что он из тех кто куда-то подпишется
будет в интернете воевать как обычно
Отрицаю.
> невсётакоднозначно
А по ссылке ты ходил? Вроде там всё более чем однозначно.
однозначно что ты вата?
А уютненький это очень гибкая площадка, каждый лепит из неё что-то под свой вкус
Стертор накручивал педофильское q&a, Конардо шпарил маркетплейс хуястых кавказцев. Сёма сооружал двач, а ребята вот творят 140 символов
Видимо дроны сбивает
У этих банков денег хоть жопой жуй, пусть сами себе ПВО устанавливают, а мне свою жопу защищать нужно
И твои дети тоже!
любители пернатых инопланетян
любители тут симулятор скоро нарисуется
Mijn leerlingen weten niet waarom ze op 5 mei vrij zijn, maar ze weten wel alles over de hadj
диды воевали!
Охуеть теперь. Талибан нельзя критиковать, как и царя.
Как меня всё заебало, блядь. Уже нихуя нельзя сказать, блядь, за всё могут оштрафовать, пидоры ёбаные.
Кстати, «Талибан» до сих пор в списке террористов, номер 11:
http://www.fsb.ru/fsb/npd/terror.htm
Только вот написано, что недавно запрет деятельности приостановлен. Как это понимать? Т. е. сейчас талибам временно разрешили взрывать бомбы на территории РФ?
Общее правило такое, что нужно сидеть и не пидеть.
Понял?
Пускай становится в очередь на голландский штурвал с Дмитрием Сергеевичем и Александром Григорьевичем
Член Союза писателей СССР с 1956 года
Герой Социалистического Труда (1986)
Лауреат Государственной премии СССР (1969)
Лауреат Сталинской премии второй степени (1952)
После 1991-го года вдруг резко разочаровался в большевиках:
В интервью 1995 года Лихачёв говорил следующее:
Ведь что такое… Октябрьский переворот? Против кого он был направлен? Против интеллигенции. Первый год во власти стояли полузнайки. Стали арестовывать профессоров…
В 1998 году Лихачёв убедил Ельцина приехать на церемонию захоронения останков членов царской семьи Дмитрий Сергеевич писал Ельцину: «вы как президент страны обязаны присутствовать на похоронах представителей последней легитимной власти России».
Как тебе их запах?
https://www.youtube.com/watch?v=z3pV6FHvcgM
“He Died Doing What He Loved: Being Stupid”
https://uimg.pravda.com.ua/buckets/upstatic/images/doc/5/a/502041/5a5fd2d-------.jpg?w=680&q=90
Если газета называется ``Правда'', значит можно верить. Это любой советский гражданин знает. А ещё есть truth.social: Социалистическая Правда. Такой вообще можно воду заряжать.
Sorry, you have been blocked
You are unable to access donaldjtrump.com
Наверное тобы я правду не узнал
SSL added and removed here :^)
Just to be a dog in your apartment
https://cs16.pikabu.ru/s/2026/06/09/13/roih2s6p.jpg
https://www.instagram.com/p/DZffbV1kWUw/
даже гугл знает
https://msrc.microsoft.com/update-guide/en-US/vulnerability/CVE-2026-47291
Вообще мне нравится мысль в ядре слушать на весь интернет такой простой и надежный протокол как HTTP, особенно когда оно написано на СИ.
Что могло пойи не так?
Примерно как ротоёбы выводят сообщения об ошибках прямо на страницу посреди конь-тента.
В частности, «Авито» при попытке зарегистрироваться через почту Google выдает сообщение, что «по закону нельзя входить и регистрироваться с помощью иностранных сервисов».
Пользователям предлагается войти другим способом или восстановить доступ по телефону
Экономика и не только
107K
1d ago
Экономист Максим Миронов
https://devblogs.microsoft.com/oldnewthing/20260615-00/?p=112419
Instead of generating a loop to initialize each byte of the buffer, the compiler “optimized” the code by unrolling the loop into 65,536 individual “write byte to memory” instructions, each 4 bytes long.
https://www.fontanka.ru/2026/06/18/76485810/
толи он уважаемый бизнесмен и друг самого Владимира Владимировича, которого по ошибке допросили глуповатые менты
И поскольку непонятно, Вышенков старается быть осторожным
Вот когда его официально посадят (если посадят) и прессе дадут команду его мочить, вот тогда Вышенков напишет что фабер был гавнюк и вор, и человека в самолете избил
Не ебу кто это, но после такой статьи прям хоцца любовные письма писать и посылочки слать. Хитро-хитро
Вакансия: Java Разработчик (с опытом разработки на Go)
а вообще у них там хорошо https://zebrains.ru/services/digital-audit/#checkup
https://www.zabbix.com/pr/pr272
Но я скорее про то, что запускать на продакшен сервере какую-то поебень от рута которая по сети ходит нормальному админу должно быть стремно
Да, мы всё знаем про сегментацтю сетей, и понимаем, что она должна ходить по отдельному вилану и общаться строго только с забиксом, но всё равно лишняя хуйня от рута/локалсистем не айс: https://nvd.nist.gov/vuln/detail/CVE-2025-27237
Тем не менее, я знаю сети, где он работает, и вовремя сообщает что там на воооооооон той коробочке в углу место кончилось, и это как-бы спасает
https://i.postimg.cc/8PXmxgHp/image.png
такой булщитный снейкоил конечно, всё как я люблю
Давай сделаем тебе АИ-трансформацию за 2 миллиона рублей?
https://i.postimg.cc/SR2vjLkn/Smart-Book-1781809563542.jpg
Так пойдёт?
https://codeberg.org/xolatgames/Vasya-go-to-home/src/commit/831ce22fd0c027bb059db10ca35495e4fb96ed4d/src/game/level.rs#L140
Много непонятной фигни появилось, которая банит ни за что.
У меня Озон и Вайлдберис перестали работать в браузере Cromite. Это Chromium с патчами, чтобы меньше фингерпринтов о себе оставлять, а некоторым сайтам это не нравится, им хочется датамайнить бигдату.
https://github.com/TecharoHQ/anubis
Ботам пофигу, а людей раздражает.
in een duister ver verleden...
блядь какой смешной код: https://github.com/TecharoHQ/anubis/blob/main/internal/dnsbl/droneblresponse_string.go
ps: мда
This is an automated check to get rid of most bots. If you have JavaScript enabled, it should redirect to the
real page soon. If you don't, it still should redirect soon, but you can click here if you're fast.
шатай систему
ненавидь сраный попсовый гитхаб продавшийся M$
Git распределённая система, с которой можно работать кучей способов, но инженегр без пулл-реквеста в жопе уже не мог
Ook Den Haag speelt een grote rol in haar verhaal. Vanja noemt de stad nadrukkelijk een Indische stad. 'Er wonen superveel mensen met een Indische achtergrond
TypeScript 7.0 now treats Unicode code points more naturally when inferring from template literal types.
питерцы это вам
Угарно выглядит Content-Type: application/xslt+xml и application/jsonpath в запросе.
Я как-то видел multipart/mixed с boundary (как в е-мейле) вместо привычного application/x-www-form-urlencoded. Браузеры это позволяют сделать.
а так-то кто эластиком пользовался, тот знает, что ни гет, ни пост на самом деле нихуя не подходят
Программист Питузий не знает, что в прыщавом ядре нет понятия "кодировки имени файла": это просто `char[]`, а чар у сишников значит "байт" (ну, ебанутые!)
А вот в ЙАЖА конечно char это двубайтовый кодпоинт. Потому ЙАЖА на прыще не использует чары и строки для представления файлов, а тихонечко хранит `byte[]` и передает его во всякие `open(2)` и ей заебись.
Но Питузий ловко превращает имя файла в String, используя текущую кодировку, и услужливая ЙАЖА превращает неизвестные кодировке байты в значок вопросика.
Теперь Питузий никогда не сможет открыть файл, потому что имя проебано.
Глупый Петузий, не используй строку для имени файла!
Почему «конечно»? А как кодировать кодпоинты, которые выше 0xFFFF? Использовать суррогаты, как в UTF-16? Или ронять апликацию с exception, как сделал сами знаете кто при переезде на новый хостинг, забыв включить utf8_mb4? Или заменять вопросиками, как Б. Г.?
"как" здесь лишнее
В шестой при запуске с -XX:UseCompressedStrings могла использоваться другая кодировка, если строка содержит только базовую латиницу. Потом отменили, но в девятой снова ввели зожатый формат, но уже по ключу -XX:-CompactStrings.
В некоторых конь-текстах для сериализации используется CESU-8 (модифицированная UTF-8, когда кодируются не сырые кодпоинты, а UTF-16), например, в class-файлах. Но в StringBuffer etc., конечно, UTF-16.
Главное, вывалить some arbitrary knowledge
У сишки очень плохая семантика. В ней и у массива непонятный статус (per se массив — это просто указатель, а если его завернуть в структуру, он вдруг становится настоящим массивом).
Сложный для программиста язык ценой простоты реализации в 1970-м году. Фортран и то интуитивно понятнее.
https://www.instagram.com/reel/DZz_EtXsF-p/
Здравствуйте
Если у вас есть идеи по улучшению жизни в нашей стране, предложите их на форум «Сильные идеи для нового времени»
Другие мои идеи наверное не примете, поэтому: что думаете о разрешении денису чернухину свободно стрелять картечью?
Народы, боготворившие русских, начинали нас ненавидеть меньше чем за год. Народы, ненавидевшие нас, становились союзниками за месяцы. А уж сколько раз предрекали полное разрушение России, говорили, что у России нет и не может быть никакого будущего, что читать эти статьи, смотреть четырехчасовые интервью про это сейчас просто-напросто смешно. Ведь я могу посмотреть на все это глазами своих предков. Они продолжали жить свои жизни. В моей семье нет ни одного эмигранта, ни одного человека, уехавшего из Москвы, а семья у меня немаленькая.
Зы: копиум и правда заебал
к сожалению, твиттер в РФ забанен, и потому путин ничего не прочитал, и пуля ушла в молоко
Отец знакомого работает в лунапарке. Сегодня срочно вызвали на совещание с элитами. Вернулся поздно и ничего не объяснил. Сказал лишь собирать вещи и бежать в магазин за продуктами на две недели. Сейчас едем куда-то далеко за город. Не знаю что происходит, но мне кажется началось...
любители нарковрановых это вам
https://news.mail.ru/politics/71370648/
Мне «ООН-женщину», пожалуйста
Можете у Путина уточнить война будет на чьей территории? Чтобы я заранее подстраивал планы.
Если серьёзно, то мне что-то кажется, что от территории Европы (континента) в ближайшие лет 5 лучше держаться подальше. Понимаете, каждые несколько декад мы с друзьями ходим в баню. Это у нас такая традиция.
а мы есть
потому вас не существует
А нам эта земля вообще три тысячи лет назад была обещана, съел?
P.S. Ну да, именно так оно и работает.
Пришли, дали пизды местным, и живут.
И только любимый Гологубом народец постоянно потрясает какими-то свитками трехтыщелетней давности, и говорит, что это не просто так дал пизды местным, а потому что им Г*сподь сказал её им дать
Не стоит забывать Нью-Мехико, Аризону и ещё половину западного побережья, включая Калифорнию, вплоть до Вайоминга. Учитесь, студенты:
А вот это, кстати, интересный вопрос. Думаю, ответ примерно такой: большинство людей по своей природе не любят агрессоров и тех, кто берёт чужое: негативный эмоциональный ответ на несправедливость заложен в прошивку. Это можно объяснить эволюционно: люди как вид оптимизированы на работу в группах, поэтому если кто-то притырил у соплеменника кокос или откусил ему хвост и сожрал без соли — это наносит ущерб всей группе, т.к. группу МАКАК, поражённую внутренней враждой, съест по одиночке саблезуб или другое племя. Следовательно, инстинкт справедливости, приводящий к пиздингу преступных МАКАК нужен для выживания.
С другой стороны, притырить чужой кокос тоже очень хорошо для выживания: самому лезть на пальму опасно, да и пальм на всех не хватит. Из-за этого появляется противоположная эволюционная сила, которая развивает хитрожопость и способность избегать чужого инстинкта справедливости. Более того, после определённого порога хитрожопости МАКАКА начинает использовать чужой инстинкт справедливости, чтобы пиздить кокосы в промышленных количествах.
Делается это довольно просто: достаточно развернуть в голове у МАКАКИ среднего ума агрессора и жертву, собственника и грабителя. Тут на помощь идут и трёхтысячелетние свитки, и операции под ложным флагом и LIHOP. Звенит звоночек, активируются нейроны, МАКАКИ среднего ума впадают в справедливый гнев, их интеллект отключается. В общем, вся эта ваша ``политика'' проста как 123.
https://en.wikipedia.org/wiki/Emu_War
Совки тоже пытались как-то народы размазывать по регионам, но получилось не особо, особенно с кавказскими и с украиной в том числе.
Что я вообще читаю блядь?
https://i.postimg.cc/KztJcjGW/87988a92e483684b.jpg
https://i.postimg.cc/Znqh4vmc/image.png
я не обязан понимать язык борцов с ветрянными мельницами
* следующая станция господа посажири?
проксимо вроде следующая
Кстати была телепрограмма уроков испанского, в заставке которой был анимированный рисунок Пикассо:
https://youtu.be/9oi0YHV-GPQ
КАК ЗВУЧАЛИ РЕАЛЬНЫЕ ГОЛОСА ИСТОРИЧЕСКИХ ДЕЯТЕЛЕЙ В НАЧАЛЕ XX ВЕКА
Диванный КАРТОголизм (Google Street View)
219K likes
10,591,815 views May 16, 2021
как же я нихуя не понимаю в этой жизни
heb ik altijd geëerd!
Кстати Иканус, "den" тут это naamval -- падеж. Этой хуйни у нас давно нет, но она осталась в устойчевых выражениях. А немцы до сих пор с ними ебутся
Да и Испания давно уже Spanje
Бабилон Би конечно, но всё равно гологубно, и смешно
доброе утро
Поди на кузнецкий, у всех уже реализована
ValorMainStream проснулся
Luke Smith's channel and its consequences have been a disaster for the human race.
Вопрос не в этом, вопрос будут ли пускать самолётики?
Build integrity
Boot integrity
Runtime integrity
That's Amutable
Delivering uncompromising integrity
Ахаха, Поттеринг.
А от соцсетей один вред. Вот в 80е не было тиктоков, и молодежь в Европе СССР и США была в полной безопасности, и преступности не было
От них одна польза, просто нужно оттуда изгнать анонимных тролле-демонов.
интересно, что же им пришлют
2. Во многом сам виноват, но
3. В процессе интервью на сениора меня изумленно допытывали как работает оптимистичная блокировка в базе по полю с версией, т.к. не видели раньше.
4. Один из двух собеседующих был мидлом.
5. Спрашивали ещё, как я защищу приложение. Кажется, ожидаемый ответ был хттпс.
6. Уебать бы кого нахуй.
7. Готовиться всё-таки надо было к интервью по материалам того чувака с фейсбуком на постгресе, судя по всему работает оно именно так.
:-( ik leef je mee..
>> как работает оптимистичная блокировка в базе по полю с версией, т.к. не видели раньше.
Про MVCC что ли?
>> Спрашивали ещё, как я защищу приложение. Кажется, ожидаемый ответ был хттпс.
Какой-то очень абстрактный вопрос. От чего защищу? От перезаписи? Выламаю колпачок у дискеты.
>> Готовиться всё-таки надо было к интервью по материалам того чувака с фейсбуком на постгресе, судя по всему работает оно именно так.
А тебе именно постгрес надо?
Почитай длинную скучную книжку про кишки постгреса на русском, она бесплатная
Там не реляционная бд была.
Паттерн не ежедневный, но частый, особенно когда данные вытекают наружу, а апдейты надо сериализовать. Пришёл к тебе петух важный документ редактировать, сабмиттит его спустя три часа - ты в этом случае хочешь предотвратить конфликты без удержания транзакции, даёшь ему отлуп без контеншена. Если у тебя в базе копаются разные компоненты - то же самое. Если тебе долго, но не напряжно делать новую версию записи, то ты тоже возьмешь этот паттерн, чтобы у тебя случайно один воркер не встал в ожидании другого и не угнал таким образом коннекшен. Если у тебя частые обновления записи с высоким шансом того, что текущее обновление отвалится до применения всех конкурирующих обновлений, то ты опять же возьмешь его - если у тебя лок берут по очереди транзакции А Б В Г Д Е, но изменение в А уже сделает бессмысленными изменения в Е, то с точки зрения Е тебе выгоднее не ждать, пока они все отработают и она возьмет лок последней, а читать в лупе и увидеть проблему раньше. Бессмыслица при этом не обязательно проявляется на уровне С в ACID и роллбэком транзакции, тебе может быть необходимо донести запись до приложения, чтобы обнаружить неконсистентность (тупой пример: поле с протобуфом, его хуй базой данной проверишь).
Магия реляционок кончается в момент появления долгой транзакции. Половина материалов по джаве - это как выносить из-под транзакции походы в соседние сервисы по хттп, пушо база тормозит давай давай пул коннектов расширяй.
мне кажется кому-то стоит пофиксить словарь)
Я вкурсе что такое оптимистичная блокировка на самом деле, но я не понимаю на кой хуй тут база данных
В процессах мы тоже иногда атомики предпочитаем, иногда полноценные локи.
Использовать OCC в ситуации, где какая-то джоба может работать над документом три часа? Терять и рестартовать три часа работы? Да, PHP-MySQL-макаки, хайлоад так и делается.
> с точки зрения Е тебе выгоднее не ждать, пока они все отработают и она возьмет лок последней, а читать в лупе и увидеть проблему раньше
Из базы в лупе читать, чтобы пораньше заабортить транзакцию? Тоже хорошо для хайлоада!
Есть 1 (один) случай, где стоит использовать OCC: в ситуации, где база представляет собой эдакий курятник, в котором каждый петушок летает исключительно на свой шесток. Во всех остальных случаях... не верьте маркетологам и евангелистам с синтетическими бенчмарками.
брух
Примерно по такому шаблону:
``Ты неправ, потому что ты говоришь, что OCC можно использовать только в случаях, где у бизнес-логики в нормальных условиях нет контеншна.
Я перечислил случаи, где есть контеншн, и считаю, что OCC там использовать можно, потому что ...
Ошибка в твоем тезисе вот в чём: ...
На самом деле вещи работают так-то и так-то...
Вещь X я определяю как ...''
> (ресурсов, CPU времени и т.д.) приложения
> и что надо делать вместо этого при конфликте?
1. Править бизнес-логику, чтобы в ней не было конфликтов на 3 часа.
2. Если в ней есть конфликты на 3 часа, то её нужно представить как батч-джобу, а не синхронизировать что-то с чем-то через лочки и тем более OCC в БД.
3. Если 1 и 2 по какой-то причине невозможны, и ты { случайно ма-те-ма-тик } и умеешь в TLA+/alloy/promela/coq, то можешь попробовать CRDT... но ты не математик и поэтому с CRDT только устроишь своим данным вечер, который они не забудут.
Если коммитер в медиавики пишет абзац про artemis-ii в секцию "значимые космические миссии", а его обгоняет кто-то с абзацем про artemis-i, то он теряет свой вклад?
и вот там, если version != 1, то коммитер теряет свой вклад. Если этот вклад был после трёх часов вычислений, то не очень система получается.
Почему? Чем медиавикер выше отличается от алгоритма, который так или иначе способен объединять результаты? А что, если стейт с version = 2 ничем не отличается от version = 1, алгоритм базируется только на стейте, и там даже мерджить не надо - надо только перезагрузить и убедиться в этой ситуации?
Потому что, фундаментально, так работает OCC: чтобы не нарушить целостность, кто-то обязан потерять свой конфликтующий вклад в момент коммита.
> А что, если стейт с version = 2 ничем не отличается от version = 1
Какой оптимизм ))) Я говорю про худшие случаи.
> даёшь ему отлуп без контеншена.
...И про общие случаи, где это очень плохая идея, которая позволяет разве что т.н. ``БД'' давать красивые бенчмарки за счёт всех остальных приложений, которые будут за свой счёт ретраить или ``базировать алгоритмы на мердже''. Зато TPS go brrr, ага!
Возвращаясь к моему изначальному тезису: OCC имеет место только в ситуациях, где business logic в 99% случаев гарантирует отсутствие contention. В https://govnokod.ru/29266#comment1244699 ты (?) перечислил случаи, где, наоборот, есть contention. Это использование неправильной технологии не по назначению.
> Я говорю про худшие случаи.
Ты говоришь про общий случай, у которого находятся тривиальные контрпримеры.
Я выше объяснил, что этот случай великой системы на PHP является довольно специальным из-за возможности мержа и human in the loop. Но если это изначально и подразумевалось под примером с "отлупом после 3х часов", то ок.
> Ты говоришь про общий случай, у которого находятся тривиальные контрпримеры.
Слушай, лень мне объяснять семантику моего употребления слов ``общий случай''. Это было что-то вроде: если взять произвольный алгоритм, общающийся с БД, то с OCC ты скорее всего просто создашь вектор для DOS при отсутствии явных бенефитов. То, что в некоторых случаях можно не соснуть... С этим я не спорю, один случай привёл сам. Да и использовал я OCC, когда это было гарантировано безопасно. Мой тезис — крайне нишевое дело, использовать только от крайней нужды.
Если намеренно вызвать contention c OCC, то скедулер ОС тоже будет всем кванты поддавать вместо скучного сидения на локе, значит и DOS нет. Потому что типов DOS существует исключительно один.
И кто я теперь после этого, если не мразь, ничтожество?!
Всё-таки забавно, насколько люди не умеют взглянуть на мир чужими глазами. Ты бы это... в шахматы что ли немного научился. Помогает от этого.
Обычно я вижу двух гостей, которые ведут диалог.
Я не умею считать слонов.
Я не умею фальцетом петь.
Я не умею всего уметь.
Отчего же зрители,
Когда меня увидели,
Сказали: «За здорово живёшь»?
Бывают пессимистичные лочки (RCS, SourceSafe, обычные локи) и оптимистичные (CVS и все последующие VCS, AD и пр).
В случае contention в OCC либо случается мердж (например, работает магия CRDT или это какой-то 3-way-merge или weave-merge и лысая обезьяна пальцами работает) либо один из петушков поработал впустую, и его работу надо выкинуть. В некоторых случаях так происходит вообще всегда.
И вот тут можно сказать, что OCC имеет смысл только если
1. велик шанс на успешный мердж
2. мал шанс на конфликт
3. объем проебанной работы нестеримо мал
Если все три стула ложны, то OCC точно не к месту.
В этом смысле он напоминает любимый нами спин-лок (тот тоже имеет смысл только если его берут не на долго)
Далее: есть такой паттерн -- ротоёбство (известный так же как "на моем шаред хостинге за 2 доллара вмесяц есть только mysql":
1. использовать MySQL как MQ
2. использовать MySQL как key-value-storage
3. использовать MySQL как примитив синхронизации
3.1. в том числе как OCC
Я строго против этого. СУБД нужны либо как OLTP (сильно нормализованные базы для онлайн транзакций) либо как OLAP (сильно денормализованные для оффлайн отчетов)
Использовать СУБД для чего-то другого это примерно как делать хостинг из ноутбука
Я против.
А про кубы когда будет?
Подожди, сейчас я расскажу, чем консоль от терминала отличается
https://govnokod.ru/29212#comment1231312
https://en.wikipedia.org/wiki/MultiDimensional_eXpressions
Гологуб!!11
Microsoft SQL Server 2005 Analysis Services
by Edward Melomed (Author), Irina Gorbach (Author), Alexander Berger (Author)
Короче, технология не для гоев
Есть такая христоматийная книжка про PKI (как развернуть CA, выдавать сертификаты, и пр)* , так вот её комар написал.
Но Комар тот Брайан, чистый white protestant male, так что Гологубу тут поживиться нечем.
*в MS, разумеетчя
Хм, а как мы от БД вдруг пришли к VCS? Тред начался с MySQL и (возможной) кассандры, потом в нём появилось MediaWiki, а теперь и CVS. Я вообще не про это писал.
> В случае contention в OCC либо случается мердж (например, работает магия CRDT или это какой-то 3-way-merge или weave-merge и лысая обезьяна пальцами работает)
Я понимаю OCC (optimistic concurrency control) в более узком смысле, как алгоритм, который никакими мерджами не занимается, а единственное, что он умеет — смотреть на commit record'ы и видеть, что произошла гонка данных. Т.е. его домен — не на сами данные, а зависимости между обращениями к ним.
Соотв. OCC и мерджи — понятия сугубо ортогональные. Любые мерджи, если они происходят, то в пользовательском коде, который я бы вообще вынес за рамки дискуссии об OCC.
Если же сама БД умеет мерджить данные, то это уже не concurrency control, а сорт conflict-free (...) data type. Так вижу.
Далее, OCC никак не защищает от contention.
Если транзакции друг о друга спотыкаются с полноценными лочками, они точно так же будут спотыкаться об OCC, только вся система скорее всего потратит больше ресурсов в процессе. Утверждать обратное — это примерно как "ветер дует, потому что деревья качаются. Спилим деревья — ветер прекратится".
Лочки в БД придумали не для того, чтобы красть у честных людей TPS, а как оптимизацию для избежания лишней работы. Выкидывать их имеет смысл только когда на 99% уверен, что лишней работы не будет из-за отсутствия contention, и избавившись от их оверхеда ты можешь как-то измеримо увеличить throughput.
> В этом смысле он напоминает любимый нами спин-лок (тот тоже имеет смысл только если его берут не на долго)
В системе с вытесняющей многозадачностью ты не контролируешь, надолго взял лок или нет.
Спинлоки в user-space не нужны, нужны гибридные лочки с futex и друзьями, которые в happy case имеют нулевой кост. Максимум, в многоядерной системе можно покрутиться несколько раз (<< кванта времени), перед тем как вызвать futex(..., FUTEX_WAIT, ...) и течь.
Опять квадроберы
Перепутал с furrex
А это членолочки
Конечно, но ты можешь предсказать.
> Максимум, в многоядерной системе можно покрутиться несколько раз
несколько раз
О чем и речь)
>futex
Это который старается разобраться со всем в юзермоде, да, чаще всего так и надо делать (и скорее всего либы для работы с синхронихацией на этом и работают на прыще)
А какая разница?
> а единственное, что он умеет — смотреть на commit record'ы и видеть, что произошла гонка данных
ок, принятно.
Тоесть OCC говорит: "пока ты тут ковырялся, кто-то уже насрал", а что дальше ты будешь делать -- к делу не относится
Разница в том, что VCS пользуются не программы, а макаки, а какие именно алкоритмы работают в стае макак — сложно формализовать.
К примеру, можно допустить, что разработчик Петя занимается только файлом scheta.php, а Вася — только файлом otchety.php. Тогда получается contention-free система, всё отлично, OCC работает.
А может статься, что и Петя и Вася лазают в funkcii.php. Тогда срам-мастер им говорит, что в этом спринте funkcii пилит только Петя. Получаются блокировки. Или они сами между собой договорились.
Подобные детали вносят в дискуссию про лочки много запутанности и неопределённости.
У нас есть две внешних системы, каждая из которых пытается поменять стейт нашего репозитория
Либо их попытки сериализуются, либо конфликтуют
Так какая разница: люди ли эти системы или роботы?
Я для роботов примерно почувствовать могу, а для людей — нет. Поэтому системы с участием людей мне обсуждать совершенно не интересно: в них можно что угодно с чем угодно смёрджить, и конфликты удобно разрешаются, и вообще никаких худших случаев нет, красота.
Если нельзя, то используется стратегия "ручной резолв"
Это така функуия, куда на вход приходит два состояния (коие конфликтуют друг с другом) а на выходе получается третье, которое считается хорошим и оно коммитица
К сожалению, пессимистично заблокировать можно только один файл (если заблокировать весь репозиторий, то кажется будет не очень высокий срупут) а поскольку в большинстве систем файлы друг с другом связаны, можно легко получить неконсистентность как в примере с белой жабой от Файка.
Не очень понятно как это решать.
Углеродный макак, который дёргает один файл, устанет, или ему дадут пиздюлин.
А вот в БД постоянно делать кучу быстрых апдейтов на один ключ из одной функции — это совершенно валидный кейс. А другая функция, которая апдейтит тот же ключ, но делает это медленнее, может не выполниться никогда. Fairness properties? Lock starvation? Это проблемы для дидов с postgresql и миддлов с MySQL, которые не слышали про такие-то оптимистичные блокировки с CAS.
Собственно, чтобы немного рассказать об опасностях и ограничениях Web-Scale решений на царском CAS, я и пришёл в тред.
Надеюсь, рассказал.
А википедия и VCS — это совершенно отдельная тема. Википидоры-то жрут OCC, и их мозг даже человеку пересаживают. С этим не спорю.
Это когда у углеродного макака запущено 42 агента, и каждый срёт по 10_000 строк кода в минуту, а сам макак в это время с телочками пиздит.
Кажется что ситуация приболижается к СУБД
Можно срать в три унитаза агентурный говнокод
И так, в шаренной СУБД типа MySQL в поле VARCHAR(255) лежит JSON.
По крону раз в минуту запускается скрипт, который меняет поле в в джейсоне, выполняет работу, и потом меняет его обратно.
На клинете у веб-страницы заголовок для обновления ее раз в 42 секунды, и при обновлении бекенд на ПХП тоже идет в эту базу и проверяет джейсон.
И вот таким образом мы реализовали примитив синхронизации двух процессов: крона, и веб странички.
Работает между прочим на любом хостинге
MediaWiki's edit pages use OCC
Смотри какая тут история. CRDT позволяют вместе напихивать в документ. Но CRDT не дают никаких гарантий насчёт целостности данных как C в ACID. В collaborative editor у тебя Алиса может написать "в этой статье всё правда", Боб "все жабы изнутри синие", Колин "я смотрел внутрь михалны и она белая". Всё успешно смерджилось, но проверку целостности не прошло. Потому что медиавики это не гуглдокс, который можно держать в промежуточном состоянии.
CRDT — это любая структура данных с набором операций над ней, которые коммутативны, ассоциативны и идемпотентны. Их можно придумать дохуя разных, с разными трейдоффами. Кажется, в алгебре эта структура называется полурешёткой, но я такой себе алгебраист; я беру просто беру Inductive datatype на ``Coq'', который выражает все возможные пермутации и дупликации пакетов и теку. Некоторые инварианты (читай — гарантии целостности) на такой хуйне сохраняются. Но есть куча, куча трейдоффов, поэтому вещь исключительно нишевая и для каждого юзкейза нужно придумывать что-то своё и доказывать с нуля, чтобы что-то нужное гарантировалось.
define проглочено
> я им предлагал кое-что посложнее
пахнет легковесными транзакциями Кассандры. Это всё наша с Афиром вина. Плохо срался. Не уберёг. T____~
ну вот например да, CAS, так зачем его вручную поверх MySQL-то реализовывать?
Outbox, кстати - известный молодежный хит.
Обычно его разбор заключается только в том, чтобы вынуть сообщения и положить в настоящую очередь. Но т.к. во избежание хуевого р99 латенси надо делать это строго в порядке добавления, не очень понятно, чем он от очереди отличается.
Тогда ок. Я думал, ты реально в проде решил из май сикеля кафку делать напильником
Лазить в WAL — это исключительно ротоёбская идея, из-за которой меня поднимали в четыре часа ночи раз десять. Поэтому Безос в своём манифесте был прав:
1. All teams will henceforth expose their data and functionality through service interfaces.
2. Teams must communicate with each other through these interfaces.
3. There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.
4. It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter.
5. All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.
6. Anyone who doesn’t do this will be fired.
7. Thank you; have a nice day!
Может быть у Безоса потому AWS и получился, что он асилил такой подход.
А я видел как мартышки срали в общую базу из разных частей системы, и поскольку консистентность средствами СУБД мартышки выразить не смогли, каждый срун должен был внимательно следить чтобы случайно не нарушить целостность. Один срун нарушил, и остальные сервисы попадали. Такой багор ))
Ебаные зумеры из за вас люди без работы останутся кто их детей кормить будет
Быстро все за беламор
Логично. ИИ, увидев некий проект, тоже может захотеть выкурить пачку Мальборо красного под дождём.
Некоторые убийцы приехали из Екатеринбурга и Санкт-Петербурга в Омск целенаправленно, чтобы лишить жизни Александра.
«Все лица познакомились между собой в сети интернет. Они уроженцы других регионов. Есть те, которые из Екатеринбурга, есть которые из Питера. Сюда приехали целенаправленно для убийства», — сообщили в надзорном ведомстве.
Это моё обращение[1]. Я в итоге забил, да и хз что писать им ещё, только самому патч делать и слать, потом видимо кипиш поднимать, когда ментейнер отклонит. Но времени нет на это. Больше хотелось бы автора с перманентным баном из ментейнеров выгнять, но я не умею. И так впервые в рассылку писал
Я совершенно внезапно про эту "фичу" узнал. Пару лет назад под НГ тут или на хабре увидел коменты про утилиту, поставил, прикольно. Сейчас стал смотреть что из системы лишнего удалить, увидел, запустил снова. А она мне флажков насыпала.
[1]: https://lists.debian.org/debian-devel/2026/06/msg00160.html
Это в тему «флагшток-кун»
Ну не пользуйся дебиан, закажи у Дефекейта с Бормандом русZZкую операционную систему "Антифашист 2.0", и теки
Paní, dejte mně první třídu.
А что это слово в вашем коммунити значит, можешь рассказать подробнее?
Глупые! Пускай бесплатно постят их на ГК. Мы натравим на них МАКАКА, и он совершенно бесплатно скажет: да тут даже нет OLAP кубов, анскиллябрный ты заедушный питух
3) Идеологом третьего подхода является Мэтт Покок (Matt Pocock), который предлагает технику разработки, основанную на скилах, которые сначала опрашивают тебя обо всех нюансах проекта, потом готовят документ, содержащий доменное знание. После этого разбивает задачу на маленькие таски и выполняет их, основываясь на доменное знание. Т.е. что-то из мира TDD, DDD и прочих техник.
Мне в своё время не очень зашло TDD в силу инверсии принципа разработки, которым я всегда работал. Но после ознакомления с тем, как предлагает работать Мэтт, кажется, эта штука может работать.
Даже специалисты с зарплатами на уровне $180 тыс. испытывают трудности. В качестве примера NYT приводит историю пары программиста Адама Вудбери (зарплата $185 тыс./год) и менеджера по работе с клиентами Катрин Разняк ($180 тыс./год), которые пытались снять однокомнатную квартиру дешевле $5 000 в месяц. На поиски у них ушло несколько месяцев, в итоге Адам переехал в район Карнелиан‑Бэй у озера Тахо, где жильё дешевле, а Катрин сняла квартиру за $1 650 и живёт с двумя соседками; пара поддерживает отношения на расстоянии.
Если на руки, то у них суммарный доход примерно 30К баксов в месяц, неужели трудно из этого выделить 7-8К на квартиру?
Если же это до налогов, то это совсем не большая зарплата: откуда там взялось слово "даже"?
> отношения на расстоянии.
ну-ну..)
Вот мы с вами и доигрались в демократию. Дизлайки под моим постом это реакция "правильных" человечков, на всю сурьёзность ситуации. Не забыть бы Пашке Дурову скинуть ссылку на этот постец, пусть тоже посмеётся.
Но если говорить серьёзно, то идея данного поста была как бублик проста. Я хотел посмотреть на реакцию народа в отношении подобных ограничений. Ещё раз убедился в правоте народной мудрости, - телевизор смотреть можно, но включать нельзя.
Что до дизлайков, так тут юмор да и только. Я ведь вначале выбрал не те хабы и видимо на "умную" аудиторию нарвался. Они видимо приняли это за очередной мусор на прилавке. Но после корректировки, минуса продолжились уже по другому принципу. Народ видит минуса и тоже в поддержку минусует. Ну а что, у каждого ведь "своё" собственное мнение.
Просто уберите из названия "messеnger") < вот такой вот "ценный" совет предложил один из коментаторов выше. Вот оно, гениальное решение всех проблем. Сменил фамилию в паспорте и дальше живи спокойно.
А вот ещё случай был. Регил я как то приложуху на одной площадке, а мне дык, депеша прилетает, мол у вас приложение разрешение на камеру и загрузку обновлений требует, нука объясните зачем это они вам нужны. Ну я и объяснил, ээээ... ну мессенджер патамушта, как же без них. После этого получил бан аккаунта. Вот такая вот ситуёвина. А площадка "Uptodown" называется. Мне уже потом люди объяснили, если нет в приложухе рекламы или иных фичей для монетизации, то не примут вовсе. Им то нет выгоды, а значит иди в бан.
То что Rustor предложил в роскомнадзоре зарегаться, так мне хоть в роскосмосатоме, одна хрень. Нет так нет. Так что друзья, ставьте ваши лайки под моими постами какие пожелаете. Но помните, под правильными постами всегда ставьте только правильне лайки. А если вдруг не знаете какие ставить, то смотрите на те, которые уже поставили другие, это же демократия.
Так что: Денег нет, но вы держитесь!
https://govnokod.ru/29270
https://govnokod.xyz/_29270/