Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Определить наличие у клиента Viber или Telegram по номеру телефона?

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

Худший ответ:
Вот прям очень это надо сделать (@DevMan написал: «спросить у клиента. так же получить у него согласие на рассылку.»). Серьезно. Иначе: а) это гадство получается — читать спам спам; б) с высокой вероятностью ваш аккаунт или что там могут заблочить или ограничить в действиях. Для рассылки надо сервисы использовать и вот уже у них, я полагаю, должен быть функционал для определения наличия аккаунта в том или ином мессенджере. Есть еще вариант: добавить все телефоны в список контактов, можно сделать через импорт гугла, а потом уже смотреть через контакты в смартфоне наличие или отсутствие того или иного мессенджера. Это так, варианты навскидку, наверное, можно еще API мессенджеров использовать, но по этому вопросу — уже к документации надо обращаться и смотреть что там да как.
Вопрос: Как и где учить Laravel 8?

Лучший ответ:
Документация

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

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

Худший ответ:
Можно посмотреть пример в типовых конфигурациях, например в УТ 11:
-Открытие формы подбора товаров в документы продажи;
-Открытие формы списка документов оплаты по  кнопке "Зачет оплаты";
ну вы поняли..
Вопрос: Каким образом микроконтроллер может отправлять данные на сервер?

Лучший ответ:
0) Терминология. Микроконтроллер - это как правило, микросхема и только микросхема. Которая содержит в себе оперативку, вычислительное ядро, некоторые периферийные устройства (например, wi-fi стек, как ESP8266).

Вставить симку в микроконтроллер невозможно, потому что невозможно вставить симку в микросхему.
Симку можно вставить в слот на плате контроллера, на которой могут быть расположены микроконтроллер, антенна wi-fi, преобразователь питания и другие блоки.

1)Архитектура решений может быть весьма разнообразной - контроллер может выходить в интернет самостоятельно, а может использовать для этого промежуточный сервер.

В зависимости от этого, используют или HTTPS, как главный на сегодня протокол для безопасных коммуникаций в интернете, или MODBUS (в пределах локальной сети контроллеров со шлюзом в интернет), или свой велосипед.

Использование в интернете каких-то протоколов, отличных от HTTP(S) сразу тащит за собой кучу проблем вида "а вот у меня провайдер режет порты".
Использование HTTP влечет за собой проблемы вида "S in IoT stands for Secure". Ваш трафик сможет прослушивать и модифицировать любой желающий, а также встраивать в него рекламу.

Вывод. Если ваш контроллер смотрит напрямую в Интернет, используйте HTTPS / WebSocket. Если через шлюз - используйте MODBUS.

Для того, чтобы использовать велосипедное решение, нужно назвать как минимум три фатальных недостатка вышеперечисленных. Утверждение "это изобрел не я" не является фатальным недостатком технологии.

Худший ответ:
gsm-2g-3g-4g-*g  wifi bt lorawan nb-iot
протоколов тож цельная тележка.
к чему есть доступ то и используй.
Вопрос: Какой браузер меньше ест памяти и CPU?

Лучший ответ:
celeron 2
Современное видео уже больше 10-ти лет декодится хардварным кодеком встроенным в CPU, поэтому если у вас celeron2, он такое не поддерживает и тупо не справится. Забудьте про видео,на celeron2 можно смотреть Mpeg2, в лучшем случае mpeg4 с низким битрейтом, если это какой-нить xvid, а про современные кодеки на котором живет сейчас весь мир просто забудь.

Худший ответ:
Видео посмотрите только в 240/360...
Оперативки пипец мало. Да и явно кодирует всё проц...
По браузеру не подскажу
Вопрос: Какие нужны настройки на Mikrotik для корректной работы SIP на базе Asterisk?

Лучший ответ:
Довольно хорошо описано как работает SIP ALG на Микротике. 
Он же Helper.
PDF для чтения (mum.mikrotik.com)

Худший ответ:
Если АТС за NAT, то надо обязательно ей об этом рассказать.

/etc/asterisk/sip.conf
[general]
externaddr=${MIKROTIK_WAN_IP}
localnet=192.168.0.0/16
localnet=10.0.0.0/8
localnet=172.16.0.0/12

На микротике пробросить порты
udp 5060
udp 10000-20000
Вопрос: Почему медленно загружаются страницы в интернете?

