Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как лучше организовать сеть компьютеров где общие пользователи?

Лучший ответ:
И в тоже время доступ к файлам был быстрый. 
Это не зависит от технологии, зависит тупо от скорости инета.
А так - можно использовать windows и его roaming profiles
Можно все документы пользователя хранить на облачном диске типа google drive - при логине файлы посинкаются локально и потом будет быстро

Худший ответ:
чтобы директория User полностью была одинаковой у пользователяПоместить всех в одну виртуальную локальную сеть и настроить перемещаемые профили.

И в тоже время доступ к файлам был быстрый.Обеспечить быстрый канал связи между точками.
Вопрос: Возможна ли работа в пхп с excel и гугл докс на открытие, чтение и перезапись?

Лучший ответ:
Да, смотрите google docs api и google sheets api, но надо быть готовым, что часть примеров может быть неактуальной и придется углубляться, чтобы найти актуальную документацию
Sheets
Docs

Худший ответ:
Да
Вопрос: Как мне поступить с тз которое написал прогер?

Лучший ответ:
Давайте проясним некоторые моменты:Полиции, которая проверяет т3, не существуетНет правильного и неправильного т3Нет обязательных т3Т3 можно писать хоть папирусомТ3 нужно для: Договор на берегах. Вы ограничиваете разработчика в языке или библиотеках. Если в проекте всплывает эта библиотека, а разработчик забыл - вам поможет т3.Ответственность за апдейты и развитие. Вы запретили разработчику использовать сплит-контроллеры, но без них версия для iPad смотрится плохо. Вы требуете от разработчика сделать `КАКУЭПЛ`. Но разработчик покажет почему это невозможно пунктом в т3. Ограничение плохого кода. Если т3 пишет человек, опытнее программиста, конечно.
Т3 косвенно помогает с определением функционала. Но обычно не описательное в духе "эта кнопка нажимается мягко".
Разработчик хотел от вас технического т3. Я не могу знать, но мой опыт подсказывает что он в курсе что вы не сможете его написать и решил заработать. С технологиями, которые удобны ему. Встречал ситуации когда в т3 был набор слов `Конь, звезда, сметана` (заменить на специальные термины) для иллюзии проделанной работы.
Абсолютно нормально показать т3 другому разработчику и спросить что он об этом думает. Обман легко можно объяснить даже далекому от программирования человеку. Смотри мой твит про $1200.
Нет проблемы прикрепить общее описание проекта. Почему это не нравится разработчику - не знаю. Но недоделать т3 и сказать "не волнуйтесь все будет как вам нужно" - говорит что т3 не особо было нужно изначально.
Я не сказал ничего требующего специальных знаний, только-попса-зачеркнуть. Будьте осторожнее.
P.S. Пишите, гляну т3.

Худший ответ:
А нельзя как-то обсудить и прийти к общему решению? А не думать что я прав, а он идиот.
Вопрос: Насколько актуально сейчас пользоваться макетами PSD для верстки сайта?

Лучший ответ:
Без разницы, если разобрался с фотошопом, то с Figma Xd и прочими разобраться не сложно. Тем более от верстальщика глубоких познаний редактора макетов не требуется.

Худший ответ:
Пробуйте и то, и то. Особой разницы для снятия данных с макета и экспорта картинок нету.
Вопрос: Несколько веб серверов дома, как настроить NS и маршрутизацию?

Лучший ответ:
Какие ещё есть варианты? Пробрасывайте порт 5050(или любой другой) на порт 80 вашего  nextcloud и спокойно ходите по адресу  http://вашIP:5050

Это самое быстрое, простое и эффективное.

Худший ответ:
Проксируй в облаках
Вопрос: Есть ли смысл покупать Samsung 970 Evo Plus Nvme для игр?

Лучший ответ:
В скорости загрузки игры/уровня - да, заметите.
В FPS - в нормально написанных играх - нет.

Худший ответ:
Разницу конечно заметишь. сейчас на амазоне они дешевые, есть еще samsung 860 qvo за 1 терабайт предлагают примерно 100 долларов
Вопрос: Как уберечься от слишком частых ajax запросов?

Лучший ответ:
Можно попробовать готовые библиотеки по ключу "rate limiter"
https://packagist.org/?query=rate%20limiter
Upd. Другой ключ - "throttling/request throttling"

Худший ответ:
websocket

