Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как отразится куча дублей переменных при большом траффике?

Лучший ответ:
В PHP используется механизм copy on write и такая конструкция при условии что $Prices и $Data не меняются практически ничего не стоит.
То есть кроме визуального шума ни на что не влияет совершенно.

Худший ответ:
Когда будет "очень большой трафик" (кстати, это сколько?), то тогда вы покроете код профайлером (pinba, xhprof,...), увидите узкие места и исправите их.
Не занимайтесь преждевременной оптимизацией.
Вопрос: JS, как это сделать?

Лучший ответ:
Недавно был аналогичный вопрос Как сделать на сайте 2 изображения, перекрывающие друг друга через js?
я предложил 5 вариантов:TwentyTwenty JuxtaposeimgSlider Cocoen Image Comparison Slider 

Худший ответ:
На обычном jquery можно сделать.
Вопрос: Как авторизоваться на сайте (Java)?

Лучший ответ:
Для вас, как и многих другие, решение - это научиться отлаживать сетевые приложения, речь как о вашем приложении так и об оригинальной странице в браузере, для этого сниффер нужен, их множество, Fiddler, Wireshark и т.п., если не научитесь, то никогда не сможете полноценно этим заниматься. У меня всё.

Худший ответ:
э-э-э... Selenium же. Или я что-то недопонял в задаче.
Вопрос: Почему у меня пусто в formData?

Лучший ответ:
1. у полей формы нет атрибутов name
2. на вход FormData надо подавать ссылку на форму а не объект jQuery.
То есть data = new FormData($('#form-order')[0]) или data = new FormData(document.querySelector('#form-order'))
3. Если уж пользуетесь jQuery, то можно вообще без FormData:$.ajax({
      url: '/mailer/send_letter.php',
      type: 'post',
      data: $('#form-order').serialize(),
      ...
})

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

Лучший ответ:
Показывать нужно профессионализм. Профессионализм - это уверенное владение вопросом, ответственность за результат, ориентация на заказчика, воспроизводимость/повторяемость качественного результата.
До окончания проекта вы можете лишь создавать видимость профессионализма, а реальная его оценка будет после завершения проекта.
Чтобы создать видимость профессионализма нужно:
1. говорить уверенно
2. слушать, а не навязывать
3. демонстрировать уверенное владение технологией производства
4. говорить о проблемах и методах их решения/устранения
5. отстаивать свои интересы
Проговорите с клиентом всю технологию производства его продукта, обозначьте рискованные этапы, предложите варианты снижения рисков на всех этапах. Разделите риски с заказчиком, на некоторые моменты вы не сможете влиять, четко об этом скажите - если вам нужен результат, то вкладывайтесь вместе с нами, иначе ничего не выйдет.
Когда заказчик поймет предлагаемую технологию, поймет что вы ее прекрасно знаете, что вы знаете все тонкие места и подводные камни (то есть делали это многократно) - тогда вы создадите видимость своего профессионализма.

Худший ответ:
Завтра встреча с клиентом,
Ну как, помогли ответы?
Вопрос: Можно ли подгрузить информацию о сотовых вышках в телефон?