Лучший ответ:
Я в таких "непонятных" случаях начинаю с проверки счётчиков ошибок на портах коммутатора. Если там все ок. Проверяю dns. Если и тут проблем нет. Запускаю несколько параллельных пингов, изнутри, до маршрутизатора, если есть возможность до ещё одного устройства в сети, до шлюза за маршрутизатором, до крупного публичного ресурса, и аналогично снаружи, до маршрутизатора, до коммутатора.
Чаще всего этого достаточно, чтобы понять где именно находится проблема.
Можно даже готовые скрипты для этого написать, которые логи в удобном виде в файл положат.

В работе поддержи провайдеров жутко раздражает, что не выполняются элементарные диагностические действия. Абонент уже 4 раз вызывает к себе сотрудника поддержки, что же они делают, они переобжимают кабель, а потом говорят кабель нужно перетягивать. При это у них нет никаких диагностических инструментов для проверки кабеля, наверно на 4 вызов можно же было дать с собой fluke. А инженеры провайдера не удосужились проверить ошибки на коммутаторе.

Худший ответ:
Вы уверены что проблема не в оборудовании от РКН(если оно стоит)?
Если проблема и с кабельным и с вифи - проверяйте где проседяют пакеты. Всю цепочку от абонента до вас и как вариант дальше

Если это только вечером - мож канала банально нехватает?
Вопрос: Как остановить setInterval в javascript?

Лучший ответ:
Лучше не интервалом, а при разборе ответа, если ok не 1, то setTimeout()
function checkResult() {
  const data = {
    hash: hash,
  }

  $.ajax({
    url: 'result.php',
    dataType: "json",
    data: data,
    success: (result) => {
      const ok = result.ok;
      if (ok != 1) {
        // перезвоните через секунду
        setTimeout(checkResult, 1000);
      }
    },
    error: (response) => { // Данные не отправлены
      $('#result_form').html('Ошибка. Данные не отправлены.');
    }
  });
}

checkResult();

Худший ответ:
Записываешь setInterval в переменную, о очищаешь через clearInterval

https://learn.javascript.ru/settimeout-setinterval
Вопрос: Какой стек учить, чтобы в будущем можно было делать MVP для стартапов?

Лучший ответ:
Под указанные требования подходит любой мэйнстримный стэк.

Худший ответ:
Если веб-сервисы, то Laravel+Vue
Вопрос: Что делать, если просто потерял путь в обучении?

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

Худший ответ:
надо сделать свои проекты которые потом можно показывать как портфолио

например игру или соцсеть

когда люди увидят что вы можете самостоятельно учиться и работать - будет выше шанс что вас заметят и пригласят
Вопрос: Странная проблема с Ethernet портом, как исправить?

Лучший ответ:
1) Заменить или переобжать кабель, сменить порт на свитче (это самая простая, быстрая и дешевая диагностика, которая исключает дурацкие проблемы)

Но вероятнее всего

2) Установить другую сетевую карту, так как в вашей, скорее всего, погорел разделительный трансформатор

В этом случае, при наличии очумелых ручек, возможно

3) Заменить трансформатор. Вероятнее всего, он совмещен с разъемом.

Худший ответ:
про "поменять порт" - имели ввиду на стороне роутера попробуйте кабель в другой порт воткнуть
но скорее всего проблема в сетевухе, купите другую
Вопрос: Почему let x не попадает в window?

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

Вот с MDN цитата

На верхнем уровне скриптов и функций let, в отличии от var, не создаёт свойства на глобальном объекте. 

ДОКУМЕНТАЦИЯ!!! – наше всё.

Худший ответ:
Ну потому-что по спеке так задумано
Вопрос: Как поднять свой хост для сайта на своей машине Linux LTS?

Лучший ответ:
Ставишь веб сервер. 
Апач или nginx
Ставишь БД, при необходимости

Пилишь сайт, указываешь его в конфиге веб сервера

Худший ответ:
Для начала нужно понять, для чего этот сайт? Если только для разработки и доступ из интернета, не планируется, переходим к пукту 2. Если нужен полноценный сайт, доступный пользователям всемирной паутины, читаем сначала.
1) Возможно ли сделать сайт, доступный интернет-пользователям в принципе? Для доступа к сайту у сервера должен быть прямой IP адрес. При этом не обязательно, чтоб сетевая карта сервера получала прямой IP, он может быть и на маршрутизаторе, главное чтоб по кабелю от провайдера приходил внешний IP-адрес. Чтоб это проверить, заходим в настройки роутера и ищем WAN IP. Далее заходим на 2ip.ru и смотрим IP оттуда. Если 2 этих адреса совпадают, то сайт будет доступен из интернета. Всё что осталось, так это пробросить порты: 80 и 443 на хост или настроить DMZ.
2) Настроить Web-сервер. Для этого надо скачать apache или nginx. Можно поднять прямой http сервер на node.js, но это для продвинутых пользователей, так что я рекомендую nginx. После установки и настройки сервера надо положить файлы сайта в папку, которая является корневой папкой сайта.
3) Протестировать работу сайта.
P.S: Если нужна более подробная инструкция, напишите в комментарии к ответу, свяжем лично.
Вопрос: Что делать с этой формой?