Сервер должен сообщать об обновлениях данных клиентам, это наилучшее решение как с точки зрения ресурсов и интернета так и по разработке.
Вопрос: Какой взять ноутбук для Frontend-разработки?

Лучший ответ:
Вообще мак идеальный вариант.
Но в данное время есть смысл брать только с 16GB оперативки.

Худший ответ:
Каков минимальный набор требований? Диагональ?
Навскидку, предполагаю, что-то из:
Ноутбук HP ZBook Studio G5 (4QH70EA)
Ноутбук DELL G5 15 5590
Мое имхо, оперативки должно быть >= 16Gb, должен быть SSD + HDD, проц не ниже I5, лучше I7. Это базовый набор для комфортной работы.
Вопрос: Если PowerShell разработали как современную замену CMD, почему в меню восстановления Windows ещё вызывается CMD?

Лучший ответ:
Видимо потому что powershell использует .Net, а это вещь довольно тяжелая и тянуть ее в систему восстановления смысла нет.

Худший ответ:
Почему в этом случае открывается CMD, а не PowerShell?Потому что это максимально легкая версия Windows - WindowsPE.
И туда по умолчанию включают только самое необходимое.
Но никто не мешает вам установить туда и PowerShell.
Вопрос: Как организовать два дисковых массива на двух дисках raid1 + raid0? и как это скажется на работе?

Лучший ответ:
есть домашний NAS, под win server 2008 без raidНе совсем понятно при чем тут zfsВозможно ли средствами zfs(пока планирую использовать его, озу добавлю, ecc есть) или чем-то еще со встроенной дедупликациейЕсли рассматривать линукс то можно и средствами zfs - однако там со стабильностью не все хорошо, и дедупликация онлайн, а это значит что потребуется мощный процессор и кучу оперативки, и все это будет тормозить во время записи, и дедупликация не самая эффективная.
Если нужна дедупликация и недорого то лучше смотреть в сторону Windows начиная с server 2012.
Там она очень эффективная, и оффлайновая, ну и стабильность NTFS выше всяких похвал.Как организовать два дисковых массива на двух дисках raid1 + raid0? и как это скажется на работеНе совсем понятно как вы хотите организовать два массива, каждый из которых предполагает как минимум наличие двух дисков, на двух дисках???
Вам надо четыре диска как минимум чтобы сделать два массива  raid1 + raid0.
Ну и не совсем понятно зачем вам raid0?
Да и raid1 вызывает сомнения - неужто на домашнем NAS важна бесперебойная работа?

Худший ответ:
Организуйте примерно так:
* windows 2016 server core (включите дедупликацию)
1. ssd на 64 гига загрузочный
2. 2 диска в 1 raid - кстати что за рэйд контроллер? если встроенный в мать то используйте софт рэйд
3. 1 диск большого объема, для всякого хлама типа сериалов музыки и т.д.
А вот 0 рэйд на файлопомойке явно не нужен, у вас какая сетка гигабит? Какие контроллеры? Собственно и все.
Вопрос: Почему не проходит проверка значений?

Лучший ответ:
У вас первый цикл for, вычитывает весь файл до конца и в log.readline() уже пусто.path = 'D:\\For_Denis\\Projects\\nginx_log_parser\\nginx.txt'

a = 0 #количество GET
c = 0 #количество POST
b = 0 #количество пройденных строк

with open(path) as f:
    for line in f:
        b += 1
        if 'GET' in line:
            a +=1
        elif 'POST' in line:
            c +=1
        else:
            break
        
print(a,",", c)

Худший ответ:
Вот как была решена задача:path = 'D:\\For_Denis\\Projects\\nginx_log_parser\\big_log.txt'
path_1 = 'D:\\For_Denis\\Projects\\nginx_log_parser\\big_log_1.txt'
log = open(path, 'r')
logs = open(path_1, 'r')

lines = 0 

for line in log:
    lines = lines + 1 
    
a = 0 #количество POST
b = 0 #количество пройденных строк

while b < lines:
    check = str(logs.readline())
    if 'GET' in check: 
        if '200' in check:
            a += 1
            b += 1
        else:
            b += 1       
    else:
        b += 1
    
print(a)
Вопрос: Учат ли наши отечественные ВУЗы Big data?

Лучший ответ:
ВУЗы учат высшей математике, а это как раз знание номер один для бигдатера.

Худший ответ:
Нет, но пилят гос. контракты и обладают связями с коммерческим конторами по теме bigdata. Чтобы ворваться в эту сферу, подружиться с каким-нибудь доктором или зав. кафедрой очень поможет.

