Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Почему imagecreatefromjpeg не загружает некоторые изображения по URL?

Лучший ответ:
Для начала скачать попробуйте через file_get_contents. Может там защита от "хотлинкинга" и оно без правильного referer фигу выдает. Или нужен правильный user-agent. Мало ли, короче

Худший ответ:
Пока относительно рабочий вариант получился таким:
$cu = curl_init();
curl_setopt($cu, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($cu, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($cu, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cu, CURLOPT_BINARYTRANSFER, 1);

foreach($prods as $prod)
{
    curl_setopt($cu, CURLOPT_URL, $prod[1]);
    $data = curl_exec($cu);
    $img = imagecreatefromstring($data);

    if($img)
    {
       //Обработка изображения
    }
    else
    {
        echo $prod[1] . '<br>' .  curl_error($cu). '<br>';
    }
}

curl_close($cu);
Вопрос: Вопрос инженерам оптикам, можно ли создать линзу/адаптер для установки MFT объектива на EF камеру?

Лучший ответ:
Не вижу ни одной причины использовать это. Даже если у вас киношные дорогие объективы. Так люди бесились году в 2008-9, когда только 5dmII вышел.  
Сейчас я бы дал предпочтение хорошей картинке со стабом, чем в 2010х, когда у меня на каждый пчих был по объективу (18,35,50,85,135).  

Конкретно по вашему вопросу, есть два решения, 
1) использовать специальные адаптеры, добавляющие линзу посередине. По этому вопросу может подсказать Андрей Крамар, занимается созданием анамарфотных линз. 
2) Удалить зеркало. Так заморачивались раньше, не помню названия серии киношных объективов этих ( как бы не compact prime от цейсов на super 35), но почти каждый киношник хотел такой апгрейд. И немногие ставили. 
И то и другое решение потребует временных и денежных трат минимум в $500. Я бы тушку купил дополнительную под задачи необходимые. Тот же blackmagic pocket.

Худший ответ:
Вы, похоже, не понимаете, ради чего делают эти speed booster-ы, на которые ссылаетесь в комментариях, и что они делают. 
Их функция - не только корректировка рабочего расстояния (от задней линзы объектива до сенсора), с чем обычно вполне справляется простой "отрезок трубы". Они также корректируют размер изображения, сжимая его, потому что сенсор 4/3 меньше сенсора  APS-C. Это даёт несколько преимуществ, если такой адаптер - не дерьмо.
А то, что вы хотите, должно (дополнительно к коррекции рабочего отрезка) растягивать изображение, потому что объективы под систему m4/3 работают с меньшим сенсором. Растягивая изображение, вы неизбежно ухудшаете оптическое разрешение (ровно также, как в случае использования удлинительных колец для макросъёмки) и качество итогового изображения. Также, растягивая изображение, вы делаете количество света, попадающего на единицу площади, меньше, что заставило бы вас использовать более высокую чувствительность для получения той же экспозиции. (В случае со speed booster, эффект обратный.)

Именно по этой причине, такой адаптер не нужен никому, он даже вам не нужен (ну если только вас не устроит мутная картинка). Я даже совершенно странный сценарий плохо могу представить - это нужно как-то заиметь очень дорогой и хороший объектив m4/3, но либо не иметь камеры под него (которая стоит сравнимо с адаптером), либо упорно не желать её носить.
Вопрос: Как открыть диалог в WhatsApp Web при помощи JavaScript?

Лучший ответ:
Нашел на иностранном сайте, как симулировать клики на React. Ниже пример, который подходит и для WhatsApp:
const mouseClickEvents = ['mousedown', 'click', 'mouseup'];

function simulateMouseClick(element){
  mouseClickEvents.forEach(mouseEventType =>
    element.dispatchEvent(
      new MouseEvent(mouseEventType, {
          view: window,
          bubbles: true,
          cancelable: true,
          buttons: 1
      })
    )
  );
}

// Ищем диалог по номеру телефона:
var element = document.querySelector('span[title="+7 905 837-96-43"]');
simulateMouseClick(element); // Симулируем событие клика
Данный способ оказался рабочим, можно использовать. В целом оказалось достаточно одного события mousedown:
// Ищем диалог с по номеру телефона:
dialog = document.querySelector('span[title="+7 905 837-96-43"]');

