pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Меры предосторожности при парсинге на Python?

Лучший ответ: Иногда проще наоборот настроить парсер в 10 потоков и спарсить всё за 30 минут пока админы не опомнились чем растягивать это хз на сколько ))

Худший ответ: 1) Бдить временные интервалы, использовать разные IP и учетные записи (если возможно).
2) Вероятно да. Однако никто Вам тут не ответит, все очень индивидуально. Разведка всегда проводится методом проб и ошибок.
3) Да пожалуйста. За парсинг у нас не сажают. В худшем случае забанят. Решать Вам.
4) В смысле?
5) Откуда ж нам знать-то?
Вопрос: Домашний сервер сбор почты, и просмотр с компьютеров в локальной сети возможно ли на Centos?

Лучший ответ: 1) ставите fetchmail для сбора почты по крону с удаленных ящиков
2) ставите dovecot https://www.dovecot.org/ для раздачи собранного по imap
Собственно первый пункт можно и опустить, а просто перетаскивать все лишенее в самом тундерберд по imap в ящики на dovecot. Тут же можно настроить и пару общих imap папок, для обмена пришедшей почтой.
Ну и совсем цимес - запустить там же opensmtpd, для локальной почты... https://www.opensmtpd.org/
Упс, вместо fetchmail пользовать getmail pyropus.ca/software/getmail

Худший ответ: Попробуйте hMailServer https://www.hmailserver.com/
Вопрос: Английский для front-end, где брать словарный запас?

Лучший ответ: Не будьте ленивой жопой.

Худший ответ: Чтение туториалов по актуальным (для Вас) проблемам
Вопрос: Есть ли в golang готовые реализации очередей?

Лучший ответ: Если что простое для очередей - то это называется "канал + гоу-рутина"
Если что то навороченное, то используют внешние средства. Например, очереди на базе Tarantool или RabbitMQ или т.п.

Худший ответ: Есть микрофреймворк echo - https://echo.labstack.com/
Мне зашел.
Для очередей есть www.rabbitmq.com . Или про что вы?
Вопрос: Как сделать подобный эффект на кнопках?

Лучший ответ: Не очень ясно какая именно должна быть анимация. Пусть будет так:
https://jsfiddle.net/ardzo8bx/

Худший ответ: :active и если это расширяющийся круг добавляешь div с полупрозрачным бг, увеличиваешь его размеры через функцию css.
Вопрос: Возможен ли разгон i7-3770K на материнской плате P75-D3?

Лучший ответ: Нет

Худший ответ: Разгонять процессоры с индексом "K" можно только на чипсетах с индексом "Z" (для Интелловских чипсетов).
Вопрос: Вопрос по циклу JS и массиву — почему так?

Лучший ответ: Потому что arr[j] сравнивается с arr[j+1]. Это два элемента подряд. Значит, j должен проходить не от 0 до максимума, а от 0 до максимума минус 1.
Если сделать условие j < i, то будет лишняя операция, которая не нужна, хоть и не мешает. Просто у нас от i до arr.length уже отсортированный массив. Поэтому a[j+1] будет равно a[i], но a[i] уже точно на своём месте и его никуда двигать не нужно. Поэтому это просто лишняя операция, для которой arr[j] > arr[j+1] будет заведомо ложно.

Худший ответ: Внешний цикл начинается с индекса несуществующего элемента i = arr.length. Максимальный элемент массива это arr[ arr.length-1 ]. Внешний цикл надо начать с  i = arr.length-1. 
Тем не менее в коде всё равно присутствуют отсылки к несуществующим элементам массива в arr[ j+1 ], когда j = i-1, т.е. опять-таки запрашивается arr[ arr.length ]. Благо, что if возвращает false, когда arr[ j+1] оказывается undefined, и всё работает. Но это криво, неправильно, и вообще.
Вопрос: Как удалить экземпляр класса в классе в Python?

Лучший ответ: Как это - вы хотите из экземпляра класса удалить его же самого? 
Задача решается добавлением property класса is_dead и проверкой этого состояния извне. По обнаружению этого факта можно, но только если оч хочется, сделать person2 = None  - вот и удаление.

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

Лучший ответ: Гуглить: Qt, PyQt, GTK+, Tkinter, kivy

Худший ответ: Гуглить: Qt, PyQt, GTK+, Tkinter, kivy
Вопрос: Почему сервер не дает подключаться к сайту в несколько потоков?

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

