Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Android Studio что не так с кодом?

Лучший ответ:
Нарушена логика в коде.

Метод foo() почему-то возвращает:
- или число от 1 до 5, если на любом шаге цикла в random мы получили число меньше 98.
- или пустой список foo (в случае если random 5 раз оказалось число выше 98).

Далее в методе onClick() после вызова foo() происходит кастинг к ArrayList.
Тут приложение и падает (вероятно с ClassCastException), если foo вернула число, а не ArrayList.
В случае если foo() все таки вернет ArrayList, то приложение все равно упадет при вызове gold.get(0) с ошибкой IndexOotOfBoundException, т.к. список пустой.

Если я правильно понимаю то, что хотел сделать автор, то нужно в методе foo() все эти return 1, return 2 и т.д. заменить на добавление числа в список.

if (random < 36) {
foo.add(1);
} else if (random < 61) {
foo.add(2);
} ... и т.д.

Худший ответ:
Может кому- то пригодится решение.  Android Studio Random с вероятностью. Сам долго искал, внятного образца не было.
package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import java.io.Serializable;
import java.util.ArrayList;


public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button cmak = (Button)findViewById(R.id.knopka);
        final TextView ocko = (TextView)findViewById(R.id.okno);

        cmak.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ocko.setText(String.valueOf(foo()));
            }

            private Serializable foo(){
                ArrayList<Integer> foo = new ArrayList<>();

                for (int i = 0; i< 5; i++) {
                    double random = Math.floor(Math.random() * 100) + 1;
                    if (random < 36) {
                        foo.add(1);
                    } else if (random < 61) {
                        foo.add(2);
                    } else if (random < 81) {
                        foo.add(3);
                    } else if (random < 96) {
                        foo.add(4);
                    } else if (random < 98) {
                        foo.add(5);
                    }
                }
                return foo;
            }
        });
    }
}
Вопрос: Есть ADSL маршрутизатор D-Link dsl-2600u 2010г,что можно с ним сделать?

Лучший ответ:
Использовать как точку доступа WiFi

Худший ответ:
Очевидно, использовать как маршрутизатор.
Вопрос: Как сделать так, чтобы hover эффект работал только на один объект?

Лучший ответ:
А зачем вообще тут JS, можно через таблицу стилей просто применять стили для дочерних элементов наведённых блоков:
.block:hover .price {
   ......
}
.block:hover .price span {
   ......
}
.block:hover button.buy {
   ......
}

Худший ответ:
это $('.price') выбирает все элементы с классом price на странице, тебе нужно искать такой элемент только внутри того на который навёл, что-то типа $(this). find('.price')
Вопрос: Какой выбрать монитор для работы при бюджете в 20000 рублей?

Лучший ответ:
При таком бюджете - если это только на монитор - конечно же NEC!
23.8" 16:9 1920x1080
24" 16:10 1920x1200

NEC делает замечательные мониторы, но весьма недешевые :) У меня стоит такой, довольно старый, брали конечно не мне :) 26" 2690WUXi

Худший ответ:
Новые Dell и NEC с quad-разрешением.
Вопрос: Android developer или Web developer?

Лучший ответ:
Android developer или Web developer? однозначно Android, ибо много конкурентов (из 40 отбирают одного), на уровень ниже доход чем android development, порог входа минимальный.

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

Однозначно - нет.

Худший ответ:
Порог входа в андроид меньше, поставил андроид студию и клепаешь на джаве.

В вебе же технологий дофига и часто надо знать разные

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

Так как джуном устраиваешься один раз в жизни то везде легко

У меня есть два типа друзей те кто устраивается на работу в течении недели в независимости от начальных данных и те кто устраивается месяцами и не может, в целом это никак не связано с их профессиями, это просто либо устраиваешься либо нет, работы всегда дофига
Вопрос: Можно ли открыть в интерпретаторе python, -py фаил?

Лучший ответ:
На выбор:

pickle
shelve 
configparser

yamlimport yaml
config = yaml.safe_load(open("path/to/config.yml"))

json# config.json
{
    "mysql":{
        "host":"localhost",
        "user":"root",
        "passwd":"my secret password",
        "db":"write-math"
    },
    "other":{
        "preprocessing_queue":[
            "preprocessing.scale_and_center",
            "preprocessing.dot_reduction",
            "preprocessing.connect_lines"
            ],
        "use_anonymous":true
    }
}
import json

with open('config.json') as json_data_file:
    data = json.load(json_data_file)
print(data)

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

