pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Разыскивается каркас приложения без жирка, а также желающие присоединиться к разработке open source проекта?

Лучший ответ: Шаблонизаторы на стороне сервера — уже не модно. Посмотрите в сторону AngularJS, EmberJS — будете отдавать обычные html-файлы nginix-ом и изредка запрашивать данные у сервера, в ответ получать JSON. Нагрузка уменьшится в разы, работать будет всё гораздо быстрее (меньше перезагрузок страниц).

Без жирка есть Silex от Symfony.
Есть ещё вот такое скопление файлов, которое можно заюзать для роутинга, авторизации по сессии и как направляющий базис (но это не фреймворк).

Худший ответ: Кусок сети, лежат 2 коммутатора и один линк (красным подсвечено).

Кусок админки
Вопрос: Как написать авторам с хабра?

Лучший ответ: 1) Посмотреть профиль, возможно интересующий вас человек указал что-то из своих аккаунтов: Jabber, Skype, профили на сайтах с открытой регистрацией.
2) Написать пост в песочницу и получить перевод своего аккаунта из ридонли в "полноценный", затем связаться через личные сообщения.
3) Попросить знакомого, имеющего полноценный аккаунт на Хабре, написать этим людям от вашего имени, сообщив свою почту либо другой способ связи в обход ЛС Хабра.

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

Лучший ответ: Конечная сумма зависит от степени детализации и проработанности ТЗ.
Основной критерий: время - деньги.

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

Лучший ответ: Из описанного можно сделать вывод, что местоположение определяется по MAC/SSID WiFi. Подержите некоторое время включённым GPS и/или (в зависимости от желания ставить эксперименты/увидеть аналогичный пост от человека из Челябинска) смените MAC роутера. Вероятно, спустя некоторое время сервера Apple обработают новую информацию и станут определять координаты и без GPS.

Худший ответ: Вообще велика вероятность привязки по IP-адресу. А не по MAC/SSID
Потому вопрос в том каким образом роутер к инету подключён? Такие проблемы с большой степенью вероятности могут появляться у мобильного интернета
Вопрос: Почему не работает slick slider?

Лучший ответ: $('.single-item').slick();  - у вас

$('.single-item').slick({}); - как надо

Худший ответ: Попробуй<script>  $('.single-item').slick();</script>
разместить перед закрывающим body
Вопрос: Не открывается livejournal.ru?

Лучший ответ: Было бы смешно, если б не было так грустно. Потерей посылок Почта Росии не ограничилась. Теперь взялась и за интернет пакеты :)

Худший ответ: Вот оно что

Сотовый оператор «Билайн» заблокировал для своих пользователей доступ к блогохостингу LiveJournal. Об этом сообщил в твиттере руководитель ЖЖ Илья Дронов со ссылкой на сайт «Билайна».

Это же подтвердил член КС оппозиции Владислав Наганов. Сайт livejournal.com не открывается как у абонентов мобильного «Билайна», так и пользователей домашнего интернета.

Ссылка, которую дал Дронов, приводит на страницу с заблокированными ресурсами, на которой сообщается о блокировке адреса oper-v-zakone.livejournal.com/81601.html. По этому адресу размещен пост «Сценарий резни русских от старого узбека. ПОСЛЕСЛОВИЕ» от 25 сентября 2011 года. В посте говорится об опасности, исходящей от мигрантов, и о мерах, которые необходимо принять властям и обычным людям для борьбы с ней.

Эта страница была внесена в федеральный список экстремистских материалов, который ведет Минюст, решением Центрального районного суда Красноярска в июне 2012 года. Несмотря на это, в блоге oper-v-zakone, который ведется от имени некоего Алексея Царькова из Ногинска, продолжали публиковаться новые записи. Последний пост был написан 7 августа 2013 года. Аккаунт занимает 6 242 место в общем рейтинге пользователей.
lenta.ru
Вопрос: Сколько времени и денег стоит переверстать шаблон в адаптивный для мобильных устройств?

Лучший ответ: Ну на небезызвестном fl.ru чуть ли не 900р дают за лендинг с адаптивом :D
По вашему случаю: дешевле будет найти фрилансера, который нарисует новый дизайн и верстальщика.

Худший ответ: вполне адекватны 
главное тут не платить вперед 8)
Вопрос: Как вывести данные методами связки has_many belongs_to?

