pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как корректно описать PHP класс?

Лучший ответ: но потом мне стало совсем ничего не понятно - чего это у меня один и тот же класс будет всем подряд заниматься. Там и без того уже сборная солянка - и регистрация, и проверка текущих кукизов, а тут еще и .. 
Именно в этом состоит разница между двумя основными архитектурами ORM - Active Record и Data Mapper.
Data Mapper разделяет работу с бд и бизнес-логику самого объекта. В итоге мы имеем два объекта - UserMapper и User.  UserMapper занимается общением с базой - ищет в БД и возвращает инстанс объекта User, обновляет данные в БД, удаляет строку из БД. Класс же User реализует только бизнес-логику, ничего не зная о том, как его данные хранятся в БД.
Active Record  же держит все в одном классе, то есть сам юзер ищет себя в базе, удаляет, и так далее. 
Я думаю, сейчас настало время перейти к варианту  Data Mapper.

Худший ответ: class User {
  public static findById($id) {
    // Ищем в базе, и возвращаем как созданный объект:
    if ($dataFromDB) {
      return new self($dataFromDB);
      // Или что-то вроде того:
      $user = new self();
      $user->load($dataFromDB);
      return $user;
    }
    // Если не находим, то
    return null;
  }
}
Но лучше вместо своего велосипеда посмотреть на готовые ORM'ки и выбрать подходящую, раз с объектом из базы работаешь как с моделью.
Вопрос: Как быстрее/правильнее загружать данные?

Лучший ответ: Пара кейсов, после которых идея "передать на фронт и фильтровать там" перестает казаться такой хорошей
1) Прилетел массив на 10 000 элементов. Клиент зашел с Samsung galaxy S2 , попробовал загрузить/фильтрануть, посмотрел, как завис браузер, и ушел. Не забывайте, что не все пользователи сидят с десктопов как у разработчиков с 16-32Gb оперативы. Мобилка может поперхнуться банально из-за большого json-а
2) Как только потребуется сделать паджинацию -  фильтрация на фронте станет выдавать неожиданно некорректные данные
Пинайте сервер-сайд, пусть разрабы или кэшируют, или расставят индексы в базе правильно, если у них SQL, или перейдут на подходящий поисковый движок с фасетным поиском
Я верю, что можно сделать выдачу и фильтрацию чисто на фронте с любым количеством элементов, если команда состоит из сплошных ниндзя и рокстаров, но практика в 3 подобные ситуации показывает, что в итоге эту фильтрацию придется переписывать как минимум на гибридную (и поддерживать 2 решения, на фронте для малого количества записей, и на бэке для большого), либо полностью на сервер сайд, так как к сожалению команда никогда не состоит из идеальных разработчиков, чаще из обычных живых людей

Худший ответ: И как привильно делать такие каталоги при небольшом количестве элементов (меньше 1000) и большом(больше 10000)?
Разбивка по страницам каталога. Фильтрация по 1 кнопке, а не при каждом изменении формы. Далее смотреть структуру запросов к БД.
Вопрос: Зачем на оперативке DDR4 2400 DIMM нужны радиаторы? Она же вроде низковольтная. Или это просто понты?

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

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

Лучший ответ: Я решил проблему временно добавив "Win.Exploit.CVE_2016_3316-1" в local.ign2
можно сделать так
echo "Win.Exploit.CVE_2016_3316-1" >> /var/db/clamav/local.ign2
И после этого перезапустить clamd 
Ну соотв. путь к базам clamav нужно поменять на актуальный, например для linux это чаще всего будет /var/lib/clamav
Это обходное решение до тех пор пока не исправят проблему

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

