pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Какие технологии использовать для частого обновления большого количества строк в БД?

Лучший ответ: вариант 1. изменить структур хранения. Рейтинг хранить в другой таблице. Разнести комментарии не несколько шардов. 
вариант 2. апдейтить рейтинг конкретного пользователя когда он оставит комментарий, а не всех пользователей подряд.
вариант 3.  - вариант 1 + 2 и задания на обновления рейтинга ставить в очередь в том же редисе с замещением старых заданий. Так рейтинг будет обновляться, но не чаще чем раз в 5 мин (например). Если юзер за 5 мин оставить 10 комментариев - рейтинг обновиться только 1 раз. Система будет устойчивее. будут задержки в обновлении рейтинга, но главное все остальное будет работать.

Худший ответ: У Вас выбрана плохая схема обновления рейтингов. При такой схеме, чем больше комментариев, тем с каждым разом будет труднее их обновлять, ведь придется каждый раз пробегать все записи.
Зачем пересчитывать рейтинг каждый раз для ВСЕХ записей? Попробуйте сделать рейтинг счетчиками, а уж счетчики пересчитывать в проценты или что там у Вас на лету.
К примеру, изначально:
запись 1 - счетчик 1
запись 2 - счетчик 1
запись 3 - счетчик 1
Далее, на запись 2 было сделано последовательно 10 комментариев (при каждом комментарии обновляем счетчик записи), стало
запись 1 - счетчик 1
запись 2 - счетчик 11
запись 3 - счетчик 1
комментарий 1, для записи 2, счетчик, 1
...
комментарий 10, для записи 2, счетчик, 1
Теперь для составления рейтинга нам достаточно найти только максимум по счетчику, приняв его за 100 процентов, в текущем случае будет 11. И ничего не нужно обновлять по крону, никакого перебора записей нам не нужно.
Например на 5 записей:
запись 1 - счетчик 33
запись 2 - счетчик 78
запись 3 - счетчик 3
запись 4 - счетчик 22
запись 5 - счетчик 15
Максимум у нас MAX = 78, рейтинг считаем по формуле счетчик зиписи * ( 100 / MAX )
Итого при выборе максимума и любой из записей будет
запись 1 - счетчик 33 - рейтинг 42
запись 2 - счетчик 78 - рейтинг 100
запись 3 - счетчик 3   - рейтинг 4
запись 4 - счетчик 22 - рейтинг 28
запись 5 - счетчик 15 - рейтинг 19
Э... Данная схема будет давать не только абсолютный рейтинг, но и относительный по выбору максимума из выборки записей (извиняюсь за тавтологию). Другими словами, если записи сгруппированы как-то по тегам, то поиск максимума по счетчику с выборкой по тегу будет ранжировать записи относительно этой выборки.
PS. Уф, вот запилил-то... Задавайте вопросы.
Вопрос: Пакетная замена файлов

Лучший ответ: Будет как-то так (я не мастер в PowerShell, поэтому может есть более красивый способ):
ls | foreach { if($_.Length -eq 0) { copy "D:\myFile.txt" $_.Name } }
Где D:\myFile.txt — файл, которым требуется заменить пустые.
Можно ещё применить шаблон:

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

Лучший ответ: www.idangero.us/framework7 - вот можно посмотреть, например. Если это имелось ввиду в вопросе

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

Лучший ответ: Листы а4, набор цветных ручек, линейка, карандаш.

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

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

Худший ответ: А в чем трудность? Не получается написать запросы к БД и их вывод на страницу? Работы на 20 минут...
Вопрос: Вечный вопрос: какой фреймворк вы посоветуете для конкретных задач?

Лучший ответ: Symfony2.

