Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Где поискать красивые конфиги nginx или как сделать красивым мой?

Лучший ответ:
Конфиги nginx не язык программирования. Не надо на него применять программистские догмы, что дублирование это плохо и т.д. На самом деле статический конфиг без переменных будет работать гораздо быстрее, чем ваш. Одно лишь добавление переменной $host в access_log уже добавляет два дополнительных системных вызова на каждый запрос. Переменные в nginx нужны не для «шаблонизации», а для решения реально динамических задач конфигурации.

p.s.
mailman.nginx.org/pipermail/nginx-ru/2011-November/044461.html

Худший ответ:
не помню точно, но логически должно работать:
не уверен, можно ли set в контексте сервера, но попробуйте.
Но: нужно использовать именованные локейшены, тогда конфиг точно станет красивее.

set $h site1.ru;
include defaults-server
set $h site2.ru;
include defaults-server

----
defaults-server
server {
  server_name $h www.$h
  include locations;
  location / {return 406;}

}
---
locations

error_page 406 @bckend;
location @bckend{
  proxy_pass ...
 ....
}
Вопрос: Куда яндекс потерял страну Никарагуа на своих картах?

Лучший ответ:
Удалил из друзей =) у них же на спутнике она отображается, как земля без названия - колонизаторы, ВПЕРЕД!!!!

Худший ответ:
Туда-же, куда и Сан-Андреас (на том же скриншоте видно)
Вопрос: Есть ли какая-нибудь IDE, которая упрощает создание сайтов с jquery?

Лучший ответ:
www.jetbrains.com/webstorm/
Отличное IDE для web разработчиков.

Худший ответ:
«Визуальный редактор» применительно к jquery — это как?
Вопрос: Как организовать инстанс класса вызванного через call_user_func ?

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

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

Лучший ответ:
Как обычно...
Если хочешь сделать что-то хорошо, сделай это сам. © Фердинанд Порше
Вот нашел пример jsfiddle.net/qdophzto/2 (тут уже немного редактированная версия).
Может кому-нибудь пригодится.
PS: Прозрачность в низ блока добавляется одним свойством:  box-shadow: inset 0 -60px 60px  -60px #ddd;
Можно реализовать по другому, но нет необходимости в ней вообще =)

Худший ответ:
Учите jQuery и будет вам счастье.
Примеров полно как на сайте, так и в инете.
Google -> "спойлер jQuery"
Вопрос: Как реализовать обход блокировки по DNS на уровне роутера?

Лучший ответ:
Использование альтернативных DNS серверов в данном случае не поможет, т.к. у Билайна стоит DPI, который вместо ответа сайта выдает вашему браузеры редирект на BlackHole, при попытке зайти на один из сайтов занесенных в реестр. Выходов может быть несколько, во-первых - это использование соответствующего расширения для браузера, реализующего Proxy или VPN, например, ZenMate для Google Chrome. Или вот, из последних новостей так сказать - Opera встроила в браузер бесплатный VPN. Во-вторых - это использование VPN. Выбираем любой бесплатный / платный VPN-сервис, либо поднимаем свой, где-нибудь в Европе, затем настраиваем в роутере соединение с этим VPN и настраиваем маршрутизацию. Если речь идет именно о Rutracker'е, то прописываем маршрут на 195.82.146.214 через VPN. 
Еще проще, чтобы избавить себя от подобных ограничений в будущем - меняем Asus RT-N56U на любой Mikrotik RouterBoard, например, hAP Lite, который стоит порядка 1600 руб. Настраиваем в нем тот же VPN и "контент-фильтр". Т.е. анализируем все пакеты приходящие с 80-го порта, если в них обнаружен паттерн Location: http://http://blackhole.beeline.ru/ , то заносим этот IP в специальный Address List. Ну и одно правило для хостов входящих в этот Address List чтобы они роутились через VPN. Таким образом открывая любой недоступный ресурс в первый раз мы сначала увидим blackhole, но открывая его во второй раз - траффик уже пойдет через VPN. Таким образом прописывать отдельно каждый ресурс к которому мы хотим получить доступ не нужно, достаточно будет всего двух правил на маршрутизаторе.