Лучший ответ:
Создал форму, сохранил, запускаю 1С Предприятие, нажимаю Файл\Открыть. Открывается моя форма.Поздравляю - вы стали программистом 1С!

Это всё для чего она нужна?Окружающему миру ваша форма в таком виде даром не нужна - увеличивает энтропию и приближает к гибели вселенной. Но вы можете наполнить свою форму полезным содержимым.

Для чего нужно именно таким способом её создавать?Это многогранный философский вопрос. Одним из возможных вариантов ответа на который может быть - вы просто по другому не умеете.

Её куда-то можно передать, как готовую форму?Да. 

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

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

Лучший ответ:
Так и описать.
public class Node {
    private int value;
    private Node next;
    // constructors-getters-setters here
}

Худший ответ:
как LinkedList только без prev
Вопрос: Как вывести информацию с БД массивом?

Лучший ответ:
в $query->execute(['ref' => $my_ref[0]]); данные массивом передались.
к сожалению биндинг в pdo не умеет работать с массивами, каждый параметр должен быть конечным объектом (число.,  строка...)

так же чтобы условие в sql обрабатывало массив нужно использовать выражение
select ... from ... where id in (1,2,3,4,...)

поэтому чтобы решить указанную задачу нужно формировать sql запрос по старинке (без использования prepare и биндингов), естественно аккуратно к значениям, либо валидировать их что они являются числами, а если должны быть строки - то правильно экранировать

$sql='select ... from ... where id in ('.implode(',',$id_array).')'
Так же проверь что массив идентификаторов не пустой, так как иначе будет ошибка в sql

p.s. осторожно, количество значений в 'id in' лимитировано (кажется 1000), если инужно больше, то придется создавать временную таблицу, заливать в нее искомые идентификаторы и строить запрос с left join

Еще я встречал похожий метод но с использованием биндингов, когда sql запрос генерировался вида:
select ... from ... where id in (?,?,?,?,...)
с нужным количеством ? тогда передав массив напрямую в execute можно получить результат, лимит на количество ? еще меньше, это определяется драйвером базы данных.

p.p.s. и совсем сверху на засыпку методика, ее имеет смысл использовать когда со стороны клиента фильтруемых данных больше чем 1 поле (например 2 массива точнее таблица с несколькими колонками) и очень не хочется заполнять в базе временную таблицу с этими данными (это очень сильно роняет производительность) то можно сформировать внутри sql таблицу из константных данных:
select ... from ...,
(
  select ? as col1,? as col2
  union select ?,?
  union select ?,?
...  
) x where ...

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

Лучший ответ:
Твоя картинка размером 506х390, это 197340 пикселей. У каждого пикселя свой цвет. Вот и переводи эти пиксели в шейпы с заданным цветом. Можно оптимизировать: шейпы одного цвета, расположенные радом, объединять в один. Собственно на этом месте и заканчиваются все игры с картинкой без потери качества. Толку от этого ноль, только оверхед ради просадки производительности, потому что по сути это то-же растровое изображение, только реализованное иначе.

Отвечая на вопрос:
Есть ли способ это сделать без потерь в деталях?
Можно, но смысла в этом нет.

Худший ответ:
https://designe-r.in.ua/sovety-dizajneru/6-luchshi...
Впрочем куча их. 
Стоит только понимать что они хорошо работают только с изначально векторными изображениями, а на растре лажают и дают откровенный мусор. Который к тому же поставит на колени любой комп
Вопрос: Как спарсить все артикулы со страницы с бесконечным скроллом на Beautifulsoup + Selenium?

Лучший ответ:
Скролить категорически не рекомендую! Представьте, что там +100500 страниц. И если скролить, через некоторое время закончится оперативка, и кроме парсера, зависнет еще и компьютер.

Вместо этого, лучше к ссылке добавить параметр "?page=1" - где число - номер страницы. И в цикле увеличивать число, пока на странице не появится текст вроде - "В этой категории нет ни одного товара."

