Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Случайное добавление в список с проверкой на одинаковые элементы, как это правильно сделать?

Лучший ответ:
Обычно эту задачу решают не проверкой повторений, а просто сортируют список в случайном порядке и берут N нужных элементов с начала. Так они получаются случайными и гарантировано не повторяются.

Худший ответ:
Я правильно понимаю, что вам нужно из имеющегося списка взять случайное количество случайных слов?
Тогда это можно сделать гораздо проще, без цикла:import random

WORDS = ["kot", "maga", "lada", "sobaka"]

rand_num = random.randint(1, len(WORDS))
new_words = random.sample (WORDS, rand_num) 

print(new_words)
PS: И кстати, в питоне термин "словарь" имеет особый смысл. Не надо этим словом называть просто последовательность слов.
Вопрос: Язык или фреймворки?

Лучший ответ:
Иными словами нативный JS или React & Angular ?
А что вы собственно сможете написать на том же React без знания языка? Или тот же ангуляр... ну ок, UI-ку зная только ангуляр методом тыка и тд. вы накидаете но про поддерживаемые приложения, сервисный слой и логику на клиенте уже можно забыть.
Опять же, помимо фреймворков и языка, нужно еще знать принципы какие-то, жалетально уметь тесты писать и т.д. как будто бы знание JS нужно лишь для галочки, и действительно важно лишь какими фреймворками ты владеешь.
Потому что знание JS это само собой разумеющееся. Без этого дальше смысла нету разговаривать.

Худший ответ:
Нужно знать и то, и то.но на рынке труда frontend'ов как будто бы знание JS нужно лишь для галочки, и действительно важно лишь какими фреймворками ты владеешь.
Спорно. Некоторые крупные компании вообще не использую фреймворки
Вопрос: Блог для стартапа. Поддомен или подпапка?

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

Худший ответ:
1. wp у вас сломают, программисты не юзают вп. надо друпал
2. без разницы. на друпал пользователи поддоменов могут отлично быть авторизованными на основном сайте (это называется единый вход для мультисайтинга, делается Drupal Backery модулем)
Вопрос: Как зашифровать и расшифровать строку с помощью ключевой пары ssh?

Лучший ответ:
Создаете ключ в PEM формате (либо конвертируете текущий публичный ключ в PEM формат)ssh-keygen -f id_rsa.pub -e -m PKCS8 > id_rsa.pub.pem
Отправляем публичный ключ товарищу, который шифрует им файл message.txt:openssl rsautl -encrypt -pubin -inkey id_rsa.pub.pem -ssl -in message.txt -out EncryptedMessage.txt
Присылает EncryptedMessage.txt вам, и вы расшифровываете его приватным ключом:openssl rsautl -decrypt -inkey id_rsa -in EncryptedMessage.txt -out DecryptedMessage.txt

Худший ответ:
superuser.com/questions/576506/how-to-use-ssh-rsa-...
Не оно ?
Вопрос: Как понизить версию PHP с 5.6 на 5.5 в Debian 8 jessie?

