воспринимать ключевое слово function как исполняемая в процессе выполнения кода команда на регистрации функции со следующим кодом.
код функции будет создан ровно тогда когда оно исполнится, с областью видения той где она встретилась, если описываешь функцию внутри цикла for то видна она будет только там и только после определения, при повторном шаге цикла должна быть ошибка.
поэтому функции определяй сверху программы, буквально до вообще своего кода (хотя конечно это не обязательно и можно чередовать по всякому, но это уже вопрос качества кода и его читаемости)
виснет на сколько сильно? ctrl+alt+f1...f8 показывают консоль linux? (значит подвис только xserver) или не реагирует на эти кнопки но реагирует на (иногад надо еще ctrl+shift+)alt+prnscr потом не отпускаяatl нажать b (команда на перезагрузку ядру напрямую)
отдельно настраивай php и веб сервер отдельно свой ангуляр
разные порты разруливай настроив проксирование к примеру через nginx
если честно я хз надо читать документацию что там предлагает angular ибо на сайте есть упоминание о поддержке разнообразных серверов, может в настройках что есть
php файл не должен скачиваться, если это так то на сервере тупо не настроен php интерпретатор (не прописан в настройках веб сервера если в принципе его поддерживает)
я вообще не слышал чтобы angular как то поддерживал php (хотя на сайте даже упоминания про это есть ибо есть серверный фремйворк) это разные миры.
в ie11 уже не сможет работать сам youtube и уже давно
сейчас можно попробовать сборки chromium (с поддержкой ускорения видео) под linux, мне кажется именно на youtube оно работает лучше firefox, хотя по факту обычная работа в интернете может быть комфортнее на слабой машине именно в firefox (правда оперативной памяти у автора много, возможно лучше пусть будет хромиум)
точно помню были плагины к браузеру, которые на лету подхватывали видеострем (не только youtube) и подсовывали его тогда еще в mplayer, но я не нашел работающих, может вам повезет.
mvp/ffplay работают шокирующе эффективно даже на старом железе
p.s. совет автору вопроса - загружай ролики с помощью youtube-dl или соответствующих плагинов к браузеру, и смотри плеером mpv, я так на eeepc900 делал (настроил горячие кнопки на запуск моего скрипта, который брал ссылку из буфера и запускал просмотр)
запусти браузер, дождись чтобы hdd перестал активно работать (можно посмотреть каким-нибудь таскменеджером, я консольным atop смотрю) и тогда открывай youtube, или к примеру повторно попытайся ютуб через 10 секунд просмотра открыть сменив качество
в общем нужно 100% удостовериться что проблема не с драйверами и все работает просто тормозит из-за медленного диска.
p.s. исключительно для теста, размести профиль браузера на ram диске (mount tmpfs), указав в менеджере профилей его расположение, в этом случае кеш будет на быстром диске и уже из-за диска загрузка не должна тормозить
админ панель это инструмент, который создал программист, и делать может эта панель только то что в нее заложено
да существуют технологи фактического программирования функционала через интерфейс (те же Entity-attribute-value modelкогда простые изменения структуры (добавление новых полей к примеру самое простое) могут быть запрограммированы)
Лично я бы решил эту проблему с помощью javascript либо просто iframe, вся страница - статична, содержит единственный iframe без бордюров на всю страницу,а вот этот iframe пусть грузит ссылку, которая редиректит на нужную страницу
В этом случае стартовая страница всегда будет одна и та же
как тестируешь диск где хранятся файлы образов виртуалок?
запиши туда что-нибудь большое типа архив (размером как весит образ виртуалки, пару десятков гигабайт), через 1-2 дня (сколько нужно ждать чтобы виртуалка перестала запускаться) проверь (кнопка тестровать в архиваторе)
Писать что либо на c++ в просто текстовом редакторе легко
проблемы начинаются, если и нужно использовать сторонние библиотеки или к примеру их собрать.
Например если у тебя проект из одного cpp файла и кушает только стандартные либы то чтобы его собрать достаточно написать в консоли:
gcc main.cpp -o main.exe
(это при использовании gcc)
если файлов больше, бери make (можно использовать штатный nmake от майкрософт) там в простом как валенок формате пишется makefile и компиляция будет уже по команде make all
Есть другие системы сборки, гед больше автоматизации и еще больше непонятностей (когда смотришь во что превращаются скрипты или файлы настроек сборки проектов, волосы дыбом ставноятся, сотни килобайт текста) к сожалению такова текущая ситуация с c++, он очень сложен ко вхождению в него для новичков, особенно после тепличных php/nodejs/... или gui visual studio.
p.s. поставь себе llvm gcc (только он под windows имеет бинарники самой последней версии gnu c compiler), у него есть бонус - внезапно высокая производительность итогового кода там где не ожидаешь, буквально вчера собрал простейшее приложение с помощью либы simdjson чтобы парсить json дампы, и удивился, собранное в visual studio получается медленнее чем оно же на llvm gcc, в ДВА РАЗА, напомню что llvm это типа виртуальной байт код машины как у java, только умудряется работать быстрее нативного кода за счет сбора онлайн статистики выполнения (видно как приложение разгоняется в течении нескольких секунд работы).
фреймы - старейший способ частичного обновления страницы, даже чаты на их основе делали без javascript
еслши прямо надо без javascript, составь страницу из нескольких фреймов и обновляй тот что нужно
p.s. это бред, не надо так делать без особой на то необходимости, изучи лучше javascript ajax
код функции будет создан ровно тогда когда оно исполнится, с областью видения той где она встретилась, если описываешь функцию внутри цикла for то видна она будет только там и только после определения, при повторном шаге цикла должна быть ошибка.
поэтому функции определяй сверху программы, буквально до вообще своего кода (хотя конечно это не обязательно и можно чередовать по всякому, но это уже вопрос качества кода и его читаемости)