Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Какие вы знаете понятные  книги по алгоритмам?

Лучший ответ:
Алгоритмы и структуры данных. - Гагарина, Колдаев
Алгоритмы. Просто как дважды два. - Красиков, Красикова
Основы современных алгоритмов. (2е издание) - Макконнел
Программирование в алгоритмах. - Окулов
Структуры данных и алгоритмы. - Axo, Хопкрофт, Ульман
Довольно сжато (по 300+- стр.). Пробегитесь по содержанию, выберите что вам более понятно.

Худший ответ:
Вот еще.
1. Алгоритмы и структуры данных Вирта. Есть на рутрекере.
2. И вот еще библиотека алгоритмов от ИТМО.
Вопрос: Замена процессора на ноутбуке?

Лучший ответ:
С учётом видеокарты прирост в играх будет минимальный, если вообще заметный. Я бы начал с замены системного ЖД на SSD Гиг на 120 и увеличением памяти до 16 Гиг с отключением файла подкачки. Это будет видно и в системе и в приложения. Удачи.

Худший ответ:
не имеет никакого смысла подобная замена. 
плюс сложности с заменой, скорее всего там BGA который не заменить. 

проще не тратить нное количество денег на этот «апгрейд» а раз так хочется положить их в банк чтобы потом добавить к следующему буку.
Вопрос: Топ постов Хабр

Лучший ответ:
Альтернативный топ, по количеству добавлений в избранное: nsin-real.narod.ru/habr/all_favs.html

Худший ответ:
По статьям: habrahabr.ru/top/

А также
по комментариям: habrahabr.ru/top/comments/
по людям: habrahabr.ru/people/
Вопрос: Установка сервера SVN

Лучший ответ:
>>корень репозитория должен быть корнем сайта и после коммита должен быть сразу доступен в браузере

Пожалуй, включу режим зануды и внесу некоторую ясность. Репозиторий — это не просто набор файлов и папок. Репозиторий subversion использует организованную особым образом файловую систему. Обычно файлы хранятся в БД, либо являются файлами определенного формата, так что корень репозитория не может быть корнем сайта.

Что касается использования файлов проекта по прямому назначению, нужно, во-первых, экспортировать рабочую копию(svn checkout). Это уже обычное дерево папок и файлов со скрытой поддиректорией .svn в каждом каталоге дерева. Такая локальная копия имеется у каждого участника проекта, который коммитит в центральный репозиторий. Но и эту копию нельзя использовать на продакшене, так как она содержит эти самые служебные поддиректории .svn. Для того чтобы от них избавиться, экспортируется чистая рабочая копия командой svn export. Вот теперь это ваш проект.

Сейчас как раз разрабатываю веб-проект с помощью svn, могу поделиться как у меня все устроено.
Есть VDS-ка, где крутится сервер svn. Есть две ветки репозитория — trunk и release. На локальном компе рабочая копия, по мере разработки коммичу все в trunk. Все скрипты тестирую на локалхосте. Девелоперская база данных общая, расположена на том же серваке что и svn.

Худший ответ:
Тут не хватает ключевого слова Continuous Integration она же непрерывная сборка. т.е. нужен промежуточный софт, который в автоматическом режиме (или по нажатию одной кнопки) развернет сайт на нужном порту. Т.е. в вашем случае, я бы порекомендовал настроить два таких скрипта: первый по коммиту разворачивает и перезапускает сайт на девелоперском порту, а второй на «боевом» 80. Примерами таких серверов могут быть CruiseControl, Hudson…
т.е. для каждого сайта будет свой каталог и уж на них можно настраивать апач или иис…
Думаю дальше сами раскрутите решение своей задачи по ключевым словам?
Вопрос: Агава лежит?

Лучший ответ:
Накосячили с BGP.
Смотреть мультик

.

Худший ответ:
Проблему подтверждаю, весь дц снаружи не виден. Причин пока не знаю, учитывая что лежит вообще всё, звонить им особого смысла не имеет =)
Вопрос: Законна ли слежка за сотрудниками на работе?

