Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: AngularJS, как при пагинации возвращаться наверх странницы?

Лучший ответ:
В самом главном контроллере слушайте изменения УРЛ страницы и крутите наверх:$rootScope.$on('$routeChangeSuccess', function(e, current, previous) {
    window.scrollTo(0, 0);
});
UPD:
Если вы хотите сделать пагинацию на сайте вида mysite.ru/1, то в роутах у вас должно быть примерно следующее:$routeProvider
     .when('/:pageNumber?', {
          templateUrl: 'partials/home.html',
          controller: 'HomeCtrl'
     })
В контроллере присоединяйте $routeParams, чтобы считывать переменные из роута, а так же присоединяйте paginationService, у него есть метод setCurrentPage, который задает текущую страницу:watchesStore.controller('WatchesStoreController', function($routeParams, paginationService) {
    var pageNumber = $routeParams.pageNumber || 1;
        pageNumber = parseInt(page, 10);

    var paginationId = 'watchesStore'; // setCurrentPage требует instanceId — айдишку экземпляра пагинатора, чтобы знать, какой блок, собственно, пагинировать

    paginationService.setCurrentPage(paginationId, pageNumber);
});
А в HTML-коде у вас нужно еще айдишку экземпляра пагинации (мы его назвали watchesStore) вставить в директиву:<dir-pagination-controls boundary-links="true" on-page-change="pageChangeHandler(newPageNumber)" template-url="dirPagination.tpl.html" pagination-id="watchesStore"></dir-pagination-controls>
UPD2:
А, только что заметил, что у вас уже есть роут для айдишки часов:$routeProvider
    .when('/:watchId', {
        templateUrl: 'partials/watch-detail.html',
        controller: 'WatchDetailCtrl'
    })
Значит, для пагинации используйте не mysite.ru/1, а обычные GET-параметры mysite.ru/?page=1. В результате в контроллере страничку будете получать так:watchesStore.controller('WatchesStoreController', function($location, paginationService) {
    var params = $location.search();

    var pageNumber = params.page || 1;
        pageNumber = parseInt(page, 10);

    ...
});

Худший ответ:
Использую такую схемуwatchesStore.config(['$routeProvider', '$locationProvider',
	function($routeProvider, $locationProvider) {
		$locationProvider.html5Mode({
			enabled: true,
			requireBase: false
		})
		$routeProvider.
			when('/', {
				templateUrl: 'partials/home.html',
				controller: 'HomeCtrl'
			}).
			when('/service', {
				templateUrl: 'partials/service.html',
				controller: 'ServiceCtrl'
			}).
			when('/contacts', {
				templateUrl: 'partials/contacts.html',
				controller: 'ContactsCtrl'
			}).
			when('/:watchId', {
				templateUrl: 'partials/watch-detail.html',
				controller: 'WatchDetailCtrl'
			}).
			otherwise({
				redirectTo: '/'
			});
	}
]);
Вопрос: Какие языки нужно знать в сфере информационной безопасности?

Лучший ответ:
Русский, английский.

Худший ответ:
ASM, Python, php. Опять же для чего тебе эта специальность? Если хочешь работать в сфере ИБ по закону о защите информации-то в одного тебе дорога закрыта. Там воротилы типа Positive technologies, Евромост-защита и т.п. у которых клиенты-гиганты и большие суммы сделок. Попробуй к ним устроиться. Если ты хочешь небольшой бизнес, предоставляя небольшим компаниям услуги типа защиты-контроля сети предприятия от выноса информации/конкурентной разведки-то могу посоветовать дистрибутив DEFT Linux для расследования инцидентов+книга "Форензика"+ книги "Искусство обмана" и "Искусство вторжения" за автором Уильяма Саймона и Кевина Митника. По whitehat'у курс "Certified Ethical Hacker" на русском. По greyhat'у и blackhat'у - Kali linux. Также полезен ресурс pentestit.ru.  Пойми-успешный специалист по ИБ должен отлично понимать тактику хакеров: как они думают, с какой целью они делают. Решишь осилить эту задачу-веди обязательно подробные записи или блог. Так как в этой теме на русском достаточно мало информации-сможешь еще на статьях или видеоуроках по этому делу зарабатывать. Успехов
Вопрос: Можно ли адаптивно сверстать данный макет?

