Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Как откатить права на файлы на час назад в Ubuntu?

Лучший ответ:
Есть подозрение, что "откатить права в системе на "15 минут назад" - никак, если до этого не был сделан снапшот системы или что-то в таком духе... но, решение, относительно не сложное есть.
1. Берёте такую же точно систему (аналогичный сервер например)
2. Пишите скрипт, который будет перебирать всю файловую систему и записывать в текстовый файл, в строчку: путь до файла (каталога) + права на него
3. Закидываете на сервер готовый файл с получившимся результатом и запускаете обратную операцию, аналогичным скриптом (установка прав в соотв. с указанным путём)
Либо, берёте аналогичный работающий сервер и перекидываете все данные туда...
P.S. Возможно, есть более красивые решения, или даже какие-то системные скрипты (готовые), которые установят нужные права правильно, но, "по быстрому" мне в голову приходит решение которое я озвучил выше.

Худший ответ:
Вопрос не актуален.
Решение в моём случае ( может подойти и в вашем ):Восстановление работы Vesta:/usr/local/vesta/upd/add_sudo.sh && chmod 0440 /etc/sudoers && chown root:root /etc/sudoers
 && chmod 0440 /etc/sudoers.d/admin && chown root:root /etc/sudoers.d/admin && chown root:root /usr/bin/sudo
 && chmod 4755 /usr/bin/sudoВосстановление работы SSH сервера:cd /etc/ssh && chmod 400 *
И так по аналогии, что-то работало, теперь не работет или работает некорректно? Попробуйте поменять права на файлы.
Вопрос: Часто ли вам приходится использовать Iframe?

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

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

Лучший ответ:
Гуглиться же легко
jsfiddle.net/tpmD4/6

Худший ответ:
background-size указывается через слеш / после других параметров к каждому из фонов. 
Либо отдельной строчкой через запятую в соответствующем порядке.background: url(1.png) top right repeat / contain, 
url(2.png) center no-repeat / cover;
Вопрос: Какой основной принцип отправки пакетов IP на конкретный узел (хост) сети Интернет?

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

Худший ответ:
Как устроена сеть Куча автономных систем со своей внутренней динамической маршрутизацией между узлами сети. Обычно по протоколу OSPF, может быть IS-IS или даже IBGP. В пределах AS на маршрутизаторах хранится информация о всех маршрутах их стоимости до каждой подсети. как она определяет маршрут именно в реализации AS связаны между собой по протоколу динамической маршрутизации BGP. Он отличается принципом работы от протоколов внутри AS. Маршрутизатор, настроенный по этому протоколу знает о маршрутах только у соседних маршрутизаторов. В зависимости от настроек BGP трафик между автономными системами пойдёт по тому или иному пути и не всегда оптимальному (зависит от того как и о чем договорятся админы AS). Далее трафик через граничный маршрутизатор попадает внутрь нужной AS, где направляется по поределённому пути, который тоже не всегда может быть кратчайшим. 
Потом трафик доходит до нужного маршрутизатора и по внутренней сети направляется к абоненту.
Для более лучшего изучения темы лучше обратиться к хорошему ресурсу, где многое понятно описывается.
Вопрос: Как настроить exchange на доступ из вне?

Лучший ответ:
Порты 143/tcp, 993/tcp наружу открыты?

Худший ответ:
Outlook является стандартным клиентом для Exchange, с версии 2013 подключение клиентских приложений идёт по протоколу Outlook Anywhere (маркетинговое название RPC-over-HTTP, который заворачивает MAPI в RPC, а RPC в HTTPS, в 2016 еще появился новый протокол, но это другая история.). Т.е. в данной ситуации требуется только открытый порт 443. 
Раз вы можете зайти на OWA/ECP данное условие выполнено.
Теперь требуется настроить Web службы Exchange 2016 - на ваше имя (ExternalURL).
Лучший вариант использовать Split-Brain DNS в данном случае, и настроить ExternalURL & InternalURL одинаково, тот что вы привели ms.bestname.com.
Тогда пользователю будет всё равно сидит он внутри корп. среды или открыл почту из дома - подключаться будет бесшовно. 
Еще один плюс - использование одного сертификата для внешних-внутренних пользователей.
Это вам удочка -) Успешной рыбалки =)
Вопрос: Можно ли во становить HDD?

Лучший ответ:
Можно - восстанавливал один раз такой. Там скорее всего неверно установлены "Доступные кластеры" - такое было после установки в DVR.

