Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Macbook air M1 2020 vs MacBook Pro M1 2020?

Лучший ответ:
Вполне хватит Air, не вижу проблемы.

Худший ответ:
У меня MacBook Air (2020 но на Intel), хватает на все. А на M1 он стал в разы мощнее.

Когда вышел M1, между Air и Pro по производительности разницы просто нет. Разница в том, что у Pro есть бесполезный тач бар, есть куллер, чуть светлее экран, и лучше звук(у Air он 10/10, у Pro 12/10).

Советую сэкономить, купить Air, и докупить 16 гигов оперативки чем больше тем лучше, так как графика теперь использует основную оперативку, 256 памяти(потому что я не могу потратить больше чем 90 гигов, 256 достаточно).
Вопрос: Вопрос о ключевом слове super?

Лучший ответ:
super(props) используется для того, чтобы вызвать метод constructor(props) у React.Component, мы же пишем extends, грубо говоря, под капотомclass Component {
  constructor(props) {
    this.props = props;
  }
}
а без конструктора это выглядит такimport React, { Component } from 'react';
import { Collapse, Button, CardBody, Card } from 'reactstrap';

class Example extends Component {
  state = {
    collapse: false
  };

  toggle = () => {
    this.setState(state => ({ collapse: !state.collapse }));
  }

  render() {
    return (
      <div>
        <Button color="primary" onClick={this.toggle} style={{ marginBottom: '1rem' }}>Toggle</Button>
        <Collapse isOpen={this.state.collapse}>
          <Card>
            <CardBody>
            Anim pariatur cliche reprehenderit,
             enim eiusmod high life accusamus terry richardson ad squid. Nihil
             anim keffiyeh helvetica, craft beer labore wes anderson cred
             nesciunt sapiente ea proident.
            </CardBody>
          </Card>
        </Collapse>
      </div>
    );
  }
}

export default Example;

Худший ответ:
Объявление:class Example extends Component { ... }
Определяет класс Example который наследуется от Compоnent.super(props);
Вызов конструктора Component с передачей первым аргументом объекта props.
Вопрос: Как разложить(победить) JSON полученный через 1С?

Лучший ответ:
Это вы никак не сможете победить, т.к. вам пришёл не json, а массив строк с типа json, который оформлен не правильно, т.к. это даже нельзя распарсить при помощи стандартной функции JSON.parse, значения без ковычек и т.п. Нужно идти к бекенду и решать вопрос. Либо, написать парсер, который приведёт строки к валидной json строке

Худший ответ:
let str = '{Филиал:ГНС,Цех:ГНС,МестоХранения:Голосов А.Ю,МатериальноеЛицо:Семенко Т.Ф,Номенклатура:Ботинки кожаные,ВариантНоменклатуры:Ми,ЕдиницаИзмерения:пар,Количество:1},';

str = str
  .replace(/^{/, '')
  .replace(/},?$/, '')
  .split(',')
  .reduce((_, i) => {
    let arr = i.split(':');
    _[arr[0]] = arr[1];
    return _;
  }, {});

console.log(str);
Вопрос: Почему rand() может выдавать очень близкие значения?

Лучший ответ:
https://toster.ru/answer?answer_id=1169362#answers...
Почему rand() это плохо
boallen.com/random-numbers.html
Настоящий рандом (или хороший псевдо рандом типа mt_rand())
Псевдо рандом

Худший ответ:
Если нужны криптографически стойкие случайные числа, то используйте функцию random_int (PHP 7+)
Вопрос: Купил Iphone 6 с не скинутым ICloud и Apple ID как скинуть?

Лучший ответ:
Никак. Это называется «купил краденый айфон»

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

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