Худший ответ: Например может быть включён какой-то модуль реализующий ограничение количества соединений с одного адреса.
Для apache- stackoverflow.com/questions/450606/limit-number-of...
Для nginx - nginx.org/ru/docs/http/ngx_http_limit_conn_module....
Возможно даже средствами iptables
Вопрос: Нужен совет, как написать свой сервис Вопросов/Ответов. Зачем?

Лучший ответ: Вы же не указываете требования к интерфейсу, значит на фронте может быть что угодно. Даже голый HTML.
Поступите так: возьмите блокнот и подробно опишите сервис, который планируете делать. Что там обязательно должно быть, чего точно не будет. Опишите типичные юзеркейсы, процессы регистрации/входа/поиска/создания вопроса и тд. А там глядишь и станет понятно, что понадобится для реализации. А если нет, то тогда уже сможете конкретно спросить как лучше реализовать то или иное.

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

Лучший ответ: Можно ли подключить старый жесткий диск к новому компьютеру, чтобы все данные сохранились?Да, это возможно, просто подключите и все. Данные никуда не денутся, все останутся на своих местах.Можно ли прицепить хард из старого пк к новому, чтобы все проги (1с и т.д.) остались в рабочем режиме? Нет, это сделать невозможно.
Программы устанавливаются в операционную систему - у вас другая операционная система, и в нее они не установлены.
Нужно все программы устанавливать заново.

Худший ответ: перестанавливайте все проги а потом  со старого на новый переносите настройки
у меня ушел месяц
напомню что в xp aplication data а в 7 appdata
Вопрос: Сервер свой или аренда?

Лучший ответ: 10-13 человек Сервер свой с доменом. Сайт — аренда виртуального.

Худший ответ: под такой сервер пойдёт любая десктопная машина.
трафик считать trafic inspector'ом
Вопрос: Как сделать среднее арифметическое в SQL — запросе?

Лучший ответ: Вижу тяжело у вас сессия проходит. AVG() в помощь.

Худший ответ: SELECT `stud`.`Name`
FROM `stud`
INNER JOIN
(SELECT AVG(`stud`.`E1` + `stud`.`E2` + `stud`.`E3`) / 3 AS average
FROM `stud`
INNER JOIN `rob_gurt`
ON `rob_gurt`.`NumS` = `stud`.`NumS`
INNER JOIN `gurt`
ON `gurt`.`NumG` = `rob_gurt`.`NumG`
WHERE `gurt`.`NameG` = "Музыкальный") AS q
ON `stud`.`E1` <= q.average
Вопрос: Возрастет ли нагрузка, если ссылать несколько доменов на одну директорию?

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

Худший ответ: Обычно разделяют по директориям, если содержимое в них отличается. Если на доменных именах "зеркала" - естественно ссылаться надо на единственную директорию.
Вопрос: С чем может быть связана проблема с подключением ноутбука к телевизору через HDMI?

Лучший ответ: Вообще-то HDMI - hot pluggable! Другими словами, должен быть полностью электрически подготовлен для обеспечения выравнивания потенциалов. Что собственно и происходит чисто механически, первым втыкается земля разьема, в виде металлического корпуса. Тут скорее всего дело в драйверах, программной ошибке или аппаратной проблеме. Но сжечь что-то через hdmi скорее всего не получится.

Худший ответ: Вообще-то HDMI - hot pluggable! Другими словами, должен быть полностью электрически подготовлен для обеспечения выравнивания потенциалов. Что собственно и происходит чисто механически, первым втыкается земля разьема, в виде металлического корпуса. Тут скорее всего дело в драйверах, программной ошибке или аппаратной проблеме. Но сжечь что-то через hdmi скорее всего не получится.
Вопрос: Плюсы и минусы передача параметров объектом?

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

Худший ответ: Цитата от Мэт Зандрстра . .. присвоение свойств обьектамсчитается дурным тоном в ооп и почти никогда не используется.
Вопрос: Как реализовать стриминг видео «Один-ко-многим» с минимальной задержкой?

Лучший ответ: В целом отвечу ещё сам раз есть 10 подписчиков.
Мне удалось настроить nginx так чтоб задержка стрима была около 7 - 9 секунд.
Вот конфиг nginxworker_processes  1;