С другой стороны, если вас интересует теория, математика и прочее, то ищите в программе обучения: прикладная статистика, имитационное моделирование, дискретный и дифференциальный анализ.

Но в конечном итоге bigdata скоро лопнет и превратится в обычную сферу, как произошло например, с биткоином.
Вопрос: Можно ли через foreach перебирать объект класса?

Лучший ответ:
Да. Переберёт все публичные свойства.
А если надо ещё и протектед/приватные, то просто создай внутри класса метод с перебором всех свойств:

<?php
class MyClass
{
    public $public = 'значение 1';
    protected $protected = 'защищённая переменная';
    private $private   = 'закрытая переменная';

    public function iterateAll() {
       foreach ($this as $key => $value) {
           print "$key => $value\n";
       }
    }
}

$class = new MyClass();
$class->iterateAll();

Худший ответ:
А ещё можно так:
https://www.php.net/manual/ru/class.iteratoraggreg...
Вопрос: На сколько хорошо нужно знать HTML CSS перед переходом к JS?

Лучший ответ:
Когда вы будете ПОНИМАТЬ, что HTML и СSS недостаточно для решения целевых задач.

Худший ответ:
Как только понадобится сделать какую-нибудь функциональность на сайте (открыть/закрыть модальное окно, реакция на нажатие кнопки и т.д.)
Вопрос: Как сделать 2d мир?

Лучший ответ:
Как-то так (управление wasd)
snippet

Худший ответ:
На экране просто рисуются все объекты, которые попадают на экран (а не находятся за его пределами). У каждого объекта есть координаты, поэтому программно легко проверить, попадает ли объект на экран или находится за границей экрана.

Обычно в играх принята такая схема, что все объекты рисуются заново каждый тик. А тиков в секунду может быть очень много (это то, что называется FPS - frames per second). Так что если что-то меняется в игровом мире, то сразу же меняется и картинка визуально.

Кнопки перемещения же просто меняют координаты. Они напрямую не связаны с отображением. Но косвенно они приводят к эффекту, что объект (главный персонаж) как бы движется. Только координаты меняются не плавно, а дискретно - каждый кадр новые координаты. Просто глазу незаметны "прыжки" на 1-2 пикселя и он округляет это и считает непрерывным движением.

Получается, что один программный код отвечает за изменение координат, в зависимости от нажатия клавиш. А другой программный код считывает эти координаты, чтобы нарисовать кадр. Общее у них - лишь область памяти с координатами, но один пишет в неё, а другой - читает. В остальном их не нужно смешивать, и стоит рассматривать и кодить отдельно друг от друга.
Вопрос: Почему не передаются параметры?

Лучший ответ:
Садись, будем с тобой учиться программированию.

То что у тебя здесь написано - это не программирование. 
Написать в столбик несколько операторов можно и обезьяну научить.

Программирование начинается тогда, когда твой код престаёт работать.
Процесс выявления участка, который не работает, и что надо исправить, называется отладкой. И это и есть на самом деле программирование. 
Для отладки нужно две вещи:
1. В принципе понимать, что делает твой код. причём не в целом, а каждый оператор в отдельности. Какие данные он должен получать на вход, что с ними делать, что должно быть на выходе.
2. Трассировка. Которая заключается тупо в выводе промежуточных результатов.

поэтому после кода добавляем строчку
var_dump($_SERVER['QUERY_STRING'], $addGet,$config['http_home_url'],$_SERVER['REDIRECT_SCRIPT_URL']);
и смотрим, где чего не хватает.

И только после этого идём на тостер задавать конкретный вопрос, "а почему у меня такая-то переменная пустая"

Худший ответ:
Спраука
Переменная $_SERVER - это массив, содержащий информацию, такую как заголовки, пути и местоположения скриптов. Записи в этом массиве создаются веб-сервером. Нет гарантии, что каждый веб-сервер предоставит любую из них ; сервер может опустить некоторые из них.....
Вопрос: В чем ошибка в моей реализации задания?

Лучший ответ:
Как сделать тестовое задание?
Самостоятельно

Худший ответ:
Как минимум Вы не учитываете что если  в аналоге Примера 2 будут  все буквы алфавита, то замена будет невозможна, т.к. невозможно будет использовать временную переменную (как буква я в Примере 2).
Вопрос: Почему не выделяется нужный Item из comboBox1, когда я нажимаю на кнопку?