Худший ответ:
Я бы предположил или петлю( но поскольку по mak доступен, то это не она ) или конфликт адресов.
Попробуйте следующее:
1. Повесить еще один адрес в другой сети на тот же интерфейс и проверить доступность по данному адресу в тот момент когда возникают проблемы.
2. Повесить еще один адрес в другой сети на другой интерфейс  и проверить доступность по данному адресу в тот момент когда возникают проблемы.
3. В момент возникновения проблем снять дамп на mikrotik и на рабочей станции. Вообще в любых непонятных ситуациях с сеть снимай дамп, там можно много чего интересного найти.
Вопрос: Как сделать, чтобы засчитывались уникальные просмотры?

Лучший ответ:
Основной вариант:
Только рега посетителей (читателей) через sms с фильтрацией доступа этого акка по IP (по региону оператора номера мобилы).

Это единственный вариант, который позволит минимизировать фарм и заодно отсеит сразу всех случайных ботов.

Вариант 2: считайте медиану на каждую страницу и распределяйте попроцентно.
Остальных - "за борт".

Худший ответ:
гугли отпечаток

сама проблема не тремя строчками подсказывается
Вопрос: Есть ли программы анализа листинга на assembler?

Лучший ответ:
Программировать на Ассемблере имеет смысл тогда, когда понимаешь его достаточно, чтобы подобные программы были не нужны.

Худший ответ:
Eсть программа на assembler без комментариев. Надо ее ускорить, изменив некоторые участки. Искать эти участки большая морока.
Искать эти участки можно с помощью профилирования.
Вопрос: Как создать таблицу умножения от 1 до 10 с помощью цикла for?

Лучший ответ:
Если вы изучаете - то написанный кем то код вам будет только во вред.
Напишите сами, напишите алгоритм, и т.д. А тут если что подскажут. 
Но писать код тому кто УЧИТСЯ - медвежья услуга

Худший ответ:
Важно в голове набросать некий алгоритм или шаги для реализации вашей задачи.
Ну во-первых, пользователь вводит число и в ответ отрисовывается таблица. Значит, что вам нужно в первую очередь изучить Scanner. Обратить внимание на scanner.nextInt() Изучить конструкцию switch case
Например, получаем числовой ввод от пользователя. Пробегаемся по кейсам и если есть совпадение, то выводим соответствующую таблицу умножения.
Чтобы отрисовать таблицу умножения можно воспользоваться библиотеками для работы с ASCII. Например, ASCIITable
https://github.com/vdmeer/asciitable
Но так как вы начинающий разработчик, то вы можете просто вывести матрицу. Для этого изучите массивы и обратите внимание на массив массивов. int [] []
А код уже напишите сами. Идею я вам подсказал
Вопрос: Как сохранять данные javascript?

Лучший ответ:
База данных/сервак - куда будете записывать и откуда брать.
Local Storage/coockie  в браузере простой способ по сравнению с первым.

Худший ответ:
куки , ну или серьезнее: авторизация, сервер, БД
Вопрос: Могу ли я использовать Ethernet switch как репитор?

Лучший ответ:
Да, решится. Если речь идет не о PoE, конечно.

Худший ответ:
Решиться, а что у вас на концах линии? У меня на старых коммутаторах 3com под 150 метров работали (если повар нам не врёт монтажники полбухты не свистнули при прокладке), я бы вначале попробовал подальнобойнее девайсы.
Вопрос: Как зациклить выполнение функции, пока не нажата другая кнопка на пульте?

Лучший ответ:
Доброй ночи.
Запоминайте состояние в глобальной переменной.int mode = 0xFF2AD5;
void loop() {

    if(irrecv.decode(&results)) { //-- Обработку нажатия лучше вообще вынести в прерывание и не использовать delay()
      mode =  results.value;
      irrecv.resume();
    }

    switch(mode) {
      case 0xFFB24D: modeBlinkRed(); break;
      case 0xFF6897: modeBlinkGreen(); break;
      case 0xFF2AD5:  modeBlinkAll();  break;
    }      
}

