Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Что должна вернуть функция NULL, если ничего не найдено?

Лучший ответ:
Если функция на выходе должна вернуть указатель на что то, но этого чего то нет - то возвращается NULL в общем случае. Это нормальное поведение для с/с++. Никакого зла тут нет. NULL - это не тип данных, так что int* foo = NULL - корректно. А "забывают проверить" - это признак непрофессионализма. 
Если вас так пугают эти проверки - можно поступить чуть чуть по другому. Сделать функцию 
bool find(int* array, int value, int* output).
Функция возвращает true если было что то найдено, или false, если небыло. Результат в случае нахождения помещается в output. Если ничего не найдено - Output не трогается.

Худший ответ:
Функция должна вернуть то, что написано в техзадании.
Я бы в данном случае предложил возвращать -1
Вопрос: Собеседование: Вы приехали в Питер из Москвы выполнить презентацию, но забыли проектор, что будете делать?

Лучший ответ:
Театр теней!!!

Худший ответ:
Смотря для чего я приехал.
Если делать презентацию то,
1. Рисовать на доске мелом (как уже подсказали)
2. Подключить ноутбук проектору который у них есть
3. Подключить к телевизору
4. Показывать прямо на ноутбуке
5. Арендовать проектор (наверняка такое есть)
6. Снять в аренду кинозал, или помещение с проектором
7. Провести презентацию вообще без всего, чисто на бумажных буклетах, по старинке или с демонстрацией продукта в действии
далее пока фантазия кончилась..
Но, если вы приехали смотреть презентацию,
то тут фантазия снова играет
1. Смотрю без проектора, попивая кофе заедая бубликом. Кстати вариант, оставить хороше впечатление -  угостив всех бубликами!
2. Сплю на задних рядах....
3.. итд итп. Если хотите, могу еще пофантазировать, просто вдруг стало лень.
Вопрос: ICQ клиент для бухгалтера

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

Худший ответ:
www.meebo.com/ мне этот клиент нравится, одно но, со старыми квипами у него бывают иногда проблемы с кирилицей, а так очень приятен и хорош
Вопрос: Монетизация Android-приложений

Лучший ответ:
всем привет, вижу, что ветка довольно старая, но все таки свои 5копеек вставлю.
Я считаю, что два самых  прибыльных метода монетизации- это продажа внутриигровой валюты и реклама. По своему опыту скажу, что монетизировать аппы через рекламу не есть самый простой вариант, но зато самый быстрый и прибыльный. Не самый простой в плане того, что надо очень грамотно подойти к вопросу выбора, как типа рекламы (баннер, интерстишл, видео), так и места в своем приложении в котором эту рекламу, собственно, показывать собираетесь. Это по сути самое важное, потому что если этого грамотно не сделать - можно нахватать кучу отказов в стате.
Из рекламных сетей сразу же хотелось попробовать медиацию. Свою игру я запустил в январе и ориентируясь на отзывы подключил к ней Admob. Поначалу использовал только баннеры и рез-ты были не очень: в сред. 500К показов и всего $1K в месяц. Потом помимо баннеров стал использовать интерстишл и результаты заметно улучшились: в месяц уже выходило порядка $3,5-4000. По отзывам Admob вроде как считался крутой медиацией, но в июне я наткнулся на другой сервис -Appodeal. Захотелось их попробовать -потому что у них есть возможность использовать кучу сетей, да еще и подключить свой адмобский аккаунт- получается что-то вроде "медиации в медиации", так что при любом раскладе ты ничего не теряешь... отдельно хочется отметить их суппорт, который помог реализовать еще и показы видеорекламы в моей игре (rewarded video). Теперь по одним интерстишлам в месяц получается около 900К показов в месяц. В целом доход с моей игры за сентябрь составил $10.1K, так что выгода на мой взгляд очевидна:) Возможно в след году опробую еще какой-нибудь сервис, но пока достойной замены я не вижу.
П.с если будут вопросы -не стесняйтесь, пишите в личку
Всем удачной и прибыльной монетизации;)

