• Где получить координатные границы городов?

    @Sadless74
    Чтобы получит полигоны городов из OpenStreetMap можно воспользоваться overpass-turbo.eu (api сайта заблокирован, используйте VPN)
    Запрос для Московской области:
    [out:xml];
    
    area
      (area.region)
      ["boundary"="administrative"]
      ["name"="Московская область"]
    ->.a;
    
    (
      node
      	(area.a)
      	["place"~"city|town"];
      way
      	(area.a)
      	["place"~"city|town"];>;
      relation
      	(area.a)
      	["place"~"city|town"];>;
    )->.b;
    .b out meta qt;

    Результат можно экспортировать в geojson. Эти данные о полигонах загружать в свою базу и там искать.

    Ограничения бесплатного сервера не позволят сделать запрос на всю страну, континент, планету.
    Для этого нужно арендовать сервер, установить в него докер Overpass, импортировать данные OpenStreetMap для планеты или меньших частей и уже свой сервер нагружать запросами.

    Если требуется искать ближайший центр населённого пункта, то есть ответ на похожий вопрос. Это задача поиска ближайшего соседа. Есть готовые архивы с координатами населенных пунктов.
    Ответ написан
    Комментировать
  • Где получить координатные границы городов?

    za90
    @za90
    быдлокодер со стажем
    Ответ одновременно очень простой и очень сложный: openstreetmap.org
    Для городов (в основном) там есть границы. Вытащить их можно, например, загрузив планету в постгрес. Или еще несколькими способами. #switch2osm
    Ответ написан
    1 комментарий
  • Возможно ли увеличить максимальное значение клиентов RABBITMQ больше 65535?

    @yarkin
    С серверной стороны используется всего 1 порт, это клиентская часть выбирает случайный (по умолчанию), так что количество клиентов, которое может обслужить сервер RabbitMQ (да и любой другой сервис) не ограничено лимитом портов. (Например, в Linux каждое соединение характерирузется 5 параметрами {proto, src_ip, scr_port, dst_ip, dst_port}.)

    Ограничение дают вычислительные ресурсы, которыми распоряжается RabbitMQ. Так как очереди в RMQ не самые простые, то они потребляют достаточно памяти, я бы сказал, что каждая очередь (при условии что там немного сообщений) потребляет 30-50 КБ RAM. Можно попробовать включить режим Lazy Queue, чтобы RQM всегда писал/читал с диска и не кэшировал сообщения в памяти. Также RMQ любит процессор, но может хорошо распределить нагрузку между всеми ядрами.

    В кластерном режиме RabbitMQ может распределить очереди по всем серверам и обслуживать клиента на любом из них (но балансить клиентов также надо по всем узлам, в идеальности "привязать" клиента к одному серверу). Но проблемы начнутся, когда узлы RMQ начнут "падать" :-) Плюс метадата об очередях синхронизируется между всеми серверами, так что, если поток команд на создание/удаление очередей будет высок, то только на этом может съесться куча процессора и сети.
    Ответ написан
    Комментировать
  • Типичные ошибки SEO специалистов, как проверять ежемесячную работу?

    RotgarSett
    @RotgarSett
    SEO Эксперт
    1.
    • возможно, действительно нанять супервизора (очень многие предоставляют эту услугу)
    • немного войти в тему, найти банальные чек-листы, проверять работу по ним и по каждому пункту с ошибкой просить объяснить почему не исправлено
    • зарегаться на SEO форуме и периодически выкладывать там свой сайт с просьбой оценить оптимизацию
    • ежемесячные отчеты требовать вообще, конечно, странно, но возможно некоторые их стандартно не предоставляют, поэтому обязательно требовать


    А вообще этот вопрос идет с самого начала работы с SEO-специалистом, а вернее с его поиска. О том как выбрать толкового сеошника я писал тут. Здесь написано где искать хорошего SEO-эксперта. И о том что должен знать грамотный SEO-специалист.

    2.
    • не проверяют банальные вещи, например редиректы с урлов слэшэм на конце и с ввв на без ввв
    • не знают и не предлагают реализовать микроразметку
    • не прописывают мета-keywords для Яндекса, так как живут в заблуждении что он не нужен
    • забивают на sitemap.xml и вообще за ней не следят
    • не дают разбивки группированной семантики по страницам
    • не проверяют за разрабами выполнены ли SEO ТЗ, типа раз разраб сказал что все готово, значит все готово (надо проверять, все мы люди)
    • забывают работать с колдунщиками Яндекса
    • покупают арендованные и просто спамные ссылки под Яндекс (так нельзя делать)
    • не покупают арендованные ссылки под зарубежный Гугл (это очень дешевый и работающий в Гугле инструмент, если умеешь его использовать)
    • совсем не учитывают коммерческие факторы
    • забывают хотя бы на минимальном уровне прорабатывать UX
    Ответ написан
    8 комментариев
  • Как максимально быстро создать хэш, полностью идентифицирующий массив?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Может взять и попробовать xxHash?
    Name 		Speed 		Quality 	Author
    xxHash 		5.4 GB/s 	10 		Y.C.
    MurmurHash 3a 	2.7 GB/s 	10 		Austin Appleby
    SBox 		1.4 GB/s 	9 		Bret Mulvey
    Lookup3 	1.2 GB/s 	9 		Bob Jenkins
    CityHash64 	1.05 GB/s 	10 		Pike & Alakuijala
    FNV 		0.55 GB/s 	5 		Fowler, Noll, Vo
    CRC32 		0.43 GB/s 	9 	
    MD5-32 		0.33 GB/s 	10 		Ronald L.Rivest
    SHA1-32 	0.28 GB/s 	10
    Ответ написан
    Комментировать
  • Как продвинуть идею на уровне государства?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    А Вы думаете там наверху нет идей? Есть. Просто на них или денег нет или нет они мешают чьим-то схемам.
    В принципе, для мечтателей можно через портал гос.услуг прямо президенту написать, там есть для идей форма. Без шуток. Конечно там наверняка куча фильтров до президента, в виде людей. Но почему бы не попробовать.
    Есть гранты, как гос, так и частные, есть сайты где их публикуют - туда тоже суньтесь.
    Шансы не велики, но если ничего не делать они вообще равны нулю. Успехов Вам. Крайне редко встречаются люди, которые стремятся созидать. Так держать.

    пара ссылок в помощь:
    https://vsekonkursy.ru/category/konkursy-startapov
    https://президентскиегранты.рф/
    https://www.gosuslugi.ru/200582/1/info
    Ответ написан
    1 комментарий
  • Как продвинуть идею на уровне государства?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    Еще одна печаль в том что выйдя на какойто уровень и договорясь например о создании пилота, можно перейти даже не предполагая дорогу какомуто ведомству который (как внезапно окажется) занимается схожим проектом и на него выделено несколько сотен ярдов рублей и длится он уже не один год и ваш проект моментально останется без заказчика
    ==
    я два раза сталкивался с этой машиной (несмотря на очень предвзятое отношение к госкомпаниям в целом, уговорили партнеры по бизнесу)
    один раз делали проект для МЧС, поставили оборудование запустили пилотный проект, потом в администрацию пришло письмо из центра с указанием - в данном направлении заниматся с __однаоченьизвестнаяконтора__ и все местные тендеры и проекты отменить...и все давайдосвидания
    второй раз в отрасли связанной с медициной, там уже на прощупывании почвы наткнулись на схожие движения, больницы на местах работать не могут, а внедрять чтото самим уже нереально
    Ответ написан
    Комментировать
  • Как продвинуть идею на уровне государства?

    @reesly
    проект i-tend.ru
    Хорошо если идея - коммерчески окупаема. Тогда идея, бизнес-план, инвестиции, пилот.

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

    sim3x
    @sim3x
    P.S. Я не мечтатель
    тогда вы уже знаете ответ на свой вопрос
    Ответ написан
    Комментировать
  • Как прекратить создавать объекты классов?

    qonand
    @qonand
    Software Engineer
    Проблема Вашего кода это сильная связанность со всеми вытекающими. В такой ситуации как минимум стоит применить SOLID-принципы, как максимум - переработать архитектуру приложения (но тут конечно все зависит от масштаба проекта).

    Рекомендую почитать:
    Robert Martin - Agile Software Development, Principles, Patterns and Practices
    Martin Fowler - Patterns of Enterprise Application Architecture
    Ответ написан
  • Как прекратить создавать объекты классов?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Очевидно, что Database() можно вынести в отдельную модель, типа ActiveRecord,

    Она у вас и так вынесена, в класс Database.

    и просто наследовать её

    А вот этого делать не стоит. От слова совсем.

    Есть такая штука, Dependency Injection (DI). Почитайте. Возможно, не сразу вкурите. Но это необходимо понять и научиться с этим работать.

    Должно быть как - у вас есть контейнер, который знает все ваши классы / сервисы (они регистрируются в него или с помощью Service Locator подтягиваются). Он же (контейнер) держит в себе инстансы этих классов - при первом вызове класса он инициализируется 1 раз и сохраняется в контейнере. При последующих обращениях контейнер возвращает уже существующий инстанс. Инициализацию сервисов в конструкторах делать не надо, это жестко связывает ваш код и ведет в никуда. Зависимости надо подкидывать через конструктор, параметрами.
    Ответ написан
    2 комментария
  • Как прекратить создавать объекты классов?

    @Vasiliy_M
    Очевидно, что Database() можно вынести в отдельную модель, типа ActiveRecord
    объект для работы с СУБД никоим образом не относится к паттерну AR. AR не должна наследоваться от объекта СУБД.

    и просто наследовать её
    https://refactoring.guru/ru/replace-inheritance-wi...

    Мне не комфортно, что приходится создавать объект в __construct, чтобы пользоваться им в классе.
    это ваши проблемы. точнее это вообще не проблема, что в конструкторе создаются объекты.
    учитесь мыслить независимыми объектами. учитесь складывать из кирпичиков механизм, в котором нет жёсткой связанности. приведенный код как раз это и обеспечивает.

    Здравствуйте, решил все-таки научиться хоть немного программировать по-взрослому
    прочти хотя бы 1/3 этой книги
    Ответ написан
    Комментировать
  • Как прекратить создавать объекты классов?

    @artem78
    Можно использовать шаблон Registry.
    Ответ написан
    Комментировать
  • Что такое CORS?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Cross-Origin.... это значит "между хостами". То есть вы делаете запросы с "localhost:3000" на "localhost:8080" или с "example.com" на "google.com", или с "example.com" на "api.example.com".

    Resource - тобишь ресурсы. Можете почитать что это такое в контексте REST или HTTP или URI.

    Sharing - ну тут я думаю тоже должно быть понятно. "обмен". То есть это правила которые определяют "можно ли чуваку получить доступ к этому ресурсу".

    Нужна эта штука для того что бы говорить "разрешает ли сервак запросы с этого орижина на этот ресурс".
    Ответ написан
    1 комментарий
  • Что такое CORS?

    muhammad_97
    @muhammad_97
    PHP-разработчик
    Заголовки, которые сервер посылает браузеру при AJAX-запросе.

    Они необходимы для предотвращения несанкционированного доступа к данным пользователя, которые находятся на другом сервере.

    technology.inmobi.com/blog/understanding-cross-ori...
    Ответ написан
    2 комментария
  • Как синхронизировать изменение данных между сайтом и c# приложением?

    @kttotto
    пофиг на чем писать
    Вам нужны веб сокеты. Я не знаю как на php, но на C# есть хорошая библиотечка SignalR, она как раз и способна заниматься обновлением данных на клиенте, если происходят какие-то изменения в данных на сервере. Она как раз является оберткой над веб сокетами.
    Ответ написан
    Комментировать
  • Как синхронизировать изменение данных между сайтом и c# приложением?

    Есть всего пара вариантов и их комбинация - постоянное соединение и непостоянное.
    Если данных новых долго нет, можно рвать постоянное. Понятие долго может меняться.
    Что именно это будет - сокет, вебсокет - вопрос реализации и дополнительной нагрузки.

    Зачем веб сайт только не ясно.Кросс ориджин и броузер можно обращаться к апи сразу,если они на разных хостах.
    Ответ написан
    Комментировать