TGTGInsightтелеграм анализLIVE / telegram public index
← Такты, стеки, два колеса

TGINSIGHT SIMILAR POSTS

Намери подобно съдържание

Изходен канал @clockstackwheels · Post #227 · 20.02

Допустим, вы разработчик, и вам от пользователя приходит строка user-agent с описанием того, каким браузером он пользуется. В этой строке будет что-то типа такого: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36 И вы хотите из неё узнать мажорную версию Chrome, то есть вытащить число 51. Что вы сделаете? Можно, конечно, написать свой парсер, но я уверен, многие воспользуются регулярными выражениями. Я бы воспользовался. Какое выражение сюда подходит? С виду кажется, что вот такое: /Chrome\/(\d\d)\./g Мы ищем слово Chrome и слэш, затем ловим в группу две цифры, после которых стоит точка. Так? По крайней мере, мышление достаточного количества разработчиков именно таково. Зачастую программистам не хватает умения отойти от техзадания на уровень вещественной сути того, с чем они работают. На самом деле число 51 это версия. Версия будет увеличиваться со временем. «Марти, где твоё четырёхмерное воображение?» Если уже прошло 50 версий, то и следующие 50 не за горами, число станет трёхзначным, регулярка или парсер, сделанные под двухзначные числа, перестанут работать. Трехзначная версия Chrome и Firefox приближается уже сейчас. И да, в них падает куча функций на сайтах, включая крупные корпорации: Yahoo, Bethesda, HBO и бог знает сколько сайтов поменьше. Чисто из-за цифры. Это уже назвали «Проблема сотой версии» по аналогии с «Проблемой 2000 года» (программисты записывали год двумя цифрами, 2000 стал неотличим от 1900). К чему это я? Полезно задумываться о физическом воплощении того, что вы представляете в своей программе. Ваш код должен описывать не столько требования заказчика, сколько законы, по которым существует этот объект в реальном мире. #dev

Hashtags

Резултати

Намерени 1 подобни публикации

Търсене: #datasearch

当前筛选 #datasearch清除筛选

В рубрике интересных проектов на данныхGeoSeer [1], поисковая система по геоданным, а конкретнее по точкам API по стандартам WFS, WMC, WCS по всему миру. Я писал о нём год назад [2] и в течение года ни раз обращал внимание. Из интересного: 1. 3.5 миллиона проиндексированных георесурсов/геоданных 2. За деньги доступно API для поиска 3. Любопытная статистика по охвату [3] 4. Дают расширенное описание георесурсов с учётом его геохарактеристик (области, атрибутов WFC/WMS и др.) [4] Из особенностей: - более 60%, примерно 2 миллиона записей - это геоданные Германии. Для сравнения в Dateno 4.4 миллиона георесурсов из которых к Германии относятся 1.89, это около 43%. - реестр источников не публикуют, вернее обещают доступность только через API при платном тарифе - фасетного поиска нет, только достаточно простой язык запросов - поскольку индексируются WMS, WFC, WCS и WMTS то охватывает гораздо больше точек подключения в этих стандартах, но не охватывает все остальные геоданные, на порталах открытых данных и в каталогах ArcGIS и не только. Разницу между GeoSeer и Dateno можно описать так: 1. ✅В Dateno есть публичный реестр всех источников, он не скрывается, любой желающий может скачать его как датасет [4]. 2. ✅В Dateno есть много открытой статистики [5]. Она пока мало визуализируется, но с ней можно работать. 3. ✅В Dateno есть быстрый фасетный поиск и фильтрация по странам/территориям и другим критериям 4. ✅Dateno агрегирует геоданные из порталов неохваченных GeoSeer поскольку они не по стандартам OGC. 5. ❌Пока в Dateno нет охвата любых источников геоданным по стандартам OGC 6. ❌Пока в Dateno нет расширенного вывода метаданных для георесурсов В целом пересечение индексов GeoSeer и Dateno в части геоданных около 60-80%. GeoSeer для проекта выглядит как хороший референсный проект для проверки полноты собственной базы. Ссылки: [1] https://www.geoseer.net [2] https://t.me/begtin/5071 [3] https://www.geoseer.net/stats/ [4] https://github.com/commondataio/dataportals-registry/ [5] https://github.com/commondataio/dateno-stats #opendata#datasearch#datasets#geodata#spatial