Лучший ответ: <% @users.each do |user| %>
  <% user.tests.each do |f| %> 
    <%= f.title %>
  <% end %>
<% end %>
<% something %> - исполняет руби код
<%= something  %> - выводит результат
Прочтите это:
stackoverflow.com/questions/7996695/what-is-the-di...

Худший ответ: а где лишнее выводится?
f.title что выводит?
Вопрос: Что за шутки (переводчик Google)?

Лучший ответ: это багофича «Предложить свой перевод».
неужели не видели в интернетах приколов на эту тему, когда например Bush переводится как Путин?

Худший ответ: Отпишитесь в тех.поддержку гугла.
Вопрос: Экспертиза комплектации ноутбука?

Лучший ответ: Вы поставьте себя на место продавца. Кто-то после вас этот ноутбук должен купить. Даже если вы сохранили полностью идеальный внешний вид, продавец должен восстановить ноутбук до исходного состояния. Согласно закона вы должны вернуть товар в том виде, в котором получили, и естественно, наличие раздела восстановления является необходимым условием — он ведь там был, когда вы его брали. Поэтому, как вам не грустно это слышать, продавец в данном случае прав. Если вам не нравится цена восстановления, вы можете сами проверить ее в сервисном центре производителя. Там же вам могут предоставить подтверждение, что наличие раздела является необходимым условием для возврата. Так что я не вижу ни одной причины, по которой вы не должны заплатить за свои эксперименты.
P.S. Вы мне напомнили одного клиента, который принес картридж от принтера и требовал его заменить на новый, потому что со старым принтер не печатал. Причем требовал заменить его бесплатно. Когда мы попытались ему объяснить, что это расходный материал, он попросил доказательства, чем поставил нас в замешательство.

Худший ответ: Официальный отказ есть, в нем как раз и написано, что скрытый раздел является частью комплектации.
Согласно пункту 2 статьи 12 ЗОЗПП:
«Продавец (исполнитель), не предоставивший покупателю полной и достоверной информации о товаре (работе, услуге), несет ответственность, предусмотренную пунктами 1 — 4 статьи 18 или пунктом 1 статьи 29 настоящего Закона, за недостатки товара (работы, услуги), возникшие после его передачи потребителю вследствие отсутствия у него такой информации.»
То есть то, что меня не предупредили о невозможности возврата товара в случае удаления скрытого раздела является проблемой продавца. И восстанавливать этот раздел должен он.
Или я где-то не прав?
Вопрос: Как переименовать все фото в папке с помощью php?

Лучший ответ: Вопрос нужно решить на php?
UPD: Попробуйте как-то так:$basepath = '/path/to/folder';
$filelist = scandir($basepath);
foreach($filelist as $i => $filename) {
if($filename !== '.' && $filename !== '..') {
     rename ($basepath.'/'.$filename, $basepath.'/'.$i.'.jpg');
}
}

Худший ответ: К примеру, ACDSee - Пакетное редактирование - Переименовать.
Вопрос: PHP: запуск задачи в фоне

Лучший ответ: PHP CLI в фоне ведет себя плохо. Из того, что применяется «на скорую руку», хорошо себя ведут BASH, Perl и Python.

В задаче, где надо было беречь ресурсы, поступил так:
1. Скрипт на PHP сохраняет «задание» на BASH в некоторую директорию job
2. Крон ежеминутно запускает некий скрипт dispatcher, написанный на Perl (был жизнеспособный вариант и на BASH) который ищет N самых старых (по last modified time) скриптов из директории job, и запускает их.
3. Запускаемые скрипты первым делом уничтожают (rm) себя, чтобы не Они все равно выполнятся — ведь они уже загружены в ОЗУ. Результаты работы сохраняются в ФС или в БД, для обслуживания логики интерфейса

Число N для каждого конкретного сервера выявляется индивидуально — тестированием.

Был «подводный камень», который по первому разу даже был обнаружен совершенно невовремя — все, что запускает крон, должно работать с абсолютными путями.

Таким образом были сделаны проект вроде ютуба и аналогичный, тоже конвертирующий видео.

Худший ответ: 1. Агенты — запускают в конце генерации страницы.
Вопрос: Как подключить видеокарту с более нового компьютера на старый?