// Вызываем событие mousedown на найденном элементе:
dialog.dispatchEvent(
  new MouseEvent('mousedown', {
      bubbles: true
  })
);
При этом bubbles является параметром обязательным, без него не работает.

Худший ответ:
Нашел на иностранном сайте, как симулировать клики на React. Ниже пример, который подходит и для WhatsApp:
const mouseClickEvents = ['mousedown', 'click', 'mouseup'];

function simulateMouseClick(element){
  mouseClickEvents.forEach(mouseEventType =>
    element.dispatchEvent(
      new MouseEvent(mouseEventType, {
          view: window,
          bubbles: true,
          cancelable: true,
          buttons: 1
      })
    )
  );
}

// Ищем диалог по номеру телефона:
var element = document.querySelector('span[title="+7 905 837-96-43"]');
simulateMouseClick(element); // Симулируем событие клика
Данный способ оказался рабочим, можно использовать. В целом оказалось достаточно одного события mousedown:
// Ищем диалог с по номеру телефона:
dialog = document.querySelector('span[title="+7 905 837-96-43"]');

// Вызываем событие mousedown на найденном элементе:
dialog.dispatchEvent(
  new MouseEvent('mousedown', {
      bubbles: true
  })
);
При этом bubbles является параметром обязательным, без него не работает.
Вопрос: Можно ли сделать индексаторы динамической длиный?

Лучший ответ:
class People{
List<Person> data = new List<Person>();
...

+ обработка ошибок

Худший ответ:
Такое ощущение, что вам нужен Dictionary<int, Person>, вместо массива, тогда не нужно будет динамически расширять массив, когда это надо (и не будет создаваться лишнее пустое место, если вы захотите пропустить пару сотен элементов)
Вопрос: Как по IP получить CIDR?

Лучший ответ:
Однозначно никак. Диапазоны могут быть разные, без маски подсети не обойтись.
В линуксе для этого есть ipcalc, например.

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

Лучший ответ:
Настройте VPN между ноутбуком и роутером офиса. Запустили VPN - получили виртуальный кабель, который соединит ноутбук с DC.

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

Лучший ответ:
В модель внесены изменения, но не произведены миграции:

python manage.py makemigrations
python manage.py migrate

Худший ответ:
Сделайте миграции
Вопрос: Написание Телеграм бота работающего с Excel?

Лучший ответ:
Сможет

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

Лучший ответ:
No silver bullet in this world.
Это абсолютно разные протоколы с разными целями назначения. Одно - синхронный протокол, другое событийный. Одно инициируется только клиентом, а другое двунаправленное. Используйте применимо к задаче решение, лучше подходящее.
Ну, и отвечая на вопрос про скорость - в http протоколе при каждом запросе открывается новое соединение, а в вебсокет - один раз. В итоге убирается потеря на этой точке

Худший ответ:
drewww.github.io/socket.io-benchmarking нашел отличные исследование на тему websocket.
Вопрос: Gem install mysql error. Как же установить?

Лучший ответ:
Попробуй:
sudo apt-get install build-essential patch
sudo apt-get install ruby-dev zlib1g-dev liblzma-dev
Рубин лучше ставить через rbenv или rvm

Худший ответ:
1. А сам MySQL у вас установлен? Дело в том, что gem mysql не совсем полноценный клиент, это скорее обёртка над системной библиотекой для работы с MySQL.
2. Попробуйте установить более современную библиотеку `gem install mysql2`, а не `gem install mysql`.
3. Каким образом вы устанавливали сам Ruby? Через менеджер или нативно? Попробуйте убрать Ruby и установить, например, через RVM.
Вопрос: Как задать пустой двумерный массив?

Лучший ответ:
const m = [[]]
m[0][0] = 'информация'

Худший ответ:
EiEich, В m[ i ] [ j ] второй атрибут 'j' меняется, а вот если i будет больше '0', то уже ошибка "Can not set property "0" or undefined"
естественно, вы строкой const m = [[]] создаёте массив, с объявленным нулевым элементом, в который присваивается пустой массив.
при i=1, ваш массив разложиться в такую конструкцию: undefined[0]
Можно добавить m.push(i) при каждой итерации i
Но если заранее известен размер массива (величина i), то можно массив объявить так:m = (new Array(10)).fill([]) // заменить число 10 на нужный размер
Вопрос: Как ускорить 1С?

Лучший ответ:
Перейти на 64-х разрядный сервер приложения и MS SQL.

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

Лучший ответ:
Мне в свое время давали такой совет:
1) Поднимаешь на VMWare несколько виртуальных машин с серверными ОС. 
2) Поднимаешь между ними сетку
3) И начинаешь не просто читать книги по администрированию а "тренироваться на кошках", выполнять небольшие задачи в духе "сделать папку общедоступной" Начни с книг Таненбаума, это считай "библия". 
4) Что касается "оптических роутеров" - оптические от неоптических отличаются лишь наличием/отсутствием оптических сетевых интерфейсов. Но и те и другие работают по одинаковым принципам.

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