* Одна из лучших архитектур
* Модульнее некуда (компоненты Symfony2 используются/будут использоваться в Joomla, Drupal8, phpbb4, Laravel4, етц)
* Шаблонизатор по умолчанию Twig, к нему лично у меня нет никаких претензий. Мультиязычность из коробки. Но если что Blitz встроить не будет непосильной задачей.
* Встроенная обратная прокся, поддержка ESI из коробки
* Полная интеграция с Doctrine, которая в свою очередь поддерживает и MySQL и MongoDB и еще до кучи других бд
* Spool из коробки
* Определение браузеров из коробки вроде нет, но какой-нибудь bundle для этого наверняка найдется
* Поддержка пользователей через FOSUBundle (все перечисленное там есть)
* Официально русской поддержки нет, но русских много в этом коммюнити, так что если с английским совсем плохо, то помощь на родном языке найдется

Худший ответ: Выбор, то собственно, зенд, Yii и симфони2… если вы настроены на php реализовывать. Работа с базами везде через DBAL, на сколько я в теме, поэтому там хоть для оракл можно подключать. Стандартные модули по админкам, думаю, есть у всех уже. Шаблонизаторы тоже переподключаются любые какие хотите. Тут вопрос скорее в том — во что вам будет проще и быстрее «въехать», чтобы не затягивать разработку ковыряниями в доках.
Вопрос: Что дальше делать с нативными файлами HTML и CSS?

Лучший ответ: Вам нужна система сборки. Начните с этого туториала по Grunt.
Вам нужен CSS-препроцессор. Посмотрите на LESS

Худший ответ: > Что бы в итоге получился укомплектованный набор готовой страницы. 
Это обеспечивают серверные фреймворки, например, Yii2 (фреймворк для PHP, один из лучших). Ну и CMS тем более это умеют.
MVC-фреймворк каждую страницу (View) автоматически оборачивает в шаблон (в Yii2 это Layout), т.е. в заголовку полной страницы, куда входят стили, скрипты (такие, как jQuery), хедер, футер и прочее общее для всех страниц. Ну а не общее - просто прописывается в каждом View.
Вопрос: Какой планшет приобрести до 5 тысяч рублей,чтобы на него можно было установить linux и т.д. ?

Лучший ответ: www.dns-shop.ru/catalog/i1004341/8-planshet-presti...  - Сносишь винду, ставишь линух - профит.Загрузчик не залочен, архитектура x86(полноценный).

Худший ответ: nexus 7 8-16 gb 1 gen. Еще можно найти новый или бу
Вопрос: Убунту перезагружается сама, почему?

Лучший ответ: Логи в /var/log/dmesg, /var/log/kern.log, /var/log/dmesg, /var/log/syslog посмотрите.

Худший ответ: Греется сильно? У меня Lenovo ноутбук сильно грелся, пока не поставил проприетарные видео драйвера, бывало что и перегревался. Но по-любому смотрите логи, там должно что-то быть о неполадке.
Вопрос: Как сделать левые отзывы на Upwork и не попаться?

Лучший ответ: работать пробовали?

Худший ответ: Повышать скилл..не?))
Вопрос: Что не так с fstab и где мои логи? Тайны /etc/messages?

Лучший ответ: /dev/pve/data     /pvedata     ext4  default 0 0

может должно быть так:
/dev/pve/data /pvedata ext4 defaults 0 0
?

Худший ответ: /etc/messages включает в себя /var/log/dmesg?
Вопрос: Гуглофон Desire считает, что я из Тольятти. Как его переубедить?

Лучший ответ: Андроид не обманешь. Придется ехать в Тольятти

Худший ответ: А как он поменял время, если тольятти сейчас в одном часовом поясе с москвой?
Вопрос: Роутер на linux с двумя интерфейсами из одной подсети — какой интерфейс выберет система?

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

Худший ответ: Скорее всего при обычной конфигурации eth1 вообще не подымется или будет работать криво - нельзя при обычной конфигурации ставить на двух интерфейсах адреса из одной сети.
А повлиять на маршрут можно указав исходящий интерфейс в ip route add 0.0.0.0/0 dev ethX
Вопрос: Что почитать, чтобы подтянуть знания по mysql?

