- 1
IT Оффтоп #139
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−6
IT Оффтоп #139
#109: https://govnokod.ru/27581 https://govnokod.xyz/_27581
#110: https://govnokod.ru/27610 https://govnokod.xyz/_27610
#111: https://govnokod.ru/27644 https://govnokod.xyz/_27644
#112: https://govnokod.ru/27648 https://govnokod.xyz/_27648
#113: https://govnokod.ru/27652 https://govnokod.xyz/_27652
#114: https://govnokod.ru/27659 https://govnokod.xyz/_27659
#115: https://govnokod.ru/27665 https://govnokod.xyz/_27665
#116: https://govnokod.ru/27671 https://govnokod.xyz/_27671
#117: https://govnokod.ru/27675 https://govnokod.xyz/_27675
#118: https://govnokod.ru/27685 https://govnokod.xyz/_27685
#119: https://govnokod.ru/27701 https://govnokod.xyz/_27701
#120: https://govnokod.ru/27703 https://govnokod.xyz/_27703
#121: https://govnokod.ru/27710 https://govnokod.xyz/_27710
#122: https://govnokod.ru/27728 https://govnokod.xyz/_27728
#123: https://govnokod.ru/27729 https://govnokod.xyz/_27729
#124: https://govnokod.ru/27730 https://govnokod.xyz/_27730
#125: https://govnokod.ru/27732 https://govnokod.xyz/_27732
#126: https://govnokod.ru/27733 https://govnokod.xyz/_27733
#127: https://govnokod.ru/27737 https://govnokod.xyz/_27737
#128: https://govnokod.ru/27742 https://govnokod.xyz/_27742
#129: https://govnokod.ru/27747 https://govnokod.xyz/_27747
#130: https://govnokod.ru/27755 https://govnokod.xyz/_27755
#131: https://govnokod.ru/27766 https://govnokod.xyz/_27766
#132: https://govnokod.ru/27790 https://govnokod.xyz/_27790
#133: https://govnokod.ru/27828 https://govnokod.xyz/_27828
#134: https://govnokod.ru/27834 https://govnokod.xyz/_27834
#135: https://govnokod.ru/27839 https://govnokod.xyz/_27839
#136: https://govnokod.ru/27845 https://govnokod.xyz/_27845
#137: https://govnokod.ru/27857 https://govnokod.xyz/_27857
#138: https://govnokod.ru/27867 https://govnokod.xyz/_27867
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
* https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
* https://vorec.space/ (глоссарий Говнокода)
* https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)
Примечание: автоматические перекаты в настоящее время осуществляются только с аккаунта nepeKamHblu_nemyx.
Остерегайтесь подделок. Берегите себя и своих близких. Кок!
RCE in Visual Studio Code's Remote WSL for Fun and Negative Profit
это должнобыло случиться
>наружу
в смысле у него на винде?
Какой промискуитет )))
И аутентификации как всегда никакой?
при том что IP wslя они прекрасно знают, и могут только на том интерфейсеслушать
нет, и даже сейм ориджин не проверяют, хотя даже если бы и проверяли, то непомоглобы
https://www.citilink.ru/product/noutbuk-lenovo-ideapad-5-pro-16ach6-ryzen-7-5800u-16gb-ssd1tb-rtx-3050-1545375/properties/
Проверь бенчмарки проца 5800H тока
алсо, интересно какойименно там SSD
upd. нашел, называется umis
https://www.notebookcheck.net/Lenovo-UMIS-AM620-RPJTJ512MEE1OWX-SSD-Benchmarks.515773.0.html
https://www.citilink.ru/product/noutbuk-lenovo-legion-s7-15ach6-ryzen-9-5900hx-32gb-ssd1tb-rtx-3060-ma-1561108/
кто делает клавиши перемещения не квадратными - тоже хороший вопрос, но здесь хотя бы не ужали вверх и вниз в размер одной клавиши, как у меня
жирные следы на пластмассе просто пиздец
Каким компилятором собирается GIMP под винду?
З.Ы. Поди оставишь студию и гцц...
но есть например вот
https://www.gnu.org/software/gsl/extras/native_win_builds.html
Several packages are available for building GSL on Windows using Microsoft Visual Studio with the native Microsoft and Intel compilers.
А если вендор конпелятора -- монополист для своих чипов? Или всё равно остаётся свобода портануть куда-то ещё, и на том спасибо?
Спроси лоеров FSF
Думаю, твой софт всегда свободен, если ты даешь его код под GPL
Прыщи для её ARM'овских ядер есть, исходники дров на гитхабе, исходники видюхи там же.
Но вот чтобы собрать видюху и прочий обвес, который будет крутиться в матрице, мне нужен конпелятор от альтеры интела. А он проприетарный.
Будет ли такая система свободной?
Ведь интел может отобрать у меня свободу конпелять под циклоняшку (вряд ли он это сделает, но гипотетически). А больше нечем.
но лучше напиши на рассылку FSF, и спроси
я в юридическом говне не силен.
Содержимое пакета высыпать в рот, и запить большим количеством горячей воды
З.Ы. Да, и походу даже для реалтайм превьюшек.
хуихри хуежные хуютя,
хуё хуяк хуерь хуёна хуявоет,
хуё хуяплачет, хуяк хуитя.
Хуи-с-решёткой Хуява Хуи Хуяскаль
Хуитон Хуёдин-эс Хуескуэль Хуякшнскрипт
Хуёбжектив-си Хуерл Хуяш Хуюби
Хуижал-бейсик Хуяссемблер Хуюа Хуифт
Хуяскель Хуё Хуётлин
хуеснувши хуяску хуиз хуякана,
ХУЯ хуёказал хуя хуюде хуюдня
хуёсые хуюлы хуёкеана,
хуя хуешуе хуестяной хуибы,
хуёчёл хуя хуёвы хуёвых хуюб,
ХУЯ хуи хуёктюрн хуиграть хуёгли хуи
хуя хуейте хуёдосточных хуюб.
О@о
Капс же по сути комбайн: читает из всяких сокетов, пропускает через фильтры-переводчики на свинячий, и отсылает в шпулер
Типа
IPP -> перевод на Пэцээль -> USB Printing
Nim's memory model for threads is quite different from other common programming languages (C, Pascal): Each thread has its own (garbage collected) heap and sharing of memory is restricted. This helps to prevent race conditions and improves efficiency. See the manual for details of this memory model.
И что теперь? Как мне сделать так, чтобы в одном потоке в фоне у меня крутился бесконечный цикл в числодробилке, а из другого потока я мог брать результаты из первого потока и отсылать их по «UDP» в свой скрипт на «Python»?
* Раз у тебя уже сети, передавай данные между процессами через localhost
* Найди библиотеку, реализующую COM и передавай по ней.
* Файловая передача! Старше, чем ты!
А решение с ZeroMQ, возможно, даже не будет говнокодом, потому что его реально используют в распределённых вычислениях.
редис не хранилище и при первой же возможности проебет тебе вообще все
даже мускуль лучше подойдет для задачи
так что ты, верно, говорил о постгресе
use it or loose it.
Срочно сделай так
я не знаю, каким образом он и редис завоевали репутацию чего-то надежного
с точки зрения корректности обработки запросов он может и подисциплинированней, но ты попробуй погуглить что-нибудь навроде "постгрес потерял данные" или "corrupted page file", удивишься насколько дырявое говно. это еще не затрагивая вопросы типа того что бородатые челы из девяностых никак не могут инт64 для транзакций завезти.
лол, кто тебе такую глупость сказал?
>постгрес потерял данные" или "corrupted page file"
лолшто? нук дай пожалуйста ссылку
>инт64 для транзакций завезти.
про фриз знаешь?
А ты правда не знаешь про wraparound problem в MVCC?
https://habr.com/ru/company/postgrespro/blog/455590/
Соответственно, номера транзакций должны расти. В какой-то момент счетчик их переполнится, и новая транзакция станет самой старой.
Чтобы этого избежать, оче старые числа "замораживаются" помечаются как "старше всех существующих".
Подобную проблему для протокола OSPF решала Радья Перльман, и придумала Лолипоп Сиквенс Намберинг.
Но потом его тоже обоссали.
https://en.wikipedia.org/wiki/Lollipop_sequence_numbering
специально красненьким выделил те страницы, которые либо реальная проблема пользователя (а не просто мануал), либо появились вследствие таковой как напутствие последующим
> про фриз знаешь?
в этом вся суть постгре. чтобы он хоть как-то работал на реальном объеме данных, ты должен знать снизу донизу какие-то ебанутые настройки, которые в любом адекватном ПО уже были бы выставлены в нормальные значения и не крутились бы пользователем вообще никогда
нет, я не знаю что это такое и знать не хочу. у базы данных вообще не должно быть такой проблемы как wraparound. а судя по названию, ты и вовсе предлагаешь мне её остановить. спасибо, нет, я возьму ту технологию, которая просто работает.
>I seem that a failed vmotion occured in the same time frame.
Причем тут постгрес?
вторая не открывается
ссылка 3: совершенно не понятно схуя бы дата corrupted. Опять с диском проблемы?
В качестве решения предлагается переиграть WAL, как и нужно делать нормальной субд.
>ты должен знать снизу донизу какие-то ебанутые настройки
А у других СУБД не так
Я просто заливаю в MySQL восемь терабайт данных, и теку, правда?
А Percona просто так существует и книжки пишет
------
ps: на всяк случай: mysql хуже постгри не потому что перформанс (хотя разумеется оптимизатор мускуля сосет у генетических алгоритмов постгри) а потому что мускуль изначально наколенное говно которое ничего не умеет, и коммуники вокруг него тоже говно, которое ничего не умеет
мускуль это такое пэ ха пэ
> Я просто заливаю в MySQL восемь терабайт данных, и теку, правда?
другие субд это не только мускуль, привет
восемь терабайт это действительно тот объем современных данных, который хранилище должно сожрать и не испытывать проблем
если мне нужна выборка по первичному ключу, то я могу залить это в кассандру, не дернуть ни одной настройки, и не иметь проблем
если мне нужен поиск, то я могу залить это в эластик, не дернуть ни одной настройки, и не иметь проблме
если мне нужна будет кастомизация работы с данными, то я буду дергать настройки, связанные с хранением данных, но не с движком как таковым
If /dev/null is fast in web scale I will use it. Is it web scale?
Я заливаю в Oracle или в MS-SQL и теку, а DBA и толстенные книги по тонким настройкам кеша/оптимизатора/индексов не нужны.
>кассандра
>эластик
Ты сравниваешь реляционки и эластик? Реально? Ты капкейк скушал?
так а нахера ты его тогда в пример приводишь, лол
> Ты сравниваешь реляционки и эластик? Реально? Ты капкейк скушал?
я привожу разные решения для разных паттернов доступа к данным
потому что если бы я этого не сделал, ты бы начал про вторичные индексы
Во-первых он САМ генерит гуи и формочки
Во-вторых он генерит отчеты
В-третьих его можно через OLE вставить в Word
И наконец он хранится в одном файле
Access рулит, я серьезно
По-моему можно и так, и так.
Excel позволяет автоматически считать значения в ячейках, крутить таблицы, делать сводные (как по русски pivot tables?) и быть клиентом к MSASS, сответственно можно легко получить отчет или график просто набросав мышкой нужные поля.
А MSAccess это настольная база данных на основе jet blue (или red?) (но excel может быть и ее клиентом тоже, разумеется)
Знаю людей которые до сих через ODBC драйвера используют Access именно как sql-клиент к нормальным бд (чтобы sql запросы руками не писать и не делать update/delete без where).
ПАМАГИТЕ
Если для приведения внешних данных в формальную норму сджойнить таблицу с аггрегатной вьюшкой, то выдержит, а если добавить еще одну вьюшку, то зависает.
А еще там редактор SQL - полное говно на грани неюзабельности. И маркосы невозможно записывать, ради чего вообще MS Orifice ставят.
csv. Даже ничего линковать не надо.
SQLite не является аналогом Access.
SQLite это просто база, а Access это база плюс движок для генерации форм и отчетов и поиска
Короче, база и гуй
Синий и красный
Один в аксеесе, другой в ntds в AS
или в эксчендже
вечно их путаю
* если сломать storage, то дата покораптится
* чтобы база хорошо работала с 8ТБ, приходится читать документацию
Эти "проблемы" относятся к любой РСУБД, и к не реляционным СУБД тоже.
>я привожу разные решения для разных паттернов доступа к данным
PostgreSQL (как реляционка) дает некоторые возможности, которых у эластика нет, но эти возможности тебе не нужны.
Ок.
Я предлагаю использовать стример, и читать данные последовательно.
* он надежен: выключили электричество, ты снова включи, и дальше читай
* там ничего тюнить не надо
не надо ничего ломать. он сам. зайди в телеграмный чатик по нему, поищи в истории
ты принес ссылку где у один питух мигрирорвал виртуальную машину живую, и у него упал процесс миграции, и почему-то покораптилась машина
другой не говорит что и когда у него покораптилось, но говорит, что достаточно проиграть WAL чтобы починилось (что верно)
я неебу что у него там было, может RAID без батареек вырубили
что база-то должна была сделать?
Ты заявл
[quote]
попробуй погуглить что-нибудь навроде "постгрес потерял данные" или "corrupted page file", удивишься насколько дырявое говно.
[/quote]
Из этой фразы следует, что проёб данных постгрей это сплошь-и-рядом встречающаяся операция, как скул инъекция у пыхаря.
Ну так дай пожалуйста ссылку, где написано: "из за такой-то баги в стабильной версии постгри пострадало 10000 инсталляций, и все они навсегда проебли данные"
Иначе это напоминает "брат жены слышал на работе, что у постгреса вроде есть какие-то баги, так что вероятно постгрес говно"
У меня ощущение, что баги вообще не ищут, лично я постоянно вижу юзеров с сообщением "бля, ERROR: invalid page in block". У них в ответ спрашивают, не выключили ли они фсинк, и некоторые из них признаются, что да, выключили - и здесь безусловно никакой ответственности за данные хранилище уже не несет - но в остальных случаях мы видим вот эту хуйню (заметьте, 2019, мир уже не первый год как ссытся от постгре в качестве "надежной" замены мускулу): https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/378225-postgresql-log-file-shows-error-invalid-page-in-block-in-history_uint-table
Людям рассказывают как вернуть сервак в строй с потерями, но баги никто не ищет.
Про то что чексуммы довольно долго были опциональными, потому что бородатые деды из девяностых истерили по поводу пространства, тоже молчу.
Когда какой-то хуй на форуме заббикса написал что у него что-то сломалось, это не баг.
У Сёмы регулярно не работают прыщи. Это значит, что Linux говно, и баги там никто не чинит.
И да, я не удивлюсь, если у него выключен fsync.
Пока что ты не привел ни одного примера бага в стабильной версии постгрес, приведшего с потере данных.
ps:
>CentOS7, Disk image space is a ZFS pool
понятно
> ZFS pool
Азаза, нищуки анскильные. На Солярку денех не хватило — поставили сырое гогно на сервак.
И да, там ZFS из коробки. Просто для него админа хер найдешь, там всё ОЧЕ сильно отличается от Linux
> сырое гогно на сервак.
В центоси 7 нет ZFS кстати. Его нужно явно ставить добавляя левый реп, а чуть ли не драйвер ядра компилировать.
Короче, постгрес виноват
Понятно. Драйвер же не в mainline. А в целом это такой же дистр как и все остальные.
Не могу не вспомнить классику (автора думаю все угадают)
https://www.realworldtech.com/forum/?threadid=189711&curpostid=189841
If somebody adds a kernel module like ZFS, they are on their own. I can't maintain it, and I can not be bound by other peoples kernel changes.
And honestly, there is no way I can merge any of the ZFS efforts until I get an official letter from Oracle that is signed by their main legal counsel or preferably by Larry Ellison himself that says that yes, it's ok to do so and treat the end result as GPL'd.
Other people think it can be ok to merge ZFS code into the kernel and that the module interface makes it ok, and that's their decision. But considering Oracle's litigious nature, and the questions over licensing, there's no way I can feel safe in ever doing so.
And I'm not at all interested in some "ZFS shim layer" thing either that some people seem to think would isolate the two projects. That adds no value to our side, and given Oracle's interface copyright suits (see Java), I don't think it's any real licensing win either.
Don't use ZFS. It's that simple. It was always more of a buzzword than anything else, I feel, and the licensing issues just make it a non-starter for me.
The benchmarks I've seen do not make ZFS look all that great. And as far as I can tell, it has no real maintenance behind it either any more, so from a long-term stability standpoint, why would you ever want to use it in the first place?
> Просто для него админа хер найдешь
И стоить он будет...
ссылки на баг не будет, потому что в Особом постгресе помимо всего прочего еще нет и публичного трекера.
https://www.postgresql.org/list/pgsql-bugs/
"памагите у меня не работает" это не баг.
> нет и публичного трекера
это пиздеж, см выше
--ПОСТГРЕС ГАВНО ТАМ ТЕРЯЮТСЯ ДАННЫе
--пруф?
--там DML нельзя выполнять параллельно
/thread
на любую операцию с серваком вообще походу надо останавливать запись
какой зеро даунтайм )))
> I wonder if it's a coincidence that that number (~4.04 billion) is not
that far from 2^32-1 (~4.294 billion).
блядь, ебаные деды
Он правда пока не знает что такое индексы, и что перестройка индексов не имеет отношения к потере данных.
Но скоро он найдет баг трекер эластика, и узнает, что там тоже есть баги
https://github.com/elastic/elasticsearch/issues
это чей-то парсер меилинг листа, к которому деды так привыкли в девяностых, что не заметили как начались двадцатые
появился он очевидно из-за того, что никакого багтрекера и близко нет, а он нужен
в котором я просто сделал ctrl + f corrupted, открыл первые два сообщения, охуел и затем вышел
* у него багтрекер в мейл листе, а файк не умеет им пользоваться (хотя тут есть форма поиска https://www.postgresql.org/list/pgsql-bugs/)
* файк постгреса не знает (а эластик знает)
* у какого-то чувака на форуме на нестабильной ФС что-то упало
По этому прямо сейчас замените постгрес в своем проекте на эластик серч, и все станет отлично
А почему это MySql прям такое говно?
Я помню тот же багор Борманда c ||. Но есть ли какие-то скилльные аргументы?
В результтате в мускуле выросло пыхокоммунити очень слабых разработчиков, и там всё стало очень плохо: глупые инструменты, фиговые программисты, глупые форумы.
Со времеем мускуль стал пытаться что-то уметь, но также хаоьтично и глупо, как пых.
На данный момент вот так с ходу
* нет GEQO, тупой оптимизатор
* нет GiST индексов (может уже есть)
* нет ренжей
* хуёвые констреинты
* нет Materialized Views
* нет Generated Columns
самое печальное, что 99% пользователей мускуля не понимает, зачем это надо
> * нет GiST индексов (может уже есть)
> * нет ренжей
> * хуёвые констреинты
> * нет Materialized Views
> * нет Generated Columns
> самое печальное, что 99% пользователей мускуля не понимает, зачем это надо
GEQO, GiST, ренджи-хуенджи, я вообще не ебу что это. Про SQL я знаю только что это какой-то говноязык для запросов в БД, и что там в БД хранится некое говно, которое этими говнозапросами можно как-то вытягивать по каким-то критериям типа "выбери мне сотрудников которые работают в нашей говноконторе более 1 года, у которых зарплата больше X и которые не привиты от короновируса" - и типа каким-то говноSQL запросом SELECT можно получить список этих вот сотрудников.
У меня этого SQL в контроллерах нет, поэтому я за контроллеры.
Если информационная система требует написания более сложных запросов, имеет смысл задуматься, нужна ли вообще эта информационная система.
Это какое-то предубеждение и пропаганда. Мускуль сильно прибавил с тех пор.
> нет GiST индексов (может уже есть)
Какая-то питушня которая есть только в постгресе. Если нужно селектить расстояние по 2Д координатам в других бд давно есть аналогичный функционал, просто называется он по-другому.
> 99% пользователей мускуля не понимает, зачем это надо
Я тоже не понимаю.
>* нет Generated Columns
Это есть.
>* нет Materialized Views
Это тоже есть.
> * нет ренжей
> * хуёвые констреинты
Это нужно конкретизировать.
В общем синдром Блаба какой-то.
Тогда предлагаю всё таки файл, разделенный запятыми.
Generated columns are supported by the NDB storage engine beginning with MySQL NDB Cluster 7.5.3.
Что это такое?
В обычной нет?
Does MySQL 8.0 have materialized views?
No
https://dev.mysql.com/doc/refman/8.0/en/faqs-views.html#faq-mysql-have-materialized-views
>ренжи
https://www.postgresql.org/docs/13/rangetypes.html
>В общем синдром Блаба какой-то.
у мускульщиков-то?
возможно
В этой фигне ничего особенного.
Синтаксический сахарок, который легко заменит вьюха.
>Что это такое?
https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html
>> В общем синдром Блаба какой-то.
> у мускульщиков-то?
Нет, есть набор какой-то постгрес питушни. Половина из которой есть только в postgres, другая половина есть mysql.
Понятно
Всё не нужно, что сломалось
Всё не нужно, чего нет.
Во-первых, Generated Columns там есть.
Во-вторых, этот функционал не киллер фича, а синтаксический сахар, который с легкостью заменяется вьюхой.
>GEQO
>GiST
Postgres specific buzzwords, которых нет ни в оракле, ни в ms-sql.
там -- это где? в каком-то особом движке?
>Во-вторых, этот функционал не киллер фича, а синтаксический сахар
Совершенно не понятно почему так.
Ты так считаешь, а я эдак.
А Ротойоб считает, что можно сидеть на MyISAM и 3.23, а все остальное это синтаксический сахар, который легко эмулируется PHP.
>Postgres specific buzzwords, которых нет ни в оракле, ни в ms-sql.
GEQO позволяет джойнить очень много таблиц за разумное время. У SQL и Oracle есть аналогичные технологии.
MySQL has a limit of 61 tables in a join.
Вообще было бы интересно увидеть табличку со списком фич и галочек:
* фича описана в стандарте
* реализована в постгре
* реализована в мускуле
тогда можно будет сравинить
PostgreSQL supports most of the major features of SQL:2016. Out of 177 mandatory features required for full Core conformance, PostgreSQL conforms to at least 170.
MySQL цифр не дает вообще
им стыдно
https://www.postgresql.org/search/?m=1&ln=pgsql-bugs&q=corrupted
>Concurrent Modifications of PostgreSQL Function Can Corrupt Database
Чувак бекапит базу одновременно изменяя код хранимки
портится БЕКАП а не база, причем ошибка падает сразу
>Relation mapping file "global/pg_filenode.map" contains invalid data
ооо, наверное это оно?
Но, нет: We went through a hacker attack at our company, and corrupted some data folders.
> postgresql 13.1 process crash every hour
корпатнулся индекс, после перестройки всё заработало (хотя и постыдно)
пока что я не вижу багов с потерей данных. Дальшесам
постгрес говно, потому что разрабатывается дедами, которым в кайф разрабатывать, но не делать непосредственно продукт
в котором годами не будут добавляться чексуммы, потому что считается что юзеру лучше не знать, что у него проебались данные, нежели юзать немного больше дискового пространства
в котором всегда будет проблема врапараунда, подпертая костылями, опять же из-за того что видите ли слишком много диска жрется - а то что приложение должно постоять и ничего не подулать, пока он выполняется, так это нормально
в котором дедам нравится ковыряться в каких-то кишочках, но не нравится даже продумывать как будут вести себя конкуррентные процессы, из-за чего будут проблемы типа пропавших записей в индексе выше
которые будут писать данные и звать фсинк на одном и том же дескрипторе из разных процессов
потому что форк - он старый и добрый, а треды это что-то новое, непонятное, и скорее всего неработающее, а форкались еще деды дедов
из-за чего таки да, вместо того чтобы построить нормальный надежный сторадж, там будет подпертое костылями нечто, которое будет непонятно где и как просасывать данные, а когда юзеры будут приходить с вопросами, им будут объяснять что они недостаточно хорошо следуют религии, и в библии есть отсылки на то самое сообщение в меилинг листе, где говорилось что определение mvcc вообще-то неправильное, поэтому мы решили работать со своим особенным mvcc, который подразумевает регулярную остановку базы
ну и за компанию еще будут продвигать такие охуительные термины как "синхронная репликация"
Я думал услышать какие-то технические объяснения проблемы постгреса, что-то про тормоза MVCC итд.
Вместо этого я получил истерику с рассказом про "разрабатывается дедами", "неудобный мейл лист", "не использует треды" (почитай на досуге чем тред от процесса отличается на линуксе)
На всякий случай добавлю, что Cassandra это noSQL, и она нужна для совершенно иных задач. Сравнивать её с Posgtres мягко говоря странно, чтобы не сказать жеще.
Постгрес надо сравнивать с другими РСУБД.
С MySQL (который у постгреса сосет) или с Ораклом или MS-SQL, но тут надо смотреть на цену.
MS-SQL круче, Оракл вероятно тоже, но из бесплатных постгрес однозначно рулит.
И последнее: мы так и не увидели ни одной истории про потерю данных на стабильной базе по вине базы.
Ты сказал неправду, чувак. Постгрес не теряет данные
– ну это ты хуйню написал ДИКУЮ
Ну так нужно иметь репликацию на несколько машин )
Верно. Но кроме того RAIDу нужна батарейка, если он в режиме writeback. Если в write through, то не надо, но это медленно.
у нее проблемы с перформансом
https://sysdig.com/blog/column-selection-effects-query-performance/
с физикал интегрити
https://www.pluralsight.com/guides/disaster-recoverable-data-persistence-with-apache-cassandra-prepare-for-the-unexpected
И еще ее нужно тюнить
https://thelastpickle.com/blog/2018/08/08/compression_performance.html
какие-то ебанутые настройки
https://thelastpickle.com/files/2018-08-08-compression-performance/sjk-64.png
Это теперь мода такая от создателей "трехчасовой ток вместо документации" и "wiki с экзамплом вместо референса"?
У нас в "Nim" всё именно так!
ваш эластик -- всё
http://zsv-elastik.ru/
я с тем же успехом мог начать предъявлять претензии, что не могу нормально создать в рдбмс индекс, чтобы у меня любой поисковый запрос по любым колонкам отрабатывал быстро
И не задолго до того
[quote]
ты должен знать снизу донизу какие-то ебанутые настройки, которые в любом адекватном ПО уже были бы выставлены в нормальные значения
[/quote]
clown.jpg
Ок.
А я родился со знанием про freeze
Ладно, кидаю ссылку на Афира (для непосвящённых — он автор jepsen, тест-тулы которая поставила раком все существующие БД):
https://aphyr.com/posts/294-jepsen-cassandra
Самый сочок:
> Losing 28% of your supposedly committed data is not linearizable by any definition. Next question.
> So if you do 100,000 writes/sec, on any given read you’ve got a 5% chance of seeing corrupt data. If you do 10 writes/sec and 1 read/sec, in each day you’ve got about a 1/3 chance of seeing corrupt data in any given day.
> The second thing you’ll notice is deadlocks. In my Jepsen tests, the cluster would go unresponsive after the first 10 or so transactions–and it would never recover. Any further attempts to modify a cell via transaction would spin endlessly in failed transactions, until I manually truncated the system.paxos table.
Выжимка для ленивых:
In most respects, PostgreSQL behaved as expected: both read uncommitted and read committed prevent write skew and aborted reads. We observed no internal consistency violations. However, we have two surprising results to report. The first is that PostgreSQL’s “repeatable read” is weaker than repeatable read, at least as defined by Berenson, Adya, Bailis, et al. This is not necessarily wrong: the ANSI SQL standard is ambiguous. The second result, which is definitely wrong, is that PostgreSQL’s “serializable” isolation level isn’t serializable: it allows G2-item during normal operation.
Где потеря данных, Fike?
If partitioned for about half of the test run, I found counters could drift by up to 50% of the expected value.
В общем, Cassandra примерно на 50% надёжнее, чем /dev/null, неплохо!
В смысле? Есть какие-то данные о расхождении результата с ожиданием при использовании dev/null?
У меня такое только раз было, когда я права сломал и у меня доступа к dev/null не было.
По сути NoSQL животные годами пытаются оспорить CAP теорему (любые 2 и 3).
А он спускает всю эту мечтательную мразоту на землю.
> > So if you do 100,000 writes/sec, on any given read you’ve got a 5% chance of seeing corrupt data. If you do 10 writes/sec and 1 read/sec, in each day you’ve got about a 1/3 chance of seeing corrupt data in any given day.
Столько вумных слов, а обосрались так, будто они там данные в файлик «data.json» пишут.
Ожидаемый ответ. Однако он разбивается чисто по индукции. Чтобы доказать утверждение "Cassandra написана ротоняками", нужно сначала доказать базис индукции. Базис индукции даёт эта статья. Затем мы приме-ня-ем утверждение, что принципы разработки существенно не изменялись, к гипотезе индукции, и получаем, что в 2021м году Cassandra всё ещё является ротонякской DB.
Qed.
Ты этот тезис только что придумал.
Тезис был что Кассандра лучше посгри как key-value store
Особенно если с момента релиза Кассандры до момента написания статьи прошло меньше лет чем с момента написания статьи дл времени комента файка
Additional consistency examples:
You do a write at ONE, the replica crashes one second later. The other messages are not delivered. The data is lost.
You do a write at ONE, and the operation times out. Future reads can return the old or the new value. You will not know the data is incorrect.
You do a write at ONE, and one of the other replicas is down. The node comes back online. The application will get old data from that node until the node gets the correct data or a read repair occurs.
You do a write at QUORUM, and then a read at QUORUM. One of the replicas dies. You will always get the correct data.
> Cassandra does not use employ traditional mechanisms like locking or transactional dependencies when concurrently updating multiple rows or tables.
Звучит страшно. Я бы важные данные там не хранил. И не особо важные тоже.
http://datanerds.io/post/cassandra-no-row-consistency/
В ней описывается проблема консистентности уже в рамках одной (!) записи.
> Кассандра лучше посгри как key-value store
Моя компетенция недостаточно высока, чтобы подтвердить или опровергнуть это утверждение.
Однако если мне понадобится key-value store я возьму сишный Redis.
Просто потому что не доверяю джавашиному говну, особенно если это джавашатня от корпорации стоящей за log4j.
Неизбежная плата за скорость и масштабируемость.
В общем-то если в РСУБД отключить флаш лога транзакций и юзать dirty read, они тоже на скорости memcached'а работать начнут... ACID -- это дорого.
Официальная документация пойдёт?
Note: It is not possible to "tune" Cassandra into a completely CA system. See You Can't Sacrifice Partition Tolerance for a more detailed discussion.
https://docs.datastax.com/en/cassandra-oss/3.x/cassandra/dml/dmlAboutDataConsistency.html
Кстати я забыл отметить что у Афира в блоге лалкохранилища не всегда могли держать даже 1 из 3!
То есть у этой хипстерской NoSql швали вроде как супербыстрые транзакции, а в итоге получается 1 гарантия из 3, у особо анскильных даже 0 из 3.
Для внеклассного:
https://stackoverflow.com/questions/47465360/lightweight-transcation-in-cassandra#47466910
"постгрес потерял данные": 1 ссылка
>postgres потерял данные из-за изменений поведения с tmpfs.
Понятия не имею что несет аноним с лора, то вероятно речь о переносе tempdb на tmpfs, что когда-то у кого-то привело к каким-то проблемам, но мы не знаем.
По теме "дагестанец выебал казака" в Интернете больше информации.
Ищем теперь postgres "corrupted page file"
Два резулттата
NOT FOUND is an indication of a corrupted page file. ... Driver" jdbc_driver_library => "/tmp/logstash/vendor/postgresql-42.1.4.jar" jdbc_connection_string ..
и
... Start Full Stack Web Development: Build Secure Asynchronous Single-Page Apps with Flask, React, and PostgreSQL ... How you can Fix a Corrupted Page File.
-------------
Файк, ты оказывается троллил. А я думал, ты серьезно.
извини))
К ней даже тула для выковыривания данных из развалившейся базы есть...
К ней тулз для её ворошения очень много.
Причем постгрес у нее свой, своя сборка. на обычной потсгрес не работает
над миром всё время
летают без устали;
мне за Хугина страшно,
страшней за Мунина, —
вернутся ли вороны!
PHP-way.
Кстати благодаря тому что пыхерам это приходится делать сразу — их системы хорошо масштабируются на несколько машин.
Но я согласен с тем, что они не могут, как жавушки запустить 3000 долгоиграющих тредов и шедулер кварц внутри (а вынуждены ебаца с кроном, лалки) так что в теории их приложения stateless.
Во-первых можно сделать общую MySQL базу
Во-вторых можно посылать друг другу REST запросы с JSON
Один тред шлет емейл, другой его получает.
Емейлы можно слать асинхронно, и они шлюзаются в сети вообще без интернета.
Скажем, второй тред можно унести в новел нетваре или фидо..
А какой официальный IPC у твоего Nim?
# Note that objects passed through channels will be deeply copied.
Это, получается, плохо и неперфомансно. Похоже, придётся через "channel" гонять "deepcopies" моих данных по чуть-чуть, хотя можно и всё сразу.
Хотя, если верить вот этому туториалу, то выглядит всё довольно неплохо:
https://nim-lang.org/docs/channels_builtin.html
Сделай спец структуры (типа жавушных DAO) и передавай их через ченнелы. Будует чисто и понятно
Допустим, я хочу приостановить числодробилку, чтобы успеть переписать некоторые результаты в блокнот, либо ввести ещё одну переменную.
Получается, что мне нужно два канала, через один ЧД будет срать мне в консоль, а через другой будут сообщаться команды для ЧД.
Я думаю сделать это так:
1. Можно вставить неблокирующий вызов channel.tryRecv(), чтобы считать команду, если таковая есть, а потом посчитать формулу. И так снова и снова...
2. А можно как-то накуколдить два потока: один для команд, второй для передачи результатов числодробления. Но я даже не представляю, как это будет выглядеть.
Как принято поступать, разрабатывая солидные распределённые "highload" системы реального времени? Лично я больше склоняюсь к первому варианту.
бизивейт что ли?
не надотак
Знаешь как работает kqueue/select/pool/epoll в никсах или completion ports в пинде?
Общая мысль такая: "я жду когда просрутся вот эти восемь каналов. Разбудите меня когда хотя-бы один просрется, а я пока посплю"
>два потока
см 10k problem
> см 10k problem
Да, тогда потоки не нужны, получается.
> Знаешь как работает kqueue/select/pool/epoll в никсах или completion ports в пинде?
Нет, но догадываюсь. Ковырял недавно async/await питушню, но она мне не подошла для моей задачи. Всё-таки потоки более гибкие в плане одновременного выполнения.
> бизивейт что ли?
Это тот, который "while(time() < t + 100) {};"? Конечно, ТАКОГО у меня не будет, потому что "highload".
Алгоритм в первом случае будет такой:
1. Во входящий канал насрали?
1.1. Если да, то обработать команду.
2. Посчитать хуиту.
3. Насрать хуитой в исходящий канал.
Вполне возможно, кстати, что канал может быть и двухсторонним. Хотя и в двух каналах я проблемы не вижу.
Потоков нужно __примерно__ столько, сколько ядер. 10к потоков не нужно.
>Это тот, который
ну ты написал "1. Можно встав", я и испугался
>1. Во входящий канал насрали?
а если нет?
Но я же правильно понимаю, что если ``computeImportantThingsQuickly'' будет вовсе не ``Quickly'', то программа встанет, и будет нехорошо?
А если бы был ``epoll'', то можно было бы ему передать какой-нибудь "коллбек", и он бы его 100% вызвал, вне зависимости от загруженности потока с числодроблением.
лол)
А почему не 98 и не 732?
>о программа встанет, и будет нехорошо?
Ага
>коллбек
Это скорее в win completion ports.
С epoll ты бы избавился от sleep.
Я бы сделал так (псевдокот)
если тебе нужно получать еще и ответы от "another_thread" тогда так
Более нрмальный вариант с несколькими another_threadами предлагаю тебе сделать самому
Если поставить 98, то консоль будет слишком быстро засираться. А если 732, то наоборот, слишком медленно.
Это пример, так что похуй. В чистовом варианте sleep-ов не будет, т.к. мне нужен перфоманс. Это же "highload"!
В итоге, знатно попердолившись, у меня получилось сделать вот такое:
Всё работает как надо и, похоже, довольно перфомансно! Как тебе такое решение? Говно или не очень?
Как по мне, оно полностью подходит под мою задачу: бекенд бекенда через два канала передает данные и получает команды в и из фронтенда бекенда, который будет заворачивать данные в UDP-сокет и высирать их на клиента, который всё это будет рендерить в реальном времени.
А ещё я нашел вот такую питулю:
https://nim-lang.org/docs/selectors.html
В "Nim", оказывается, столько всего есть!
https://habr.com/ru/company/wunderfund/blog/597113/
> I can program and like games
> These days it’s a pretty bold claim if you say that you invented a sorting algorithm
> C++20 added minimal support for coroutines. I think they’re done in a way that really doesn’t fit into C++
> One of my favorite things to have worked on was the Getting Over It easter egg in Just Cause 4.
Мне кажется, что он клинический дебил & долбоёб и просто не мог написать сортировку.
О, я читал этого типа.
Он кажись на крестах царские мапы делал, быстрее stlных.
> Мне кажется, что он клинический дебил & долбоёб
Ничего страшного. Это первое впечатление нормального человека, о том кто пишет на крестах.
Только для обеспечения этой сортировки придётся perfect hash, который сохраняет порядок, писать для своего класса. И вычислять при каждой сортировке. И если у тебя возможных состояний больше чем влазит в size_t, то сосёшь. Или если у тебя нетривиальные требования к сортировке. Список файлов им не отсортируешь...
https://desu-usergeneratedcontent.xyz/g/image/1494/01/1494018902076.png
O(n), где n — максимальное значение чисел на входе.
This block affects IP 104.21.235.35 and domain emb.apl67.me.
Decision 2-2836/16 made on 2016-07-29 by Первореченский районный суд г. Владивостока - Приморский край.
This block affects IP 104.21.235.35 and domain www.pornoskazka.net.
Decision 498359-URL-on made on 2018-08-28 by Роскомнадзор.
This block affects IP 104.21.235.35, domain desu-usergeneratedcontent.xyz and URL https://desu-usergeneratedcontent.xyz/d/image/1505/98/1505989605089.jpg
> Первореченский районный суд г. Владивостока
Торт настучал.
> emb.apl67.me
> Минкомсвязь
Алкаши настучали.
> https://desu-usergeneratedcontent.xyz/d/image/1505/98/1505989605089.jpg
Пиздец. Как хорошо, что этот сайт запретили законом.
напомнило
> sleep (arr[i])
По-моему на заре ГК обсуждали подобные вореанты сортировок, использующих сисколы.
Дошли до того, что O(logN*N) скрыто в шедулере процессов.
давайте так же считать по квантам шедулеравремя
Причём тут это?
Для того чтобы узнать когда кого разбудить, всё-равно придётся делать priority queue(heap) с упорядочиванием. На получение одного элемента там нужно log(n).
А всего как раз O(n*log(n)).
Мои родители рассказывали, что в Московской области перешли на 220 вольт раньше, чем в Москве. Был какой-то период, когда в столице и в области было разное напряжение. Но это было задолго до моего рождения. Может быть, в 1960-х.
А недавно прочитал, что в центре Питера в кварталах с плотной застройкой в некоторых домах 127 вольт сохранялось до XXI века, потому что новые трансформаторные подстанции размещать негде, а если разобрать старую, то жильцы будут долго без электричества вообще.
По Московской Области
Оказывается, в «Русале» в 2021-м году куча трофейного оборудования. 500 вольт было в Третьем Рейхе, потому что Гитлер любил всё большое. Вот под это оборудование, вывезенное из гермашки, сделали электросеть.
http://www.electrik.org/forum/index.php?showtopic=16892
А почему так может быть?
— небыло длинных
в лесу не ебаться
напиши мне на си такую функцию, которая получает параметр по значению, а потом ты меняешь в ней один символ, и она начинает получать его по указателю, а все 100400 мест её использования можно не менять (просто перекомпилировать)
По-моему это пиздец...
Или ты const ссылку имеешь в виду? Но там уже не 1 символ, а 7.
Ну почему сразу пиздец. Просто нужно помнить, где данные можно менять, где нельзя.
K&R C в этом на питон похож, кстати. const нужен только анскильным лалкам, которые не в состоянии разобраться, можео ли менять данные, или нельзя
А вот добавление «const &» действительно ничего не поломает.
Кстати, преобразования и в Сишке сломаются, если на указатель поменять.
А вдруг кто-то ждал, что x станет пустым после вызова?
foo_val(std::mov(x));
foo_cref(std::mov(x));
Или я туплю?
Но я не помню, что там Стандарт по этому поводу говорит (гарантируется ли вообще его вызов, может ли он вызываться при конверсии && -> const & и так далее), а нырять в него лень.
https://ideone.com/EkKj9C
Всё, последний оплот крестоблядства пал.
https://www.meme-arsenal.com/create/chose?type=all&tag=%D0%BC%D0%B3%D0%BD%D0 %BE%D0%B2%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F% 20%D0%BA%D0%B0%D1%80%D0%BC%D0%B0%20%D0%B 1%D1%8B%D0%B4%D0%BB%D0%BE%20%D0%BF%D0%BE %D0%BB%D1%83%D1%87%D0%B0%D0%B5%D1%82%20% D0%BF%D0%BE%20%D0%B7%D0%B0%D1%81%D0%BB%D 1%83%D0%B3%D0%B0%D0%BC&sort=latest
https://i.imgur.com/Nel5RR5.jpg
Во-вторых, make_unique решал следующую проблему:
В func_1 может произойти следующее: new Foo вычисляется, выделяется память и создаётся объект, затем вычисляется new Baz и где-то там выкидывается эксепшен. Ошмётки недоделанного Baz подчищаются, память освобождается, но созданный Foo утекает, потому что Foo* не имеет специфического поведения при разрушении и развертке стека.
В func_2 вычисляется make_unique<Foo>(), который внутре создаёт и упаковывает объект в unique_ptr, который освободит память, если Baz кинет исключение. Поэтому так делать было безопасней.
В С++17 гарантировано, что один аргумент вычислится полностью, перед тем как начнёт вычислятся другой. То есть после new Foo начнёт вычислятся unique_ptr<Foo>(...), а не что-то другое, так что когда Baz кинет эксепшени, Foo* будет уже надёжно завёрнут в unique_ptr и память освободится при развёртке стека.
У него хуй есть.
У меня в контроллерах глобальные const массивы (и статические const массивы) могут быть размещены только лишь в флеше, т.е не надо просирать на это оперативную память, которой сравнительно мало. Т.е. если есть большой инициализированный не-const массив, данные для инициализации этого говномассива таки будут в флеше, и потом некая хуйня просто перекопирует байтики из флеша в оперативку (т.е. проебывается и место в флеше, и место в оперативке).
Ты всегда можешь отправить не-const массив в секцию для флешки. Да и конпелятор не обязан пихать const массивы в секцию для флешки.
Т.е. ты свою задачу и без const прекрасно решишь.
Да, какими-то флагами, прагмами, линкер-скриптом это можно сделать, только вот зачем? Зачем? Если я его делаю не-const, я его наверное буду менять, верно? А если я его буду менять, то изменения в этом массиве сохранятся после перезагрузки контроллера, а нахуй мне это надо? Да и к тому же флеш-память изнашивается
Ну т.е. ты в основном для читателя это пишешь, чтобы показать свои намерения.
И вроде есть конпеляторы, которые этот хинт не понимают и надо явно прагму ебашить.
Почему "в основном"? Я это еще и для компилятора пишу, чтобы он ругался при попытке менять этот массив. И еще чтобы компилятор не прогондонивал оперативную память на этот массив.
Дык это тоже для себя. Емейл протектед как раз про это и пишет.
> не прогандонивал
А вот это стандарт не гарантирует. Но разрешает конпелятору так делать, да.
Стандарт может и не гарантирует, а вот некоторые реализации гарантируют.
У некоторых контроллеров флеш памяти вообще нет, т.е. там программа тупо вгружается в оперативную память и там исполняется https://govnokod.ru/27525#comment648694
Правда на cortex m0 это не прокатило -- он не фон-неймановский.
> Ну т.е. ты в основном для читателя это пишешь, чтобы показать свои намерения.
Если уж разобраться детальнее, наличие модификатора const позволяет компилятору делать некоторые оптимизации, которые без этого const он бы не имел права делать. Ну например, если есть функция int foo(const int *a), в нее передается указатель на константу и компилятор точно знает, что такая функция ничего не насрет по адресам, компилятор что-то может заоптимизировать. Реальный пример https://gcc.godbolt.org/z/9ebWKhfq5
Хотя Стандарт говорит о «are distinct types that belong to the same type category».
Each unqualified type has several qualified versions of its type, corresponding to the combinations of one, two, or all three of the const, volatile, and restrict qualifiers. The qualified or unqualified versions of a type are distinct types that belong to the same type category and have the same representation and alignment requirements. A derived type is not qualified by the qualifiers (if any) of the type from which it is derived.
Можно вообще использовать упоротую технику с косвенной адресацией:
https://govnokod.ru/26351#comment553808
Это самое страшное из всех наказаний. Всякий знает, как трудно взбираться наверх, но обратный путь всегда тяжелей… Не спрашивайте, как я это делал. Специальная гимнастика, диета, разнообразные поклоны, приседания… Я спускался вниз, как по тропинке, фут за футом, ежедневно приближаясь к уровню сограждан. С головой было труднее всего, но тут помог алкоголь. Ежедневный трехкратный прием алкоголя – и ты очищаешь свою башку от ненужных знаний и мыслей… Первый год я с трудом забывал все то, что усвоил в академии, затем пошло легче… За месяц я забыл колледж, за неделю – гимназию… На забывание философии ушло дня три, на историю – сутки… Потом на эту… как ее… ох, господи… В общем, ее забыл почти без напряжения часа за два… Одним словом, постепенно превратился в нормального господина средних размеров.
Всегда так делаю.
В сочетании арифметикой указателей на char * получается тернарник для строк "true" и "false".
Без ветвления.
https://govnokod.ru/27882#comment750905
https://govnokod.ru/24496
Ну и сломались все точки, где передавали константы и временные объекты.
Просто переконпелировать, да...
Оказалось, что я сделал вот такое:
shit_ptr = cast[ptr Shit](allocShared0(sizeof(ptr Shit)))
Кто угадает, почему не работает?
Или это вьетнамские флешбеки после виндового ядра?
ну да, конечно же программисты специально делают баги. могли бы и не делать, но просто не хотят
https://pbs.twimg.com/media/DsD2HOJWsAA-EZT.jpg
Так это, получается, OG обитатель говнокода?
Надо будет погуглить сканы, вдруг кто-то все выпуски отсканировал.
Так это компания Менатеп и проплатила же поди.
Ею вроде владел хордор, а пиарщиком работал известный путинский пропагандон, идеолог русских миров, суверенных демократий и прочих "наши" сурков-дудаев
Потом путин суркова перекупил, а ходора на кукан посадил
Когда ты сёма, и ненавидишь всё, что не понимаешь (а это примерно всё), то коверкаешь имена людей: Штульман, Штауштруп, Швабодка (думаю, это чешская фамилия)
https://github.com/ali1234/vhs-teletext
Если вдруг кому-то...
Карта видеозахвата?
в прыщах нет
но ты прав, vbi это video4liux, сиречь плата видеозахвата
Помимо этого, в универсальную библиотеку OKGF был включён огромный класс из VirtualDub ветки 1.2x (размером более 1 Мб исходного кода), из которого применялась всего-навсего одна функция для программного рескейла видео на весь экран.
Это обман чтобы набрать мегабайтный класс )))
https://habr.com/ru/post/70330/
Приготовьтесь. В 2021-м Госуслуги утекли, потому что не закрыли директорию .git:
https://habr.com/ru/news/t/598121/
12 лет технического прогресса коту под хвост.
я на один свой петпроект тоже доставляюсь гитом, но я делаю там чекаут из бранча в одну папку, а тем копирую. И кстати мне это совсем не нравится
А вот вопрос: как можно так настроить сервер, чтобы он отдал неизвестные контенттайпы, да еще и из .git?
https://stackoverflow.com/questions/10919137/unknown-extensions-blocked-by-iis
nginx и правда отдает
ну и дырявое же говно этот ваш nginx!
Один блек хэт искал уязвимость в 24 миллионах пхп файлов, сошел с ума, и теперь его лечат галоперидолом, а сайт так и остался невзломанным
* опен != фри.
Блядь. Ещё один хакер, который не отличает ключа от сертификата...
Что там всё-таки утекло, ключи или сертификаты?
Если же приватные ключи пользователей лежали на сервере госуслуг, то следует как можно скорее обоссать и сжечь в полном составе всех, кто имел к созданию этого говна хоть какое-то отношение
серт содержит ПУБЛИЧНЫЙ ключ и подпись.
Собссно серт это
"Вот публичный ключ лошади Маруси. Он подписан CA, и справка дана Марусе в том, что она лошадь".
Я могу зашифровать им письмо Марусе, а она его прочтет.
А подпись CA мне нужна чтобы знать, что публичный клдюч и правда Марусин.
Технически конечно ты можешь слажить в один архив все ключи, но зачем? зачем? нахуя??
Чтобы потом пострипать приватключ. А ротоебы забыли это сделать, например.
Мои паспортные данные с кавычками доказывают, что возможно всё.
д'Артаньян?
Хуефикатов.
https://anonfiles.com/vbX2e5Wew9/gosuslugi.pnzreg.ru_rar
И по традиции:
Decision 840048-URL-on made on 2019-11-15 by Роскомнадзор.
This block affects IPs 104.18.38.170, 104.18.39.170, 104.24.116.23, 104.24.117.23, 104.31.94.24, 104.31.95.24, 172.64.110.7, 172.64.111.7, 172.64.138.6, 172.64.139.6, 172.64.174.29, 172.64.175.29, 172.64.206.36, 172.64.207.36, 172.67.218.209, 2606:4700:3030::68, 2606:4700:3031::68, 2606:4700:3033::68, 2606:4700:3034::68, 2606:4700:3037::ac, 2606:4700:30::6812, 2606:4700:e0::ac40, 2606:4700:e2::ac40, 2606:4700:e4::ac40, 2606:4700:e6::ac40, domain anonfiles.com and URL https://anonfiles.com/g9P6z5Abn1/RWPAck_rar.
Decision 1424457-URL-on made on 2021-09-07 by Роскомнадзор.
This block affects IPs 172.64.192.30, 172.64.193.30, 2606:4700:e6::ac40, domain anonfiles.com and URL https://anonfiles.com/xeCc4aFfu8.
Тащемта этот код по определению бублик домен.
2 гига разжимаются в почти 7 гигов. Там в основном пыхокал, преобладающий размер файла — один килобайт. Вот типа такого:
Немножко двоичных файлов типа «vaccination_memo_covid.pdf».
Зачем это жабоговно пишет рекламу о себе в каждом файле?
З.Ы. Это же юнит-тест какой-нибудь, я надеюсь?
Всё, теперь говнокод тоже попадёт в реестр. Какой багор )))
Вряд ли такой серьёзный сервис как «Госуслуги» поддерживают полные идиоты.
Ведь так тупо не бывает же?
Ротоеб, ты?
Блядь... В 2021 году? Но это не их вина, а платёжки, конечно.
Предлагаешь использовать HMAC для подписи запросов?
Ну да, там не надо думать каким концом приложить пароль чтобы не словить length extension attack.
https://www.php.net/manual/ru/function.hash-hmac.php
То есть когда даже в «PHP» были готовые функции, чтобы подписать нормально.
Смотрим, что она умеет:
php -r "var_dump(hash_algos());"
Выхлоп:
Семейство SHA-2 уже поддерживалось.
)))
Хорошая новость в том, что это всё реализовано в TLS, и не нужно писать
Не, тлс -- это чисто транспорт. С прикладной точки зрения может захотеться подписать данные самому. Например если ты не особо доверяешь своим хттп сервакам и хочешь обрабатывать этот запрос в более доверенном месте и/или сохранить для истории.
С чего бы это?
Отлично работает аунтенификация по серту.
>Например если ты не особо доверяешь своим хттп сервакам
как это?
https://best2payapi.docs.apiary.io/#reference/0/webapipurchase-
лолшто?
Про PCI слышали, не?
А PCI — это что такое?
вы просили - мы добавили!
Ещё он плох тем, что коллизии можно генерить. Но в данной задаче это не страшно.
и почему?
Это про chosen plaintext attack?
именно по-этому я за то, чтобы брать TLS, и не реализовывать вручную какие-то наколенные говны
Если вы случайно не эксперт по криптографии (а вы точно нет) то стопудово где-то обосрётесь
Подпись параметров — это дополнительный слой защиты.
Единственный, если у них TLS не по серту. Что мешает кому-то другому подключиться по TLS и передать аргументы?
Я однажды реализовал шифр цезаря
Файл, который вы искали, не найден.
Удалили. Теперь не докачаю.
https://cybersec.org/hack/svinskij-githab-lomaem-git-na-primere-miratorga.html
В заметке обсуждаются инструменты для расковыривания чужих гитов.
https://github.com/arthaud/git-dumper
https://github.com/0xHJK/dumpall
https://github.com/lijiejie/GitHack
https://github.com/admintony/svnExploit
https://github.com/trufflesecurity/truffleHog
https://github.com/zricethezav/gitleaks
И пара ссылок с «Х-ра»:
https://github.com/deletescape/goop
https://github.com/WangYihang/GitHacker
По последней ссылке есть таблица сравнения возможностей подобных программ.
гляжу, он был прав))
Всегда так делаю.
https://gosuslugi.pnzreg.ru/
Forbidden
Именно Forbidden, а не Not Found.
Для сравнения:
https://ag.mos.ru/.xyu/
А тут идёт редирект на главную, потому что директории «.xyu» нету.
Т. е. сегодня они поддиректории «.git» закрыли, но не удалили.
И тут тоже: https://transport.mos.ru/.git/
https://git.emias.mos.ru/users/sign_in
https://git.mos.ru/users/sign_in
https://cafap.mos.ru/.git/
https://dt-window.mos.ru/.git/
http://gp210.mos.ru/.git/
http://gp46.mos.ru/.git/
http://kpugs.mos.ru/.git/
https://mediabank.duma.mos.ru/.git/
https://op.mos.ru/.git/
https://study.mos.ru/.git/
https://ulk.mos.ru/.git/
https://rostokino.mos.ru/.git/
https://babushkinsky.mos.ru/.git/
https://beskudnikovo.mos.ru/.git/
https://uzao.mos.ru/.git/
https://uzhnoport.mos.ru/.git/
https://koptevo.mos.ru/.git/
https://cao.mos.ru/.git/
https://molzhaninovskiy.mos.ru/.git/
https://hamovniki.mos.ru/.git/
https://tsaricino.mos.ru/.git/
https://112.mos.ru/.git/
https://10.arts.mos.ru/.git/
https://tsaricino.mos.ru/.git/HEAD
Заметь, 403, а не 404. Есть шанс, что в вебархиве или в кэшах поисковиков что-то осталось.
by 123 же
переходите на Linux
переходите на ASP.NET
рекомендую перейти на андроид
переходите на кокаин
переходите на «пшп»
потом правда вышел с балкона, но был период, когда он был худым и живым
бимба стокилограммовая упала на мостовую в Москве
А потом ее еще решеткой для гриля прикрыло
>живым
Свиногитлер умер
Свиногитлер умер
За пару минут до своей смерти он был еще жив
За пару минут до своей смерти он был еще жив
https://twitter.com/DemocratRussian/status/1444777638434852865
От каких-то наркотиков тоже высыхают.
В русском варианте Специальная Персональная Индивидуальная Диета
Кажется, что не от каких
https://vk.com/wall-73664556_10281
Проверяем:
А «phpmongodbadmin» существует?
Вся парадигма уэб-разовой работки в крации.
— "..... If you were stupid enough to totally ignore durability just to get benchmarks, I suggest you pipe your data to /dev/null. It will be very fast."
— If /dev/null is fast in web scale I will use it. Is it web scale?
— "If you're happy writing to a database that doesn't give you any idea that your data is actually written just because you want high performance numbers, why not write to /dev/null? It's fast as hell."
— Does /dev/null support sharding?
— "Do you even know what a shard is?"
— I'm a web programmer.
В масштабах пыхосайтика?
Слабенько. Утёк только их региональный вариант, работающий тупо на вызовах API ЕАИС и ЕПГУ. Центрального портала "Госуслуг" (ЕПГУ) это никак не коснулось. У меня было поинтереснее:
https://www.rbc.ru/technology_and_media/11/11/2021/618d42109a7947252fe7d448
https://xakep.ru/2021/11/12/gosuslugi-attack/
Там в минифицированном JS-коде ещё летом спалили незакрытую от клиентской части переменную окружения NodeJS с URL-ом доступного для записи сервера Elasticsearch.
В скачанном только какие-то дополнения к «Битриксу» типа контроллеров и вьюшек, т. е. чисто клиентская часть, да ключи к API локальных серверов, которые наружу не торчат.
В скачанном ещё куча пэдээфок и картинок.
У меня скачивание архива тоже шло медленно, но потом я допедрил скачивать архив не на свой ПК, а wget-ом на сервер, где он уже через полчаса и был разархивирован unrar-ом. Два часа изучал - и вручную, и с помощью grep-а; в итоге пришёл к выводу, что ничего по-настоящему вкусного там нет. Взаимодействие с центром состоит в основном в авторизации и получении персональных данных через ЕСИА (сраный OAuth); а всякая хрень, связанная со школами, автомобилями, записью к докторам и прочим, реализована локально, чисто для Пензы.
Смешно было читать напыщенный пост автора, гордящегося своим детским взломом какого-то говноскрипта на PHP...
Тут есть сидеры:
udp://open.stealth.si:80/announce
udp://tracker.cyberia.is:6969/announce
Vuze DHT
В mainline DHT только личеры.
Скорость даже больше, чем была на «anonfiles».
Ммм.. звучит аппетитно
там были личи
Так зовут могущественного мага, у которого усы в форме херов.
«We only support IPv6 connections at the moment.»
Тут кто-то спрашивал, зачем нужен «IPv6».
Вот stealth.si поддерживает оба протокола.
https://i.imgur.com/eINNLpu.png
Author: Anna Ivshina <a,[email protected]>
Author: Asgarag <[email protected]>
Author: Bubba <[email protected]>
Author: DEVportal <[email protected]>
Author: Ekaterina <[email protected]>
Author: Ekaterina Yanko <[email protected]>
Author: KAVlex <[email protected]>
Author: Ksenia <[email protected]>
Author: Max <[email protected]>
Author: Max Shilyapov <[email protected]>
Author: Ravil <[email protected]>
Author: a.kandrashkin <[email protected]>
Author: bubba <bubba@myhost>
Author: bubba <[email protected]>
Author: ctapvk <[email protected]>
Author: ctapvk <[email protected]>
Author: diademinna <[email protected]>
Author: i.sotnikov <[email protected]>
Author: i.sotnikov <[email protected]>
Author: jchiter <[email protected]>
Author: m.ivanaeva <[email protected]>
Author: ravil_pozdnyakov <[email protected]>
Author: root <[email protected]>
Author: root <[email protected]>
Author: root <[email protected]>
Author: ser <[email protected]>
Author: Алексей Кандрашкин <[email protected]>
Author: Виктор Малов <[email protected]>
Author: Галаев Серега <[email protected]>
Author: Екатерина <[email protected]>
Author: Екатерина Янко <[email protected]>
Author: Илья Сотников <[email protected]>
Author: Илья Сотников <[email protected]>
Author: Илья Сотников <[email protected]>
Author: Кандрашкин Алексей <[email protected]>
Author: Кандрашкин Алексей <[email protected]>
Author: Кандрашкин Алексей <[email protected]>
Author: Ксения Андреевна Иванова <[email protected]>
Author: Максим Шиляпов <[email protected]>
Author: Максим Шиляпов <[email protected]>
Author: Янко Екатерина <[email protected]>
https://music.yandex.ru/users/Diademinna/albums
https://www.instagram.com/diademinna/
«Инстаграм» закрыла от посторонних, но можно постучаться.
У тех, кто одобряет всем подряд, подписчиков обычно больше тысячи.
https://ieeexplore.ieee.org/author/37086296081
Погуглил... Этот ящик встречается в контактах на 100500 сайтах по всей России. Такое ощущение, что она верстала какой-то шаблон, а потом его у неё спиздили, не глядя.
А вот её сайт, похоже:
http://personalaudio.ru/site_lq/about.php
У кого тут больше развит писательский талант? Кто сможет придумать текст поздравления?
Это поздравление сгенерировано автоматически.
Индекс оффтопов: https://index.gcode.space/.
Зеркала Говнокода и полезные ресурсы:
* https://govnokod.xyz/ (альтернативный Говнокод)
* https://gcode.space/ (read-only зеркало Говнокода)
* https://t.me/GovnokodBot (Говнокод-бот в «Telegram»)
* https://t.me/GovnokodChannel (Тематический канал в «Telegram»)
* https://vorec.space/ (глоссарий Говнокода)
* https://app.element.io/#/room/#govnokod:matrix.org (резервный чат)
Примечание: автоматические поздравления в настоящее время осуществляются только с аккаунта HoBorogHuu_nemyx.
Остерегайтесь подделок. Берегите себя и своих близких. Кок!
Чому не державною мовою?
Слава Україні!
Вореціям слава!
Можно ascii-открытку прислать.
https://jatoba.ru/
Функциональные возможности СУБД Jatoba!!
журналирование
Point-in-time recovery (PITR)
наличие планировщика запросов,
поддержка права доступа к объектам
поддержка транзакций
Datasafe
– утилита с WEB UI для контроля ряда аспектов СУБД:
эт жорошо ведь веб такая защищенная платформа
Он бесплатный, и совершенно блевотный. К счастью, существует 0 причин им пользоваться.
Что произойдет, если дать автоматике кидать туда-сюда мастера как ей захочется? Правильно, расхождение историй.
(оно правда может и при первом флипе произойти, другое дело что с ним разбираться будет куда проще, чем когда сеть поморгала, а оно сотню раз туда-сюда мастера перекинуло)
Отвечают админы гитхаба.
чиница впайкой 100омного резистора
https://miketabor.com/fixing-a-synology-ds1515-not-powering-on/
https://govnokod.ru/27900
https://govnokod.xyz/_27900/