Лучший ответ:
В данном случае разницы нет. Так как эта операция (i++ или ++i) выполнится в конце итерации.
А в примере ниже разница уже есть:int i = 0;
for (; i < 5;)
{		
	Console.Write(++i);  // 12345	
	
	// i = i+1;
	// Console.Write(i);
}
		
Console.WriteLine();
		
i=0;	
	
for (; i < 5;)
{			
	Console.Write(i++); // 01234

	// Console.Write(i);
	// i = i+1;	
}

Худший ответ:
Третий блок в for выполняется после тела цикла.
Вопрос: Почему появился чёрный экран после загрузки Windows 10?

Лучший ответ:
Вероятно, не стартует Проводник.
Как увидите черный экран, жмите Ctrl+Alt+Del, запускайте диспетчер задач, в котором найдите процесс Проводник и перезапустите его, а если процесса проводника нет, то запустите новый через меню файл.

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

Лучший ответ:
Больше всего зарабатывает профессионал своего дела.

Худший ответ:
сколько готовы платить столько и должен зарабатывать
Вопрос: RAID 1 програмный на компьютере — сервер. Стоит ли делать?

Лучший ответ:
Тут все просто - главное понимать для чего нужен RAID1 и какие выгоды он несет.

Основная польза этого рэйда - обеспечение бесперебойной работы. Если вдруг у вас выйдет из строя один диск, вы без проблем замените его, не выключая компьютера, и не прерывая работы пользователя.
Без рэйда у вас будет небольшой перерывчик - пока данные из бэкапа будете поднимать, пользователи будут курить, а не работать.

Если для вас это важно - он нужен.
Если для вас это неважно - он ненужен.

P.S - следует четко понимать что RAID1 никак не влияет на сохранность данных. А то бывают случаи, что люди ставят его чтобы защитить данные.

Худший ответ:
Просто прошлый виндовс 2008 R2 слетел был без бекапа, да еще на WD Purple бе рейда. Здоровье жесткого отлично, но посоветували поставить на серверный SSD, при этом взять 2 по 500 Гб и сделать RAID 1 (но програмный), только для системы виндовс и установленых на него програм. Но скорость же будет при рейде? лчше чем просто WD HDD

И не будет ли програмный рейд сильно влиять на процессор этого типа?
Вопрос: Как обновить view с переданными данными?

Лучший ответ:
Вам не нужно использовать viewDidLoad для обновления вообще. Это метод жизненного цикла.

Опишите какую вью хотите обновить - таблицу, просто вью, бар? По какому ивент - что триггер? Напишите это в вопросе, после дополню ответ.

UPD:
У вас по нажатию на первом таббаре открывается второй?) Так не делается. Видимо вы совсем начинающих... Изучите гидлайны по проектированию интерфейсов. Там буквально 10 страниц с картинками, отдельно есть про TabBar. У меня есть видео про иконки таб-бара.

Чтобы обновить коллекцию, нужно использовать reloadData, performBatch или apply в зависимости как вы установили dataSource. Вы начинающий, скорее всего через reloadData все будет работать.

Чтобы обновить просто вью - используйте тригеры. Делегаты, нотификации. По ивенту устанавливать текст/картинку.

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

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

