pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как передать данные из input в контроллер?

Лучший ответ: Вообще то ng-model нужно писать в input тэг а не в md-input-container
пользуйся ng-controller="PostReq as pr" чтобы область видимость была локальной а не глобальной, тогда все переменные с pr.***** будут именно локальны для котроллера PostReq. <div layout-gt-sm="row" ng-controller="PostReq as pr">
        <md-input-container flex>
          <label>Name</label>
          <input type="text" ng-model="pr.catName"/>
        </md-input-container>
            <md-input-container flex >
          <label>Color</label>
          <input type="text" ng-model="pr.catColor"/>
        </md-input-container>
            <md-input-container flex >
          <label>Age</label>
          <input type="text" ng-model="pr.catAge"/>
        </md-input-container>
            <md-button class="md-raised md-warn" ng-click="pr.sendReq()">Create cat</md-button>
        </div>
Данные нет смыслы вкладывать так как они уже в скопе.
А контроллер должен быть таким:app.controller('PostReq', function ($scope, $http) {
    $scope.sendReq = function() {
        alert( $scope.catName);
        var intAge = parseInt($scope.catAge);
        $http({method: 'POST',
        url: 'http://127.0.0.1:8000/api/cat/',
        data: {name: $scope.catName, color: $scope.catColor, age: intAge}
    });
}});

Худший ответ: Я сам новичок и md-input-container не использую, вместо этого ng-model (двухсторонний биндинг) пишу к input и введенные данные доступны в контроллере в $scope. Например, $scope.catName. Т. е. по нажатию на кнопку вы можете сразу брать данные из $scope в контроллере.
Вопрос: Существует ли аналог Punto Switcher для программистов, или готовые конфигурации для него?

Лучший ответ: не понятно, зачем для таких целей использовать утилиту, которая для этого не предназначена.
Во многих IDE уже есть помошники написания кода...
На худой конец, можно юзать SubLime Text  с плагинами

Худший ответ: ЕМНИП, в Punto Swither можно настраивать исключения, т.е. указывать в каких программах ему не работать. Добавлял так в свое время PhpStorm.
Вопрос: Как понять какой код лучше подойдет для разработки?

Лучший ответ: Язык это инструмент. На любом современном языке можно сделать плюс-минус что угодно.
java / ruby / php / python / go / node.js - выбирайте любой и вперед.
java - популярен, но на 99.9% энтерпрайз проекты со всеми их плюсами и минусами
ruby - популярен сильно меньше, но спрос есть постоянный, в основном стартапы
python - популярен сильно меньше, но спрос есть постоянный, как стартапы так и энтерпрайз
php - дико популярен, есть разные проекты от "сайт под ключ за 2 копейки" до стартапов и энтерпрайза
go - не популярен, в основном стартапы, дикий спрос на западе
node.js - умеренно популярен, в основном стартапы, дикий спрос на западе
* под популярен - понимается количество людей на нем пишуших
все моё субъективное мнение, возможно я где-то не прав

Худший ответ: Так как не хочу раскрывать всех карт
ну в таком случае 1С выбирайте. Русский язык, всё ясно и понятно. *сарказм*
Вопрос: Не стоит ли настораживаться от подобных оплат?

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

Худший ответ: только учтите что это подписка и через n-месяцев БЕЗ (Ёпт!) предупреждения спишут еще столько же денег
Вопрос: Как подключается thunderbird?

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

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

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

Худший ответ: Так, что бы не было мучительно больно за бесцельно потерянное время)))
- С тз управления проектом - удовлетворение всех договоренностей, обязательств или иных услуг, которые вы ранее согласовали в бумажном варианте. В миру обычно Акт работ, приложение к Договору м/у вами. Причем передачу можно и так сделать, как смертные, руками, и официально послать заказным письмом - это обязывает Заказчика вернуть подписанную копию в срок. 
- С Актом вы смело делаете счет, на основе цен и работ, согласно Договору и Акту, и шлёте в на оплату.
- Ликуете и пьете коньяк, когда быбло упало
Далее процессы идут в рамках условий дог-ра, выше написали уж. Проект закрыт, либо закрыт период, смотрите буквы закона.
Идеальный, желанный вариант для любого вида сотрудничества.
Вопрос: Когда устанавливаешь собранный из исходников софт, его можно удалить через apt-get remove? или только ручками?

Лучший ответ: Из исходников можно собрать пакет - его можно будет ставить и удалять командой.
Если же вы делаете просто make install - то apt никак не может быть в курсе, что этот install творит в системе.

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

