Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как правильно сохранять сессию в куки?

Лучший ответ:
Неправильно.
Лучше не играйтесь с безопасностью, если не понимаете как это работает. Используйте стандартный sessionid, и ничего больше в куки не нужно писать.
php.net/manual/ru/session.examples.basic.php

Худший ответ:
Сделал вот такую авторизацию:<?php 
require '../libs/bd.php';
require '../libs/session.php';
$date = $_POST;
$errors = [];
if (isset($date['log_b'])) {
	if ($date['login'] == "") {
		$errors[] = 'Ошибка: Вы не ввели логин!';
	} else {
		$p_login = $date['login'];
		$ack = mysqli_query($connection, "SELECT * FROM `users` WHERE email = '$p_login'");
		$user = mysqli_fetch_assoc($ack);
	}
	if ($date['pass'] == "") {
		$errors[] = 'Ошибка: Вы не ввели пароль!';
	} else {
		$passh = password_verify($date['pass'], $user['password']);
	}

	if ($passh == false) {
		$errors[] = 'Ошибка: Вы ввели не верный логин или пароль!';
	}

	function generatePassword($length = 8){
  $chars = 'abdefhiknrstyzABDEFGHKNQRSTYZ23456789';
  $numChars = strlen($chars);
  $string = '';
  for ($i = 0; $i < $length; $i++) {
    $string .= substr($chars, rand(1, $numChars) - 1, 1);
  }
  return $string;
}

	if (empty($errors)) {
		$uuid = password_hash(generatePassword(8), PASSWORD_DEFAULT);
		setcookie("Auth", $uuid, time()+60*60*24*365*100 , "/");
		mysqli_query($connection, "UPDATE `users` SET `uuid`='$uuid'");
		$id = $user['id'];
		$_SESSION['Auth'] = $id;
		echo "Успешно";
	} else {
		echo array_shift($errors);
	}
}
?>
Вопрос: С чего начать свою компанию?

Лучший ответ:
Ни в коем случае не надо лезть в госКомпании - это мертвый вариант!
1) Вам надо получить госКонтракт - как вы это сделаете? (без сильных знакомых НИКУДА)! Хотя конечно вы можете попробовать на сайте ГосЗакупки попробовать выйграть тендер.....
2) Предположим вы на свой страх и риск запилите программу какую-нибудь для здравоохранения - а как вы сделаете так чтобы ей пользовались наши больницы?? пункт 1 - ЗНАКОМЫЕ
3) Отсюда вывод что проще всего быть посредником(пусть даже за 2-3% от гоконтракта) и ничего не производить и не программировать - в принципе так живут все ГОСКомпании в России.
4) Из личного опыта - работал разработчиком в одной госКомпании - так вот там была одна Дама которая ничерта не понималала в разработке(но тем не менее рулила 10 программистами), а  все потому что у нее был выход на ЗамМинистра который одобрял госконтракты и так вот руководство компаниии получали по 300-400тыс премии, а разработчики по 20-30, и все руководство молилось на эту даму -а то что продукт гавно и разработка на низком уровне всем было до лампочки.....

Худший ответ:
Вообще, тема здравоохранения обширна: оборудование, софт для оборудования, информационные системы, всякие там нац. проекты и т.д.
Вопрос был скорее всего про последнее и тут сложность в том, что все давно поделено и конкурировать придется с хорошо известными системными интеграторами и гос. аутсорсерами. Без помощи со стороны тут маленькому бизнесу делать нечего.
Рекомендую изучить материалы АРМИТ, чтобы примерно понимать что там вообще происходит.
Если говорить о создании прорывного продукта/сервиса, то это лучше делать через инкубатор (коих достаточно сейчас)
Вопрос: Откуда берутся файлы usedscripts.js и content-script.js?

Лучший ответ:
Подозреваю, что какие-нибудь расширения браузера добавляют эти скрипты на страницу. Особенно исходя из названия файлов.

Худший ответ:
В FF нашел что content-script.js загружается с adguard.com. А вот второго лазутчика пока не могу вычислить.
Вопрос: С помощью чего организовать такой каталог?

