Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Сайт на Ruby on Ralis?

Лучший ответ:
Начнем с того, что RoR это фреймворк, а Drupal это CMS и это совсем разные вещи.
1) Да действительно все так, но имейте ввиду, что это относиться к программной части.
2) Сможете, но опять же, ну думайте что в RoR, есть какая то готовая админка и какие то готовые плагины к ней. Там есть так называемые гемы, но гем не плагин к cms, это модуль к cms, он предоставляет функционал который вы можете встроить в систему, но его придется именно встраивать, прийдется его настраивать (настраивать в коде).
3) Этого ничего нет в RoR, вы можете реализовать их сами, вы можете найти гем который предоставит необходмый функционал, но это все равно придется программировать.
Судя по вашим вопросам, вы не до конца понимаете что такое разработка, в чем отличие CMS от фреймворка.
Не ленитесь погуглите. Если кратко то CMS это система которая позволяет создать сайт без навыков программирования, да для нее пишут модули, используют ее API, но тут вы скорее меняет то что уже есть. Фреймоворк это каркас для создания приложений с нуля, да там есть всякие функции, методы, плюшки которые избавляют от рутины, гемы которые например избавят вас от прямой работы с API ютюба, но если говорить грубо то это просто синтаксический сахар для других функций, а сам сайт вам придется полностью писать самому.
Вам нужно попробовать написать, что то на руби и вы сразу поймете разницу. Друпал и RoR это разные инструменты для разных задач. Глупо разворачивать рор для простого бложика или сайта визитки. Вам придется руками писать гору функционала который есть в другпал из коробки. RoR нужен тогда, когда ваша задача столь специфична, что проще ее сделать самому, чем корежить друпал.

Худший ответ:
Ruby on Rails — фреймворк, написанный на языке программирования Ruby
Drupal — это система управления сайтом (CMS)
1) Первое может создать второе(т.е. свою CMS под свои задачи без всего лишнего)
2) Документацию и готовые примеры кода никто не отменял - да и сам фреймворк предполагает наличие готовых подключаемых модлей для решения типовых задач
3) Уровень знаний совсем другой, нежели использование готовой CMS
Вопрос: Правильный способ хранения текста и HTML-кода в базе MySQL?

Лучший ответ:
Ответ на вопрос из заголовка:
Никак особенно не хранить. Хранить абсолютно так же, как и любые данные, - как есть. То есть, НИКАК их не модифицируя для хранения. Решение конкретно твоей проблемы:
mysql_set_charset('utf8'); после коннекта
+
плюс таблицы должны иметь кодировку utf8
Подробнее: phpfaq.ru/charsetРазбор вопроса:везде совет для записи в базу использовать mysql_real_escape_string(), 
Это информация устарела и не соответствует действительности. Единственно правильным вариантом добавления данных в запрос являются подготовленные выражения.Как я понимаю необходимо обрабатывать текст вот так перед вставкой:
Неправильно понимаешь.
Перед вставкой текст обрабатывать не надо вообще никак. 
Для корректной работы SQL, как я уже писал выше,  должны использоваться подготовленные выражения. HTML же к SQL не имеет ни малейшего отношения. и никакая HTML функция, разумеется, при сохранении в БД использоваться не должна.К примеру "⇔" при записи в базу превращается в "?"
Вот с этого и надо было начинать.  У тебя проблема с кодировками.

Худший ответ:
Для данных в которых могут быть спецсимволы (изображения, текст) я обычно перед отправкой в базу использую base64_encode.
Вообще делать htmlentities перед записью в БД нет большого смысла. Данные нужно экранировать во view перед выводом.
Вопрос: Как присвоить результат выполнения анон. функции к переменной в PHP?

Лучший ответ:
// для PHP 7+ (внимательно следите за скобочками)
$val = (function () { return 'foo'; })();
// Для PHP 5.3+ (до 7-ки приходится сначала функцию запихнуть в переменную)
$fn = function () { return 'foo'; };
$val = $fn();