Лучший ответ:
Если нет желания париться с установкой пакетов и их зависимостями и еще нет данных на сервере, то скорее для вас будет проще установить Debian 7.
Если найдется желание установить нужную версию, то можно просто собрать нужную версию с помощью phpbrew или phpenv.
Лично привык использовать phpbrew. Пример установки PhpBrew. Менеджер версий PHP. (+ установка и испол...

Худший ответ:
В общем после долгих плясок с бубнами откатился на Debian 7.9 там пхп 5.4. Всё настроил, всё запустилось с полпинка.
Спасибо всем за советы, пригодилось для получения опыта. Теперь хотя бы знаю некоторые тонкости управления пакетами.
Вопрос: Как возвращаться к своим комментариям на Тостере?

Лучший ответ:
Комметарий не могут признать ответом, потому что комментарий это не ответ.
Списка комментариев ни своих ни чужих в данный момент нет.

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

Лучший ответ:
Потому что подавлен вывод ошибок php.

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

Лучший ответ:
Препроцессоры на полную мощь (попробуйте jade для html), gulp, библиотека снипетов, опыт, опыт и ещё раз опыт.
Так же важно: мощный компьютер, хорошие мониторы в достаточном количестве удобное рабочее место и позволяющая состредоточиться атмофера.
Ну и самое главное:
Позиционируйте себя, находите своего клиента.
Быстро хотят все, но есть и те кто понимает, что лучше подождать немного дольше и получить готовый, кроссбраузерный, качественный продукт. Чем кривую поделку, которую потом в 2 раза дольше править.

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

Лучший ответ:
Ищите в сорону xdebug, code coverage, dead code. Оно это умеет.

Худший ответ:
2 и 3 — специальные опции к xdebug, которые позволяют искать не используемый код.
Вопрос: Как объединить и отобразить две модели django в одной модели admin?

Лучший ответ:
InlineModelAdmin objects с параметром extra

Худший ответ:
Вам нужно создать пополняемый справочник цветов. И вставить его инлайном в админке. (Только мне кажется что получить двойная вложенность, в джанге-админке вроде тольок 1 уровень инлайна может быть.)class ProductColors(models.Model):
    s = models.ForeignKey(Products)
    colors = models.ManyToManyField(to=Colors)

class Colors(models.Model):
    name = models.CharField(verbose_name="Название цвета")
Вроде типо того.
В admin.py создать TabularInline и вставить его админ-класс Products.
Вопрос: Толстый контроллер. Куда вынести логику?

Лучший ответ:
а почему регистрация и авторизация не то, что в одном контроллере, а в одном action?

Худший ответ:
У Вас метод разбит на два логических блокаRegister::request()->has('auth','post')
и Register::auth()->is_authorized()
Вот Вам уже два метода. Плюс у Вас присутствует html код, что не есть хорошо, от него лучше избавится в вид.  Я смотрю Вы в View::render не чего кроме файла вида не передаете, так передайте туда массив $message и там уже его разбирайте вашим шаблонизатором или родным php.
Что касается выборки, перенести или в модель или в отдельный метод
Вопрос: Можно ли в моей ситуации держать файлы на дропбокс?

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

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

Лучший ответ:
У тебя есть сайт, к которому подключена гугланалитика
На него заходят пользователи
заходим на
caniuse.com
Settings->From Google Analytics: -> import
теперь можно смотреть что могут, а что не могут твои пользователи
Если у тебя нет такой статистики, то берешь свой регио и указываешь какой процент аудитории ты можешь обеспечить не всеми фичами

Худший ответ:
В целом две последних версии популярных браузеров + дефолтные мобильные браузеры ios и android.
В частностях - вплоть до ie6 в зависимости от требования заказчика (и его кармана на поддержание старого хлама соответственно).
P.S. Процент использования IE9 < IE8, так что этот браузер вообще не стоит рассматривать на мой взгляд.
Вопрос: Тема для wordpress?

Лучший ответ:
Шаблон довольно примитивен, с точки зрения простоты вёрстки. Я бы, сверстал HTML и натянул бы на каркас, например на этот: roots.io/sage.  Также, для начинающего пригодятся такие ссылки: 
- "Custom Post Type" фреймворк "Pods" (pods.io);
- Дополнительные админ панели "Redux" (https://reduxframework.com);
- Плюшки: Twitter Bootstrap, Font Awesome, TimThumb, fancyBox и т.д.

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

Лучший ответ:
Вы что с луны свалились, веб перенасыщен уже давно. Любой дядя Вася после работы на заводе пишет скрипты на JS и делает psd to html.

Худший ответ:
Это называется накрутка.
Вопрос: Какие приложения для windows 7 есть для ночной работы?

Лучший ответ:
Лучше свет включите и не портите зрение.

Худший ответ:
f.lux позволяет менять цветовую температуру монитора в довольно большом диапазоне.
Вопрос: Нужна книга по Python для начинающего ребенка?

Лучший ответ:
Недавно видел вот такую Программирование для детей. Вроде подходит под ваши критерии.

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

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

Худший ответ:
Все дело в ценности, которую ваш сайт дает ее владельцу. Сможете обеспечить высокую ценность - будет высокая цена. Не сможете - ваш удел сайты за еду. Всякие причитания про современные Фреймворки и уникальный дизайн - вторичны и мало интересны бизнесу. В первую очередь повышайте ценность.
Вопрос: Как стать Java junior'oм?

Лучший ответ:
Нужно уметь писать программы на Java. Не благодари :)

Худший ответ:
Могу посоветовать сайт javarush, там очень много практики. В связке Головач + Философия Java/Java Core + JavaRush будет хороший результат (но никто не отменял переменной мотивации и упорства).
Вопрос: Как сделать часть обводки окружности прозрачной в photoshop?

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

Худший ответ:
В простейшем случае использовать круговой(не знаю, как он называется точно, но не радиальный, а именно круговой) градиент.
Алгоритм приблизительно таков:
1. Создать нужный градиент(как сделать полупрозрачный градиент, надеюсь, не надо объяснять)
2. Залить отдельный слой круговым градиентом(на панели изображен в виде круга, в котором по часовой стрелки цвет меняется от темного к светлому), проведя из центра круга
3. Накладываем маску круга.
Вопрос: Как написать приложение с раcписанием?

Лучший ответ:
Qt.
API может быть, а может и не быть (что скорее всего) - зависит от того, предоставляет сайт его или нет. Но, признаться, я не видел ещё сайтов ВУЗов с API (возможно, плохо смотрел).
Работа с массивами - это не работа. Это как сказать: "Я знаю, как готовить пищу и в основном я завариваю Роллтон"
Ответ на второй вопрос гуглится на раз.
Третий вообще не понял.
Расписание хранится на сервере, но, для скорости и возможности оффлайна, лучше всё-таки кэшировать данные в Sqlite и обновлять их раз в сутки (если есть возможность) или по запросу.

Худший ответ:
Могу только сказать, что приложение такого рода можно написать на java, а можно и средствами web-a, смотря что вам лучше дается...
Вопрос: Как указать контекст (или обойтись без него) при вызове метода в паблик классе (не активити)?

Лучший ответ:
Использовать getApplicationContext
Получать его как говорили в конструкторе или как синглтон из application сделать. Application живет дольше вьюх,  поэтому уменьшается риск утечек памяти.

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

Лучший ответ:
пожалуйтесь в контролирующий орган, что не можете получить посылку стоимостью 500руб, требуют чтобы вы регистрировались как ИП.

Худший ответ:
Хе-хе. Приехали к нам как-то какие-то компоненты и уж не знаю по какой причине вместо того чтобы сразу идти к знакомому брокеру, попытались их растаможить вручную — наверное порядка месяца квест длился (сколько человеко-часов ушло посчитать страшно). Причем все совершенно в рамках закона таможенники делали. Потом обращаешься в контору к таможенным брокерам (руководитель по случайному совпадению друг/сват/брат главного таможенника) и за скромную сумму в несколько билетов до Ярославля все моментально проходит таможню. В общем самый честный способ тут — в морду и быстро в окно…
Ну а за 50 рублей с вами никто разговаривать там не будет, сами понимаете — разве что по знакомству…
Вопрос: Как вызвать функцию php из JavaScript?

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

Худший ответ:
Никак. JavaScript вызывается на клиенте, PHP на сервере. Когда-то у меня тоже был подобный вопрос.
Однако, можно вызвать js из php -<?php
echo "<script>my_js_func()</script>";
?>
Правда, можно юзать AJAX или что-то типа того, если нужно получить какие-то данные
Вопрос: Как правильно задать ширину блока?

Лучший ответ:
Лучше так: https://codepen.io/anon/pen/mEqKox
большому блоку задать max-width и display:inline-block - тогда не будет пустого места, если маленьких блоков мало.

Худший ответ:
Может так?
https://jsfiddle.net/mrnobody/8kdgg1ht/5/
Вопрос: Как вы создаёте макеты сайтов, работая на Mac Book с ретиной?

Лучший ответ:
Я не веб-дизайнер, но на пару вопросов ответить смогу:
Лучше все же 16гб если деньги позволяют, особенно раз держите много программ одновременно открытыми. Потому что 8гб даже сейчас - минимум, а добавить еще оперативки в макбуки вроде как нельзя - там все запаяно.
Насчет ультрабуков на винде: да, такие существуют, смотрите тут market.yandex.ru/catalog/91013/filters?exc=1&how=dpop . Вбейте, какие конкретно интересуют характеристики. 
Например это или это.
Еще, если есть возможность купить за рубежом, можете присмотреться к новым моделям на broadwell, которых у нас еще нет

Худший ответ:
Лично я нормально работаю на 15.6 дюймах (не ретина). Поэтому про ретину нечего сказать не могу. Ну если есть возможность то бери 16, ибо у меня 8 и 5 из них улетают при открытие 4 вкладок браузера мозила и фотошопа + на одной из вкладок может быть видос на ютубе или радио шуметь
Вопрос: Как сделать так что бы при заходе на страницу проходила проверка зарегистрирован ли пользователь?

Лучший ответ:
Используйте сессии
php.net/manual/ru/session.examples.basic.php

Худший ответ:
При авторизации пользователя создаем переменную сессии "username", а в файлах которые может смотреть только зарегистрированный пользователь делаем такую проверку: session_start();
if(empty($_SESSION['username'])) {
	header("Location: login.php");
	exit();
}
Вопрос: Как осмыслить решение задач на основе общения функций?

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

Худший ответ:
Если это игра - даже самая простейшая, то попробуйте использовать игровой цикл.
Весь игровой процесс - это один цикл. В какой то переменной хранится значение чей сейчас ход.
В цикле идет проверка:
Если ход игрока, то запрашиваем у него значение, проверяем его, и обновляем игровую ситуацию (в нашем случае - сумматор)
Если ход компьютера, то вызываем функцию хода компьютера в которую передаём текущее значение сумматора, а возвращаем число от 1 до 10.
В конце игрового цикла делаем проверку, если сумматор = 100, то победил игрок, который сейчас ходил, а если < 100 то меняем переменную "чей ход" и идём на следующий шаг цикла!
Из этого алгоритма уже можно какие то функции выделять. А вообще учите ООП сразу. :)
Вопрос: Учитель из прошлого тысячелетия в техническом ВУЗе. Как ему объяснить, что информация может быть не только на бумажке?

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

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