Лучший ответ:
Amazon работает на AWS, в AWS есть CDN CloudFront, в CloudFront есть WAF (Web Application Firewall), WAF работает на машинном обучении. Если вы не купите proxy из другой части света и не измените до неузнаваемости сигнатуру запроса то никак - машинка уже вас оценила, взвесила и за километр чует

Худший ответ:
А я не вижу в CURL proxy...
Поставь на сервер прокси Тор и добавь в CURLcurl_setopt($ch, CURLOPT_PROXY, 'localhost:9050');
curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
может поможет ;)
Вопрос: Как написать быстрый парсер на PHP?

Лучший ответ:
Так а скорости то хватает? Если предположить, что средний вес загружаемой страницы ~450кб, то для загрузки 25 таких страниц как раз нужно ~90 мбит/сек: 450кб * 25 = 11250кб/сек = 11,25мб/сек = 90мбит/сек.

Худший ответ:
Писать его на С++
Вопрос: В чем отличие max-width От width?

Лучший ответ:
Width: 100%
Max-width: 1200px
Блок будет тянуться на всю ширину родительского контейнера, но не выйдет за пределы 1200 пикселей. Удобно, например, ограничивать максимальную ширину сайта — есть предел, но до предела размеры будут соответствовать ширине браузера.

Худший ответ:
Если width равен 10000%, а max-width 100% то в блоке будет ширина не больше 100%.
Вопрос: Как правильно подключить счёт РФ с кириллицей к Upwork?

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

I'm glad to inform you that the name mismatch has been reviewed and approved. Your PayPal account will be activated on July 2, then you can start using it to withdraw your funds.


Худший ответ:
Не совсем так. В реквизитах для международных переводов банк пишет имя латиницей. По крайней мере тинькоф точно. Откройте реквизиты для USD, там есть поле “Получатель (Beneficiary)".
Вопрос: Как работает защита авторского права на видео ВК?

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

Худший ответ:
Там судя по всему по-разному. Было у меня две разных истории:
1. Выложил клип японской мета-группы (большой многосоставный коллектив, в котором одновременно три-четыре команды выступают) - сначала ссылкой на трубу. Заблокировали! Загрузил сам - заблокировали! Бодаться особо не хотелось - плюнул.
2. Выложил (давно) клип отечественного исполнителя начала нулевых. Лежал черт знает сколько лет - потом вдруг оба - заблокировали! Переименовал - и снова выложил и все проканало.

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

Лучший ответ:
Это конечно круто - публиковать код, не говоря при этом ни слова о том, что он делает, и просить найти в нём косяки. Поступлю симметрично: вот вам код рабочий - сравнивайте со своим, думайте:const digital_root = x => x > 9 ? digital_root([...`${x}`].reduce((acc, n) => acc + +n, 0)) : x;

Худший ответ:
У Number нет length.
Вопрос: Что больше будет нагружать сервер: AJAX или SOCKET'ы?

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

Худший ответ:
Сокеты. Не каждый сервер в принципе способен обрабатывать тысячи конкурентных соединений.
Вопрос: Питание материнской платы 8+4pin. У меня 4+4pin. На озон увидел переходник с молекса на ВИДЕОКАРТУ. Можно ли так запитать?

Лучший ответ:
Там все пары контактов в параллели, дополнительные 2 пары чтобы больше тока высосать. Подключайте 4+4 в материнку, оставляйте оставшиеся 4 в воздухе и всё нормально будет работать, если разгоном не заниматься (но в наше время турбо бустов им и не надо заниматься)

Худший ответ:
переходник для видеокарты не влезет в разъём для материнской платы.
Вопрос: /deletethis/deletethis?

Лучший ответ:
Я честно пытался прочитать эту дичь, но в ней слишком много бреда. Если тебя интересует самый выгодный вариант, то это поступление в нормальный вуз(обычно на город таких 2.5) и работа ~ со второго курса. А так - ты даже гуглить не научился, сомневаюсь что ты осилишь ... э ... что-либо.

