Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как сделать автозамену строчки в большом кол-ве файлов .php на Linux?

Лучший ответ:
Разобрался, find -type f -name '*.php' -print0 | xargs -0 -P 8 sed -i -- 's/TEXT1/TEXT2/g'
В итоге - рабочее решение, может кому пригодится

Худший ответ:
Что будет если добавить -z для sed ?`-z'
`--null-data'
`--zero-terminated'
     Treat the input as a set of lines, each terminated by a zero byte
     (the ASCII `NUL' character) instead of a newline.  This option can
     be used with commands like `sort -z' and `find -print0' to process
     arbitrary file names.
Вопрос: Как работать со сложной сущность, если мне нужно всего лишь отобразить данные?

Лучший ответ:
Используйте "ленивую" загрузку данных:class Test
{
    protected $abc;
    
    public function getAbc()
    {
        if (!isset($this->abc)) {
            $this->abc = new Abc;
        }
        return $this->abc;
    }
}

Худший ответ:
Через ноды нужного графа связей из различных однотипных полей: одно свойство - это один граф.
Тянете нужные ноды по свойству1 и получаете список1 связанных объектов.
Затем, тянете другие по свойству2 и тоже получаете список2 связанных объектов.
Затем делаете пересечение списка1 и списка2.
Итог: список объектов, объединённые критериями выбора по свойству1 и свойству2.
Вопрос: Какую книгу взять для полнейшего понимания ооп в php?

Лучший ответ:
Предлагаю начать с курса от lynda.com PHP with MySQL Beyond the Basics, на рутрекере переведенный естьДалее можно почитать Мэт Зандстра - PHP. Объекты, шаблоны и методики пр.... 4-е издание, хотя уже вышло 5-е, только без переводаЕсли есть деньги, то можно еще пройти (для закрепления) весь стек php на hexlet.io

Худший ответ:
Принципы проектирования ООП слабо зависят от языка, поэтому советую все-таки прочитать книгу "Приемы объектно-ориентированного проектирования. Паттерны проектирования"
www.ozon.ru/context/detail/id/2457392
Размером небольшая, читается хорошо.
Вопрос: Куда ставить winToGo: флешка или внешний ssd?

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

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

Лучший ответ:
Смотрели JETLOGGER?



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

Лучший ответ:
Кто-нибудь знает, есть ли вообще что-то подобное, какое-нибудь "официальное" подтверждение?Смотря что в вашем понимании является официальным подтверждением. Делаете все по ГОСТ'у, подаете заявку на сертификацию, собираете нужные бумаги, оплачиваете, проходите проверку, и получаете сертификат и при запросе выдаете копию сертификата..Или как вариант, пишите на бумаге в свободной форме, что-то вроде  - Сим удостоверяю, что тут все очень безопасно и зело  конфиденциально. Подписываетесь, и ставите штамп "Уплочено"
Оба варианта являются вполне официальными подтверждениями.

Худший ответ:
Думаю нужен сертификат 
base.garant.ru/10103678/95ef042b11da42ac166eeedeb9...
полученный на добровольной основе
base.garant.ru/12129354/b5dae26bebf2908c0e8dd3b8a6...
ну и куча контор типа sevtest.com/sertifikaciya-informacionnyx-sistem
которые занимаются выдачей сертификатов, тут надо уже подробно изучать рынок.
Вопрос: Как автоматизировать подбор ОТТЕНКА пантона в соответствии RGB-цвету?

Лучший ответ:
Пантоны изначально не предназначены для печати растром или заливками, отличными от 100%. Весь их смысл состоит в том, чтобы печатать готовым плашечным цветом.
Если очень хочется, то поэкспериментировать можно, конечно, но это будет то ещё шаманство с непредсказуемым результатом. И тем более не алгоритмизируемым. Только метод цветопроб и ошибок. И даже если вы подберете нужное сочетание, оно будет действительно только для конкретной типографии, техпроцесса и бумаги. Стоит уйти в другую типографию - рецепт можно выкинуть.

Худший ответ:
RGB перевести в ближайший Pantone например, на этом сайте. Но это как-то несерьёзно. 
По-хорошему, возьмите пантоновские веера и отберите подходящие на натуре. При разном освещении – дневном, офисных энергосберегающих лампах, при свечах. На разных типах бумаги.
70% цвет, напечатанный на белой глянцевой бумаге и на матовой желтоватой выглядит по-разному. Покрытый лаком и непокрытый – тоже.
Вопрос: Дилемма повышать в должности или нет?

