Vikhrmodels/habr_qa_sbs huggingface dataset:
Вопрос: Нужно ли учить Python если интересна веб-разработка?

Лучший ответ:
Учить можно но во вторую очередь

Худший ответ:
Не лучший выбор, питон в вебе почти не используется, учите PHP и фреймворк Laravel or Symfony, или же Node.js и тоже фреймворк из самых популярных на рынке
Вопрос: Как отбить Ддос?

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

Худший ответ:
перенесите сайт на ihor.ru у них уже есть встроенная защита от ddos
Вопрос: Какой редактор кода выбрать на android?

Лучший ответ:
Не самая удачная идея .

Худший ответ:
Попробуй AIDE web.
Вопрос: Upwork или Офис — с чего лучше начать?

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

Худший ответ:
Офис!
Вопрос: Как покрыть тестом try/catch при помощи JUNIT4?

Лучший ответ:
мусье документацию на жэ-юнит четыре читали?
https://junit.org/junit4/faq.html#atests_7@Test(expected = MyMegaException.class)
public void testIfItBroke() {
    MyClass mega;
    mega.methodThatThrows(wrong params);
}
и, да, я бы использовал что-то более специфичное, чем Throwable.

Худший ответ:
Стесняюсь спросить: зачем тестировать данный блок кода? Ради 100% или чтобы Идея не подсвечивала?
Бытует мнение, что тестировать нужно бизнес логику и скользкие моменты в частности.
Более того, ошибка вашего примера теста в том, что
ExceptionUtils.getStackTrace(e)
в коде и тесте скорее всего будут разные, поэтому тест не выполниться. Это на будущее
Вопрос: Почему важен высокий FPS в шутерах?

Лучший ответ:
Субъективно я вижу разницу в плавности между 60 и 120 или 75 и 120. 24 кадра не имеет отношения к человеческому мозгу, я думаю раньше просто пленку экономили. А 24 это такой минимум, ниже которого совсем хреново. Что бы картинка была идеально плавной, нужен моник 144 герц и видяха которая сможет такой фпс в среднем поддерживать. Для сравнения, возьмите старый элт монитор, там картинка будет намного плавнее любого 60гц жк монитора.

Худший ответ:
Субъективное восприятие картинки каждого. Чем больше фпс тем лучше картинка выглядит. Если привыкнуть играть на 30 фпс то с таким уже успехом будешь месить тех у кого 120. Переход от 30 к 60 меняет привычку и по началу проседает скилл изза того что непривычно. Переход от 60 к 30 это уже довольно болезненно.
Вопрос: Почему стабильно раз примерно в два месяца падает сайт на digitalocean?

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

Худший ответ:
Скорее всего утечка памяти. Вот когда в следующий раз упадет ты прежде чем ребутнуть посмотри что покажет команда htop. Ну и логи само собой смотри.
Вопрос: Как лучше всего сделать IT-блог?

Лучший ответ:
Посмотрите в сторону Grav - https://getgrav.org/
Достаточно интересный движок, не использующий базу данных. В качестве языка разметки используется Markdown.

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

Лучший ответ:
Два блока, левый и правый, накидай туда внутренних блоков сколько хочешь. Флекс тут не нужен.

Худший ответ:
Гуглится по запросу flexbox masonry:
Пример: w3bits.com/labs/flexbox-masonry/2
Из кроссбраузерного решения до сих пор живет: https://masonry.desandro.com/
Вопрос: Как сделать 301 редирект с HTTPS на HTTP без сертификата?

Лучший ответ:
Без сертификата нельзя. Если сертификата нет, получите бесплатный, например, через https://letsencrypt.org/

Худший ответ:
Ни как. SSL handshake происходит уровнем ниже.
Вопрос: Почему не подгружается спрайт мотодом Resources.Load?

Лучший ответ:
Читайте хоть немного документации... 
Спрайт должен лежать в папке "Resources", т.е. полный путь до него должен быть "Assets/Resources/back.png" тогда он загрузится.

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