Худший ответ:
Для монетизации android приложений рекомендую apperate.online 
Они сотрудничают с Яндекс, P&G и тп (более 50 рекламодателей)
+ предоплата за месяц) сразу, как внедряете  SDK
Вопрос: Где скачать psd макет форума?

Лучший ответ:
Попробуйте здесь

Худший ответ:
Пожалуйста, можно отсюда
Вопрос: Как оптимальней захостить проект на flask?

Лучший ответ:
Берите дешевый VDS и разворачивайте там что угодно)

Худший ответ:
Heroku работает с sqlite3
https://devcenter.heroku.com/articles/sqlite3
Вопрос: Шифр простой замены

Лучший ответ:
Шифр простой замены дешифруется через частоты символов алфавита в тексте.

Худший ответ:
Начинается, обычно, с поиска отдельностоящих букв в составе предлогов итп.
Например, для этого текста 
90 — это, скорее всего, буква «а»,
17, 20, 62 — то-нибудь типа «и», «в», «о»

Не умею читать вопросы до конца. Нужен математический метод.
Вопрос: Как узнать, является ли число иррациональным?

Лучший ответ:
Иррациональное число может быть представлено в виде бесконечной непериодической десятичной дроби.
В компьютере ВСЕ числа конечны. Сколько бы большой размер числа мы не ставили, он будет конечен. А значит, что все числа в компьютере рациональны. Да, они могут быть приближены с какой-то точностью с какому-то иррациональному числу, но не более.

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

Лучший ответ:
К Grandstream'у я бы еще и Yealink прибавил.

Худший ответ:
Grandstream. Китай, но хороший.
Вопрос: Почему курсов RoR так много?

Лучший ответ:
Много? Посмотрите на количество курсов по JS, PHP, Python, например.
Вот это - много. По Ruby и RoR курсов немного, русскоязычных так вообще мизер.

Худший ответ:
Много? Посмотрите на количество курсов по JS, PHP, Python, например.
Вот это - много. По Ruby и RoR курсов немного, русскоязычных так вообще мизер.
Вопрос: Как не дублировать настройки php-fpm в каждом location?

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

Худший ответ:
Разобрался в своём вопросе. Может быть кому то пригодится.
1. Использовать именованный locationlocation / {
    try_files $uri $uri/ =404;
}

# именованный location
location @php {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
}

location ~ \.php$ {
    try_files /no @php;
}

location = /task.php$ {
    try_files /no @php;
    fastcgi_read_timeout 300; # не сработает
}

location ~ /cron/.+\.php$ {
    try_files /no @php;
    fastcgi_read_timeout 600; # не сработает
}
Минус - нельзя применять индивидуальные настройки для location.
2. Подключение через include# /etc/nginx/php.conf
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php5-fpm.sock;location / {
    try_files $uri $uri/ =404;
}

location ~ \.php$ {
    include /etc/nginx/php.conf;
}

location = /task.php$ {
    include /etc/nginx/php.conf;
    fastcgi_read_timeout 300; # сработает
}

location ~ /cron/.+\.php$ {
    include /etc/nginx/php.conf;
    fastcgi_read_timeout 600; # сработает
}
Вопрос: Нужен термометр с трансляцией показателей куда-то в интернет, есть такие?

Лучший ответ:
Можно утащить девайсы с narodmon.ru/, кнопка «каталог»

Худший ответ:
Справедливости ради хочу добавить что еще, как вариант, можно купить б/у роутер без USB, но с UART и прошиваемый в OpenWRT, типа dir300 (rev. A/B). Они сей час стоят копейки и дешевле что-то придумать очень сложно. Ну а данные заливать на narodmon.ru.
Вопрос: ubuntu port forwarding

Лучший ответ:
iptables -t nat -A PREROUTING -p tcp --dport 3389 -i ppp0 -j DNAT --to 192.168.0.10
Вместо ppp0 подставить внешний интерфейс.

Худший ответ:
есть еще более простой вариант — rinetd
есть в родных репах.
Вопрос: Сервис временного email с API?

Лучший ответ:
я чаще пользуюсь 
10minutemail.com
или 
https://10minutemail.org/
У 2-го чаще меняются домены
Ps post-shift.ru есть api

