Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Этот код является замыканием в JS?

Лучший ответ:
Что это такое — «понимать замыкания?»
Иногда говорят «Вася молодец, понимает замыкания!». Что это такое — «понимать замыкания», какой смысл обычно вкладывают в эти слова?
«Понимать замыкания» в JavaScript означает понимать следующие вещи:Все переменные и параметры функций являются свойствами объекта переменных LexicalEnvironment. Каждый запуск функции создает новый такой объект. На верхнем уровне им является «глобальный объект», в браузере — window.При создании функция получает системное свойство [[Scope]], которое ссылается на LexicalEnvironment, в котором она была создана.При вызове функции, куда бы её ни передали в коде — она будет искать переменные сначала у себя, а затем во внешних LexicalEnvironment с места своего «рождения».Отсюда.

Худший ответ:
Нет
Вопрос: Подмена домена — подмена NS, как лечить?

Лучший ответ:
У вас во whois домена одни NS сервера, а на них самих левые (ns?.tymosenko-vona.com) NS записи.

Вероятно, иногда DNS клиент доверяет одним данным, иногда другим – балансировка нагрузки.

Исправьте NS записи на ваших NS серверах.

Худший ответ:
Server:         8.8.8.8
Address:        8.8.8.8#53

Non-authoritative answer:
Name:   tymoshenko-vona.com
Address: 93.170.48.61

в чем проблема-то? кто кого подменяет?
Вопрос: PHP extension с автовызовом при запуске процесса PHP

Лучший ответ:
Посмотрите в сторону pinba, zabbix.

Худший ответ:
memory_get_usage(boolean real_usage);  //всегда отображала именно текущее потребление памяти

<?php
$start_mem = memory_get_usage(1);
/// ваш код

file_put_contents("mem.log", "начальное значение: " . $start_mem . "; потребляемая память в конце скрипта: " . (memory_get_usage(1) - $start_mem) );
Насколько точно вам надо измерить потребляемую память? Приведенный выше код вполне с этим справится.
Вопрос: Как в Hyper-V объединить виртуалки в нормальную локальную сеть?

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

Худший ответ:
а конфигурации vHost-ов какие? по сколько ядер отдано серверам? по сколько памяти? была у нас похожая проблема - на vHost WS2012R2 установили "систему Гарант". первый клиент из сети подключался более минуты (70-80 сек. засекали) все последующие влетали моментально практически. думали мы около суток над проблемой, потом просто обновили все драйвера на хосте с оф. сайта DELL, заменяя при этом те, которые уже были установлены якобы той же версии. в итоге БАГ устранился после переустановки драйвера сетевого интерфейса хост-машины.
Вопрос: Прием пластика в розничном магазине?

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

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

Лучший ответ:
Вариант 1SELECT .... WHERE price > 0 AND ... ORDER BY ...
UNION
SELECT .... WHERE price = 0 AND ... ORDER BY ...
Вариант 2SELECT ... IF (price > 0, 1, 0) as has_price  ... ORDER BY has_price  DESC ...
Вариант 3
Аналогичен варианту 2, но has_price хранить явно в базе
PS Считаю что самый правильный 3й

Худший ответ:
SELECT * FROM goods .... ORDER BY <ваша выборка>, price DESC
Вопрос: Как работает Серверная сторона мобильного приложения?

Лучший ответ:
Очень сложно дать ответ в нескольких словах. Моя последняя статья на хабре про простой backend для мобильного приложения на Google App Engine + Go.
С точки зрения цены/производительности/масштабируемости GAE + Go - наилучший вариант, но без опыта в этом деле будет очень сложно написать требуемое решение.
Другой вариант - сайты вроде parse.com - предоставляют много функций и сервисов по скажем приемлемым ценам. Отличаются простой интеграцией, у них же на сайте и в сети найдёте кучу примеров, на которых можно учиться.
2. Всё по HTTP или HTTPS, передаваемые данные часто сериализуют в JSON. Клиент делает запросы на сервер - это самой простой вариант.
3. GAE точно справится. Parse, думаю, тоже. Всё зависит от того на сколько эффективно используются ресурсы и сколько денег вливается на поддержание сервиса. Если будете делать всё на собственном одном сервере, то скорее всего не справится с нагрузкой, особенно если какой-нибудь дешёвый VPS.
В итоге присмотритесь к parse.com для начала.