Лучший ответ:
забавно))
просто представьте, что будет происходить с каждой итерацией ))
1 итерация - $k = Точки.
2 итерация $k = $k  + '.'  так как $k = "Точки."   + "." дает нам уже "Точки.."
3 итерация $k = "Точки.." + "."   = "Точки..."
4 итерация "Точки..." + "." = "Точки...."
5 итерация ....упс! ее не будет почему? Вот из-за этого $i<10; 
значения $i по итерациям
1) 0
2) 1
3) 3	
4) 7
5) 12 упс!!!!

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

Лучший ответ:
############################################################################
#### Убираем повторяющиеся слеши (/) в URL                              ####
############################################################################
RewriteCond %{THE_REQUEST} //
RewriteRule .* /$0 [R=301,L]
############################################################################
#### Убираем слеши в конце URL для статических файлов (содержит точку)  ####
############################################################################
RewriteCond %{REQUEST_URI} \..+$
   # Если файл содержит точку.
RewriteCond %{REQUEST_FILENAME} !-d
   # И это не директория.
RewriteCond %{REQUEST_FILENAME} -f
   # Является файлом.
RewriteCond %{REQUEST_URI} ^(.+)/$
   # И в конце URL есть слеш.
RewriteRule ^(.+)/$ /$1 [R=301,L]
   # Исключить слеш.

############################################################################
#### Добавляем слеш(/), если его нет, и это не файл.                    ####
############################################################################
RewriteCond %{REQUEST_URI} !(.*)/$
   # Если слеша в конце нет.
RewriteCond %{REQUEST_FILENAME} !-f
   # Не является файлом.
RewriteCond %{REQUEST_URI} !\..+$
   # В URL нет точки (файл).
RewriteRule ^(.*)$ $1/ [L,R=301]
   # Добавляем слеш в конце.

Худший ответ:
#добавляем слэш в конце
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Вопрос: Софт/сервисы для рисования графиков/схем (для разработки софта)?

Лучший ответ:
Софт для прототипирования, создания эскизов, макетов, скетчей, мокапсов, схем и т.п.
1. Draw.io — бесплатный аналог Visio
2. https://moqups.com/  (2 проекта на бесплатном акке)
3. balsamiq.com (desktop бесплатно 30 дней, web версия бесплатная)
4. ninjamock.com — отличный бесплатный софт для скетчей и макетов
5. gotiggr.com
6. pencil.evolus.vn/Default.html
7. www.teehanlax.com/blog/2010/06/14/iphone-gui-psd-v4
8. www.lumzy.com
9. mockupbuilder.com (14 дней бесплатно)
10. www.axure.com/download
11. bohemiancoding.com/sketch
12. Mockups.com = https://moqups.com
13. https://wireframe.cc (триал 7 дней)
14. mockups.me (триал-версия действует 30 дней)
15. www.hotgloo.com (15 дней бесплатно)
16. https://gomockingbird.com (1 проект на бесплатном акке)
17. iplotz.com (в бесплатном тарифе возможность работать над 1 проектом, только 5 экранов)
18. www.protoshare.com (триал-версия работает 30 дней)
19. www.mockflow.com (1 проект на бесплатном акке)
20. wireframesketcher.com/features.html
21. https://www.yworks.com/products/yed

Худший ответ:
Дополняю список:
1. Figma  — самый известный графический редактор, на сегодняшний день. Бесплатно навсегда.
2. WebMaster — инструмент для прототипирования на русском языке. Бесплатно навсегда.
3. Canva — тоже популярный сервис для большого количества задач. Прототипировать там тоже можно. Но вроде есть проблемы с оплатой из РФ.
Вопрос: Как извлечь изображения/иконки из макета в Zeplin?

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

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

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

Худший ответ:
Статья 582 п.3 ГК РФПожертвование имущества гражданину должно быть, а юридическим лицам может быть обусловлено жертвователем использованием этого имущества по определенному назначению. При отсутствии такого условия пожертвование имущества гражданину считается обычным дарением, а в остальных случаях пожертвованное имущество используется одаряемым в соответствии с назначением имущества.
Жертвователь не облагается налогами, если предоставит документы в налоговый орган, подтверждающие целевое использование (Письмо УФНС по г. Москве N 16-15/126825 от 02.12.2009).
Вопрос: Как получить дату и время из текста на python?