Лучший ответ:
Адаптивный макет и резиновый - это разные вещи.
А ваш макет рожден быть фиксированным. Хотите адаптивный, то думайте об этом перед созданием дизайна.

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

Лучший ответ:
В качестве языка программирования для Android используется Java. Для создания пользовательского интерфейса используется XML.

Худший ответ:
Delphi вроде выпускает что-то для андроида)
Вопрос: Dns запись типа PTR?

Лучший ответ:
PTR прописывает на СВОИХ DNS-серверах владелец IP-адреса.

Худший ответ:
Владелец PI IP должен в RIPE указать какие DNS отвечают за Reverse Delegation блока IP. А далее вы уже в своем ДНС управляете.
Вопрос: Какими сервисами принимать платежи в мобильном приложении?

Лучший ответ:
Напр., Яндекс.Деньги: https://tech.yandex.ru/money/doc/dg/concepts/About...

Худший ответ:
Яндекс лидирует
Вопрос: На сколько Python подходит для обработки больших данных?

Лучший ответ:
Питон подходит.
beduin01 - нет.Мне нравится изучать новые языки и технологии. Нем... Что почитать по криптографии гуманитарию?

Худший ответ:
Python тут будет не в качестве рабочей лошадки, а в качестве удобной обертки вокруг C++ или Java-кода.
Именно так это и сделано в Arcgis.
Если принципиально сделать быстрый аналитический сервис, используйте Spark для процессинга данных, и Hive для хранения данных.
Вопрос: Взломали сервер. Устроили email фишинг-атаку разместив у нас свои скрипты и «лендинг». Каков алгоритм действий?

Лучший ответ:
заплатить админу $$.

Худший ответ:
Отформатировать и восстановить из резервных копий. 
Если хотите, можете предварительно снимок сделать.
Вопрос: Что делает следующая регулярка ?

Лучший ответ:
1) .replace(/[^\w ]/g, '') - удаляет всё проме букв и цифр, включая '_';
2) .split(/\s+/) - создаёт массив, из текущей строки, разделяя её по пробелам.
3) .length - определяет количество елементов массива
4) var text =  - присваивает количество елементов массива переменной.

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

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

Худший ответ:
На одном микротике использую три сервера - openvpn, pptp, L2tp все работает.
Вопрос: Как подключить Animate.css через jquery?

Лучший ответ:
Сменить класс блока при выполнении скрипта.

Худший ответ:
Попробуйтеfunction onLinkClick() {
  $('head').append('<link rel="stylesheet" href="animate.css" type="text/css" />');
  $('head').append('<link rel="stylesheet" href="animate2.css" type="text/css" />');
  // ваш код
}
Вопрос: Как правильно разбить данную страницу?

Лучший ответ:
>> Каким образом это реализовать в посте?
есть несколько варианта:
- если это лендинг, тогда делаешь обычную страницу и кастомный template для неё
- если это каталог вакансий, тогда пост+куча доп полей и из них выводишь
- пишешь самостоятельно "каталог вакансий" отдельным разделом в WP со своими таблицами и роутами, где будет удобное управление необходимыми разделами
>> Делать кучу ACF и из них выводить? 
да, можно так, но будет сложно управлять редактору вакансий
>> А если я хочу сгруппировать по блокам?
Как вариант, указывать в посте block-id, например  а в темплейте, искать этот текст и заменять на твой блок, типа того:<?php
$postText = get_the_content();
if (strpos($postText, '<!--block_id_1>')) {
    ob_start();
    include "block-id-1.php";
    $block = ob_get_clean();
    $postText = str_replace('<!--block_id_1>', $block, $postText);
}
echo $postText;
?>

