- 1
IT Оффтоп #188
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
IT Оффтоп #188
#158: https://govnokod.ru/28366 https://govnokod.xyz/_28366
#159: https://govnokod.ru/28391 https://govnokod.xyz/_28391
#160: https://govnokod.ru/28434 https://govnokod.xyz/_28434
#161: (vanished) https://govnokod.xyz/_28449
#162: https://govnokod.ru/28477 https://govnokod.xyz/_28477
#163: https://govnokod.ru/28501 https://govnokod.xyz/_28501
#164: https://govnokod.ru/28527 https://govnokod.xyz/_28527
#165: https://govnokod.ru/28557 https://govnokod.xyz/_28557
#166: https://govnokod.ru/28574 https://govnokod.xyz/_28574
#167: https://govnokod.ru/28588 https://govnokod.xyz/_28588
#168: https://govnokod.ru/28607 https://govnokod.xyz/_28607
#169: https://govnokod.ru/28628 https://govnokod.xyz/_28628
#170: https://govnokod.ru/28653 https://govnokod.xyz/_28653
#171: (vanished) https://govnokod.xyz/_28665
#172: https://govnokod.ru/28675 https://govnokod.xyz/_28675
#173: https://govnokod.ru/28681 https://govnokod.xyz/_28681
#174: https://govnokod.ru/28689 https://govnokod.xyz/_28689
#175: https://govnokod.ru/28696 https://govnokod.xyz/_28696
#176: https://govnokod.ru/28703 https://govnokod.xyz/_28703
#177: https://govnokod.ru/28709 https://govnokod.xyz/_28709
#178: https://govnokod.ru/28716 https://govnokod.xyz/_28716
#179: https://govnokod.ru/28726 https://govnokod.xyz/_28726
#180: https://govnokod.ru/28734 https://govnokod.xyz/_28734
#181: https://govnokod.ru/28739 https://govnokod.xyz/_28739
#182: https://govnokod.ru/28749 https://govnokod.xyz/_28749
#183: https://govnokod.ru/28777 https://govnokod.xyz/_28777
#184: https://govnokod.ru/28790 https://govnokod.xyz/_28790
#185: https://govnokod.ru/28794 https://govnokod.xyz/_28794
#186: https://govnokod.ru/28815 https://govnokod.xyz/_28815
#187: https://govnokod.ru/28833 https://govnokod.xyz/_28833
nepeKamHblu_nemyx 20.08.2023 18:52 # 0
Этот оффтоп сгенерирован автоматически.
Индекс оффтопов: 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.
Остерегайтесь подделок. Берегите себя и своих близких. Кок!
ISO 20.08.2023 19:30 # 0
guest6 20.08.2023 22:40 # 0
ISO 20.08.2023 22:47 # 0
guest6 21.08.2023 16:28 # 0
ISO 20.08.2023 22:53 # 0
guest6 22.08.2023 12:19 # −1
Desktop 22.08.2023 23:07 # 0
guest6 22.08.2023 23:26 # 0
Desktop 22.08.2023 23:30 # 0
guest6 24.01.2024 05:20 # 0
guest6 21.08.2023 00:26 # 0
guest6 21.08.2023 01:09 # 0
guest6 21.08.2023 01:58 # 0
https://imgflip.com/i/7wdqkz
guest6 21.08.2023 21:22 # 0
ropuJIJIa 22.08.2023 08:37 # 0
guest6 21.08.2023 17:06 # 0
ropuJIJIa 22.08.2023 08:34 # 0
guest6 22.08.2023 12:19 # 0
ropuJIJIa 22.08.2023 12:57 # 0
guest6 22.08.2023 14:14 # 0
guest6 22.08.2023 14:21 # 0
Здесь даже рыбе плыть запрещено.
guest6 21.08.2023 19:35 # 0
https://schemas.microsoft.com/developer/msbuild/2003
но нет
guest6 21.08.2023 19:52 # 0
А зачем тебе msbuild, кстати?
guest6 21.08.2023 20:54 # +1
этот хмл у майков же считается скриптом
но они отчаялись уже больше 5 лет назад
The schema link in an MSBuild project file is not required in Visual Studio 2017 and later. If present, it should be http://schemas.microsoft.com/developer/msbuild/2003 regardless of the version of Visual Studio. This value is not a live web destination; the most current MSBuild schema definition file (.xsd file) can be found at Microsoft.Build.xsd.
ropuJIJIa 22.08.2023 08:34 # 0
guest6 22.08.2023 14:23 # 0
guest6 23.08.2023 17:49 # 0
CLion умеет по нему строить модель проекта. Кодинсайта правда никакого нет (до такой степени нет, что даже блядь таргеты мне не подсказываются с CMakeLists.txt) то инклуды резолвит.
Правда мне вот уже сразу пришлось писать императивную парашу с foraech
guest6 23.08.2023 19:30 # 0
guest6 23.08.2023 19:37 # 0
В одной билдсистеме (XCode, MSBuild) у тебя есть разные конфигурации, тогда как в другой (Make, Ninja) нету.
Иногда декларативщины тебе не хватает, и прихордица пирдолица с императивщиной, и тебя ждут os-spefic бубарехи, списки и итерация по ним, и пр.
Мелкие проектики легко описать хоть на Make, а сложные начинают адскую пирдоль
ropuJIJIa 28.08.2023 19:57 # 0
Напомнило, как некоторые библиотеки парсинга HTML/XML пытаются выкачать все DTD и обламываются, когда сайта не существует (или ссылки сменились). Приходится изучать, как в них отключается выкачивание DTD.
guest6 22.08.2023 00:10 # 0
ISO 22.08.2023 09:52 # 0
>>> [...] and investing into domestic energy production while promoting clean energy.
Я правильно понимаю, что бороться с инфляцией они решили путём вливания ебейшего количества бабла в дорогую и неэффективную зелёную энергию?
Tike 22.08.2023 04:58 # 0
guest6 22.08.2023 13:10 # 0
ropuJIJIa 22.08.2023 13:34 # 0
MGIMO finished. По-английски будет logged in?
guest6 22.08.2023 13:53 # 0
ropuJIJIa 22.08.2023 14:27 # 0
guest6 23.08.2023 01:55 # 0
ropuJIJIa 22.08.2023 14:46 # 0
https://reqrypt.org/reqrypt.html
Суть такова:
1. Отправляешь tcp-пакет на прокси-сервер.
2. Прокси-сервер отправляет на целевой сайт tcp-пакет, вписав обратным адресом не свой, а твой.
3. Сайт отправляет ответный пакет тебе напрямую, минуя прокси-сервер.
В чём выгода?
1. Удаётся пробить провайдерские блокировки, если провайдер фильтрует только исходящий канал, но не фильтрует входящий.
2. При этом скорость скачивания будет выше, чем в случае двухстороннего канала с прокси.
3. Твой айпишник не будет подменён (может быть достоинством и недостатком).
Подводные камни:
1. Большинство хостингов проверяет IP-пакеты и не позволяют в source запихнуть чужой адрес. Но оказалось, что хостинги без проверки всё-таки существуют.
2. Если клиент сидит за провайдерским NATом, он не сможет принять обратный пакет, ибо NAT не знает, кому из клиентов его доставлять.
Desktop 22.08.2023 15:12 # 0
пять лет не обновлялось
на сайте есть упоминание того, как на маке выключить ipv6, чтобы ебала заработала, но сборки под мак нет, типа компиляйте и пребудет с вами счастьечко
guest6 22.08.2023 16:17 # 0
ropuJIJIa 22.08.2023 16:39 # 0
Like a sir, да.
Desktop 23.08.2023 15:03 # 0
типа не оставляйте телефон на зарядке на легковоспламеняющихся материалах вроде постели
Tike 22.08.2023 17:40 # 0
ropuJIJIa 22.08.2023 17:46 # 0
ropuJIJIa 22.08.2023 17:48 # 0
guest6 22.08.2023 17:49 # 0
g: conntrack, https://thermalcircle.de/doku.php?id=blog:linux:connection_tracki ng_3_state_and_examples
guest6 22.08.2023 19:52 # 0
guest6 22.08.2023 20:48 # 0
guest6 23.08.2023 09:30 # 0
Soul_re@ver 23.08.2023 09:42 # 0
Датчик светит кучей ИК лучей под сильным углом и считает, сколько вернулось обратно из-за полного внутреннего отражения. Если на проверяемую поверхность попала капля воды, то там будет фазовый переход не стекло-воздух, а стекло-вода, в котором нужен куда больший угол падения для отражения, так что количество отражённых лучей уменьшится. Как только датчик фиксирует достаточное количество воды на лобовухе, включаются дворники.
Можешь попробовать обоссать верхнюю часть лобового стекла в движении, должно запустить дворники.
Ещё есть детекторы дождя, основанные на влажности воздуха, но им требуется несколько минут, чтобы понять, что пошёл дождь, и они не работают на болотах или иных сырых местах.
guest6 23.08.2023 13:11 # +1
guest6 23.08.2023 12:24 # +1
Desktop 23.08.2023 13:37 # 0
guest6 23.08.2023 13:39 # 0
guest6 23.08.2023 13:17 # 0
https://pbs.twimg.com/media/FU0-VhpWYAEUQNb?format=jpg&name=medium
guest6 23.08.2023 13:30 # 0
Я был в Турции, и там куча кошек. Один мужик пришел с булем, и я испугался за кошек. Мужик говорит "he is friendly", но я всё равно волновался, пока он кошек обнюхивал
guest6 23.08.2023 13:53 # 0
> кошек обнюхивал
Как-то не по Дарвину
guest6 23.08.2023 15:40 # 0
Desktop 23.08.2023 16:12 # 0
guest6 23.08.2023 17:50 # 0
Desktop 23.08.2023 18:15 # +1
guest6 23.08.2023 19:39 # 0
https://agilewarrior.wordpress.com/2016/03/07/objective-c-nil-nil-null-nsnull/
nil / Nil / NULL / NSNull
Soul_re@ver 23.08.2023 19:48 # +1
У меня уже пригорело.
> Most notable behavior of nil, though, is that is can have messages sent to it. This would crash other programs in C++. Which greatly simplifies expressions, as it obviates the need to check for nil before doing anything.
И от этого говна в языке. Всё ли у нас хорошо, нет ли ошибки? А хуй его знает, главное, что программа не рухнула, а что у пользователя ни одна кнопка не работает — похую, сам закроет.
Есть ситуации, когда что-то нужно выполнить если есть валидный указатель/ссылка, а иначе не делать, но лучше это делать явно, как это сделано в шарпе, с его ?? и ?.
guest6 23.08.2023 19:55 # +1
Напомню, что null появился в С++. В няшной жили-были только 0 и NULL. Причем кажется нулевой указатель не обязан быть нулём. В Нарнии построили комптютер, у которого ноль -- валдиный адрес.
ObjC это надмножество няшной, hence обратно совместимая.
>И от этого говна в языке.
Десктоп исправит если я пижжу, но кажется эту шляпу перенесли и в свифт. Короче, да: у нила можно вызвать метод в Objc, получить nil, вызвать у него мтеод и пр.
Я годами воевал с жабоебами, которые писали
А тут прямо в языке такое
>как это сделано в шарпе, с его ?? и ?.
Похоже сделано и в котлине, там тоже в самом языке исправили one billion dollar mistake
зы: но конечно всех уделали ДЖС бляди со своимс null vs undefined. Так жидко обосраца никто не смог
Soul_re@ver 23.08.2023 20:00 # +1
В каком месте 0 это "nothing"? Такое же число, как и любое другое.
guest6 23.08.2023 20:06 # +1
Кстати, есть еще одно остроумное представление для "ничего", не требующее ссылок и ноля. В джаве его нету, а в расте, сишарп и в свежих С++ есть.
guest6 15.07.2024 00:33 # 0
guest6 15.07.2024 01:49 # 0
guest6 15.07.2024 02:52 # 0
guest6 15.07.2024 03:35 # 0
Со ссыклей и жаба умеет (опцион, да и просто нулабл) а я про юнион со значением
Desktop 23.08.2023 20:32 # 0
guest6 23.08.2023 19:41 # 0
А джавскрипт бляди, в чем отличие string от String?
Сишарп бляди, в чем System.Boolean от bool?
(я знаю ответ, я вас просто собеседую)
guest6 23.08.2023 20:20 # 0
guest6 23.08.2023 18:35 # 0
guest6 23.08.2023 19:40 # 0
(с) Коза с кудрявыми ножками
Soul_re@ver 23.08.2023 16:33 # 0
guest6 23.08.2023 17:50 # 0
Soul_re@ver 23.08.2023 18:53 # 0
guest6 23.08.2023 19:38 # +1
--Теренс, c чего это ты назвал меня свиноёбом???
--Ну давай подумаем... Во-первых ты ебешь свиней
--А, точно
ropuJIJIa 24.08.2023 23:06 # 0
guest6 24.08.2023 23:07 # 0
Desktop 24.08.2023 23:10 # 0
guest6 24.08.2023 23:18 # 0
В карате не понимал ни бе, ни ме
Desktop 24.08.2023 23:08 # 0
guest6 24.08.2023 23:19 # 0
guest6 24.08.2023 23:46 # 0
guest6 23.08.2023 19:47 # 0
Можно написать ``petuh_vector{42}`` вместо ``petuh_vector(42)`` и получить необычное поведение программы
Soul_re@ver 23.08.2023 19:54 # 0
guest6 23.08.2023 19:57 # 0
* Сорок два Питуха
* Питух Сорок Два
Forty two roosters
Forty two the Rootster
Soul_re@ver 23.08.2023 20:06 # 0
guest6 23.08.2023 20:15 # 0
guest6 23.08.2023 20:31 # 0
Desktop 23.08.2023 20:41 # 0
guest6 23.08.2023 20:50 # 0
Desktop 23.08.2023 20:51 # 0
guest6 23.08.2023 21:02 # 0
guest6 23.08.2023 21:03 # 0
guest6 24.08.2023 17:37 # 0
Desktop 23.08.2023 21:06 # 0
guest6 24.08.2023 17:13 # 0
guest6 24.08.2023 17:36 # 0
guest6 24.08.2023 21:22 # 0
guest6 24.08.2023 23:22 # 0
guest6 24.08.2023 23:24 # 0
ropuJIJIa 24.08.2023 23:34 # 0
Погуглил книжки о Гарри Поттере и нашёл какую-то питушню: «А-ба-ба-га-ла-ма-га — украинское книжное издательство, специализирующееся на выпуске и переводе детской литературы на украинский, русский и английский языки.»
Desktop 24.08.2023 23:40 # 0
ropuJIJIa 24.08.2023 23:05 # +1
Desktop 24.08.2023 23:10 # 0
Муж и жена одна гэбня
guest6 23.08.2023 20:45 # −1
guest6 23.08.2023 20:50 # −1
guest6 23.08.2023 21:34 # 0
я https://cs8.pikabu.ru/post_img/2017/06/22/0/1498082299184359101.jpg
ropuJIJIa 24.08.2023 23:36 # 0
guest6 23.08.2023 21:38 # 0
guest6 23.08.2023 21:42 # 0
guest6 23.08.2023 21:45 # 0
ropuJIJIa 24.08.2023 01:48 # 0
The repository contains aliases/symlinks. Cloning on Windows requires using the option -c core.symlinks=true and running the command with Admin privileges.
You may also need to pull using this command,
and configure the repository with this command,
Угадайте, почему в «git» для «Windows» пришлось добавлять такую странную опцию.
ropuJIJIa 24.08.2023 01:56 # 0
(В «Windows» есть следующие типы ссылок на файлы:
• Hard Links — жёсткие ссылки, как в *nix. Доступны начиная с Windows NT4.
• Junction Points — аналог символических ссылок. Только на директории. На файлы таким способом ссылаться нельзя. Доступен начиная с Windows 2000 (NTFS 5).
• Symbolic Links — символьные ссылки. Доступны начиная с Windows Vista.
И создавать их можно только от имени админа. Поэтому долгое время порт «git» вообще не поддерживал ссылок.)
guest6 24.08.2023 23:55 # 0
ropuJIJIa 25.08.2023 00:00 # 0
guest6 25.08.2023 00:06 # 0
Представляешь, сколько миллионов строк кода стали бы не нужны, сколько миллионов багов бы никогда не появилось, сколько миллионов часов не тратили бы админы и программисты на поддержку этой пижни, насколько вообще мир был бы проще?
ropuJIJIa 25.08.2023 00:21 # 0
Т. е. они попробовали, но максимально через жопу, насколько это вообще было возможно. И даже сертификат совместимости с Юниксом за это говно получили.
ropuJIJIa 25.08.2023 00:02 # 0
guest6 25.08.2023 00:10 # 0
и вроде еще initramfs
guest6 25.08.2023 00:36 # 0
guest6 25.08.2023 00:49 # 0
guest6 27.08.2023 01:12 # 0
guest6 27.08.2023 01:15 # +1
ropuJIJIa 27.08.2023 01:27 # 0
guest6 27.08.2023 01:41 # 0
guest6 24.08.2023 02:24 # +1
Жавайоб: `long i = System.currentTimeMillis()`;
Крестовичок
The TrivialClock requirements describe the requirements satisfied by several clocks in the chrono library.
For a type TC:
The type must meet Clock requirements.
The types TC::rep, TC::duration, and TC::time_point satisfy the requirements of EqualityComparable, LessThanComparable, DefaultConstructible, CopyConstructible, CopyAssignable, Destructible, and NumericType.
Class std::chrono::steady_clock represents a monotonic clock.
Class std::chrono::system_clock represents the system-wide real time wall clock.
Никола Бурбаки объясняет число "один"
ropuJIJIa 24.08.2023 12:31 # 0
В атомные часы время от времени вкидывают «високосную секунду», чтобы подогнать их под скорость вращения Земли. Поэтому в system_clock время иногда идёт рывками, и их нельзя использовать для вычисления временных промежутков между двумя событиями. В монотонных же часах (steady_clock) время идёт без рывков, но они периодически убегают вперёд относительно UTC.
Desktop 24.08.2023 13:18 # 0
guest6 24.08.2023 15:20 # 0
ropuJIJIa 24.08.2023 21:17 # 0
Tike 24.08.2023 20:34 # 0
ropuJIJIa 24.08.2023 21:18 # 0
Tike 24.08.2023 20:34 # 0
Tike 24.08.2023 20:37 # 0
guest6 24.08.2023 12:53 # 0
Desktop 24.08.2023 13:18 # 0
guest6 24.08.2023 13:34 # +1
guest6 24.08.2023 14:59 # 0
От ЗАПАДА.
guest6 24.08.2023 20:49 # 0
guest6 24.08.2023 20:49 # 0
guest6 24.08.2023 20:50 # 0
Как реализовывалось понятие владения сущностью в крестах до 11й версии, и как это правильно делать в сишке?
guest6 24.08.2023 20:53 # 0
auto_ptr
> как это правильно делать в сишке
Держать в уме программиста.
ropuJIJIa 24.08.2023 21:20 # 0
guest6 24.08.2023 21:23 # 0
ropuJIJIa 24.08.2023 21:25 # 0
guest6 24.08.2023 21:32 # 0
guest6 24.08.2023 21:37 # 0
ropuJIJIa 24.08.2023 23:01 # 0
guest6 24.08.2023 23:24 # 0
guest6 24.08.2023 23:25 # 0
засохший
На самом деле ты почти угодал про кмос
guest6 24.08.2023 23:34 # 0
j123123 25.08.2023 10:22 # 0
guest6 24.08.2023 13:19 # 0
guest6 24.08.2023 13:55 # 0
guest6 24.08.2023 14:23 # 0
Но O(1) = O(2).
Я бы ещё спросил у него чем они отличаются.
guest6 24.08.2023 20:51 # 0
)
======================================== =====================-)
).
guest6 24.08.2023 19:16 # 0
guest6 24.08.2023 19:17 # 0
guest6 24.08.2023 21:51 # +1
ropuJIJIa 24.08.2023 22:12 # 0
Двуцветный питоху — одна из немногих ядовитых птиц. На коже и перьях у неё присутствует яд батрахотоксин — мощный нейротоксин.
...
Причина ядовитости птицы заключается в её питании. Двуцветные питоху едят жуков Choresine pulchra, в организме которых содержится батрахотоксин. У самой птицы выработался иммунитет к этому яду, чего нельзя сказать про местных жителей, которые считают эту птицу совсем негодной.
Desktop 24.08.2023 22:23 # 0
Desktop 24.08.2023 22:37 # +1
Живёт по 500 лет, беременность 18 (лет)
guest6 24.08.2023 22:54 # 0
азазазаза
ropuJIJIa 24.08.2023 22:59 # +1
Что только люди не жрут: маниоку, сюрстрёмминг, копальхен, рыбу фугу, тюленя, фаршированного чайками.
Desktop 24.08.2023 23:01 # 0
Desktop 24.08.2023 23:02 # 0
guest6 24.08.2023 23:02 # 0
guest6 24.08.2023 23:10 # 0
Это же рыба
У некоторых даже кодона на срок годности нет
Desktop 24.08.2023 23:11 # 0
guest6 24.08.2023 23:17 # 0
И кстати я не беременный, если что
Desktop 24.08.2023 23:18 # 0
guest6 24.08.2023 23:20 # 0
ropuJIJIa 24.08.2023 23:24 # +1
«Половая зрелость у гренландских полярных акул наступает в возрасте примерно 150 лет.»
guest6 24.08.2023 23:26 # +1
guest6 24.08.2023 23:39 # 0
Чем отличается to_vect от into_vec?
guest6 24.08.2023 23:40 # 0
void into_vec(vec&);
guest6 24.08.2023 23:48 # 0
Речь тут однако о расте.
to_vect Copies self into a new Vec, тогда как into
Converts self into a vector without clones or allocation.
Так что to это копия, а into это мув.
Вот конвеншены
https://rust-lang.github.io/api-guidelines/naming.html#ad-hoc-conversions-follow-as_-to_-into_-conventions-c-conv
Если бы такое было в крестах, то все бы ржали. А над растом нельзя ржать
ropuJIJIa 24.08.2023 23:51 # 0
guest6 24.08.2023 23:55 # 0
правда же это очевидно?
ropuJIJIa 25.08.2023 00:11 # 0
guest6 25.08.2023 00:22 # 0
guest6 25.08.2023 01:02 # 0
"""Мы хотим рассказать о ровесни_цах независимой Украины — среди них есть и спортсмен_ки, и рэп исполнитель_ницы, и хирурги."""
Как пофиксить последнее слово?
Tike 25.08.2023 01:44 # +1
ISO 25.08.2023 20:22 # 0
guest6 25.08.2023 01:05 # 0
Можно толкьо позавидовать находчивости этой девушки. В любой непонятной ситуации
По ее словам, в итоге подруга посетила все сеансы этого врача, потому что «он вылечил то, что другие не смогли поправить».
Desktop 25.08.2023 12:33 # +1
– неправильный прикус, я надеюсь?
guest6 25.08.2023 11:51 # 0
guest6 25.08.2023 11:59 # 0
“The lawsuit alleges that, from at least September 2018 to May 2022, SpaceX routinely discouraged asylees and refugees from applying and refused to hire or consider them, because of their citizenship status, in violation of the Immigration and Nationality Act,” the Justice Department said in a statement.
ropuJIJIa 25.08.2023 12:53 # 0
https://pvs-studio.ru/ru/blog/posts/cpp/1064/
guest6 25.08.2023 14:12 # +2
Это не си
ropuJIJIa 25.08.2023 14:21 # 0
Напомнило старые добрые времена, когда на ГК спрашивали, где здесь C++, и обязательно что-нибудь находили, хотя бы const.
guest6 25.08.2023 14:25 # +1
guest6 25.08.2023 15:39 # 0
В масме был мощнейший макропроцессор, и можно было совершенно бесплатно избавляться от копипасты через всякие макросы с циклами и пр.
ЯВУшные анскилябры в своих Java и Python тоже могут писать циклы, но уже в рантайме, потому что на перформанс всем похуй.
Крестовичок же тут в сложной ситуации. Делать что-либо в рантайме ради удобства программирования это зашквар. Наоборот, мелкий цикл лучше анрольнуть. Макроебить неудобно и тоже зашквар. Остается писать шаблон и надеяться на его инлайн.
Или нет?
j123123 25.08.2023 16:19 # 0
guest6 25.08.2023 19:57 # 0
ropuJIJIa 25.08.2023 20:03 # 0
guest6 25.08.2023 20:06 # 0
guest6 26.08.2023 19:01 # 0
guest6 26.08.2023 19:15 # 0
guest6 26.08.2023 19:23 # 0
В случае ObjC или TypeScript это не так: любой говнокод С или на JS будет валидным кодом на ObjcC и TS соответтвенно.
Другой такой пример это Java и Groovy: любой код на Java это валидный код на груви кажыца
guest6 25.08.2023 14:37 # 0
маск н берет на работ камерунских программистов
Desktop 25.08.2023 14:47 # 0
guest6 25.08.2023 15:35 # 0
Desktop 25.08.2023 16:18 # 0
guest6 25.08.2023 16:33 # 0
j123123 25.08.2023 17:28 # 0
guest6 25.08.2023 18:20 # 0
ISO 25.08.2023 23:35 # 0
guest6 25.08.2023 23:54 # 0
guest6 26.08.2023 02:25 # 0
guest6 25.08.2023 18:44 # 0
Согласно условиям лицензионного соглашения, граждане России теперь не имеют права пользоваться архивами, созданными с помощью WinRAR (распаковывать их, просматривать, хранить), а также файлами, распакованными этой программой. Проигнорировать запрет не удастся – следить за соблюдением санкций будет IT-департамент Минфина США.
В пресс-службе компании подтвердили, что приостанавливают лицензии в РФ. Поскольку в программе не предусмотрено механизма отзыва ключа, российских пользователей просят самостоятельно избавиться от архиватора и всех файлов, созданных с его помощью.
«Это решение далось тяжело, но другого выхода нет, – сообщил пресс-секретарь организации Евгений Рошал. – В том числе будут отозваны все лицензии, проданные за 2023 и 2022 годы».
На уточняющий вопрос журналиста «Вообще все?», представитель win.rar GmbH ответил утвердительно: «Да, обе».
guest6 25.08.2023 18:50 # +1
«Это решение далось тяжело, но другого выхода нет, – сообщил пресс-секретарь организации Евгений Рошал. – В том числе будут отозваны все лицензии, проданные за с 1999 по 2022 год».
На уточняющий вопрос журналиста «Вообще все?», представитель win.rar GmbH ответил утвердительно: «Да, обе».
Desktop 25.08.2023 18:58 # 0
guest6 25.08.2023 20:59 # +1
ropuJIJIa 25.08.2023 21:35 # 0
guest6 26.08.2023 18:52 # 0
Удивительно, но я до сих пор им пользуюсь
ropuJIJIa 26.08.2023 19:19 # 0
MAPTOBCKuu_nemyx 30.04.2024 06:56 # 0
ropuJIJIa 25.08.2023 20:02 # 0
ropuJIJIa 25.08.2023 21:45 # 0
https://www.rarlab.com/rar/unrarsrc-6.2.10.tar.gz
Собирается с помощью makefile и gcc (включая mingw и кросс-компиляторы), LCC, Visual Age на выбор, а также MSBuild/Visual Studio.
Лицензия разрешает использовать этот код для распаковки, но не разрешает реверсить упаковку.
А вот про брата:
ropuJIJIa 25.08.2023 21:49 # 0
https://www.unrarlib.org/faq.html
Зато с интересной лицензией.
То есть хотите — соблюдайте GPL, не хотите — не соблюдайте.
Автор — некто Christian Scheurer ([email protected]).
ropuJIJIa 25.08.2023 20:29 # 0
guest6 26.08.2023 18:51 # 0
ropuJIJIa 26.08.2023 19:17 # 0
guest6 27.08.2023 01:13 # 0
guest6 25.08.2023 19:01 # 0
Есть клиент, который в режиме pull опрашивает измененные строк таблицы. Псевдокод:
И есть другой клиент, который пушит данные в базу, вручную заполняя поле updated текущим временем.
Как вы догадались, может произойти такая «гонка», что кто-то пушнёт updated на миллисекунду меньше максимального, и изменение пропустится.
Можно было бы решить глобальным счётчиком, но хуяза не поддерживает автоинкремент: это считай k-v хранилище с индексами. Что можно сделать? Пока прикрыл костылём, что запрашиваю за секунду назад.
Desktop 25.08.2023 19:20 # 0
– шта
guest6 25.08.2023 20:05 # 0
Desktop 25.08.2023 20:06 # 0
а что, это критично в твоём кейсе?
guest6 25.08.2023 20:14 # 0
Я пишу танзакционную блохчейн систему. Проебать одно звено действительно не критично.
Desktop 25.08.2023 20:18 # 0
guest6 25.08.2023 19:34 # 0
почему нельзя слать изменения через очередь?
Soul_re@ver 25.08.2023 19:52 # +1
Его выгонят из библиотеки.
guest6 25.08.2023 20:03 # 0
Когда проснётся прочитает всё, что пропустил.
> почему нельзя слать изменения через очередь?
Не понял. Опиши архитектуру. Кстати, читателей и пейсателей несколько. Ну и может появиться новый читатель, который должен вычитать всё, а дальше ждать следующих изменений.
guest6 25.08.2023 21:12 # +1
Одобряю, так их, копченых!
У тебя же скаляр можно возвращать из базы той же фуксией max()
А если волнуешься о хуйне, то записывай отсчеты с датчиков в строки только для чтения, а поверх них сделай вьюшку с последними
guest6 25.08.2023 21:20 # +1
ISO 25.08.2023 23:42 # 0
1. Как сказал Desktop — можно воспользоваться блокировками: на уровне базы или вообще какого-нибудь внешнего сервиса, если пирфоманс не критичен (например, микросервис, к которому можно ходить в POST /lock/<uuid>/acquire за локом).
2. Можно всё таки не заполнять поле updated вручную, а попросить базу — наверняка же там хоть «now()» есть?
3. Вместо микросервиса локов из п.1 можно сделать микросервис «текущего времени» и ходить в него за таймштампом. Так же можно и автоинкремент сделать, лол.
4. Можно посмотреть, что у тебя в базе есть из изоляции транзакций и намутить на этом псевдо-автоинкремент (типа таблицы с одной колонкой и одной строкой, на пересечении которых находится счётчик).
5. Можно изменить подход и фильтровать не по «updated_since», а просто сделать булеву колонку «is_processed» и ставить её в True после процессинга, а пуллить те строки, у которых она False.
guest6 25.08.2023 23:52 # 0
Локи не подходят, нужен "пефомас". Таблица из одной колонки и одной строки для изоляции транзакции — тоже не пефомасно, считай то же самое, что лок.
Данные должны записываться в базу не лоча ничего.
Вариант с now() интересный. А ты уверен, что это решает проблему? Откуда появится гарантия, что запрос с меньшим now() выполнится первее?
Desktop 26.08.2023 00:01 # 0
guest6 26.08.2023 00:03 # 0
Desktop 26.08.2023 00:23 # +1
Desktop 26.08.2023 00:27 # 0
guest6 26.08.2023 00:48 # 0
Tike 26.08.2023 05:51 # 0
фу терпила
MAPTOBCKuu_nemyx 03.05.2024 21:02 # 0
Какой Krebsgang )))
guest6 03.05.2024 21:32 # 0
Tike 26.08.2023 05:51 # +1
guest6 26.08.2023 15:15 # 0
Какой парадокс )))
ISO 26.08.2023 16:33 # 0
Нормальные базы, написанные умными людьми для умных людей, позволяют очень гибко выстраивать стратегии блокировок, см. https://www.postgresql.org/docs/current/explicit-locking.html.
В СУБД для обезьян такого, понятное дело, не будет, конечно.
ropuJIJIa 26.08.2023 17:23 # 0
guest6 26.08.2023 18:01 # 0
guest6 26.08.2023 18:17 # 0
ropuJIJIa 26.08.2023 19:21 # 0
guest6 26.08.2023 19:36 # 0
guest6 26.08.2023 18:00 # 0
guest6 26.08.2023 18:17 # 0
ISO 26.08.2023 19:26 # 0
Возьми «Кафку», «Артемис», «Redpanda» или любую другую из миллиона шин (inb4: «kafka» — распределённый лог, а не шина) — и все твои ебучие проблемы с таймштампами и шортполлингом (шортполлингом, блядь! 2023-й год!) базы уйдут туда, куда им и место — в канализацию к пыхокодерам.
guest6 26.08.2023 19:30 # 0
А когда перформанс тесты докажут, что это решение слишком плохо масштабируется, то думать про кафку.
ISO 26.08.2023 19:36 # 0
> у пыхеров есть такая профдеформация, что они бквально любую задачу решают на СУБД
Тут скорее хипстеры с новыми модными технологиями. Даже самый убогий мускуль умеет делать «now()»; да даже в ебучем «redis» есть «INCR». Чтобы ни дат, ни автоинкрементов не было — это нужна какая-то прямо пиздец какая хипстерская технология.
guest6 26.08.2023 19:42 # 0
В моей хуязе знаешь почему нету автоинкремента? Пологаю потому, что это high-перформанская скилловая питушня.
Представь у тебя есть 100 шаров, и ты можешь параллельно записывать много много данных, распределяя нагрузку на шарды. А чтобы реализовать автоинкремент, то нужно как-то реалтайм их синхронизировать, опять же под каким-то локом.
guest6 26.08.2023 19:43 # 0
А у тебя такая ситуация?
А сколько у тебя писателей, и как ты синхронизируешь часы?
guest6 26.08.2023 19:50 # 0
> как ты синхронизируешь часы?
Вызываю time(). Рассчитываю, что на серверах время правильное. Если ВДРУГ какая-то хуйня произойдёт, то не страшно, перезагружу читателей и они заново всё скачают.
guest6 26.08.2023 20:03 # 0
Верно ли я понял, что у тебя 1000 таких клиентов, и время у них одинаковое с точностью до
>миллисекунду
?
guest6 26.08.2023 20:07 # 0
guest6 26.08.2023 20:11 # 0
Все клиенты уже считали T, а тут один тормоз записал новые данные, а время у него T-1?
guest6 26.08.2023 20:28 # 0
Это чуть снизит лаг. Но на серверах базы тоже время может слететь, теоретически.
guest6 26.08.2023 20:38 # 0
Часы при загрузке читются из CMOS, а дальше их обновляет ОС с помощью таймера*, и на виртуалках оно может оставать, да и на некотрых обычных серверах в минуты сильной загрузки -- тоже.
Потому виртуалка синхронизирует свое время с хостом или с NTP сервером переодически, а обычный хост тоже читает время с NTP.
Это значит, что время может прыгать туда-сюда. Вперёд оно вряд-ли убежит, а отстать может.
Считать, что на двух машинах время всегда одинаковое с точностью до милисекунды -- нельзя.
*
читат со траницы 228
зы: мы как раз неедавно обсуждали два сорта часов из пакета хроно в крестах
Soul_re@ver 26.08.2023 20:52 # 0
https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time
guest6 26.08.2023 21:00 # 0
Пикабу!
ISO 26.08.2023 19:45 # 0
> шорт-поллинг всеми читателями
Спасибо, заорал.
guest6 26.08.2023 19:50 # 0
Desktop 26.08.2023 19:51 # 0
нахер никому твой борланд не усрался
guest6 26.08.2023 19:53 # 0
guest6 26.08.2023 20:02 # 0
Он амбракадабра называется или както тмк
guest6 26.08.2023 20:21 # 0
Я взгляды Борманда тоже считаю чудовщиными. Вместе с тем, Боманд один из умнейших обитателей ГК, обладающий глубокой экспертизой буквально во всех интересующих меня областях.
Увы.
guest6 26.08.2023 20:14 # 0
guest6 26.08.2023 20:17 # 0
guest6 26.08.2023 19:32 # 0
Ради одной мелкой проблемы я буду слезать на другую хуязу и переписывать до пизды простое решение. И ещё неделю с ней ебаться, отхватив десяток других недостатков.
ISO 26.08.2023 19:40 # 0
guest6 26.08.2023 19:44 # 0
ISO 26.08.2023 19:46 # 0
guest6 26.08.2023 19:48 # 0
тоесть они евенчуали консистент? Клиент может опаздаь на пару часиков, и всё будет заебись?
У вас тут суббота, а у меня еще среда
ISO 26.08.2023 19:28 # 0
guest6 27.08.2023 12:09 # 0
ISO 27.08.2023 12:37 # 0
Desktop 27.08.2023 12:20 # 0
guest6 26.08.2023 18:17 # 0
guest6 26.08.2023 18:19 # 0
guest6 26.08.2023 18:31 # 0
guest6 26.08.2023 18:50 # 0
ropuJIJIa 26.08.2023 19:27 # 0
Ещё в PSP была ненужная хуйня, типа FCB для двух файлов, хотя с третьего или со второго DOS (точно не помню) FCB уже никто не использовал, а пользовались дескрипторами, которых можно было открыть аж 256 (минус стандартные потоки).
guest6 26.08.2023 20:10 # 0
А еще там TP-string с командной строкой
guest6 26.08.2023 20:18 # 0
Tike 26.08.2023 06:00 # +2
2. Гладиш ей... ой
3. Представляешь её в виде одной сущности, собираемой из апдейтов. Сначала у тебя пустая таблица, первая запись у тебя говорит, какие строки добавить, последующие уже добавляют, изменяют или удаляют строки:
Транзакция 1: Добавить А, Б, В
Транзакция 2: Добавить Г, удалить Б, заменить В на Д
Транзакция 3: Вернуть Б
Сами транзакции записываются в mysql (или что у тебя в твоем блокчейне) как обычные записи, где номер транзакции - часть ключа (что не позволяет дважды добавить транзакцию с одним и тем же номером)
4. У каждого изменения есть порядковый номер, который предоставляет тебе регистр для CAS-операций. Каждый слушатель знает, какую последнюю транзакцию он видел, поэтому пушить он пытается с N + 1. Если такая транзакция уже была записана, то он получает отлуп. Если он получил отлуп, то читает изменения и пытается повторить операцию, если за это время не появилось конфликтов. Аналогично слушатели всегда знают с какого места им надо читать и могут попросить сервер читать с транзакции N при каждой итерации, начиная со стартовой.
5. Для восстановления состояния таблицы ты просто прокатываешь транзакции с первой по последнюю
6. Чтобы этого не делать, каждые пятьдесят транзакций ты делаешь слепок таблицы, а для восстановления накатываешь только то, что идет после слепка
7. Чтобы экономить пространство, настраиваешь ретеншен, который будет собирать старые снапшоты и транзакции
8. Вы получили вымесь кафки и event sourcing. Пока никто не увидел этот abomination и не прикончил его из джвухстволки, уберите его в шкаф.
9. Данная схема замыкается на оптимистичную блокировку одного регистра. Для 10к человек это скорее всего будет норм. Если перформанс будет не норм, то тогда можно смотреть Snapshot Isolation и пытаться бороться с конкурентностью на уровне множеств записей, а не всей таблицы целиком.
guest6 26.08.2023 13:04 # 0
в виде гномика
Сущность ввиде гномика
guest6 26.08.2023 18:04 # 0
Это какой-то особый вид я... ой?
bootcamp_dropout 26.08.2023 14:07 # 0
в общем случае это уже проеб потому что часы у клиента могут отстать и он начнет записывать не на миллисекунду а на секунду или две или десять раньше
> измененные строки таблицы
Мне кажется для задачи "прочитать апдейты моей хуйни" это неудачная модель. Удачная модель - это лог апдейтов твоих сущностей
можешь написать джобу которая каждые N миллисекунд будет читать бинлог твоей базы данных и записывает апдейты в какой-то кликхаус с увеличивающимся ид. Если писать каждую секунду батчами, то никаких проблем с инкрементируюющимся ид не будет и в кликхаус влезет довольно много.
Проблема будет когда джоба наебнется или задержится или бинлог проебется. Но это решаемо
Более примитивный способ - это просто сохранять бинлоги и отдавать их клиентам и пусть они сами ебутся
guest6 26.08.2023 17:56 # 0
bootcamp_dropout 26.08.2023 18:31 # 0
Вообще бд на низком уровне делает все что гостю нужно (поддерживает лог изменений, версионирует строки, сохраняет снапшоты строк для консистентных транзакций)
Может можно придумать какое-то хитрое решение которое будет просто работать на той же бд без приседаний
guest6 26.08.2023 17:54 # +1
Тебе нужен фронтэнд, который будет реализовывать автоинкремент.
Если же ты весь из себя распделененный, то тебе нужен кмк связанный список как в блокчейне или гите.
Сам факт выбора СУБД тоже странный, о чем и гост и буткемп ниже написали.
guest6 26.08.2023 00:26 # 0
Правильно, никак: https://github.com/rust-lang/rust/issues/53827
Охуенный язык, например
guest6 26.08.2023 00:34 # 0
Soul_re@ver 26.08.2023 00:51 # 0
Или если тебе не нужны нули в массиве, а ты его будешь сам заполнять
А, не прочёл внимательно.
Тогда второй вариант + заполнение в цикле только разве что.
guest6 26.08.2023 00:57 # 0
>цикле
а можно мемсетом?? или fill_n хотя бы
В рустне я не могу ничего создать сразу на куче. Я могу создать на стеке, и в кучу скопироваь. Гиг в стек не влазит, и я сосу stack overfow.
Я могу поклать в стат память (лол!) или могу взять Vector. Но это же хак, блин
Soul_re@ver 26.08.2023 00:59 # 0
Можно. Там у тебя будет просто неинициализированный массив, как после голого new. (В первом варианте будет массив нулей)
j123123 27.08.2023 00:40 # 0
j123123 27.08.2023 00:45 # 0
guest6 27.08.2023 00:46 # 0
>>cleanup(myfree)
ого, да у вас там десктрукторы завезли! Поздравляю!
ropuJIJIa 27.08.2023 00:54 # 0
guest6 27.08.2023 01:17 # 0
ropuJIJIa 27.08.2023 01:31 # 0
Кстати, некоторые гэцэцизмы Шланг подхватил, но я не помню, какие.
guest6 27.08.2023 01:43 # +1
guest6 27.08.2023 01:49 # 0
j123123 27.08.2023 01:39 # 0
Soul_re@ver 27.08.2023 21:10 # 0
guest6 27.08.2023 21:11 # 0
?
j123123 27.08.2023 23:50 # 0
guest6 28.08.2023 00:43 # 0
а еще мув нужен
j123123 28.08.2023 16:15 # 0
Нихуя перегружать в сишке нельзя. Можно сделать макрос ASSIGN в котором _Generic внутри, который для разных типов делает разную хуйню для присваивания.
> Или передачу в функцию по значению
Думаю что это можно намакроебить. Что-то типа
но это хуйня какая-то
> а еще мув нужен
Зачем нужен "мув" если можно передавать по указателю? Но что-то намакроебить конечно можно
guest6 28.08.2023 16:25 # 0
Так ведь и автоматически вызывать код при выходе петуха из зоны видимости в сишке тоже нельзя. Это гццизм.
>Думаю что это можно намакроебить.
Намкароёбить можно всё, что угодно.
>Зачем нужен "мув" если можно передавать по указателю?
Без "десктрукторов"/"дропов" в мув семантике действительно нету никаокго смысла. Она ничем не лучше передачи по указателю. Просто напиши комментарий "вот тут я передал оунершип в другую функцию, потому вызывать fclose или free в этом скоупе не нужно", вот и будет сишкин мув
j123123 28.08.2023 16:37 # 0
Можешь написать особый препроцессор для сишки, который бы проверял зоны видимости для каких-то там переменных, рядом с которыми оставлен специальный комментарий вида "/*destructor(myfree)*/", и чтобы вызывал ту функцию при выходе.
Вообще, доебаться можно и до крестов. Например, почему в крестах я не могу новые операторы делать и определять для них всякие хуйни? Вот например если я хочу чтобы у меня был оператор "^^" который означает "возвести в степень" для какого-то моего класса чисел, почему кресты это не поддерживают?
j123123 28.08.2023 16:52 # 0
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=04f2933d375e3f90d4435b7b518d3065afd1fa25
ISO 28.08.2023 19:20 # 0
guest6 28.08.2023 21:16 # 0
ISO 30.08.2023 19:44 # 0
guest6 30.08.2023 21:12 # 0
Пишите дальше на своих джаваскриптах сраных
guest6 30.08.2023 21:13 # 0
guest6 30.08.2023 21:19 # 0
в рантайме. Знаю я питухон
ISO 30.08.2023 21:54 # 0
guest6 30.08.2023 21:58 # 0
guest6 30.08.2023 22:48 # 0
ropuJIJIa 30.08.2023 22:54 # 0
guest6 30.08.2023 23:34 # 0
guest6 30.08.2023 23:49 # 0
guest6 30.08.2023 23:52 # 0
guest6 31.08.2023 00:15 # 0
ropuJIJIa 30.08.2023 23:54 # 0
Tike 28.08.2023 21:12 # 0
n-notice me IoT-chan.........
ropuJIJIa 26.08.2023 13:25 # 0
https://github.com/engine262/engine262
Pypy все видели, на PHPPHP я тоже ссылку кидал.
Какие ещё извращения вы знаете?
guest6 27.08.2023 21:29 # 0
https://github.com/engine262/engine262/blob/4aa42b6dee32eec63062a0480c7375220d835f7d/src/evaluator.mts#L86
YpaHeLI_ 04.09.2023 16:58 # 0
https://gcc.gnu.org
guest6 04.09.2023 16:59 # 0
guest6 26.08.2023 18:25 # +1
https://shnatsel.medium.com/how-to-avoid-bounds-checks-in-rust-without-unsafe-f65e618b4c1e
такие смешные питушки
guest6 26.08.2023 18:55 # 0
1: Легко позволять писать перформансный код
2. Быть очень выразительными, позволяя делать много вещей малым количеством букв
3. Быть простыми в освоении
Выберите любые два пункта.
Няшная выполняет 1 и 3, но не 2.
Питон это 2 и 3, но не 1.
Кресты это 1 и 2, но не 3.
Не существует языка, выполняющего все три пункта.
Большинство людей ругает язык за невыполнение одного из трех пунктов.
Desktop 26.08.2023 19:04 # 0
ты же неявно отсёк все языки с gc/countref, я тебя знаю
в итоге под пункт 1 у тебя небось попадает только сишка, кресты, руст и фортран
guest6 30.08.2023 23:35 # 0
guest6 30.08.2023 23:39 # 0
https://www.graphicon.ru/oldgr/grafor/gr_help/main.htm
guest6 30.08.2023 23:41 # 0
CALL PAGE(X, Y, 'BATNIK', 6, 1)
R = AMINb
ropuJIJIa 30.08.2023 23:49 # 0
ropuJIJIa 31.08.2023 02:18 # 0
ropuJIJIa 30.08.2023 23:42 # 0
P.S. Хотя DO уже есть. В Фортранах I-IV и того не было, там была только лапша с GOTO.
guest6 31.08.2023 00:02 # +1
Desktop 31.08.2023 00:19 # 0
guest6 31.08.2023 00:22 # 0
работать сутки через трое через трое через трое
Desktop 26.08.2023 19:58 # 0
ropuJIJIa 26.08.2023 20:00 # 0
Desktop 26.08.2023 20:02 # 0
guest6 26.08.2023 20:23 # +1
Когда мне нужно отдавать файлы, я ставлю nginx, и теку. Он сам делает докачку, ренджи, хуенджи, кеш, и даже умеет по требованию клиента выбрать уже сжатый файл.
ropuJIJIa 26.08.2023 23:37 # 0
ropuJIJIa 26.08.2023 23:38 # 0
ropuJIJIa 26.08.2023 23:42 # 0
guest6 28.08.2023 15:53 # 0
guest6 27.08.2023 01:21 # 0
banner(6) – 4.2BSD Games Manual
.TH BANNER 6 "1 February 1983"
guest6 26.08.2023 23:37 # 0
Допустим я купил стойку с серверами, арендовал помещение, обеспечил электричество. Что ещё нужно (а) купить и (б) настроить, чтобы в итоге заработал
(ещё, видимо, надо как-то IP купить)
guest6 27.08.2023 00:41 # +1
В датацентре скорее всего будут представлены несколько провайдеров, из которых ты сможешь выбрать. Они продадут тебе сеть из нескольких IP и оговорят ширину канала и дадут кабель.
В случае гаража тебе придется самому искать провайдера, и уговаривать его тянуть к тебе кабель: оптику или медь.
Когда кабель у тебя, тебе нужно подключиться. Может понадобиться медиаконвертер, но обычно его предоствляет провайдер в аренду.
Если сервер один и IP один, то можно воткнуться прямо в сервер. Если несколько, то лучше поставить роутер (например, микрот) перед ними, либо сделать софтварный роутер на одном из компов.
У серверов обычно есть порт IPMI, где прошивка предоствляет доступ к консоли. Иногда это выделенный порт, иногда порт на специальном VLAN. Через него можно зайти на консоль, и поставить ОС. Но сотрудники ДЦ часто и сами ставят ОС. Я бы советоал на сервер поставить гипервизор, и поднять на нем виртуалку. Ну а на виртуалке ты можешь ты можешь насроить nginx со статической страничкой с текстом pong, тут уже дело за тобой.
Ща схожу за чаем, и расскажу про знакомого админа и его сервера в ДЦ Миран, он мне про них рассказывал подрбно
guest6 27.08.2023 01:13 # +1
Миран сдал ему в аренду несколько серверов с какими-то свежими ксеонами и рейдами. Точнее, на двух серверах рейды хардварные, а на остальном какое-то интелговно. Ну и диски. Сервера собрали сотрудники ДЦ.
У всех серверов выделенный IPMI порт воткнут в оборудование ДЦ, и через их веб-морду можно зайти, запустить ужасного вида джавовое говно на java web start, и оно пердя и тормозя даст доступ к консоли сервера.
Выглядит это так
https://nixtux.ru/wp-content/uploads/2021/08/2021-08-25_13-47.png
Провайдер протянул туда кабель с SFP (видимо оптику, но это не точно). По одному VLAN передает Интернет, а по другому у него канал с офисом (в офисе тот же провайдер, ну и там MPLS видимо или хз). Это стоит денег.
Кабель воткнут в микрот, который ему пришлось купить, и поставить. В микрот же воткнуты витухи от серверов, которые пришлось арендовать у ДЦ.
Ну а дальше настраивая vlan на гипервизоре и микроте можно выдавать IP каждой виртуальной машине, и настраивать между ними маршрутизацию. И не забыдь настроить мониторинг рейдов.
Так что купить нужно
1. Интернет от провайдера
2. Вероятно, хардварный роутер если IP и серверов много, но можно обойтись и софтварным: можно купить софтварный микрот (он ставится на виртуалку), можно бесплатно сделать роутер на виртуалке на прыщах или BSD, есть говно с вебмордой: pfSense, итд.
3. VMWare ESXI, если ты ее хочешь. Но можно поставить прыщи бесплатно, или hyper-v core тоже бесплатно.
guest6 27.08.2023 11:40 # 0
А допустим у меня 30 серверов и 1 белый ipv4 адрес, то кто будет заниматься распределением трафика на сервера? Роутер? Он выдержит такое трафло?
Считаем, что канал выдерживает.
Далее, как сделать, чтобы сервер X имел один и тот же внутренний IP-адрес, даже если его перевоткнуть или роутер перезагрузить? Или это мне не нужно?
guest6 27.08.2023 16:47 # 0
Да.
> Он выдержит такое трафло?
Смотря что за роутер. У нормальных вендоров есть результаты тестов:
https://mikrotik.com/product/l009uigs_rm#fndtn-testresults
Но на 30 серверов тебе, вероятно, нужен серьезный девайс, мб что нить из серии 4000й серии циско.
>как сделать, чтобы сервер X имел один и тот же внутренний IP-адрес
На сервере ты устанавливаешь внутренний IP адрес из RFC1918, например 172.16.1.2
На роутере ты делаешь Full cone NAT на этот адрес, перебрасывая весь трффик с определенного публичного IP на этот внутренний. Таким образом, сервер даже не знает, что у него публичный IP.
Можно объеденить все порты роутера в один мост (сделать их L2 портами в терминологии киски) и все твои сервера окажутся в одной сетке.
Но затем лучше разделить их на VLANы. Как минимум, гипервизоры нужно вынести в отдельный VLAN, и систему бекапа тоже.
guest6 28.08.2023 00:59 # 0
guest6 27.08.2023 21:03 # 0
guest6 27.08.2023 21:06 # 0
guest6 27.08.2023 21:11 # 0
ropuJIJIa 27.08.2023 21:14 # 0
Зато XSS не пройдёт!
guest6 27.08.2023 21:17 # 0
Не совершай ошибку
guest6 28.08.2023 03:29 # 0
И твоя мечта осуществится
Нажми на кнопку, но что же ты не рад
Тебе больше не к чему стремиться
guest6 27.08.2023 21:11 # 0
guest6 27.08.2023 21:12 # 0
guest6 28.08.2023 15:45 # 0
Говно ты, а не перловик
guest6 27.08.2023 21:16 # 0
ты про такое?
guest6 27.08.2023 21:18 # 0
guest6 27.08.2023 21:25 # 0
Неужели так не работает??
guest6 27.08.2023 21:10 # 0
ropuJIJIa 27.08.2023 21:11 # 0
guest6 27.08.2023 21:13 # 0
ropuJIJIa 27.08.2023 21:19 # 0
Разве что Swift вряд ли буду использовать, да и то не из-за самого языка, а из-за скудности реализации.
guest6 27.08.2023 21:26 # 0
ropuJIJIa 27.08.2023 22:15 # 0
guest6 28.08.2023 02:11 # 0
У меня пол конторы макоёбов. Впринципе, почти все прыщебляди мигрировали на мак с убунты в какой-то момент.
На самом деле разработка под ГейОС полезна для расширения кругозора.
* ObjC сам по себе экзотичекий язык. За свифт не знаю.
* Идея диспатчинга сообщий (в компилируемом, статически ипизированном языке!) необычна
* ARC тоже интересный. И нет, это не совсем как шарик в крестах и Rc в расте, но очень похоже.
* Сторибилдеры и сигвеи это интересный способ построения гуя.
* Auto Layout вообще довольно пиздатый. Был семь лет назад. Сейчас не знаю.
В общем это не вордпресс
Desktop 28.08.2023 10:59 # 0
И вообще из того, что ты перечислил, только автолейаут может вызвать какой-то интерес.
Сообщение прямо как привет из 2012
guest6 28.08.2023 13:09 # 0
ты говоришь вот с этим человеком: https://govnokod.ru/28837#comment1170110
Desktop 28.08.2023 13:12 # 0
guest6 28.08.2023 13:41 # 0
сказал десктоп, который принёс на ГК euphoria
ISO 28.08.2023 13:42 # 0
?????
guest6 28.08.2023 13:44 # 0
ISO 28.08.2023 13:51 # 0
ropuJIJIa 28.08.2023 13:58 # 0
guest6 28.08.2023 14:13 # 0
guest6 28.08.2023 15:18 # 0
ropuJIJIa 28.08.2023 15:24 # 0
guest6 28.08.2023 15:41 # 0
guest6 28.08.2023 20:04 # 0
Desktop 28.08.2023 13:52 # 0
эйфория при всех своих потенциальных плюсах умершее окаменевшее ненужно
у эппла ты же можешь взять свежий швифт и получить акторов и декларативный ui, а в пререлизном и вовсе макросы и пародию на боров чекер
зачем вообще вспоминать про абоминацию под названием obj c, которая сегодня нужна только полутора землекопам, у которых edge case торчит из ширинки?
guest6 28.08.2023 14:21 # 0
Desktop 28.08.2023 14:43 # 0
guest6 28.08.2023 15:19 # 0
Кто сказал? Почему пых нужно а эйфория не нужно?
Desktop 28.08.2023 15:48 # 0
guest6 28.08.2023 15:52 # 0
guest6 28.08.2023 21:08 # 0
guest6 28.08.2023 20:06 # 0
Desktop 28.08.2023 20:38 # 0
последняя стабильная версия опенэйфории вышла всего лишь два с половиной года назад, так что по меркам языка тридцатилетнего возраста даже не завонялось
в таком случае я меняю аргумент на обж си древнее говно, а вот эйфория стильно-модно-молодёжно
Desktop 27.08.2023 22:13 # 0
ropuJIJIa 27.08.2023 22:16 # 0
Desktop 27.08.2023 22:19 # 0
3anag 27.08.2023 21:12 # 0
guest6 27.08.2023 21:13 # 0
guest6 31.08.2023 19:47 # 0
guest6 31.08.2023 21:50 # +1
ropuJIJIa 31.08.2023 22:01 # 0
Ещё эта невнятная экранировка командной строки, которая может работать по-разному в разных режимах, так что можно обломаться с обработкой файла O'Henry.txt...
Впрочем, и в bash можно получить улюлей, выполнив команду rm -rf /$petuh, если petuh окажется пустой строкой.
guest6 31.08.2023 22:02 # 0
guest6 31.08.2023 22:07 # 0
guest6 31.08.2023 22:09 # 0
guest6 31.08.2023 22:10 # 0
батяня
ropuJIJIa 31.08.2023 22:12 # +1
За нами Аман, Шабак и Моссад.
ropuJIJIa 31.08.2023 22:10 # 0
guest6 31.08.2023 22:37 # 0
guest6 31.08.2023 22:09 # 0
guest6 31.08.2023 22:11 # 0
ropuJIJIa 31.08.2023 22:12 # 0
Как теперь всё восстановить?
guest6 31.08.2023 22:14 # 0
guest6 31.08.2023 22:18 # 0
guest6 31.08.2023 22:20 # 0
guest6 31.08.2023 22:23 # 0
guest6 31.08.2023 22:24 # 0
guest6 31.08.2023 22:27 # 0
chmod -x $(which chmod)
чего не rsync?
guest6 31.08.2023 22:33 # +1
guest6 31.08.2023 22:35 # +1
guest6 31.08.2023 22:36 # 0
ты не умеш в rsync и unison?
guest6 31.08.2023 22:37 # 0
guest6 31.08.2023 22:39 # 0
Кстати, в нормальных ОС типа Солярис есть возможность проверить хеши всех бинарей и восстановить их, почти как sfc /scannow.
А в прыщедистрах неу
ropuJIJIa 31.08.2023 22:42 # 0
guest6 31.08.2023 22:49 # 0
guest6 31.08.2023 22:49 # 0
guest6 27.01.2024 09:13 # 0
guest6 27.01.2024 09:50 # 0
guest6 27.01.2024 10:20 # 0
guest6 27.01.2024 10:34 # 0
guest6 27.01.2024 10:45 # 0
guest6 27.01.2024 11:00 # 0
https://www.youtube.com/watch?v=I8Pnp7x8MaI
guest6 28.01.2024 05:18 # 0
ropuJIJIa 31.08.2023 22:38 # 0
which -a cp | xargs chmod -x
Вдруг у него несколько копий cp в разных директориях, а ты удалишь только первую?
guest6 31.08.2023 22:42 # +1
guest6 31.08.2023 22:48 # +1
https://unix.stackexchange.com/questions/83862/how-to-chmod-without-usr-bin-chmod
Вроде ни один совет не должен работать
guest6 31.08.2023 22:54 # 0
а, я забыл
это же прыщи, а не солярк
у вас так нельзя
ropuJIJIa 31.08.2023 23:07 # 0
https://www.youtube.com/watch?v=NtSt4lKeLsQ
ropuJIJIa 31.08.2023 23:06 # 0
Останется только придумать, как высрать исполнимый файл текущим шеллом, не прибегая ни к каким внешним командам.
guest6 31.08.2023 23:09 # 0
guest6 31.08.2023 23:09 # 0
guest6 31.08.2023 23:10 # 0
guest6 31.08.2023 23:12 # 0
а можно даже еще проще: зайти в меню бутлодера, подшаманить там опции маунта рута и/или передать bash как init, и в ту сторону копать
guest6 31.08.2023 23:14 # 0
guest6 31.08.2023 23:18 # +1
ropuJIJIa 31.08.2023 23:22 # 0
guest6 31.08.2023 23:52 # 0
файловая система называется ЖЫР
guest6 31.08.2023 23:09 # 0
guest6 31.08.2023 23:10 # 0
guest6 23.01.2024 10:47 # 0
guest6 27.08.2023 21:42 # 0
Desktop 28.08.2023 13:35 # 0
guest6 28.08.2023 16:41 # 0
guest6 28.08.2023 21:09 # 0
ropuJIJIa 28.08.2023 20:22 # 0
«Хуиттер» мумулирует псевдокласс CSS :hover, вешая обработчик на блок и меняя в реальном времени инлайн-стиль жопоскриптом.
А вы думали, почему он тормозит.
Desktop 29.08.2023 22:42 # 0
пришлось экспортировать на ноуте данные и потом делать импорт в новую чистую базу
nepeKamHblu_nemyx 30.08.2023 22:52 # 0
https://govnokod.ru/28840
https://govnokod.xyz/_28840/
guest6 31.08.2023 22:23 # 0
guest6 31.08.2023 23:09 # 0