Лучший ответ: Подойдёт ли колесо с синей машины на красную? Я просто всё время ездил на желтой, потому и спрашиваю.

Худший ответ: Думаю он не настолько старый что бы там не было PCI-E так что смело подключайте. Если купили без данного слота тогда скорее всего у вас ничего не выйдет
Вопрос: Вирус на сайте?

Лучший ответ: реклама в мобильном интернете через Мегафон
https://habrahabr.ru/post/318010/
https://roem.ru/22-11-2017/263731/reklamnoe-pravo-...

Худший ответ: При вёрстке использовал:
- Bootstrap 4
- PHPMailer
- MaskInput (Плагин маски ввода телефона)
А это тут при чем? Открываете код и смотрите где там инородный код, что сложно поиском по селектору найти?
И каким вообще боком PHPMailer к верстке?Подозреваю что проблема в каком-то из плагинов.
На чем основаны Ваши догадки?
ПС: Вы бы ссылку на сайт дали вместо горы скриншотов
Кстати, вариант, что оператор мобильной связи внедряет свой код - вполне вероятна. Проверьте.
Вопрос: Система оповещения системного администратора?

Лучший ответ: Знакомая проблема. 
… ибо использоваться будет в больнице, соответственно персонал не особо ладит с компютерами.
Решения типа orts или багтрекера не подойдут 90% таких пользователей (пользователи просто не осилят такую систему). В свое время, я решил данную проблему простым vbs скриптом:

Set wshshell = CreateObject("WScript.Shell")
computer = WshShell.ExpandEnvironmentStrings("%computername%")
Input = InputBox ("Опишите проблему и нажмите ОК." & Chr(10) & "Если хотите отказаться, жмите Отмена " & Chr(10) & Chr(10) & "Телефон системного администратора "& Chr(10) & ".... или ....", "Создать заявку", "Сюда введите краткую причину вызова") 
If Input = "" then WScript.Quit 0 
check = MsgBox ("Вы точно хотите отправить эту информацию?", 4+48 ,"Внимание!")
If check = 7 Then WScript.Quit 0 
Dim fso1
Set fso1 = WScript.CreateObject("Scripting.FileSystemObject")
Dim objADSystemInfo
Dim objUser
Set objADSystemInfo = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objADSystemInfo.UserName)

If Fso1.FileExists ("\\server\Zayavki.txt") Then

Set txtStreamOut = fso1.OpenTextFile("\\server\Zayavki.txt",8,True)
With objUser

txtStreamOut.WriteLine computer & " - " & .displayName & " - " & Input & " - " & Now
End With

Else

Set MyFile = fso1.CreateTextFile("\\server\Zayavki.txt")
With objUser

MyFile.WriteLine computer & " - " & .displayName & " - " & Input & " - " & Now
End With 

End If
WshShell.run "net send " & "XXXXXX" & " Заявка!"
MsgBox "Ваша заявка отпрвлена!", 0+65536 ,"Congratulations!"
Set oShell = Nothing
Set wshshell = Nothing
Set objADSystemInfo = Nothing
Set objUser = Nothing

Необходимо такой скрипт раскидать пользователям по рабочим столам, с красивой иконкой и названием. При открытии скрипта открывается MsgBox с предложением ввести описание проблемы, после подтверждения текст записывается в файл с именем пользователя, компьютера и временем заявки, отправляется NetSend админу, и выдается окошко об успехе. Админ смотрит файл и связывается с пользователем. Работает только в домене, необходимо установить в AD на автозапуск службу сообщений Messenger (для отправки net send), //server/Zayavki.txt необходимо заменить на свой путь к файл серверу (общей папке), XXXXXX на имя компьютера админа. Скрипт не отработает конечно, если будут неполадки с сетью.

Надеюсь, помог Вам:)

Худший ответ: по-моему, речь идет о тикет-системе, которой обычно пользуется техподдержка.
Вот такой, например: otrs.org/
Вопрос: Как правильно настроить memcache?

Лучший ответ: Что значит "порт на котором работает сайт"? 80?
Вы понимаете что такое  порт? 
Все зависит от того какие приложения работают с memcached и где эти приложения запущены.
В вашем случае, скорее всего,  можно оставить дефолтные настройки.