Лучший ответ: Я частенько мониторю всякие awwwards и там если чето проскакивает подобное мультам, то все сделано на этом: 
www.pixijs.com
Всякие такие штуки например:
https://www.android.com/matyoushouldreadtommessages
Adobe Animate CC тоже выводит на Canvas, но я лично не в курсе как с тем кодом на выходе можно взаимодействовать.

Худший ответ: Ну, вообще, тут надо решать, что использовать, в зависимости от анимации и сценария. Для некоторых типов анимации вполне можно было бы анимированный svg использовать, если что-то объёмное - то three.js, там есть даже встроенная возможность интерактивного воздействия с конкретными объектами..
Вопрос: Python3 для опытного непитонщика, какую литературу выбрать?

Лучший ответ: https://toster.ru/answer?answer_id=633345#answers_...
+ shop.oreilly.com/product/0636920032519.do
На русском могу посоветовать Лермонтова

Худший ответ: Так же довольно интересно Python 201 by Michael Driscoll
Вопрос: Как выглядели 1-ые версии HTML и CSS? Почему нету нигде про это информации?

Лучший ответ: Что такое гугл? Почему нет поисковиков информации? Как формулировать вопросы? Аааааааа!первая ссылка в гугле по запросу "html tag history"

Худший ответ: HTML был релиз в 1993
CSS был релиз в 1996
то есть первый HTML не имел CSS вовсе
а отличались как верно заметили - просто другие теги.
Вопрос: Какой сервер выбрать для сайта (для дома)?

Лучший ответ: Логично взять четыре ядра по 4 ГГц, 32 или 64 гига оперативки, ну и ссд под нужный объем

Худший ответ: Нужно понимать конкретнее многие моменты, 10к/месяц - это равномерно? Или 30 числа все 10к будут ломиться на сервер? Какой характер контента(стриминг, фото/файлы, и т.д.)? Есть другие требования? 
Если это просто сервак для домашней автоматизации или экспериментов - то Pi3 вполне хватит.
Вопрос: Как в Illustrator, удалить палочку в букве «A»?

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

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

Лучший ответ: один из способов https://jsfiddle.net/r1wtjrys/

Худший ответ: ПКМ -> Просмотр кода элемента.
Разумеется, это ненастоящий плейсхолдер.
Вопрос: 1С, как сделать глобальную переменную COM объекта?

Лучший ответ: Если хочется переиспользовать COM между серверными вызовами, то можно попробовать общий модуль с повторным возвратом значений. Тогда если пользовательский сеанс не мигрировал на другой rphost и не прошло 20 минут между вызовами, то com соединение будет устанавливаться только один раз. На клиенте проще - можно в начале модуля формы написать&НаКлиенте
Перем МояПеременная
и использовать её для com объекта. А вообще сама технология устарела, я бы искал альтернативы.

Худший ответ: Ругается когда глобальную <серверную> переменную пытаешься получить на клиенте?
Вопрос: Почему так работает before в nth-child(1)?

Лучший ответ: Потому что первым элементом в потоке является H1, и по факту ваш первый bro, является вторым элементом. Оберните, например, ваши p.bro в div, и всё будет работать корректно.

Худший ответ: используйте nth-of-type вместо nth-child
Вопрос: Как лучше всего сверстать такой хедер?

Лучший ответ: Честно говоря, вопрос крайне простой.
Вариант 1 - через абсолютное позиционирование.
Вариант 2 - блок "Welcome... director" обернуть в див и "Start" тоже в див.
А их уже позиционировать через flexbox.
https://jsfiddle.net/webirus/zkaemfb7/
Я бы выбрал второй вариант, хотя и абсолют тут будет уместен.

Худший ответ: Решение: выкинуть отсюда нахрен бутстрап и сверстать эти несчастные несколько строк текста самостоятельно. Потребуется с полдюжины элементов/классов и 1-2 медиа-запроса.
Вопрос: Какой SSD лучше вставить в старый ноут: ASUS X42F (Pentium P6100 2ГГц)?

Лучший ответ: Samsung 850 Evo 250Gb - стандарт дефакто. Абсолютный лидер во всем бюджетном сегменте

Худший ответ: Любой, от нормального производителя.
Указанная вами модель - нормальное решение. Что предусмотреть? Какие подводные камни могут быть?Да особых проблем там нет, вставил и работает.
Единственный момент - на старом ноуте может не быть поддержки AHCI, поэтому не будет работать TRIM и можно столкнуться с деградацией скорости. Чтобы решить эту проблему достаточно оставить часть диска неразмеченной.
Версия SATA никак не влияет.
Вопрос: Стоит ли обновить железо при указанных затратах?

