1. Куча / Говнокод #25374

    0

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

    Запостил: guestinxo, 12 Февраля 2019

    Комментарии (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».
                        Ответить
                        • Я жру красную икру, зарабатывая на неё программированием на "PHP". Поэтому я за "PHP".
                          Ответить
                          • https://yastatic.net/q/edadeal-leonardo/dyn/re/items/23/orig/6221477.jpg


                            ты такой, да?
                            https://cs8.pikabu.ru/post_img/big/2018/01/16/10/1516123175111821979.jpg
                            Ответить
                          • Сейчас попробовал "Ролтон" - блядь, это в разы охуеннее.
                            Ответить
                      • > никому не интересно
                        Имхо, просто не та область, где можно по фану набросать что-нибудь интересное и не сильно сложное.

                        На голом 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. В большинстве остальных соглашений такой хуйни нет и твои данные там могут засрать даже если ты сам ничего не вызываешь (обработчики сигналов и прерываний).
                  Ответить

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