Худший ответ:
пхп не умеет в замыкания просто так. присваиваете переменной функцию, а затем переприсваиваете её результат :)
$someVar = function(){
   return "";
};
$someVar = $someVar();
пс ну про последнию версию речи не идёт
Вопрос: Как записи БД установить частоту выборки?

Лучший ответ:
`rate_in_second` = 1 - все частые`rate_in_second` = 3 - все обычные
и т д. где `rate_in_second` - время частоты показовSELECT * FROM `banners` WHERE UNIX_TIMESTAMP(NOW()) % `rate_in_second` = 0
такой себе простенький вариант

Худший ответ:
добавляем колонку к баннерам в БД:
lastshow: [timestamp]
X: 5(часто),15(обычно),30(редко)
now()-lastshow>X*60 показываем случайной выборкой из списка и записываем в lastshow
Выбор баннера для показа "частых":SELECT * from banners where NOW()-lastshow>5*60 RAND() LIMIT 1
Далее запрашиваем для "обычных", меняя 5 на 10 и т.д.
Как только наберется в списке нужное кол-во - прекращаем и выводим.
Вопрос: Linux. Shell. Звуковое информирование о окончании выполнения длительной комманды

Лучший ответ:
есть такая клевая штука mumak.net/undistract-me + статья на хабре habrahabr.ru/post/174449

Худший ответ:
welinux.ru/post/963
и переходите на zsh
Вопрос: Как при наведении на пустой блок менять фон у обёртки?

Лучший ответ:
На css - нет. На js - конечно. Ищи родителя родителя, и делай с ним что хочешь.

Худший ответ:
JavaScript Вам в помощь!
нужно написать функции-обработчики событий onmouseover и onmouseout
onmouseover - изменяем свойство style.backgroundColor у родителя либо родителя родителя
onmouseout - возвращаем всё обратно
Вопрос: Можно на LiveStreet сделать многоязыковую версию?

Лучший ответ:
Да. Вот пример cookorama.net/

Худший ответ:
А не лучше ли было задать этот вопрос на их сайте?
Вопрос: Есть ли для Android блокировщик интернета для программ?

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

Худший ответ:
Я нашёл отличный вариант - отрубаем wi-fi, делаем airplane mode - интернета нет. И рекламы тоже =) Вообще.
В это время и пользуемся программой, обычно они интернет не требуют =))) Вот такой аппаратный firewall.
Вопрос: Как явно указать приватный ключ при работе с git

Лучший ответ:
git clone user@server:/repo_dir/
в .ssh/config добавить запись для хоста server c нужными параметрами подключения, например:Host gitrepo
HostName server
User git
IdentityFile ~/.ssh/private_key
IdentitiesOnly yes
PasswordAuthentication no

Худший ответ:
Сгенерируйте ключевую пару (открытый-приватный) на новой машине и добавьте ещё один открытый ключ для доступа репозиторию. Использовать один приватный ключ на нескольких машинах -- плохая практика.
Вопрос: «Жидкий» провод?

Лучший ответ:
Сервокабель это называется.

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

Лучший ответ:
Если я правильно понимаю вопрос, то при получении токена Вы можете указать в scope параметр offline и в этом случае токен бесконечен.
vk.com/dev/permissions

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

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

Худший ответ:
Владимир прав. поставьте обработчик события keydown, paste
нововведенный символ будет в event, который передает jquery$(function(){
  var input = $("input");
  var p = $("p");
  
  input.on('keydown paste',function(e){
    var newval = input.val()+String.fromCharCode(e.keyCode);
    p.text(newval);
  });
});
Вопрос: Есть ли у вас ipad, или хотели бы его?

Лучший ответ:
Нету, не нужен. Пользуюсь буком Асус ЕЕЕ 1000НЕ.



Худший ответ:
Отец купил айпад с месяц назад. Я честно говоря опасался за то что ему не понравиться: он системный администратор, и я думал все ограничения iOS он воспримет в штыки. После джейли и покупки адаптеров для подключения фотоаппаратов (после чего появилась возможность работать с USB флешкми) айпад стал инструментом для работы и не активного отдыха #1. 