Лучший ответ:
Для того чтобы выбирать роутер тебе нужно перевести оба роутера в один бродкастовый сегмент т.е. подключить HUGHES HN9200 с адресом (к примеру 192.168.0.254/24 и обязательно выключить на нем dhcp) в LAN порт роутера Zyxel NBG460N EE. В WAN порту роутера Zyxel NBG460N EE должен быть основной канал. Таким образом ты из локальной сети будешь видеть роутер А 192.168.0.1 и роутер B 192.168.0.254 в случае надобности будешь менять шлюз по умолчанию. (пример для linux ip r replace default via 192.168.0.254)

Худший ответ:
выдавайте адреса 192.168.0.3-192.168.0.224
Вопрос: Как полностью скопировать систему windows на виртуальную машину на OS X?

Лучший ответ:
У любой системы виртуализации есть инструменты переноса реальных в виртуальные.
Поставь Parallels или VmWare и нажми кнопочку создания VM

Худший ответ:
Можно использовать Clonezilla и клонировать.
Вопрос: Django формы, как динамически добавить поля?

Лучший ответ:
Formset жы.

Худший ответ:
Попробуйте вот так, на ходу создавать класс формы:MyForm = type('MyForm', (forms.Form,), {
    'slug01': forms.CharField(max_length=50),
    'slug02': forms.CharField(max_length=50),
    'slug03': forms.CharField(max_length=50),
})
form = MyForm()
...
Поидее должно работать.
Вопрос: Возможно ли передать файл клиенту через WS?

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