Худший ответ:
А можно немного подробней? и почему именно Mikrotik hAP-lite? Обыкновенный rb951 этого не умеет?
Вопрос: Хранение статьи в БД. Какой путь выбрать?

Лучший ответ:
Конечно же третий, так как анонс и текст разные вещи, ну совсем. Тем более анонсов может бы и два, второй для мобильной версии.

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

Лучший ответ:
Вся суть бутстрапа может быть изложена вот так:<div class="container">
  <div class="row">
    <div class="col-md-6">left</div>
    <div class="col-md-6">right</div>
  </div>
</div>
Все компоненты можно тупо копипастить из примеров к документации на офсайте с небольшими изменениями под себя. Лично я никогда не использовал никаких шаблонов под бутстрап.

Худший ответ:
Что значит готовое решение для верстки лендингов, Вы представляете количество вариантов landing page? Заходите на bootstrap и начинаете создавать..., ничего сложного в bootstrap нет
Вопрос: Как настроить https в апаче имея свой сертификат для домена?

Лучший ответ:
Было бы полезно указать как в конфигах они прописаны, что бы можно было посмотреть что не так.

Худший ответ:
Написано: private key not found

Это key.txt? Апач имеет право к чему обращаться на чтение? Сам ключ в правильном формате (PEM)?

Ещё полезно руками посмотреть на каждый сертификат командой openssl x509 -in domaine_com.crt -noout -text
Вопрос: Как скачать файл в формате php с сайта?

Лучший ответ:
Без доступа к файловой системе сервера - никак
Иначе бы такая дыра в уязвимости была.. . что смысла в php не было бы никакого.

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

Лучший ответ:
С 1С сложно будет уйти потому что к моменту когда соберешься уходить, наверняка будешь получать большую зарплату, чем там куда собираешься уходить. В 1С есть кое-что красивое и интересное (например, СКД), но нет банального TDD и контроля версий. Еще один минус - 1С-ники, почитай какой-нибудь форум вроде mista.ru - это твое коммунити на ближайшие пару лет, и частенько программисты они никакие, на их "творения" ты еще насмотришься при работе у франча. Переходить после опыта в 1С лучше на что-то, связанное с БД, либо ERP. В мобильной или десктопной разработке этот опыт, имхо не пригодится.

Худший ответ:
NO!
Ну если только в SAP - но это уже сооовсем другая история.
Вопрос: Как отправить POST-запрос на PHP без ожидания ответа?

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

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

Лучший ответ:
Залил пример, попробуйте - codepen.io/anon/pen/rxKGwZ<textarea id="text"></textarea>
<button id="go">Кнопка</button>function replaceSelectedText(elem, str){
	elem.focus();

	if (document.selection){
		var s = document.selection.createRange(); 
		if (s.text){
			eval("s.text="+str+"(s.text);");
			s.select();
			return true;
		}
	}
	else if (typeof(elem.selectionStart) == "number"){
		if (elem.selectionStart!=elem.selectionEnd){
			var start = elem.selectionStart;
			var end = elem.selectionEnd;

			eval("var rs = "+str+"(elem.value.substr(start,end-start));");
			elem.value = elem.value.substr(0,start)+rs+elem.value.substr(end);
			elem.setSelectionRange(end,end);
		}
		return true;
	}
	return false;
}

//оборачиваем текст в нужные теги и т.д.
function change_str(s){return "<b>"+s+"</b>"}

// по клику на кнопку, выделенный текст будет заменен на текст с тегами
document.getElementById('go').onclick = function() {
	replaceSelectedText(document.getElementById('text'), 'change_str');
}