Худший ответ:
Придумай себе проект и начни его делать на Python. Плюсов - масса: будет реальный опыт разработки, удовлетворение от собственного проекта, будет что показать работодателю - это невероятно ценится, будешь решать реальные задачи и учёба будет проходить максимально быстро.
Я так Node.js сейчас учу :)
А английский учить надо, если хочешь быть в профессии. Программистов без знания английского не бывает.
Не буду советовать и рекомендовать, но по-моему, лучший способ выучить язык - погрузиться в среду и стараться понимать что они говорят. 
Все эти present indefenite - от лукавого. Ни один американский ребёнок не скажет тебе чем отличается Present Indefenite от Past Future, он просто по-английски пошлёт тебя нахер )
Понимаю, нет возможности переехать сразу в Америку. Тогда смотри фильмы на английском в оригинале и с субтитрами. Либо ютуб-ролики с презентаций google, iphone, spasex, - не важно, но по нашей теме и обязательно с субтитрами. Это увлекает и это полезно, в том числе для мозгов
Вопрос: Как реализовать абстракцию над последовательной цепочкой функций?

Лучший ответ:
Примерно как-то так:
class MyCLass {
  static wait(t = 1000) {
    return new Promise(r => setTimeout(r, t))
  }
  
  constructor() {
    this._promise = Promise.resolve()
  }

  then(callback) {
    this._promise = this._promise.then(MyCLass.wait).then(callback)
    return this;
  }
}