Лучший ответ:
Здесь совсем нечеткая логика, скоре всего вам нужно будет парсить фразы на лексемы, затем определять грамматику самой фразы. Причем "после завтра в 5 30" и  "завтра после 5 30" хоть и отличаются на одну букву, а промахнуться можно на сутки :-) 
ну и наверняка не обойдется без какой нибудь векторной математики, типа какое действие за каким следует и к чему относится.
Ну и как минимум нужно много, очень много тестовых образцов. Например "вчера он сказал, что завтра будет дождь,  дождя не было", "два дня назад от третьего воскресенья октября".

Худший ответ:
Тык https://docs.python.org/3/library/datetime.html
Вопрос: Как проверить наличие у глубокого свойства родительского свойства в объекте?

Лучший ответ:
в черновиках следующего стандарта есть Optional Chainingobj?.prop         // optional property access
obj?.[expr]       // ditto
func?.(...args)   // optional function or method call
new C?.(...args)  // optional constructor invocation
Через babel можно использовать уже сейчас https://babeljs.io/docs/en/babel-plugin-proposal-o... , правда я сам не пробовал

Худший ответ:
можно написать функцию, проверяющую свойстваfunction checkProps(obj, props) {
  if (!obj) return false; 
  let value = obj; 
  for (let i = 0, l = props.length; i < l; i++) {
    value = value[props[i]];
    if (value == null) return false;
  }
  return true;
}

if (checkProps(campaign, ['budget', 'bills', 'type'])) {}
Вопрос: Как вывести содержимое одной страницы (тело) на любые другие в Wordpress?

Лучший ответ:
1. Создаешь страницу, куда ты будешь добавлять контент, который будет выводиться на других страницах.
2. Создаешь новый шаблон для таких страниц.
3. В шаблоне вызываешь get_post_field( $field, $post, $context );
4. ...
5. profit!

Худший ответ:
Способы реализации:
1) Дописываем к нужной части шаблона get_posts - выводим что необходимо
2) Обращаемся хуком, получаем данные из записи, в результате возвращаем контент с доп. данными, либо с помощью того же хука добавляем контент после или до основной записи. (см. базу хуков wp)
3) Создаем собственный шаблон страницы на php, выводим там необходимы отличающийся макет, на нужных страницах выбираем показ нужного макета.
Вопрос: Какие необходимы ресурсы для создания web-сервера (домашний комп) на 1000 пользователей?

Лучший ответ:
Я лично считаю что парится с сервером дома, смысла нет. Сейчас можно за 200-300 руб/мес взять VPS.

Худший ответ:
Самый простой VPS за 150 рублей здесь или за 5$ здесь.
Сервер дома - если только у тебя Raspberry Pi какой-то, иначе пожалей свой ПК и электроэнергию. По мощности даже Raspberry Pi хватит.
Вопрос: Где набраться информации для работы с картами с использованием python?

Лучший ответ:
У Yandex.Map геокодинг лучше для России чем у Гугла
Касаемо информации для работы с использование Python, можешь найти вот у него на канале: 
https://www.youtube.com/channel/UC-QDfvrRIDB6F0bIO...
Пример :
https://www.youtube.com/watch?v=kWncnBBxoJ4
И да, чуть не забыл, лучше задать этот вопрос здесь:
https://yandex.ru/blog/mapsapi

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

Лучший ответ:
Формируйте слайдер в браузере, а не на сервере. В php формируете список имен файлов фото, потом в браузере вычисляете размеры, перебираете имена файлов и формируете url к ним.

Худший ответ:
mobiledetect.net - это то что вам нужно
Вопрос: Как называется markdown редактор на JavaScript?

Лучший ответ:
Не 1:1, но поробуйте Editor.js (github, сайт)

Худший ответ:
Это называется wysiwyg или rich text edtior
Посмотрите в сторону https://quilljs.com/
Вопрос: Какое значение диафрагмы вы ставите для пейзажа?