Я тоже хотел, но после покупки воздушного макбука, понял что это нифига не мастхев. Если бы были лишние деньги, обязательно бы взял, серфинг, работа с почтой, фильмы и работа с музыкой — все это на 100 баллов.
Вопрос: Почему программа с использованием iostream весит намного больше, чем аналогичная с stdio?

Лучший ответ:
Ну во-первых компилировать надо в релизе (в вашем случае надо включить оптимизацию, хотя бы O2) и никакой стрип не нужен. А так вы получаете неоптимизированный код, с кучей мусора, но без отладочной информации. В результате получите совершенно другие цифры.
Во-вторых iostream это шаблонный класс, с множеством различных шаблонных зависимостей. Кода генерируется куда как больше.
В-третьих код мы не видим и непонятно чего вы там наворотили.
В-четверых мы не знаем как вы компилируете.
Сказать могу одно, хотите получить подробный ответ, дайте подробную информацию. А так факторов много, но факт есть, что да, исполняемый файл будет больше.
P.S. Ну и в-пятых, вам уже сказали про статическую линковку, в этом случае весь необходимый код статически линкуемой библиотеки помешается в исполняемый файл.

Худший ответ:
Перед тем как делать strip прогоните бинарник через nm -- он вам расскажет, что туда попало.
Вопрос: Звуковой сигнал на двух аудиовыходах одновременно

Лучший ответ:
Есть программа Virtual Audio Cable. При установке добавляет еще одно звуковое устройство. Но в комплекте с ней идет программулина Audio Repeater, которая как раз может звук с одного устройства загонять в другое.
Основной минус: программа платная.

Худший ответ:
Поищите ASIO драйвер для звуковой карточки, он как правило универсален и подходит для многих устройств.
Удачи!
Вопрос: C# многопоточность. Исключение, при доступе к Windows Forms Controls из отдельного потока, при вызове События своего класса?

Лучший ответ:
Помог Как в C# реализовать изменение свойств нескольких компонентов в чужом потоке?
Требуется использовать - Invoke (исключение не вызывает)
РЕШЕНИЕ:private void frmStop(object sender, EventArgs e)
        {            
           //здесь нет ошибки, все ок
           list.Add("S2");
           if (InvokeRequired)
           {
               Invoke(new Action(() =>
               {
                   labelStatus.Text = "Остановлен";
                   labelStatus.ForeColor = Color.Red;
                   buttonStart.Enabled = true;
                   buttonStop.Enabled = false;    
               }));
           }
           else
           {
               labelStatus.Text = "Остановлен";
               labelStatus.ForeColor = Color.Red;
               buttonStart.Enabled = true;
               buttonStop.Enabled = false;   
           }     
           ////Здесь ошибка
           //labelStatus.Text = "Остановлен";
           //labelStatus.ForeColor = Color.Red;
           //buttonStart.Enabled = true;
           //buttonStop.Enabled = false;            
        }

Худший ответ:
Для UI контролов гугли вызов Invoke.
Вопрос: Почему &quot;падает&quot; передача по SPI?

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

Худший ответ:
Я не работал с этим МК но вот вам из Атмеловских заначек

char* trn_word;
void Send (void)
{
        trn_word  = "Hello!"+0x00;
        while   (*trn_word != 0) 
        {
                TXBUF0  = *trn_word;
                while (!(IFG1 & UTXIFG0));
                trn_word++; 
        }
}


Кажется не ошибся, по памяти писал.
Вопрос: Посоветуйте книжку по Python

Лучший ответ:
есть хороший бесплатный онлайн курс на интуите:
www.intuit.ru/department/pl/python/class/free/status/

Худший ответ:
для начала прочитайте Dive into python, Марк Лутц: Изучаем Python 3-е издание (про 2.6 питон, на 3 пока не смотрите, сыроват), Марк Саммерфилд тоже хорошие книжки пишет,
Вопрос: Webmoney в linux ?

Лучший ответ:
Я работаю через light.webmoney.ru

Худший ответ:
Одно время использовал mini.webmoney.ru/
Вот только оправлять с протекцией оттуда не получится.
Вопрос: Android разработка, что нужно знать для клиент-серверной «магии»?

