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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    RUN apt install -y apache2
    RUN apt install -y php
    RUN apt install -y php-mysql
    RUN apt install -y libapache2-mod-php
    RUN apt install -y curl
    RUN apt install -y php-mbstring
    RUN apt install -y php-mysql
    RUN apt install -y php7.4-sqlite3
    RUN apt install -y php-gd
    RUN apt install -y php-intl
    RUN apt install -y php-xml
    RUN apt install -y php-curl
    
    #RUN apt install -y php7.0-ffmpeg
    
    RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.4/apache2/php.ini
    RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php/7.4/cli/php.ini
    
    RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf
    RUN echo "IncludeOptional /var/www/*.conf" >> /etc/apache2/apache2.conf
    #RUN sed -i "s/<\/VirtualHost>/Проверка\n<\/VirtualHost>" /etc/apache2/apache2.conf
    RUN sed -i "s/<\/VirtualHost>/\n\t<Directory \/var\/www\/html>\n\t<\/Directory>\n<\/VirtualHost>/g" /etc/apache2/sites-available/000-default.conf
    RUN sed -i "s/<\/Directory>/\tOptions Indexes FollowSymLinks MultiViews\n\t<\/Directory>/g" /etc/apache2/sites-available/000-default.conf
    RUN sed -i "s/<\/Directory>/\tAllowOverride All\n\t<\/Directory>/g" /etc/apache2/sites-available/000-default.conf
    RUN sed -i "s/<\/Directory>/\tOrder allow,deny\n\t<\/Directory>/g" /etc/apache2/sites-available/000-default.conf
    RUN sed -i "s/<\/Directory>/\tAllow from all\n\t<\/Directory>/g" /etc/apache2/sites-available/000-default.conf
    RUN sed -i "s/<\/Directory>/\tRequire all granted\n\t<\/Directory>/g" /etc/apache2/sites-available/000-default.conf
    RUN mv /etc/apache2/sites-enabled/000-default.conf /tmp
    RUN cd /etc/apache2/sites-enabled/; ln -s ../sites-available/000-default.conf 000-default.conf
    RUN a2enmod php7.4
    RUN a2enmod rewrite
    #RUM apt install -y certbot
    #RUN a2enmod python-certbot-apache
    #RUN a2enmod ssl
    EXPOSE 80
    EXPOSE 22
    
    #        <Directory /var/www/html>
    #                Options Indexes FollowSymLinks MultiViews
    #                AllowOverride All
    #                Order allow,deny
    #                Allow from all
    #                Require all granted
    #        </Directory>
    
    RUN wget -O /var/www/html/index.phar https://github.com/mpak2/mpak.su/raw/master/phar/index.phar
    RUN wget -O /var/www/html/.htaccess https://github.com/mpak2/mpak.su/raw/master/.htaccess
    RUN wget -O /var/www/html/.htdb https://github.com/mpak2/mpak.su/raw/master/.htdb
    RUN chown www-data /var/www/html/.htdb
    RUN chown www-data /var/www/html
    RUN mkdir /var/www/html/include
    RUN mkdir /var/www/html/include/images
    RUN chmod 0777 /var/www/html/include/images
    RUN rm /var/www/html/index.html

    https://github.com/mpak2/mpak.su/blob/654b7daf0b7d4f3c83385c0ca35fcab6a1ec45f7/phar/docker/www/Dockerfile

    Запостил: ISO, 07 Декабря 2021

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

    • Требую категорию «Dockerfile».
      Ответить
      • bash?
        Ответить
        • Не, тут основное говно именно в «Dockerfile».
          Охулиард инструкций RUN создатут образ с охулиардом слоёв, а образ с охулиардом слоёв будет тормозить. Ещё одно говно — в wget'ах: после первой сборки «Docker» их закэширует, и все последующие вызовы «docker build» будут использовать старые скачанные файлы (на самом деле слои), игнорируя любые обновления. Ну и наконец, RUN chmod/chown — это антипаттерн, потому что он приводит к дублированию слоёв: «Docker» тупой и не умеет правильно разруливать изменения в разрешениях, поэтому после «chown www-data /var/www/html» в образе окажутся джва слоя, содержащих одинаковые /var/www/html, но с разными правами.
          Ответить
          • Стоп. Мрак втащили в докер?! Куда катится этот мир...
            Ответить
            • Это же проект-постирония, не?

              ну не может же реальный питух срать седом в -default.conf или докер от убунты наследовать
              Ответить
          • Говнокод познавательный.
            Ответить
    • обезъяна и на крестах может
      https://github.com/mpak2/bimorph/blob/master/bimorph.c
      int mpre(std::string mess, int line){
      	if([&](){ std::cerr << line << "." << mess << std::endl; return false; }()){ mpre("ОШИБКА вывода уведомления", __LINE__);
      	}else if([&](){ int npos = mess.find("ОШИБКА"); return (-1 == npos); }()){ //mpre("Вхождение ключевого слова", __LINE__);
      	}else if([&](){ mpre("^^^ Критическое сообщение ^^^ Остановка выполнения программы", __LINE__); exit(0); int response = system("sleep 3"); return (0 != response); }()){ std::cerr << __LINE__ << " Остановка программы" << std::endl; exit(1);
      	}else if([&](){ int response = system("sleep 3"); return (0 != response); }()){ std::cerr << __LINE__ << " Остановка программы" << std::endl; exit(1);
      	}else{ //mpre("Возвращенное значение"+ std::to_string(response), __LINE__);
      	} return 1;
      }


      или вот
      for(auto &tab_itr:TABS){
      		std::string key;
      		if([&](){ key = tab_itr.first; return false; }()){ mpre("ОШИБКА получения ключа очередного элемента", __LINE__);
      		}else{
      			std::cerr << "\tArray";
      			if(line > 0){
      				std::cerr << "\t" << key << " => " ;
      			}; std::cerr << "( // " << comment << "\n";
      			for(auto itr = tab_itr.second.begin(); itr != tab_itr.second.end(); itr++){
      				int key = itr->first;
      				TMs row = itr->second;
      				mpre(row, comment, line);
      			} std::cerr << "\t)\n";
      		}
      	}; std::cerr << ")\n";
      	return 1;

      >Алгоритм машинного обучения биморф

      какое обучение )))
      Ответить
      • Тут даже лямбды и функциональщина...
        Ответить
        • ..соседствуют с ручными итераторами как в до 11ю эпоху, но при этом с auto
          Ответить
      • А для чего ему в таком коде замыкания?
        Ответить
      • > if([&](){ std::cerr << line << "." << mess << std::endl; return false; }())

        Такую срань можно и в "GNU C" сделать https://govnokod.ru/27344
        Ответить
    • ладно, вот вам
      https://github.com/mpak2/bimorph/blob/73e237a1ce034f0e7a596e2b6845901d7787474b/bimorph.cpp#L75

      а вот бинарь
      https://github.com/mpak2/bimorph/blob/master/bimorph
      Ответить
    • Урааа! Опять мпак су обсирать будем!!!
      Ответить
      • очень уж он омерзительный
        if(false){ printf("%d Пропускаем расчеты", __LINE__);
        			//}else if(cl::sycl::gpu_selector selector{ }; false){ mpre("ОШИБКА выборка списка оборудования", __LINE__);
        			//}else if(cl::sycl::device devices{ }; false){ mpre("ОШИБКА выбора оборудования", __LINE__);
        			}else if(cl::sycl::queue queue{}; false){ mpre("ОШИБКА инициализации очереди", __LINE__);
        			}else if(const size_t array_size = 256; (0 >= array_size)){ mpre("ОШИБКА размер массива не задан", __LINE__);
        			}else if(double data[array_size]; false){ mpre("ОШИБКА создания массива предварительных данных", __LINE__);
        			}else if(buffer<double, 1> buf{ data, range<1>{array_size} }; false){ mpre("ОШИБКА установки буфера", __LINE__);
        			}else if(std::ifstream file("bimorph.bin", std::ifstream::binary|std::ifstream::ate); !file){ mpre("ОШИБКА открытия файла данных", __LINE__);
        Ответить
        • Я не понимаю, когда он пишет на «PHP», а когда на «C++». У него всё одинаковое.
          Ответить
          • У человека свой стиль просто. Он пишет не НА языке, а с использованием языка, как учил Макконел
            Ответить
        • > https://github.com/mpak2/mpak.su

          Не репа, а какая-то куча мусора.
          Как вообще про неё узнали?
          Ответить
          • Мрак — это классика, это знать надо. Он на ГК с 2009-го года:

            https://govnokod.ru/2186
            Ответить
    • > RUN apt install -y php
      > RUN apt install -y php-mysql

      Ура!!! Даже ISO бросил свои поганые кресты и перешёл на «PHP» и «MySQL».

      Воистину же «PHP» — выбор профессионалов.
      Ответить

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