Лучший ответ:
Сергей: MakarkinPRO: Вы неправильно понимаете триангуляцию. Триангуляцию (для определения соты в которой находится абонент) выполняет сеть благодаря тому, что ей известны точные расстояния от нескольких собственных баз до абонента. Расстояния вычисляются по пингу (за минусом продолжительности приема и передачи пакета базой и оконечным устройством) деленному на скорость света. Эта информация становится доступна сети в ходе инициализации соединения. Протокол инициализации требует чтобы абонент отвечал на специальные пинг-пакеты мгновенно (можно, конечно, хакнуть прошивку, но это ничего не даст, так как таким образом можно только "увеличивать" расстояния, но не уменьшать, следовательно из своей соты в другую соту выпрыгнуть невозможно). Для базы не существует такого протокола, по которому она должна отвечать на пинги мгновенно (для GSM он просто ненужен). Следовательно абонент не имеет возможности узнать расстояния до баз. А уровень сигнала не имеет к расстоянию вообще никакого отношения. Во-первых, редко расположенные базы в сельской местности имеют уровни в сотни (!) раз выше, чем, например, база на крыше жилого дома. Во-вторых, благодаря геометрии направленных антенн даже на ровной местности уровень сигнала нелинейно завит от (квадрата) расстояния. Про то, что при наличии препятствий/отражений искать зависимость расстояния от уровня не имеет смысла вообще, я даже не говорю.
P.S.:  Извините, это больше относится к обсуждению, которое развернулось в комментах, чем к самому вопросу. Но, возможно, это пригодится тем, кто будет пытается своими силами/средствами триангулировать аппарат в сотовой сети.

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

Лучший ответ:
Берете код
ставите на свою машину в виртуалку 
делаете нагрузочное тестирование
фиксите жуткие ботлнеки
повторяете пока есть время и желание
Тк у вас уже есть понимание, сколько Requests Per Second у вас будет на основании своих настроек виртуалки понимаете сколько вам ресурсов нужно
Берете с запасом 30+%
Ищете
Покупаете

Худший ответ:
Эм ,  для 15к посетителей не нужна какая-то уникальная конфигурация. Разве что оперативы подкиньте.
Объем памяти = 256 мегабайт + 64мегатайта*Y + 0,5*Z,
где Y — количество людей работающих с проектом,
Z - объём БД в мегабайтах.Источник
Вопрос: Где научиться делать pwa?

Лучший ответ:
Сегодня кокраз на типичном программисте дали ссылку https://tproger.ru/video/google-training-pwa/

Худший ответ:
А официальный quickstart чем не устраивает?
Вопрос: Как настроить общение между компьютерами через Интернет?

Лучший ответ:
Нужно несколько классов на C#, которые позволили бы обмениваться сообщениями между компьютерами через Интернет. Все ипы серые. Это невозможно. Нужен хотя бы один белый IP.

Худший ответ:
Плохо смотрели
https://ru.wikipedia.org/wiki/VPN
Вопрос: Функция typeof(a) Почему не работает?

Лучший ответ:
typeof это не функция, её надо использовать вот так:typeof a;

Худший ответ:
Горит красным это типо IDE подсвечивает?) Красным подсвечивает потому что это оператор, так же как и delete, instanceof, new, а ваш код рабочий
Вопрос: В чём главный минус Django?

Лучший ответ:
Строгость

Худший ответ:
Обожаю холивары. Django/python очень красивый синтаксис, взамен хорошей производительности. GIL - Global Interpreter Lock который не позваляет(полноценно) реализовать многопоточность и асинхронность. Трудно найти работу на фрилансе, клиенты не хотят заморачиваться с WSGI/ASGI серверами, настраивать VPS.
Вопрос: Как запустить php скрипт локально?

Лучший ответ:
Нужно установить локальный сервер.
Самые простые - OpenServer и Denwer
Создаете в программе локальный сайт. И просто в папку кладете скрипт. В обычном браузере заходите на локальный сайт и все готово.

Худший ответ:
Вот даже видео нашел https://www.youtube.com/watch?v=6LOYKoE-mog
Вопрос: В чем разница между LINQ to SQL и Entity Framework и когда, что лучше использовать?

Лучший ответ:
Когда-то потратил очень много времени на поиск того что же лучше и чем они вообще отличаются.
Поищите в интернете, там всё  по полочкам разложено.
Но если коротко: Используйте Entity Framework.  LINQ to SQL уже давно устарел и проект фактически закрыт. EF же развивается, хоть и с черепашей скоростью

Худший ответ:
Entity Framework - это ORM, т.е. взаимодейтсвие с бд ведется через объекты.
LINQ TO SQL - механизм, для извлечения данных из бд
Вопрос: Как убрать «/» в конце ссылок MODX?