Худший ответ:
Вот такой есть еще afeg.ru/api-tempmail
Вопрос: Как поставить UWSGI в Ubuntu в автозагрузку?

Лучший ответ:
разобрался сам. Утилита supervisor помогла.

Худший ответ:
можно в cron на автозапуск прописать, @reboot /bin/application
Вопрос: Где найти уроки по верстке html5-шаблонов?

Лучший ответ:
htmlbook.ru
Посмотрите уроки от специалиста.

Худший ответ:
Там в принципе ничего сложного, если я не ошибаюсь, просто div заменяются на конкретные теги для например хедера контента футера, и используются секции.
Вопрос: Yii 2 checkboxList в колонку?

Лучший ответ:
Для тех, кто еще сталкивается с подобным. Проверьте, что вы используете yii\bootstrap\ActiveForm, а не yii\widgets\ActiveForm
Тот же gii по стандартным шаблонам генерирует с использованием yii\widgets\ActiveForm

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

Лучший ответ:
Да.
Меню Find / Find in files... (Ctrl+Shift+F)

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

Лучший ответ:
Съехал текст кто виноват и где искать проблему?
На такие вопросы ответ простой:
– Признаю, это сделал я, проблему ищите в Гибралтаре

Худший ответ:
Простите, но мы же не телепаты. Может вы хоть что-то дадите? Например, ссылку на сайт.
Вопрос: Как исправить ошибку, php?

Лучший ответ:
В простейшем случае - вывести ошибку.<?php
  $result = mysql_query("SELECT `name` FROM `added_users`")
    or die("Invalid query: " . mysql_error());
  $myrow = mysql_fetch_array ($result); 
  do { 
    printf ("%s", $myrow["name"]); 		  		  
  }
  while ($myrow = mysql_fetch_array ($result));
Еще лучше написать (или использовать готовую) обертку для mysql_ функций, которая отлавливала бы ошибки.

Худший ответ:
для начала: библиотека mysql уже устарела, следует использовать mysqli, во вторых: очевидно же, что ошибка в запросе, либо нет соединения с БД$result = mysql_query("SELECT `name` FROM `added_users`") or die(mysql_error());
Вопрос: Какой выбрать хелпдеск для провайдера?

Лучший ответ:
Всем спасибо, вопрос решен. Остановился на HESK 
www.hesk.com

Худший ответ:
Добрый день!
я бы посоветовал manageengine servicedesk plus. Лицензии на торрентах найти не проблема, поделиться опытом настройки тоже могу.
Вопрос: Обработка SMS

Лучший ответ:
Подключить телефон к компьютеру шнурком и через родную программу SMS можно читать и отправлять.
Что это 100% работает можно утверждать хотя бы на примере телефонов Nokia и их Ovi Suite.

Худший ответ:
Естественно, кроме способа, когда симка воткнута в GPRS/3G модем
Вопрос: CMS или писать движок самому?

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

Худший ответ:
Ого. Замашки у человека, который знает, что-то типа html и то поверхностно. Чтобы сделать, что-то подобное более рационально будет использовать фреймворк, а не cms. Но чтобы написать такой сайтик, нужно освоить очень многое. Вот приблизительный список: php, mysql, js + куча мелочей которые точно нужны будут и да самое главное фреймворк Yii к примеру.
Вопрос: Верстальщики, откуда вы узнаете новости о front-end и client side?

Лучший ответ:
@smashingmag на мой взгляд всякие актуальные штуки публикует. Ну и потом смотрите кого твиттер посоветует или кого смешингмаг ретвитит. Я так себе подборку собирал.

Худший ответ:
вот пару ссылок:
speckyboy
1stwebdesigner
Вопрос: Как объединить эти события?

Лучший ответ:
Самый простой способ и без JS - это задать родительский элемент label для изображения и input-а<label>
  <img src="image.jpg">
  <input type="checkbox">
</label>