Лучший ответ:
Если в твоём пейзаже есть передний и задний планы - выделить на нём важное для тебя - твоя задача )
Если же все части пейзажа достаточно удалены, "на бесконечности" - для большинства объективов под полный и APS-C-форматы максимум резкости приходится на диафрагму 5.6 (сайт в помощь).

Худший ответ:
Если в твоём пейзаже есть передний и задний планы - выделить на нём важное для тебя - твоя задача )
Если же все части пейзажа достаточно удалены, "на бесконечности" - для большинства объективов под полный и APS-C-форматы максимум резкости приходится на диафрагму 5.6 (сайт в помощь).
Вопрос: Redmine: для чего вы её используете? Переходили ли на альтернативы?

Лучший ответ:
Офигенный вопрос. "Для чего вы используете систему управления проектами" - внезапно - для управления проектами!

Худший ответ:
Альтернатив полно, например, scrumboard.ru
Вопрос: Действие при открытии phpstorm?

Лучший ответ:
Чот плоховато искали: Appearance & Behavior → System Settings → Startup/Shutdown

Худший ответ:
Там же даже поиск есть
Вопрос: Почему не записывает в файл?

Лучший ответ:
file_put_contents первым аргументом принимает $filename (имя файла, куда записать), вы вместо имени туда отдаёте содержимое другого файла.

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

Лучший ответ:
Первый вариант - связь один ко многим
Второй - многие ко многим
Рассуждаем: один пост имеет много картинок, ок
Задаем себе вопрос: а одна картинка может быть только в одном посте или все таки может так оказаться, что в нескольких?
Ответив на этот вопрос Вы сможете выбрать тип связи

Худший ответ:
В вашем случае, связь называется one-to-many, и реализуется путем добавления первичного ключа. Второй вариант, описанный вами - это many-to-many, и тогда вам понадобится промежуточная таблица. Для связи пост-изображения используйте первый вариант.
Вопрос: Python3+uwsgi на Ubuntu 16.04. No module named 'encodings' — как узнать в чем дело?

Лучший ответ:
Заведи пользователя
Заведи ему директорию в /home
Положи все там
В uwsgi укажи от какого пользователя нужно запускать
Чтоб использовать plugins=python3 нужно поставить  uwsgi-plugin-python3

Худший ответ:
а где убрал строчку 
home=/root/.virtualenvs/vek/bin/python
Вопрос: Как работают Anti-DDoS системы?

Лучший ответ:
Бывает два основных типа DDoS-
1)Перегрузить запросами ваш сервер
2)Перегрузить запросами ваш канал в интернет.
С первым типом угроз вы можете справиться сами - оптимизировать работу сервера,  поставить перед сервером другой сервер, который будет фильтровать запросы, вариантов много.
Со вторым типом угроз вы ничего не сможете сделать - у вас просто ляжет канал, да еще и провайдер ваш может вас попросить свалить, потому что вы ему работать мешаете.
Такие сервисы как CloudFlare  решают как раз второй тип угроз в основном.
У них есть сервера подключенные напрямую к крупным точкам обмена трафиком очень толстыми каналами.
Забить их практически невозможно.
Они проксируют ваш трафик отрезая явных ботов.
Делается это так - ваш домен резольвиться не в ваш IP адрес, а в IP адрес CloudFlare, трафик идет туда, а оттуда уже отфильтрованный напрямую на ваш IP. 
В итоге злоумышленник не знает ваш реальный адрес, и не может положить ваш канал.

Худший ответ:
Анти-DDoS от CloudFlare (там, вроде, защита на уровне DNS)?
Траффик ваш проксируют. 
Почитайте про уровни DDoS атак.
Вопрос: Как нарисовать дерево имея его ребра?

Лучший ответ:
используйте Graphviz

Худший ответ:

Предлагаю рисовать рекурсивно. Нарисовать все поддеревья (обведены синим), потом корень (желтым). Каждое поддерево рисуем по тому же принципу. Если в поддереве 1 вершина -- просто рисуем ее.
Чтобы понять с каким отступом рисовать поддеревья, так же рекурсивно считаем ширину.
Вопрос: Почему Exim отправляет сообщения от IPv6, когда домену прописан IPv4?