Худший ответ:
Можно, вероятно, но нужно ли? Если он один раз так лажанул, где гарантия что не лажанет и во второй и в третий?
Вопрос: Как сделать «фигурный» бордер?

Лучший ответ:
Самое примитивное: на активный таб с помощью :after накладываешь поверх svg и все

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

Лучший ответ:
Всё довольно просто: деньги. 
А точнее модель, с помощью которой компания планирует (или уже зарабатывает) деньги.
У ВК бесплатно, т.к. эта социальная сеть, как и многие, зарабатывает на рекламе. Ей (им?) важно, чтобы вы использовали АПИ, использовали сервис, оставались с ними, и тогда вы точно рекламу увидите ;-)
С точки зрения Microsoft, - они реализовали крутой сервис, за вас будут работать их сервера и софт, написанный ими, с использованием их идей, труда и патентов и бла-бла-бла... Почему бы не брать за это деньги? В смысле - это и есть их модель заработка.
У третьих может быть что-то среднее: если бесплатно, то с рекламой, например. Надеюсь, идея ясна.

Худший ответ:
Сделаешь сам - вопросы отпадут)
Вопрос: Чем заменить Flash или На чем сейчас делают анимацию для веба?

Лучший ответ:
Начните отсюда:
paperjs.org
https://greensock.com/tweenmax
Ну а если анимация очень простая то вообще на CSS:
https://daneden.github.io/animate.css/
И начните изучение:
https://habrahabr.ru/post/135816/
https://habrahabr.ru/company/odnoklassniki/blog/158917/
https://habrahabr.ru/company/nordavind/blog/209462/

Худший ответ:
Ваш пример даже на чистом CSS можно, мне кажется.
Вопрос: Как вывести цикл внутри functions?

Лучший ответ:
Читаю весь гнев в комментариях... Жесть.
Вам конечно для подобного, просто необходимо пройти базовый курс. Иначе Вам действительно лучше идти за фрилансервами. Помощь, помощью, но писать за Вас код никто не будет.
А теперь по делу.
Вы возвращаете строку. Строка не интерпритируется, как Вам хотелось бы. И использование тегов  Вам не поможет. Тут все проще:return '<div class="review__content">
    <p>' . get_post_meta(get_the_ID(), "reviews",  true) . '</p>
</div>';

Худший ответ:
Прочитайте о шаблонизаторах сторонних допустим (Blade) или же стандартный пыховский(PHP), тогда меньше проблем будет с выводом в HTML.
и было бы тогда проще вызывать какие либо функции в HTML верстку или же пробуйте не писать в одну строку HTML на практике кучей ошибок вываливается
По теме: 
     echo get_post_meta(get_the_ID(), \"reviews\", true);
в этой строке, выведите echo из строки. как описано выше.
Вопрос: Шаблоны проектирования — с чего начать знакомство?

Лучший ответ:
Советую почитать книгу "РНР объекты, шаблоны и методики программирования" Мэтта Зандстры. Подробно описываются как возможности ООП присущие PHP, так и наиболее распространённые шаблоны проектирования.

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

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

Худший ответ:
Когда показывается второй блок, ховер с первого уходит - значит, второй блок надо скрыть, и первый снова показать. Сразу же случается ховер у первого блока - он скрывается, второй показывается. Ховер уходит на второй блок - надо его скрыть, первый показать... Показывать второй блок надо не только при ховере на первом, но и при ховере на самом себе. А чтобы второй блок не съезжал, когда первый снова станет видимым, используем абсолютное позиционирование. Типа так.
Вопрос: Как исправить ошибку [Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive. See?

Лучший ответ:
А что не понятно? Нельзя вызывать event.preventDefault() внутри пассивного обработчика. А обработчики для тач-событий пассивны по умолчанию.
Так что либо не вызывать preventDefault(), либо регистрировать обработчик как-то так:element.addEventListener(handleEvent, { passive: false });
Подробнее здесь

Худший ответ:
Приложения, использующие события Touch и отключающие обработку жестов браузером путем вызова preventDefault() должны использовать touch-action чтобы браузер знал о намерениях приложения до того, как будут вызваны какие-либо слушатели событий, так что юзай touch-action: none; и делай как сказали выше )
Вопрос: Стоит ли писать где работаю на Upwork?

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

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

Лучший ответ:
И себе всё запиши, и пользователю скажи что он что-то не то искать пытается

Худший ответ:
while(!$rows = parent::findAll()){
    throw new \Exception('Нет категорий');
}
return $rows;
может лучшеif (($rows = parent::findAll()) === false);
    throw new \Exception('Нет категорий');
}
return $rows;
Покажите юзеру нормальное сообщение что категорий нет. В конкретно этом случае, я думаю Вам все равно нашлись какие-то категории по запросу пользователя или нет.
Вопрос: Почему Ruby используют так мало сайтов, по сравнению с другими языками?