Худший ответ:
this.promise.then требует функции как параметр, Вы передали объект
this.promise.then(()=>new Promise(function(resolve, reject) {
Вопрос: Wifi роутер не может получить IP по DHCP провайдера?

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

Худший ответ:
Проблемы с роутером, линком, или оборудованием провайдера.
Причем проблемы могут быть как от неисправности, так и от неправильной настройки.
Обратитесь в техподдержку провайдера.
Вопрос: (unity) как отследить касание в определенной области экрана (по коллайдеру или типа того)?

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

отследить касание коллайдера висящего на объекте в сцене (в мировых, не экранных координатах и без оговаривания всяких "как-то бы его привязать к верхнему правому углу экрана")

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

Вуаля.
надеюсь поможет. удачи)

Худший ответ:
Нашёл, это IPointerDownHandler!
Вопрос: Что именно можно хранить в NOSQL базах данных?

Лучший ответ:
Все можно хранить. Но nosql базы бывают разные, заточенные под разные задачи.
Надо уточнять для чего вам база.
memcached, например, тоже можно сказать что это Nosql база. Используется для ускорения доступа.

А mongodb это скорее объекты, а не документы.

Например, вам нужно хранить такие поля
имя, фамилия, телефон
имя, адрес
фамилия, инициалы, год рождения
телефон, адрес, описание

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

А в mongodb,например, можно просто хранить объекты как есть:
Имя: Вася, Фамилия: Пупкин, телефон 02
Имя: Петя, адрес: "Останкино, 1"
Имя: Вера, инициалы: "В.Б.", год рождения: нескажу
телефон: "красненький", адрес: "Останкино, 1", описание: "что-то где-то"

И каждый объект хранится ровно с теми полями, которые в нем есть.
При этом поля могут быть разного типа.
При этом можно нормально пользоваться запросами и разными функциями.

Да, тут нет joins, зато монго оптимизирована для работы с подобным и размеры коллекций ее не слишком будут смущать.

Худший ответ:
NoSQL бывают разных видов:

ключ-значение
Могут применяться для получения сериализованного объекта по строковому ключу. Могут присутствовать операции над списками, счетчики и пр. Memcached,  Redis, Tarantool - работают полностью в RAM, поэтому особо не разгуляться. 
Есть персистентные: RocksDB,  BerkeleyDB, ...
Графовые
Удобно использовать когда в случаях, если в SQL запросах есть много JOIN и это все медленно работает из-за множества взаимосвязанных моделей
документо-ориентированные
Когда есть необходимость работать со сложными  структурами данных и в них нужно обновлять какие-то поля.
Saboteur в целом описал преимущества.
Но не испробовав тип JSON в РСУБД, я бы не стал сходу менять на документо-ориентированную.

 колоночные
Хороши для аналитических запросов
https://m.habr.com/ru/post/95181/


https://database.guide/nosql-database-types/
Вопрос: Как найти и изменить динамический элемент в Javascript?

Лучший ответ:
MutationObserver позволяет следить за изменениями DOM.
Это для «тяжёлых случаев», где вы никак не влияете на код, добавляющий элементы.

Худший ответ:
Реализовал так, работает.$.ajaxSetup({
  complete: function() {
    
	$("element").addClass('newclass');
  }
})
Вопрос: Насколько актуальна такая карта развития фронтенд?

Лучший ответ:
На мидла невозможно устроиться после 5м курсов. Мидл подразумевает под собой опыт, который курсы дать не могут. 
Раз вы уже работаете, то советую вам продолжать работать и изучать технологии, внимательнее смотреть на код вашего продукта и думать, что в нём можно улучшить. Думайте, какую задачу бы вам помог решить какой-нибудь новый модный Фреймворк.

Если в вашей компании есть практика наставничества или грейдов, то посмотрите на неё. Ну и не забывайте про своих более опытных коллег - попросите их вас оценить, чтобы понять слабые стороны

Худший ответ:
Просто тот же Яндекс Практикум с курсом мидл фронтенд разработчик говорит, что через 5 месяцев можно устроиться в любую крупную компанию на мидла
Да, но для поступления вы должны быть крепким джуном+

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

Лучший ответ:
Сохраняете это в Program.html<html>
<head>
<title></title>
<style>
body,input,button {font-family:Arial;font-size:2em;color:#fff;}
body {background: linear-gradient(45deg, #2e1d92, #81168f);}
input {background: none;border: none;border-bottom: 3px solid #fff;text-align: center;}
label input {width:2em;}
label.line input{margin-top: .5em;font-size: 1.5em;}
label:before{content: " ";display: block;width: 1.5em;height: 1.5em;border: 4px solid #fff;border-radius:1em;}
label.line:before {float:left;margin-top:.75em;margin-right: .4em;}
label.col:before {margin-top:1em;margin-right: .2em;}
label.col input {margin-top:.5em;font-size:1em;width:2em;}
label.white:before{background: #fff;}
label.red:before{background:#ea3b3b;}
label.blue:before{background:#4850ed;}
label.green:before{background:#56e85a;}
label.black:before{background:#222;}
button {font-size:1em;background: none;border: 3px solid #fff;border-radius: 1em;margin: 1em;padding: .3em 2em;}
</style>
<script>
function calc(){
let players = parseInt(pl.value),input = [iw,ir,ib,ig,il],output = [ow,or,ob,og,ol];
input.forEach(function (v, i){output[i].value=Math.floor(parseInt(v.value)/players);})
}
</script>
</head>
<body>
<div style="display:flex;justify-content: center;align-items:center;height:100%">
<div style="display:flex;align-items:center;flex-direction:column;">
<div style="text-align:center;">Кол-во участников:</div>
<input type="text" size="1" id="pl">
<label class="line white"><input type="text" id="iw"></label>
<label class="line red"><input type="text" id="ir"></label>
<label class="line blue"><input type="text" id="ib"></label>
<label class="line green"><input type="text" id="ig"></label>
<label class="line black"><input type="text" id="il"></label>
<button onclick="calc()">Считать</button>
<div>Кол-во фишек на одного игрока</div>
<div style="display:flex;justify-content: space-evenly;width:100%">
<label class="col white"><input type="text" id="ow"></label>
<label class="col red"><input type="text" id="or"></label>
<label class="col blue"><input type="text" id="ob"></label>
<label class="col green"><input type="text" id="og"></label>
<label class="col black"><input type="text" id="ol"></label>
</div>
</div>
</div>
</body>
</html>
С вас 300 рублей, целый час провозился...

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

Лучший ответ:
работал за хакинтошем полтора года, правда из-за графики от nvidia, пришлось сидеть на high sierra, так как на следующие версии не было дров, мне повезло с железом, так как изначально не собирал под хак, но потом пересел на него, все завелось, сеть, звук, графика, usb все на метеринке работали, работало также как и на нативном маке, только с обновлениями аккуратнее нужно, а то может какой-нибудь из кекстов отвалиться и перестанет заводиться

Худший ответ:
А я уже несколько дней бьюсь. Оказалось, не так много сборок на двухпроцессорных хеонах, не заводится. Обычный комп без проблем схавал Каталину на встройке i3-3225
Вопрос: Метод api.vk users.get не работает. С чем связано?

Лучший ответ:
Говорится, что для метода users.get не требуется дополнительных параметров, кроме id искомых пользователей. 
а это что?Но если указывать токен, выдает другую ошибку.
ну тк пиши какую

Худший ответ:
Для начала проверьте сам токен. Где вы его взяли?