Лучший ответ:
Нагуглил тред www.gossamer-threads.com/lists/exim/users/88456.
Мельком перечитал. Как я понял, нужно каждому домену в domainips указывать ipv4 и ipv6 интерфейс, т.к. если exim находит у получателя AAAA-запись - он шлет через ipv6. Если он не задан явно для даного отправителя - шлется через любой.
Пока решил так:#ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
ignore_target_hosts = <; 0.0.0.0 ; 127.0.0.0/8 ; ::/0
Таким образом Exim слушает IPv6 адреса для входящих, но не отправляет через них.

Худший ответ:
Не ошибка ли наличие <;в строке?
Попробуйте вывести в логе, какое значение получает роутер по результатам выполнения ${lookup{$sender_address_domain}lsearch{/etc/exim/domainips}}
Вопрос: Как завернуть код php чтобы работал в файле htm?

Лучший ответ:
Можно. 
Достаточно настроить (а прежде создать, если его нет) файл ".htaccess", который должен располагаться в корне вашего сайта, либо рядом с необходимой страницей и через обычный текстовый редактор туда вставить строчку:AddHandler application/x-httpd-php .php .html .htm
Если доступа к таким файлам нет, то пишите в хостинг с просьбой.
Вот статья, отвечающая на ваш вопрос чуть подробнее: www.umade.ru/log/2004/07/use-php-in-html-pages
А вот запрос, по которому мне удалось её найти: "исполнение php в html"
Так что учитесь в первую очередь гуглить, а уже потом задавать вопрос :)

Худший ответ:
Как вариант - настроить сервер, что бы обрабатывал файлы htm через php. Но это адская ерунда. Думаю проще сделать то что Вы хотите в php средствами js, например отправить ajax и получить результат выполнения Вашего php кода.
Вопрос: Наговнокодил, на сколько все плачевно?

Лучший ответ:
Классическая sql-инъекция.
Пароль в md5.
Сначала делается запрос, а потом проверяется, что логин и пароль заполнены.
Сначала используются данные запроса, потом проверяется, что он был успешен.
Блоки условий не обёрнуты в скобки.
Пароль и логин зачем-то сохраняются в куки.
У кук нет флага http-only.
Спасать здесь нечего, нужно выбросить и сделать нормально в соответствии с современными стандартами и практиками.

Худший ответ:
Скажу сразу, пхп почти забыл.
Но сделал бы я иначе, и через ФВ хотя бы. Хотя тут зависит от проекта. Если это был бы код ФБ, то все очень плохо. А если сайта с фотками твоих любимых кошей - и так сойдет. 
Прям в коде не разбирался, но что бросается мне в глаза:
мд5, отсутствие ООП, неадаптивность(mysql), устаревшие функции(mysql_query), сомнительная проверка данных, отсутствие подготовленных запросов в БД, что за лимит 1(то есть можно создать копию чужого аккаунта? )if($active == $sql['login']){
    $namecookie = 'login';
  }elseif($active == $sql['email']){
    $namecookie = 'email';
  }
Зачем это делать? Можно же с помощью 1/0 указать. Или  более красиво. ИМХО
Почему проверка на пустые значения происходит после обращения к БД и указания названия куки? То есть с помощью чтения кук я могу шерстить базу данных на существования пользователя с таким ником или почтой? Кука же создаться, если совпадет. А доступа не будет, да. 
Почему хэш пароля в куке хранится - табу. Почему не айди сессии или токен?
Почему переадресация на главную страницу, а не предыдущую страницу перед требование авторизации?
Вопрос: У вас недавно было успешное собеседование на тестировщика: назовите основные темы, о которых вас спрашивали?