Лучший ответ:
Ваша история браузинга в рабочее время - показывает то, чем вы занимаетесь на работе. Так что не паникуйте понапрасну-вполне логично, что работодатель хочет контролировать процесс. С другой стороны, если вам дискомфортно - просто побеседуйте с работодателем на эту тему и обсудите проблему.
И да, если вам есть что скрывать, просто не переходите по ненужным ссылкам.
P.S. многие люди работают на почасовой оплате на фриланс-биржах Odesk и Elance. Обе биржи обязывают устанавливать софт, который снимает скриншоты каждые 5-10 минут. Что позволяет работодателю понимать, что оплаченное время было потрачено на работу. И ничего, живем.

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

Лучший ответ:
stackoverflow.com/questions/409999/getting-the-loc...
А именно запрос к API сервиса типа ipinfo.io

Худший ответ:
stackoverflow.com/questions/409999/getting-the-loc...
А именно запрос к API сервиса типа ipinfo.io
Вопрос: Что лучше использовать для парсинга HTML страницы? DOM, preg_math или еще чего?

Лучший ответ:
Пользуюсь вот этим simplehtmldom.sourceforge.net

Худший ответ:
тоже как вариант - https://code.google.com/p/phpquery/
Вопрос: Как пустить все исходящие соединения на сервере через Tor?

Лучший ответ:
Используйте iptables - вот годный мануал

Худший ответ:
 Как то направить их все на Socks5 сервер тора.
Вот так:TOR сеть
Вопрос: Подойдет ли java в качестве первого языка?

Лучший ответ:
Даже наоборот. Java изначально задумывался как язык простой для понимания. Приучайте себя сразу к правильному коду.

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

Лучший ответ:
Текст - стоит
Разметку - нет

Худший ответ:
Такой код однозначно не вставляйте. Сейчас в каждой админке есть кнопка "вставить из ворд", ваша разметка красиво перенесется с адекватными html тегами.
Вопрос: Съемка скриншотов с загрузкой на хостинг изображений?

Лучший ответ:
zenden.ws/imageuploader
Есть возможность загрузки на свой FTP сервер + большой список фотохостингов

Худший ответ:
Делал когда-то свой (тема у нас на форуме)
Вопрос: Phpstorm watcher less + git?

Лучший ответ:
Например отказаться от watcher в Phpstorm в сторону Gulp или Grunt. Тем более что PHPStorm из коропки поддерживает Grunt.less: {
            development: {
                options: {
                    compress: true  //minifying the result
                },
                files: {
                    //compiling frontend.less into frontend.css
                    "<%= DestPath %>/css/style.css": "<%= SourcesPath %>/less/style.less",
                    "<%= DestPath %>/css/bootstrap.css": "<%= SourcesPath %>/less/bootstrap.less"
                    //compiling backend.less into backend.css
                   "<%= DestPath %>/css/backend.css":"<%= SourcesPath %>/less/backend.less"
                }
            }
        },

Худший ответ:
Выяснила в чем дело. У нас проблема была в том, что у разработчиков стоят разные версии
компилятора LESS (lessc). При переходе между ветками в VCS чекаутились less файлы с
результатами их компилирования (так у нас устроено). Если какой-либо less файл пушил
другой разработчик, то результат компиляции в коммите отличается от того, что дает
локальный lessc. Поэтому lessc перекомпилирует его и отсюда возникают измененные файлы
в рабочей копии (скомпиленные из .less файлы .css).
Вопрос: Почему PHP не выдает ошибок?

Лучший ответ:
А error_reporting e_all?
Что выдает <?php
phpinfo();
?>Он видит ваш php.ini?