rtmp {
           
    server {
		live on;
        listen 1935;
        chunk_size 512;
        buflen 1s;
        idle_streams off;
        
        application stream {
            live on; 
         	record off;
 
			hls on;
			hls_path /tmp/hls;
			hls_fragment 1s;
			hls_playlist_length 6; 
			hls_type live;
  
			hls_fragment_naming sequential;

			hls_nested on;  
			dash on;
            dash_path /tmp/dash;
            
            dash_fragment 1s;
            dash_playlist_length 6;
            dash_nested on; 
        } 
    }
}
Но этого мало. Если такой стрим скормить плееру https://videojs.github.io/videojs-contrib-hls/ то задержка будет 15 - 18 секунд примерно.
Но если внедриться в код плеера и перед тем как он в свои недра передаст содержимое index.m3u8 файла этот файл обрезать чтоб вместо 6 последних элементов в плей листе оставить 2 самых новых файла видео то задержка сократится до 7 - 9 секунд.

Худший ответ: с hls у вас задержки меньше 30-40с не будет. low-latency сейчас идут rtmp/mse/webrtc. последний работает из коробки в фрисвиче через sipml5, только что клиентам нужна будет учётка для дозвона extension'у
Вопрос: Как рассчитать стоимость разработки сайта?

Лучший ответ: Вы скорее всего не примите мои советы как руководство к действию. Это ваше право. Я сам не понимаю, зачем раздаю эти бесплатные советы.
Не буду ходить вокруг да около. Суть спича - отговорить вас от дальнейшего разбора ситуации, отказаться от идеи реализации.
Сам занимался вэбом с 1997 по 2012. За это время видел много подобных фэйлов. 
По моим соображениям, успешны те руководители бизнеса, которые умеют все делать сами, но нанимают сотрудников выполнять их же работу, чтобы освободить себя от части работы, при этом всегда обучая своих подчиненных чем-то в рамках ремесла. 
Бывает ситуация, когда дела идут хорошо, оборотные средства растут, появляются излишки. В таких и только таких случаях можно нанимать на работу человека более опытного чем вы. Если вы найдете такого человека. А таких людей ищут годами. Человек придет, и принесет новый конструктив. Как говорится, разрулит все нависшие за время деятельности ступоры.
Чтобы браться за такой проект, у вас уже должна быть сформирована команда, у вас уже должны быть десятки аналогичных проектов "по-меньше", "по-локальнее". Вы должны обладать 100% знаниями как все реализовать самому.
Рассмотрим другую ситуацию. Если к вам обратился клиент-тостосум. И вам на данном этапе нужно назвать цену. Я рекомендую найти в себе сил отказаться от проекта. Сколько бы не было денег, без опыта вам понадобится мимнимум 10 лет чтобы понять как организовать эту работу. И вам ваш клиент-толстосум не поможет советом. Он также как и вы не работали над масштабными проектами в интернете. И так же как и вы будете ждать чудо от наемных работников, толстосум будет также ждать чуда от вас.
Ну как-то так...

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

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

Худший ответ: Нопремер так:if(document.documentElement.clientWidth <= 992) {
  document.getElementById('video').children[0].src = '';
  document.getElementById('video').children[1].src = '';
} else {
  document.getElementById('video').children[0].src = 'video/h264.mp4';
  document.getElementById('video').children[0].src = 'video/book.webm';
}
Вопрос: Какую из дистрибутив Linux выбрать для программиста?

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

Худший ответ: ПО везде можно поставить. А лучший дистрибутив лично для меня - elementary OS
Вопрос: Как сделать мультиязычный каталог на Wordpress?

Лучший ответ: WPML  вам в помощь.

Худший ответ: https://uk.wordpress.org/plugins/polylang/ если бесплатный. Главное не Wp Globus
Вопрос: Как правильно организовать работу в команде на GitHub?

Лучший ответ: В свое время, когда начинал работать, дали вот такую шпаргалку.
Воркфлоу - ты создаешь отдельную ветку, вносишь там изменения, после чего вливаешь её в главную ветку.Начало новой ветки
git checkout master
git pull
git checkout -b название_нового_бранчаКоммит: 
git add . добавь все в свою локальную репу 
закомить git commit -m “some commit message”…
пушни свою ветку в репу git push origin название_твоей_ветки
название можно чекнуть в IDE (справа снизу) или через git statusФинальный мердж 
git checkout master
git pull origin master
git merge название_твоей_ветки
git push origin master

Худший ответ: для успеха Вам нужны только два шага
0) поиск на тостере
1) профит
зыж ёлыпалы, та буквально ж неделю назад даже обсуждали подобный вопрос
Вопрос: Typescript vs ES7?