Лучший ответ:
так он правильно делает, вам по хорошему их нужно добавлять.RewriteCond %{REQUEST_URI} \..+$
# Если файл содержит точку. 
RewriteCond %{REQUEST_FILENAME} !-d 
# И это не директория. 
RewriteCond %{REQUEST_FILENAME} -f
# Является файлом. 
RewriteCond %{REQUEST_URI} ^(.+)/$ 
# И в конце URL есть слеш. 
RewriteRule ^(.+)/$ /$1 [R=301,L] # Исключить слеш.

Худший ответ:
так он правильно делает, вам по хорошему их нужно добавлять.RewriteCond %{REQUEST_URI} \..+$
# Если файл содержит точку. 
RewriteCond %{REQUEST_FILENAME} !-d 
# И это не директория. 
RewriteCond %{REQUEST_FILENAME} -f
# Является файлом. 
RewriteCond %{REQUEST_URI} ^(.+)/$ 
# И в конце URL есть слеш. 
RewriteRule ^(.+)/$ /$1 [R=301,L] # Исключить слеш.
Вопрос: Как применить предыдущий опыт при переквалификации в программиста?

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

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

Лучший ответ:
Если срок гарантии не установлен производителем и продавцом, вы можете предъявить гарантийные претензии в течении двух лет (ГК РФ ст. 477 п.2)
www.consultant.ru/document/cons_doc_LAW_9027/8b7a3...
Наличие гарантийного талона (и даже чека) не обязательно, если можно установить сам факт и дату покупки.

Худший ответ:
Дешевые коптеры по-ходу все такие одноразовые. Сам увлекаюсь имею два. Сыну покупал из дешевых 3 штуки одноразовых уже.
Вопрос: Насколько значительным будет прирост производительности ryzen 3 над core2duo e7500 в linux?

Лучший ответ:
Вот насколько.

Худший ответ:
1200 не очень, если есть вариант то хотябы 1300х брать.
А так если с бюджетом напряг может стоит посмотреть в сторону бу зеонов и мамки от хуанан? Выйдет рублей 8 материнка и пара кусков за камень ядер на 6.
Вопрос: Какими DLP системами вы пользуетесь?

Лучший ответ:
Быстро разрывразвивающаяся IT-компания, видимо, не знает аксиому Эскобара и единственный способ ее решения - исходить из конкретных требований ваших задач, в вашем вопросе ведь ни слова об этом, вы хотите субъективные мнения.

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

Лучший ответ:
можете попробовать pcnt_fork, если нужно что-то сделать, но чтобы пользователь не ждал. Но может быть установлено маленькое время работы скрипта. Еще есть fastcgi_finish_request. Отдаете пользователю данные, вызываете функцию, клиенту отдается ответ, а скрипт продолжает работать дальше.
Но все-таки, если это нужно часто лучше использовать очередь, так как fork создает копию процесса.

Худший ответ:
Пользовательские задания сохраняешь в табличку, пишешь скрипт который выполняет задания из этой таблицы и вешаешь на cron.
Вопрос: Выбор движка для сайта доска объявлений — Osclass или Yii?

Лучший ответ:
К Yii2 должен прилагаться программист. Собственно в вашем случае программист в любом случае должен прилагаться. Он и выберет.

Худший ответ:
Сравнил пушистое с солёным.
Вопрос: Есть ли CMS системы для команды разработчиков?

Лучший ответ:
С начало надо разложить у себя в голове. Научится вести это в тетрадке. А после брать "высокие технологии". Иначе они не помогут.

Худший ответ:
нету
приспособить можно много чего
но ексель останется экселем
планировщик планировщиком (я про уведомления)
проекты вообще по взрослому нигде кроме MS, хотя вам и трелло/wrike  подойдут
Вопрос: Как сделать обработчик своего кода на php?

Лучший ответ:
Или я туплю или вы какую-то дичь написали. Запустите цикл и делайте что вам нужно.

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