Худший ответ:
Есть отличный язык - граф состояний. Советую посмотреть одну из реализаций на Матлабе - Управляющая логика (StateFlow). On-line курс (надо устанавливать MatLab, Simulink и StateFlow).
Затем можно получить код для Ардуино.
Вопрос: Как сделать адаптацию сайта?

Лучший ответ:
Простейшая вариация 
https://jsfiddle.net/pd7segt0/

Только у себя в head добавьте 
<meta name="viewport" content="width=device-width, initial-scale=1.0">
без него @media  не будут работать.

Худший ответ:
Это называется адаптивная верстка
Вопрос: PHP как сложить 2 переменные?

Лучший ответ:
switch ($ar['op']){
   case '+':
      $price_type3 = $value['p_type3_price'] + $setup['value'];
   break;

   case '-':
      $price_type3 = $value['p_type3_price'] - $setup['value'];
   break;

//И так далее

}

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

Лучший ответ:
1. Перевести проект на gradle. Для этого сначала ставим этот самый градл, потом создаем папку, переходим туда в консоли и пишем
gradle init
Будет что-то такое.
Starting a Gradle Daemon (subsequent builds will be faster)

Select type of project to generate:
  1: basic
  2: application
  3: library
  4: Gradle plugin
Enter selection (default: basic) [1..4] 2

Select implementation language:
  1: C++
  2: Groovy
  3: Java
  4: Kotlin
  5: Swift
Enter selection (default: Java) [1..5] 4

Select build script DSL:
  1: Groovy
  2: Kotlin
Enter selection (default: Kotlin) [1..2] 2

Project name (default: rm_me): moy_proekt

Это сгенерирует дефолтный проект gradle для kotlin

2. Далее мы можем подключать любые зависимости, какие захотим. Для этого в сгенерированном проекте открываем файл build.gradle.kts и в секцию dependencies добавляем
dependencies {
  implementation("io.ktor:ktor-server-netty:1.3.2")
}

тут более подробно, но используется gradle синтаксис, а не kts
https://ktor.io/quickstart/quickstart/gradle.html

и почти всё тоже самое, но чуть чуть подробнее тут https://github.com/jershell/kotlin_slow_start
В общем сама цель перевести сначала проект на gradle, поскольку у котлина зависимости почти все через него и подключаются.