Худший ответ:
активируем чекбокс$('input[type="checkbox"]').prop('checked' , true);update
попробуйте добавьте на сайт в данный блок кода новые строчки$('.cars-item').click(function() {
        $('.cars-item').removeClass("active");
        $(this).addClass("active");
        // новый код
        $('.cars-item').find('.element-checkbox').prop('checked' , false);
        $(this).find('.element-checkbox').prop('checked' , true);
    });
Вопрос: Что вы делаете с проводами под столом?

Лучший ответ:
Вспомнилась такая картинка: 9gag.com/gag/153179
Сам использую хомуты и маркирую кабели бумажкой на скотче (особенно вилки).

Худший ответ:
Из «универсального» на ум приходят только хомутики для проводов.
Но дома я от них отказался, так как постоянно что-то подключаю и отключаю.
А вот для пользователей милое дело.
Дешево и аккуратно)
Вопрос: CMS для сайта агенства недвижимости

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

Худший ответ:
Вам правильно выше сказали: любая из популярных CMS подойдет под эти цели, 100% готового решения навряд ли найдете среди бесплатных систем, у платных же есть наработки в этой сфере, например у Битрикса, только будет необходимо купить сам Битрикс, зато сэкономите на разработке отдельного функционала, сколько там специалист за неделю запросит? Битрикс ни в коем случае не рекламирую.
Вопрос: Существуют ли «задачники» по Android Dev?

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

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

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

Худший ответ:
Одно время на крышке корпуса был прилеплен войлок — системник почти не шумел. попробуйте что-то в этом духе:)
Вопрос: Какие основные фишки c#?

Лучший ответ:
что конкретно? визуальный интерфейсы? там WPF + MVVM и мощнейшая система биндингов.
асинхронка в 4.5 через TAP (async-await) крайне удобная.
построение системы из компонентов посредством MEF - очень просто
развертывание с автообновлением с помощью ClickOnce - хорошо помогает.
P.S. но вообще попахивает желанием похоливарить

Худший ответ:
Приложения под винду и вэб приложения на C# удобнее, быстрее, функциональнее делать чем на C++. Мне кажется у каждого свои задачи.
Вопрос: WPF. Какие элементы использовать в мессенджер-приложении?

Лучший ответ:
Grid явно не подходит в силу отсутствия виртуализации. ListBox на первых порах подойдёт, но затем, скорее всего, вы всё-равно столкнётесь с его ограничениями - он поддерживает только визуальную виртуализацию, но не виртуализацию данных. Скажем, чат из 100 сообщений будет летать, но если вы планируете делать поддержку групповых чатов и с бесконечной историей, то есть вероятность, что приложение будет неотзывчивым уже начиная с 1000 сообщений истории.
В общем, до этого надо еще дожить. Скорее всего, хватит ListBox (или ListView) как для списка чатов, так и для самих чатов. Идею с Grid-ом советую сразу отбросить - хотя бы из-за прожорливости в плане оперативки.

Худший ответ:
Grid подразумевает размещение элементов в определённой сетке или равномерно по экрану. Он, по умолчанию, не предполагает прокрутки. Поэтому его нужно использовать для размещения известного количества известных элементов.
StackPanel располагает элементы подряд. При превышении размера используется прокрутка. Элементы могут быть разного типа. В StackPanel каждым добавленным элемент нужно управлять индивидуально.
ItemsControl по сути похож на StackPanel, но тут мы имеем централизованное управление элементами - через Items или ItemsSource.
ListBox добавляет к ItemsControl возможность выделять элементы.
Это весьма общая классификация: с помощью свойств, обработчиков, шаблонов можно при большом желании превратить одно в другое.
В вашем случае, в зависимости от логики приложения можно предложить следующее.
Если диалоги у вас в программе представлены списком (лучше BindingList или ObservableCollection), то их располагать в ItemsControl со StackPanel в качестве ItemsPanel. В шаблон элемента вы добавляете название, фотографию диалога и ListBox с сообщениями. 
Если не хотите заморачиваться с ItemsControl, то тогда использовать StackPanel, но тогда при добавлении диалога вам вручную придётся добавлять элементы для названия, фото и собщений.
Можно ещё рассмотреть вариант с использованием TreeView, где в качестве первого уровня будут диалоги, а второго уровня - сообщения. Автоматом получаете закрытие/открытие диалогов.
Вопрос: Множественное наследование в C# для свойств (или параметров функций)