Лучший ответ:
не знаток winforms, но мне кажется все дело в строке
dataGridView1.DataSource = controller.UpdataSorudniki();
Вы обновляете данные в таблице, и выделение сбрасывается.

Худший ответ:
В параметрах DataGrid есть параметр отвечающий за вид выделения: "Одна ячейка", "Целая строка" и т.п.
Вопрос: Откуда берется горизонтальная прокрутка в браузере?

Лучший ответ:
.row{
    margin-left: -15px;
    margin-right: -15px;
}
При условии, что у вас этот блок тянется на 100%, а потом вы еще делаете распорку ему

Худший ответ:
У вас класс написан неверно везде.
У вас:container-flued
Правильно:container-fluid
Вопрос: Как изменять элементы списка?

Лучший ответ:
for f in foo:
    f = 'bla-bla-bla'f - это всего лишь переменная, которая ссылается на элемент итерируемого объекта. Изменяя значение f ты лишь меняешь на какой элемент она будет ссылаться, а не сам элемент итерируемого объекта.
Если ты хочешь поменять элемент объекта, то делать это нужно (на самом деле не нужно, только если ну очень уж хочется) примерно так:>>> foo = [1,2,3,4,5,6]
>>> for key, value in enumerate(foo):
...     foo[key] = value * value
...
>>> foo
[1, 4, 9, 16, 25, 36]

Худший ответ:
В таких случаях часто используются генераторы списков (list comprehension). Они как раз позволят заполнить список без создания этих промежуточных переменных. И данная функция будет выглядеть например так:def accum(s):
    b = [(i+1) * a for i, a in enumerate(s)]
    return '-'.join([i.title() for i in b])
Вопрос: Как изменить время на https://www.pythonanywhere.com?

Лучший ответ:
Заходишь в Files, далее находишь документ  .bashrc, открываешь и внизу пишешь вот это: export TZ="Europe/Moscow".

Худший ответ:
Files -> .bashrc ->внизу пишешь:
export TZ="Europe/Moscow"

В свой код добавляешь:
import os
import time

os.environ["TZ"] = "Europe/Moscow"
time.tzset()

Документацию почитать можно здесь.
Вопрос: Почему PHP не видит POST запрос на ajax?

Лучший ответ:
Такой же отрезок кода работал на другом "проекте", но здесь никакой реакции на пост нет.
А какая есть? Что у вас выполняется вообще? какие ошибки в консоли? 
Есть ошибки в логе пхп?
По скрину вообще похоже что у вас этот урл не верно работает и перекидывает на индекс в дашборд.

Худший ответ:
url: '../index.php' - url не может быть такого вида. Вы путаете url и путь к файлу
Вопрос: CMD/BAT — Пакетное переименование файлов(.jpg) в разных папках (BAT)?

Лучший ответ:
Примерно так:
@echo off
setlocal enabledelayedexpansion
for /d %%a in (*) do (
  set "count=1"
  for %%b in ("%%~a\*.jpg") do (
     ren "%%~b" "%%~na_!count!%%~xb"
     set /a "count=!count! + 1"
  )
)
Сейчас под рукой винды нет - протестировать не могу.
Никаких файлов со списком папок не требуется. Скрипт проверяет все подпапки в текущей папке и переименовывает все jpg

Худший ответ:
Готового решения на CMD не подскажу - сам на Линуксе работаю.

Алгоритм:
Нужно пройтись по всем директориям по имени, начинающихся с "asteklo", для каждой из которых:
	сохранить имя директории в переменной
	обнулить счётчик порядкового номера в переменной
	В цикле, проходясь по каждому файлу в директории
		увеличить счётчик +1 в переменной
		составить новое имя файла в переменной: имя_директории "_" счётчик_порядкового_номера ".jpg"
		переименовать файл в новое имя
Справка: https://ss64.com/nt/for.html и https://en.wikibooks.org/wiki/Windows_Batch_Script...
Вопрос: Как найти \n и проверить это с помощью if?

Лучший ответ:
false === strpos($text, "\n") ? "нет":"есть";

Худший ответ:
$str = "есть переносы строк(\n). Как их можно найти?";

if (strpos($str, "\n") !== false) {
    echo 'Есть';
} else {
    echo 'Нет';
}
Вопрос: Долго ли я буду за 100 в выдаче яндекса?