Лучший ответ:
По сравнению с чем ? С php ? Тогда все языки кроме php используют очень мало сайтов. На ROR сделано достаточно много сайтов, особенно зарубежом.
ИМХО, три основных фактора
 - дорогие программисты (их еще и мало по сравнению с пхп/питон).
 - сам по себе язык достаточно "медленный" и не подоходит для мало-мальски серьезных нагрузок.
 - нет серьезных драйверов в виде крупных компаний и/или большого коммьюнити, которые бы вложились в разработку и оптимизацию быстродействия, плюс быстрое внедрение новых фич, как это было например с тем же php. 
Своя ниша у рубей есть, причем не только в бекенде для сайтиков. Нравится - используйте. Не нравится - ну возьмите то что по душе.

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

Лучший ответ:
mysqli_result ObjectЭто судя по всему, не результат, а объект результата или указатель. Примерно это должно помочь.
P.S. Извиняюсь, ссылкой промахнулся. Исправил.

Худший ответ:
1 (единица) в вашем случае - это просто true
А надо примерно так:
$res = mysql_query("SELECT COUNT(*) AS `count` FROM `users`");
$arr=mysql_fetch_array($res);
echo $arr['count'];
А вообще свои запросы, особенно хитрые, очень удобно тестировать в phpMyAdmin
Вопрос: Как правильно сделать проверку на существование записи в базе в 1С Битрикс?

Лучший ответ:
1) Почитайте про sql инъекции. Пример
2) Я бы на вашем месте избегал использования для запросов $DB->Query. Вместо этого лучше использовать D7 ORM . Описываете таблицу классом, а потом используете выборки данный через getList  или Query, если нужен специфичный запрос.
Ну и как уже сказали, надо проверять что то более конкретное. Из вашего описания, вообще не понятно, что вы пытаетесь сделать.

Худший ответ:
Проверяй $result конкретнее, это же тебе не яваскрипт.
Вопрос: Перенос Windows server 2003 r2 на Windows server 2019 напрямую?

Лучший ответ:
А по чему нет? Поднимаете все эти роли на на 2019 и деинсталите на 2003. Единственное, на DHCP придется области экспортировать/импортировать и резервации (если они у вас есть) 
DNS без проблем перенесется. AD -если будете поднимать, имейте в виду будет уровня 2003, потом понижаете сервер до рядового и AD у вас на 2019, потом бы, я изменил бв схему чтоб уровень домена стал 2019 (это если у вас нет DC на других серверах, не 2019)

Худший ответ:
Ввести в домен новый сервер 2019, поднять роль AD в качестве второго контроллера, затем передать роли fsmo с 2003 на 2019. DNS к тому моменту уже переедет на новый контроллер. DHCP придется экспортировать\импортировать отдельно, как и говорит Дмитрий Шумов .
Вопрос: Какую бесплатную программу для создания музыки стоит выбрать новичку, чтобы потом бесплатно вставлять получившиеся композиции в коммерческие продукты?

Лучший ответ:
Поищите по ключевым словам "free daw". Может что-то приглянется.
Я бы порекомендовал что-то вроде tracktion (у них правило: версия -1 всегда бесплатна)
Почему её: довольно недавно на рынке этого ПО, так что "выезжает" на всех новых фишках, не так консервативна, как некоторые (читайте - удобна). Работает под Windows и Linux, что немаловажно. Если появится желание или деньги - можно будет приобрести платную версию (и не сильно переучиваться).

Худший ответ:
Поищите по ключевым словам "free daw". Может что-то приглянется.
Я бы порекомендовал что-то вроде tracktion (у них правило: версия -1 всегда бесплатна)
Почему её: довольно недавно на рынке этого ПО, так что "выезжает" на всех новых фишках, не так консервативна, как некоторые (читайте - удобна). Работает под Windows и Linux, что немаловажно. Если появится желание или деньги - можно будет приобрести платную версию (и не сильно переучиваться).
Вопрос: Как перевести 3D в 2D?

Лучший ответ:
похоже "проекция точки на плоскость"  это то, что вы ищете.