Худший ответ:
Здравствуйте. Получайте выделенный текст, так как Вы можете.
Далее вытаскиваете ВЕСЬ текст из textarea и заменяете ваш выделенный текст через метод textAreaText.replace(выделенный текст, новый текст)
javascript.ru/string/replace
Вопрос: Причина: получил инвайт ошибочно. Это как?

Лучший ответ:
НЛО передумало.

Худший ответ:
Здравствуйте!
В общем, ситуация действительно странная.
С виду - нормальный пост и, честно, мы даже не обиделись, что вы поставили один из наших проектов - Фрилансим, на последнее место собственного "рейтинга".
Но при детальном рассмотрении выяснилось, что в рекламируете свой (это лишь догадка, а не утверждение) либо дружественный вам ресурс freelance****.com, недвусмысленно указывания на его преимущества в тексте.
Подобные публикации бессмысленно публиковать в "Песочницу", и нам очень жаль, что мы не увидели сразу же всего спектра ваших намерений. Для таких постов существует непрофильный хаб "Я Пиарюсь", писать в который можно при наличии активированного аккаунта и кредита доверия, выданного другими пользователями ресурса, в виде Кармы.
Если вы хотите получить инвайт на Мегамозг через "Песочницу" - пожалуйста, напишите стоящий и полезный для аудитории материал, показывающий наличие аналитического и объективного мышления. 
А с целью рекламы ресурса вы можете обратиться в наш коммерческий отдел.
Вопрос: На каком уровне нужно знать javascript php разработчику(junior)?

Лучший ответ:
Javascript:
Сможете написать свой простенький слайдер на jQuery и пройти untrusted? Да? Тогда вы в деле.PHP:
Прямо как в книжках, функции для работы со строками (массивами, объектами, контекстом, бд, кодировками, форматами), ОПП.
Достаточно пройти какой-нибудь видеокурс (попутно решая практические задания из курса), где Вам вобъют в голову основы, не то что PHP, а общие фундаментальные. Этого будет достаточно для начала. В добавок к этому, поняв основы вы сможете снять оковы PHP и без особого труда перейти почти на любой другой язык.
А дальше нужно начать решать практические задачи. Зачем говорить о позднем статическом связывании и паттернах проектирования, когда Вы, например, не можете написать гостевую книгу. Рейшайте простые задачи:  напишите планировщик задач, чат, рейтинг-таблицу, калькулятор, что угодно, да хоть ту же гостевую книгу или тетрис. Из новичка в джуниора Вас превратит только опыт.
И вот Вам напоследок - серьезный мотиватор =)

Худший ответ:
Смотря чего он юниор.
Гляньте программы тут BootCamp полностью в любом случае. 
Далее если пхпист, то пхп курс полностью, если фронтендщик, то хотябы лвл 1 фронтенда.
Вопрос: Имеется ли опыт использования Matreshka.js?