Худший ответ:
Не факт, что там будет изучение именно веб'а или нужного мне ЯП. 
Ни колледжи, ни университеты не созданы, чтобы следовать трендам. Вас просто познакомят с систематизированными знаниями о Computer Science. Что такое машина Тьюринга, как работает центральный процессор, как данные из ethernet кабеля на нижнем уровне превращаются в http запрос на верхнем уровне, как работать с графами, как работает диспетчер задач в ОС, как распределяется память между процессами, какова сложность алгоритмов и т.д. Вы получите, только те знания о технологиях, которые стали фундаментальные, классикой жанра.
Главной задачей профессии вашей станет не получение этих знаний, и даже не тех знаний, которые дают тренды. А чтобы найти заказчика, или устроиться на место работы, куда приходят нужные вам заказчики (желательно, чтобы они были достаточно денежны), и обслуживать их интересы. У них будут потребности в некой системе, в которой будет кнопочка "сделать хорошо", ваша задача будет сделать кнопочку "сделать очень хорошо", или даже "супер". Заказчику будет не важно, пишите ли вы на пайтоне или на пыхе, получили навыки работы с бэком две недели назад или пашете 5 лет. Если вы напишите свой продукт достаточно качественно и в срок, то ваши потуги оценят (желательно принимать только денежные оценки). Вот в этом и будет философия "доучивания".
В универ стоит идти, если не хотите сразу из школы в армию. В универе можно будет учиться на 3, посещать меньше всего занятий, насколько это возможно, и одновременно искать место, где можно работать с теми самыми заказчиками.
Вопрос: Как максимально «безопасно» перекачать файлы?

Лучший ответ:
 Да и скорость переноса раз в 20 выше, тк файл один и большой.
А? Для файлов в 2 Гб нет никакой разницы.
Если флешка и её файловая система не повреждена, то система сама всё корректно перепишет.
Если же хочется паранойя спать не даёт, то пакуйте каждый файл в rar без сжатия с добавлением информации для восстановления и вперёд.

Худший ответ:
Копирование одного или нескольких файлов в другое место.
COPY [/V]
  /V           Проверка правильности копирования файлов.
Вопрос: Как работает такое налогобложение (когда не живёшь в стране)?

Лучший ответ:
Что вы лично думаете по поводу налогового законодательства никому не интересно. И уж тем более налоговым всех стран. При том что в большистве стран нарушения в этой области крайне легко становятся уголовными. 
Как вам уже сказали - есть понятие налогового резидента - резидентом какой страны вы являетесь там и платите, по местным законам.
Другой вопрос если вы "не являетесь налоговым резидентом никакой страны" - то это очередное ваше личное мнение до тех пор пока налоговая не скажет то же самое. есть преценденты когда налоговая нашей страны просто смотрела на прописку и так как человек все то время пока был "в отпуске в теплых странах" оставался зарегистрированным по месту прописки - принимала позицию "ну значит наш резидент и должен платить со всех доходов".
По поводу туристического статуса - в одних странах находясь там как турист и получая в то же время доход вы уже нарушаете миграционное законодательство. В других - не нарушаете если доход за пределами страны. 
Есть еще одна сторона вопроса - граждане РФ обязаны сообщать о всех зарубежных счетах и так же получать любые средства в первую очередь на счета в РФ. Были скандалы и вроде сделали какие-то поблажки для тех кто является резидентом другой страны, но я не вдавался в детали. В любом случае к вам как к туристу это не относится - по закону все ваши средства должны быть или в россии или на счетах про которые вы рассказали. Как только вы обналичили свою крипту в любом виде - это тоже считается.
В общем - это большое и плохо отрегулированное поле с кучей разных ситуаций и законов, и сейчас можно бомжевать по другим странам в статусе туриста просто потому что до вас по большому счета никому дела нет. По факту всегда будет пачка законов сразу нескольких стран которые вы нарушаете или госструктуры думают что вы нарушаете.
как итог можете быть уверены - если вы выйдете в официальное поле и будете из себя что-то представлять в финансовом плане - всегда найдется кто-то, кто будет с вас хотеть налогов. вне зависимости от того как и где вы перемещаетесь и что вы сами об этом думаете.

Худший ответ:
Статья 11 Налогового кодекса России определяет, что налоговый резидент РФ — это физическое лицо, которое выполняет все требования налогового законодательства нашей страны. К налоговым резидентам относятся следующие категории налогоплательщиков:граждане Российской Федерации, зарегистрированные по месту жительства или месту пребывания в нашей стране (кроме живущих постоянно за рубежом);иностранцы, имеющие разрешение на постоянное пребывание в России (выдается работниками министерства внутренних дел);иностранные граждане с видом на жительство в Российской Федерации;иностранные работники, заключившие срочный трудовой договор с организацией, осуществляющей свою деятельность на территории России. Срок этого договора должен превышать 183 дня.
И учтите, что легализовать доходы за 6% от их суммы- кроме России нигде нельзя (оформление в качестве самозанятого через приложение при наличии ИНН), по крайней мере в известных мне странах.
Вопрос: Как задать имя для порта программы в UFW?

Лучший ответ:
Создать файл с названием приложения, службы и т.д.
/etc/ufw/applications.d/name-applications

Добавить в файл
[name-applications]
title=A title
description=A description
#список правил для "name-applications" 
ports=xxx/tcp|xxx/udp|xxxx:xxxx/udp