Лучший ответ:
попробуйте opencart. Использовать вордпресс, который предназначен для блогов, а сверху кидать гигантский плагин не лучшее решение. Когда будет много товаров - грузится будет не сильно быстро. Opencart в свое время имеет хорошую структуру файлов, в которой разобраться хотя бы можно, что не скажешь про вордпресс

Худший ответ:
Если woo выберите, то очень внимательно надо структуру продумывать - на одном сайте на woocommerce добавили кучу атрибутов товарам и таксономий иерархических - как результат главная очень долго загружается и ломаю голову как починить
Вопрос: Заграничный быстрый хостинг с CDN?

Лучший ответ:
да берешь любой сервачок ядер на 10  и 128 гигов оперативы и для цдн подключаешься клаудфларе

Худший ответ:
ровно один - OVH, с их же CDN
что-то не вижу его уже на сайте
Вопрос: Есть ли простой движок для кастомных географических карт?

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

Худший ответ:
Именно движка, который бы на сервере разбивал картинку с картой на тайлы и сразу показывал - вроде бы и нет. Во всяком случае, не встречал.
Если только нарезать на тайлы заранее, выложить на сайт и там уже любой движок. 
Чем нарезать - например, вот тут описано. Или раньше, помню, у яндекса утилита была специальная, хотя сейчас поискал - не нашел.
Так любую карту можно сделать, хоть пачку беломора.
Вопрос: Стоит ли вынести Css стили в подвал ??

Лучший ответ:
Если просто вынести в подвал, то некоторое время будет показываться контент без стилей.
Гугл рекомендует стили для первого экрана сделать инлайновыми, а остальные перенести до закрывающего </body>

Худший ответ:
Тут только 1 вариант:
В самом html документе передавать стили для верхней части страницы.
Вопрос: Как выглядит 128 битное число?

Лучший ответ:
340 андецеллионов 282 дециллионов 366 нониллионов 920 октиллионов 938 септиллионов 586 секстиллионов 8 квинтиллионов 62 квадриллиона 602 триллиона 462 миллиарда 446 миллионов 642 тысячи 46

Худший ответ:
340282366920938463463374607431768211455 - это максимальное беззнаковое.
Можно получить из консоли командой:python -c 'print (2**128 - 1)'
Вопрос: Что такое потоки в node.js?

Лучший ответ:
Это такая штука, которая выдает (или принимает, или и то и другое) данные кусочками (chunk). Чтобы объяснить, зачем они нужны, нужно немного отвлечься и вспомнить, как работает nodejs.
Преимущество nodejs состоит в том, что пока БД или ФС реагирует на команду, мы можем запустить другой коллбэк. За счет этого мы можем обработать много запросов какбэ параллельно, но с точки зрения программиста параллельности нет, потоков нету, race condition не возникает и башка у него об этом не болит. И у нас все быстро работает, пока ни одна функция не занимает процессор слишком надолго, пока она не работает слишком долго. А если она займет, то, в силу однопоточности, у нас все остальные запросы зависнут.
Но иногда нам все-таки сделать большую работу — прочитать или записать большой файл, например. С помощью потоков мы дробим эту работу на кусочки, которые не занимают проц надолго. Это не всегда возможно, но в большом количестве случаев вполне себе работает.
P.S. В данном ответе речь идет о stream (не путать с thread).

Худший ответ:
Вот здесь подробно описаны потоки и работа с ними в Node.js
https://makeomatic.ru/blog/2016/08/22/Streams_handbook/
Вопрос: Как пользоваться Transliterator?

Лучший ответ:
function slugify($string) {
    $translit = "Any-Latin; NFD; [:Nonspacing Mark:] Remove; NFC; [:Punctuation:] Remove; Lower();";
    $string = transliterator_transliterate($translit, $string);
    $string = preg_replace('/[-\s]+/', '-', $string);
    return trim($string, '-');
}

echo slugify("Я люблю PHP!");Источник: php.net/manual/ru/transliterator.transliterate.php...

Худший ответ:
Упрощённый вариант, без раскуривания доки по транслитерейту: transliterator_transliterate('Latin-ASCII', transliterator_transliterate('Latin', $sourceString));
Вопрос: Как соеденить/наложить изображения или «надеть» на нарисованного героя «доспехи»?