Лучший ответ:
Сразу скажу, я очень предвзят, так как являюсь старшим автором Матрешки и автором балалайки.
Не буду воспевать дифирамбы, просто кратко расскажу, в чем смысл Матрешки.
1. Классическое наследование основанное на классах используется уже очень давно и очень многими программистами. В интернете вы можете найти тысячи реализаций функции Class. Здесь просто не может быть никаких подводных камней.
2. Двустороннее связывание - достаточно простая штука. Я приводил в комментарии к одной из статей, как это работает. Очень маловероятно, что вы столкнетесь с какими-нибудь проблемами. По поводу байндинга, основанного на CSS селекторах: можно передавать DOM узел, jQuery коллекцию, HTML код и прочее. Соль в том, что вы получаете ноды в JS коде, а не наоборот (данные в HTML коде).
3. Прослушивание событий изменения свойства тоже вещь не сложная. На свойство просто навешивается акцессор (сеттер), который вызывает обработчики.
4. MK.Object - это тот же ООП класс, который просто разделяет данные от не-данных. И, кстати, может содержать совершенно произвольную структуру данных, как и MK.Array.
5. MK.Array - это коллекция с достаточно простым API и автоматическим рендерингом. При вызове какого-нибудь метода, класс смотрит, какой именно метод вызван и запускает оптимизированный механизм рендеринга. Т. е. при использовании метода push, вставляется новый узел в конец контейнера, не перерисовывая всю коллекцию заново.
Какие есть подводные камни, на мой взгляд:
Многоуровневые делегированные события могут запутать. Например, событие "a@@change:x" (в свойстве "a" содержится коллекция коллекций, в последней содержутся модели, изменения свойства "x" которых, мы слушаем) заставляет напрячь извилины, поэтому их использование не рекомендуемо. 
Многие программисты очень сильно мудрят с использованием привязок, вставляя в setValue и getValue сложные манипуляции с DOM и ajax запросы. Этого делать не рекомендуется, так как DOM - штука медленная, сложные манипуляции могут отразиться на производительности, а ajax запросы вовсе асинхронны (синхронные запросы будут убраны из вебкита в скором). Привязки должны быть максимально простыми.
По поводу Балалайки даже не знаю, что сказать. Это просто очередная jQuery-like либа с очень небольшим набором методов. Единственный подводный камень - это то, что там нет привычных возможностей, их прийдется дописывать самостоятельно. Если не хочется, возьмите Зепто, например.

Худший ответ:
По причине того что проект ещё "молод" использовать бы не стал. Обязательно наткнетесь на грабли, которые в других фреймворках уже скорее всего решены. Совместимость кода, наличие готового кода могут затянуть проект. И человек который будет доделывать/переделывать ваш код скорее всего не знает Matreshka.js.
Вопрос: Как определять прозрачные области спрайта, используя маску?

Лучший ответ:
Шейдером в openGL это решается элементарно.
Передаём в шейдер обе текстуры. Из первой текстуры берём r, g, b. Потом вычисляем яркость второй текстуры в точке и в прозрачку стави один минус это значение.vec4 tex1 = texture2D(texture1, position);
vec4 tex2 = texture2D(texture2, position);
float luma2 = (tex2.r + tex2.g + tex2.b)/3.0;
gl_FragColor = vec4(tex1.r, tex1.g, tex1.b, 1.0 - luma2);

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

Лучший ответ:
Возможно поможет мой черновик.

www.odmin4eg.ru/2010/pereezzhaem-na-php5fpm/

Худший ответ:
Для мен лично было только 2 проблемы:
1. Переписать правила mod_rewirte. В nginx какое-то странное понятие regexp. Более того при переписывании приходится каждый раз передергивать сервер, т.к. нет больше .htaccess Если не ошибаюсь, ISPmanager отключил полностью из-за того, что не удалось его запустить чисто под nginx. Перешел на webmin, он правда тяжелее.
2. У меня некоторые сайты используют SSI. В nginx он сильно урезан (вложенные if, например, не поддерживаются). Тут к сожалению проще было оставить их на Apache (вернее html, а картинки, js и css отдает nginx) пока не перепишу сайт.
Вопрос: Почему вылетает NullPointExeption?

Лучший ответ:
Я думаю проблема тут s.toLowerCase()
если s==null -> то при s.toLowerCase() будет NullPointExeption

Худший ответ:
А ты сам запускал программу? Запустил бы в дебаг моде и нашел бы свой нул пойнтер. По тем методам что ты скинул можно сделать догадку, что ты пытаешься удалить несуществующий элемент.
Вопрос: Почему zapret-info.gov.ru блокирует Самиздат?

Лучший ответ:
Старая история, уже.

Худший ответ:
Как уже выше отметили, это древняя история, причём адрес, который в списке Минюста прекрасно работает и перенаправляет на сайт Минюста, а адрес без www блокируется Ростелекомом. Видимо логика такая, что если любой запрос на запрещённый адрес приходит в сеть РТ (и не важно это транзитный трафик или же домен обслуживается самим РТ, как в случае с Самиздатом), то он блокируется. Да, с точки зрения зарубежных пользователей, к которым законы РФ не относятся, это не логично, но когда это кого-то волновало?
Вопрос: Как сгенерить md5 строку на Google Script?

