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

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 ISO, (Updated )

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

      • Не, тут основное говно именно в «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;

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

    какое обучение )))
    Ответить
    • очень уж он омерзительный
      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__);
      Ответить
  • > RUN apt install -y php
    > RUN apt install -y php-mysql

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

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

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

Помни, guest, за тобой могут следить!

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


    8