Худший ответ: Нет, вам этого делать точно не нужно. А то получите открытый всему миру memcache, раз такие вопросы задаете. 
Ну и да - memcache сам по себе ничего не делает, приложение должно уметь само его использовать (и, само собой, действительно использовать).
Вопрос: Статьи (мануалы) по распределение нагрузки

Лучший ответ: В теории всё просто. Ставим 10 бекендов с LAMP, перед ними один-два сервера с nginx, балансируем его средствами. Это вариант попроще (дешевле).
При наличии хорошего финансирования вместо nginx покупаем промышленные балансировщикиконтроллеры доставки приложений: Radware, Crescendo, Cisco ACE, F5, Citrix, etc.
Куда сложнее сделать нормальный кластер для СУБД.

Худший ответ: попробуйте сначала на одном запустить
Вопрос: Какие существуют языки со встроенным веб сервером?

Лучший ответ: На мой скромный взгляд лучше все-таки взять Golang. Комьюнити у него уже достаточно большое, странностей я не замечал (читайте спецификацию), синтаксис весьма похож на сишечный, да и в случае чего интеграция с С/С++-кодом простая

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

Лучший ответ: Используйте лучше QuickPic и забудьте про встроенную галерею.

Худший ответ: Решение проблемы с неработающим .nomedia (в Honeycomb и ICS):
www.transformerforums.com/forum/guides-tips-tricks/17765-solved-nomedia-doesnt-work-under-honeycomb-ics.html
Если кратко на русском:

Создать файл .nomedia в тех директориях, которые должны быть исключены из «Галереи»

Настройки — Приложения — Галерея:
Очистить кеш, Удалить даннные, принудительно остановить.

Настройки — Приложения — Хранилище мультимедиа:
Очистить кеш, Удалить даннные, принудительно остановить.

Перезагрузить девайс.
После запуска галереи фоток/видео сначала не будет, она их проиндекирует, и они появятся, но уже с учетом созданных фалов .nomedia.
Вопрос: Что лучше использовать для компиляции less в Yii 2.0?

Лучший ответ: На мой взгляд, всю работу с эссетами лучше поручить Grunt/Gulp.

Худший ответ: Если на стороне сервера есть возможность поставить lessc (npm), и не предполагается использовать автопрефиксеры или что-то подобное, то дайте Yii2 компилировать less самому, пропишите его в asset c расширением less, при первом же обращении он будет скомпилирован в css (тут нужны права на папку, куда сервер его будет писать).
Вопрос: Как правильно сделать условие для цикла в данной ситуации на Javascript?

Лучший ответ: Если очень хочется знать всё до грамма, нужно проверять все направленияfor (var i = 0, result = []; i < arr.length; i++){
	for (var j = 0, _result = []; j < arr[i].length; j++){
		_result.push({
			t: i == 0 ? null : arr[i][j] === arr[i - 1][j],
			tr: i == 0 || j == arr[i].length - 1 ? null : arr[i][j] === arr[i - 1][j + 1],
			r: j == arr[i].length - 1 ? null : arr[i][j] === arr[i][j + 1],
			br: i == arr.length - 1 || j == arr[i].length - 1 ? null : arr[i][j] === arr[i + 1][j + 1],
			b: i == arr.length - 1 ? null : arr[i][j] === arr[i + 1][j],
			bl: i == arr.length - 1 || j == 0 ? null : arr[i][j] === arr[i + 1][j - 1],
			l: j == 0 ? null : arr[i][j] === arr[i][j - 1],
			tl: i == 0 || j == 0 ? null : arr[i][j] === arr[i - 1][j - 1]
		});
	}

	result.push(_result);
}

console.log(JSON.stringify(result));
Если же достаточно знать, что ячейка непустая и совпадает с любым направлением, можно прощеfor (var i = 0, result = []; i < arr.length; i++){
	for (var j = 0, _result = []; j < arr[i].length; j++){
		var status = !!arr[i][j];

		if (!status) {
			status = arr[i][j] === arr[i][j - 1] || arr[i][j] === arr[i][j + 1];

			if (!status && i != 0) {
				status = arr[i][j] && (arr[i][j] === arr[i - 1][j - 1] || arr[i][j] === arr[i - 1][j] || arr[i][j] === arr[i - 1][j + 1]);
			} else if (!status && i != arr.length - 1) {
				status = arr[i][j] && (arr[i][j] === arr[i + 1][j - 1] || arr[i][j] === arr[i + 1][j] || arr[i][j] === arr[i + 1][j + 1]);
			}
		}

		_result.push(status);
	}

	result.push(_result);
}