Лучший ответ: Если мануалы и официальную документацию читать скучно, попробуйте почитать пикабу или я плакал.

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

Лучший ответ: кабель HDMI, подключаешь справа в разьём на макбуке и всё. . .

Худший ответ: Купите Apple TV)
Вопрос: Как еще возможно восстановить доступ к 3 почтовым ящикам gmail? Перепробовал многое, не получается!

Лучший ответ: Восстановление нестандартным способом — это статья 272.

Худший ответ: видать настолько важные ящики были, что даже пароль от них не хранили!, может проще новые завести? и сообщить тем, кто писал на них, что адрес изменился?
Вопрос: Ошибка в WooCommerce с русским языком, как исправить?

Лучший ответ: Cyr 2 Lat enhanced пробовали использовать? Кириллические символы в урл - нехорошо.

Худший ответ: тоже была такая проблема - я зашел в Настройки - Постоянные ссылки - База постоянных ссылок на товар - Произвольная база - /tovar. После этого заработало, как надо - в урле стало латиницей писать вместо "товар" - "tovar" .
Вопрос: Клавиатурный тренажер под Linux и большие тексты?

Лучший ответ: Альтернатива Клавогонкам: klava.org. Свой текст тоже можно добавлять.

Худший ответ: Так Вам книги читать или моторику пальцев развивать?
Если второе — vse10.ru
Вопрос: Как подключить IPv6 на своем веб-сервисе?

Лучший ответ: 1) Получить от провайдера ipv6-адрес (вам крупно повезет, если он уже внедрил ipv6 в своей инфраструктуре)
2) Настроить этот адрес на своем веб-сервере

Худший ответ: ping 192.88.99.1
Если адрес пингуется и делает это за разумное время, значит можно использовать 6to4.
Вопрос: Ответьте на самый глупый вопрос пожалуйста. Как убрать подчеркивание у реф текста?

Лучший ответ: a {text-decoration: none;}
А вообще, прочитайте хорошую книгу по CSS.

Худший ответ: В стилях для ссылок прописать: a {text-decoration: none;}
Вопрос: Какой выбрать язык для изучения начинающему?

Лучший ответ: Python. Идеален для обучения программированию, ИМХО

Худший ответ: К сожалению, в твоем случаедля обучения начинающемуне при чем. Тебе нужет тот ЯП, которий поддерживает платформа. 
А в случае с купюроприемниками -- винда. Значит шарп, твой единственний шанс избежать попоболи
Вопрос: Веб-сервер своими руками

Лучший ответ: Вот пара линков полезных: citforum.ru/programming/unix/sockets/ и allasm.ru/set_12.php
В целом логика под виндой и никсами одинаковая. Самое «сложное» в веб сервере — работа с сокетами. Работает примерно так:
1. Инициализируем сокеты;
2. Создаем (socket) — ОС выдаст нам новый сокет;
3. Настраиваем сокет (setsockopt);
4. Ассоциируем (bind) этот сокет с айпи и портом;
5. Начинаем «слушать»(listen) сокет — вообще, слушает ОС, а мы только обрабатываем данные;
6. В цикле принимаем (accept) соединения — accept возвращает управление и новый сокет как только появится запрос на указанные ранее порт и айпи (иначе INVALID_SOCKET вернет);
7. Начинаем асинхронный(для проверки/тестов все можно и в одном потоке делать) прием данных (recv) из полученного сокета;
8. Обрабатываем принятые данные.
9. Отправляем ответ (send);
10. После окончания приема закрываем сокет;
11. Возвращаемся в начало цикла — пункт 6. 
Само собой при асинхронной обработке цикл будет только получать новые сокеты и отдавать их «воркерам» — рабочим потокам.
В скобках — вызовы апи сокетов, под линуксом почти все то же самое.
Под виндой все сокеты в Ws2_32.dll.
Если что непонятно — отвечу в меру своих знаний 8)

