pavki/hr_qa_sbs_best_bad huggingface dataset:
Вопрос: Как сделать хороший интернет магазин....не можем уже 2 года сделать?

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

Худший ответ: Выберите хорошего исполнителя и вперед, не подошел, берите другого, и изначально договаривайтесь что большую часть денег исполнитель получит после завершения работ.
А так как правило мы работаем как - всегда сначала запускаем магазин, с любым дизайном и версткой, магазин начинает работать, начинаются заказы и прочее и вот тогда уже можно допиливать хоть до бесконечности.
Сверху пишут правду - что 50% косяков от заказчика, на дизайн вообще забейте он никому не нужен кроме вас, клиентов интересуют хорошие цены и качество товара и сервис, что бы им привезли вовремя.
И также хороший вариант - выбираете магазин который вам нравится (одного из конкурентов) - звоните тому кто его делал и заказывайте у него - у нас 90% клиентов так приходят. Звонит Вася и говорит - о видел магазин котрый вы делали- все круто хочу такой же.
А насчет тормозит - нужно смотреть что за CMS и что за хостинг и как все настроено - как правило проблема больше в оптимизации магазина под нагрузки, у нас опять же на сервере лежит около сотни магазинов - и все летают, просто оптимизирован двиг и сервер. Для больших проектов арендуется VPS или VDS.
В общем Вам просто не повезло наткнутся несколько раз на недобросовестных исполнителей, просто перебирайте их до нахождения толкового.
Я бы не рекомендовал сервисы вроде inasales - ни одного магазина не знаю который был бы в топе и использовал бы платформу для развития, все наоборот куда ни глянь везде коробочные решения, ведь интернет-магазин это прежде всего CMS + доработки к ней, доработки есть всегда, а вот у insales с этим проблема. К примеру у одного клиента 6 цен на товары, у другого особые скидки в коризне при покупке 3 и более штук товара, у третьего парсер товаров с яндекс-маркета, у четвертого синхронизация цен с их еще одним магазином - все это не сделать на insales. Берите коробочные решения и прежде всего хорошего исполнителя с портфолио.
А насчет сроков, у нас сейчас в крупном проекте штраф 5 т.р. за день просрочки, это очень мотивирует сдавать все вовремя.
Вопрос: Подойдет ли обычная веб-камера для уличной съемки?

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

Худший ответ: Смотря какая веб-камера, моя вообще перестала работать после января
Вопрос: Есть ли простой и красивый почтовый клиент?

Лучший ответ: Mozilla Thunderbird
Если у вас Мак, то Airmail

Худший ответ: В свое время использовал Becky! Internet Mail, шустрый клиент, ничего лишнего
Вопрос: Какой cms конструктор сайтов использует ucoz?

Лучший ответ: самописный
не можете найти напиши те сами

Худший ответ: Umi можно использовать, если продать квартиру. Было подобное у Битрикс, только не Управление сайтом, а редакции вроде Корпоративный портал.
Вопрос: Как правильно обновлять таблицу товаров интернет магазина?

Лучший ответ: Тот который просит заказчик
Все методы быстрые
Не использовал бы библиотеки кода строчек двадцать сорок будет

Худший ответ: ровно 2 команды MySQLLOAD DATA INFILE - во временную таблицу, потомINSERT INTO ON DUPLICATE KEY UPDATE в нужную.
если формат CSV 1-в-1 c таблицей - можно вообще обойтись одной первой, с параметром REPLACE
Вопрос: Кому писать в Яндекс насчёт уязвимости, чтобы отреагировали быстрее?

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

Худший ответ: Вы слегка не успели запостить это к событию: Месяц поиска уязвимостей Яндекса

Яндекс уделяет большое внимание вопросам безопасности данных своих пользователей. С целью популяризации информационной безопасности в интернете, мы объявляем месяц поиска уязвимостей — предлагаем всем желающим попытаться найти уязвимости в сервисах Яндекса. Победитель получит $5000. 

Также, думаю, представители Яндекса отнесутся с интересом к 7-й встрече DefCon Russia
Прошедший конкурс по взлому Яндекса — «Месяц поиска уязвимостей Яндекса»
 Планируется, что будут присутствовать все победители конкурса,
 которые поведают о своих находках.
 Так же мы приглашаем присоединиться и поучавствовать с докладами всех,
 кто нашёл что-то интересное!