Худший ответ:
#
# Оооооочень удобно использовать jupyter notebook
# 
# Beautifulsoup я не использую
#
# Selenium тоже многое умеет
# но это твой выбор
#
#

def find_all_links():
    time.sleep(2)
    posts=[]
    links = driver.find_elements_by_tag_name('a')
    for link in links:
        post = link.get_attribute('href')
        if '/p/' in post:
            posts.append( post )
    
    return posts

posts = []#Для хранения результата
def scroll_end():#Перемотка до конца страницы
    lenOfPage = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
    match=False
    global posts
    while(match==False):
        lastCount = lenOfPage
        time.sleep(3)
        lenOfPage = driver.execute_script("window.scrollTo(0, document.body.scrollHeight);var lenOfPage=document.body.scrollHeight;return lenOfPage;")
        print(lenOfPage)
        if lastCount==lenOfPage:#Если доскролили до конца
            match=True
        psts = find_all_links()#Выполняю поиск того что мне надо
        posts += psts#Результат добавляю
        print(len(posts))#слежу за тем что происходит
scroll_end()
Вопрос: С жестким диском все совсем плохо?

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

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

Лучший ответ:
Хотелось бы знать, что за тип такой Constants, возможно всё можно сделать проще.
Но условно - как-то так:
enum Constants {
  VERTICAL = 'vertical',
  STEP = 'step'
}

interface ConstantsTypes {
  [Constants.VERTICAL]: boolean,
  [Constants.STEP]: number,
}

public get<T extends keyof ConstantsTypes>(prop: T): ConstantsTypes[T] {}

Худший ответ:
Можно Так
Вопрос: Как правильно организовать права и группы пользователей на вебсервере с несколькими людьми?

Лучший ответ:
user:user
php должен работать от имени пользователя. Один хост - один пользователь.

Худший ответ:
заведи всех в одну группу или пусть web изменит укажет группу в которой состоят разрабы - chgrp()
Вопрос: Как запускать докер контейнеры без установки Docker Desktop?

Лучший ответ:
Скачай бинарники для Windows

Худший ответ:
вот собственно говоря ответ:

https://lippertmarkus.com/2021/09/04/containers-wi...
Вопрос: Могут ли генераторы паролей на хостингах выдавать одинаковые значения?

Лучший ответ:
Это же школьная задачка. Да и самому легко вывести эту формулу.
Пусть N - количество всевозможных символов, из которых можно составить пароль, и m-блина пароля.
Тогда количество всех возможных значений будет N^m, а вероятность повтора будет 1/(N^m)

Худший ответ:
Могут ли генераторы паролей на хостингах выдавать одинаковые значения?
Это надо спрашивать с авторов генератора. 
Если пойти по пути предположений, то это случайный набор из 13 символов.
И тогда вероятность подбора 1 к 147573952589676412928
Вопрос: Как продвинуть в ТОП и повысить посещаемость новостного сайта?

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

Худший ответ:
Уберите рекламу! Там слишком много рекламы. И делайте посты интересные людям. И конечно последнее сделайте так чтобы читатели снова вернулись ради правдивой новости.
Вопрос: Нужно ли разделять стили по страницам?

Лучший ответ:
Не нужно. Файл один раз загрузится и останется в кэше браузера.

Худший ответ:
При таком малом весе (149кб) объединённого файла стилей можно предположить что на каждой странице стили занимают вообще мизерный размер. Ну так и поместите их inline. Кэшироваться в браузере они также будут.

Правда не могу представить ситуацию когда такая милли-оптимизация нужна :)
Вопрос: Необходимо удерживать в уме вероятность самовзрыва и самовозгорания электроники?

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

Худший ответ:
Что может взорваться в холодильнике или компьютере? Разве что неисправный конденсатор, но и то он просто хлопнет, иногда громко :)
Литий-ионные аккумуляторы действительно иногда взрываются, но этому предшествуют повреждение корпуса или превышение напряжение заряда.
Вопрос: Как исправить ошибку на C#?

Лучший ответ:
Начните с перевода "no suitable method found to override"

Худший ответ:
Привет!

Ошибка говорит о том, то оператор override не нашел метода в классе родителе для переопределения. Проверьте имеется ли у вас наследование. Если нет, достаточно будет убрать override, чтобы исправить ошибку.

Наследование в C# выглядит примерно так:
public class A: B
Где B - класс родитель, А класс наследник. Подробнее о наследовании: https://metanit.com/sharp/tutorial/3.7.php