Лучший ответ:
Провайдеры и  лоадеры без них туго.
Понимать что такое REST и с чем его едят.Retrofit A type-safe REST client for Android and JavaЕще раз об архитектуре Android приложения или джен...update
для php сервера есть неплохое решение slimframework
примеры:Сreate REST API for Android app using PHP, Slim an...Create REST applications with the Slim micro-framework

Худший ответ:
Я делаю клиент/серверное приложение. На клиенте использую Volley, нашел его в официальной документации. Он может загружать и парсить JSON, картинки, есть очередь запросов. Из недостатков: для одного запроса надо определять анонимный класс и в нем 2 метода, код получается громоздкий.
Вопрос: С чего начать разработку под веб?

Лучший ответ:
Однозначно нужно владеть связкой HTML + CSS хотя бы на среднем уровне.
В дальнейшем нужно принять решение - frontend или backend (очень редко кто хорош и там и там). 
Frontend - это внешняя сторона сайта, то как он выглядит в конечном итоге в браузере пользователя и ВЗАИМОДЕЙСТВУЕТ с пользователем в браузере. Без JavaScript не обойтись. Наверное, есть смысл освоить jQuery - это надстройка на JavaScript, упрощающая работу с его возможностями. Доходит до того, что люди вовсю лабают крутые сайты на jQuery имея очень слабое представления о JavaScript.
Backend - это то что происходит в недрах сервера, когда сайт только формируется на хостинге, прежде чем будет выслан пользователю. Это запросы к базе данных, скрипты CMS, формирующие страницы... 
Однозначно нужно овладеть MySql или PostrgreSQL для работы с базой данных.
Также нужно определиться с языком программирования. Чаще всего это PHP, иногда Python или Ruby, ещё реже Java/C++/.NET. Можно использовать и другие ЯП, я перечислил самые распространённые.
ИМХО во фронтенд порог вхождения ниже и для начинающих программистов больше подходит.
Бекенд "круче", потому что это главная кухня веб-программирования.
Если сайт сравнить с конфетой, то бекенд - это начинка, а фронтенд - обёртка.

Худший ответ:
начинай с самых основ
от изучения протоколов http, tcp/ip, ftp, smtp,...
до изучения какого-нибудь языка программирования
...
Вопрос: Как сдвинуть 1 из flex элементов в конец строки?

Лучший ответ:
Всем спасибо, самый топ вариант который подсказали:
последнему элементу margin-left auto
мб и не совсем верно, но просто

Худший ответ:
добавить пустой элементы с flex: 1
Вопрос: Что вы думаете про единый UI приложения, независимый от платформы OS?

Лучший ответ:
Интерфейс должен быть заточен под общий принцип поведения пользователей и элементов GUI в данной OS (чтобы не "перегружать" мозг пользователя новой информацией в плане эргономики)

Худший ответ:
Поддерживаю @xmoonlight . Проверил на практике - один и тот же UI делать на всех платформах гораздо более затратно. Да и пользователи рады не будут. Возьмем на пример тот же Navitel под WP - первые версии, повторяющие UI других платформ, вызывали рвотные рефлексы.
Вопрос: Поиск данных с учетом большого числа критериев

Лучший ответ:
Посмотрите в сторону Entity-attribute-value model.

Также хороший ответ на StackOverflow в теме Product table, many kinds of product, each product has many parameters

Худший ответ:
В Java это очень удобно помогает делать Spring Roo с использованием finder'ов. Хотя, вероятно, он не является идеальным инструментом для решения данной задачи.

А в какой среде эту задачу решаете Вы?

Ставлю себе RSS на эту тему — мне тоже очень интересно.
Вопрос: С какой скоростью работают поисковые боты?

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

Худший ответ:
99 процентов сайтов никак не блокирует каких либо ботов
Вопрос: Как сделать голосовалку?

Лучший ответ:
Посмотрите YOP Poll.

Худший ответ:
@EarthFM посмотрите вот этот плагин
Вопрос: Какой дистрибутив поставить на старый ноут?

Лучший ответ:
Crunchbang могу предложить.