Худший ответ:
Можно по сокетам, а можно отдать ссылку на сформированный файл.
Вопрос: Как исправить ошибку с кодировкой json_decode?

Лучший ответ:
Телепаты ушли на праздники, остался только я.
Подробнее. Какие газы? Маркировка, производные?

Худший ответ:
Читайте, пожалуйста, документацию!
php.net/manual/ru/function.json-decode.php
Эта функция работает только со строками в UTF-8 кодировке. 
плюс
php.net/manual/ru/function.mb-internal-encoding.php
php.net/manual/ru/function.iconv.php
и все вопросы с кодировкой исчезнут.
Вопрос: База городов в нужном падеже?

Лучший ответ:
3 результат Google:

Худший ответ:
А не проще простые правила русского языка заскриптовать? 
Например так:
1) Москва => Москве
2) Петрбург => Петрбурге

Так, навскидку, то если название заканчивается на гласную или мягкий знак — меняем еë на букву е.
Вопрос: В чем разница: функции первого класса и функции высшего порядка?

Лучший ответ:
Функции высшего порядка -- функции, которые могут принимать другие функции и возвращать функции. first-class functions -- фича языка, позволяющая переменным содержать ссылки на функции. По сути -- разные вещи, но по отдельности смысла в них не много:)

Худший ответ:
Погуглить слабо?Функция высшего порядка, в отличие от функции первого порядка, имеет один из трёх видов:
1. Один из параметров функции также является функцией и она возвращает значение.
2. Она возвращает функцию, но ни один из параметров не является функцией.
3. И первый и второй пункт: функция возвращает функцию и один из параметров является функцией.
Источник: https://github.com/anton-k/ru-neophyte-guide-to-sc...
Таким образом, функция высшего порядка должна возвращать функцию и/или принимать одну функцию в параметр
Вопрос: Как сохранить клиента себе не в убыток?

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

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