Лучший ответ:
Убрать глупые и ненужные экзамены. Тогда всё встанет на свои места.

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

Лучший ответ:
А зачем вообще применяют торрент-трекеры вместо хостинга файлов, если Роскомнадзор все равно их блокирует?Вопрос не понятен. Что значит вместо хостинга? Торрент трекер это просто агрегатор ссылок, хостинг осуществляется силами самих пользователей.
Торрент трекеры применяют для удобного доступа к торрент ссылкам и обмена пирами.Использование пиринговых сетей создает много неудобств по сравнению с обычными HTTP(S) и FTP.Если не секрет о каких неудобствах речь? Правда, считается, что у торрентов есть и большое преимущество - избавляет администрацию от ответственности за пиратское ПО, но на деле блокируют все-равноОтветственность за пиратское ПО и блокировка это совершенно разные вещи никак между собой не связанные.
Поясню - ответственность это когда к вам пришли и попросили оплатить ущерб или отсидеть срок.
А блокировка - это просто заблокировали ресурс, по причине наличия нежелательного контента.Собственно на вопрос ответить невозможно, т.к весь вопрос состоит из противоречивых и не соответствующих действительности утверждений.
Уточните пожалуйста вопрос.

Худший ответ:
torrent - нагрузку сервера снимает.
и это все.
ответственность дело 10-ое.
на Западе, где они придуманы - никаую ответственость сие не снимает.
Вопрос: Как сделать плавное удаление класса?

Лучший ответ:
Удаление в любом случае будет мгновенным. Но вы можете перед удалением или после удаления запускать какую-то анимацию или прикрутить css transition.
https://jsfiddle.net/ynrpu1ft/1/

Худший ответ:
jquery UI$( "#effect" ).removeClass( "newClass", 1000, callback );
Если без jQuery.
То просто поставьте в блоке и в классеtransion: all...
Но тогда работать будет не все. Например display:none; сразу спрячет блок.
Вопрос: Как сделать отображение текста и смена background DIVa при наведении на текст?

Лучший ответ:
На CSS так
https://jsfiddle.net/tqg0Le91/
или так:  https://jsfiddle.net/a734zx6o/
позиционируйте как вам нравится, думаю мысль понятна. 
Либо на JS. Решений в инете полным полно.