Если есть возможность выступить в Петербурге 30 января на эту тему — дерзайте!
Вопрос: Где найти сэнсэя по js?

Лучший ответ: Интернет тебе сансей лучший.

Худший ответ: Илья Кантор (javascript.ru) вчера открыл новый набор на свой курс по JavaScript javascript.ru/mk/19921 Да, это лекции, на зато наикрутейшие, наверно, + общение с преподавателем и сокурсниками.
Вопрос: Где в OS X храниться атрибут чем был создан обьект?

Лучший ответ: sandbox тут не при делах: google -> osx extended attributes.
конкретно данные со скринов хранятся в атрибуте com.apple.metadata:kMDItemWhereFroms.Допустим я скачал тысячу приложений и не хочу жать это сообщение.команда xattr с ключами -d/-c.

Худший ответ: Два файла скаченых с разных урлов
$ xattr -l Pangu_v1.2.1_win.zip
com.apple.quarantine: 0001;565eb0ec;Google Chrome;1D2C05B3-39E3-4F42-AEAC-20811F4D8336
$ xattr -l Pangu_v1.2_mac.zip
com.apple.quarantine: 0001;565ea71a;Google Chrome;5A62156A-9441-448E-AFC2-9E5E2E96FB60565ea71a дата скачивания 
5A62156A-9441-448E-AFC2-9E5E2E96FB60 урл
Google Chrome имя программы
$ xattr -w com.apple.quarantine '0001;565ea71w;SUPER PUPER;5A62156A-9441-448E-AFC2-9E5E2E96FB54' ~/Downloads/Pangu_v1.2.dmg
По всей видимости сom.apple.metadata:kMDItemWhereFroms принят устаревшим и урлы он получает через com.apple.quarantin
Вопрос: Как сделать модель на нестандартный запрос в Yii2?

Лучший ответ: через модель yii\base\DynamicModel 
для  yii\base\Model 
создать в текущей модели public свойства для алисов $value_alias
еще способ это в запросе алиас назвать также как и атрибут . SUM(`table`.`value`)  as value

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

Лучший ответ: Что вообще лучше сделать в такой ситуации?закрыть проектдаФидбэк при этом он сможет оставитьнетИ будет ли эта работа как отображаться в моем профайленет
Ну и стоит написать перед активностью письмо, что мол, так и так, очень приятно с вами работать, но без фиксированного ТЗ сроки соблюсти не получится. 
Ты был рад работать с ним и все такое

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

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

Худший ответ: Долгое время работал на PC Windows 8, но повелся на маркетинговые плюшки от Apple и перешел на Mac, еле выдержал год, для меня лично это было мучением. Перешел обратно на Windows, но клавиатуру от мака оставил ) лучше и удобнее нее пока ничего не придумали. Но сам переход вообще не ощутим, все нужны программы есть на обоих платформах. Особенно пакеты от Adobe
Вопрос: Windows 2012 rdp?

Лучший ответ: попробовать пропатчить termsrv.dll

Худший ответ: Всё так.
Чтобы больше подключалось нужно роль терминального сервера поднять и лицензии для терминальных подключений прикупить.
Вопрос: Как исправить ошибку main.go:1:16: expected ';', found 'import'?

Лучший ответ: main.go:1:16: expected ';', found 'import'
Вы нас обманываете приведённым листингом кода, т.к. компилятор видит `import` на первой строчке на 16 позиции файла `main.go`

Худший ответ: Это называется сам себе Буратино, какого черта у тебя "Перевод строки CR" ???
Вопрос: Дизайн + программирование. В каком направлении вы бы развивались?

Лучший ответ: Фронт-енд разработчик думаю вам подойдет. Делайте упор на JS и дизайне.

Худший ответ: Frontend (html5 + css3 + JS + рекомендую сразу JS MVC (Angular/Ember/Backbone) + jQuery). Если только нет стойкого желания работать над большим многолетним проектом.
Вы сможете реализовывать большинство задач и будете востребованы, и всегда будет что-то новое. Как говорилось ранее, frontend javascript MVC (как Angular/Ember/Backbone/Batman и прочие), если будет необходимость, дадут Вам возможность делать действительно масштабные и красивые вещи с помощью JS. Если будет нужно, с помощью NodeJS можно сделать и backend. Поле для работы с кодом огромно, при этом нужны только знания JS.
Да и знание и любовь к дизайну на этом пути Вам очень пригодится.
Вопрос: Зависимости скрипта PHP

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