Худший ответ:
Юзай Android Studio, если мобилку пишешь, там Gradle из коробки в проект добавляется. 
Далее в buide.gradle добавляешь библиотеку:
implementation("название библиотеки:версия)

Для HTTP подойдет лучше Retrofit2.
Вопрос: Как сделать id usb-устройства статическим?

Лучший ответ:
Я не пробовал такого в USB звуковыми картами, но USB модемы развешивать по правильным устройствам, нам помогает udev. Вот для начала ссылочка, там примеры есть неплохие.
https://www.tecmint.com/udev-for-device-detection-...

Худший ответ:
Был такой вопрос только с Arduino. Также пользовался rules в udev. Сделал по этому примеру, все работает:
Вы можете попробовать создать правило udev, которое создаст символическую ссылку на это USB-устройство, а затем вы сможете использовать что-то вроде / dev / myUSB, которое всегда будет оставаться неизменным для этого конкретного USB-устройства.

Сначала вам нужно найти некоторую идентифицирующую информацию для USB-накопителя. При наборе lsusb должна отобразиться некоторая информация, которая выглядит следующим образом:

Bus 001 Device 004: ID 0403:6001 Future Technology Devices International

В этом примере 0403 - это идентификатор поставщика, а 6001 - это идентификатор продукта.

Создайте файл с именем 99_usbdevice.rules (я не думаю, что имя имеет значение, просто каталог):

sudo nano /etc/udev/rules.d/99_usbdevices.rules

Обратите внимание, что каталог выше может быть специфичным для Raspbian.

Скопируйте / вставьте строку ниже в файл и сохраните ее:

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", SYMLINK+="myUSB"

Перезагрузите Pi или отключите USB и снова вставьте его. Теперь должна быть запись / dev / myUSB, которую вы можете использовать так же, как и запись ttyUSB #.
Вопрос: Как отдавать через WebSocket потоки данных?

Лучший ответ:
Да, про Netty правда. Только он очень низкоуровневый, лучше взять Spring WebFlux или Play Framework.

Худший ответ:
Это уже сродни мультикастам (iptv), где большая часть нагрузки лежит на транспорте (коммутаторах) а не на софтовой стороне.
Вопрос: Как создать публичный web сервер на своем linux пк?

Лучший ответ:
Если говорить "верхнеуровнево", то:
1. Зарегистрировать доменное имя и настроить A-записи. Либо поднять и настроить DNS-сервер. Либо добавить в файл /etc/hosts друга запись о своём сайте.
2. Добиться "статичного" IP-адреса и обеспечить доступность своего IP-адреса с компьютера друга.
3. Поднять какой-нибудь веб-сервер (apache, nginx) на своём компьютере и настроить его.
4. Разместить в корневой папке веб-сервера свой сайт.

А теперь задавайте конкретные вопросы по указанным пунктам.

Худший ответ:
Вот туториал: https://www.google.com/amp/www.linuxandubuntu.com/...

Там в 2 части.
Вопрос: Почему не могу найти pdoTools?

Лучший ответ:
https://modx.pro/news/20858 Он удалил свои пакеты из дефолтного репозитория.

Худший ответ:
Добавьте в качестве поставщика modstore по этой инструкции и когда зайдете в установщик нажмите на выберите поставщика -> modstore
Вопрос: Стоит ли обучаться работе с Linux frontend разработчику?

Лучший ответ:
Разумеется да. 
1. В любом случает будете сталкиваться с Linux. Деплой на AWS, виртуалки и Android (втч React Native) — небольшой список тем где знание Linux не помешает.
2. Linux / Unix — кладезь изящных решений. Прежде чем изобретать велосипед, взгляните на то как похожие задачи решались _дедами и отцами_ Linux.
3. Работая с Linux вы невольно знакомитесь с низкоуровневыми системам обеспечивающими работу ..хм всего интернета. TCP/UDP, IPC и иже с ними.

Худший ответ:
Что-то не договариваете. 
В каком месте фронт и андминистрирование?
Хоите Linux. Вперед на баррикады LPIC!
Вопрос: Существует ли место, где можно покопаться в исходниках сайтов?

Лучший ответ:
На гитхабе много опенсорсных проектов, но это не "сайты", это пакеты, библиотеки, клиенты.
У ряда фреймворков есть демо проекты, пример, просто гуглите "(framework) demo app".
Разберитесь с python и javascript по хорошим книгам, найдите подходящий youtube канал, где автор показывает, как пишет код приложения. Дальше ответы начнут нагугливаться сами)

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

Лучший ответ:
в любой стране, кроме рашки

Худший ответ:
Вам не хостинг нужно для таких целей брать, а CDN подключать, как вариант один из самых популярных - это Cloudflare. Тут не имеет значения, где у вас будет хоститься сайт - берите тот, которым вам удобно пользоваться и тарифы которого устраивают.
В целом из хороших зарубежных, если уж хочется, можно выбрать hetzner или ovh.
Вопрос: Почему во всех книгах пишут про модель OSI, если в Интернете везде используется ТСP IP?

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

если в Интернете везде используется ТСP IP?Ну во первых в интернете используется куча протоколов в том числе и ТСP IP, и во вторых ТСP IP это небольшая часть модели OSI.

Если вы не знаете модель OSI, то у вас не будет полного понимания работы сети, в том числе и протоколов ТСP IP.

если написано, что современный интернет действует по принципам и протоколам tcp ip?Ну мало ли что написано. У меня на заборе вот слово из трех букв написано, и что?

модель tcp ip и протоколы 4х уровней этой модели работают везде, а мы изучаем osi. в чем логика тут ?Данная фраза не содержит смысла - просто поток сознания.

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