Худший ответ:
Если кустарно, то нужно сдвинуть и повернуть весь мир так, чтобы плоскость глаза игрока совпала с плоскостью монитора (т.е. с началом координат в центре монитора). После чего воспользоваться нехитрой формулой перевода из параллельной проекции в перспективную:
X_на_мониторе = X_из_3D / Z_из_3D
Y_на_мониторе = Y_из_3D / Z_из_3D
Так я делал 15 лет назад, когда интернета и книжек у меня не было :)
Вопрос: [RSA] почему схема с шифрованием данных напрямую не является «практически надёжной»?

Лучший ответ:
Пусть стороны для шифрования постоянно используют одну и ту же пару ключей (не обязательно RSA), а мы перехватываем их трафик. Даже не зная самих ключей мы можем заметить, что каждый раз, когда Алиса начинает диалог с Бобом, к нам попадает один и тот же зашифрованный блок. Можно предположить, что это приветствие, и перебрав варианты "Привет", "Здравствуй" и т.п., получить возможные ключи, которые проверяются на других блоках.
Именно поэтому обязательной частью шифрованного обмена является периодическая смена ключей, и фиксированные персональные ключи используют только для обмена неповторяющимися сеансовыми ключами.

Худший ответ:
С моей колокольни я вижу бред. На самом деле RSA не используется для прямого шифрования ровно по двум причинам.
Дорого. Дороговизна обусловлена высокой стоимостью операций. Взятие по модулю и возведение в степень - не самые простые операции для CPU, сложнее (из примитивных) разве что деление. К тому же, используя самые эффективные алгоритмы, сложность шифрования где-то O(n log(n)), возможно даже выше, но даже так на огромных данных логарифм портит всю малину. Как следствие - низкая производительность. Тут даже специализированные схемы не очень помогает, ибо их сложность слишком большая и стоимость производства - также высокая. Можно вспомнить про кредитные карты, которые есть почти у всех, но их производительность очень низкая, просто её хватает, но едва.
Неудобно. Все операции происходят в поле по очень и очень большому простому числу. Это не делает ей никакой чести, абсолютно никакой (некоторое число атак даже эксплуатируют эту проблему). Сделать полное отображение 2048 бит в поле огромного числа банально невозможно, поэтому данные просто обрубают. Учитывая просто громаднейший размер ключа это и незаметно, но проблема всё равно существует.
В любом случае, смысл использовать один и тот же ключ - отсутствует. Абсолютно аналогичный результат можно получить, используя симметричный шифр. Намного интереснее, если ключ меняется от блока к блоку, тогда можно невозбранно получить стойкость одноразового блокнота (точнее - генератора случайных чисел, да и число простых чисел всё-таки ограничено, но это мелочи). Так что это полный бред, что прямой RSA - бесполезен. Но предыдущие две причины практически полностью решили его судьбу, как шифр для симметричного ключа или хеша.
Вопрос: Как включить slick slide в wordpress?

Лучший ответ:
Здравствуйте!
Все скрипты и стили подключаются через functions.php
Создайте папки css  js  fonts, закиньте туда стили и скрипты slick.
Откройте functions 
добавьте код
// подключаем стили и скриптыfunction register_styles_scripts() {
	//стили
	wp_register_style('style', get_template_directory_uri() .
		'/style.css');
	wp_enqueue_style('style');
	
	//скрипты
	wp_register_script('slick', get_template_directory_uri() .
		'/js/jquery.js');
	wp_enqueue_script('slick');
	
}
add_action('wp_enqueue_scripts', 'register_styles_scripts');
Также подключите скрипт самого слайдера для slick.
Если он не "заработает", то замените все $ на jQuery
или же оберните код в $.noConflict();
jQuery( document ).ready(function( $ ) {
......
});

Худший ответ:
Ещё можно учесть зависимость slick.js от jquery.js, для этого в папке темы WP-а functions.php, например:// Подключаем jquery
wp_enqueue_script('my-jquery', get_template_directory_uri() . '/assets/js/jquery-3.2.1.slim.min.js');
// Подключая slick, учитываем зависимость от jquery
wp_enqueue_script('my-slick', get_template_directory_uri() . '/assets/slick/slick.js', array('my-jquery'), null, true);
Вопрос: Как сделать custom buttons в android?

Лучший ответ:
А тебе не подойдет эта библиотека?

Худший ответ:
И что вы тут нашли кастомного?
Обычная кнопка с текстом и картинкой.
Вопрос: На что обратить внимание JavaScript разработчику при изучении PHP?

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