Худший ответ: Писать тесты, рефакторить.
Вопрос: Советник Яндекса — Чайник косметики, компьютерные кроссовки и обогреватель фильмов?

Лучший ответ: предлагал мне чайник дешевле косметики
Что тут такого?компьютер вместо найков
Вместо? Что это значит? Ввели в поиске "компьютер", а получили найки?обогреватель на DVDобогреватель фильмов
А здесь хотелось бы скринов :)

Худший ответ: А таки шо ви хотите? Шо есть, то и продаем...
Вопрос: С чего начать изучение ExtJs?

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

Худший ответ: а ещё какие нибудь варианты?
Вопрос: Как вывести категорию с custom post types в wordpress?

Лучший ответ: Разобрался с этим вопросом.
Нужно создать Страницу с кастомным шаблоном, в котором прописать вывод постов с заданным custom post types через функцию query_posts.
Более подробно с примерами кода и скриншотов опубликовал у себя на блоге, как подсказка для самого себя. Буду рад если еще кому-то будет полезно. Ссылка: rightblog.ru/1946

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

Лучший ответ: Рабочие программы тоже фотошопом документировать собираетесь? Если это не какая-то обработка изображений, то только plain-text, комментарии в коде + вводная в теме письма. Максимум какие-то диаграммы из IDE.

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

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

Худший ответ: просто не приходи больше, если не отпустят
Вопрос: Network Thread?

Лучший ответ: Сетевой поток будет постоянным, или его будут запускать по нажатию кнопки или его надо запускать через какой то интервал времени?
Если постоянно в фоне должен быть то делайте Service. В него можно передавать что-то из UI потока и наоборот получать назад.
Подробней про сервисы хорошая статья — читайте тут

Если по нажатию кнопки — то используйте AsyncTask. Важно, вы не сможете обновлять UI элементы из других тредов, так что как получите какие то данные, например нужно обновить список твитов используйте метод runOnUiThread (Runnable action) этот метод есть у всех активити.

Но AsyncTask подходит для маленьких операций, забрать пачку твиттов или забрать rss — не долгие операции.

Используя ExecutorService можно например реализрвать
Producer — Consumer. Сотрите в этом скринкасте как.

Если активити будет несколько, как вы будете шарить между ними очередь? Тут или делать сервис в фоне или инициализировать очередь в Application классе, он будет доступен для всех активити, правда я не могу точно сказать если это хорошая идея хранить там очередь, самому интересно.

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

Лучший ответ: Может из-за полосы прокрутки?

Худший ответ: Так то на расписании нет полосы прокрутки, а контент центрирован относительно ширины вьюпорта. Вот и скачет. Наполните страницу расписания - проблем не будет.
Вопрос: Как написать EventManager/Observer на много событий без Reflection?

Лучший ответ: В C# уже есть механизм событий, прячущий под капот паттерн Observer.
См. ключевое слово event.
А вообще switch в методе Update можно заменить на паттерн ServiceLocator, по сутиpublic class EventManager
{
  Dictionary<EventType, EventHandler> handlerLocator.
  public void RegisterEventHandler(EventType type, EventHandler handler)
  {
    this.handlerLocator[type] = handler;
  }

  public void Update(Event e)
  {
    var handler = this.handlerLocator[e.Type];
    handler(this, e.EventArgs);
  }
}

Худший ответ: Можно написать абстрактный класс, в котором будут пустые реализации OnEvent для каждого события, а в наследниках уже их переопределять при необходимости. Например так:class EventManager
{
    List<EventListenerBase> listeners = new List<EventListenerBase>();

    public void Subscribe(EventListenerBase listener)
    {
        listeners.Add(listener);
    }

    public void Publish(Event e)
    {
        foreach (EventListenerBase listener in listeners)
        {
            listener.OnEvent(e);
        }
    }

    public void Publish(MoveEvent e)
    {
        foreach (EventListenerBase listener in listeners)
        {
            listener.OnEvent(e);
        }
    }

    public void Publish(BuildEvent e)
    {
        foreach (EventListenerBase listener in listeners)
        {
            listener.OnEvent(e);
        }
    }
}

abstract class EventListenerBase
{
    public virtual void OnEvent(Event e)
    {
            
    }