Лучший ответ:
Тебе нужно понимание работы BLE (Bluetooth Low Energy).
А вообще, для твоей задачи лучше всего подойдёт библотека Gadgetbridge, там есть поддержка большого зоопарка браслетов.
https://gadgetbridge.org/
https://github.com/Freeyourgadget/Gadgetbridge
P.S. Никогда не ищи в поисковиках на русском языке проблемы, связанные с программированием. Только на английском!

Худший ответ:
https://blog.elcomsoft.ru/2019/05/kak-apple-i-goog...

А кто сказал, что производители. браслетов заинтересованы в реализации и поддержки общего для всех АПИ ?
Имхо, без реверс инжеринга для некоторых моделей вообще не получиться вытащить данные.
Вопрос: Как создать сокращенный путь до файла в терминале macOS?

Лучший ответ:
На мой взгляд, правильнее всего было бы добавить  /Users/admin/.symfony/bin/ в $PATH
Для этого в ~/.bash_profile или ~/.bashrc прописать строку:
export PATH=$PATH:/Users/admin/.symfony/bin
И сделать source ~/.bash_profile, либо перезайти в терминал.

Худший ответ:
Сделать линк к этому файлу в папке с исполняемыми файлами. Например, для linux в папке /usr/local/bin или аналогичной на MacOS.
Чтобы было так: /usr/local/bin/symfony -> /Users/admin/.symfony/bin/symfony
Или установить symfony глобально
Вопрос: Как правильно организовать код большой формы-калькулятора на vue.js?

Лучший ответ:
Раздели свой компонент Cleaning.vue на Type.vue, Area.vue, Window.vue и т.п., в которых реализуй механику работы каждого элемента формы и его стилизацию; для них реализуешь работу через v-model:<template>
                    <div class="fieldItem">
                        <label for="cleaningType">Тип уборки</label>
                        <select id="cleaningType" :value="value" @input="$emit('input', $event.value)">
                          <option disabled value="">Выберите один из вариантов</option>
                          <option value="1" >Быстрая</option>
                          <option value="2" >Генеральная</option>
                          <option value="3">После ремонта</option>
                        </select>
                    </div>
</template>export default {
  props: {
    value: Number
}
}
 в App.vue оставь валидацию и отправку на сервер:<form class="calculatorForm">
        <Type v-model="type" />
        <Area v-model="area" />
        <Window v-model="windows" />
        ....
        <button @click.prevent="getPriceInfo" >Рассчитать</button>
    </form>

Худший ответ:
не знаком с vue. но код впринцепи понятен, попробуйте сделать так: все расчеты в одном файле, весь вывод в другом.
 по сути у вас будет 3 файла. общий(собирающий) 
так сказать "вид" который вставляет все необходимые данные.
 и отдельный файл логики. как там у вас все расяитывается. 
на каждую кнопку нет смысла создавать файл, ровно также как и нет смысла отрисовывать каждую кнопку в отделтном файле
Вопрос: Чем заменить sqlite3?

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

Худший ответ:
Больше чем 1 подключение - только полноценная СУБД
Вопрос: Стоит ли идти на курсы по программированию?

Лучший ответ:
Нет, не нужно. Совсем

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

Лучший ответ:
поищите игра "жизнь". В интернете куча решений.

А вообще:
1) берете клетку (в цикле обходите каждую клетку поля)
2) циклом обозреваете клетки вокруг нее
3) если соседняя клетка живая, увеличиваете счетчик живых соседей на 1
4) после обхода всех соседних клеток (а их 8), смотрите - если клетка, которую вы рассматриваете живая, то
а) оставляете живой, если счетчик живых соседей равен 2 или 3 - оставляете все как есть
б) если другое значение - меняете ее значение на 0
5) если клетка изначально мертвая, то при значении счетчика живых соседей, равного 3, оживляете

Прошлись таким образом по всем клеткам доски, подождали секунду и заново запустили весь этот процесс

