Куча говна / Говнокод #25374 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Офигеть, sql-дамп говнокода весит всего 240Мб.

Может переписать на "C++" и держать все индексы в памяти?
А на фронте будет только обращение к JSON API. И можно хоть мобильное приложение делать на "Electron.js".
Клиент будет подписан на интересующие его события, например на сток и на ответы на его коменты.
Никто не хочет заняться по фану?

Запостил: guestinxo guestinxo, (Updated )

Комментарии (49) RSS

  • Во-первых что мешает все данные держать memcached каконить (R/O копирую разумеца)?
    Во-вторых в Mysql можно вывернуть innodb_buffer_pool_size в большое значение и у тебя и так все будет в памяти.

    Вообще надо включить slow query log и посмотреть explainом что там у тебя тормозит.


    (вымыл руки после упоминания mysql и спустил воду)
    Ответить
    • Оно то так.
      Но сам каеф будет в написании на крестах, с велосипедированием своих индексов на std::map-ах, и синхронизацией с диском.
      Ответить
      • тогда и клиента надо на плюсах
        и протокол на гуглпротобуф
        и еще несколько нод и PAXOS между ними
        Ответить
          • Боманд, а ты рубишь в хардварной виртуализации?
            Я пытаюсь понять: чтобы врубить VMX надо писнуть в CR4, так?
            После этого можно создать VMCS и сказать VMXON, и дальше запускать всю non-root петушню.

            Но ведь писать в CR4 можно только с нулевого кольца? Как же работают Type-2 гипервизоры типа virtual box? Они что, драйвер свой ставят?

            Еще вопрос: когда проц работает на нулевом кольце но в non-root mode (ядро гостевой ОС) то у него может быть доступ к чему угодно вообще, смотря что в VMCS написано?

            То-есть если у меня дырявый гипервизор то я могу засрать хоста из гостя?
            Ответить
            • > vmxon
              Х.з., я сам это не юзал никогда.

              > драйвер свой ставят
              Ставят, проверь.

              > доступ к чему угодно
              Да, может. Те же hyper-v и xen оставляют главной виртуалке доступ к железу, например.
              Ответить
              • Xen и Hyper-V это гипервизоры первого типа, которые работают прямо на железе, и потому "главная" ОС у них тоже виртуальная?
                Выходит что если я поставлю. hyper-v на win10 то она станет виртуалкой?:)
                Ответить
              • а ты понимаешь как гостевая ос стартует в real mode? проц можно из long mode перевести в non-root real mode?
                Ответить
                • У них может быть и эмулятор процессора. Вспомни, как 64-битные «Windows» и «Windows» для «PPC»/«Alpha»/«MIPS» эмулируют «8086», чтобы из-под эмулятора гонять BIOS.
                  Ответить
                  • мож быть

                    пишут что современные процы уже могут и в нон-рут в real mode старторвать
                    гули "vmx unrestricted gusest"
                    https://www.vmgu.ru/news/vmware-workstation-cpu-hardware-virtualization-error

                    вообще я уже запутался в удушливых потёмках замысловатого сырого нутра x86.
                    Real, Protected (Segments only), Protected (Segments + Paging), V86, 32e, Long mode, теперь всё тоже самое еще с Root и Non-Root, причем еще 3 кольца два конца посреди хвостик

                    Верните мне мой z80
                    Ответить
                    • Устроили тут, блин, Сильмариллион. Четырёх колец (из которых мейнстримные ОС использовали только два; ring 2 использовала только «OS/2», а ring 1 использовали только расширители «DOS») им показалось мало, придумали «минус первое» (гипервизор), «минус второе» («SMM») и «минус третье» («Management engine»). Скоро у них будет лестница с бесконечным количеством отрицательных этажей, как в «SCP-087».
                      Ответить
                      • Есть способ использования первого кольца для виртуализации.
                        Из коробки он не работает, потому что если гость на первом ядре попробует STI/CLI або POPF, то обламается а VMM (на нулевом) об этом не узнает.

                        Это решается binary translation: патчингом кода гостя в рантайме!
                        Один один из способов запуститься без паравиртуализации ена железе без поддержки хардварью
                        Ответить
            • Если тебе подсунули дырявый гипервизор, то у меня для тебя плохие новости: к тебе очень плохо относятся. Скорее беги оттуда, пока с тобой ещё что-нибудь не сделали.
              Ответить
              • подсунул тебе дырявую ложку, проверь
                Ответить
            • >> Они что, драйвер свой ставят?

              Вмварь в system32\drivers кидает всякое говно вроде vmaudio.sys, vmdebug.sys, vmmouse.sys, vmx_svga.sys. И виртуальная коробка тоже этот каталог чем-то засирает.
              Ответить
              • это драйверы вирт устройств
                а кто в cr4-то срет?

                Впрочем, я уже все почитал: и про паравиртуализацию и про binary translation и про первое кольцо и про круглое яйцо
                Ответить
                  • икру видел рыбью?
                    она круглая
                    и она яйцо


                    Короче, про VMX никто пиздеть не хочет. Никому не интересно.
                    Ответить
                    • Я бы рад, но я питух анскильный. В «PHP» никаких VMX нет, именно поэтому я за «PHP».
                      Ответить
                    • > никому не интересно
                      Имхо, просто не та область, где можно по фану набросать что-нибудь интересное и не сильно сложное.

                      На голом vmx ты разве что сендбокс для какой-нибудь софтины запустишь. А дальше там ёбля с эмуляцией железок и/или паравиртуализованными дровами...
                      Ответить
                      • ну кому ебля, а кому интересно, да и в целом интересно как это всё работает

                        Я пока так ине понял как стартует проц в нерутовом real режиме в тех моделях где он это явно не поддерживает

                        или питух прав и виртуалка эмулирует ему 8086 пока он не переключица
                        Ответить
                        • > виртуалка эмулирует ему 8086 пока он не переключица
                          Да, эмулирует. У виртуалбокса на сайте, емнип, было неплохое описание как всё это работает. К слову, они там даже с аппаратной виртуализацией код интерпретируют/рекомпилят чтобы пореже переключать контексты.
                          Ответить
                          • пожалуй мне стоит почитат а не ибат тебе мозш
                            Ответить
                        • З.Ы. У линупса есть 32 и 64-битные точки входа. Так что можешь возложить хуй на реалмод и запустить линупс на самодельной виртуалке сразу в protected/long.
                          Ответить
                          • у лялкса-то да
                            но для этого я должен викинуть свою лилу и грузить лялих напрмую

                            а ворьтуалка то про это низнает
                            Ответить
                            • Кстати забавно, что они завезли unrestricted guest когда он уже нахуй никому не нужен, на фоне перехода на UEFI. Все гипервизоры и без этого справлялись с реалмодом, да и на скорость в момент загрузки всем пох.
                              Ответить
                              • может быть это чтобы запускать дос и win16?
                                у меня на виртуалке три оси, и все три без uefi (потому что я сраный ретроград)

                                но про скорость согласен: с момента зпуска виртуалки до момента переключения ее в protected mode проходит так мало времени.
                                Ответить
          • Всё фигня. Сервер пишем на «Perl», клиент — в виде кучи перловских регулярок, парсящих «H́T́M͜L͡».̀ ̸Прото҉к̵о̕л ́—͝ ͞с̶а͠мописный: ͡о͜дн̛а͟ ст̴р̷ока̀ —͡ од̡н͝о̶ ͜зн͝ачени́е. Б̳͙̼͉Д̴̺̝̼̫̱ ̸̩т̩̙о̱͍̱͠ͅж̞̬̤͕̠̬е҉ ̝̦̭̀н̻̀а̧͇̰̝̺п̯̙͎͉͜и̘ш͎̰́е̢͔͈͙̖͓̰м̴̱̬ ̞̫̠̯͇͓͠ͅн̭а͓̭͔̙̘̩̣ ͇͓̩̮̫̞̦«̵̜̙̝͚͙͎̜P̹͙̰͉̥̟͢e̶͈r̶͓̪l̖͈» ̥̺̬̹͞(̥̕«̣͍͈̺͇̯̻͠N̫̫o̪̮̲̥̲S̞̗̬̞̻̘Q̘̥̞͍̯̰ L̰͢ ̳͙̦̺͘K̴̺̦̩e̡͇̩y̼͈̲̝͔-͠V̹̳̟͖̫̪al͉̲̜͚͢u̬̝͇̦̯̬͡ę̫̭͎͈ ͓̝͟S̗͙̫̩t̥͔͉͖o̢r͏̖̺̠̘͙a̫̖̬g͔͢e͚»̮̦͎͓͕:̸̲ ͔͚̮͕̝̪ ̸͎̬̗̻͓̯̜т͕̜̩̺͔̞̤͘е̙̣͕͚к̱̜͍с̮̭̤̗то͖̲̘̫̤̫͢ в̣͇̥̩̥̲ы̯͇̪̩͕̺̗й̮̩͔͙͔͚͡ ̘̝̼̙ф̫а̴͔̦̠̲ͅй̵̣л̡̰͎̯͎̮̲ ͞с̟͠ ̸͉п̠а͍͎̩͟р͏а͕̟͇м̶̜̥̺и͎̝ ̭«̨̹̣͓к̷̘̹̜̘̜̲̺л̞̤̳͕̰ю̤ч̢̮̝͖̬̝͖̳-̸̹̼̤̲з̵̼̫͙̮̼̗н̟̹͍̟̭̣а̼̼ч̱̲͓̟͔̤е͚̝͡н͓͇̗̖̭ ̬̝ие͜»̖͉̱̼̕,͚ ̡͕͓̙̠̜͕̲р̟̻а̙̪̗̻з̝͍͔͈д͏е̧̯̲͎͇̯̟л̤̙ё͖̬̟͘н ̡͕͍̺н̲̘̺ͅы̜м͕͉̥̺̼͢и͙̜̟͉͇̥ ͚͕͇͚̰̦д̫̪̬̰̥̙в̮ͅͅо̙͈͎̹̭͓̺е̥̰͙̮̬̯͝т̳̙̥͠ͅо ̸̞̯ч̶͚̝̤и̢̙я̟̣́м̴̻̹и̲͚̰͖̲͡)̲͉͈͢.̱̮̯̬͚̥̥
            Ответить
            •                                                  
              Ответить
            • зачем мне перл если есть sed, awk и bash?
              Ответить
    • >по фану
      написано же.

      Вдруг ты хочешь написать говнокодик на плюсиках? Особенно интересно где инью будет это все хостить:)
      Ответить
    • За тем же, зачем ты клавиатуры свои циклоняшные собираешь.
      Ответить
    • Чтобы потом искать всякие дырки, типа переполнения пуфика, чтобы там удалённо кот испражнялся.
      Ответить
      • переполнение пуфика давно уже лечат посредством ганарейки, а у в современных цпу так и вовсе хахардварно можно запретить испорожнение той сраиницы где лежат диванные (в опенбзды еще хужее -- там нельзя это разрешить без молотка и кувалды!)
        Ответить
        • Всякое бывает, и не обязательно сувать туды мышынного кота, можно ещё попробовать напихать нужных адресов разврата.
          Ответить
          • Ты придумал "Возвратно-ориентированное программирование", проверь
            Ответить
            • Я как-то хотел написать форт-систему, которая работала бы в стеке, но есть ли гарантии, что сохранится то, что находится за вершиной стека?
              Ответить
              • > за вершиной стека
                В amd64 ABI (не виндовом) есть red zone на 128 байт которую ты можешь юзать без декремента rsp. В большинстве остальных соглашений такой хуйни нет и твои данные там могут засрать даже если ты сам ничего не вызываешь (обработчики сигналов и прерываний).
                Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8