Худший ответ:
у нас сделано на Ajax(в приложении webview+js, на сервере пхп), но наверно можно как-то более круче
Вопрос: Как настроить Postfix Relay?

Лучший ответ:
да, при relayhost = mx.domain.net вся почта уйдет туда.
сморите Ваш:
transport_maps = hash:/etc/postfix/transport
то есть добавьте туда транспорт для domain.netdomain.net        smtp:mx.domain.net
ну и в mydestination естессно тоже.

Худший ответ:
да, при relayhost = mx.domain.net вся почта уйдет туда.
сморите Ваш:
transport_maps = hash:/etc/postfix/transport
то есть добавьте туда транспорт для domain.netdomain.net        smtp:mx.domain.net
ну и в mydestination естессно тоже.
Вопрос: Стоит ли пытатся раскручивать подобную игру?

Лучший ответ:
Лучше сделать и жалеть, чем не сделать и жалеть.

Худший ответ:
Динамики в геймплее не хватает.
Если прикрутите Free2Play, то возможно какие-нибудь издатели заинтересуются.
Вопрос: Объясните НДС

Лучший ответ:
Если вы не плательщик НДС, то вас обходят стороной такие понятия, как налоговое обязательство и налоговый кредит. Да, при покупке товаров/услуг вы оплачиваете 18% налога, но вам их не вернут. Вы находитесь на упрощенной системе и НДС не должен вас вводить в «ступор».

Худший ответ:
Вы на упрощенке, а значит вы никому ничего не должны и вам никто ничего не должен, следовательно, не парьтесь с НДС. 
Для тех, кто работает по НДС, работать с вами немного невыгодно, потому что при работе с вами они не смогут сделать возврат НДС. Вы также не можете (точнее, можете, но бестолку) выписывать счета с учетом НДС.
Вопрос: Почему Ubuntu постоянно зависает?

Лучший ответ:
Господи ... в чем отличие вкл в сеть ноута и выключенного? Скорее всего есть 2 видюхи. Встроенная и внешняя. Продолжать?)

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

Лучший ответ:
Причина, почему так, как вы хотите, не работает - throw не возвращает никакого значения. Не будет работать даже вот такая простая конструкция:$return = throw new Exception();
Если очень хочется, есть такой вариант - объявить вспомогательную функцию, в которую и обернуть throw (функция по умолчанию будет возвращать null):function throwme($e) { throw $e; }

$data = $this->title_map[$page_type] ?? throwme(new EngineError('...'));
Подробнее можно почитать тут:
stackoverflow.com/a/1211497
P.S.: Идея с конструкцией вроде $var = $test ?? throw new Exception() мне нравится.

