Uglik: Зачем новые таблицы плодить. Объединяйте все, что можно обьединить. А уж что нельзя, тогда в отдельную. Скрипт и не должен понимать, вы как программист должны понимать как их разделить.
Uglik: Представьте, что вы делаете два простых сайта. На одном регистрация пользователей по простому, а на втором справочная информация по парикмахерам и визажистам и т.д. Когда будут готовы структуры данных для этих сайтов, то поробуйте обьединить данные. И все получится как надо.
Uglik: А их не нужно тут делить. users это пользователи сайта. Логин/емайл, пароль, никнейм достаточно. И у вас парикмахеры не обязательно будут пользователями сайта.
Uglik: users [usergroup] точно лишнее, т.к. пользователь может входить в 2 группы. И зачем вам хранить фамилию и имя клиента? Для записи на стрижку это не нужно.
Максим Чернятевич: А кто спорит? Да, человек должен обладать указанными вами навыками. И если он целеноправленно по 8 часов в день будет осваивать все тонкости языка (про так называемые книги "за 21 день" я ничего не говорил) то он выйдет на очень хороший уровень. Я указывал уже в комментариях, что просто читать бесполезно.
Юрий: А какие есть варианты? Это веб тут только: в параметрах GET запроса, в теле POST запроса, в хедере запроса, в куках. Или куда еще вы спрятать можете? WebSocket так это другой канал передачи данных. Все это легко копируется.
copal: Обоснуй. Если каждый день выполнять различные задания по Javascript, то за 21 день реально выйти на хороший уровень. А если просто читать книжки по JS то толку не будет и через пару лет.
Юрий: Если несколько токенов, то какой смысл в них, сессии достаточно. И чем вам куки не угодили, даже если они в нескольких вкладках открыты (не в режиме ананомности), то кука будет одна на эти вкладки.
Если делаешь основной информацию по парикмахерам, то и создай таблицу
"Парикмахер" (ID, userid, ФИО, адресс, аватар и т.п.) это будет справочник. А для пользователей сайта "Пользователи" (id, email, контактное имя, password). Этого будет достаточно. Кто будет записываться "Запись" (id, userid, парикмахер id, время, тип стрижки, phone, салон-id, note)
Станислав Макаров: Если вы в программе знаете, что есть выделенная память и когда-то планируете ее удалить, то такая память не "утекшая". Он станет таковой как только вы забудете о ней.
Пример:
char* buff = new char[50];
buff += 20;
buff[0] = 0;
buff -= 20;
delete[] buff;
Станислав Макаров: Указатель это переменная которая содержит в себе адрес на выделенную память. Никакого отношения к самой выделенной памяти она не имеет.
MrNexeon: Указатель это обычная переменная. Что будет если в коде обьявлено int i = 5? А если i присвоить 0? Тоже самое и с указателем, что присвоено, то и хранит. other.element = nullptr; будет хранить 0