Лучший ответ: Других отвечающих запутали слова про "закоммитить только изменённые файлы". Дело в том, что закоммитить не изменённые файлы в гите в принципе невозможно. Можно только разбить пачку изменённых файлов на несколько коммитов, при желании. Поэтому, вопрос кажется глупым и вас отправляют читать документацию по гиту.
На самом деле, формулировка должна быть такой: "запушить на Гитхаб только те файлы, которые вы меняли".(То, что составитель задания путает коммит и пуш, не очень хороший знак сам по себе, но тут уже вам решать, как к этому относиться.)
Задача же решается примерно так:Устанавливаете пробную версию.Инициализируете в ней репозиторий.Делаете первый коммит, до любых своих правок.Решаете поставленную задачу.Делаете второй коммит, содержащий ваши изменения.
Теперь у вас есть коммит, в котором показана вся ваша работа.
Дальше действия зависят от предпочтений постановщика задачи:6А. Вы можете просто запушить всё на Гитхаб и дать ссылку на ваш коммит - там проверяющий увидит всё, что нужно и только это.6Б. Если в репозитории должны быть только изменённые файлы и больше ничего вообще, то просто создайте новый пустой репозиторий и руками скопируйте в него нужные файлы, руководствуясь логом гита. А потом запушьте его на Гитхаб.

Худший ответ: git status покажет все измененные файлы
git add . добавит все свеже созданные файлы к отслеживаемым
git commit закоммитит все измененные отслеживаемые файлы
Вопрос: 1С. Как он касается it, и как с ним работать?

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

Худший ответ: Тех.специалист должен уметь установить, настроить и поддерживать 1С. Почитать можете официальное руководство администратора 1С.
Вопрос: Как правильно создать таблицу MySQL?

Лучший ответ: Вам нужно разделить данные на несколько таблиц, согласно 3 нормальной формы (изучите отдельно)Города (поселки) — отдельная таблицаУчастки — отдельная таблицаЖители  — отдельная таблица
Связи 1 к 1 тут в основном (хотя житель может гипотетически жить в нескольких участках)
Совсем недавно на похожую тему давал советы, там совсем др тематика, 
но попробуйте вникнуться:
Делать 1 большую таблицу или разбивать на части?
Какие таблицы БД должны быть в таком онлайн справочнике(ссылка внутри)?

Худший ответ: Не пытайтесь запихать все данные в одну таблицу.
Таблица городов `cities`:id | name
Таблица поселков `vilages`:id | city_id | name
Таблица участков `areas`:id | vilage_id | coordinates | photo
Таблица людей `persons`:id | area_id | firstname | lastname | etc...
Можно всё хранить и в одной, но будет избыточность данных.
PS: если не понятно, то `city_id` указывает на таблицу `cities`, `vilage_id` на таблицу `vilages` и т.д.
Вопрос: Какую OC выбрать под хайлоад проект? (Ubuntu/Debian/FreeBSD)?

Лучший ответ: То, что сможете поддерживать.FreeBSD наиболее гибка, логична устроена и прекрасно документирована. Так что даже если вы не умеете её правильно готовить, то освоите довольно быстро.
Собрать своё ядро и, тем более, софт с нужными опциями из исходников, дело несложное. А для highload это дело полезное.
Ну и по свежести и размеру базы пакетов/портов FreeBSD в лидерах.

Худший ответ: Все что угодно подойдет, но стройке архитектуру правильно, и будьте готовы к реакции рынка на Ваш продукт. 
У меня много лет назад простая конфигурация LAMP на Centos 5.5 с легким тюнингом ядра спокойно держала 200 запросов в секунду. Разработчик был с головой просто).
Сейчас, берите то что знаете сами, легко можете освоить сами.
Вопрос: Какую оперативную память выбрать для игрового сервера на i7 7700k?

Лучший ответ: Этот процессор не поддерживает ECC:
https://ark.intel.com/ru/products/97129/Intel-Core...

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

Лучший ответ: Failed at step CHDIR spawning /usr/bin/python3.5: No such file or directory
Вам ничего не говорит?
Ну и не надо так. Не надо файлы лежащие у юзера запускать через системные юниты. Вам Поттеринг дал systemd --user

Худший ответ: Вероятно, строка
ExecStart=/usr/bin/python3.5 /home/vadim/vkbot/variator.py
не может быть выполнена. Ошибка "Failed at step CHDIR spawning ..." в вашем случае может выдаваться, когда сервис, запущенный под заданным UID:GID не имеет доступа к файлу /home/vadim/vkbot/variator.py. Либо, данный файл переименован (отсутствует).
Вопрос: Установка Asterisk+FreePBX, руки крюки?

Лучший ответ: По опыту, набил много шишек с этим FreePBX. Поставьте чистый Asterisk. Я вас уверяю, вы его полюбите. И желательно на CentOS.