Худший ответ:
Тут нет никакого дублирования, не занимайтесь ерундой. Первый вариант понятен и отлично читается. if (!array_key_exists($page_type, $this->title_map) {
    throw new EngineError('There is no Data for this type.');
};

$data = $this->title_map[$page_type];
Вопрос: Умный &quot;хардварный&quot; будильник — n-настроек, на любые дни недели, кнопка &quot;от..сь, я встал&quot;?

Лучший ответ:
Вот хороший живой будильник: budist.ru/

Худший ответ:
С несколькими независимыми настройками сигнала вряд ли найдешь, мне только с двумя попадались. Ищи продвинутый будильник с календарем и напоминаниями. На DX такие видел, по 10-20 баксов.
Вопрос: Установка софта в наглую!?

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

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

Лучший ответ:
ну вычислите даты начала и конца прошлой недели или прошлого месяца, и выбирайте where date between date1 and date2

Худший ответ:
Привет.
Вот так можно вычислить периоды
В неделю:SELECT CURDATE() - INTERVAL CASE WHEN DAYOFWEEK(CURDATE()) = 1 THEN 13 ELSE DAYOFWEEK(CURDATE()) + 5 END DAY -- start of the previous week
SELECT CURDATE() - INTERVAL CASE WHEN DAYOFWEEK(CURDATE()) = 1 THEN 6 ELSE DAYOFWEEK(CURDATE()) - 1 END DAY -- end of the previous week
В месяцSELECT DATE_ADD(CURDATE(), INTERVAL - DAYOFMONTH(CURDATE()) DAY) -- end of the previous month

SELECT DATE_ADD(DATE_ADD(CURDATE(), INTERVAL - DAYOFMONTH(CURDATE()) DAY), INTERVAL - DAYOFMONTH(DATE_ADD(CURDATE(), INTERVAL - DAYOFMONTH(CURDATE()) DAY)) + 1 DAY) -- start of the previous month
Вопрос: Вероятностные алгоритмы: какие бывают и где найти полный их список?

Лучший ответ:
Здесь буду собирать ссылки на вероятностные алгоритмы:
1. Фильтр блума https://ru.wikipedia.org/wiki/%D0%A4%D0%B8%D0%BB%D...
2. MinHash habrahabr.ru/post/115147
3. LogLog: находим число уникальных элементов --  habrahabr.ru/post/119852 
3.1 HyperLogLog 
4.  Поиск похожих документов с MinHash + LHS: habrahabr.ru/post/250673 
5. https://en.wikipedia.org/wiki/Count%E2%80%93min_sketch -- приближенный сбор частот событий в потоке.
6. Алгоритм Рабина — Карпа: поиск подстрок в строке через хеширование. https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B3%D... 

https://en.wikipedia.org/wiki/Category:Probabilist...

Худший ответ:
вот что нашел https://gist.github.com/debasishg/8172796

в свое время тоже искал. ключевое слово - streaming algorithms, sketching data structures
Вопрос: Какая CMS лучше всего подходит для сайта пассажирских перевозок?

Лучший ответ:
Да, MODX подойдет.

Худший ответ:
Думаю, что легче всего сделать сайт на WordPress, только с учетом модуля продаж. Например, нашей компании BusKrim сайт сделала донецкая компания DSM и мы остались очень довольными. Главное, что был реализован функционал, чтобы купить билет на автобус в онлайн режиме. И при этом нам сразу приходит сообщение о покупке билета и какое именно место и на когда заказал пассажир.
Вопрос: Php_value в Zend Server CE 5.5?

Лучший ответ:
ЕМНИП, в ZendServer PHP работает как CGI. Соответственно и php_value не к месту.

Худший ответ:
Очень странно. Посмотрите php.ini. У вас выключены ошибки? Если да, то включите их:
display_errors 1
error_reporting E_ALL

Какие права стоят на директорию, в которой размещается .htaccess? Стоит ли:
AllowOverride All
??
Вопрос: Почему Google Docs не грузится из Chrome?

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

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

Лучший ответ:
Причем тут эти теги вообще к адаптивности? Они задают лишь ширину вьюпорта и изначальное масштабирование.
Хотите убить адаптивность - убивайте соответствующие свойства в ваших стилях.

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

Лучший ответ:
Увы, никак. Сначала устанавливается соединение по IP и идёт обмен сертификатами, и лишь потом передаётся запрос с полем Host.

Худший ответ:
Ответ — не заходить на другие домены по HTTPS. Ошибка все равно будет, вне зависимости, используется ли SNI или нет, если у вас нет сертификата на запрашиваемый домен.

Лучшее, что вы можете сделать, это редиректить пользователей на http, если те согласились принять несоответствующий сертификат. Как это сделать в лайти я не знаю. В nginx это делается просто. Подробности: nginx.org/ru/docs/http/configuring_https_servers.html
Вопрос: Почему не работает animation в IE и FF?

Лучший ответ:
Потому что и не должна работать — в описании background-image ясно написано Animatable: no. И в списке Animatable properties такого свойства просто нет.
Я понимаю — спецификации нынче никому не нужны, однако именно с них нужно начинать поиск проблемы.
Сделайте несколько слоёв (для 3-х изображений хватит самого элемента и 2-х псевдоэлементов), задайте им фон и управляйте opacity для них.

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

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

Худший ответ:
Вот так вот правильно
https://github.com/vpulim/node-soap
Скормить ей это www.nbrb.by/Services/ExRates.asmx?WSDL
И радоваться.
Вопрос: Не получается подключить валидацию через lib, что не так?

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

Худший ответ:
В autoload_paths указывается каталог-корень от которого уже автолоад начинает искать файл по названиям модулей.
Т.е. в вашем случае:config.autoload_paths << Rails.root.join('lib')
А вообще логичнее перенести ваши модули в app/validations т.к. они являются частью приложения. И в автолоад ничего не надо прописывать, все подкаталоги app туда уже включены по умолчанию
Вопрос: Передача данных View Controller — View, странное поведение?

Лучший ответ:
Когда я пытаюсь вывести в консоль индекс в следующем методе
Ну давайте поиграем в телепатов.  Мой ход.
Беглый взгляд на код PagedFlowView заставляет ужаснуться, так как перезагрузка этой кастомной таблицы происходит в layoutSubviews по некоему флагу _needsReload, который приватный (1), при инициализации приложения устанавливается в YES(2) и... больше никогда не сбрасывается(3). Таким образом, каждый раз, когда этому PagedFlowView посылается setNeedsLayout он перезагружает данные из дата соурса. А setNeedsLayout вызывается наверное часто....
Насчет первого, а бог его знает. половину кода нет, тут даже угадать сложно 
Ну а это вообще что-то термоядерное
- (void)drawRect:(CGRect)rect{
        [self initMehod];
    }

Худший ответ:
Мог бы ты скинуть тестовый проект? 
Возможно проблема в PagedFlowView.
Вопрос: Какой и как можно установить наиболее новый IE под Windows 7 SP1?

Лучший ответ:
через обновления винды он устанавливается

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

Лучший ответ:
Отключите инерционную прокрутку в Системных Настройках

Худший ответ:
4k4 верно отметил, программа SteerMouse  ===> вторая вкладка Wheel. 
Заменяем Acceliration Scroll на просто Scroll, например 2x.
и радуемся...;)
Вопрос: Почему клик не срабатывает больше одного раза?