Лучший ответ:
Зависит от знания софта+ЯП. Могу только подсказать стандартные направления на собеседованиях всех QA.
1) HTTP-протокол
2) Браузеры, консоль браузера
3) SQL(запросы)
4) Тест api(софт)
5) Знания ЯП, ООП
6) Теория тестирования(регресс, смоук, различие по ящикам и т.д.)
7) Тестирование МП(софт)
8) Форматы json/xml

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

Лучший ответ:
пробовал через указатель, но не вышло.
Что пробовал, как не вышло?

Худший ответ:
если интерес академический, то как предложили коллеги: malloc/calloc
если надо чтобы работало, берите glib (не путать с glibc)
если надо чтобы работало, и glib не устраивает (тяжело себе представить такую ситуацию, но допустим), выделяйте больше, например [512], но считывайте в них только первые [500] (тож например), scanf так умеет. проверяйте сколько считалось: если ровно 500 - пользователь точно ввёл много и скорее всего всё не влезло, ругайтесь на него (скажите, что 256 было максимум) и считывайте опять. если же <500, то всё ок, можно работать. надеюсь понятно объяснил: главное - не считать данных больше, чем выделено места (избегнуть переполнения буфера)
Вопрос: Какой сервис позволит принимать деньги с кредитных карт по всему миру на счет ИП в России за онлайн услуги?

Лучший ответ:
в тинькофф банке страны все открыли практически сразу по запросу,
За рубежом 3DS (подтверждение операции по смс) не очень распространен,  ухудшает конверсию -  его лучше отключить (обычно разрешают через пару месяцев работы)
В целом же в РФ с банками контактировать сложно, лучше подключайтесь к интеграторам - c ними проще вести диалог, да и возможностей у них больше для улучшения конверсии платежей. Обратитесь в payture или cloudpaymemts. Для зарубежных клиентов лучше сделайте оплату в долларах/евро/другой валюте.
Альфабанк в РФ может списывать платежи в 30+ валютах (те по которым есть курс на сайте цб) - выводят на рублевый счет с конвертацией по курсу цб рф минус 0,5%.
ВТБ принимает евро и доллар - напрямую они подключают только очень крупные компании, но через интеграторов можно сделать и на малый бизнес
Ameriсan express можно принимать через русский стандарт и  у втб кажется скоро появится.
Мне симпотизирует payture, они могут все эти банки подключить через одну свою интеграцию.
Если у вас SaaS то подключайте https://paddle.com/
Paypal в РФ насколько я помню, если подключить на ООО/ИП не сможет принимать оплату от бизнес-клиентов, только от физ лиц

Худший ответ:
Вы сами прекрасно разобрались в вопросе
ну, кроме, Сингапура - еще неизвестно, как открыть Страйп на вас, а не на сингапурского резидента
посмотрите геймерские деньгопринималки, какой-нибудь пейментволл, ну и 2co может быть, если оплата не хайриск
Вопрос: Анимация волны в зависимости от курсора как?

Лучший ответ:
Криво, но работает почти как должно.$('.js-line-wave').on('mouseenter, mousemove', function(e) {
    // Здесь расчитывается относитеьное положение курсора чтобы от него считать синус
    var offset = $(this).offset();
    var relativeX = (e.pageX - offset.left);
    var relativeY = (e.pageY - offset.top);

    $('.line, .button_wave, .line_item').each(function(index, letter) {        
        var posx = index; 
      
        // Здесь нужно править магические числа, например вместо 352 надо ставить ширину элемента
        //и ещё нужно править частоту волны и амплитуду, но я забыл формулы
      
        var posy = Math.sin((index / 10 + relativeX / 352) * 180 / Math.PI) * 30 - 20;
      
        // Здесь происходит применение синуса только к 30 элементам слева и справа от мышки
      
        if ($(letter).position().left > relativeX - 30 && $(letter).position().left < relativeX + 30) {
            $(letter).css("transform", "translateY(" + posy + "px)");
        } else {
            $(letter).css("transform", "translateY(" + 0 + "px)");
        }
    });


});

Худший ответ:
Задай своему .js-line-wave высоту побольше, чтоб в него вмещалась вся кривая, например height: 300px;
Еще можно для плавности добавить transition: ease transform 100ms; для двигающихся элементов.