Лучший ответ:
Пробуй что-нибудь из категории Knowledge в https://www.kaggle.com/competitions

Худший ответ:
присоединяюсь к ответу выше, если интересуют русскоязычные стажировки, то от души рекомендую поискать здесь: changellenge.com/vacancy
Лаборатория Касперского сейчас ищет аналитиков на стажировку, можете посмотреть на их сайте.
Вопрос: Почему читаемые данные с COM порта ломаются при потоке?

Лучший ответ:
В приведённом коде использована функция Serial.print().  То есть код просто пишет в порт два символа - '2' и '2'.
На входе принимаем следующий текст - '22222222222222222222222222222222222222222222222222222'.
В какой-то момент буфер заполняется и происходит чтение с последующим разбором. Сколько при этом символов в буфере - сколько есть, столько и будет передано.
Логичнее было бы использовать какой-нибудь символ-разделитель. Например, перенос строки. Чтобы в буфере было '22\r\n22\r\n22\r\n22\r\n'.
Для этого достаточно использовать функцию Serial.println() вместо Serial.print().

Худший ответ:
Ну, вроде как, COM - последовательный порт. Это значит, что данные просто бегут по нему. Например, там скопилось 22, пока вы пытались его прочитать, пришло 22, а бывает, что прочитали быстро и успела дойти только одна цифра. Поэтому надо после отправки числа отправлять какой-то разделитель, чтобы потом понимать, где заканчивается предыдущий ответ и начинается новый.
Но если передаете только температуру, то я бы советовал использовать Serial.write(25). Он передаст один байт со значением 25 (0b00011001). В nodejs надо будет его просто распарсить.
Иначе же он приведет число к строке (2 байта: "2" и "5") и будет посылать их раздельно.
Вопрос: Низкоуровневые вопросы работы компьютера?

Лучший ответ:
[суровый юмор] Последнее время меня посещает стойкое ощущение востребованности Saas штуки по формированию запросов в гугл. Можно срубить кучу бабла! )
www.goodkomp.com/page/kak-rabotaet-kompjuter (не удержался, простите =) ) Почитайте! На безрыбье, как говорится…
[суровый юмор]

Худший ответ:
Недавно было: habrahabr.ru/qa/17805/
Вопрос: Какую книгу по программированию прочитать?

Лучший ответ:
"Искусство программирования" Дональд Эрвин Кнутвот сам сегодня спрашивал :)

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

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

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