Лучший ответ:
Во-первых, прислушайтесь к совету, что дал Роман, и сделайте так:$(document).on('click', '.ui-datepicker .ui-state-default', function () {...});
Во-вторых, если после первого раза перестаёт срабатывать, то нужно смотреть на элемент .ui-state-default в консоли и наблюдать, что с ним происходит после клика. Мне кажется, вполне очевидно, что такого класса больше нет.Update
Если в найденных ячейках событие срабатывает 1 раз, а попытка поймать его в document не венчается успехом, какой вывод следует?
Очевидно, что:
— после выбора даты таблица перерисовывается полностью
— всплытие события принудительно останавливают где-то в пределах элемента с инициализацией календаря
Как поступить в таком случае?
1. Можно вспомнить про первую фазу распространения события и написать примерно такое для борьбы с любителями preventDefaultdocument.addEventListener('click', function (e) {
	var target = $(e.target).closest('.ui-state-default');

	if (target.length) {
		...
	}
}, true);
2. А можно (и это правильный способ), почитать API того плагина, что вы используете, и найти там вот такую штуку:$('#datepicker').datepicker({
	onSelect: function () {
		...
	}
});

Худший ответ:
Евгений Петров: 
клик по одному из нескольких одинаковых элементов<td class=" " data-handler="selectDay" data-event="click" data-month="3" data-year="2015"><a class="ui-state-default" href="#">20</a></td>
Вопрос: Как запретить повторное клонирование одного и того же самого элемента?

Лучший ответ:
Я только учусь, так что могу ошибаться. Но что, если клонированному блоку добавлять класс и при копировании проверять: если класс есть, то не копировать элемент.
Это "флаг" вроде называется, или типа того))

Худший ответ:
Можно иcпользовать .one() он одноразовый.
jqapi.com/#p=one
Вопрос: Cделать полнотекстовую RSS ленту, если сайт отдаёт только краткий анонс?

Лучший ответ:
Все украдено до нас уже сделано: feeds.rss-farm.ru/Reset2891/nomobile-reviews

Худший ответ:
habrahabr.ru/blogs/p2p/123594/

Может этот топик поможет
Вопрос: Необходимо вставить js в другой js?

Лучший ответ:
Что вы курите? Дайте мне.

Худший ответ:
Попробуй вот так:<script type="text/javascript">
$(document).ready(function () {
    $(document.body).on("focus", "#menu .input-medium", function () {
    	$(this).autocomplete({
	        source: 'street.php'
    	});
    });
});
</script>
Вместо своего первого куска кода.
Вопрос: Может ли работодатель в Slack читать переписку?

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

Худший ответ:
Точно на 100% не может. Попробуйте сами создать «комнату» и пощупать настройки root-администратора.
Вопрос: Как рассчитать размер изображения для печати?

