Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Есть ли свободное время у программистов?

Лучший ответ:
Вам ставят задачу - вы её обдумываете, читаете литературу, что-то проверяете и тестируете, проектируете, а потом уже пишете код, а потом снова тестируете и девопсите. Попутно затрагиваются другие интересные темы, которые вы тоже изучаете. Кто-то считает это рабочим временем, кто-то свободным (кроме писания кода). 

Стандартная практика для джуна: вот тебе пару задач, которые надо сделать вчера, очень важные. А джун просто не в состоянии сказать (правильно сформулировать и донести до начальника): "У меня через 2 часа заканчивается рабочий день, завтра выходные, поэтому решу задачу через неделю, комиссия с проверкой подождёт." Это происходит, потому что джуны обычно чувствуют себя неопытными, неполноценными, что они не знают внутреннего устройства и процессов компании, что они кому-то должны. Отсюда возникают переработки, выгорания и заучивание этой "схемы", которую после повышения с чувством мести они реализуют на новых джунах.

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

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

Худший ответ:
document.querySelector ищет по всей странице с помощью обычного перебора элементов, а children[] выполняется за O(1).
Очевидно, что children быстрее, особенно при большом наборе элементов на страницеДоказательство
Вопрос: Как вывести данные с БД в массив и проверить их?

Лучший ответ:
SELECT ip FROM black_ip WHERE ip = $ip
вернет результат если будет совпадение
брать все данные и проверять их нет необходимости