обновить app list
sudo ufw app update name-applications 
включить правило
sudo ufw allow name-applications

Можно просто добавить комментарий ( comment 'name-applications' ) в конце правила.
sudo ufw allow in on eth0 to any port 80 comment 'name-applications'

Худший ответ:
ufw app list
Можно задать имя приложения при настройке.
Вопрос: Yii2 как в контроллере понять, что в форме нажата кнопка Save?

Лучший ответ:
1. Кнопка Save тут ни причем. 
2. У модели есть 2 метода $model->save() и $model->validate()
 $model->save() - сохраняет и валидирует
$model->validate() - только валидирует данные.
У вас должно быть немного иначе:if ($model->validate()) {
        ///здесь ваш код
        $model->save()
        пишем данные, закрываем модалку
    } else {
        выводим результат валидации (рендерим аякс? или встроенная валидация?)
    }
}
С загрузкой данных из формыif ($model->load(Yii::$app->request->post()) && $model->validate()) {
///code
   $model->save()
}
Валидацию вы выбираете сами. Я думаю, что простые правила валидации валидируются ajax. А сложные уже после нажатия кнопки и запроса на сервер. Например, длину текста валидируем на клиенте. А сложную логику после запросаВопрос: как мне в контроллере проверить, что была нажата кнопка Save в форме?
Зачем вам проверять нажата ли кнопка? Это вопрос JS. А в контроллере вы смотрите на переданные данные из формы. Если они есть, то вы их обрабатываете. Если их нет, то вы показываете форму.

Худший ответ:
данные post запросом сохраняются, по этому обычно в контролере пишут:
if ($request->isPost()) {}
ну или проверить передачу значения:
if ($request->post($имяКнопки)) {}
Вопрос: Как получить значения $_SERVER['HTTPS'] и $_SERVER['SERVER_PORT'] на nginx?

Лучший ответ:
Предположу, что ваша схема работы сейчас примерно такая:
AWS *LB (предполагаю ALB если ваши коллеги не любят ELB настолько что еще не прееехали) принимает трафик, терминирует https и в расшифрованном виде отправляет на NGINX. Так же может принимать HTTP
контейнер NGINX  служит для внутренней балансировки трафика или, возможно, хостит приложения. Он всегда слушает HTTP
В общем случае контейнеру и приложению не надо знать как пришел трафик внутри сети - все заботы о HTTPS берет ALB и дальше приложение должно работать вне зависимости от того на какой порт снаружи пришло и зашифрован ли был трафик.
Отсюда возникает логичный вопрос: зачем вашему приложению понадобилось знать по какому протоколу приходит трафик? Но это ваша проблема.
Конкретно вам нужно с NGINX или обрабатывать или редиректить дальше на приложение(если NGINX используется как внутренний LB) заголовки X-Forwarded-Proto и X-Forwarded-Port 
https://docs.aws.amazon.com/elasticloadbalancing/l...
Вот тут подтверждают что эти же заголовки создаются и для ALB 
Как это сделать на NGINX - вторая часть вопроса.

Худший ответ:
Load balancer может работать на разных уровнях модели OSI - TCP или HTTP. Во втором варианте - интересующие Вас параметры остаются на Load balancer'е и Вам не передаются.
Вопрос: Как удалить все элементы методом remove()?

Лучший ответ:
document.queryeSelectorAll('.main-menu__item')
  .forEach(elem => elem.remove());
В консоли можно вообще так:
$$('.main-menu__item')
  .forEach(elem => elem.remove());

А вообще да, массив меняется, потому что
HTMLCollection, хранящая элементы DOM, является динамической. При изменении документа она моментально отражает все произведённые изменения.

Можете вместо этого перебирать массив с конца
for (let i=li.length;i>=0;i--) { ... }
или вообще, удалять первый элемент пока массив не опустеет
while(arr.length) arr[0].remove()

Худший ответ:
Попробуй или 
while (li.length > 0)
  li[0].remove();
или
for (i=li.length-1;i>=0;i--){
  console.log("Remove element number " + i)
  li[i].remove() 
}
Вопрос: Как поставить Windows 10 и Linux на SSD + HDD?

Лучший ответ:
1. отключи ссд  в биосе поставь на hdd линукс включи обратно.
выбирай приз загрузке на ф8 с кого грузитья, тогда рыба отдельно и котлеты отдельно.
2. удали винду вообще, это единственный нормальный способ выучить линукс.
3. виртуальная машина + линукс

Худший ответ:
Если хочешь максимально сохранить win10
1. Отключить SDD
2. Установить нужный дистрибутив на HDD
3. Подключить SSD
4. При загрузке выбрать HDD
Вопрос: Почему версии php в phpinfo() и php -i расходятся?