Если же наследование есть, убедитесь, что наследуемый класс видит этот метод. Нужно проверить модификатор доступа. Подробнее о них здесь: https://docs.microsoft.com/ru-ru/dotnet/csharp/lan...
Вопрос: Как запустить программу через прокси?

Лучший ответ:
Меняйте переменные среды для каждой команды, на здоровье:
http_proxy=http://1.2.3.4:3128 https_proxy=http://1.2.3.4:3128 curl http://google.com/

Ну или на постоянной основе:
export http_proxy=http://1.2.3.4:3128
export https_proxy=http://1.2.3.4:3128

Худший ответ:
http_proxy=http://127.0.0.1:8080  ./my-super-program

Вот так ваша супер программа получит в переменных окружения переменную http_proxy с указанным значением....
Вопрос: Как получить объект справочника по значению доп. реквизита?

Лучший ответ:
Ном = Справочники.Номенклатура.НайтиПоРеквизиту("Гарантия", ЗначениеРеквизита);
Этот способ подходит для поиска по реквизитам справочника.  И он ищет только первый элемент и не годится, если их несколько.
Но, поскольку вы пишете что вам нужно осуществить поиск по дополнительному реквизиту, то вам прийдеться писать запрос, и решение зависит от того, как в вашей конфигурации реализованы дополнительные реквизиты.
Например, в конфигурации УНФ, дополнительные реквизиты, это элементы табличной части справочника Номенклатура. При этом "свойство", т.е. имя реквизита, в вашем случае "Гарантия", это план видов характеристик ДополнительныеРеквизитыИСведения. Запрос будет выглядеть примерно так:
Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ РАЗЛИЧНЫЕ
		|	НоменклатураДополнительныеРеквизиты.Ссылка КАК НоменклатураСсылка
		|ИЗ
		|	Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
		|ГДЕ
		|	НоменклатураДополнительныеРеквизиты.Свойство = &Свойство
		|	И НоменклатураДополнительныеРеквизиты.Значение = &Значение";
	
	Запрос.УстановитьПараметр("Значение", ЗначениеГарантии);
	Запрос.УстановитьПараметр("Свойство", СсылкаНаПВХ_Гарантия);
	
	РезультатЗапроса = Запрос.Выполнить();
	
	ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	
	Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
		// Вставить обработку выборки ВыборкаДетальныеЗаписи
	КонецЦикла;

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

Лучший ответ:
Перепаять микропереключатель средней кнопки.
Ну или просто купить новую мышь.

Худший ответ:
Когда требуются специфические, но простые с точки зрения программирования решения, обычно отдельные программы никто не пишет, а используют скриптовые языки. Например, ваша задача решается следующим скриптом для AutoHotkey:
*MButton::
	click, middle
	sleep, 200
return
Где 200 - в милисекундах минимальный интервал между допусками нажатия на кнопку.
Вопрос: Можно как то записать iso-образ из диска c windows 7?

Лучший ответ:
конечно, каким-нибудь UltraISO считать образ, а потом Rufus и на флешку

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

Лучший ответ:
Ищите "схема с общим эмиттером". Транзистор подбирается с запасом по напряжению коллектор-эмиттер и по току коллектора. Хотя в качестве ключа полевой будет лучше - будет гораздо меньше греться.

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

что за нагрузка (влияет на схему защиты);
к какому выводу источника питания подключена нагрузка (влияет на тип транзистора и влияет на схему в целом);
какой сигнал управления (относительно какого вывода источника питания и какой размах сигнала - влияет на схему);
в каком радиомагазине закупаетесь или какие детали есть в наличии или в разборе.
Вопрос: Как составить программу обучения?

Лучший ответ:
Как лучше учиться читать/писать - изучать буквы по отдельности, или сразу весь алфавит?
Или все-таки по слогам?
Можно ли начинать учиться писать, если не изучил алфавит наизусть?

Примерно вот так выглядит твой вопрос.
Программирование - задача комплексная.
Можно учить отдельно, можно комплексно. Можно парралельно, можно последовательно.
Это лично от тебя зависит. Не получается сложное рассматривай примеры попроще.

Методика - вторична, усилия - первичны.

Худший ответ:
В начале изучения (когда такой вопрос возникает) лучше сосредоточиться на чем то одном, иначе схожесть синтаксиса может путать.
В определенный момент просто поймете, что пришла пора и SQL начать изучать на базовом уровне, так как понадобится задействовать базы данных и без SQL уже никак. Аналогично и с другими языками программирования в тех ситуациях, когда возможно их совместное использование (пример - HTML, JS, php).