Худший ответ: Соглашусь. Чистый Asterisk лучше.
Единственный минус - с коллегами будет сложно общаться. В духе, "а как это у тебя работает без freepbx?"
А по проблеме, похоже что у вас не стоит пакет "php-mysql"
Вопрос: В чем ошибка сборки webpack?

Лучший ответ: Замените babel на babel-loader:module: {
    loaders: [
      {
        test: /\.jsx?$/,
        loader: 'babel-loader?presets[]=es2015,presets[]=react,presets[]=stage-0'
      },
      ... 
    ]
  }
Ну а по-хорошему перепишите конфиг по-современному:module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /\/node_modules\//,
        use: [
          {
          loader: 'babel-loader',
          options: {
            presets: ['es2015', 'stage-0', 'react']
          }
        }]
      },
      ...
  ]
}

Худший ответ: Попробуйте поменять ваш babel лоадер на babel-loader в конфиге вебпака
Вопрос: Как организовать хранение БД кучи проектов?

Лучший ответ: Если проект не наколеночная поделка одного человека за пару вечеров - то структура БД живёт непосредственно рядом с проектом и накатывается через миграции. Ну, например, описание у Yii2: www.yiiframework.com/doc-2.0/guide-db-migrations.html

Худший ответ: Миграции, например https://phinx.org/
Вопрос: Как генерировать Json на C#, если структура динамическая, не прописывая все возможные варианты?

Лучший ответ: Можно оформить классы вот так:public class CommandResult
{
    public string Command {get;set;}
}
public class CommandResult<T>:CommandResult
{
    public T Data {get;set;}
}
public class FilesList
{
    public string[] Files {get;set;}
}
public class UserInfo
{
    ...
}
и используешь в WebApipublic class MyAwesomeController:ApiController
{

    public CommandResult<FilesList> GetFilesList(){
        ...
        return new CommandResult<FilesList> (){
            Command = "FilesList",
            Data = new FilesList(){Files = new []{"file1","file2","file3","file4"}}
        };
    }
 public CommandResult<UserInfo> GetUserInfo(){
...
 }
}
или со своей логикойpublic class MyAwesomeCommands
{

    private CommandResult<FilesList> _getFilesList(){
    ...
        return new CommandResult<FilesList> (){
            Command = "FilesList",
            Data = new FilesList(){Files = new []{"file1","file2","file3","file4"}}
        };
    }
    public string GetFilesList(){
        var data = getFilesList();
        return JsonConvert.SerializeObject(data);
    }
 public string GetUserInfo(){
...
 }
}

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

Лучший ответ: Знаю что это возможно т. к. у знакомого видяха сгорела и комп сам стал юзать встроенную через разъем сгоревшей видюхи.
Спросите у знакомого, как он это сделал. Потом расскажете - аж интересно.

Худший ответ: тупо отключить ее в диспетчере устройств, я так раз 5 делал... и больше буки не приносили))
Вопрос: Какой есть способ быстро отключить обновления windows 10?

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

Худший ответ: Доменные политики, WSUS?
Вопрос: В чем практическая польза итераторов в JS?

Лучший ответ: Полезность итераторов в том что это открытый интерфейс для любой структуры данных. Как вы уже поняли, любой класс/объект в JS может обладать интерфейсом итератора. Идея итератора в том чтобы скрыть внутреннее представление структуры данных от потребителя этих данных. Например, если вы работаете с какими-либо замысловатыми структурами данных, типа бинарных деревьев. Пользователю совсем не обязательно знать как ваш класс/объект хранит бинарное дерево. Пользователь просто его получает и проходит по всем его элементам в цикле. В дальнейшем, вы можете, при необходимости, заменить одну структуру данных на другую, не меняя самого пользователя. Например, вы можете заменить бинарное дерево на б-дерево прозрачно для самого пользователя (пользователь не будет знать что вы подменили структуры, он по прежнему получает что-то что можно проитерировать и ему этого достаточно).
Для того чтоб глубже понять суть вопроса, можно погуглить про инкапсуляцию и SOLID (в вашем случае, принцип Open/closed).

Худший ответ: > но есть же Map, Set.
Это совсем не про это, итераторы позволяют частично выполнять ф-ии, множественный вход-выход, потоковая передача данных и т.д.
Для сравнения попробуйте сделать функцию вычисления бесконечного фибоначи на итераторах и без, и сравните время выполнения, для получения результата (хотя бы первых N элементов).
Вопрос: Почему при регистрации и выходе из нее происходит ошибка?