Худший ответ:
PHP ошибка парсинга - белый экран (решено!)
мне удалось найти причину ошибку парсинга, когда PHP 5.6 аварийно прекращает работу, не выдавая никаких сообщений на экран или в лог.
она возникает при смешанном коде HTML + PHP, когда внутри любой конструкции из фигурных скобок вставлен блок HTML кода, причём открывающая и закрывающая фигурная скобка находится внутри РАЗНЫХ блоков кода PHP, начинающихся различными открывающими тегами: 
пример кода, вызывающего аварийное завершение работы PHP:

тут код HTML

никакие манипуляции с директивами, управляющими отображением ошибок, вроде таких, не помогают:
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT);
ini_set('display_errors', 1);
P.S. старые версии PHP работают без проблем
Вопрос: Где можно найти хорошие задачи по JS?

Лучший ответ:
https://learn.javascript.ru
Вообще-то это учебник, но в конце каждой главы есть задачи по теме. Там же есть раздел с тестами - https://learn.javascript.ru/quiz, можно проходить неоднократно, каждый раз будут новое давать.

Худший ответ:
Придумать.
И вообще, лучшие задачи - практика
Вопрос: Стоит ли сейчас покупать HTC HD2?

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

Худший ответ:
Как на нем себя ощущает Windows Phone 7?
И будет ли на него Windows Phone 8?
Вопрос: Asterisk logs, выявить ip адрес брутфорсера?

Лучший ответ:
exten => _810.,1,Set(CDR(userfield)=${CHANNEL(recvip)})
и ловите себе китайцев

Худший ответ:
habrahabr.ru/post/194356
Но для 1.8 не канает. Для 1.8 канает только патчинг исходников и пересборка, увы.
Вопрос: Минифицируете ли файлы JS для фриланса?

Лучший ответ:
а нужно ли?
Нужно, но не с целью "уберечься от воровства", не минифицированные исходники конечному клиенту тоже нужно предоставить так как они его собственность.
А вот с целью клиентской оптимизации - да, нужно. И поэтому во время демо тоже это нужно, что бы можно было прогнать google pagespeed например и радоваться хорошим показателям. У многих клиентов это выступает в качестве нефункционального требования - быстрая загрузка/отрисовка.

Худший ответ:
Свой JS код нужно защищать юридически. Если Заказчик заказал функционал, реализуемый данным кодом, Вы должны предоставить ему СОВМЕСТНО ОГОВОРЕННЫЕ ПРАВА на использование этого кода.
Вопрос: Как сделать Wi-Fi Hot Spot с авторизацией через CMC?

Лучший ответ:
Из готовых похожих по ТЗ:
saiwifi.ru - отдельный сервис
pfSense - допилить работу с СМСками.
easyhotspot - допилить работу с СМСками.

Худший ответ:
подсказать решение не смогу . готовых решений не видел.  так что скорей всего придётся допиливать чей то софт.  могу помочь в написании софта  для отправки смс с паролем на указанный телефон.
Вопрос: Диагностика и ремонт компьютера. Где?

Лучший ответ:
Можно ремонтировать в любом ближайшем к дому, не первый год работающем сервисе.
Но вот какие есть дельные мысли:
1. Сетевой фильтр заземлять надо, в противном случае он работает именно как розетка.
2. С большой долей вероятности можно утверждать, что сгорел только блок питания.

Нужно (как вам советовали выше) подключить исправный блок питания достаточной мощности. Это не сложно сделать самостоятельно, попробуйте. Все разъёмы питания имеют либо ключ, либо защёлку… что-то перепутать… это надо постараться.

Худший ответ:
Так вы чего хотите? Диагноза? Блок питания точно труп. Возьмите любой заведомо рабочий и проверьте остальное.
Вопрос: Блокирует ли upwork аккаунт при работе из другой страны?

Лучший ответ:
Фиолетово работал из 20 стран на апворке. Ни одного прецедента не знаю.

Худший ответ:
100% придется пообщаться с Risk Management Team. Удачки.
Вопрос: Аналог AIMP3 под Ubuntu 14.04?

Лучший ответ:
я использую Clementine