Худший ответ:
Если через jQuery:$(document).ready(function(){    
    $(".text2").click(function(){
        $(".text1").toggle();
сделает видимым блок с классом text1, если в css до этого задано:.text1{
    display: none;
}
поменять фон можно через: $(document).ready(function(){    
    $(".text2").click(function(){
        $(".text1").css({ "background-color": "#f00"});
    });
});
Вопрос: Можно ли где нибудь посмотреть все классы bootstrap4?

Лучший ответ:
Все знают: getbootstrap.com/docs/4.0/getting-started/introduction

Худший ответ:
https://stackpath.bootstrapcdn.com/bootstrap/4.1.0... - здесь
Вопрос: Как найти путь до Python интерпретатора?

Лучший ответ:
попробуйте команду which он укажет где находится исполняемый файл.
Пример:which python3
Ответ: будет примерно/usr/bin/python3

Худший ответ:
В каталоге доустановить библиотеки «в ручную», набрав в консоли: pip install название_библиотеки
Вопрос: Почему при нажатии на label не меняется состояние radiobutton?

Лучший ответ:
Друзья, а зачем так сложно? 
Присвойте для input id А в label используйте атрибут for
<label for="ch2">  Женский</label> <input type="radio" id="ch2">

Худший ответ:
И таки нарыл сам, после написания вопроса.
Может еще кому пригодится 
Добавляем js и радуемся$('.form-check').click(
    function(){
        $(this).find(':radio').attr('checked','checked');
        //выделение всех чекбоксов на кликнутом контейнере, снять выделение через removeAttr("checked")
});
Вопрос: Является ли создание free-to-play игры с существующими персонажами нарушением авторского права?

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

Худший ответ:
Вы можете играть в бесплатные игры на
www.fr9juegos.co
www.9games.me
www.iogamesonline.com
Вопрос: Как подключить на сайт оплату сбербанком?

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

Худший ответ:
Вообще Сбер высылает всю документацию клиенту, в виде pdf файла.
Вопрос: Коммутаторы в 10"-шкафы. Бывают ли?

Лучший ответ:
Не на один раз строите - зачем делать такое нестандартное решение. Незачем подкладывать эксплуатации свинью - ставьте распространенные 19"

Худший ответ:
Полно таких, ищите на 280мм,
www.xcom-shop.ru/allied_telesis_at-fs724l_30948.html
или www.xcom-shop.ru/d-link_dgs-1210-20mea1a_408128.html
Вопрос: Почему условие if (... || ...) не срабатывает?

Лучший ответ:
1. endif дважды написан. Вообще syntax error должен быть.
2. Ну сделайте var_dump, посмотрите что в переменных лежит которые Вы сравниваете. Гадать можно долго.

Худший ответ:
Тут вот почитайте.
stackoverflow.com/questions/5998309/logical-operat...
or и || это не одно и то же
Вопрос: Организация процесса создания landing page с нуля?

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

Худший ответ:
Взялся за создание простой просадочной страницы (я не веб-разработчик)Зачем Вы взяли работу, если Вы - НЕ ВЕБ-РАЗРАБОТЧИК?!какие могут быть нюансыВозможно, Вы имели ввиду: "смогу ли я избежать хотя бы одну из возможных проблем"?я перфекционист отчасти, поэтому ставить денвер и делать всё там совесть не позволяет, да и к тому же занимаюсь системным администрированием и начинающей андроид-разработкой, поэтому уж с лендингом то должен справиться.Для перфекционистов ONLY: https://www.vagrantup.com/
Вопрос: Задачка на codewars, как решить?

Лучший ответ:
checkRange=(a,x,y)=>a.map(b=>n+=b<x==b>y,n=0)|n
checkRange=(a,x,y,c=0)=>a.map(v=>c+=v<x==v>y)|c
Более понятнееfunction checkRange(array, x, y, counter = 0) {
  return array.map(item => counter += ((item < x) == (item > y))) | counter
}

checkRange([2, 5, 6, 7, 1, 3, 4, 11, 56, 49],1,7)
где, после итерация return [1, 2, 3, 4, 5, 6, 7, 7, 7, 7] | 7 // возращает 7

Худший ответ:
Кажется, можно так:checkRange=(a,x,y)=>a.map(i=>i<=y&i>=x).sum()
Символов 45 вместе с именем функции.
Вопрос: Как настроить browser-sync для удаленного сервера?

Лучший ответ:
Решение проблемы таилось в другом. Оказалось, что фаервол резал 3000 порт, у нас в компании первым делом безопасность. После того как мне открыли порт, я без особых усилий смог настроить browser-sync. 'use strict';
const browserSync = require('browser-sync').create();

gulp.task('bs', function(){
    browserSync.init({
        proxy: "http://example.com/", // проксирование вашего удаленного сервера, не важно на чем back-end 
        logPrefix: 'example.com', // префикс для лога bs, маловажная настройка 
        host:      'example.com', // можно использовать ip сервера
        port:      3000, // порт через который будет проксироваться сервер
        open: 'external', // указываем, что наш url внешний 
        notify:    true,
        ghost:     true,
        files:     [/*массив с путями к файлам и папкам за которыми вам нужно следить*/]
    });
    browserSync.watch([/*массив с путями к файлам и папкам за которыми вам нужно следить*/]).on('change', browserSync.reload); //вотчер для команды перезагрузки bs
});

gulp.task('build', gulp.series('compile', gulp.parallel('watch', 'bs')));
Заходим по ssh на наш сервер и запускаем сборку.
Открываем http://example.com:3000/, и наслаждаемся всеми фишками browser-sync.

Худший ответ:
Может моё решение кому нибудь пригодиться, оставлю его здесь.
Исходя из комментария https://stackoverflow.com/a/35822444/8400413, настроил следующим образом.
GulpbrowserSync.init({
		socket: {
			domain: "localhost:3000"
		}
	});
Перед < /body> на удалённом сервере<script id="__bs_script__">//<![CDATA[
			document.write("<script async src='http://localhost:3000/browser-sync/browser-sync-client.js?v=2.18.13'><\/script>");//.replace("HOST", location.hostname));
		//]]></script>
Вопрос: Какая стратегия изучения C# наиболее оптимальна и продуктивна?

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

Худший ответ:
Рекомендую смотреть реализацию чего-то с использование того что хотите освоить. 
Лично я учился так. У меня была база программирования в целом (писал до С# на другом не типизированном, скриптовом языке) и я сразу придумал себе проектик не большой, и примерно понимал алгоритм работы, а вот как построить на C# не знал. Так пока я писал тот проект я научился работать со строками (парсить) использовать регулярки, привык к синтаксису C#, узнал как делать HTTP запросы, работа с потоками, имитацию нажатий клавиш. Естественно что это было больше ознакомительное приложение, и сделано лишь бы работало, но это дало хороший старт.
https://www.youtube.com/watch?v=kgFoLw-dzKk&list=P...
https://www.youtube.com/watch?v=jD9n5atfZDI&list=P...
Вопрос: В системе постоянно появляется троян. Как удалить?

Лучший ответ:
Воспользуйся AutoRuns, он покажет все возможные типы автозагрузки и задачи планировщика, а подозрительные даже выделит красным. И Process Monitor, как советовал Stalker_RED (как работать с ним хорошо показаноздесь).

Худший ответ:
Сноси систему, ставь чистую проверенную с закрытыми критичными дырами. Ты его не найдешь, раз пришол спросить здесь. Хотя если очень хочется можно попытаться, avz4, SysinternalsSuite в помощь. А еще может антивирус "шалить" - сам находит, сам лечит, показывает полезность.
Вопрос: 2 ядра или 4???

Лучший ответ:
гипертрединг же
ark.intel.com/ru/products/43529/Intel-Core-i3-350M...

Худший ответ:
Почему линукс (гну линукс...) показывает 4 процессора, а в виндоусе 2 ?? В Windows: Ctrl+Alt+Del -> Диспетчер задач -> Производительность -> Правый клик "мыши" по графику -> Изменить график -> Логические процессоры
Должно быть также 4 окошка графика. Один график - один поток.
Ядер - 2.
Про ядра и архитектуры: здесь
Вопрос: Как понять какие контроллеры нужны для веб приложения на Spring Boot?

Лучший ответ:
Что мешает создавать их по мере необходимости? Более того, можно вообще сделать один убер-контроллер, который будет отвечать на всё, но никогда не делайте так :)
Контроллеры надо разделять по области их деятельности, по той проблеме, которую они решают. Он может отдавать не только же страницы, но и json'ы какие-нибудь - у вас же на странице может быть динамическое содержимое, которое нужно получать без перезагрузки всей страницы. А вдруг оно нужно ещё и на другой странице? Например список пользователей. У нас есть страница для отображения списка пользователей и мы в котроллере пользователей отдаём эту страницу, но где-то на другой странице тоже нужно отобразить список пользователей или вообще отдать просто через REST другой системе, логично метод, возвращающий json-списка пользователей разместить в этом же контроллере.
Другой путь поделить ваши контроллеры на котроллеры, которые отдают страницы и контроллеры, которые отдают json. Это, можно сказать, вкусовщина.
Вы делать начните, а там поймёте, как вам удобнее. Не надо бросаться делать сразу все контроллеры, делайте постепенно по областям все слои, потом переходите на другую область. Можно возвращаться же и править что-то. Разбейте задачу на подзадачи (декомпозируйте) по фичам вашего приложения и пилите фичами.
А если вы работаете в паре с фронтендером, то обязательно обудите с ним, какие ему нужны API и данные на клиенте - это также поможет вам решить ваши вопросы с контроллерами.

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

Лучший ответ:
globals() и locals() в помощь:>>> a = 123
>>> b = 'asd'
>>> def test():
...     c = True
...     d = 55.36
...     print('GLOBALS:')
...     pprint(globals())
...     print('LOCALS:')
...     pprint(locals())
...
>>> from pprint import pprint
>>> test()
GLOBALS:
{'__annotations__': {},
 '__builtins__': <module 'builtins' (built-in)>,
 '__doc__': None,
 '__loader__': <class '_frozen_importlib.BuiltinImporter'>,
 '__name__': '__main__',
 '__package__': None,
 '__spec__': None,
 'a': 123,
 'b': 'asd',
 'pprint': <function pprint at 0x103ce9158>,
 'test': <function test at 0x101d62e18>}
LOCALS:
{'c': True, 'd': 55.36}
>>>

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

Лучший ответ:
Политиками установить запрет на запуск всех, кроме разрешенных.
Т.е. разрешить запуск из стандартных папок, куда имеет возможность записи только администраторы.

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

Лучший ответ:
Нет, смысла нет. Скорость работы уменьшится, а каких-либо плюсов от использования cms вы не получите. Раз количество страниц можно по пальцам пересчитать, значит редактировать вы их будете редко. Думаю, вам не составит труда зайти и поменять html-разметку.

Худший ответ:
Я думаю да! Если надо что то отредактировать для обычного юзера проще зайти в админку и поменять в вордоподобном редакторе чем лезть в код и что то поломать. Да и если это только для Вас, и Вы знаете основы html или не собираетесь вообще ничего менять то нету смысла
Вопрос: Как настроить ntlm авторизацию в bitrix24?

Лучший ответ:
Для начала нужно убедиться в следующем:
1) Пользователь от которого Вы пытаетесь зайти на портал существует в системе.
2) Стоит галочка "Проверять авторизацию на всех доменах" (часто забывают - а без нее бардак)
Затем необходмо настроить браузер (причем лучше IE, так как хром подтянет настройки с него):
1) У кого-то сайт нужно добавить в доверенные, а у кого-то в местные сайты (работает по-разному, слишком тонкая настройка)
2) Убедитесь что адрес сайта вписан верно (!)
Для диагностики можете добавить вывод $_SERVER на страницу login чтобы при вводе правильных данных с 8891 (в окошке), Вы могли посмотреть - что отдал браузер (может он логин иначе отдает).