Худший ответ:
ACF в руки и делаем.
Делим на 4 блока - в ACF делаем 4 вкладки.
В каждой вкладке делаем те допполя которые к ней относятся.
Если какой то блок повторяется на всех страницах, но выносим его в шаблон, например. Или на options page в ACF Pro.
В общем то куча вариантов, в ACF можно сделать практически что угодно.
Вопрос: Логи apache и реальный IP

Лучший ответ:
Честно говоря не совсем понятно как контент страницы изменили через Apach?
Возможна ситуация, при которой был заброшен shell, на Ваш сайт, и изменения в коде страниц сайта произовдились через него, тогда скрипт Shell находится непосредственно на сервере хостера и IP соответственно самого сервера.

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

Лучший ответ:
Вообще лучше учить языки которые можно применить в связке. Банальный пример - PHP+SQL+HTML+JavaScrip.
В вашем случае к C++ тоже можно подобрать связку в зависимости от того какие проекты планируете писать. Например Java в качестве SOAP сервера. Или какой-нибудь скриптовый язык для плагинов которые потом будут использоваться в ваших программах если они модульные, например TCL.

Худший ответ:
Ну хуже я этим хоть не сделаю?)
Вопрос: Самоуничтожение файла по истечению времени

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

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

Лучший ответ:
условия - ромбики, действия - квадратики. Цикл for - это квадратик в начале, потом ромбик, потом снова квадратик. По идее если у вас подряд идет несколько действий - можно объеденить их в одном квадратике. Соединяете стрелочками - готово.

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

сложно ли?
Вопрос: Как вывести нужную информацию?

Лучший ответ:
Ваш код обрывается на первой же итерации, если правильно понял логику, то надо так:function lookUp(firstName, prop){
  for(var i = 0; i < contacts.length; i++) {
    if(contacts[i].firstName === firstName) {
      if(!contacts[i].hasOwnProperty(prop)) {
         return "No such property";
      }
      return contacts[i][prop];
    }
  }
  return "No such contact";
}

Худший ответ:
Ну, дело в том, что у Вас дело до ходит только до первого элемента массива contacts, и в любом случае на первом же элементе происходит return  чего-либо (в данном случае "No such contact").
Можно переписать функцию lookUp, например, таким образом:function lookUp(firstName, prop) {
  var contactExists = false;
  for(var i = 0; i < contacts.length; i++)
  {
    contactExists |= (contacts[i].firstName === firstName);
    if(contactExists && contacts[i].hasOwnProperty(prop))
      return contacts[i][prop];
  }
  return contactExists ? "No such property" : "No such contact";
}

// Change these values to test your function
console.log(lookUp("Harry", "likes"));
Данный код (используя данные из вопроса), выводит [ 'Hogwarts', 'Magic', 'Hagrid' ]
Вопрос: Как изменить class по нажатию на checkbox?

Лучший ответ:
Можно сделать на чистом css, точнее на sass с подключенной sass-версией бутстрапа
через checkbox можно влиять на соседние элементы
codepen.io/bingo347/pen/EKXdPB

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

Лучший ответ:
https://jsfiddle.net/pvfxnnyt/1/ - суть подхода
https://jsfiddle.net/v2s0z12v/ - моя реализация
Надеюсь, суть понятна.
Для шапки задаем градиентную заливку на 50%.
Меню картинкой будет и оно перекроет "стык".
Ну, или фон картинкой, как в макете.
Хотя я сделал бы просто цвет, там удобно.
Через absolute еще можно, но я не люблю его.

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

Лучший ответ:
В VirtualBox есть такое понятие как immutable-диски: вся запись ведётся во временный дифференциальный образ, а базовый образ остаётся замороженным в первоначальном состоянии, и когда машина выключается, все записи сбрасываются.
Работа с несколькими виртуалками тоже возможна, но только каждая из них будет видеть свою копию диска. Базовый образ будет для них общей основной, а все различия записываются в отдельные дочерние образы — свои для каждой машины, непересекающиеся. Одновременный доступ к идентичным данным из разных виртуалок тоже возможен, но это требует особых кластерных файловых систем. Обычная NTFS при таких режимах просто сдохнет, она на это не рассчитана. Более подробно — глава 5.4 мануала VirtualBox.