Стартовое значение из файла (как я понимаю) - это изначалое расположение живых и мертвых клеток.

У меня есть решение на javascript. Если понимаете этот язык, могу скинуть вам код, а вы переделаете под python

Худший ответ:
Смотри что на г-кодил. Но чую где то напортачил, 100%
from random import randint, randrange
from pprint import pprint
from os import system
from copy import deepcopy


class CellLife:

    def __init__(self, x = None, y = None):
        self.x, self.y = [randrange(10, 25) for _ in range(2) if x is None or y is None]
        self.field = [[randint(0, 1) for _ in range(self.x)] for _ in range(self.y)]
        self.field_state = None

    def environment(self, row, index):
        left_neighbors = row[:index][-8:]
        right_neighbors = row[index:][1:9:]
        while len(left_neighbors + right_neighbors) > 8:
            if left_neighbors < right_neighbors:
                right_neighbors = right_neighbors[:-1]
            else:
                left_neighbors = left_neighbors[1:]
        return left_neighbors + right_neighbors

    def dead_or_alive(self, env, cell):
        state = None
        if cell == 1:
            if env.count(1) < 2 or env.count(1) > 3:
                state = False
            elif env.count(1) in (2, 3):
                state = True
        else:
            if env.count(1) == 3:
                state = True
        return state

    def start_survival(self):
        while self.field_state != self.field:
            self.field_state = deepcopy(self.field)
            for r_index, row in enumerate(self.field):
                for c_index, cell in enumerate(row):
                    env = self.environment(row, c_index)
                    state = self.dead_or_alive(env, cell)
                    if state is not None:
                        if state is True:
                            self.field[r_index][c_index] = 1
                        else:
                            self.field[r_index][c_index] = 0
                        system('cls')
                        pprint(self.field)
        

cell_field = CellLife()
cell_field.start_survival()
Вопрос: Как вывести результат в процентах?

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

Чтобы вычислить процентное отношение чисел, нужно одно число разделить на другое и умножить на 100%. Число 12 составляет 40% от числа 30. Например, книга содержит 340 страниц. Вася прочитал 200 страниц.

Источник "Гугыл"

pages = 340
  read = 200
  
  percent = (read / pages) * 100

Худший ответ:
Насколько я понял вывод производится верно, но без знака процента.
если это так, то достаточно дописать его при подстановке, вставлять не $return_points,  а $return_points.'%',
if(empty($answer_text)){
                    $content = str_replace( '%AVERAGE_CATEGORY_POINTS_'.$category_name.'%' , $return_points.'%', $content);
                }else{
                    $content = str_replace( $answer_text[0] , $return_points.'%', $content);
                }
Вопрос: Как становятся Linux-администраторами и что в нынешнее время требуют от Linux-админа?

Лучший ответ:
Начать надо с установки Linux на домашней или рабочей машине и разных сервисов на его основе - Apache, Nginx, Squid, ISC-DHCPD, MySQL, PosgresDB, SQLite, OpenLDAP, DNS, всякие VPN-доступы, всякие извращения с SSh. Это и будет базовый набор знаний.
Также хорошо бы найти какого-нибудь гуру, который для прокачки своих скилов набирает учеников.
Я в незапамятные времена (примерно 1993-й год) админил электронную почту на DOS. Затем потребовалось подключаться к Internet, провайдер выдал набор дискет с FreeBSD'1.x, и понеслось...

Худший ответ:
Можно посмотреть вакансии линукс администраторов. Только не смотрите с большими зарплатами. 
Что там в вакансиях требуется? Можно составить перечень востребованных сервисов на данный момент.  И начинать их изучать/настраивать. На "домашнем" сервере или можно взять vps не дорогой. 
Сейчас на торрентах и "складчинах" есть не плохие видео курсы для начинающих администраторов, мне в свое время они не плохо помогли. Но не забывайте теория без практики мертва.
Вопрос: Как сделать удар мечом в Unity 2D?

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

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