Лучший ответ:
Создать 1 вью.  
Переопределить onDraw и канвасом отрисовать столько битмапов, сколько вам надо.
ПсевдоКот.@Override
public void onDraw(Canvas canvas) {

        Bitmap image = BitmapFactory.decodeResource(getResources(),R.drawable.body);
        canvas.drawBitmap(image, 0, 0, paint);

        // if weapon exist
        Bitmap image2 = BitmapFactory.decodeResource(getResources(),R.drawable.weapon);
        canvas.drawBitmap(image2, 0, 0, paint);

        // if armor exist
        Bitmap image3 = BitmapFactory.decodeResource(getResources(),R.drawable.armor);
        canvas.drawBitmap(image3, 0, 0, paint);
}

Худший ответ:
Использовать графические библиотеки или игровые движки, а не пытаться съесть кактус с imageview.
P.S. что за мода пошла... Одни на юнити херачат то что на нейтиве в 3 строчки пишется, другие вот наоборот...
Вопрос: Warning: file_get_contents(): SSL: ��������. Warning: file_get_contents(): failed to open stream: HTTP request failed?

Лучший ответ:
в чем тут вообще проблема, что почитать чтоб это понимать ?Смотри, какое колдунство мощное! (1, 2)
Если коротко - ты пытаешься подключаться по https к сайтам, у которых либо какя-то фигня с сертификатами, либо сервер специально обрывает коннект. (10054 это reset by peer)
А козябрики потому, что виндовс.

Худший ответ:
откройте первые  ссылки  в браузере - там  просто валится  серверная  ошибка.  А поскольку это не  json с UTF8 то  кракозябры и вылдает  но в  браузере ошибку  видно сразу
The value '0):' is not valid for StartRange.; The StartRange property is required.
Вопрос: Заголовок H6 может быть меньше текста параграфа?

Лучший ответ:
Не верно. Заголовки нужны для выделения частей документа, для отражения его структуры. Для роботов и читалок экрана достаточно самого наличия заголовка, а для тех, кто воспринимает контент визуально совершенно не обязательно, чтобы заголовки были крупнее текста. Главное, чтобы по заголовку было понятно, что это заголовок - он может быть набран другим шрифтом или цветом, просто капсом и т.п.
P.S. Никогда в жизни на живых проектах не было необходимости использовать h4-h6.

Худший ответ:
Можно сделать 6 типов заголовка в дизайне, но в html они будут присваиваться к элементам h1-h3 через классы, типа:<h1 class="header-size-small">Заголовок маленького размера, но главный по структуре документа</h1>
Вопрос: Как лучше реализовать смену 3D модели?

Лучший ответ:
Правильно - это добавляем топор как отдельный объект и муч... а не, погодите, просто делаем его дочерним объектом кости, которая является ладонью персонажа, и топор будет двигаться вместе с этой костью.
Upd: а, ну да, RedHairOnMyHead в своем комменте так и сказал

Худший ответ:
Правильно - это добавляем топор как отдельный объект и муч... а не, погодите, просто делаем его дочерним объектом кости, которая является ладонью персонажа, и топор будет двигаться вместе с этой костью.
Upd: а, ну да, RedHairOnMyHead в своем комменте так и сказал
Вопрос: Как собрать такой массив из строки?

Лучший ответ:
var str = "слово1 слово2 [слово слово слово] слово3";
var result = [];
str.replace(/(\[.+?\]|\S+)/g, function(m) {
  result.push(m);
  return "";
})
console.log("Result:", result)
// ["слово1", "слово2", "[слово слово слово]", "слово3"]

Худший ответ:
Как то такvar str = '1 2 3 4 5 6 7 8 9 10';
var arr = str.split(' ');
// Переменная arr будет содержать элементы [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Вопрос: JavaProject? SBT ^ Maven ^ Gradle?