Худший ответ:
А со стороны браузера настроили?
Вопрос: Мобильные приложения. React Native или Vue?

Лучший ответ:
Нативные мобильные приложения:
 - ReactNative - под React
 - NativeScript - под Vue
Гибридные приложения:
 - React - не знаю
 - Vue - Quasar Framework, OnsenUI, Framework7 и еще великое множество
 - ReactNative vs NativeScript - по технологии практически одинаковы (у NativeScript даже есть преимущество какое-то - не помню).Работа:
 - ReactNative - на фрилансе заказы есть и мелькают часто
 - NativeScript - практически нет заказов

Худший ответ:
react native весьма сыроват а про vue и говорить не чего
Вопрос: Как с помощью style удалить элемент?

Лучший ответ:
С помощью css невозможно удалить какой-либо элемент со страницы. Но можно его скрыть, по средствам использования свойства display и его значения none.div {
display: none;
}
или же, прям в html:<div style="display: none;">Текст какой-то</div>

Худший ответ:
Это скрыть).block {
		opacity: 0.0;
	}
Вопрос: Какие годные бесплатные курсы по php существуют?

Лучший ответ:
Если книги Котерова сложны, то вам стоит начать с азов программирования и алгоритмам. Тут язык уже не играет особой роли. Открываешь гугл и туда "программирование для чайников", ну или что-то такое =)))