Худший ответ:
QMMP практически такой же если допилить ручками
Вопрос: Как правильно делать Landing Page?

Лучший ответ:
Дизайн делают дизайнеры, вёрстку - верстальщики. Вот дизайнер и должен думать, какие эффекты использовать и что где располагать.

Худший ответ:
"Вы че курили?" извиняюсь)))))
посмотрите на работы l p 4(l)(p). ru  (без пробелов и скобок) у них "длинные", яркие лендинги и с хорошими анимац. эффектами без излишеств.
Все зависит от конкретного заказа, но как правило, один человек не сможет сделать реально крутой лендинг. Нужен и маркетолог и дизайнер и верстальщик и программист и очень важно - копирайтер.
Вопрос: Антенна на WiMAX модем через u.fl, будет работать?

Лучший ответ:
Антенну надо брать под WiMax, набор для WiFi — бесполезен.
Не ради рекламы: shop-wimax.ru/catalog/antenna-yota/wimax

Худший ответ:
Купил дешевую антенку 15 см вроде как для нужных мне частот (WiMax бывает разный) и воткнул в подписаный Ct разъем. Сигнал стал ловиться значительно лучше, а главное стабильнее.
Цифры сказать не могу, антена на даче. Помню что скорость стала 5-8Мбит, что вполне достаточно по сравнению с нестабильными 3Мбит без антены.
Вопрос: Что вы делаете со старыми контрактами, когда повышаете часовой рейт?

Лучший ответ:
Так закройте эти контракты, а новые цены сообщайте при открытии нового. Но вообще, это вам попался неадекватный заказчик.

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

Лучший ответ:
Как автор упомянутого сервера приложений, проясню ситуацию. Все остальные приведенные решения перестартовывают процессы. В лучшем случае они запускаются в режиме нескольких процессов (при помощи cluster или используя child_process) и перестартовывают дочерние процессы (worker), а родительский процесс (master) следит за изменениями и не перестартовывает. Это действительно дает нулевой даунтайм, что важно для продакшена, но не особо важно для разработки. А важно другое - удаляются из памяти все данные, все развернутое там состояние, закрываются соединения с БД, выгружаются библиотеки, да и все, что было проинициализировано при старте приложения, все полностью разрушится и перезагрузится. В Impress же подгружаются отдельные файлы, заменяя на лету в памяти предыдущий код. Это делается без eval, при помощи vm. При многочисленных изменениях он понимает, что меняется много файлов (например заливается новая версия приложения) ждет, когда эта активность прекратится, а потом обновит все одним махом. При частых изменениях одного и того же файла, может сложиться ситуация, когда в памяти будут параллельно находиться 2-3 копии одного кода. Дело в том, что в систему идет поток запросов, и старые запросы еще были запущены в момент, когда была предыдущая версия, и они не успели завершиться. Поэтому, нужно дождаться их завершения, а для новых уже можно использовать новую версию кода. Там есть еще много особенностей, о которых долго рассказывать. В общем, мне не известны другие реализации этого решения. Если они таки найдутся, то пришлите на сравнение. Приведенная же статья несколько устарела, для первичного ознакомления берите эту: habrahabr.ru/post/247543

Худший ответ:
например так
var _eval = require('eval');
var f1 =  function () { return 321 };
console.log(f1());
var f1 = _eval('module.exports = function () { return 123 }');;
console.log(f1());
Вопрос: Как перехватить текствый траффик скайпа на роутере?

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

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

Лучший ответ:
grub4dos и гугл вам помогут.

Худший ответ:
Имеется 2-3 дистрибутива с загрузочными образами различных операционных систем + live usb. 
Загрузочный образ ISO (единый файл) и формируемая из него цельная структура загрузочного носителя (каталоги, файлы, загрузчик, ...) - это далеко не одно и то же.
Намерение затолкать на единый загрузочный носитель несколько ISO - дурная идея. Что вы станете делать, если в образах разных загрузочных носителей имена файлов станут совпадать? (а оно так, скорее всего, и будет ... рано или поздно).
Вопрос: Можно ли назвать это квайном?