    public virtual void OnEvent(MoveEvent a)
    {
            
    }

    public virtual void OnEvent(BuildEvent a)
    {
            
    }
}

class GameHandler : EventListenerBase
{
    public override void OnEvent(Event e)
    {
        Debug.WriteLine("Event");
    }

    public override void OnEvent(BuildEvent a)
    {
        Debug.WriteLine("BuildEvent");
    }

    public override void OnEvent(MoveEvent a)
    {
        Debug.WriteLine("MoveEvent");
    }
}
Но этот способ отвратителен, никогда его не используйте :) Хотя бы потому что для каждого события нужно делать отдельный метод OnEvent и Publish, и работает это только в статике, компилятор выбирает нужный метод во время компиляции, т.е. manager.Publish((Event) new MoveEvent()) не вызовет обработчик для MoveEvent.
Такие вещи (и в Java и в C#) лучше делать рефлексией или с помощью Expression в C#. О производительности Reflection можно не беспокоиться, т.к. регистрировать обработчики достаточно все один раз.
Вопрос: Как установить Sass и Compass (для чайника)?

Лучший ответ: Вместе с rubyinstaller в пуске появляется дополнительный ярлык "Start Command Prompt with Ruby". Это та же самая командная строка. Так же ставится ruby gems. Остается только сделать gem intall compass и sass подтянется самостоятельно.
Если ярлыка нет, проверьте переменные окружения, есть ли там пути до руби и гемов. Если да, то даже ярлык не нужен, просто через командную строку.

Худший ответ: Гугл → gui sass compiler → выбирайте
Вопрос: Почему цикл for не уменьшает значение в префиксной форме?

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

Худший ответ: 1. В цикле for нету разницы между постфиксной или префиксной формы декремента/инкремента для переменной-счетчика. 
2. Первый проход цикла осуществляется с начальным значением i. Потом переменная-счетчик изменяется и второй проход цикла уже будет со значением i1 и т.д.
3. В вашем случае всё было сделано правильно:exl@exl-Lenovo-G560e:~/SandBox > cat test.cpp 
#include <iostream>

int main() {
    int f = 15;
    for(int i = --f; i > 0; --i)
        std::cout << i << " ";
    std::cout << std::endl;
    return 0;
}

exl@exl-Lenovo-G560e:~/SandBox > g++ test.cpp
exl@exl-Lenovo-G560e:~/SandBox > ./a.out 
14 13 12 11 10 9 8 7 6 5 4 3 2 1
Заметьте, что для значения, которым мы будем инициализировать переменную-счетчик, разница в декременте/инкременте есть:exl@exl-Lenovo-G560e:~/SandBox > cat test.cpp 
#include <iostream>

int main() {
    int f = 15;
    for(int i = f--; i > 0; --i)
        std::cout << i << " ";
    std::cout << std::endl;
    return 0;
}
exl@exl-Lenovo-G560e:~/SandBox > g++ test.cpp 
exl@exl-Lenovo-G560e:~/SandBox > ./a.out 
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
Вопрос: Необычное поведение MySQL при UPDATE?

Лучший ответ: Почитайте тут: dev.mysql.com/doc/refman/5.0/en/problems-with-float.html
Во float хранятся приближенные значения. Используйте decimal

Худший ответ: сталкивался с такой же проблемой. помогает изминение типа float на decimal
Вопрос: OpenGl камера нужна помощь?

Лучший ответ: Во-первых, условимся, что в рамках вопроса не делаем различий между OpenGL и DirectX. Будем называть их "графическим API".
Во-вторых, будем считать это графическое API низкоуровневым (т.е. таким, как OpenGL и DirectX). Графические движки, где есть понятие сцены и камеры не рассматриваем в принципе.
Итак, с математикой вам все равно придется разбираться по книгам (ищите об операциях над матрицами и векторами), поэтому попробую подсказать с концептуальной точки зрения.
Самая главная истина, которую вам сейчас нужно понять:Для графического API НИКАКОЙ КАМЕРЫ НЕ СУЩЕСТВУЕТ.
Для графического API существуют только примитивы (треугольники, линии, точки), которые вы хотите нарисовать, состоящие из вершин с трехмерными координатами и набор математических преобразований, которые вы хотите выполнить над этими вершинами ПЕРЕД тем, как они начнут реально рисоваться на экране (т.е. перед их растеризацией). ВСЁ. Все, что для вас выглядит как движение/поворот объекта в игровом мире ("мировые преобразования"), и движение/поворот камеры ("видовые преобразования") - лишь результат того, что вектора, задающие вершины объекта (например, кубика) предварительно умножаются на нужную, рассчитанную вами матрицу.
Лет 10-15 назад такая матрица отдавалась непосредственно графическому API через специальные вызовы (когда видяхи уже умели делать T&L https://en.wikipedia.org/wiki/GeForce_256 , но еще не умели шейдеры), сегодня умножение вектора на матрицу - всего лишь одно из множества различных преобразований, которые можно выполнить в векторном шейдере.
Теперь читайте про то, как эти матрицы используются и рассчитываются. Когда поймете матчасть, гляньте библиотеку GLM (раз уж у вас указано C++ и OpenGL) - она поможет не делать вам рутинную работу.

Худший ответ: OpenGL - суперкнига, там рассказывается про поворот камеры через матрицы.
P.S. для понимания нужен хороший мат. аппарат
Вопрос: Лимит постов и пагинация на кастомной странице в WP?

Лучший ответ: Для пагинации я использую плагин https://ru.wordpress.org/plugins/wp-pagenavi/<div class="items">
<?php
	$count_items = 10;//кол-во выводимых элементов
	$paged = get_query_var( 'paged', 1 );//Получаем текущую страницу
	$id = get_category_by_slug( 'novosti' )->cat_ID;//получаем id рубрики. У меня рубрика новости.
	$recent = new WP_Query( "cat=$id&posts_per_page=$count_items&paged=$paged" );//Сам запрос
	while ( $recent->have_posts() ) {
		$recent->the_post();
		?>
		<div class="item">Элемент</div>
		<?php
	}
	wp_reset_postdata();
?>
</div>
<?php
  wp_pagenavi( array( 'query' => $recent ) );//вывод пагинации по вашему запросу. Все четко:))
?>
В wp_query
posts_per_page - кол-во выводимых записей
paged - номер страницы для вывода

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

Лучший ответ: В контроллеер:@articles = Article.order('created_at DESC')
Кстати, во вью вы можете сделать:<%= render @articles %>
<%= will_paginate @articles, previous_label: "← Назад", next_label: "Вперед →" %>
И создать партиал views/articles/_article.html.erb
и в нем:<h1><%= link_to article.title, article_path(article) %></h1> 
  <%= article.created_at.strftime("%d %b. %Y") %>
  <%= raw article.tag_list.map { |t| link_to t, tag_path(t)}.join(', ') %>
  <div class="well">
    <%= article.body %>
    <p><%= link_to 'Продолжить чтение... ', article_path(article) %></p>
  </div>

Худший ответ: а можно на уровне модели в запросе отсортировать?
Вопрос: Насколько удобно верстать html на MacBook Retina 13?

Лучший ответ: Норм :-)
Sublime Text 3 + LiveReload. С ретиной сижу всего 2 месяца — очень круто! До этого 3 года использовал MacBook Pro 13", который шел без ретины. Часто использую браузерное масштабирование, чтобы имитировать большие мониторы.

Худший ответ: Не особо, но наличие 5 рабочих столов спасает.
Вопрос: Как правильно вычислять географические расстояния в высоконагруженных сервисах?

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

Худший ответ: Высоконагруженные проекты это всегда компромисс между скоростью и целостностью данных. Поэтому нужно сначала решить, является ли критичной для бизнес-логики ситуация когда несколько пользователей друг друга не увидят или нет. Ответив на этот вопрос можно сделать либо более надженое либо более быстрое решение.
Мы на проекте вынесли логику определения попадания в зону на базу, но честно говоря не тестировали по скорости. Если у Вас будет время и Вы используете MySql, было бы интересно узнать, насколько быстро работает это вычисление.
ACOS(SIN(#{userLat})*e.SIN_LATITUDE + COS(#{userLat})*e.COS_LATITUDE*COS(#{userLong} - e.RADIANS_LONGITUDE)) * 6371000 <= #{targetRadius}
SIN_LATITUDE = SIN(RADIANS(#{latitude})) , COS_LATITUDE = COS(RADIANS(#{latitude})), RADIANS_LONGITUDE = RADIANS(#{longitude}) рассчитывались заранее для каждого объекта перед внесением в БД.