Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: C# HttpWebRequest получить описание ошибки сервера при StatusCode 500?

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

UPD

нужное вам поведение можно получить как-то так:

[ApiController]
    public class TestController : ControllerBase
    {
        [HttpGet]
        public Task ChangeStatus()
        {
            throw new Exception("My test exception");
        }
    }

public class HttpResponseExceptionFilter : IActionFilter, IOrderedFilter
{
        public void OnActionExecuted(ActionExecutedContext context)
        {
            if (context.Exception != null)
            {
                context.Result = new ObjectResult(new
                {
                    ErrorText = context.Exception.Message,
                    Stacktrace = context.Exception.StackTrace
                })
                { StatusCode = (int)HttpStatusCode.BadRequest };

                context.Exception = null;

                return;
         }
}

тогда дергнув контроллера вы обратно получите 400ую ошибку с контентом

{
    "errorText": "My test exception",
    "stacktrace": "stacktrace was here"
}

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

WebRequest request = ...;
try
{
  using var response = request.GetResponse();
  ...
}
catch (WebException e)
{
  using var webResponse = (HttpWebResponse)e.Response;
  var code = webResponse.StatusCode;
  var body = ...;

  //...

}

или использовть HttpClient, который ексепшн кидает только если попросить

Худший ответ:
помогла установка параметра запроса: webRequest.ProtocolVersion = HttpVersion.Version10;

в этом случае в WebException.Response показывает содержимое ответа
и WebException.Status не ConnectionClosed (Запрос был прерван: Соединение было неожиданно закрыто.)
а ProtocolError (Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера.)
Вопрос: Как вычислить коэффициент уменьшения вписанного в квадрат квадрата под углом n градусов?

Лучший ответ:
Внутренняя сторона x
Внешняя kx
В то же время, внешняя это сумма катетов, т.е.  xcos(a)+xsin(a).

Тогда k=cos(a)+sin(a)

Худший ответ:
Друзья!  Всем большое спасибо за живое участие в решении данной задачи. С геометрической точки зрения вероятно самым простым решением можно считать вариант, предложенный Изобретателем Дикпиков, и если взять контрольный угол в 45 градусов, то коэффициент будет равен 2. НО, в то же время для CSS-scale мне для 45 градусов нужно значение 0,7
Вопрос: Как обрезать и стабилизировать статический объект снятый в движении?

Лучший ответ:
Без проблем делается в Davinci Resolve, который, в отличие от AE, бесплатен. Но, конечно, не одной кнопкой.

Худший ответ:
Довольно просто сделать в Premiere Pro или  Davinci Resolve.
В Premiere Pro делается с помощью плагина stabilize motion: youtube.com/watch?v=YScFhoLu2TM на 5:22 .
Вопрос: Как правило написать php скрипт, который будет генерировать страницу, если ее нет на сайте?

Лучший ответ:
Вам нужен php маршрутизатор. Читайте гайды:https://yandex.ru/search/?clid=9582&text=php%20при...https://maxsite.org/page/routing

Худший ответ:
существуют готовые фреймворки с роутером - специальной подпрограммой, которая будет вызывать уже вашу подпрограмму или загружать Html шаблон в зависимости от текущего URL.
но вы можете это сделать и сами, для чего нужно:
1) в файле .htaccess написать команду, вызывающую ваш скрипт, если соответствующего URLв виде файла не существует, например:
ErrorDocument 404 /index.php
2) в самом скрипте генерируете каждую страницу по сделанному запросу, например:
switch($_SERVER['QUERY_STRING']) {
  case.....
дальше уже от вашего воображения зависит
Вопрос: Можно ли использовать iSCSI для хранения картинок для сайта?

Лучший ответ:
iSCSI - один из стандартов в индустрии по предоставлению места с СХД потребителям, повсеместно используется в виртуализации например. Если у вас отдельная сетевая карта 10 гигабит, а лучше две в бонде, мту 9000 то у вас будет все хорошо, и вы врядли упретесь в гораничения iSCSI, скорее исчерпаете лимиты скорости и операций ввода/вывода (IOps) вам предоставит СХД.

Худший ответ:
Если иэто дублированный вопрос о LUN - то производительности Вам скорее всего хватит. Другой вопрос, как Вы храните контент - в СУБД или фалами. LUN это блочный доступ который ориентирован на СУБД, если контент лежит в базе данных - все будет просто замечательно. Если же Вы храните контент файлами - имеет смылс искать хостера с файловым доступом или смотреть другие тарифы у это же хостера в которые входит файловый доступ, а не блочный. 
В любом случае iSCSI это протокол работы сервера с СХД и от него Вы не уйдете пока не арендуете бареметал сервер с достаточной дисковой емкостью без подключаемого внешнего СХД. А это скорее всего будет дороже текущего тарифа.
Вопрос: Есть домен, как указать что бы поддомен обращался тока к конкретному порту?

Лучший ответ:
В DNS записях нет разделения на порты.

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

Лучший ответ:
даже я знаю.
file_get_contents - считать файл
file_put_contents - записать файл

Худший ответ:
Написать код за вас за бесплатно не могу, но алгоритм действий будет такой:
1. Изучите как работает AJAX, а именно вам надо научится посылать post-запросы на сервер
2. Изучите как работают обработчики, вам нужно изучить как работает атрибут onclick, либо изучить addEventListener() в связке с querySelector()
3. Научитесь принимать post-данные внутри php-файла, после чего полученные данные запишите в ваш файл функцией file_put_contents
Если курить мануалы лень, могу все наглядно продемонстрировать через TeamViewer с подробными объяснениями, НО лишь в порядке платной консультации.
Вопрос: Компьютер, независимо от ОС, живет по UTC, наплевав на BIOS-время. А сам BIOS ресетится, если отключить питание ПК (CR2032 менял трижды). Есть идеи?

Лучший ответ:
Надо (не побоюсь этого слова) измерить ток, потребляемый системными часами от таблетки 2032. Прямо вот так взять мультиметр, настроить его на измерение микроамперов, и включить в разрыв проводов, которыми подсоединена эта таблетка, вытащенная из своего гнезда. Наличие описанной в вопросе проблемы будет подтверждено, если этот ток равен нулю. 
Но тут есть нюанс: штатный потребляемый ток от 2032 очень мал (мизерные доли микроампера), и не всякий мультиметр достоверно отличит его от нуля - ток может оказаться ниже порога чувствительности прибора или его ошибки измерения.
Одной из причин непотребления тока может быть отсутствие (банальная утеря) перемычки на материнке, с помощью которой сбрасываются настройки BIOS/часов. Если перемычки на материнке не подписаны, то найти её может помочь чертёж в техническом описании этой материнки.

Худший ответ:
Убунты (или другого подобного) второй системой нет? Она по умолчанию хранит железные часы в UTC, и при перезагрузке из одной системы в другую будет подобный скачок.
Конечно, если время всегда сбрасывается на 00:00 1 января, то проблема где-то в железе.
Вопрос: Почему подключенный файл с помощью функции не видит переменную?

Лучший ответ:
Область видимости переменной

Худший ответ:
Потому что ваша функция слепая! Он ее там попросту не видит. Создайте класс и сделаете его экземпляр в index.php
Вопрос: Как переделать изображения в SVG?

Лучший ответ:
По идее — никак. Это разные сущности. SVG - Scalable Vector Graphics. Т.е. векторная графика. А у вас в наличии JPG и PNG, которая растровая графика. 
Технически вы можете вставить растр в svg-файл, но практически «вес» картинок это не уменьшит.

Худший ответ:
Смотря какие картинки. Бывает  такая графика на сайте, которая действительно в svg может дать экономию "веса" файла в несколько порядков. Например, большие фоны, особенно абстрактные.
Но бывает и наоборот, когда, как ни странно, оптимизированный png может быть меньше чем svg- бывают такие svg в которых огромное число точек и сократить нет возможности. 
По опыту, например, небольшой логотип в размерах 100-200px по ширине может быть в svg больше png такого же размера, если в нем есть существенные шрифтовые элементы. 
Аргумент "чтобы меньше весил" чаще всего не есть важнейший при выборе формата графики. Целесообразность того или иного формата определяется конкретными условиями.
Вопрос: Почему служба обновления Windows 10 включается сама?

Лучший ответ:
Потому что могут, потому что сволочи, потому что хотят иметь контроль над ВСЕМ миром пользователей pc, потому что власть, потому что бабки,... потому что компании microsoft старейшая it компания, столько такие не живут и проблем у нее набралось столько что правильная разработка и решение задач у нее не стоит в приоритете.
Вам нужно останавливать еще службы: Wuauserv, cryptsvc и bits
p.s. совет, удалите содержимое C:\Windows\SoftwareDistribution\Download так как туда уже загрузилась новая версия и ждет чтобы вы ее установили, так же в корне диска должны появиться каталоги, скрытые (обычно вы знаете что там должно лежать) на несколько гигабайт, тоже можно удалить.
Не поленитесь, запустите штатную очистку диска (свойства диска C:, кнопка очистка диска, кнопка очистить системные файлы, удалите загруженные обновления, старые файлы обновлений, точки отката и прочее)
p.p.s. резервная копия, всегда, иначе вместо отпуска получите безуспешные попытки восстановить систему, не поленитесь, купите флешку на 32-64гб и установите на нее clonezilla, 10-20 минут вашего времени потраченных на бакап спасут вам несколько суток и море нервов, всегда.

Худший ответ:
Попробуйте использовать программу «Win Updates Disabler».
Вопрос: Как лучше сверстать такие блоки?

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

Рисовал руками без использования векторных редакторов ....

snippet

Худший ответ:
Можно поместить изображение в блоки, задать position: absolute; и выровнять относительно центрального объекта.

Либо можно сделать 3 горизонтальных блока. В верхний блок добавить изображения под #2 и #3. В блок ниже добавить изображения с #1, изображение с вопросом и изображение с #4. И в нижний блок изображения под #6 и #5. И выровнять средний блок с помощью выравнивания flex контента, а остальные расположить как Вам надо с помощью margin и padding.

И ещё как вариант сверстать это на гридах.
Вопрос: Как реализовать элементы по бокам?

Лучший ответ:
Если речь о рамках по углам то абсолютно позиционируй 4 квадратных div по углам и задай border-top/bottom/... и тд

Худший ответ:
Еще вариант через border-image/background-image: linear-gradient(…):
snippet
Вопрос: Сервис по запоминанию паролей к сайтам?

Лучший ответ:
Решение от флагмана https://www.lastpass.com/ru/enterprise/user-management
Кажется 4$ с человека. 
Насчет "смотреть" это вы конечно хватили... Но администрирование возможно.

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

Лучший ответ:
IMEI модема, MAC модема, затем, в зависимости от настроек, ещё и некоторые сетевые данные роутера.

Худший ответ:
IMEI  модема
MAC роутера
Вопрос: Как генерировать ссылку на всплывающее фото?

Лучший ответ:
Делается на Javascript с помощью якорной ссылки (никаких PHP и GET не требуется)

Вот пример - если открыть ссылку, отобразится фото на всю страницу.
Если убрать из ссылки якорную часть #lg=1&slid=0 то попадёшь в галерею, где можешь выбрать нужную фотографию для просмотра.
При клике на любую фотографию, в адрес добавляется якорь с номером фото.

Худший ответ:
GET в PHP
Вопрос: Сколько в среднем стоит такой объем выполненной работы?

Лучший ответ:
Новичок на fl сделает за 500р. Опытный на Upwork попросит $1000 и ещё подумает.
Вот такой примерно разброс.

Худший ответ:
Даже у специалиста с большим опытом это может легко растянуться на месяц. Стоимость тиражной темы WP+Woocommerce ориентировочно $100. Я бы умножил на 10 и из этого исходил.
Вопрос: Можно ли подключить к одному iSCSI несколько серверов потребителей?

Лучший ответ:
Подключить можно. Но файловая система на общем томе должна быть кластерной, такие ФС как раз спроектированы для подобного использования. NTFS, Ext4 и т.п. не подходят. Например VMFS от VMWare кластерная.
Если вы подключите несколько потребителей к разделу iSCSI с обычной ФС, то достаточно быстро ФС упадет.

Худший ответ:
Можно - и именно так, например, реализуется общее хранилище для системы виртуализации Proxmox.

Но, как совершенно правильно сказано в вашем мануале, нельзя, чтобы одни и те же объекты трогали сразу из нескольких мест - и так не только у iSCSI. Обычно это решается на уровне приложения - каким-то образом (например, по сети) координируется доступ.

В режиме read-only с этим проще - нельзя покорраптить данные, если ты не вносишь в них никаких изменений. Если картинки для вашего хранилища будут записываться из одной точки - проблем быть не должно.
Вопрос: Зачем нужен контейнер если php умирает?

Лучший ответ:
Пишем код, кода становится много, его нужно обслуживать и бороться со сложностью, также нужно тщательно тестировать, тк деньги и надежность пользователей↓
Чтобы тестировать методы класса и не зависеть от реализации -- соблюдается принцип инверсии зависимостей (и некоторые другие)↓
Инверсия зависимостей -- нужно помнить и держать зависимости к нашему классу где-то и сам конкретный сервис наполнять нужно этими зависимостями, руками делать этонакладноtry {
    echo
        (new PurchaseOrder(
            new LocalOrderStorage(
                new NullOrderStorage()
            ),
            new OrderId($inputParams['order_id'])
        ))
            ->newInvoice(
                new InvoiceNumber(
                    new Vendor(
                        new LocalVendorStorage(),
                        new VendorId($inputParams['vendor_id'])
                    ),
                    new VendorInvoiceNumber($inputParams['vendor_invoice_number']),
                    new DateTime($inputParams['date_time'])
                ),
                new VendorInvoiceNumber($inputParams['vendor_invoice_number']),
                new DateTime($inputParams['date_time']),
                new InvoiceAmount(
                    new Amount($inputParams['amount']),
                    new Currency($inputParams['currency'])
                )
            )
                ->json()
    ;
} catch (Exception $exception) {
    return
        (new ErrorResult())
            ->json($exception->getCode(), $exception->getMessage())
        ;
}Кроме того появляется куча параметров в проекте.↓
На помощь приходит паттерн Dependency Injection Container (Service Container), который за нас это делает и всасывает в себя эту заботу, а мы продолжаем писать код и делать это быстро, доставляя  features for customers

Худший ответ:
Это опциональное поведение, может  и не умирать. См. ReactPHP
Вопрос: Как решить проблему редактирования значений в таблице?

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

Худший ответ:
Я решил проблему, нужно было подправить функцию:function edit_post($connect, $post_id){
	$post_id = $_GET['post_id'];
	if(isset($_POST['submit'])){
		$title = $_POST['title'];
		$image = $_POST['image'];
		$text = $_POST['text'];
		$update = "UPDATE posts SET `title` = '$title', `image` = '$image', `text` = '$text' WHERE id = ".$post_id;
		$result = mysqli_query($connect, $update);
		header("Location: ". $_SERVER["REQUEST_URI"]);
	}
}
Вопрос: По какому принципу проектируются пути роутера в крупных spa приложениях?

Лучший ответ:
вобще отфонаря

можешь в VUE какой-нибудь  книжке прочитать и следовать, а можешь в этой:


все определяется клиентами (СЕО там и проч)

Худший ответ:
Ну если брать продукт, то:

- /product?id={id продукта}
это точно не вариант

- /product/{id продукта}
со стороны сео не очень

- /product/{название продукта}
самый нормальный вариант

а по поводу этого:

- /category/{название категории}/{название продукта}
- /{название категории}/{название продукта}

уже ответил Евгений
Вопрос: Можно ли не обновлять плагины на Wordpress?

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

Худший ответ:
Можно ли не обновлять? Можно.
Нужно ли обновлять? Нужно.

Исписано на эту тему уж не знаю сколько...

Обновления бывают нескольких типов. По semantic versioning это патчи, minor и major. 

Патчи обновлять ОБЯЗАТЕЛЬНО и КАК МОЖНО СКОРЕЕ, потому что в 99% случаев это либо security либо bug fix. От патчей ничего никогда не ломается (если только сильно-сильно не стараться строить свой код на баге в стороннем коде). Желательно обновлять их автоматически, без вашего участия вообще.

Дальше у нас идут minor. Это как правило улучшения и небольшие дополнения. С полной обратной совместимостью. Их можно смело ставить, почитав changelog. Можно поклацать соответствующую фичу на сайте, чтобы проверить, сбросить кеши и тд. Если у вас что-то ломается от minor релизов, то в 99% у вас кривой код. Ваш код. Или какие-то дикие конфликты с другими кривыми плагинами. И то и другое - проблема, но она не из-за обновлений.

И только major релизы подразумевают какие-то глобальные изменения (breaking changes) которые потенциально могут сломать ваш код и могут требовать вмешательства в ваш код, чтобы подогнать его к новым фичам. Если речь о конфликте с другими плагинами - надо ждать пока те обновятся. Такие обновления, естественно, не стоит ставить не думая. Сначала читаем changelog и (если есть) migration guide - чтобы понять, что изменилось и что нужно менять в своем коде. Дальше обновляем локально и/или на тестовом сервере, все проверяем. И только если мы убедились что все ок, или внесли необходимые изменения в свой код - вот только тогда обновляем на боевом сайте.

Конечно, не все разработчики для своих плагинов используют корректную семантическую маркировку, поэтому в идеале надо всегда читать changelog, чтобы понимать что же было изменено и как это может повлиять на ваш сайт (и может ли вообще).
Вопрос: Как в Nuxt, при SSR сократить размер объекта window.__NUXT__?

Лучший ответ:
PageSpeed, как и Lighthouse, в любом случае будет ругаться то на кучу JS кода, то на полифиллы, которые даже в modern режиме иногда подгружаются почему-то. Объект __NUXT__ нужен для воспроизведения состояния Vue, чтобы он потом работал и не делал лишний рендеринг. А так полностью статические компоненты в него не отдают данные, так как у них нет ни состояния, ни пропсов. По моему опыту - как раз большую часть __NUXT__ занимают data values и i18n переводы, чем меньше вы их будете использовать, тем меньше и будет __NUXT__. Других способов уменьшить его размер - нет.

Худший ответ:
Там хранятся динамические данные полученные извне для корректной работы SSR. Например, что пришло с бэка.
Самый простой путь уменьшить этот блок - получать только необходимые данные. Проверить, все ли они на самом деле используются на странице.
Вопрос: Как из функции js вернуть массив?

Лучший ответ:
function d() {
    var arrN = [];
    for (var i = 0; i < 7; i++) {
        arrN[i] = (Math.round(Math.random() * (300 - 100) + 100));
    }
    return arrN;
}
console.log(d());
Нужно после цикла возвращать, 
и если вы результат работы функции никуда не присвоите - ваш вариант не сработает, перенес вызов функции в console.log

Худший ответ:
arrN.push(Math.round(Math.random() * (300 - 100) + 100));
и уже после цикла return arrN
Вопрос: Как и где найти единомышленников, чтобы писать свой проект?

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

Худший ответ:
Я скажу одно лишь слово - "Верь Гитхаб!"
Вопрос: Windows загрузилась в исходном состоянии. Как понять причину?

Лучший ответ:
Такое могло произойти, если система по каким-то причинам не смогла найти/создать профиль пользователя. Тогда винда создает временный профиль, который после выхода из системы будет удален.
Если после перезагрузки профиль оказывается на месте, то винда, конечно, загрузит его.
Чтоб узнать из какого каталога загружен профиль в командной строке винды введите команду:
set USERPROFILE
В нормально режиме вам выведется путь типа такого: C:\Users\<имя пользователя>
При работе во временном профиле путь будет выглядеть примерно так: C:\Windows\Temp\<имя пользователя>

Худший ответ:
Сменился пользователь системы.Может под ученой записью Администратора или Гостя зашли.
Вопрос: Как разделить данные в функции array_column?

Лучший ответ:
Ну как то такforeach ($names as $logo => $name) {
    ?><a href="#"><img src="<?= $logo ?>"><?= $name ?></a><?php
}

Худший ответ:
Ну как то такforeach ($names as $logo => $name) {
    ?><a href="#"><img src="<?= $logo ?>"><?= $name ?></a><?php
}
Вопрос: Микротик не получает интернет(статический IP)?

Лучший ответ:
Ванную что нет правила src-nat

Худший ответ:
10.30.14.1 пингуется?
Вопрос: Какая CMS для интернет-магазина наиболее популярная в РФ?

Лучший ответ:
Если говорить про CMS с e-commerce-функциональностью то наиболее популярными будут платный Битрикс и бесплатный WordPress. Если вести речь о специализированных под данные задачи, то OpenCart. Пруф 1, пруф 2.

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

стоимость лицензии (владения)
стоимость разработки (внедрения)
цена расширяемости (есть более, есть менее гибкие), которая может быть важной и при специфичности ваших требований
безопасность
качество и уровень поддержки, размер сообщества


И так можно долго продолжать.

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

Magento. Это энтерпрайз уровень с соответствующими ценами и такая же монструозность, как в случае с Битрикс. Можно стартовать с бесплатной лицензией, но, как только функциональности не хватит, придется раскошелится на платную. Просто посмотрите на ценник и подумайте, нужно ли это вашему проекту.



В целом, есть мнение, что без бюджета в 100k$ к Magento не стоит подходить. Т.к. стоимость лицензии покажется смешной в сравнении со стоимостью квалифицированного разработчика под данную платформу.

Даже не слушайте советы про самописы, которые и только они самые гибкие. Чтобы ввязаться в самописную историю надо для начала понимать, зачем вам это? Кроме того, квалификация команды, которая должна разработать самопис сама по себе диктует соответствующие высокие рейты за работу. Это очень скользкая дорожка. Стартовать новый и, тем более, небольшой проект с нуля на самописе будет самоубийством.

Со своей стороны рекомендую взглянуть на относительно молодую платформу Shopaholic. Она базируется на October CMS, которая является самой популярной CMS, построенной на базе Laravel Framework. Этому фреймворку мощности и гибкости не занимать и все это будет доступно вам в случае с October + Shopaholic. Эта связка набирает популярность в последнее время и о ней уже даже пишут именитые издания вроде Smashing Magazine - Building An E-Commerce Site With October CMS And S....

Худший ответ:
Я бы вам порекомендовал делать не на cms, а на фреймворке (YII, Symfony, Laravel). На фреймворке получится намного гибкая система в плане расширения. В дальнейшем если возникнет вопрос расширения функционала вы с точки зрения бизнес модели выиграете больше. Знаю один крупный интернет магазин Российский, магазин у них на Bitrix, возникла потребность в расширении функционала, они уже пол года нормальных специалистов не могут найти. Ищите лучше частных специалистов, которые специализируется на разработке по этим фреймворкам