Лучший ответ:
Квайнам нельзя читать самих себя, это не считается.

Худший ответ:
Неделя куайнов на Хабре…
Вопрос: Как самому подсчитать расстояние в километрах по координатам долготы и широты?

Лучший ответ:
Формула "гаверсинуса":const double R=6371;  // Earth's radius
double sin1=sin((lat1-lat2)/2);
double sin2=sin((lon1-lon2)/2);
return 2*R*asin(sqrt(sin1*sin1+sin2*sin2*cos(lat1)*cos(lat2)));
где lat1,lat2 - широты, а lon1,lon2 - долготы точек, выраженные в радианах.
Стоит ли ради этого подключать библиотеку?

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

Лучший ответ:
Установить другой экран блокировки, например, WidgetLocker.

Худший ответ:
Приложение телефон видимо стокое. Я точно не знаю. Как вариант решение — установки например CM9 или CM10 (мне нравится звонилка в нем) Или просто звонилку поставить вроде достаточно Phone.apk заменить. Но думаю еще контакты надо менять.
Вопрос: В чем разница 4 пробела vs Tab?

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

Худший ответ:
По своему опыту, разные редакторы по разному показывают табуляцию, некоторые совсем короткие, некоторые на пол экрана, а пробел он и в Африке пробел.
Вопрос: Сервис бэкапа данных

Лучший ответ:
Бэкапьте на винт — дешевле, быстрее, секьюрнее, возможно даже надежнее.

Худший ответ:
На хабре когда-то пиарился «Конфитюр». Но вот цены у них выше ваших — 5$ за 50 Гб и 20$ за 200.
Вопрос: С++ проект под Android. С чего начать?

Лучший ответ:
Эклипс - это IDE. Qt - это фреймворк. Никто вам не запрещает писать в эклипсе с использованием Qt. 
Производительность кода на с++ отличная, по сравнению с джавой. Большинство игр на дроиде не зря на нем пишутся.

Худший ответ:
Написание Qt-приложений без Qt-Creator напоминает езду на велосипеде без педалей. 
Вы смешали два понятия: Разработку с использованием QT и разработку для Андроид. Так как большая часть программ на Андроид пишется на Java, то и среда берется для Java - то есть Eclipse.
Хоть Eclipse и универсален и позволяет привинтить Qt, лучше все же использовать QtCreator. Он поддерживает разработку с использованием Qt для Андроид без проблем.
Вопрос: Как создать сайт с плейлистами (музыкой)?

Лучший ответ:
вот скрипт сделан на базе soundcloud codecanyon.net/item/phpsound-music-sharing-platfor... в инете найдеш его бесплатно

Худший ответ:
Для начала нужно научиться программировать или иметь достаточно денег, чтобы заказать сайт у кого-то, кто уже умеет.
Вопрос: Переход без ajax при включенном html5Mode

Лучший ответ:
Можно просто добваить ссылке target="_self"

Худший ответ:
Задать ссылкам определенный класс, например ajax. И проверять, если есть у ссылки есть этот класс — обрабатывать через ajax, иначе — перезагрузка страницы
Вопрос: Как защитить пользователей мобильной версии сайта/форума от вредоносных банеров/скриптов?

Лучший ответ:
А вы уверены что все?
Проверяйте .htaccess наличие подобных инструкций
RewriteCond    %{HTTP_USER_AGENT}  (android|midp|j2me|symbian|series\ 60|symbos|windows\ mobile|windows\ ce|ppc|smartphone|blackberry|mtk|bada|windows\ phone)  [NC]
RewriteCond    %{HTTP_USER_AGENT}  !(accoona|ia_archiver|antabot|ask\ jeeves|baidu|dcpbot|eltaindexer|feedfetcher|gamespy|gigabot|googlebot|gsa-crawler|grub-client|gulper|slurp|mihalism|msnbot|worldindexer|ooyyo|pagebull|scooter|w3c_validator|jigsaw|webalta|yahoofeedseeker|yahoo!\ slurp|mmcrawler|yandexbot|yandeximages|yandexvideo|yandexmedia|yandexblogs|yandexaddurl|yandexfavicons|yandexdirect|yandexmetrika|yandexcatalog|yandexnews|yandeximageresizer)    [NC]