Лучший ответ: Мои глаза... Где вы этот кошмар пишете? В застенках гестапо? Кто вас так мучает? И зачем вы мучаете нас?
написано черным по английскому: не отправляются заголовки патамучта уже начат вывод данных, который начат в dy_header.php, соответственно никакие куки setcookie(session_name(), '', time()-2592000, '/'); тут уже не запишутся. Учите ну хоть какие-то основы прежде чем писать фикалокод.

Худший ответ: Сделайте такsession_start();
  require_once 'dy_functions.php';
  echo "<!DOCTYPE html>\n<html><head>";
а лучше напишите код с 0 без костылей, как сейчас. Он выглядит ужасно...
Вопрос: Мне нужен только ssh и nginx. Как остановить/закрыть всё остальное?

Лучший ответ: В список правил iptables добавить:
...
:INPUT DROP [0:0]
...
-A INPUT -i ethN -p tcp -m multiport --dports 146,80 -j ACCEPT
...

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

Лучший ответ: Для современных браузеров с технической точки зрения - вообще без разницы.
Можете написать хоть <mymenu>
<menuitem><a href = "#">111</a></menuitem>
<menuitem><a href = "#">222</a></menuitem>
</mymenu>НО
1. Поисковики приветствуют, чтобы семантика была строгой, а код, по возможности, валидным.
2. ul li достаточно удобен для описания меню с большой вложенностью
3. Другим разработчикам будет проще разбираться
По сути, так подумать, очень многое в HTML5 носит не технический, а исключительно идеологический характер. Все эти header, footer, section, article...

Худший ответ: Как уже ответили - особо разницы нет.Почему принято навигацию по сайту верстать списком?
Да потому что это список :)
Вопрос: C#-SQLite Error: Database is locked, почему?

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

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

Лучший ответ: если хочется "только на цсс", то простейший вариант изготовления аккордеона вручную - это выбор развёрнутого в данный момент блока на радиокнопках.
расположить без изысков: подряд три дива, в каждом сначала заголовок, потом блок с тектом.  блоки изначально спрятаны, заголовки видны.  
заголовки блоков - это лейблы для спрятанных радиокнопок с одинаковым name.  видимость блока определяется селектором следующих элементов, вроде такого: input[checked] ~ div.block { display: block; }
юзер тычет в зголовок, кнопка переключается, прошлый блок сворачивается, новый растопыривается.

Худший ответ: Это называется аккордеон, на codepen можно найти разные реализации
Вопрос: Хороший туториал или книгу по Spring?

Лучший ответ: Крейг Уоллс - Spring в действии
Крис Шеффер, Кларенс Хо, Роб Харроп - Spring 4 для профессионалов

Худший ответ: Все очень просто. Заходите на рутрекер, вбиваете в поиск SPRING FRAMEWORK, результаты сортируете по свежести и выбираете: видео лекции, видео уроки и.п. видео. Качаем парочку, смотрим, пытаемся сами делать примеры.
Вопрос: Какая лучшая среда разработки под windows (лучше бесплатная) для IOS приложений?

Лучший ответ: Забыть об iOS.

Худший ответ: Лучшая - это или виртуальная машина, или VPS через VNC. Второе не бесплатно, зато нагружает только сеть, а не процессор и ОЗУ, правда, интернет надо подключить хороший, а то "тормозит" по графике, но это не дорого.
Или Хакинтош, если поставите как вторую ОС.
Вопрос: Как посмотреть по какому логину-паролю пытаются зайти по ssh в Linux?

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

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

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

Худший ответ: contrib.scikit-learn.org/imbalanced-learn/stable
Но вообще 90 на 10 - вполне здоровое соотношение для большинства случаев.
Вопрос: Как стать художником в геймдеве?