Худший ответ: mongoose прост для понимания (в исходниках)
сори, метки не заметил (а чего это я на питон подписан?)
Вопрос: Есть ли аналоги angularjs, более простые?

Лучший ответ: всетаки добил ангуляр и поперло.
Главное не сдаваться

Худший ответ: С чем именно у вас проблемы? Ибо просто так сдаваться и спускаться на ступеньку ниже... я думаю вы недостаточно пробовали (отсилы пару дней).
По сути ангулар построен довольно просто. Там используются те же паттерны и концепции что и в других фреймворках, в других языках программирования. Да, добавляются особенности работы с асинхронными языками программирования (promise к примеру), но опять же все это легко осознаваемо.
Хотя под ваши требования подходит backbone.js.
Вопрос: Как правильно настроить Ubuntu?

Лучший ответ: А вы смотрели Linux Mint? По сути та же убунта, те же возможности, но переоформленная…

Худший ответ: google: windows 7 aero for ubuntu первым же результатом выдает стиль виндовс 7. Сейчас установил его в виртуалке вроде бы нормально выглядит :)
Вопрос: Можно ли ловить все исключения, возникающие в моей программе, не используя try-except?

Лучший ответ: сделать логгирование

Худший ответ: Может подойдет sys.excepthook?
Вопрос: Нужен ли react.js в полу динамическом сайте (или в конкретном случае)?

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

Худший ответ: 1 )Реакт - это функциональный подход к разработке UI. 
2) Реакт принято считать V из MVC. Его чаще всего используют с какой-либо реализацией flux (MVC не используется). 
3) В основе реакта - виртуальный DOM
Исходя из этих тезисов - на реакте (читай react + flux) надо делать все приложение, иначе профита никакого. Соответственно, если вам нужно сделать только форму входа - отбросьте реакт, Вам это не нужно. 
А вот если вам нужно разработать SPA (или даже просто сайт, на котором будет куча UI), то, поверьте, с jQ это все превратиться в спагетти, приправленные костыльной пастой очень и очень быстро.
PS. Для реакта есть свой бутстрап с блекджеком - https://react-bootstrap.github.io/
Вопрос: Видео конференций по JavaScript?

Лучший ответ: Возможно это будет полезным
https://github.com/FrontenderMagazine/conference-videos

Худший ответ: На английском teamtreehouse.com/library/the-treehouse-show
Вопрос: Можно ли найти алгоритм для решения почти любой задачи?

Лучший ответ: существует, конечно
1) решена ли задача кем-нибудь?
2) а у меня ресурсов [силенок/денег/жизни] хватит ее решать?

Худший ответ: Самый главный алгоритм решения любой задачи - разбить ее на много маленьких частей.
Вопрос: Django — Отправка email на определенную дату (событие)?

Лучший ответ: django.core.management.base.BaseCommand + crontab
как-то так

Худший ответ: Сделал так:
 - подключил 'smsaero',
 - в форме добавления нового события, добавил send_sms, в моем случает:title = title.encode('utf-8')
 start = int(mktime(start.timetuple()))
 send_sms((resp.profile.phone), (title), '2', (start))
 Когда пользователь вводит новое событие в календарь, одновременно создается sms уведомление: 
 с телефоном пользователя; 
 заголовком сообщения; 
 "2" - Подпись отправителя;
 датой (время) начала события.
 После этого готовая SMS ждем своего исполнения!
 Минус: если пользователь ошибся в датой, то SMS не удалить, либо необходимо заходить в личный кабинет SMSAero и удалять!
Вопрос: Что стоит изучить по Bootstrap 3?

Лучший ответ: Не учитесь сразу верстать на Bootstrap 3