Лучший ответ: Без типизации в крупных проектах будет туго, да и в небольших использовать типизацию приятнее. Я полностью перешёл на TS, который постоянно меня выручает. 
Примеры:
* В JS изменить название переменной - это целый подвиг. С TS это делает за нас IDE.
* Забудьте про опечатки - вам не придётся с удивлением обнаруживать их в процессе выполнения и искать причину внезапного undefined.
* Новые возможности для рефлексии, которые (например) во всю использует Angular.

Худший ответ: Передо мной стоял такой выбор. Выбрал TS, написал два не маленьких бэкенда для мобильных приложений, ни разу не пожалел. Строгая типизация на крупных проектах безбожно рулит ибо автокомплит и рефакторинг средствами IDE. Плюс полноценное ООП без этих ваших прототипов.
Вопрос: Для чего нужен в Yii2 фильтр ContentNegotiator?

Лучший ответ: Вот документация https://github.com/yiisoft/yii2/blob/master/docs/g...
Основное назначение - вернуть ответ в правильном формате. 
В заголовке Accept клиент указывает в каком формате ему нужны данные, например json или xml
Из экшена ты можешь возвращать не только строку, но модель, массив (в том числе и моделей), дата-провайдр и т.п.
ContentNegotiator приводит эти данные к требуемому формату - например, сериализует модель в json, устанавливает заголовки и т.д. Правила сериализации можно описать в модели, или же реализовать свой сериализатор (в документаци это, увы, раскиданно в разных местах). Вообщем, для создания api - необходимая штука.

Худший ответ: Ну да, вы сами себе ответили.
Посмотрите код. Там, в принципе, видно, что язык и формат ответа можно передавать как через заголовки, так и через GET параметры _lang и _format.
Вопрос: Как прописать логику спойлеру, чтобы он закрывался на второй клик вместе со всеми остальными?

Лучший ответ: Надо при закрытии спойлеров не обрабатывать текущий:

$('.spoiler-header').click(function() {
  const $thisContainer = $(this).parents('.spoiler-container');

  $('.spoiler-container')
    .not($thisContainer)
    .removeClass('active')
    .find('.spoiler-content')
    .slideUp();

  $thisContainer
    .toggleClass('active')
    .find('.spoiler-content')
    .slideToggle();
});

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

Лучший ответ: В основном натыкаюсь на фрилансеров-одиночек или же digital-агентства. Вопрос. Как можно найти ауторсеров? 
Если стоимость проекта меньше пары миллионов рублей, то возьмется компания, а делать в конечном итоге отдаст такому же фриленсеру.
Хорошие фриленсеры, как правило, имеют проверенных коллег, которым делегируют часть задач. Чем не фирма?Все верно. Хочу заключить договор, чтобы была хоть какая-то ответственность) 
Фриленсеры могут заключать договора, закон это вполне разрешает.
У многих фриленсеров есть свое ООО или ИП.
Если у вас хороший бюджет, то вы можете работать с высшим ценовым сегментом фриленсеров - это те, что 300-500 тыс. рублей в месяц. С ответственностью у таких людей все в порядке.

Худший ответ: в гугл "аутсорс компании в $nameCountry"
Вопрос: Выбор ноутбука для студента-программиста?

Лучший ответ: Низковольтный процесор, - это тот, что помечен U в названии модели, если я правильно понял. 
По идее он справиться с задачами программиста и даже помонтировать удастся. Не низковольтный процесор производительнее где-то на 15-40%, в зависимости от модели. Если игры, то возможно лучше и Y50-70. 
Чем больше разрешение екрана тем приятнее работать и меньше устают глаза.

Худший ответ: Не знаю что такое низковольтный процессор, но за такие бабки он должен вам ещё кофе с утра подавать ) Справится конечно если речь идёт о фотошопе. Если же вы хотите монтировать видео на более ресурсоёмких программах - тоже справится, будет уже от оперативки зависить.
Вопрос: Где хранить переиспользуемые интерфейсы typescript?

Лучший ответ: Незаконно, файлы d.ts это для библиотек, написанных на js, которым нужны тайпинги.
Если проект на typescript, то типы и интерфейсы следует импортировать явно.
Либо из models(interfaces, types, ...whatever), либо из сервисов, которые с этими типами работают.
Я склоняюсь к модульной структуре, т.е. интерфейсы лежат в отдельной папке, рядом с тем местом, где они применяются.

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