Лучший ответ:

interface IMyInterface1
{
    string Prop1 {get;set;}
    string Prop2 {get;set;}
}

interface IMyInterface2
{
    string Prop1 {get;set;}
    string Prop3 {get;set;}
}

class MyClass : IMyInterface1, IMyInterface2
{
    string Prop1 {get; set } // Общее свойство
    string Prop2 {get; set }
    string Prop3 {get; set }
}

Вы такую ситуацию имеете в виду? Если да, то так можно делать. Свойство Prop1 будет реализовывать сразу 2 интерфейса.

Худший ответ:
Увы, не получится, на сколько мне известно.
Вопрос: Какие есть близкие альтернативы NotePad++ на Mac?

Лучший ответ:
Вот ответ на ваши вопросы и бесплатно  :) https://itunes.apple.com/ru/app/textwrangler/id404...

Худший ответ:
Попробуйте Atom
Вопрос: Какую тему по веб-разработке выбрать на «конференцию» в колледж?

Лучший ответ:
Роль портносайтов в становлении психики подростков ))

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

Лучший ответ:
Phonegap/Cordova — это штуки, позволяющие с помощью компонента WebView и возможности доступа к функциям устройства (акселлерометр, геопозиционирование, контакты и т.д.) создавать на HTML+JS+CSS мобильные приложения.
И ещё, чтобы создать достаточно быстро и просто такое приложение, вам нужен какой-нибудь UI-фреймворк. Например, Ionic, Framework7, Dojo Mobile, jQuery Mobile и т.д.
Мы используем Framework7. Из всего, что я перечислил, нам больше всего понравилось.

Худший ответ:
Делаются например с помощью этого: Phonegap. Изучайте.
Вопрос: Как решить проблему с отображением слайдера Slick?

Лучший ответ:
Попробуйте инициализировать слайдер после клика на таб:
$(".slider").slick('reinit');

Худший ответ:
Обычно такие моменты решаются инициализацией сначала слайдера, потом табов. Если плагин "не умеет" работать с скрытыми элементами, сначала кормим его "видимым" блоком, а потом скрываем. В данном случае, если табы сделаны на плагинах, то просто переместить их инициализацию после слайдера, если табы например полностью на css, то понадобится после инициализации добавлять класс для "включения" табов. 
Но суть, думаю, ясна - когда вы запускаете слайдер, элементы не должны быть скрыты.
Вопрос: Какие инструменты сейчас в арсенале у верстальщика/front-end разработчика?

Лучший ответ:
Chrome dev tools
Лучший инструмент, который мы имеем в наших руках сегодня. С момента своего рождения, хром вложил много в его инструментов разработчика и до сих пор их улучшения непрерывно. Каждый выпуск (каждые 6 недель или так) идет со своими собственными торговыми новых функций DEV инструмента.LiveReload
Сколько раз в среднем вы нажмете клавишу обновления на клавиатуре каждый день? Много, верно? LiveReload простой веб-протокол, который вызывает события для клиентов, когда файлы были изменены.
Тестирование фронтэнд JavaScript код с помощью Mocha / Chai / SinonKarma тест бегун Javascript написаны парней за AngularJS.
Eще много есть но по моему это самые нужные список front-end

Худший ответ:
Конфиг gulp/grunt/webpack прописываете самостоятельно, т.к. это зависит от потребностей проекта. Можете, конечно. найти какой-нибудь yo генератор, он вам сгенерирует шаблон ( например).Нет такого инструмента что в пакет-листе прописал, оно автоматом и в грант ушло и к странице подцепилось? 
ну кто знает, что вам нужно упаковывать и как
Из стандартного набора могут быть sass/less, postcss, concat, uglify, imagemin и тп
Вопрос: Google plus1 button API?