Худший ответ:
А попробуйте fuduntu, он как раз для ноутбуков.
Вопрос: Цикл с таймаутом ровно в 1 секунду?

Лучший ответ:
Ваш вопрос можно приводить в качестве наглядного пособия на тему "Как именно вылазит боком кривая архитектура системы" :) Основная проблема в том, что интеграция компонент через storage есть зло, рано или поздно (чаще - рано) заставляющее разработчика выполнять стойку на ушах. Так что, если есть такая возможность, постарайтесь устранить зло в корне, т.е. найти способ узнавать об изменениях, ну, или хотя бы о самом факте, до того, а не после. Тогда не придется ничего опрашивать в цикле, а только реагировать на изменения. А это уже - половина проблемы!
Если возможности нет, а делать все равно надо, сначала смитритесь с тем, что Вы никогда на PHP не добьетесь ровненько 86400 вызовов в сутки каждую секунду, если только не поставите ядро реального времени / не напишете соответствующий код на С и т.д. и т.п. Особенно, если storage крутится на том же процессоре в той же ОС, и количесво данных в нем будет со временем увеличиваться. Но это почти наверняка и не нужно, а нужно проанализировать задачу и понять, что на самом деле критично и какие отклонения от идеала возможны без ущерба для функциональности.
"Примерно 0.03с" само по себе еще не о чем не говорит. Это всегда или в случае, если изменений нет, или если они небольшого объема? А если 90% данных обновились? Это - раз. Два: если изменения обнаружены, сколько может занять их обработка (в худшем случае)?.. И, наконец, три: если уже наступила "следующая секунда", а мы все еще не закончили обработку прошлых изменений, возникает целый ряд вопросов. Имеет ли в этом случае вообще смысл проверять новые изменения (сможем ли мы их осмысленно обработать, если найдем)? Если да, понадобится как минимум 2 потока. Если нет, насколько критично пропустить эту секунду? А сколько еще можно пропустить без ущерба для функционала? Предположим, это не критично, и мы уже пропустили секунду (или несколько), что нам важнее: чтоб следующая проверка выполнилась как можно ближе к границе "следующей секунды", или как можно быстрее? И т.д. и т.п.
Не зная ответов на эти и подобные вопросы, невозможно предложить "правильное" решение. Но в качестве сферического коня в вакууме можно посоветовать бесконечный цикл, в котором выполняется проверка, реакция на найденные изменения, после чего вычисляется время до следующей проверки, на которое выполняется sleep().

Худший ответ:
Redis имеет механизм уведомлений об операциях. См. notifications.
Что касается таймера на php, можете определить себе допустимую ошибку, напр. в 20ms и спать не секунду, а микросекунды, используя ф-ю usleep(2E4), и проснувшись, проверять системное время с точностью до микросекунд, опять же – через microtime(TRUE). Если до очередной секунды осталось меньше погрешности – выполнить код. И снова спать, часто просыпаясь : )
Disclaimer. Этот метод никак не гарантирует, что не проспите очередную секунду – если, например, система сильна загружена.
Вопрос: Полный бэкап системы на LVM?