PS: Можно ли объединить multiattach с immutable — не знаю, не пробовал.

Худший ответ:
Для таких вещей надо использовать сетевую загрузку.
Вопрос: Как запретить автообновление конкретного плагина Firefox?

Лучший ответ:
Нужно проделать следующее:
 — Набрать в адресной строке about:config
 — Правый клик -> Создать -> Логическое (New -> Boolean)
 — Присвоить новой переменной имя: extensions.{GUID}.update.enabled
 — И значение: false 

Осталось выяснить откуда взять GUID.
Ленивый вариант: Extension Manager Extended, показывает GUID в свойствах плагина.
Ручной вариант: в config'е задать фильтр «extensions.{» и обнаружить плагин по описанию.

Источник

З.Ы. А можно поинтересоваться, почему такая аллергия на обновления? Шустрее ведь работают следующие версии.

Худший ответ:
Есть еще один вариант.
Можно сам плагин подправить.
Изменить его название. Скачиваем xpi файл плагина, это zip архив обычный. Находим в нем install.rdf.
И меняем в нем  это уникальный ид плагина.  тоже меняем.
После сохраянем, удаляем старый аддон и ставим наш.
Подробнее расписал у себя.
Вопрос: Возможен ли выход из строя планшета/зарядки, будучи постоянно подключённым к сети?

Лучший ответ:
Любой аккумулятор имеет ограниченное кол-во циклов зарядки-разрядки, число которых зависит ещё и от степени разрядки. В среднем их срок службы обычно рассчитан на 4-5 лет, но эта цифра берется по некоему "среднестатистическому" циклу работы, т.е. если ваш планшет будет работать 24/7, то аккумулятор сдохнет гораздо быстрее (полагаю и года не протянет).
P.S. Вообще, по самой задумке, я бы порекомендовал не вмуровывать ничего наглухо, а поступить цивилизовано, и установить в стене электрическую коробку =)

Худший ответ:
вмонтировать - это как?) а если он зависнет через неделю и только reset жать надо? :)
Как верно сказали, лучше сделать какую то выемку, в стену вмонтировать только провода. планшет закрепить на стене, что бы можно было снять/поменять.
Сам аккумулятор помрет через пару лет. Где то на форумах 4pda читал отзывы людей (сейчас не найду).
И у меня самого онлайн радио с телефона -  гонял на колонки AUX - хороший аккумулятор на перманентной зарядке через год перестал держать заряд более 3 минут.
Вопрос: Как написать мат.интерпритатор на С?

Лучший ответ:
Если подходить основательно, то Вам надо начать с этой книги: www.ozon.ru/context/detail/id/3829076
Если менее основательно, то вот ключевые слова для поиска: 
обратная польская нотация
flex
bison
токенайзер
парсер

Худший ответ:
Почитайте про транслирующие грамматики для арифметических выражений. 
Например, здесь: Языки программирования и методы трансляции. Глава ...
Вопрос: Своя админка на Django(non-self), как написать?

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

Худший ответ:
Посмотрите django-oscar - у него неплохой собственный dasboard, можно подсмотреть как сделано. По сути отдельный app с вьюшками.
Вот прямая ссылка на приложение dasboard - https://github.com/django-oscar/django-oscar/tree/...
Вопрос: Проблема загрузки ОС

Лучший ответ:
У вас MBR стоит на рэйдовых дисках скорее всего. нужно вытащить все рейдовые диски, загрузиться с установочного диска или флешки и восстановить MBR через консоль

Худший ответ:
Если честно, не знаю, что такое MBR, посмотрю в инете, спасибо.
А SSD уже выбирал через F11 (у меня так..), смысла нет, тоже самое.
А как не повторить ошибку MBR в дальнейшем, ставить винду без рейда?
Вопрос: C++ Как удалить файл без возможности восстановления?

Лучший ответ:
Если для Вас забивание случайными байтами всего файла даёт недостаточную гарантию, то храните такие файлы на флешке, а для удаления используйте не C++, а молоток и печь. SSD в любой момент перетирания могут переназначить области памяти так, что ни 1, ни 101 раз не перетрёт информацию.