Лучший ответ:
При печати пользуются термином dpi (dot per inch), а для мониторов принято считать разрешение ppi (pixel per inch). Разрешение монитора на размер при печати не имеет никакого отношения, поэтому ваши 72 ppi никому не нужны. И я не знаю, где вы вообще умудрились такое устройство найти.
От разрешения монитора размер изображения на экране также на зависит — важно только общее количество пикселей. Поэтому когда говорят «разрешение экрана», имеют ввиду именно количество пикселей, используемое ОС по ширине и высоте.
Если говорить про печать с компьютера, то в диалоговом окне печати выбирается принтер, формат (если позволяет), ориентация бумаги. А дальше зависит от того, в каком документе и с какими стилями находится изображение — драйвер принтера сам подгонит под печатную ширину документ.
По сути для вас dpi принтера — это только качество распечатанного документа.
А вот для типографских нужд при подготовке изображений dpi необходим, поскольку для разных носителей, видов печати, и в зависимости от многих других факторов используются разные значения. Однако, если слова «допечатная подготовка» ни о чём не говорят, то вам в это и вникать не нужно. Да и снимки делают для 300 dpi, используя профессиональную аппаратуру, а не мобильный телефон.
Ну а если всё-таки уговорить распечатать свой снимок на устройстве, позволяющем вывести 300 dpi, то размер считается просто:
1 inch ≈ 2.54 cm
300 dpi ≈ 118.11 dpcm (эдакая вольность — dot per cantimeter)
Итого фотка была бы 27.64 × 20.73 сантиметров.

Худший ответ:
Комментарии к первому ответу хороши. Могу добавить, что рассчитать размер без калькуляторов и листка бумаги с карандашами - можно в фотошопе. 
Открываете картинку, затем: Menu Image > Image size. 
В диалоговом окне снимаете галку Resample Image и в поле Resolution подставляете разрешение принтера или печатной машины, которое нужно для максимального качества печати. Для многокрасочного фотоструйника это 400-450 dpi, для офсетной полиграфии - 300, для фотолабы с Noritsu - 150 и тд. Разрешение печати для других процессов узнать у технолога организации, которая будет печатать. 
Соответственно в полях Width и  Height будут размеры в миллиметрах, которые примет картинка при указанном разрешении.
То есть, если нужно напечатать на офсете размером А3, картинка при 300 dpi получится, исходя из размеров в вопросе, 27 на 20 сантиметров. Размер А3 42*30 см, значит картинка будет растягиваться в два раза. А если печатать на А4 30*21 см, то получается как раз максимальное качество.
Следует учитывать, что реальное разрешение смартфонных фотографий раза в 4 меньше, чем физическое разрешение матрицы, потому что качество картинки очень сильно снижается шумом от чрезвычайно мелкой матрицы и качеством убогой пластиковой оптики объектива размером как ноготок.
Вопрос: В каком банкомате лучше снимать Payoneer в рубли?

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

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

Лучший ответ:
Все очень индивидуально в зависимости от ваших навыков и целей.Где показыватьЕсли хотите показать разработчику, то показывайте в том формате в каком делаете.Если хотите показать миру, то выкладывайте либо в формате видео (YouTube, Vimeo) либо в формате гифок (Behance, Dribbble)Как делать
Рассмотрим разные варианты.Раньше многие использовали After Effects, чтобы быстро "нарисовать" анимацию. Но сейчас такое время, что если вы этого не делали, то учиться скорее поздно. Но в принципе это все еще актутально.Если вы знакомы скажем с JS, то какие-то анимации можете изображать там. Плюс для разработчика здесь в том, что уже будут вычислены основные параметры анимаций. Быстро показывать можно, например, при помощи codepen.ioЧуть более навороченный уровень это прототипирование анимаций при помощи приложения Form (www.relativewave.com/form) или очень похожей на него надстройки для Quartz Composer — Origami от Facebook (facebook.github.io/origami)Также есть неплохое решение от Pixate. Относительно гибкое в плане анимаций. Один проект бесплатно. Можно тестировать на устройстве. www.pixate.comРаз такой вопрос, то вы скорее не очень близко знакомы непосредственно с написанием кода приложения. Оно и не обязательно, если вы дизайнер. Но в будущем, если заинтересуетесь, можно будет использовать для экспериментов готовые фреймворки. Например Spring (https://github.com/MengTo/Spring) или POP (https://github.com/facebook/pop)Ну и на последок довольно неожиданное, но очень простое решение для быстрого прототипирования и тестирования анимаций — Keynote (программа для презентаций) от Apple. На эту тему была неплохая лекция на минувшем WWDC https://developer.apple.com/videos/wwdc/2015/?id=803
Удачи в работе :)

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