Лучший ответ:
Maven, либо Gradle.  В проектах, с которыми работал, использовал Maven. Многим не нравится обилие xml, но это не проблема. У Gradle больше возможностей, но и ошибок наделать больше вероятность. По документации - у мавена она совсем никчемная. У Graddle же документация отличная. Поэтому порекомендую все же Gradle)
Вот хорошее видео, оно поможет вам определиться, как раз по вашему вопросу: https://www.youtube.com/watch?v=21qdRgFsTy0

Худший ответ:
По большому счету как вам удобнее, какой стиль описания сборки вам больше нравится и более понятен и прозрачен. gradle вполне.
Вопрос: При сборке Vue 2 создается App.vue, а он подключается к main.js. Что лучше выбрать для главного входа?

Лучший ответ:
Всякие подключения библиотек, роутов и компонентов делайте в main.js. 
App.vue - это просто обычный компонент (не совсем обычный конечно, но как точка входа для остальных компонентов)
index.html - не трожь. Ну или можно внешние скрипты подключить

Худший ответ:
Во vuejs нет "основного кода" . Весь функционал реализуется через компоненты, дерево которых начинается импортироваться с файла App.vue. И никак иначе, никак не лучше, только так)
Вопрос: Чем можно заменить Google поиск?

Лучший ответ:
Попробуй DuckDuckGo

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

Лучший ответ:
1. Создаем выделение, например вертикальный прямоугольник с запасом по размеру.
2. Меню Selection->Transform Selection и вводим нужный угол поворота.

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

Лучший ответ:
Кроме IT нет других сфер?)
Займитесь рисованием,прочтением бизнес литературы,стихи пишите.  
IT это не саморазвитие,это проф.образование и проф.деятельность,а если даже не можете нагуглить что надо,то уже можете ставить крест на своей карьере очередного индуса-ITшника) Потому что даже индусы не задают такие вопросы.

Худший ответ:
начинаешь с Паскаля )
Вопрос: Можно ли разогнать процессор?

Лучший ответ:
Официально - нет. Нужна Z-серия чипсетов. Но иногда производители материнок добавляют базовый функционал разгона и в младшие модельки.

Худший ответ:
У меня в биосе H97 матери есть большая красная кнопка "OC", мол разогнать одним кликом. Так что думается мне, что и на H170 есть подобное, не на уровне Z170, но всё же. Курите инструкции и офф.сайты производителя.
Вопрос: Имею ли я право использовать фотографии городов и их достопримечательностей внутри игр, программ и сайтов легально и бесплатно?

Лучший ответ:
IANAL, TINLA.
Словосочетание, что вы ищете: «свобода панорамы».  А она очень сильно разнится по юрисдикциям: от широчайшей в Германии до никакой на Украине.
> имею ли я право пойти сфотографировать Кремль или Эрмитаж или здание ФСБ
Это все архитектурные произведения на территории России.  В России свобода панорамы частичная — без ограничения целей только в отношении произведений архитектуры, градостроительства и садово-паркового искусства.  Но, к примеру, не монументального, где либо без целей извлечения выгоды, либо монумент не должен быть основным об’ектом.
То есть да, можете.  (Не говоря уж о том, что авторская монополия на Эрмитаж и большинство кремлей как минимум давно истекла, а как максимум никогда не существовала.)
И да, не смущайтесь, если порыскав еще по Сети, вы найдете внушающее доверия статьи, где написано иначе, а обратите внимание на их дату, ибо в России свободу панорамы расширили до озвученных мною пределов всего несколько лет назад.

Худший ответ:
https://www.youtube.com/watch?v=SOG8kmSc04Y — в ролике рассказывается про использование в играх гоночных трасс и городов.
Вопрос: Полная синхронизация компьютеров. Как?

Лучший ответ:
Вариант 1.
Вам надо один носитель. Например USB HDD/SSD.
Компьютеры в биосе настроить на загрузку с этого девайса.
Enjoy
Вариант 2.
Использовать ноутбук как хост систему. Обычный компьютер как тонкий клиент.
Гуглить VNC/RAdmin и т.п.

Худший ответ:
Как полностью синхронизировать Windows(10) и файловую систему (C:, D:) ?Работать всегда на ноутбуке. Вместо ПК использовать док-станцию.
Вопрос: Чему нужно учиться?