Проверяйте все javascript которые подгружаются вашим сайтом. Возможна установка вирусятины была произведена через внедрение кода в JS файлы или банально в html коде страницы дописали <script type="text/javascript" src="http://example.com/xxxx.js"></script>

Возможна еще установка кода в php файлы, но тут уже исходники анализировать нужно.

В общем алгоритм проверки заражен ли ваш сайт такой:
 — смотрим .htaccess
 — смотрим какие файлы выкачиваются из сети при обращении к сайту
Если все чисто, то с вероятностью 90% ваш сайт чист. Остальные 10% приходятся на тех, у кого подгрузка вируса прописана в php файлах.

Худший ответ:
Так просто не ставьте рекламу от данного рекламодателя на мобильную версию сайта. Зарегистрируйтесь например на wapstart'е и на мобильной версии используйте только их рекламу.
Вопрос: Домашний Медиа-сервер?

Лучший ответ:
Для добавления торрентов в uT по сути есть три возможности:
1. RSS-downloader, который будет качать все, что соответствует заданным критериям. Решение полностью автономное, но и накачаться может много всего лишнего.
2. Папка из которой uT автоматически подхватывает торренты, и тут да, можно использовать его в связке с Dropbox
3. Собственно сам WebUI

Естстественно приоритетами и многим другим можно через WebUI тоже рулить.

Худший ответ:
из открытых решений медиа-сервер: RED5
для домашних целей самое но — 5 одновременных подключений.
Вопрос: Как реализовать удаленный вход в GUI на Xubuntu?

Лучший ответ:
Ключевые слова: vnc, nx. По локальной сети, если на локальной машине запущен xserver, можно запускать графические приложения прямо из ssh -X

Худший ответ:
Помимо перечисленного - xrdp
Вопрос: PayPal — как принимать платежи в Украине?

Лучший ответ:
Никак на Украине запрещено принимать пейпал

Худший ответ:
Сделай себе акк на gumroad, сделай фиктивный товар который можно купить через paypal или с карты, комиссия там 5%, и можно вывести на карту привата или на payoneer
Вопрос: Как вы мотивируете себя, работая из дома или на свободном графике?

Лучший ответ:
Живу в однокомнатной квартире с женой, денег кое как хватает. Хочу жить по другому -> мотивация очень сильная.

Худший ответ:
Делать _только_ то, что очень нравится. Желательно вести два дела одновременно (для меня это дизайн + менеджмент проектов) + не зацикливаться, а постоянно развиваться в смежных направлениях.

Это очень мотивирует к работе (иногда даже слишком).
Вопрос: Соединение со старой базой mysql из нового php

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

Худший ответ:
Недавно столкнулся с такой же проблемой, без обновления хеша решить не получилось. А почему у вас не выходит обновить хеш пароля?
Вопрос: Как заполнить документ .doc или .pdf данными на PHP?

Лучший ответ:
Пойдет? https://github.com/PHPOffice/PHPWord

Худший ответ:
Для PDF используем это.
Для ворда подсказали выше: PHPWord (там же и эксель)
Вопрос: Как можно проверить на бэкенде, что данные идут от мобильного приложения?

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

Худший ответ:
HTTPS с проверкой фингерпринта сертификата сервера и с двухсторонней авторизацией хорошо усложнит жизнь аналитику. Классика, как обфускация программного кода, разные приемы антиотладки. Если работаете с GPS, то хотя бы проверяйте откуда приходят данные. Хороший способ - перенести логику работы на сервер, однако пользователи будут крайне недовольны таким подходом.