Худший ответ:
Так пройдитесь foreach`ем по массиву и сравните c помощью if
Маны здесь:IFFOREACH
Вопрос: Как разобраться, какие данные нужно добавить, а какие обновить в БД?

Лучший ответ:
Очень путано спрашиваешь.
Например, гугли "upsert твоя_орм твоя_бд"

Худший ответ:
Если данные после даты последней синхронизации приложения изменились/добавились, то их по любому надо обновлять/добавлять... какие тут варианты? 
В любом случае, сначала надо проверить наличие, либо попробовать сразу обновить, поймать исключение отсутствия и сделать добавление.
Вопрос: Какой клиент есть для Яндекс музыки под мак?

Лучший ответ:
Сегодня задался этим вопросом, смотри что нашел https://yandex-music.juvs.dev/

Худший ответ:
А у веб версии какие проблемы?
Вопрос: Эмодзи в title или Description стоит ли?

Лучший ответ:
Да, это может улучшить ваш сниппет, а так же поведенческие метрики, например dwell time. А так же клики по нему. Зависит от ниши и реализации. Иногда это ни к месту. 
Экспериментируйте.

Худший ответ:
Эмодзи в <title> и  <meta name ="description" />можно использовать на примере сайта мировой сети пиццерии и Яндекс воспринимает такие удивительные тайтлы и поисковые мета-теги.
Эмозди в тайтле и мета-тегах на данный момент могут превысить привлекательность сайта или компании среди его посетителей и клиентов в плане развития и маркетинга в целом.
В эпоху цифровой трансформации бизнеса появляются новые виды интернет-маркетинга, как применение эмодзи в поисковой оптимизации сайтов...Как правильно применить эмодзи в тайтлах и мета-те...Эмодзи в мета-тегах HTMLО том, как применения эмодзи в метатегах сайтов пр...
Такое допустимо, автор!;-)
И все равно, твои работы с эмодзиями не только в поисковых результатах всем понравятся!!!
Вопрос: Почему такая большая востребованность?

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

Худший ответ:
... ну или "Предыдущий разработчик кинул нас и слился, оставив работу незавершенной...!"
Вопрос: Мой роутер D-Link теряет пакеты или у меня воруют интернет?

Лучший ответ:
Хахаха, арех настолько сырой, что там миллион багов, лагов и вылетов. Скорее всего, дело именно в самой игре. Может быть, дело в компьютере. Ну и в последнюю очередь в интернете.
Но если говорить о роутере, то терять пакеты он может либо из-за перегрева (его надо периодически перезагружать), либо из-за Wi-Fi. Wi-Fi, в свою очередь, может терять пакеты из-за помех (ибо ваш график ничего не объясняет), из-за проходящих мимо людей или из-за других пользователей (проверьте на роутере список пользователей).
По опыту могу сказать, что да, роутеры теряют около 1 пакета в секунду. Скорее всего, это связано с низким качеством сборки и ПО. Всё-таки это домашние роутеры, бизнес их не использует.

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

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

Худший ответ:
Регистрация и продажа гугл акков для ботоводов (при регистрации с мобилок не требуется привязка к мобильному телефону).
Вопрос: Как в Битриксе перенести «Умный фильтр»?

Лучший ответ:
Копируем компонент умного фильтра в свой шаблон. 
В своём шаблоне находим папку с умным фильтром(\templates\название 
_шаблона\components\bitrix\catalog.smart.filter\.default) открываем template.php
Находим div с которого наченается верстка умного фильтра и перед ним вставляем обвертку 
SetViewTarget("left_area");?>
Находим конец верстки умного фильтра и закрываем обвертку 
EndViewTarget("left_area");?>
Заходим в то место где надо вывести умный фильтр, например в sidebar.php(или header.php) и вызываем обвертку в которую обвернули умный фильтр
ShowViewContent("left_area")?>

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

Лучший ответ:
Не надо верстать логотипы, это костыли. В таких случаях лучше всего использовать SVG.

Худший ответ:
Давно бы вырезал картинку, сжал её в Tinypng и делал бы дальше свой фронт работ... Под что клепаете, под эльдорадо что ли , что так важны пара кБ?
Вопрос: Сколько нужно времени, чтобы сверстать простой лендинг?

Лучший ответ:
Без адаптива вполне можно за 1 час сделать. Лендинг простой

Худший ответ:
Такое за час не сделаешь даже и десктоп версию. Елементарно пока шрифты найдёшь (какие-то платные же, да?), пока подключишь, пока подключишь карту с кастомным маркером. Если набрасывать в конструкторе, Тильде, например, то да, опытный тильдщик сделает и за час десктоп версию, наверное.
Вопрос: Как написать простой тест с вариантами ответа на php?

Лучший ответ:
Ну раз поставлено задание — делай! Вопрос-то конкретно в чем?

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

Лучший ответ:
для этого давно придуманы миграции.

Худший ответ:
Описание немного непонятное, но возможно вам подойдут миграции.
Вопрос: Как именно работает этот пулл-ап резистор?

Лучший ответ:
Я понимаю это так - когда подаётся напряжение питания (в моём случае 3.3В) то он подтягивает это напряжение и на входе Reset всегда держится сигнал высокого уровня (даже при несильных колебаниях напряжения питания). 
Верно, он нужен, чтобы установить высокий уровень на сигнале Reset после включения устройства.

Соответственно если Uпит = 0, то на входе сигнал низкого уровня, что по факту делает сброс МК.
Когда на плате нет питания, сброс МК обычно и не требуется, без питания МК сам отключается.  Резистор просто нужен чтобы выставить логическую единицу на входе Reset

И ещё, есть ли смысл делать ключ? Я смотрел отладочные платы для этого мк, там на reset стоит только пулл-ап резистор. Но при подключении разъема там есть выход на reset, что обозначает , как я понял, возможность внешнего сброса МК. Каким образом происходит внешний сброс, если там нет ключа?
Подтягивающий резистор так называется, потому что он именно "подтягивает" напряжение. Из-за его высокого сопротивления (10 КОм) другой источник сигнала легко "пересиливает" подтяжку. Именно так и работает внешний сигнал Reset - несмотря на pullup резистор, подача логического нуля на Reset приводит к установке низкого уровня.

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

Лучший ответ:
Для этого, по всей видимости, вам нужно переопределить yii\widgets\ActiveField, а точнее методы в нём:public $template = "{label}\n{icon}\n{input}\n{hint}\n{error}";
    public function render($content = null)
    {
        if ($content === null) {
            if (!isset($this->parts['{input}'])) {
                $this->textInput();
            }

            // добавить это
            if (!isset($this->parts['{icon}'])) {
                $this->icon();
            }

            if (!isset($this->parts['{label}'])) {
                $this->label();
            }
            if (!isset($this->parts['{error}'])) {
                $this->error();
            }
            if (!isset($this->parts['{hint}'])) {
                $this->hint(null);
            }
            $content = strtr($this->template, $this->parts);
        } elseif (!is_string($content)) {
            $content = call_user_func($content, $this);
        }

        return $this->begin() . "\n" . $content . "\n" . $this->end();
    }public function icon($content, $options = [])
    {
        $this->parts['{icon}'] = Html::tag('i', null, ['class' => 'icon-'.$this->attribute];

        return $this;
    }
и использовать его в форме через:$form = ActiveForm::begin([
  'fieldClass' => 'my\widgets\ActiveField'
]);

Худший ответ:
1."$icon{input}{error}"
2. перед инпутом
Вопрос: Как избавиться от ада зависимостей в Debian?

Лучший ответ:
С вашими требованиями дебиан сомнительный выбор.
Посмотрите в сторону других дистрибутивов.

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

Лучший ответ:
Пишите в Notepad++ поддержку

Худший ответ:
Если написать просто class, то с ним ничего не произойдёт, ибо это просто текст. А вот в составе дива и т.п. оно уже отображается как положено. 
И всё же лучше сразу использовать что-то более подходящее. Можно начать с того же Sublime Text 3 или Brackets (всё ж удобнее Notepad++). Или что понравится.
Вопрос: А почему для сео в react-е не сделать так?

Лучший ответ:
У вас на сайте страниц может быть десятки тысяч. Контент-менеджеры могут добавлять новые каждый день. Для каждой вручную пропишете заголовки и прочее? Сам html-код страницы тоже может быть сложным. Со всякими ссылками на  другие страницы и т.п. Тем более если то, что вы вручную написали, будет сильно отличаться от того, что генерит Реакт, можно бан сайта в  гугле получить.
Крайне не советую так извращаться, используйте NextJS.

Худший ответ:
Ceo это грубо говоря директор, а seo это то о чем вы спрашиваете.
Вопрос: Как DNS — серверы реагируют на получение SSL?

Лучший ответ:
фыркают и нервно чешутся.
Никак они не реагируют. 
Проверяйте настройки nginx.

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

Лучший ответ:
Родительскому блоку всего сайта ( wrapper ) добавьте следующие стили:
width: 100%;
max-width: 1920px;
margin: 0 auto;
Это уберет прокрутку, и поставит сайт, на мониторах больше 1920 пикс шириной, по центру.

Худший ответ:
Поищите материал по теме "адаптивная верстка".
Вопрос: Как сделать чтобы цикл for прошелся по списку и при условии True вывел текст один раз?

Лучший ответ:
Цикл не нужен.
if user in passworld:
    print('Ваш пароль найден!')
else:
    print('пароль не найден...')

Но если необходимо всё же через цикл, то:
for i in passworld:  # Скобки не нужны
    if i == user:  # Скобки не нужны
        print('Ваш пароль найден!')
        break
else:
    print('пароль не найден...')

Худший ответ:
passwordlist = [пароли]
user = str(input())

if user in passwordlist:
    print('Пароль найден!')
else:
    print('Пароль не найден!')
Вопрос: Как передавать друг другу код, если твой товарищ живет далеко?

Лучший ответ:
Почитайте про гит побольше, классная штука
А потом воспользуйтесь услугами github, gitlab or bitbucket

Худший ответ:
А какая разница далеко или близко. Если вы не работаете на одном компьютере, то передавать надо везде. Если проект онлайн, то можно разрабатывать в онлайн, если нет, то либо какой-то сервис с контролем версий, либо один проект основной, а второй передает/получает изменения.
А что интересно будет если положить проект в Dropbox или Яндекс.Диск, подключить его к среде разработки, расшарить другу, и он тоже подключит его к среде разработки... по-идее все сохраненные изменения должны передавать сразу, главное не начать редактировать один и тот же файл )))
Вопрос: Откуда просмотры черновика статьи на хабре?

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

Худший ответ:
Я тоже замечал такое за своими черновиками. Более того мне google поиск пару раз выдавал чьи то черновики. А почему бы и нет. Черновик - документ, имеющий статический URL, не думаю что их прячут, просто не афишируют. И похоже до них даже могут добраться поисковые роботы.
Вопрос: Возможна ли скорость отдачи больше, чем доступна по тарифу, при загрузке файлов на Яндекс.Диск?

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

Худший ответ:
есть
прогеры ошиблись
а еще можешь подправить ресурсы проги - и сделать скорость от 1000-2000 Мбайт до 100 000 Мбайт,
по крайней мере, так писать будет ))
Вопрос: Бсодит винда при скачивании файлов из интернета — но не в безопасном режиме, что же делать?

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

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

Лучший ответ:
Если откинуть шелуху, вопрос сводится к тому, как объединять объекты «глубоко» — как делать deep merge.
Довольно частый вопрос и есть несколько решений: использовать готовую библиотеку или написать рекурсивный обход свойств объекта: если свойство это объект, то (повторить для него). Если свойство примитив то скопировать.

Худший ответ:
Нашел функцию для объединения двух объектов с вложенными в них объектами
const merge = (target, source) => {
    for (const key of Object.keys(source)) {
        if (source[key] instanceof Object) Object.assign(source[key], merge(target[key], source[key]))
    }

    Object.assign(target || {}, source)
    return target
}
Вопрос: Как удалить элемент с поля?

Лучший ответ:
Вы пользуетесь канвасом как хранилищем состояния — это императивный подход и от этого неудобный. Это как с JQuery, только хуже, потому что тут у вас нет селекторов. Вы не должны опираться на то, что нарисовано на канвасе. Ваш канвас должен служить просто представлением. Вынесите все ваши данные в JS в качестве массива или объекта — как вам удобно. Далее напишите код, который будет перерисовывать ваш канвас при изменении состояния. Есть два способа решать проблемы: первый — тот, которым вы пытались решить вопрос — прямой способ, второй способ — это поменять задачу так, чтоб в новом контексте проблема стала невозможной, бессмысленной, в общем перестала существовать. Если вы вынесите всю логику в JS, то вопроса «как удалить» у вас не останется.

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

Лучший ответ:
QTranslate 
www.quest-app.appspot.com
 - активировать кликом программу в трее 
 - выделить лишь фрагмент текста, и программа предложит перевод. Даже буфера не надо
 - умеет переводить GUI окон программ
 - умеет переводить текст с картинки (выбрать функцию кликом по значку с трее)
Антивирусы не ругаются на эту программу.

Худший ответ:
Аддон для chromium based браузеров с translate.google
https://chrome.google.com/webstore/detail/google-t...
Вопрос: Через сколько выключается компьютер?

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

Чем больше контактор, тем хуже у него с нормированием времени переключения, А еще, во время переключения может гореть дуга, и гореть она может один полупериод, то есть 10ms.

Чтобы контакторы не перекрыло при переключении во время горения дуги, закладывают паузу 15 -20 ms, чтобы гарантированно все погасло. Отсюда и нижнее время переключения - 30 ms.

При переключении питания не страшно потерять 1 (один) полупериод, это 10 миллисекунд. Для того, чтобы гарантированно не улететь за рамки этого времени, приличные изобретатели ИБП закладывают у себя почти трехратный инженерный запас и говорят, что они переключаются за 4 ms

Мораль шлите этих электриков с их АВР на контакторах лесом.  Оно годится для того, чтобы перекидывать со ввода на ввод электроприводы агрегатов (за 30ms пускатели этих агрегатов не отвалятся), но никак не для телекома.

Худший ответ:
Все зависит от ёмкости входных конденсаторов. В серьезных блоках питания это нормированный параметр. Что бы комп не перезагрузился при переключении упса. А так фиг его знает. Можете меня цитировать
Вопрос: Как правильно выстроить разработку и деплой сайта?

Лучший ответ:
Разработка и контроль версий
Читаем про git flow, восхищаемся и интегрируем.
Читаем PSR-ы, восхищаемся и интегрируем. Не помешает: Попросили проверить код, на что смотреть нужно?
Читаем про vagrant. На базе вот этого вот строим dev окружение. Можете поиграть с https://puphpet.com/. До docker все же стоит дорасти.
Постигаем Phpstorm, и радуемся жизни.
Можете посмотреть так же: https://github.com/index0h/php-conventionsТестирование
Читаем про phpunit, восхищаемся и интегрируем.Документирование
Рекомендую взять за правило: документирование алгоритмов нужно только в крайнем случае, когда используются некие хаки. Говнокод лучше переписать на что-то очевидное, чем объяснять, какая муха вас укусила и где.
Что касается docblock-ов для помощи ide - это отличная идея.Деплой
Самый простой и надежный способ: root у вашего nginx/apache указывать как ссылку на каталог текущей прод версии. При релизе - заливать код с помощью rsync в новый каталог, а далее менять ссылку на новый релиз.
Например у вас каталог с версиями кода:
production -> v1.0.2 - текущая версия
v1.0.1 - старый релиз
v1.0.2 - текущая версия
v1.0.3 - новый релиз
Когда подготовка завершена - вы только меняете симлинк production на v1.0.3. Если что не так - можно быстро откатиться на предыдущую версию.

Худший ответ:
Сайт нужно засунуть в Kubernetes контейнеры, и когда прилетает на CI сервер оповещение о новом коммите то запустить деплой.
Надо гуглить laravel kubernetes ci 
Выбери какой ci ты хочешь, например gitlab имеет бесплатный ci и git хостинг или сам создашь свой на gitea с jenkins ci! 
Вариантов куча, но я считаю что от веб серверов в привычном понимании надо отказыватся и все ставить в kubernetes
Вопрос: Как навязать двустороннюю связь между компонентами в ReactJS?

Лучший ответ:
1. Объявлять componentDidMount стрелочной функцией - маразм. В этом нет никакого смысла.
2. Если ваша функция выполняется синхронно достаточно сократить до:const response = myFunction(1);
this.setState({ response });
3. Если асинхронно:componentDidMount() {
  const { someValue } = this.props;
  // асинхронный вызов, возвращающий Promise
  fetchSomeData(someValue).then(response => this.setState({ response }));
}
или:async componentDidMount() {
  const { someValue } = this.props;
  // асинхронный вызов, возвращающий Promise
  const response = await fetchSomeData(someValue);

  this.setState({ response }));
}
4. Сама функция myFunction написана очень плохо содержит ошибку. Лучше:const myFunction = num => ++num;

Худший ответ:
componentDidMount = () => {
    const a=1;
    this.setState({response: myFunction(a)});
}
Если функция асинхронная:async componentDidMount = () => {
    const a=1;
    this.setState({response: await myFunction(a)});
}
Вопрос: Зачем заказчик заключает long term project на upwork при одноразовом заказе?

Лучший ответ:
скинул оффер, он сказал, что заключил long term.
Что значит, сказал? У вас есть fixed price job(кстати, в момент открытия этой задачи деньги с его карты списывает и блокирует у себя апворк), этого необходимо и достаточно. Видимо, он что-то имел ввиду..типа с вами посотрудничаем и еще, но не уверен, зависит от контекста ваших с ним договоренностей..Вполне возможно, что будут еще milestones в рамках этой же задачи, клиент может их добавлять в дальнейшем. и возможно тупой вопрос, но оплатит ли он сейчас работу которую я выполнила и о которой он просил?
После того, как сделали работу, нажимаете кнопочку о запросе денег. Почему может не оплатить?  Есть опасения?
На репутацию и профиль клиента смотрели? О нем есть отзывы? Давно работает? Подтвержден ли метод оплаты? Любые сомнения  и вот это вот Изначально возникали недопинимания трактуются не в его пользу)Так же хотела бы спросить, если есть оффер, нужно ли себя обезопасить и скидывать ему готовые работы с вотермаркой? или он уже не сможет меня обмануть? 
Вы понимаете под этим именно offer в терминах апворк? Имхо оффер надо сначала превратить в Job, подтвердив его. Без этого даже не начинать работу. 
Если вы занимаетесь графикой, до оплаты можно скидывать результат с водяными знаками или в качестве похуже. Но опять же, если есть опасения, часто это все просто не нужно.

Худший ответ:
По поводу fixed-price контрактов - ваша работа состоит из одного или нескольких milestones (этапов).
Заказчик, заключая контракт по фиксированной ставке, создаёт и депонирует средства как минимум на один milestone - эта сумма будет видна на вкладке "Milestones & Earnings" в колонке "In Escrow" вашего контракта. Обратите внимание, что клиент зачастую может депонировать совсем не ту сумму, на которую вы с ним договорились. То есть, если вы договорились выполнить работу за один этап, убедитесь в том, что вся сумма депонирована.
По процессу работы - совершенно нормально давать заказчику черновые версии качеством похуже или с вотермарками. 
Когда работа будет выполнена, вы должны оправить её заказчику, нажав на кнопку "Submit Work for Payment".  Далее ждём реакции клиента. Тут три варианта:
1) Клиент подтверждает milestone. Вы получаете деньги через 5 дней.
2) Клиент просит правок. Делаете правки, повторяете отправку.
3) Клиент отморозился и не отвечает. По истечении 2-х недель Upwork автоматом зачислит депонированную сумму (вот почему важно всегда проверять это!) на ваш аккаунт.