Лучший ответ:
Здравствуйте.

Мне кажется, что у вас неполные представления о методах Google Apps Script, алгоритмах хэширования и системах исчисления.

Во-первых, computeDigest возвращает массив Byte[], что он и должен делать.
Во-вторых, вам просто его надо "преобразовать в 16-ричную хэш строку", как сказано выше.

Попробуйте сделать так:

function test(){
  Logger.log(toMD5('56'));
}
const toMD5 = function(charset, toByte) {
  charset = charset || Utilities.Charset.UTF_8;
  var digest = Utilities.computeDigest(Utilities.DigestAlgorithm.MD5, this, charset);
  if(toByte) return digest;
  var __ = '';
  for (i = 0; i < digest.length; i++) {
    var byte = digest[i];
    if (byte < 0) byte += 256;
    var bStr = byte.toString(16);
    if (bStr.length == 1) bStr = '0' + bStr;
    __ += bStr;
  }
  return __;
}

Худший ответ:
Потому-что он возвращает байт-массив.
Нужно в цикле его преобразовать в 16-ричную хэш строку.P.S 
MD5 - это последовательность 16-ричных цифр, так что там могут быть символы 0-9a-f, а не те, что вы написали в примере.
Вопрос: Что значит 120 GB?

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

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

Лучший ответ:
лендинг - зло

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

Лучший ответ:
формат json — многомерный массив. 
один элемент — id, тип (button, input, select, ..., свойТип(HTMLspacer,....,),......), свойства тега: строка (a=b c=d и т.д.).
затем автоматом (скриптом при формировании) закрываете теги, которые закрываются: textarea, option,…
делал без jQuery, однако с ним, думаю, будет по-красивше…

Худший ответ:
формат json — многомерный массив. 
один элемент — id, тип (button, input, select, ..., свойТип(HTMLspacer,....,),......), свойства тега: строка (a=b c=d и т.д.).
затем автоматом (скриптом при формировании) закрываете теги, которые закрываются: textarea, option,…
делал без jQuery, однако с ним, думаю, будет по-красивше…
Вопрос: Достаточно ли я защитил свой ноут на случай потери?

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

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

Лучший ответ:
Следует обратить внимание на такую вещь — человеческий голос лежит в широком спектре частот, и если брать полноразмерные (мониторные наушники) только с пассивной звукоизоляцией (т.е. чашечки наушников сделаны из специального материала, который частично гасит внешние шумы) будут не полностью гасить голоса людей. Наушники с такой звукоизоляцией будут гасить в основном средние и высокие частоты, а ведь голос человека, особенно мужской имеет и низкочастотную составляющую. Так вот активный шумодав борется именно с этой составляющей голоса или просто шума. Но в тоже время, я не могу посоветовать вам достойные мониторы, у которых был бы и звук хороший и которые хорошо бы гасили как НЧ, так и СЧ + ВЧ — таких просто не встречал ещё. Задумка с активным шумодавом хорошая, но вот не реализовали её пока на хорошем уровне.

Если же говорить о накладных наушниках — то с шумоизоляцией у них лучше обстоят дела. Например, я как владелец AT ATH-ES 7 могу сказать, что их звукоизоляции вполне хватает, чтобы заглушить большинство шума вокруг. Однако целый день в таких наушниках не просидишь — заболят уши, но 2-3 часа спокойно высиживаю в них. Что касается качества звука у этих наушников — то оно очень хорошее для своей цены (4К). Вообще про эти наушники в интернете написано много всего хорошего — можете почитать и сами убедиться в том, что я писал выше. Или же послушать их в магазине — так проще убедится.