Худший ответ: Если вас интересует вёрстка с макетов, то лучше начать с Photoshop. Изучить ту часть, которая нужна для верстальщика. Попробовать сверстать шаблон со своими стилями, чтобы немного закрепить базовые знания по HTML/CSS. Ну а дальше можно пользоваться фреймворками. Пробовать писать  темы для фреймворка и вообще посмотреть, как ту или иную задачу решили профессионалы.
Вопрос: Почему Stylus непопулярен?

Лучший ответ: Stylus няшечка.
SASS чаще используется в рельсах. Он там прямо из коробки, поэтому многие и не парятся его на что-то менять.
LESS я чаще вижу во всяких старых проектах и\или где работают консерваторы. В защиту LESSа я видел аргумент, что на него переучится проще обычному верстальщику. Так-то.

Худший ответ: 1. С документацией худо.
2. Зачем он, когда есть libsass для node.js?
Вопрос: Какие технологии использовать, чтобы максимально защитить приложение под Android для оплаты пластиковыми картами?

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

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

Лучший ответ: Роутер какой? IP tables не пробовали?
iptables -I OUTPUT -p tcp --dport 80 -m string --to 70 --algo bm --string 'GET /nickname_or_id' -j DROP

Худший ответ: Насколько я знаю, ссылка на профиль выгдлядит как-то так: vk.com?id=xxxxxxxx. Так что можно просто добавлять в hosts заворачивание этого адреса в локалхост.
Вопрос: Полезно ли знание Pascal?

Лучший ответ: Когда то раньше именно на паскале давали основы программирования, даже в старших классах школы и ВУЗов. Читал монументальные труды по вопросу - с какого языка следует изучать программирование в ВУЗе, и удивительно - множество монографий свидетельствуют о том что первым языком должен быть именно Паскаль! Так что - то что вы изучаете паскаль, это хорошо! Хуже от этого не будет. На этом этапе главное понять смысл и проникнуться алгоритмами! Паскаль хорош для этого! А то что вы изучаете попутно и пайтон и си - это еще лучше. Не останавливайтесь, все получиться. Главное помните - что нельзя изучить все и сразу, требуется много времени, на то чтобы стать профи, а значит терпите, учитесь, стремитесь, учитесь, все будет!

Худший ответ: Язык не имеет значения. По своему опыту могу сказать, что хороший php-программист сравнительно легко напишет программу на плюсах, при помощи мануалов и stackoverflow. Как правило, все языки очень похожи, как русский и украинский - отличаются только слова, и то не все. Исключения, конечно, есть, но на то они и исключения.
Иными словами, лишним это не будет. Но и полезным - навряд ли.
Вопрос: Какие качественные сервисные центры по ремонту iPhone (ориг. комплектующие, опытные ребята) вы знаете?

Лучший ответ: «Приветствуются как позитивные, так и негативные отзывы.»
Мой негативный опыт — «Re:Store» чинил у знакомой айфон после падения в воду. Итог — 1.5 месяца ожидания, взяты деньги, телефон в разобранном состоянии возвращен, не работает.

Худший ответ: Обращался сюда несколько раз: apple4you.ru Обслуживание понравилось в офисе на Цветном бульваре, в других не советую.
Вопрос: С чего начать новичку в web: fornt-end vs back-end?

Лучший ответ: Побыстрее начать != начать хорошо! Насчет опыта работы все тоже очень относительно, я встречал разработчиков с опытом от 5 лет которые считают себя Senior'ами но которых по уровню знаний и умений обойдет хороший Junior. Все они также как и вы хотели побыстрее начать карьеру и получать опыт. В итоге работа в конторе по разработке сайтов -> верстка -> CMS -> фреймворки(если повезет)->перегорание (на этом этапе пропадает интерес и желание учится, от начального энтузиазма не осталось ничего, человек понимает что программистом так и не стал но сил начать все сначала нет). Путь в никуда!
Насчет front-end vs back-end смотрите что больше нравится. Выучить html,css,js,jquery придется в любом случае,  для back-end советую еще познакомится  с Python и тогда  выбрать что-то одно Ruby/Ror или Python/Django.
Вам только 18 лет, не стоит убивать в себе программиста ради побыстрей