Лучший ответ: См.:
cpuboss.com/cpus/Intel-Pentium-G3220-vs-Intel-Core...
Выводы:
Нет. Разница непринципиальна. А гемор на переезд, все же, понадобится. Окромя денег.
Можно оперативки добавить, это легко и просто.

Худший ответ: Стоит ли обновить железо при указанных затратах?Да.
За 7тыс вы получаете 8Гб ОЗУ и очень неплохой процессор.
Система потянет означенные вами задачи, и будет еще достаточно долгое время актуальной.
Вопрос: Как из стандартных хлебных крошек woocommerce убрать ненужные категории?

Лучший ответ: По второму вопросу - потому что по умолчанию хлебные крошки выводятся для вложенности от 1 уровня. Для главной, где вложенность 0 - не выводятся вообще. Изучите класс woocommerce/includes/class-wc-breadcrumb.php чтобы понимать как они вообще работают. Смотрите код тут.
Обратите внимание на хук woocommerce_get_breadcrumb - в нем вам доступны элементы хлебных крошек в виде массива, который вы можете модифицировать - добавить/удалить/заменить определенный элемент (или элементы).
Также, у вас есть темплейт для вывода хлебных крошек woocommerce/templates/global/breadcrumb.php, который вы можете скопировать себе в папку темы (сохраняя вложенность пути, смотрите заголовок-комментарий шаблона и документацию Woo) и сделать свой вывод. Смотрите код файла тут.
Что касается двух категорий товаров - в хлебных крошках выводится первый термин, полученный функцией wc_get_product_terms( $post->ID, 'product_cat', array( 'orderby' => 'parent', 'order' => 'DESC' ) );. Есть небольшой хак - переименовать вашу "служебную" категорию так, чтобы она прилетала второй в списке. При необходимости - изменить параметр сортировки через хук. Либо вообще в этом хуке отфильтровать "служебную" категорию совсем (но надо поковырять conditionals чтобы убрать ее только в нужных местах):function change_breadcrumb( $main_term ) {

    // Проверьте что пришло
    var_dump( $main_term );

    return $main_term;

}
add_filter( 'woocommerce_breadcrumb_main_term', 'change_breadcrumb' );

Худший ответ: Подскажите, а что нужно прописать и изменить, чтобы придать хлебным крошкам другой вид на страницах атрибуты и метки?
В данный момент:
Метка: Главная / Товары с меткой “Название метки”
Атрибут: Главная / Товар Наименование атрибута / Имя атрибута
Нужно:
Метка: Главная / Название метки
Атрибут: Главная / Наименование атрибута / Имя атрибута

Ну и в идеале, в URL убрать product-tag:
Название сайта/Название метки
Вопрос: Что за элемент на макете?

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

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

Лучший ответ: Лучше не придумаешь ответа.
https://habrahabr.ru/company/piter/blog/258275/

Худший ответ: УЖОС!! 
Кадется Лав -- разработка ядра линукс
Вопрос: Как проверить ссылки на ответ сервера (404) для Директа?

Лучший ответ: Попробуйте этим сервисом coolakov.ru/tools/ping я им проверяю если нужно массово, кончено функционал не настолько большой как вам надо, но все же лучше чем ничего

Худший ответ: Проще написать скрипт самому
Вопрос: Как правильно использовать и настроить Route в Laravel?

Лучший ответ: Документацию все так же не читаем? 
https://laravel.com/docs/5.5#configuration
Сервер должен смотреть в папку public

Худший ответ: А нахрена ты сюда вообще переходишь?При переходе на этот адрес localhost/conlineltd/routes/web.php // Все мои рауты 
я получаю
Fatal error: Uncaught Error: Class 'Illuminate\Support\Facades\Route' not found
Судя по тупости предыдущего, возможно тебе следует зайти на /conlineltd/aboutПри переходе на localhost/about я получаю 404 Not found! 
если это так, от тебе нужно менять настройки сервера или обернуть все твои роуты в группу с префиксом, что может стать временным костылем для васRoute::group(['prefix' => 'conlineltd'], function () {

Route::post('/login',function(){
    return view('login');
});

Route::post('/register',function(){
    return view('register');
});

Route::post('/contact',function(){
    return view('contact');
});

Route::get('/about',function(){
    return view('about');
});

Route::get('/home', ['as' => 'home' , function(){
    return view('index');
}]);
});
Вопрос: Как индексировать страницы сайта, доступные только после регистрации?