Лучший ответ:
Как я понимаю, вам нужен disaster recovery, т.е. восстановление данных на пустой диск. Делается это следующим образом. Допустим, на сервере с бэкапами backup-storage у вас есть каталог /media/ssd01, тогда
1. Монтируем каталог
mount -t nfs backup-storage:/media/ssd01 /mnt/backup
2. Создаем подкаталог с бэкапом
export backupdate=$(date  --iso-8601=seconds)
mkdir /mnt/backup/backup-$(backupdate)
3. У вас, видимо, GPT-разметка, так что используем sgdisk. Бэкапим разметку диска в файл.
sudo sgdisk -b /mnt/backup/backup-$(backupdate)/disk_layout.bin /dev/sda
4. Копируем содержимое первого раздела (там только загрузчик) и второго (там ядро и вторая часть загрузчика)
mkdir /mnt/backup/backup-$(backupdate)/EFI
mkdir /mnt/backup/backup-$(backupdate)/boot
cp -a /<куда там монтируется sda1 и монтируется ли вообще?> /mnt/backup/backup-$(backupdate)/EFI
cp -a /boot /mnt/backup/backup-$(backupdate)/boot
5. Копируем расположение LVM-разделов
vgcfgbackup -f  /boot /mnt/backup/backup-$(backupdate)/lvm.txt
6. Делаем снэпшот корневого раздела
lvcreate -s -n backup -L20G /dev/ubuntu--vg/root
7. Бэкапим только заполненные блоки снэпшота
partclone.extfs -c -s /dev/ubuntu--vg/backup -o  /mnt/backup/backup-$(backupdate)/ubuntu--vg-root.img
8. Удаляем снэпшот
lvremove  /dev/ubuntu--vg/backup
9. Размонтируем каталог с бэкапами
umount  /mnt/backup
Все это дело загоняется в скрипт и дергается раз в сутки по крону. Разворачиваться - в том же порядка, но есть тонкости, например, перед vgcfgrestore надо сделать pvcreate --restorefile <файл> --uuid .
Копировать /dev/sda через dd - очень плохая идея, вы потеряете целостность ФС. Ресурс на запись у SSD сейчас такой, что можно не боятся писать на него столько, сколько надо.

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

Лучший ответ:
Можно без подзапроса:

select id, price, date_modified from prices
group by id
having date_modified = max(date_modified)

Худший ответ:
select id, price, date_modified
from prices
where id, date_modified in (
select id, max(date_modified)
from prices
group by id
)

А если у вас Oracle, то можно без явного подзапроса:

select distinct id, first_value(price) over (partition by id order by date_modified desc)
from prices
Вопрос: Проект с высокой посещаемостью — архитектура. Фреймворк или самопис?

Лучший ответ:
Yii подходит для такого проекта.
Как уже было отмечено, если выводить по 100 записей на страницу и для каждой по 10—20 связанных записей, будет кушать память. Ну и ещё момент, не стоит увлекаться event-ами и сильно слоить view через renderPartial.
Чат между пользователями можно реализовать поверх XMPP. Нагрузку такое решение держит отменно.
MySQL может, при грамотной настройке, выдержать очень много. У нас, например, есть в проекте боевом JOIN по таблице с 200 млн. записей. Нормально бегает.
PHP вполне себе справится.

Худший ответ:
marrk2 прав,это правда не преждевременная оптимизация, а стремление программиста к идеально-гибкой архитектуре, легко масштабируемой и пр., все это мало того что преждевременно, так еще и мешает реально кодить, сделайте прототип yii2, а чат с оглядкой на xmpp(чтобы легко внедрить можно было при росте нагрузки), это даст хороший зазор по гибкости архитектуры и приемлемо по времени будет.
Вопрос: Как C++ программу скомпилированную в CentOS 7 заставить работать в CentOS 6?

Лучший ответ:
Вариантов несколько
1) Линкуйте приложение с флагом -static. Для этого вам придется использовать только статические сторонние библиотеки.
2) Соберите кросс-компилер, в котором соберите ту же версию libc, что и в centos 6, тогда можно будет линковать статитикой только рантаймы c++ и gcc ( libstdc++.a, libgcc.a) через флаги -static-libgcc и -static-libstdc++
На семерке glibc старше, а у неё совместимость только сверху-вниз. Решите вопрос сначала с ней.
3) Заведите билд-сервер на 6-ке, пусть релизные билды собираются там, соберите компиллер какой нужен вам, проблема с glibc исчезнет сама собой. Ну и да, линкуйте рантаймы статикой.

Худший ответ:
1.  Для начала покажите выхлоп ld
2.  Потом выхлоп objdump -T 
Если невозможно пересобрать - переносите на целевую платформу нужные библиотеки и делайте сендбокс.
Вопрос: Что из техники выгодно покупать на Тайване?

Лучший ответ:
Только продукцию apple и какую то очень дорогую технику, например фотик тысяч за 100 выйдет дешевле тысяч на 10-15
все остальное легко заказать в любом китайском магазине.

Худший ответ:
в Тайване