Худший ответ:
agmt, если файл у нас зашифрован, то мы можем читать и писать данные… но например открыть файл .doc мы не сможем т.е. нам нужно сначала его расшифровать, сохранить и только потом открыть. 
У e-nigma сертификаты на криптографию, то что она соответствует ГОСТу и в ней нет закладок.
Вопрос: Расшифровка штрих кода на водительском удостоверении

Лучший ответ:
да base64 расшифровалось 

номер удостоверения|дата выдачи|дата окончания|ΏЛ؊μ
ҎͼÅ͍܅׼годмесяцдень рождения|категория|ID гибдд|номерудостоверения+двухзначное число

не расшифровалось только ΏЛ؊μҎͼÅ͍܅

Худший ответ:
UTF8 в PDF417
Вопрос: Стоит ли регистрировать домен в зоне.me?

Лучший ответ:
Нету. Всё зависит от того, как вы оптимизируете и наполните свой сайт. А в какой зоне сайт - не имеет значение.

Худший ответ:
Яндекс 100% лучше будет рушки ранжировать, гугл, в принципе тоже, но не так сильно как яндекс. Если проект для России, то лучше .ru.
Вопрос: Сколько нужно кармы, чтобы голосовать за комментарии?

Лучший ответ:
Ссылочка
Правда, не совсем коррелирует с голосованием при карме == 1.
Видимо, надо ориентироваться на информацию в левом верхнем углу — там написано, сколько осталось голосов. Информация основывается на активности за последние сутки.

Худший ответ:
Раз вопрос решен, то осталось нажать кнопочку «решение» и все будет окей =)
Вопрос: Какой выбрать планшет для бизнеса?

Лучший ответ:
Судя по вашим запросам, больше всего подойдет планшет от Microsoft, ибо только у них есть полный пакет Windows Office. К сожалению,  LTE в сюрфейсах нету, но зарядку они держат как раз очень долго, и отдельная клавиатура тоже очень удобная вещь. Подойдет например Microsoft Surface с Touch Cover. Проблема с интернетом решается покупкой отдельного 3G/4G мобильного wi-fi роутера.

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

Лучший ответ:
Django уже установлен

Худший ответ:
Вообще, используйте virtualenv/virtualenvwrapper, это сильно упростит Вашу жизнь.
Вопрос: Как правильно писать unit тесты?

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

Худший ответ:
В интернете пишут, что тестируемый метод нужно всегда изолировать от любых зависимостей, иначе тестируемый метод в процессе своего выполнения подтянет внешние методы этого же или другого класса, что противоречит юнит-тестированию, так как в таком случае будет тестироваться не одна сущность, а взаимодействие между несколькими сущностями. 
Верно ли это утверждение?
Я считаю в целом верно. Что бы эту  решить проблему придумали дубли (вот гугл на русском показал).
Т.е если писать чистый юнит-тест для LoginForm, то оптимальным решением на мой взгляд заменить на "моки":
 -  YII:$app->:$app->user, который вернет для  Yii::$app->user->login()false
 - app\models\User , который вернет для User::findByUsername()null
К сожалению, с YII не работаю и поэтому более детальною реализацию подобного сейчас написать не могу.Можно ли это назвать юнит-тестированием или это всё же интеграционное тестирование?
 И если да, то нормально ли сваливать всё в одну директорию и юнит тесты и интеграционные? Где грань.
Грань определяет разработчик, его команда и методологии какими они пользуются.
Например если писать сначала тесты, а потом реализовывать функционал, то они выглядят чище и похожи на юнит-тесты.
Если же писать сначала код, а потом его покрывать тестами они уже больше похожи на интеграционные, как вы говорите. Собственно так и есть в вашем примере. 
Я лично для себя пришел к выводу что подобная теоретическая мишура мне мешает и я  не выделяю тесты на такие категории. Для себя я выделяю тесты которые тестируют бизнес-логику приложения и тесты (спецификации) для кода.
Вопрос: Восприятие материала — есть ли правильный и не правильный путь?