console.log(JSON.stringify(result));Пример

Худший ответ: Зачем такой код if(arr[i][j] == "X" && arr[i+1][j] == "X" && arr[i+2][j] == "X") во вложенном цикле? Зачем прибавлять константы, если есть переменная i?// Проход по горизонтали
// Проход по вертикали такой же, только во вложенном цикле поменяйте местами i и j в условии
for(var i = 0; i < arr.length; i+=1){
  countet = 0;
   for(var j = 0; j < arr.length; j+=1){
     var last_counter = counter;
     if (arr[i][j] == 'X') {
        counter++
     }
     else {
       counter = 0;
     }
     // здесь можем сделать нужные вычисления с counter и last_counter. Например, найти максимально длинную последовательность
   }
}
// По диагонали
var counter = 0;
for (var i = 0; i < arr.length; i++) {
  var last_counter = counter;
   if (arr[i][i] == 'X') {
      counter++
   }
   else {
     counter = 0;
   }
   // здесь можем сделать нужные вычисления с counter и last_counter. Например, найти максимально длинную последовательность
}
PS цИкл, диагонАль, ',,,,'
Вопрос: Можно ли сжечь DDR3L?

Лучший ответ: Можно ли сжечь DDR3L?Можно сжечь что угодно, если постараться. не горят лишь рукописи.
А память можете купить, будет нормально работать, чуток продлите работу от аккумулятора.

Худший ответ: Продавец почему то говорил про шину питания, типа не понижается вольтаж из за этого не подходит, мне же выгодно её купить чем 4гб за 1600
Вопрос: Как считывать текстовый файл?

Лучший ответ: А можно и вот так:gcc map.c -o map && ./map map.c
File contents:
#include <stdio.h>
#include <sys/mman.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <fcntl.h>

typedef struct{
    char *data;
    size_t len;
} mmapbuf;

#define ERR(...) do{fprintf(stderr, __VA_ARGS__); exit(-1);}while(0)

mmapbuf *My_mmap(char *filename){
    int fd;
    char *ptr;
    size_t Mlen;
    mmapbuf *ret;
    struct stat statbuf;
    if(!filename) ERR("No filename given!");
    if((fd = open(filename, O_RDONLY)) < 0)
        ERR("Can't open %s for reading", filename);
    if(fstat (fd, &statbuf) < 0)
        ERR("Can't stat %s", filename);
    Mlen = statbuf.st_size;
    if((ptr = mmap (0, Mlen, PROT_READ, MAP_PRIVATE, fd, 0)) == MAP_FAILED)
        ERR("Mmap error for input");
    if(close(fd)) ERR("Can't close mmap'ed file");
    ret = malloc(sizeof(mmapbuf));
    ret->data = ptr;
    ret->len = Mlen;
    return  ret;
}

void My_munmap(mmapbuf *b){
    if(munmap(b->data, b->len))
        ERR("Can't munmap");
    free(b);
}


int main(int argc, char **argv){
	if(argc != 2) return 1;
	mmapbuf *readfile = My_mmap(argv[1]);
	printf("File contents:\n%s\n", readfile->data);
	My_munmap(readfile);
	return 0;
}

Худший ответ: В С удобнее всего читать через fscanf./* fscanf example */
#include <stdio.h>

int main ()
{
  char str [80];
  float f;
  FILE * pFile;

  pFile = fopen ("myfile.txt","w+");
  fprintf (pFile, "%f %s", 3.1416, "Hello");
  rewind (pFile);
  fscanf (pFile, "%f", &f);
  fscanf (pFile, "%s", str);
  fclose (pFile);
  printf ("I have read: %f and %s \n",f,str);
  return 0;
}
Выведет I have read: 3.141600 and Hello
а если есть С++ то можно через потоки ввода-вывода - так ещё проще.
Но это конечно медленный способ. Самый быстро работающий способ - прочесть большой кусок файла и потом его обрабатывать.
habrahabr.ru/post/246257
Вопрос: Нужна литература, статьи или сайты о парсинге сайтов на PHP (да и в целом о парсинге)?