Лучший ответ: Если на вашем ресурсе есть страницы со скрытым контентом, то в поиске они высоко ранжироваться не будут. Хотите нагнать трафика и получить регистрации - используйте другие методы и инструменты. 
А вот за такое: Определяйте поискового бота и выдавайте ему нужный контент можно вполне получить бан и остаться совсем без посетителей из органики)

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

Лучший ответ: не учи, и беги с этой работы
учи фреймворки laravel и symfony

Худший ответ: За пределами РФ и СНГ Битрикс не востребован.
Но т.к. на данный момент вы работаете в России и ваш работодатель желает разрабатывать сайты на Битриксе, то изучить его придется.
Вопрос: Какой компьютер лучше купить начинающему дизайнеру мобильных интерфейсов?

Лучший ответ: Счастливый человек ваш начинающий дизайнер, если как вариант для него расматривают мак про.
И в то же время странные компании, которые могут позволить мак про, но не покупают лицензионный софт
¯\_(ツ)_/¯ 
Sketch, кстати, стоит всего 99$ и заменит весь набор адоуби, который вы упомянули. Реально заменит.
Это не модная тенденция, а обоснованный выбор.
Адоуби конечно продолжат довить массой, но огромный пласт профессионалов пересел с их продуктов на более новые и узкоспециализированные (Sketch для интерфейсных решений, affinity для рисования, framer для прототипов [и всё это продукты под мак]).
Я не яблокофил, уютно чувствую себя и на винде (там, например, мне гораздо удобнее работать с папками и файлами), но мак для работы гораздо приятнее, стабильнее и надежнее.

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

Лучший ответ: погуглил за вас

Худший ответ: Если через клик, то просто прописать через ; сколько угодно событий
onclick="load(event);........."load(event2);...............;return false"
Вопрос: Upwork заблокировали аккаунт, что делать?

Лучший ответ: Upwork в последнее время стал мягче относится к подобным баном и существует достаточно большой шанс снять бан через поддержку.
Для этого нужно обратиться в https://support.upwork.com/hc/en-us  и показать себя как можно с более выгодной стороны:
- Дать ссылку на свой сайт-портфолио (если он существует, на английском языке и хорошо выглядит);
- дать ссылки на аккаунты на профессиональных сайтах (stackoverflow, github для программистов; behance, dribbble для дизайероров и так далее), если они конечно показывают вас в лучшем свете;
- пришлите сканы/дайте ссылки на ваши сертификаты связанные с вашей работой;
- покажите свой грамотный английский;
Вообще, в большинстве случаев с той стороны поддержки сидят не очень компетентные люди и ваша главная задача их впечатлить как хороший специалист в своей сфере, подумайте как это лучше показать для людей, которые не разбираются в тонкостях вашей профессии.
Вообще, есть достаточно много случаев когда людей разбанили после сообщения в духе "Простите, я плохо заполнил профиль и подавался на все проекты подряд, но сейчас я понял свои ошибку, заполню правильно профиль и буду относится к поиску проектов серьезнее"
Если вас забанят второй раз, то на разбан не найдетесь и новый аккаунт создавать тоже не вариант - 99% что забанят через некоторое время. По-этому:
- прочитайте опыт других фрилансеров на Upwork: профили, cover letter;
- потратьте МНОГО времени на заполнения своего профиля, пройдите тесты и запишите видео;
- не подавайтесь на все проекты подряд;
- изучайте каждый проект по отдельности и тратье МНОГО времени на написания  cover letter.

Худший ответ: Читайте чаще upworkest.ru
Собственно надо договариваться через суппорт, если заявок было мало разбанят
Вопрос: Где можно взять таблицы с двумя тремя тысячами строк?

Лучший ответ: Сгенерируйте нужный набор данных самостоятельно. 
Например, можно использовать MySQL Data Generator (dbForge Studio for MySQL).

Худший ответ: Если вы хотите экспериментов в разрезе скорости работы, то навряд ли вам помогут учебные БД. Очень много зависит от качества архитектуры бд, и она обычно хромает.
Видел на Хабре статью про тестовую бд, но она вроде для postgresql.
https://m.habr.com/company/postgrespro/blog/316428/
Вопрос: Почему parentElement равен null?

Лучший ответ: Это всё innerHTML виноват

Худший ответ: После того, как вы что-либо записываете в innerHTML, объекты пересоздаются заново, а старые уничтожаются. Этот подход не самый хороший. Лучше сразу создайте все span элементы и управляйте их видимостью через классы/стили.
Вопрос: Как наиболее просто и правильно организовать для свойств класса поведение, аналогичное «транзакции» (или ctrl-z)?