Лучший ответ:
Это нормально. Просто читать книгу по программированию - бесполезно на 99%. Книжки нужны в двух ситуациях:
1. Обучение. Вы открываете книгу, читаете первую главу, открываете редактор и прорабатываете в коде всё то что прочитали, пытаясь всё понять. На следующий день вы снова открываете книгу, читаете следующую главу и пытаетесь опять писать код на тему и т.д. Очень хорошо если книжка содержит какие-то более менее реальные примеры и задачи которые даются для самостоятельного изучения в конце каждой главы. Т.е. совершенно не нужно пытаться сразу читать всё подряд.
2. Реальная работа. Вы пишете какую-то программу и тут бац, надо например написать регулярное выражение. Вот и повод заглянуть в книжку и тщательно изучить там регулярки. И так каждый раз, натыкаетесь на сложный момент - открываете книжку.
Так что не парьтесь, учитесь так как вам удобно. Главное больше практики, как можно больше. Любые знания должны быть тут же закреплены. Любая новая концепция и вы должны написать с её помощью пару тройку реальных сложных задач, чтобы усвоить. Смотреть видяшечки и читать книжечки просто так - бесполезно.

Худший ответ:
Самое главное в обучении - заинтересованность, при чтении книг вы лишь усваиваете материал, 1+2=3, ничего интересного, нужно всё закреплять на практике, прочли абзац,главу, и всё что вы прочитали перевести в программу, тем самым вы не только закрепляете навыки, но и подталкиваете себя к дальнейшему обучению. Удачи!
Вопрос: Ошибку в скрипте [JavaScript]?

Лучший ответ:
Если я правильно понял, то вместо 
success: function(result2){
  if(result == 'Failed '){
Во второй функции должно быть success: function(result2){
  if(result2 == 'Failed '){

Худший ответ:
Спасибо!
Вопрос: В чем проблема при установке SSL сертификата?

Лучший ответ:
Родной контент тоже должен отдаваться по https, а в коде видно например: mg class="lcomm-user-foto" src="http://prosmart.by/uploads/fotos/foto_1.gif" alt="li4nost-С„РѕС‚Рѕ">
Плюс соединение с гуглом тоже по http
Все ссылки переводите на относительные, т.к. сейчас принудительно прописан http

Худший ответ:
Убедитесь что у вас ВСЕ работает через https. Включая теже счетчики. Каждый css и js. На первый взгляд у вас некий контент запрашивается через http
Вопрос: Можно ли «нормально» заработать на разработке парсеров?

Лучший ответ:
Я сам себе парсеры пишу например. Думаю не взлетит потому что:
1. Иногда они не сложные, проще самому сдеать чем заказывать.
2. При тестировании парсера постоянно натыкаешься на новые исключения, дёргать ради них разработчика неудобно, долго, дорого.
3. Десктопный парсер вообще не вариант, мне надо например что б он 24 часа в сутки работал или в mysql всё складывал - на сервере это проще решить.
4. Парсер - часть бизнес-системы, значит должен быть написан на том же языке что и система, если у меня система на php на кой мне парсер на Java?
Да были случаи когда мне надо было спарсить 1 раз конечный объём информации и всё. Тогда заказывал.

Худший ответ:
Насколько мне известно, для сервисов типа auto.ru, drom.ru и прочая продают десктопные парсеры и их даже кто-то покупает (но там аудитория довольно специфическая).
Вопрос: Существует ли фреймворк для обработки логов?

Лучший ответ:
Можно использовать и мощные системы типа www.elasticsearch.org/overview/kibana

Худший ответ:
Как парсерку логов можете использовать logstash, очень удобная штука. Обычно используется в связке с ElasticSearch и Kibana
В принципе под ваш кейс еще посмотрите в сторону StatsD + Graphite И в сторону influxdb
Вопрос: Какой браузер выбрать под Win?

Лучший ответ:
Как странно не звучит моя рекомендация но лучше IE и ни чего другого не использовать. Для блокировки рекламы добавить ADblock Plus.

Худший ответ:
Личное предпочтение -  Яндекс)