Лучший ответ:
военным программистомКто и на каких языках разрабатывает ПО для ракет и отрасли в целом?
Я не сильно разбираюсь в военных специальностях, но, как мне кажется, такой специальности, как "военный программист" не существует.
Возможно, вы удивитесь, но ПО для ракет, как и сами ракеты, разрабатывают совсем не военные, а просто обычные инженеры, многие из которых (хотя кого я обманываю — подавляющее большинство) даже не служили в армии. ПО для бортовой ЭВМ в основном разрабатывают на С, разное сопутствующее ПО для ПК - на разных языках, кто во что горазд, здесь нет стандартов. Delphi, C#, что угодно.
Поэтому можно поступить в любой технический ВУЗ, имеющий соответствующие специальности. 
Но хочу сразу предупредить, работа в подобных учреждениях довольно специфична и не всем нравится. Хотя имеет и свои плюсы, молодой специалист может многому научиться и поучавствовать в серьёзных проектах, и быстро дорасти до ведущего инженера. Минусы — специфика, связанная с секретностью, бюрократия (не всех касается, конечно), и небольшие зарплаты. Но для начала карьеры это может быть неплохой вариант.
По поводу секретности: сейчас рядовые инженеры имеют в основном третью форму секретности, которая не накладывает ограничений на выезд за рубеж.

Худший ответ:
Еще один пример. УрФУ (екатеринбург). Есть факультет военного училища (точные названия все уже не помню, 10 лет прошло)
Так вот, там ребята (и девочки, почти половина) учились на ряде специальностей. Одна специальность с нами имела много математических дисциплин.
Ходили в военной форме, много военных дисциплин.
Но суть ни в этом, а в том что треть группы (20+ чел) из них завербовал интерпол после выпуска. Официально, новости писали местные радостно.
Все дружно во францию свалили на доп. обучение. 2 человека возвращались в отпуск, мы пересекались - говорит, что тоже программируют, программы анализа фото, выслеживания социалок.
Типа на аутсорс что то отдают наименее критичное, а так на много гриф секретности, только сами.
Вопрос: Как провайдеры расчитывают пропускную способность магистралей?

Лучший ответ:
1. не все абоненты грузят одновременно канал на 100%. это правило, подтвержденное практикой.
2. провайдер гарантирует линк Х байт до аплинка, а не что этот линк сможет прокачать Х байт.
в общем – обычный маркетинговый булшит разной степени паршивости, который устраивает обе стороны.

Худший ответ:
на 300-400 квартир, допустим каждый жилец подключил себе 100 мбит\сек тарифГигабита вполне хватит на всех.
А то по вашим рассчетом получится что город милионник Новосибирск надо соединять с Москвой линком в пару петабит, а уж между странами вообще сотни петабит. А на самом деле все на несколько порядков меньше.
Например на пиринговых точках обмена трафиком провайдеры подключены обычно на 0,1-10Гигабит - этого вполне достаточно для обмена трафиком между крупными провайдерами города миллионника.Если да, то каким образом считается пропускная способность этой магистрали?Да никаким. Что есть, то есть. Исходя из этого предлагаются тарифы.
Вопрос: Быстрый переход к коду класса в Visual Studio 2015?

Лучший ответ:
F12 в стандартной раскладке.
Есть еще через Ctrl-click, но это вроде с расширениями.

Худший ответ:
F12 в стандартной раскладке.
Есть еще через Ctrl-click, но это вроде с расширениями.
Вопрос: Как понять с какого устройства зашел человек, чтобы включить ему мобильную версию?

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

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

Лучший ответ:
В хроме (и firefox)  есть параметр unlimitedStorage в permissions, который разрешает использовать локальное хранилище без ограничений. https://developer.chrome.com/extensions/declare_pe... 
Только используйте не localStorage а chrome.storage.local

Худший ответ:
Правильный ответ был - indexedDB.
Хотя это и мощный инструмент, но с простой задачей хранения строки тоже справляется.
Для теста сохранил 30 мегабайт - скушал.
Даже unlimitedStorage не нужен, всё и так работает.
Вопрос: Телефон Android с поддержкой записи разговора?