Лучший ответ:
Долго ли я буду за 100 в выдаче яндекса?Неизвестно, возможно что всегда.На нем 4 статьи, которые в гугле ведут себя так:Какое это имеет отношение к вопросу?То есть влители и плавно идут к топу.Смысл изречения непонятен.Я давно не создавал новые сайты, как долго будет песочница Яши?Смысл вопроса непонятен.

Худший ответ:
Слишком мало вводной информации для ответа. Без сайта и самих статей тяжело дать ответ. Как написали ребята выше - Неизвестно, возможно что всегда.
Вопрос: Как убрать подчёркивание ссылки?

Лучший ответ:
aside div.language ul a {text-decoration:none;}
ссылкам нужно убирать text-decoration а не вложениям

а вообще кто вставляет li в ссылку? бред сивой кобылы какой то

Худший ответ:
Мне даже самому интересно стало)
Пробовали ли text-decoration:none!important; ?
А шрифт без подчеркивания? Проверьте в панели разработчика может наследование какое... Коммент сожет быть не о чем но так из виду не потеряю)
Вопрос: Как внести данные с '?

Лучший ответ:
Бэкслэш чтоли не знаешь?

Худший ответ:
Вопрос закрыт.
Просто сделал функцию, которая меняю ' на ''
Вопрос: Как разбить get запрос и занести все в свои переменные?

Лучший ответ:
Не нужно никогда  get запрос заносить ни в какие переменные.
Никогда не надо заниматься такой фигнёй, как выковыривание элементов массива в отдельные переменные.
Массив для того и придуман, чтобы работать с изменяемой неструктурированной информацией

Поэтому если тебе надо получить 1, то прсто пишешь $_GET['count']. ВСЁ. Никаких тебе страданий и проблем.

Худший ответ:
А как же $_GET?

https://www.php.net/manual/ru/function.parse-url.php
Вопрос: Куда лучше пойти учиться?

Лучший ответ:
Рассмотри лучше ролики на ютубе.

Худший ответ:
Не вижу смысла в курсах. Все что вам дадут есть в открытом доступе. Если возникнут вопросы то всегда есть документация. Я бы посоветовал английский выучить.
Вопрос: Как подключить часы реального времени к аналоговым пинам Arduino?

Лучший ответ:
Правильно ли я понимаю, что нужно использовать аналоговые пины? 
Не совсем, но почти. RTC работают по протоколу I2C, а в Arduino аппаратный I2C выведен на пины А4, А5. Т.е. формально они могут быть аналоговыми входами, но в вашем случае у них будет друга функция тыц

Худший ответ:
нет. бери проц с большим количеством выводов.
выводы универсальные, переведи их в "цифровой" режим
Вопрос: Как управлять локальной сетью своим роутером?

Лучший ответ:
IPTV, телефонию, охрану провайдеры обычно гоняют по отдельным VLANам с разводкой на access порты роутера, так что обычно ничего не мешает перевести только подключение интернета в бридж и поднимать его на своем

Худший ответ:
> Свой роутер не поставить, нет оптического порта.
Так не просто оптика. Можно использовать конвертер, например BDCOM GP1501-1G.

> настроить на него DMZ.
норм будет.
Вопрос: Как правильно организовать обслуживание и работу с большой БД?

Лучший ответ:
Касательно mysql знаю три варианта:

1. Утилита pt-online-schema-change. Создаёт пустую копию исходной таблицы, делает на ней alter, копирует данные из исходной таблицы и в конце меняет местами старую и новую таблицы.

Пользовался этой утилитой пару раз. Хорошо работает.

2. В mysql 5.6 появилась возможность делать alter без блокировок средствами самой субд. Нужно в alter добавить парочку новых параметров:
ALTER TABLE tbl_name ADD PRIMARY KEY (column), ALGORITHM=INPLACE, LOCK=NONE;Этот вариант я сам не пробовал, поэтому прокомментировать не могу.

3. Самый сложный вариант с использованием двух инстансов mysql, связанных master-master репликацией:


Делаем alter на втором сервере
Ждём, когда второй сервер догонится по репликации
Переключаем сервис на вторую базу
Ждем какое-то время, смотрим, нормально ли приложение работает с новой схемой, нет ли деградации или ошибок
Делаем alter на первой базе
Ждём догона репликации
Возвращаем сервис на первую базу

С этим вариантом я работаю постоянно. Выглядит просто, но на деле много нюансов.