Худший ответ:
Это не так работает, для начала выучите основы или хотя бы почитайте, после них вы сами скорее всего поймете на что лично вам нужно обратить внимание.
Пока что вопрос выглядит как: "в чем различия между жидким и мягким?" это все гуглится за 3-5 минут
Вопрос: Где взять иконки?

Лучший ответ:
fontawesome.io/icons
Точно таких не будет, но очень приблизительно похожие есть. Их в принципе хватает, и работать с сними очень удобно, как с символами. 
Вот: 
fontawesome.io/icon/star-o
fontawesome.io/icon/cart-arrow-down
fontawesome.io/icon/eye
fontawesome.io/icon/share-square-o

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

Лучший ответ:
Уважаемая, вы не поняли сути совсем. Суть - сделать красивое ICO, с мощным сайтом и красивыми профилями в Фейсбуке, проехаться на пару блокчейн "конференций" и потом примерно годик трахать мозг "инвесторам" симуляцией активной деятельности. А вы тут про атаки 50+1 волнуетесь и катаклизмы с "отмиранием ветки цепи", ну ей богу что за наивность.

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

Лучший ответ:
www.macdigger.ru/iphone-ipod/kak-ustanovit-anglo-r...
а вообще вот

Худший ответ:
Я пользуюсь Yandex.Translate
https://appsto.re/us/Vr50I.i
1. Устанавливаем приложение, открываем, заходим в настройки
2. Выбираем "на какой язык переводить в Safari" Русский
3. Выходим из приложения, заходим в любой браузер или читалку, где есть английский текст.
4. Выделяем слово или фразу на английском, в появившемся меню выбираем Поделиться, потом Переводчик и во всплывающем окошке видим перевод.
Проигрывает встроенному словарю одним лишним нажатием, но выигрывает в возможности перевода целых фраз
Вопрос: Как симулировать клики мышкой?

Лучший ответ:
Потребуется пакет InputSimulatorvar sim = new InputSimulator();

Cursor.Position = GetRequiredCursorPosition(clientUx);
sim.Mouse.LeftButtonClick();

Худший ответ:
серьезно чтоли? вы ради 2+2 еще jquery наверно подключаете??
какие InputSimulator, UIAutomationClient . Нахер это надо, человек просто изучает.
это делается с помощью WinApi
вот примеры
https://www.experts-exchange.com/questions/2909587...
https://stackoverflow.com/questions/26074258/c-sha...
Вопрос: Как добавить исключение на введение пароля для sudo?

Лучший ответ:
Это возможно?возможно: секция NOPASSWD в sudoers.если да - это безопасно?зависит. может быть как безопасно, так и нет.

Худший ответ:
Нашёл подходящий вариант. Выполнил команду в консоли , добавил пользователя в группу и теперь работает без sudosudo usermod -aG docker ivanov
Вопрос: Установка qt creator?

Лучший ответ:
В директориях по ссылке - версии opensource оффлайн инсталлеров.download.qt.io/official_releases/qt

Худший ответ:
У Qt отличная документация. Пользуйся: doc.qt.io/qt-5/gettingstarted.html
Вопрос: Настройка WI-FI роутера как точки доступа с 3G модемом для анонимного серфинга в сети?

Лучший ответ:
Не совсем понятно почему именно 3g модем и WiFi - не проще ли воспользоваться проводом.На какие ключевые моменты обратить свой взор при настройке роутера для максимальной анонимности?Как минимум надо убедиться что при падении TOR или VPN трафик не пойдет напрямую через вашего провадера, ну и DNS.

Худший ответ:
1. Отказаться от Wi-Fi (и любых радио-модулей).
2. Отключить Tor-relay.
3. (и как сказал АртемЪ) не допускать "утечки" запросов за "трубу" при любых подключениях/отключениях любых интерфейсов.
Вопрос: Есть ли хорошие книги(желательно на русском) для практики по Swift(у)?

Лучший ответ:
Советую эту www.ozon.ru/context/detail/id/139997813 отличная книга, сейчас правда swift уже 4 версии, но всеравно более чем актуально. Также, если планируете серьезно изучать swift рекомендую ресурс bestkora.com за смешные деньги получите перевод Стенфордских курсов, которые маст хев для изучения swift. Но вообще, need to improve your English:)

Худший ответ:
Василий Усов "Swift Основы разработки приложений".Также есть русский сайт swiftbook.ru Там есть хороший перевод документации swift и есть переводы некоторых английских уроков.