Лучший ответ:
Любой. Разговоры пишут приложения, а не железо.

Худший ответ:
Всем спасибо! Выбрал телефон Asus ZenFone, в звонилке есть функция записи разговоров и телефон отличный.
Вопрос: Требуется бэкап отдельных файлов при их изменении под Windows10 (перехват функции сохранения)?

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

Худший ответ:
с гитом ничего не получится придумать разве?
Вопрос: Считается ли противозаконным удаление рекламы из APK приложений?

Лучший ответ:
Если вы его купили, то по законам РФ можете модернизировать для личного использования.
Прочее - незаконно. 
Например, незаконно в США никак модернизировать (даже купленное, в отличие от РФ).
Распространять без рекламы чужое тем более незаконно.
Вообще нужно глянуть лицензию, но, полагаю, авторы не разрешают вырезать из приложения рекламу.

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

Лучший ответ:
Можно и не тащить сторонние библиотеки, все решается парой строчек кодаlet datestring = document.querySelector('#date').innerText; // получаем дату "Ч"
let regexp = /(\d{2})\.(\d{2})\.(\d{4})/;
let dateX = new Date(datestring.replace(regexp, '$2/$1/$3')); // парсим из нее дату с заменой строки в понятный JS формат (имеется в виду же 1 марта?)
let dateToday = new Date(); // дата на момент захода на страницу
let days = Math.floor((dateX - dateToday) / 86400000) // количество целых дней до ожидаемого дня

Худший ответ:
Разбить строку по точке в массив [дата, месяц, год], у сегодняшней даты сбросить часы, минуты, секунды, миллисекунды на ноль - чтобы тоже начало дня было. Посчитать разницу двух дат в миллисекундах, перевести в сутки:function daysTill(ddmmyyyy) {
	let dd, mm, yyyy;
	[dd, mm, yyyy] = ddmmyyyy.split('.');
	const Till = new Date(yyyy, mm-1, dd);
	const Now = new Date();
	return Math.floor((Till - Now) / 864e5);
}
	
daysTill("01.03.2019") // 13
Вопрос: Как объединить множество текстовых файлов в один?

Лучший ответ:
если речь идет о дефолтОС, то решается элементарно в консоле:copy *.txt new.txtразумеется предварительно перейдя в нужную директорию.
на других осях решается схожим образом.

Худший ответ:
Для склейки пользуюсь замечательной программой TXTcollector.  Указываешь папку с txt файлами, она все содержимое файлов в паро секунд объединяет в один файл. Также для компоновки можно задать разделитель.
Вопрос: Как подсчитать сумму checked?

Лучший ответ:
<div id="boxes">
<input type="checkbox" data-exval="2000">Доставка
<input type="checkbox" data-exval="500">Подъем
<input type="checkbox" data-exval="2500">Монтаж
</div>
<div>Итого: <span id="result"></span></div>$(document).ready(function(){
  $("#boxes input[type='checkbox']").click(function(){
    var total=0;
    $("#boxes input[type='checkbox']:checked").each(function(){
          total += parseInt($(this).data("exval"),10);
    });
    $("#result").text(total);
  });
});

Худший ответ:
Если только сумму или количество и с использованием jQuery, то можна сделать так: https://jsfiddle.net/alantoo/k5bb1pde/2/
Вопрос: Как сохранить состояние чекбоксов и селектов?

Лучший ответ:
<input <?= $_GET["checkboxname"] == "Y" ? "checked='checked'" : "" ?> type='checkbox' name='checkboxname' value='Y'>
Попробуй так. Если есть value у чекбокса, то оно передаётся если чекбокс выставлен.  Код набирал прям тут могу где-то опечатываться, вроде должно работать.

Худший ответ:
В сессии
Вопрос: Mikrotik rb951-2n не открывает проброшенный порт из локальной сети?

Лучший ответ:
Тысячи раз решённая проблема. Hairpin-NAT вам нужен или замена DNS имени для локальных пользователей или DMZ с полноценной маршрутизацией и без проброса портов. 
wiki.mikrotik.com/wiki/Hairpin_NAT

Худший ответ:
чет не совсем ясно что сделать то нужно дабы решить проблему