Лучший ответ: Вариант 1 (CSS):#sidebar {float: right: width: 100px;}
#content {width: 100%}
Вариант 2 (PHP):<div class="<?= $sidebar? 'col-sm-10':'col-sm-12' ?>">...</div>

Худший ответ: Проще всего с помощью flex и flex-grow.
Вопрос: Почему Axios не видит файл?

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

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

Лучший ответ: 1) есть договор
2) закрывается договор актом выполненных работ
До тех пор пока акт не подписан сторонами - исполнитель договор не выполнил.
Пытаетесь пару раз урегулировать в до судебном порядке, через переписку почтой с уведомлением о вручении (или лично с отметкой входящего документа).
И обращаетесь с иском в арбитражный суд.  
Содержимое сайта-примера зафиксируйте нотариально перед подачей документов с суд.
Ну и консультация юриста непомешает.
P.S. А над скрином договора поржал от души в части формулировок. 1.1.10
PSS Не смотря на то, что закон на вашей стороне, по предмету договора я практически уверен, что исполнитель выполнил условия. Мне отчасти жаль исполнителя, но это будет ему полезной практикой составления договоров. 
Предположим, не Вы создали этот вопрос, а Ваш оппонент.  Мой ответ остался бы неизменным, такова буква закона. И она на Вашей стороне. Огласите раздел 3 договора, чтобы сообщество имело представление и адекватно могло оценить "расклад сил"

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

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

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

Лучший ответ: За счёт статичного каркаса SPA (Single Page Application), а при переходах по страницам - меняется только URL в адресной строке и нужные контентные блоки грузятся посредством AJAX.

Худший ответ: По поводу музыки  плеер скрывается, но не перегружается
Плавные переходы - js
контент естественно php
Вопрос: Как вывести произвольную информацию из базы в контент bitrix?

Лучший ответ: в разделе "типы инфоблоков" можно создать свой инфоблок(таблицу) и соответсвенно добавить туда необходимое количество свойств(колонок). После того как создадите инфоблок нужно будетперенести компонент формы добавления элемента iblock.element.add.form на нужную страницу и настроить его.

Худший ответ: Вам нужно кастомизировать административное меню и добавить страницу в админку.
- Как кастомизировать меню: https://dev.1c-bitrix.ru/api_help/main/general/adm...
- Как добавить страницу в админку: по той же ссылке, страницы "Список элементов" и "Форма" или вообще произвольную страницу можете сделать.
Вопрос: Моментальная переадресация?

Лучший ответ: Обычно это делается на стороне клиента, на яваскрипте.

Худший ответ: Sleep(30)
Делает паузу в выполнении скрипта на 30 секунд
Вопрос: Почему нельзя сделать push на сервер?

Лучший ответ: Если вы задание так же внимательно изучили, как вводную на странице репозитория, то рекомендую его никому не показывать. Там же английским языком, черным по белому написано:
Все эти буковки так же, как и остальную информацию на главной, вы должны были внимательно прочитать перед тем, как приступать к работе.Пароль правильный. Я не понимаю, что я делаю не так
У вас доступ только на чтение есть. Еще бы вам туда пушить разрешили. Да еще и в master.
Надеюсь вы им об этой проблеме не написали, так как подобные действия это уже повод выбрать человека покомпетентней и внимательней вас.

Худший ответ: Нет, пароль не правильный.
Ясно же говорят - Unauthorized.
Либо юзер, либо пароль, либо сервер.
Вопрос: Как в Postgres любую строку привести к 0 или '0'?

Лучший ответ: Это костыль, но работать будетSELECT CASE WHEN some_field~E'^\\d+$' THEN some_field::integer ELSE 0 END FROM some_table;
Если прав в БД достаточно, то можно определить своё правило приведения типов:CREATE OR REPLACE FUNCTION cast_to_int(text) RETURNS integer AS $$
BEGIN
    RETURN CAST($1::varchar AS integer);
EXCEPTION
    WHEN invalid_text_representation THEN
        RETURN 0;
END;
$$ LANGUAGE plpgsql IMMUTABLE;

CREATE CAST (text as integer) WITH FUNCTION cast_to_int(text);SELECT CAST('asd'::text as integer) вернёт 0

Худший ответ: можно и так
select regexp_replace('111a', '^(.*)[^\d].*$', '0')
-- 111 = 111
-- a111 = 0
-- 1a11 = 0
-- 111a = 0
-- sdfыва11ыва1a = 0