Лучший ответ:
Потому что в настройках веб-сервера указана другая версия php, поэтому он ее использует и результат показывает тоже относительно ее, а вызов бинарника php работает независимо от веб сервера. Для apache надо обновить модуль php, а для nginx надо в основных настройках подключить нужную версию php-fpm. Более развернутые ответы на эту тему (ссылка).

Худший ответ:
Установлены две версии php.
Одна — см. путь до php.ini в браузере
Вторая — сделать `php --ini` в консоли.

В теории, можно сделать так, чтобы веб-сервер использовал консольный пхп или наоборот, чтобы в консоли в $PATH был путь до вашего веб-серверного php.
Вопрос: Насколько целесообразна вёрстка в относительных единицах?

Лучший ответ:
Если это техническое задание - то нужно делать, если Ваша цель устроиться на работу.

Чем грозит использование относительных единиц во всей верстке? - Как минимум в стоимости дальнейшей поддержки продукта. Если допустим я прихожу на проект, который меня просят доработать, и там всё и вся обмазано rem\em - стоимость повышается в 1,5-2 раза.

Для чего лучше всего использовать относительные единицы? - верстка интерфейсов для слабовидящих, по клику button вы уменьшаете\увеличиваете размер элементов, либо текста. Идеально сходится с относительными единицами измерения css.

Для всех других случаев - px с головой. Очень удобно использовать vh\vw для резиновой верстки. Но так же не бездумно.

Худший ответ:
Прошу прощения за маленькую неясность. Все элементы должны быть свёрстаны через vh vw
Вопрос: Normalize мешает верстать. Что делать?

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

Использовать normalize.css нормально, если вам нравится его философия. Если вам кажется, что вы начинаете с ним бороться, наверное, лучше сделать другой выбор.

Худший ответ:
нет, он помогает, хотя некоторые отключают и его и переписывают все в блоках. Типа Яндекса.
*{
  margin:0;
  padding:0;
}
это очень хреновый вариант Reset CSS
Вопрос: Почему я могу изменять массив при использовании const?

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

Худший ответ:
Массив = объект. Подробно про объекты-константы и копирование по ссылке объясняют тут.

Свойства его не защищены от изменений. Но можно его заморозить:
const arr = [0, 0, 0];
Object.freeze(arr); // ма-агия!
arr.unshift(100);   // выбросит ошибку: нельзя менять свойство длины, оно non-writeable
arr[1] = 'z';       // ошибки не будет, но
console.log(arr)    // [0,0,0]
Вопрос: Kotlin + Android studio?

Лучший ответ:
Зачем переделывать, если Kotlin интероперабелен с Java? Их вполне можно юзать в одном проекте вместе. 
Перевести весь проект на Kotlin - это уже зависит от предпочтений, вкуса, времени самого программиста/бизнеса

Худший ответ:
Во-первых, он не упрощённый, а просто более продуманный. В каких-то местах более сложный. 
Во-вторых, да, начали переходить. Он интероперабелен с джавой, можно писать на двух языках. Все новые фичи на котлине, старые по мере необходимости переносятся (Cmd+Option+Shift+K + допилка слегка).
У нас в Яндекс Картах гораздо больше кода на Котлине, чем на Джава.
Вопрос: Как написать детектор бреда на Python?

Лучший ответ:
Атр я рж с вс и в тки хтите брд пределит?

Между прочим вы восстановите эту фразу

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

Лучший ответ:
Когда в браузере вводите адрес, происходит примерно следующее:

браузер переводит имя в ip адрес и подключается к нему.
Когда ввели вместо имени ip, сразу понятно, куда подключаться.
там отвечает веб-сервер. После соединения браузер по протоколу HTTP «здоровается» с сервером и говорит, что ему надо. Это, в общем-то, похоже на обычный текстовый чат. Браузер пишет первым:
GET / HTTP/1.1
Host: web.site.com
Accept-Language: ruОбратите внимание на заголовок Host — тут тот адрес (без дальнейшего пути /a/b/c/index.php), который ввели в браузере. Если ввели именно ip, он и будет там в заголовке Host.

Теперь дело за сервером, как он настроен. Часто на одном сервере, на одном ip, располагается несколько сайтов. И сервер понимает, какой сайт запросили, именно по заголовку Host.

Вполне можно настроить веб сервер, что ему делать, когда в поле Host находится ip-адрес: отдавать какую-нибудь заглушку, или основной, единственный сайт.

Худший ответ:
Читать нужно о virtualhosts

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