Лучший ответ:
На практике не пробовал, но после изучения запросов получается примерно так:
Шлете запрос на clients6.google.com/rpc?key=[developer key] с post запросом вида
[
 {
 "method":"pos.plusones.get",
 "id":"p",
 "params": {
 "nolog":true,
 "id":"http://habrahabr.ru/",
 "source":"widget",
 "userId":"@viewer",
 "groupId":"@self"
 },
 "jsonrpc":"2.0",
 "key":"p",
 "apiVersion":"v1"
 }
]

а в ответ получаете
[
 {
 "result": {
 "kind": "pos#plusones",
 "id": "http://habrahabr.ru/",
 "isSetByViewer": false,
 "metadata": {
 "type": "URL",
 "globalCounts": {
"count": 6.0
 }
 }
 },
 "id": "p"
 }
]


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

Лучший ответ:
Ибо все скатывается к гуглению,
Рекомендую ознакомиться: skillkit.ru/post-258-top-5-oshibok-nachinayuschih-...
Или как вы хотели, прошли туториал и тут же свой ютуб написали? Нужно очень много практики, постоянной, с гуглом, с ошибками, иначе навык не вырабатывается и опыт не набирается.

Худший ответ:
При обучении придерживаюсь следующего логического порядка, взятого с mkdev.me:Изучил ли я документацию к использумой технологии?Потратил ли я несколько часов на чтение исходников или решение проблемы каким-нибудь ещё путём?Проверил ли я гугл на наличие нужной информации?
Очень часто теперь мне хватает просто документации. :)
Вопрос: Как получить элемент по координатам, который находится под другим элементом?

Лучший ответ:
В принципе можно и это сделать. Но возможно Вам подойдет iframe {
     pointer-events:none;
}
В этом случае Ваш iframe не будет замечать мышку, то есть будет "невидим" для мыши.

Худший ответ:
Если я вас правильно понял то вам нужно вот это
В консоль выводиться блок на который навели курсор.
Вопрос: Регистрация/Вход просмотр сообщений Servlet?

Лучший ответ:
Совет от меня: разделите вашу ну уж очень объемную задачу на несколько более мелких. Потому как у вас в одном вопросе сразу десять вопросов. Берете свое тз/задание/проект и пилите на мелкие понятные части, чем мельче - тем лучше. И решаете проблемы постепенно, степ бай степ.Есть БД с таблицей registr и полями login, pass, message, online. Главный вопрос как проверять существует данный пользователь в БД или нет, потому как сейчас один и тот-же login можно создавать n-раз, на просторах читал что нужно обрабатывать через js?
Юзер попадает на страницу login.jsp или index.jsp, вводит свой login и password, нажимает кнопку login/sing in - вы отправляете post запрос на сервер в свой сервлет. Сервлет вызывает ваш UserService, сервис должен вызвать Dao и извлечь сущность User из бд. Далее обычно введенные юзером креды прогоняются через md5 или еще что-нибудь и сравниваются с теми, которые были извлечены из бд. Если совпадают - юзер либо получает rights либо добавляется в некий список и получает доступ к остальным ресурсам. Права на доступ обычно проверяют в Filter при запросе ресурса.
Если не хотите заморачиваться с самодельным велосипедом, то да - смотрите spring-security, по нему достаточно много материалов и примеров.
Что вы имели ввиду, когда упоминали js ? В контексте собрать данные из login form и сделать submit на сервер? Или вы ищите способ с помощью js достать данные из бд?

Худший ответ:
Что вы имели ввиду, когда упоминали js ? В контексте собрать данные из login form и сделать submit на сервер? Или вы ищите способ с помощью js достать данные из бд?
Да я хочу когда пользователь ввел логин, данные проверялись в бд и выводилось сообщение если такой пользователь уже существует, и запрещать регистрацию соответственно.
Вопрос: Как вести учет изменений данных в таблице mysql (оптимальное решение)?

Лучший ответ:
А триггер прикрутить к таблице клиентов, пишущий в другую таблицу с ~ такой же структурой + полем с датой/временем (и идентификатор пользователя, например)...

Худший ответ:
А триггер прикрутить к таблице клиентов, пишущий в другую таблицу с ~ такой же структурой + полем с датой/временем (и идентификатор пользователя, например)...