Лучший ответ:
Создать класс Animation перенести туда похожий функционал. Унаследовать 2d\3d от этого класса.

Худший ответ:
ну.. в принципе можно расширения с дженериком нарисовать
на первый взгляд (не сверяю код, именно на глазок) мне кажется это было бы даже уместнее - если методов всего три, городить иерархию классов явно не стоит
ps и уж точно не стоит, когда они совпадают до символа
совет - если это дочерние классы от какого то необходимого "бай-дизайн-среды-исполнения" (как Form к примеру), и если вы не переопределяете обязательные виртуальные методы, то есть код где вызываются дополнительные методы полностью вами контролируется - расширения позволяют писать более чистый и читаемый код
в смысле создается экземпляр базового типа, где надо, через точку применяем расширения как родные
Вопрос: Почему SSD не выдает полную скорость?

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

Худший ответ:
потому что полная скорость - только при идеальных условиях.
Вопрос: Можете ли вы доходчиво объяснить действие цикла for?

Лучший ответ:
Походу, ты себя опроверг.
ps книг по питону много, на любой уровень. Вот на любой.

Худший ответ:
"Для каждого элемента заданной последовательности выполнить указанное действие"
Как-то так...
Вопрос: Как научится понимать Bitrix за один вечер?

Лучший ответ:
Найдите подходящий скринкаст на Ютубе
Ни пуха ни пера вам -- для верстальщика это будет испытание:)
Там не все так просто, как с обычными легкими цмс, у которых есть шаблоныВремя на теорию у меня всего один вечер (а скорее всего ночь).
Помимо Битрикса вам нужно изучить методологии разработки, в частности ФФФ, где подразумевается ТРЕЗВАЯ оценка и договоренность по  времени с запасом, чтобы не  планировать ВПРИТЫК (я молчу про дичайший дедлайн в один вечер), тк в ее основе лежит принцип:
"Всегда пойдет все не так, как задумал, тк живем среди живых людей и что-то обязательно сдвинет сроки"- Пообещали сделать за вечер и сделали за вечер -- всего лишь выполнили обещанное (хотя вам это много стоило)
	- Пообещали за вечер и сделали за 3 -- вы облажались в 3 раза
	- Пообещали сделать за неделею и сделали за вечер или за 3 -- вы супер обслужили быстрее в разы и потрясли заказчика
	Выбирайте

Худший ответ:
1. Стоит сделать себе копию сайта. 
Править Битрикс на живом сайте человеку, который в нем не разбирается - весьма рискованно и чревато.
2. Вам обязательно нужен административный доступ к сайту, иначе вы не сделаете ничего в принципе.
3. Основной шаблон - делаете копию папки, которая используется сейчас (какая-то из /bitrix/templates - какая именно, смотрите в админке). Там правите основные два файла - header.php и footer.php, прописываете стили в .css файлах, туда же сваливаете нужные для дизайна картинки.
4. Дальше идете по всем подряд страницам и смотрите, где, кроме основного шаблона, используются компоненты (там останется старый дизайн). Ходите администратором, включив в верхней панели "режим правки". Он позволяет увидеть, где какой подключен компонент и шаблон к нему.
Важно! Не правьте шаблоны, если они не в вашей папке! Сначала скопируйте (все тот же режим правки позволяет это сделать).
5. Учите РНР, если еще не знаете. Придется.
Ну, и удачи. Привет от скряги Авгия...
Вопрос: Как отправить cookie в facebook/php-webdriver?

Лучший ответ:
Сейчас прочитал вопрос-ответ https://github.com/facebook/php-webdriver/issues/401 и там пишут что куки могут быть установлены только для открытого домена. И это не круто.
Решил свою проблему сам.
Использовав подстановку пользовательского профиля.$options->addArguments(array('user-data-dir=/chrome/temp_profile'));