Лучший ответ: насколько я понял Вы используете Qt. В таком случае не надо велосипедить doc.qt.io/qt-5/qtwidgets-tools-undoframework-examp...

Худший ответ: Кладите в массив не все члены объекта, а сам объект. И тут не массив нужен, тут идеально стек подходит.
Вот я вам накидал примерчик https://ideone.com/tOXA0SПример#include <iostream>
#include <stack>
#include <memory>

template<typename T>
class Undo : public T {
private:
    std::shared_ptr<std::stack<Undo>> history_ptr = std::make_shared<std::stack<Undo>>();

public:
    template <typename... Args>
    explicit Undo(const Args&... args): T(args ...) {}

    void save() {
        history_ptr->push(*this);
    }

    void undo() {
        if (!history_ptr->empty()) {
            *this = history_ptr->top();
            history_ptr->pop();
        }
    }
};

class Foo {
public:
    int a = 0;
    std::string s;

    Foo(const int _a, std::string _s): a(_a), s(std::move(_s)) {}
};

std::ostream &operator<<(std::ostream &out, const Foo &foo) {
    out << "Foo(" << foo.a << ", \"" << foo.s << "\")";
    return out;
}

int main() {
    Undo<Foo> foo(1, "Hello World!");

    foo.save();
    std::cout << "Save\t" << foo << std::endl;

    foo.a = 6661313;
    foo.save();
    std::cout << "Save\t" << foo << std::endl;

    foo.s = "Lakad Matataaag!";
    foo.save();
    std::cout << "Save\t" << foo << std::endl;

    foo.a = 9000;
    foo.s = "Normalin, Normalin!";
    foo.save();
    std::cout << "Save\t" << foo << std::endl;

    foo.a = 12345678;
    foo.s = "Da next lebel play!";
    std::cout << "Current\t" << foo << std::endl;

    foo.undo();
    std::cout << "Undo\t" << foo << std::endl;

    foo.undo();
    std::cout << "Undo\t" << foo << std::endl;

    foo.undo();
    std::cout << "Undo\t" << foo << std::endl;

    foo.undo();
    std::cout << "Undo\t" << foo << std::endl;

    return 0;
}
Но вам нужно следить за реализацией конструктора копирования и оператора присваивания, что бы они корректно себя вели.
Вопрос: Почему на снимках со спутника есть квадраты другого цвета?

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

Худший ответ: Уже раньше все написали, но я повторюсь.
Это опубликованные снимки, от того что их не будет в общем доступе для военных ничего не поменяется, у них есть свои спутники и фотографии. И судя по всему более качественные и актуальные чем в паблике для интересных им мест.
Вопрос: Как удобно достать private const?

Лучший ответ: Выглядит, как тип enum.
Вот эта библиотека сделает часть работы за вас и добавит проверку типов:  https://github.com/myclabs/php-enum

Худший ответ: 1) Сделать константы public, их всё равно изменить нельзя. Инкапсуляция не нарушится.
2) Писать обёртки через рефлексию
Вопрос: Node JS + Socket.IO управление сокетами с помощью localStorage?

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

Худший ответ: как управлять активными сокетами юзера и на сервере 
Может быть вот этот пример вам поможет https://github.com/kuzinmv/node-cluster-socket.io/... Если у вас нет  UserId для не авторизованных клиентов можете использовать Id сессии, например из вот  https://github.com/expressjs/session из этого или подобного middleware, если у вас Express.js. Или сами на сервере генерируйте какой-либо id и кладите в кукес.
Вопрос: Какую CMS использовать для проекта?

Лучший ответ: Бери ту CMS, которую ты сам лучше всего знаешь. Сделал ты 50 сайтов на Wordpress - бери его и не думай, действуй.
Очень много функционала, например, лента новостей, обратная связь, галлерея, покрывает любая CMS + пару плагинчиков, возможно. Часть функционала, например, экспорт/импорт из xls в любом случае тебе нужно будет руками дописывать.
Отдельно меня смущает пункт про систему тикетов... Есть же, например, omnidesk, который позволяет вести централизовано всю переписку по электронной почте, с назначением ответственных, контролем хода исполнения и т.д. Для Joomla я похожий плагин точно видел, только названия не помню.

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

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

Худший ответ: Для начала нужно нормально составить вопрос, указать, какие используются технологии и что конкретно необходимо(возможно вы удивитесь, но не все играли в GTA5). Если вам нужно находить маршрут до точки, то используйте алгоритмы поиска пути, их много, гуглите.