А вот, если вы нормально относитесь к наушникам-затычкам, то этот вариант может оказаться самым лучшим. Идея следующая — выбираете затычки, которые вам больше всего нравятся по характеру звучания, а потом делаются кастомы для ваших наушников (специальные силиконовые насадки, которые делаются на заказ по слепкам ушных проходов). В итоге вы получите отменную звукоизоляцию, которую пока другими способами просто не получить.

И было бы проще что-либо советовать, если бы вы указали не только бюджет, но и предполагаемый источник звука, а также музыкальные предпочтения — ведь это важные моменты при выборе наушников, тем более, если речь идет о дорогих (относительно) моделях.

Худший ответ:
www.etymotic.com/
Насколько я знаю (и на практике) здесь лучшие.
Вопрос: Можно ли с помощью shared_ptr объявлять массив int?

Лучший ответ:
Да.std::shared_ptr<int> p(new int[42], std::default_delete<int[]>());
Как обращаться... Разыменовать и обращаться по индексу. Впорос только зачем.

Худший ответ:
Вы посмотрите как реализован деструктор в shared_ptr
Если он удаляет хранимый обьект через delete[] obj;, то можете использовать,
а вот если delete obj; то нет.
Так что скорее - НЕТ.
Вопрос: Как добавить в доверенные сертификат, выписанный на другой URL?

Лучший ответ:
не работает, потому что это 4 уровень, а закрыт 3-й *.test.com
необходимо еще один сертификат
либо сертификат с несколькими wild в составе, например,
*.test.com  и *.etc.test.com

Худший ответ:
Верно, ваш wildcard сертификат для доменов третьего уровня.
Читайте RFC6125
https://tools.ietf.org/html/rfc6125#section-6.4.3
Вопрос: Безопасен ли VPN на арендованном VPS?

Лучший ответ:
Будете миллиардером, найдут вас и там :)
А пока надо пользоваться чужими прокси, причем делать тоннели с 5-10 уровнями прокси в разных частях света. Тогда точно не найдут.

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

Лучший ответ:
Если предположить что у вас<form...>
...
<input type="submit"...>
</form>
то предложу<form ... onsubmit="return false;">

Худший ответ:
AJAX же ж...
Вопрос: Ребята нужен Ваш совет?

Лучший ответ:
начинать не рано
куда рано, если 2-3 года тренды и технологии меняются

Худший ответ:
- 22-23 для junior разработчика это золотая середина. Т.к. с 18 летними проблем больше, а 26 во многих компаниях это уже уровень middle/senior разработчика.
- Чем раньше вы начнете, тем лучше.
- IT компании разные, кто-то берет с 1 годом опыта, кто-то без опыта. Если у вас профильное образование, хорошее знание и понимание алгоритмов и структур данных, вас может и Yandex взять без опыта.
Вопрос: Что вы думаете вот об этих курсах по Java?

Лучший ответ:
Я советую javarush.ru . Очень много практики. Купил платную подписку по акции, не жалею. Можно реально с нуля за несколько месяцев дорасти до трудоустройства в IT-компанию.

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

Лучший ответ:
По поводу чатика - ejabberd + mod_archive
Почту отдельным софтом (пусть даже exim+dovecot)
Авторизацию через ldap и для, и для того, чтобы аккаунты одинаковые были.

Худший ответ:
Exchange + Lync, могу проконсультировать.
Вопрос: Как двигать объект по окружности, используя rigidbody?

Лучший ответ:
Сначала тащите частицу к мышке, а когда она будет достаточно близко, тащите её по касательной нужной орбиты.var toMouse = mousePosition - rigidbody.position;
if (toMouse.sqrMagnitude > sqrRadius)
{
    rigidbody.AddForce(toMouse);
}
else
{
    var velocity = rigidbody.velocity;
    Vector3.OrthoNormalize(ref toMouse, ref velocity);
    rigidbody.AddForce(velocity);
}Vector3.OrthoNormalize даст вам направление касательной, возможно потребуется указать бинормаль.

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