Худший ответ:
у меня этот код работает, но в таком виде:
           $cookie = new \Facebook\WebDriver\Cookie('cookie_name', 'cookie_value');
            $driver->manage()->addCookie($cookie);
            $cookies = $driver->manage()->getCookies();
стоит  обратить внимание на  ваш namespace
Вопрос: Как скопировать текст с сайта?

Лучший ответ:
печатаешь в PDF
засовываешь PDF в Finereader

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

Лучший ответ:
Смотря какие именно файлы, и какая операционная система. Потому что если мы говорим о супермарио в эмуляторе NES или о command.com в виндовс 95, или о ELF-файлах где-то в линуксе, то механизмы будут в чем-то отличатся.
Если вас интересует вся тема вообще, то действительно, начать можно с Таненбаума. Или искать подробности по конкретному типу файлов, которые вас заинтересовали.

Худший ответ:
не так естественно
операционная система знает формат исполняемого файла
при запуске операционная система проецирует файл в оперативную память (при помощи механизма обмена страниц) и передает в него управление
Вопрос: Можно ли в C++ передавать массивы в функцию сразу при объявлении?

Лучший ответ:
Можно так:#include <iostream>

void func(std::initializer_list<int> data)
{
	for(const auto& item : data) {
		std::cout << item << std::endl;
	}
}

int main() {
	func({1, 2, 3});
	std::cout << std::endl;
	func({1, 2, 3, 10, -1, 15});
	return 0;
}

Худший ответ:
используйте map  и в конструкторе создайте объекты-отображения. Затем созданные объекты добавьте в массив.  Затем такой массив будете использовать в классе, передавая его туда в конструктор.
Вопрос: Как восстановить etc/apache2?

Лучший ответ:
apt-get purge apache2
Удалить /etc/apache2
apt-get install apache2

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

Лучший ответ:
Погуглить "сколько получает junior c#(asp.net) в Спб" и посмотреть. и отвечать среднее значение из найденных результатов.

Худший ответ:
Столько же или немного больше чем на предыдущем месте работы + средняя температура по больнице резюме умноженная на ваш коэффициент опыта.
Вопрос: VPS для личных нужд без доменного имени?

Лучший ответ:
Используйте, никто вас не заставляет покупать домен.
Можно спокойно пользоваться IP выданным при аренде vps
Просто в настройках софта на сервер вместо домена пишете IP сервера

Худший ответ:
Все вдс без этого имени
Вопрос: Как полностью удалять строчку из БД SQLite android?

Лучший ответ:
это не баг так и должно быть, но если вам очень хочется (для начала убедитесь что вам это действительно нужно) то при создании таблицы просто не пишите _id INTEGER PRIMARY KEY AUTOINCREMENT
а просто _id INTEGER PRIMARY KEY

Худший ответ:
Строка удаляется полностью и так. Следующий id присваивается большим, потому что так работает sqlitе по умолчанию, но это поведение можно изменить. Если хотите знать как, то киньте запрос, которым создавали таблицу.
Вопрос: WooCommerce или Opencart?

Лучший ответ:
Мне больше нравится WooCommerce. Она гораздо удобнее для разработчика, ее легче поддерживать и обновлять.
Из явных преимуществ WooCommerce перед OpenCart отмечу:
1) Вариации товара. Грубо говоря, для каждой опции товара можно указать свою картинку, свой артикул, цену и кучу других параметров. Автоматически решается проблема с наличием или отсутствием некоторых опций. В OpenCart есть функционал опций, но он очень ограничен.
2) Более-гибкая система фильтрации товаров, встроенные виджеты с фильтрами
3) Наличие полноценного блога с комментариями и кучей дополнений
4) Магазин на WooCommerce на порядок легче обновлять в силу особенностей архитектуры. OpenCart как таковой обновлять сложно. VQMOD/OCMOD, грубо говоря, меняют определенные куски исходного кода. Если сам код обновился или другой плагин его изменил, то возникают проблемы.