Лучший ответ: Юра Березовский , читать сгодится все то, что полезно для укрепления знаний. Книги по архитектуре, машиностроению, анатомии животных и людей, бодибилдингу (т.к. там хорошо рассказывают про моторику и мышцы).
Конкретнее... Вот, что глазом у жены с полок ухватил:
* Джеймс Гани - Цвет и свет.
* Готтфрид Баммес - Образ человека
* Ф. Делавье - Анатомия силовых упражнений.
И, как всегда, изучать первым делом надо всё. Но укрепляться желательно только в тех направлениях, которые тебя увлекают. Тогда твои навыки попрут в гору.
Основные инструменты артиста имеют или вот такое название:Логотипчики
или вот такое:
Wacom - дороже и считаются более крутыми. Huion - молодые, дерзкие, все время норовят куснуть у вакома долю.
Бытует мнение, что даже если сейчас у тебя не получается работать с планшетом, все равно работе с ним стоит уделять минимум 2 часа в день. Привыкнешь.ArtStation хорошо мотивирует самообучаться.
Роман Гура, вроде, иногда берет учебные группы за денежку. Навык Ромка поднимать умеет как у тех, у кого все кисло, так и у тех, кто уже чего-то добился.
Лео Хао, вроде бы, тоже недавно занимался обучением начинающих.А вот на счет того, как развивать свои навыки, есть вот такой совет:
Кстати, советую запиннить группу "Берешь и рисуешь", она полезная.
Как-то так, в общем. Дерзай.

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

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

Худший ответ: Ну вы учитесь у вас и надо спрашивать дают ди вам знания которые помогут вам подняться? Сам диплом ничего не даст это же просто бумага
Вопрос: Возможно ли в \vova07\imperavi\Widget добавить кнопки цвета шрифта и цвета фона?

Лучший ответ: Здравствуйте EVOSandru6 ,
Мой ответ запоздалый но думаю что он может быть полезен другим пользователям в случае подобных проблем.
Вашу задачу можно решить следующим кодом:<?= \vova07\imperavi\Widget::widget([
        'name' => 'redactor',
        'settings' => [
            'lang' => 'ru',
            'buttons' => ['formatting', 'bold', 'italic'], // Пропишите сюда любые дополнительные кнопки которые вам нужны.
            'plugins' => [
                'fontcolor',
                'video',
            ],
        ],
    ]); ?>
Лучше всего использовать версию `~2.*`.
Для справки хочу уточнить что атрибут settings в данном виджете принимает все возможные настройки редактора, как например buttons, plugins, lang и так далее, ибо он является PHP аналогом JS настроек редактора, все что там прописанной конвертируется в непосредственные настройки редактора в JS коде.
Удачи!

Худший ответ: Так на сайте же всё есть.ЦветВидеоИ куча всего
Вопрос: Как перевести минуты в часы?

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

Худший ответ: message += item.nickname + ' - ' + Math.floor(item.time / 60) + ' часов\n';
Вопрос: Как обезопасить веб-сервер в корпоративной сети?

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

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

Лучший ответ: В мусорку флоуты, пишем на flexbox, 2016 год на дворе.

Худший ответ: расставь clearfix между main__event через 2<div class="clearfix visible-lg visible-md"></div>
Вопрос: Как снять антибликовое покрытие с монитора?

Лучший ответ: Вчера тоже задумался снятием матового покрытия. В итоге новый ноутбук ASUS Vivo Maх 542U (ошибся при покупке и взял матовый) и монитор Samsung 24SD300 (который брал по незнании разницы матовый/глянцевый) теперь глянцевые!
Т.к. занимаюсь монтажем видео - это необходимый шаг, изображение стало контрастнее и резче. Ну нафиг матовые мониторы, зачем их придумали(
Нюансы: ноутбуку хватило 1,5 часа и пленка снялась без проблем. У монитора пленка толще в 2+- раза, 4 часа отмачивания и то снимал по кускам.
В итоге идеально, никакого клея и т.п.
п.с. делал впервые.

Худший ответ: наждачкой
Вопрос: Node js однопоточен, а php многопоточен?

Лучший ответ: Да. WebWorker'ы, кластеры

Худший ответ: PHP однопоточен, но Nginx или Apache имеет определенное количество воркеров для обработки запросов.
В Node.js также можно запустить много экемпляров. Вопрос в пониманием того, что Вы делаете.
Ещё не стоит забывать, что можно использовать очереди для обработки тяжёлых вычислений, например, Вы получаете файл на сервер и ставите в очередь на обработку, а потом в отдельном процессе изменяете размер. Но это только пример, все зависит от задачи.