Худший ответ:
Забудьте о курсах!
Пока Вы не научитесь читать книги, программирование вообще не Ваше.
Если пока что-то другое читать не получается, то вот отличная книга для того, чтобы начать кодить:
https://www.ozon.ru/context/detail/id/24901491/
Естественно, до профессии от нее далеко, но можно с чего-то начать.
Вопрос: Паралельно изучение двух технологий программирования?

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

Худший ответ:
То есть лучшие освоить PHP нормально и JavaScript 
Просто я где то читал или слышал, проще устроиться на работу программистом, который пишит программы на не сайты, т.к. многие начальники отделов и компаний считают что сайт может сделать любой школьник
Вопрос: Есть ли вероятность повтора одой цифры в данном коде?

Лучший ответ:
Конечно, вероятность есть. Как уже писали, нельзя сравнивать со следующим пустым значением.
Думаю, лучше сделать так:// Необходимое количество случайных чисел
$limit = 4;
// Максимальное значение случайного числа
$max = 100;
// Массив, в который складываются случайные числа
$numbers = [];

// Запускаем цикл
while(1) {
	// Генерируем случайное число
	$random = rand(1, $max);
	
	// Проверяем, есть ли уже такое число в массиве-результате
	if(!in_array($random, $numbers)) {
		// Если такого числа нет, добавляем его в массив
		$numbers[] = $random;
	}
	
	// Если уже набрали нужное количество чисел - выходим из цикла
	if(count($numbers) == $limit) { 
		break; 
	}
}

var_dump($numbers);

Худший ответ:
есть. Но по сути у вас и не проверяется на уникальность. 
что делает проверка if ($randNumber[$i] == $randNumber[$i+1]) { ??? сравнивает с пустым значением? Чтобы обеспечить уникальность, вам необходимо сделать двойной цикл: основной для генерации и внутренний для проверки уникальности.
Вопрос: Почему Telegram нельзя установить простой командой apt\yum install telegram с официального репозатория?

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

Худший ответ:
можно если у телеграма есть официальный репозиторий