Худший ответ:
Однозначно OpenCart. WooCommerce на WP - это оставь отморозкам.
Вопрос: Какую БД использовать для проекта?

Лучший ответ:
см. внизу

Худший ответ:
Cassandra хорошо работает в режиме массивной записи. CQL вместо SQL.
https://jaxenter.com/evaluating-nosql-performance-...
https://dzone.com/articles/efficient-cassandra-write
Есть также совместимая с ней ScyllaDB.
Хотя может это излишество.
Вопрос: Как строго отделить Array от Object?

Лучший ответ:
Это что троллинг?
Для определения массива достаточно Array.isArray 
Для определения объекта:function isObject(item) {
  return (typeof item === "object" && !Array.isArray(item) && item !== null);
}
Если в вашем коде возникают трудности с определением типа данных могу порекомендовать использовать TypeScript или Flow.
Еще старайтесь писать читаемый код. Использование ни о чем не говорящих аргументов, отсутствие пробелов между операторами и операндами, и !0, !1 вместо true, false не очень хорошая практика.

Худший ответ:
newaitix, да, согласен с Антон Спирин , у вас всё запущено.
Постараюсь проще объяснить отличия  NodeList от Array.
Они наследуют свои основные свойства совершенно от разных прототипов. И единственными общими прототипами для них являются Object и null.
Для проверки можно также использовать instanceof.if (obj instanceof Array) console.log('obj isArray!');
Вопрос: Чем отличается 5 издание книги Марка Лутца «Изучаем python» от 4?

Лучший ответ:
Предыдущее, 4-е издание была опубликовано в 2009-м и освещало использование Python 2.6 и 3.0. Пятое издание завершено в 2013-м и освещает Python 3.3 и 2.7. Оно включает все изменения в языке, появившиеся с момента предыдущего издания.
В частности:Материал о Python 2.x дополнен описанием словарных и множественных (майн готт, как это правильно перевести?) включений, которые появились в Python 3.x, но были бэкпортированы в 2.7.Материал о Python 3.x дополнен описанием нового синтаксиса yield и raise, механизма кэширования байткода __pycache__, пространств имён для пакетов и т.п.Ассорти из новых или расширенных описаний JSON, timeit, PyPy, os.popen, генераторов, рекурсии, слабых ссылок, __mro__, __iter__, __super__, __slots__, метаклассов, дескрипторов, random, Sphinx и прочего.
Так же добавлена глава про эволюцию Python, глава про бэнчмаркинг и два дополнительных приложения (про последние изменения в Python и новый launcher (?) для Windows). 
И контрольный выстрел: 5-е издание стало немного больше, так как более подробно рассматривает продвинутые возможности языка, которые раньше игнорировались.

Худший ответ:
Если по Python-у то хотя-бы этим 4 != 5
Вопрос: "Купи" и «купить» в РСЯ?

Лучший ответ:
1. Яндекс воспринимает это как одинаковые слова. Главное, что это одна часть речи - глагол.
2. Возможно, стоит использовать более уважительное слово - "Купите"? Это более распространено.
3. В РСЯ нет смысла составлять релевантные заголовки. Яндекс при рекламе в РСЯ релевантность не учитывает.

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

Лучший ответ:
Паттерн проектирования - повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.
Алгоритм - набор инструкций, описывающих порядок действий исполнителя для достижения некоторого результата.
Статей и книг по первому и второму в интерете предостаточно.
https://addyosmani.com/resources/essentialjsdesign...
https://github.com/fbeline/Design-Patterns-JS
https://mgechev.github.io/javascript-algorithms/

Худший ответ:
В данном случае точнее говорить "паттерны проектирования", потому что просто патерн может быть чего угодно, это просто шаблон.
Паттерн проектирования дает шаблон решения часто встречаемых однотипных задач, он может быть абстрактым и больше как рекомендация, он не дает точных указаний и порядок действий. 
Паттерн от алгоритма отличается так же, как проект дома от пошагового процесса его постройки.