Лучший ответ: В названии диплома все же не хватает слова "Разработка универсального парсера сайтов  на языке PHP".
И слово "универсальный" думаю окажется лишним )
Литературу на эту тему вряд ли найдете, статьи разрознены и разного качества. Ищите пробуйте. Очень рекомендую попробовать написать несколько парсеров на других языках. Посмотрите как работает библиотека Grаb для Python. Ее принципы можно перенести для PHP.Немного общей инфы по теме
В целом парсинг сайтов состоит из примерно следующих этапов: Анализ сайта: определение структуры сайта и шаблона данных и, на этом этапе полезным бывает изучить файл роботс, xml карту сайта, поиск по сайту, выдачу поисковиков для сайта.  Подготовка выражений (xpath или css селекторв) для получения необходимых данных со страниц. Написание и отладка парсера.
Сам парсер может состоять из следующих частей: Краулер. Используя какие то правила проходит по страницам, собирает ссылки, может отправлять страницы сразу на парсинг (в очередь на парсинг) или просто выгружать и сохранять их целиком. Парсеры. Блоки отвечающие за вытаскивание конкретных данных и их преобразование в нужный формат.  Вспомогательные сервисы, отвечают за разбор HTML DOM, кеширование, HTTP запросы, обход защиты от парсинга, сохранение данных в нужном формате и тп.
Для разбора HTML используются библиотеки (пример https://github.com/Imangazaliev/DiDOM ). Регулярками HTML не разбирают, но тоже, конечно применяют для разбора других данных.
Иногда требуется исполнять JS, например с помощью PhantomJS. 
Для обхода капчи прибегают к услугам сервесов типа антигейт / антикапча.
Порой требуется авторизовываться или обходить защиту построенную на cookies.
Для многопоточного парсинга используют multicurl.
Вообще PHP не самый подходящий язык для парсинга сайтов. Все таки он предназначен для других целей. Python + Grab здесь будет куда удобнее и производительнее. Как, впрочем почти любой десктопный язык имеющий нужные библиотеки.

Худший ответ: Это утопия.
Вопрос: Как бы побыстрее &quot;загнать&quot; изменения DNS в индекс?

Лучший ответ: ~ # rndc reload domain.com

Также курите маны по DNS, ключевое слово — TTL. Рекомендую не снижать ниже 300, но это уже по вкусу.

Худший ответ: мастер может послать сингал обновления на слейв
bind так деоает при увеличении serial`а зоны
Вопрос: Как избавитсья от лишних запросов в Django?

Лучший ответ: Почти на всех больших проектах мне удавалось избегать использования .raw(), по этому я спросил вас, что там внутри. Почти наверняка есть обходные пути.
Для того, чтобы быть уверенным, что запрос не будет выполнен несколько раз, его можно сразу превратить в список:object_list = list(MyModel.objects.raw(...))
Для выполнения prefetch_related в raw запросах обычно используют prefetch_related_objects, хотя эта функция в Django не документирована: from django.db.models.query import prefetch_related_objects
object_list = list(MyModel.objects.raw(...))
prefetch_related_objects(raw_qs, ['fk_field', 'another_fk_field', ...])
Для изучения когда и какие запросы выполняются удобно пользоваться консолью debugsqlshell из django debug toolbar (которую вы скорее всего используете).

Худший ответ: По поводу последнего - prefetch_related вам поможет.
По поводу первого - в том же цикле просто сделайте другой лист с данными из данных object_list и джанга не будет делать запрос 2 раз.
Вопрос: Игра на PHP, реально ли?

Лучший ответ: В любом приложении нужно и фронтэнд программирование и серверное. Для серверной части подойдет php, для фронтэнда, скорее всего, Вам понадобится javascript+jquery (или любой другой фрэймворк), может будет достаточно одного html5

Худший ответ: Реально, Ogame например на php написана, только бои там на С у меня где-то её движок валялся на компе.
Вопрос: Зачем в body указывают ширину и высоту в 100 процентах?

Лучший ответ: Чтобы работало width, height, max-height, min-height, max-width, min-width в процентах для других элементов.

Худший ответ: В чистом виде указание width: 100% - бессмысленно. Поведение блоков с display:block и так растягивает их на всю ширину.
height:100% растягивает body на всю высоту контейнера html. Если же и у html указать height:100% то он растянется на всю высоту страницы.
Поэтому, скорее всего смысл имел у них писать html body { height: 100%; } , а width указывали заодно.