Худший ответ: Изучай фронтенд в первую очередь. Советую не ограничиваться с нативной версткой. Возьмись за Ангуляр, штука мощная, сделает тебя бесценным кадром в любой ИТ-компании которые делают крутые веб-проекты. А бэкэнд "материя" скучная и нудная быстро надоест.
Вопрос: Не могу понять как делают такой прогресс бар, как?

Лучший ответ: Странно. Что в данном прогресс баре такого сверхъестественного?<div style="width: 600px; height: 15px; background: grey;">
<div style="width: 23%; height: 100%; background: lightgreen;"></div>
</div>
Вот в этом прогресс на 23 процента.

Худший ответ: Берется input (вроде) и ставится прогрессбар. Ну что сложного?
=====
Исходники курите.
Вопрос: Какой размер метода/функции &quot;в экранах&quot; считается нормальным?

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

Худший ответ: Если код однообразный, то можно и длинную функцию писать. Я для себя начинаю задумываться, если больше двух экранов (С). Если что, в исходнике Python есть функция и в 2000 строк :) При этом Python — весьма неплохой пример C-кода.
Вопрос: Вывод денег с oDesk через paypal без ИП. Насколько чревато?

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

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

Лучший ответ: В своё время решал аналогичную проблему. На сколько я помню, нормального решения тут не было. Решал путем:
От имени первого пользователя поднять rdp-соединение и залогиниться под вторым пользователем. Потом убить это соединение не завершая сессию пользователя. Правда было это давно и не помню команд, как это сотворял и примера не осталось (((

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

Лучший ответ: Не спец, как просто пользователь:
1. Ужасные розовые скриншоты
2. Никакое описание, похожее на гугл транслейт
3. Почти никаких ключевиков
4. Отвратительный значок, с кучей артефактов ("шакалистая")
Ну и Вы не давали рекламы, как же узнать что игра вышла?

Худший ответ: Большое спасибо!
Именно это и хотел услышать. Честно, у меня оно просто начало двигаться что-то и у меня столько радости..не обращаю внимания на мелочи
А что скажете по поводу самой задумки, интересно?
Вопрос: Множественный вход в домен под одной учетной записью — сколько пользователей допускает?

Лучший ответ: Всё будет нормально работать. 
Тут надо понимать, что домен вообще "не знает" кто сейчас работает. Он только "отвечает на запросы" т.е. у него спросили - можно ли сейчас авторизоваться - он ответил "да/нет". Два раза спросили - два раза ответил. Сто раз спросили - он сто раз ответит.

Худший ответ: Всё будет нормально работать. 
Тут надо понимать, что домен вообще "не знает" кто сейчас работает. Он только "отвечает на запросы" т.е. у него спросили - можно ли сейчас авторизоваться - он ответил "да/нет". Два раза спросили - два раза ответил. Сто раз спросили - он сто раз ответит.
Вопрос: Хорошая книга по регулярным выражениям?

Лучший ответ: Какие книги? оО
книги - прям книги? 
Ну да ладно с ним.. Сколько людей - столько мнений.
Но зачем?! Зачем листать кучу иероглифов и тормозить путь к своей цели? Тут как никак простая формула - практика практика и еще раз практика.
Всю теорию легко умещают в 1 табличку, ну максимум с объяснениями - 1 лист...
Не лучше уже сегодня начать пользоваться регулярными выражениями, чем: пока найдете лит-ру, пока начнете изучать, и попробуете дня через 3 и то не факт что получиться из-за объема не нужной ПО НАЧАЛУ! Информации?   
Бонус от начала до конца строки, которая начинается с #
^\#.*?$

Худший ответ: Дж.Фридл - Регулярные выражения, 3-е изд.[2008]