Нужно обязательно пропускать alter мимо репликации:
SET sql_log_bin = 0;
ALTER TABLE tbl_name ...;Важно не забыть про sql_log_bin = 0, иначе alter по репликации переедет на соседний сервер и залочит таблицу уже там. А переключать сервис нельзя, пока репликация не догонится.

Если меняется структура таблицы - добавляется/удаляется колонка или меняется их порядок, нужно обязательно проследить чтобы тип репликации обязательно был STATEMENT. Иначе репликация приляжет на первом же запросе в формате ROW с примерно такой странной ошибкой:

Column 25 of table 'mydb.mytable' cannot be converted from type 'varchar(255)' to type 'bigint(20) unsigned'

А со STATEMENT нужно следить чтобы приложение нигде не понижало уровень изоляции ниже REPEATABLE READ, иначе получит ошибку:

Cannot execute statement: impossible to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table uses a storage engine limited to row-based logging. InnoDB is limited to row-logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.

Худший ответ:
Добавлю свои пару копеек к правильным ответам и комментам (@Vamp и др):
- 100ГБ - это мелочи, но надо следить чтобы база не росла бесконтрольно, т.е. чистить старые данные которые уже неревантны
- "Создание дампов" - mysqldump c  --single-transaction, есть и более продвинутые методы

Но в целом - или взять DBA, или - это обычно дешевле - использовать managed service - AWS RDS если вы уже в AWS, или https://aiven.io/.
Потому что в дополнение к в вопросам которые вы уже задали, для продакшен надо задать еще много - например, как откатиться к на полчаса или на сутки?
Вопрос: Что является связующим звеном между backend и frontend?

Лучший ответ:
Канал передачи данных.
И, обычно, это спецификация протокола http (но не всегда).

Худший ответ:
Чтобы максимально детализировать суть вопроса, давайте на конкретном примере разберемся.
Например есть страница html на котором обычная форма из нескольких полей и кнопки, которая отправляет данные . Допустим клиент заполнил поля и нажал на эту кнопку. Получается произошел POST запрос , там в форме естественно указан action, которая передает управление обработкой данных какому-нибудь сервлету , а тот в свою очередь производит какие-то калькуляции, генерирует другую страницу и посылает его клиенту , вроде все ясно пока.
Теперь вопросы:
1) Если например бэкэнд на Java написан, то как java понимает данные введенные в форме на сайте?
Через шаблонизаторы? Или для этого и существуют веб-сокеты?
2)В интеренет множество хостингов, чтобы развернуть свой сайт. Смогу ли я развернуть свой сервер на их сервере? Допустим выше мне порекомендовали Nginx. Я просто не понимаю, разве можно сервер развернуть поверх другого сервера? Ведь эти хостинги сами на серваках работают.
Вопрос: Какие есть области без гитов, докеров, фреймворков, итд?

Лучший ответ:
Какие есть области без гитов
Те, где кода на столько мало, что вести его историю нет необходимости.

Без фрейморков
Те, где фреймворки не помогают в решении задачи.

Вероятно то, что вы ищите - школьный учитель по Pascal.

Худший ответ:
Без гита сейчас даже на 1С не пишут. Так что ничего.

Это может быть не 100% программирование
QA, менеджмент, дизайн
Вопрос: Почему ошибка data.forEach is not a function?

Лучший ответ:
Выведите что у вас в data приходит и будете знать почему сЫч ругается(он работает только с массивами)
И да, используйте .each раз уж всё-равно jQ есть

Худший ответ:
Выведите что у вас в data приходит и будете знать почему сЫч ругается(он работает только с массивами)
И да, используйте .each раз уж всё-равно jQ есть
Вопрос: Как написать JS код для изменение цвета элементов по нажатию кнопки?

Лучший ответ:
Менять надо не у #but, а у его дочерних div.square свойство style.backgroundColor.
JS обработчик лучше писать отдельно от HTML разметки.
snippet

Худший ответ:
Если правильно понял, то засунь блоки в querySelectorAll и пробегись по ним через цикл for или forEach, а внутри цикла уже и напиши логику своей стилизации
Вопрос: Как можно установить срочное диалоговое окно в игру?

Лучший ответ:
Пилишь систему с окнами и вставляешь в игру. Она дергает твой сервер "ей, есть чё показать? нет! ну и ладно".

Худший ответ:
С таким багом я бы вообще временно снял с продажи. 
Можно снять не саму игру, а выключить инаппы (каждый инап, в гуглконсоли). И тогда нельзя будет их купить.
Но в любом случае это негатив от пользователей