Comments 257
Спасибо!
Было бы здорово ещё составить список заблуждений о штрих-кодах. Из того, что известно мне: EAN-13 можно хранить в виде числа.
В компьютерах вообще все хранится в виде чисел.
А в чём тут заблуждение? EAN-13 это и есть форма записи 13-значного числа.
В числах ведущие нули не имеют значения, а в штрих-кодах они несут определенную смысловую нагрузку. То есть вместе с такими числами должна храниться/передаваться информация про то, что для сравнения со строкой ШК из нужно преобразовать с ведущими нулями. Лучше хранить сразу строку.
Если длина штрих-кода постоянная (а для EAN-13 она постоянная) — то нет, ведущие нули для сравнения не являются обязательными.
В этом "если" и есть весь смысл. Базы со штрих-кодами могут (а значит, будут) объединяться, в т.ч. с использованием других ШК переменной длины. Длина "эталонного" ШК - соответственно, ведущие нули в нем - важная информация, терять которую нельзя.
Пример: ШК 0780201379623 (EAN-13) может соответствовать одному товару, а 780201379623 (Code-128 или Code-39) - другому.
Вот при объединении и надо задуматься о типах кодов, а при работе исключительно с EAN-13 в этом нет смысла.
Вы тоже когда проектируете приложение с пользователями, начинаете вносить правки в базу/код в поле гендера только тогда, когда к вам придет представитель выбивающийся из булевого значения ?
Не путайте, не когда придёт пользователь, а когда придёт требование такого пользователя поддерживать. Оно может быть как с самого начала (вариант написания чего-то соцсетеподобного), так и отсутствовать в принципе (вариант написания чего-то для госсектора, где пол человека определяется строго по паспорту).
где пол человека определяется строго по паспорту
я бы не стал зарекаться что в паспорте всегда до скончания веков будет булевое значение этого параметра
Не буду спорить. Однако, принимать проектные решения на основе предсказанных законопроектов — дело гиблое.
Вот представьте, что вы завели справочник возможных гендеров, процедуру его редактирования, закостылили (а иначе не получится) преобразования из М/Ж и обратно для интеграции с другими системами, как внутренними, так и СМЭВ, где пола осталось всего два (но по разным причинам), обосновали каким-то чудом все это заказчику — а законодатели взяли и вместо расширения списка полов в паспорте вовсе отменили этот пункт?
Или, что ещё веселее, что будете делать если законодатели введут социальный гендер отдельным пунктом, в дополнение к полу?
однако я видел когда с таким подходом костылят откровенным хардкодом — справочные данные, со словами 'это никогда никогда не поменяется'
в 1С например долгие годы во многих местах так вкостылен был НДС 18% и НДФЛ 13%… причем по началу они делали справочниками, а потом решили не предсказывать законы и тупо нафигачили в коде напрямую
Хардкод тоже нормально, до тех пор пока он изолирован, а не растекается по всей кодовой базе. Если создавать справочники заранее — всегда есть шанс не угадать с параметрами.
Хардкод тоже нормально, до тех пор пока он изолирован, а не растекается по всей кодовой базе.
в большом и активном проекте он почти гарантированно так сделает
Если создавать справочники заранее — всегда есть шанс не угадать с параметрами.
а если их не создавать, будет мешанина, избавление от которой это отдельных поход от реализации бизнеслогики
У меня была одна такая работа где лид был сторонником такого подхода, когда задачу поделенную на 4 спринта, в каждый из них реализовывали полностью и законченно. т.е. если строим 10 этажный дом в 9 этапов, то по окончанию каждого этапа, у дома полноценная крыша и коммуникации рассчитанные строго на указанную в этапе этажность.
т.е. в момент перехода на 10 этаж надо начать проектировать лифт и перекладывать водоснабжение (рассчитанное в прошлых проектах на 9-8-7 ит.п. этажей)
Это был крындец, мы элементарные задачи по 2 недели делали просто потому что 90% рефакторинг, 10% реализация задачи
Если вы настолько не можете уследить за архитектурой, что код растекается по проекту гарантированно — то у вас и справочники в такую же мешанину превратятся, только ещё и медленнее работать будут.
я работал в довольно крупной компании с одним продуктом
там было около 500 только рядовых программистов, несколько сотен репозиториев
там вполне обычная ситуация что с одним репозиторием работает одновременно 2-4 департамента и по 2-3 команды от каждой
И там реально были объективные проблемы с отслеживанием архитектуры и целостности проекта с этим разными способами стараются бороться (в стиле лебедь рак и щука)
но единственный реальный способ хоть както не плодить чертовщину в кодовой базе — по любой задаче думать на 5 шагов вперед.
Помимо разнообразия самих полов в реальной жизни еще появляются кейсы из серии, неизвестно/пока не установлено/временно отсутствует и т.д.
Так что даже если на первый взгляд кажется что там только 2-а возможных значения лучше подстелить соломки и заложить возможность расширить.
EAN13 хранит фиксированное количество чисел - 12 + контрольное значение. Так что выдущие нули мы всегда можем восстановить. Но если речь идёт именно о EAN13. Информацию о том, были у нас ведущие нули или нет мы потеряли ещё на этапе кодирования, остаётся полагаться только на контекст использования
Я один раз столкнулся с тем, что оборудование при обработке отбрасывало ведущие нули. На картах доступа...
И что дальше?
Гемор. Поскольку оборудование было критичным, пришлось подстраиваться под него. Добавили фильтр в раздел "карта с этим номером уже выдана".
Так гемор-то в чём заключался?
Что эту карту это оборудование не воспринимало. Разножопица выходила между присланным из сервера и предъявленным. А поскольку оно проприетарное, внутрь его не залезть. А обязано работать в комплекте с другим оборудованием. Вот и пришлось фильтровать и отбраковывать карты на этапе регистрации их в системе (выдаче работникам).
Ну так это проблема не отбрасывания нулей, а той самой "разножопицы".
Если уж храним в виде числа — то и сравнивать надо как числа, а не как как строки.
Любой идентификатор надо хранить как строка. Но в той иностранной компании, от которой оборудование, думали иначе.
Почему вы считаете, что проблема в строках?
Вот смотрите гипотетическую ситуацию: считыватель считывает число, с сервера приходит число, два числа сравниваются и всё работает. Что не так и зачем обязательно нужны строки?
Меньше возможностей наступить на грабли с приведением типов, разным округлением итд итп.
А округлять-то номера карт зачем?..
Понятно, что не специально. Оно в процессе сериализаций/десериализаций само произойдет где-нибудь.
Скажем в JavaScript/JSON
9007199254740992
и
9007199254740993
в виде чисел могут внезапно оказаться равны
А может, ну не знаю, не использовать сериализаторы с десериализаторами, которые теряют информацию в процессе?
Это может получится, когда ты всю цепочку обработки контролируешь. А когда нет - то где-нибудь в процессе такой вот JSON, в котором поле id в объекте оформили числом, может по дороге и вне твоего контроля испортится.
Всё просто: не надо работать с миддлварью (что софтовой, что хардварной), которая не способна соблюдать спецификации. :)
Если у вас софт (что прикладной, что прошивки) почему-то не умеет адекватно работать с числами, то надо не айдишки менять, а уволить тех, кто писал тот софт, и написать нормальный. Потому что числовые поля в джейсонах к вам будут приходить, даже если это не айдишки.
Всё просто: не надо работать с миддлварью (что софтовой, что хардварной), которая не способна соблюдать спецификации. :)
тоесть уволится и искать другую работу?
обычно опции 'сменить поставщика железок и перевнедрить все, потому что наш программист так сказал' — не бывает.
Я разок писал костыль для управления ДГУ за 100500 млн денег, тупо потому что родная софтина мало того что была написана на VB4 (и это в начале 10х годов), так еще и прошивка самого модуля управления работала через одно место, а документация была в перемешку на китайском и итальянском и слабо отражала реалии.
вы думаете надо было пойти к высшему руководству и потребовать купить пять новых ДГУ который уже полгода в продакшене стоит и успешно функционируют, просто потому что мы мониторинг и контроль автозапуска к нему подключить не можем?
Вот только аккуратно работать с числами компбинация браузера и спецификации JSON несколько не умеет. Я просто не могу иметь в нем длинное число, если внезапно использую таковое в качестве id-а.
Ну так сериализуйте число в строку тогда. Нормальные сериализаторы и десериализаторы это умеют. И не переносите проблемы JavaScript на все остальные языки программирования.
Ну и смысл тогда? Лучше сразу описать поле как строку и этот числовой id = 9007199254740993 так и хранить в виде бинарной строки b' \x00\x00\x00\x00\x00\x01' (оно же ''\x20\x00\x00\x00\x00\x00\x01'' - все равно именно арифметических действий c ним никаких производится не будет.
так это IEEE-754, JS ему следует примерно так же, как все остальные
Хм. Получается javascript на данный момент имеет худший парсер из всех?
В мобильной разработке весь стек что мы используем может парсить/генерировать числа произвольной длинны (в зависимости от указанных типов, но для этого нужна строгая типизация которой в js нет)
Так и есть. Но можно по-болеть за https://github.com/tc39/proposal-json-parse-with-source в надежде что это введут в язык быстрее декораторов.
Поправка - надо хранить как битовые строки(с 'пустой' локалью). А то решить эта самая локаль, что два разных символа в последовательности - это, на самом деле, одно и то же - может быть больно.
куда-то вас не туда занесло. не надо хранить эту информацию, в развитых языках программирования для таких целей служат type alias или подобный механизм, указывающий что данный uint имеет сложную семантику.
число не может быть 13 значным.
13 значным может быть только форма его записи.
Именно поэтому когда говорят о 13-значном числе подразумевают форму записи.
В Будапеште немало улиц с одинаковым названием в разных районах города, поэтому местные всегда указывают о каком они ведут речь.
Не только. В Петербурге Больших проспектов больше одного. :-) Да и в Ярославле есть две улицы 8 марта, одна из которых — не улица 8 марта. И две Угличских, которые совпадают.
У нас в Тюмени есть улица Монтажников и проезд Монтажников. Правда, они находятся рядышком. А ещё есть довольно похожие названия улиц, которые люди иногда путают (улица Вербная и улица Вербовая).
А восхитительные 50 лет октября и 50 лет ВЛКСМ?
Санкт-Петербург - ул. Егорова и ул. Жени Егоровой...
Ну а про две Софийские, две Казанские улицы знает каждый таксист. С Ленской улицей сложнее.
В Красноярске есть улица Телевизорная, и Переулок Телевизорный.
А есть Проспект имени газеты "Красноярский рабочий" (Красраб).
В Волгограде есть улица Ленина, которая пересекается с проспектом Ленина.
В Казани есть улица Лаврентьева перпендикулярная улице... Лаврентьева.
А в Набережных Челнах вообще комплексы, там чёрт ногу сломит.
В Волгограде есть улица Ленина, которая пересекается с проспектом Ленина.
В Одессе была улица Карла Маркса, пересекающаяся с Карла Либхнета и там был известный кабачок «У двух Карлов».
В Петербурге улиц Ленина несколько штук (помимо Петроградской Стороны), потому что город прирастает пригородами (Парголово, Шушары).
И до кучи площадь Ленина, проспект Ленина и Ленинский проспект.
А Большой и Малый проспекты - всегда уточняют, ПС или ВО.
Это как бы входит в адрес.
Так же, как номер Советской или Красноармейской улицы обязательно входит в адрес.
В Петербурге и хороший пример с разными названиями для разных сторон улиц есть - линии Васильевского острова
Но четность номеров срава-слева сохраняется, то есть не может быть 7я линия 35 дом. Дом 35 на 8й линии.
Намного интереснее адресация в Зеленограде. Там нумерация домов сквозная по всему городу, по микрорайонам кажется. Адрес будет типа "Зеленоград, к1509, кв 123". Но и улицы имеются, и иногда по ним тоже дома адресуются, напротив предыдущего адреса будет "Зеленоград, улица Андреевка, 13/2"
А ещё я как-то работал в доме с номером 72/2, а дом 72, где меня показывал Гугол, был в полутора километрах от меня, и там ещё целый посёлок зданий помещался между местом, где я был, и меня предлагал искать думал Гугол.
В Красноярске есть две улицы Ленина.Вы неправы, это одна улица, просто продолжается за железной дорогой. Также продолжаются и ей параллельные Маркса, Бограда, Красной армии.
А ещё я как-то работал в доме с номером 72/2, а дом 72, где меня показывал Гугол, был в полутора километрах от меня, и там ещё целый посёлок зданий помещался между местом, где я был, и меня предлагал искать думал Гугол.
В Казани на улице Бондаренко дом №6 стоит в конце (!) нечетной (!) стороны. Совершенно непонятно, по какой причине дому дали этот адрес.
А самое смешное, что, когда позже застраивали четную сторону улицы, про этот дом благополучно «забыли», и между домами №4 и №8 появился еще один дом №6. Какое-то время на улице было 2 шестых дома, жильцы жаловались, что их постоянно путали (например, скорая приезжала не туда и т.д и т.п.). В итоге, было найдено «гениальное» решение — «новый» дом №6 (который стоял на своем месте) переименовали в 6А, а «старый» остался.
Справедливости ради, улица Угличская в Ярославле всего одна.
По документам — две. Первая — от центра до проспекта Ленина, называется «Угличская». Вторая — от проспекта Ленина до Тещиного языка, по документам — «Углическая». До 1979 (если правильно помню) второй кусок назывался «Угличское шосее» и имел свою нумерацию домов с 1 (от проспекта). Потом Тещин язык упал, и в Углич стали ездить другой дорогой, в горисполкоме решили шоссе переименовать в улицу. Но какая-то секретарша грамоте обучена не была, поэтому в приказе появилась «Углическая» с номерами домов от 21/46 и 24/46.
Это разные проспекты, по названиям. Большой проспект ВО и большой проспект Петроградской стороны. А вот то что в пределах одного Петербурга две Казанские улицы (одна в центре, у Казанского собора, вторая на Охте), это куда как хуже.
Это вы ещё про калифорнийскую El Camino Real не знали - она просто насквозь проходит через много-много смежных городов - то есть по ней можно выехать из одного города и тут же въехать в другой, там это тоже будет El Camino Real. Причем при пересечении границ городов у нее еще и четная/нечетная стороны меняются местами.
2-я продольная проходит через весь город и имеет на совоем пути разные улицы (по разному называется по всей длине).
ул. им. Комиссара Хорошева. Она «проходит» через бывшую воинскую часть и продолжается «с другой стороны» района. Иногда людей вводит в ступор)
В Нижнем Новгороде 2 Пролетарских улицы, в разных частях города. Причем на одной дома с 1 по 18, а на второй... всего один дом с номером 53. Интересно, что этот дом стоит напротив дома 52 и рядом с домом 55 по улице Комсомольской )
А вот улицам Цветочным, которых тоже 2, повезло меньше, у них нумерация не сквозная: на одной дома с 1 по 13, в т.ч. дом 9, а на другой только дом 9
В Будапеште немало улиц с одинаковым названием в разных районах города
В Бухаресте такие разные районы называются «сектор».
Указание номера сектора — обязательное требование.
Ульяновская промзона:
1й проезд инженерный
2й проезд инженерный...
...
и так вплоть до пятидесятого
В Балашихе после объединения с Железнодорожным и другими населёнными пунктами стало несколько Лесных улиц. Приходится указывать «Балашиха -> микрорайон (бывший населённый пункт) -> улица».
Справедливости ради одну из Лесных переименовали.
Если кто-то хочет серьезно разобраться с адресами могу порекомендовать почитать:
Сайты Universal Postal Union: https://www.upu.int/en/Postal-Solutions/Programmes-Services/Addressing-Solutions
И ISO: https://www.iso.org/obp/ui/#iso:std:iso:19160:-4:ed-1:v1:en
Начнем с программистского занудства.
У программистов нет заблуждений об адресах (в заголовке именно адреса без формализации) .
Так вот. Касательно адресации. Каждая ячейка памяти имеет свой уникальный адрес. Тут можно заблудиться, если, кроме птичьих яп ничего не изучал.
что до почтовых адресов, то это к постановщикам.
Да ладно. Есть достаточно популярное заблуждение, что NULL - невалидный адрес)
NULL и нулевой адрес - это разные адреса
Null - это макрос в С, либо константа в С++ со значением ноль.
nullptr - это не null
Мы же не только про C, правда? :)
Если присвоить указателю что NULL, что nullptr — получится одно и то же. В обоих случаях будет пустой указатель, который не то же самое что указатель на нулевой адрес.
Просто договорились, что в адресном пространстве прикладной программы отсутствует зона, включающая 0. Поэтому 0 можно использовать как сигнальное значение.
Но на экзотических платформах (несовместимых со стандартными С / С++) или при низкоуровневом программировании - 0 вполне себе рядовой адрес.
Для каких-то процессоров там страница с прерываниями, для каких-то - адрес страницы...
Для экзотики может быть что-нибудь вида
#define NULL ((void*)0xFFF0) /* заведомо битый адрес на данной платформе */
и запрет считать, что
(!p) == (p == NULL)
Или же NULL остаётся нулём, но разыменование нуля перестают запрещать (из неопределённого поведения оно превращается в платформо-специфичное).
В расчёте на то, что в таблицу прерываний люди не постоянно лазают, и во всех остальных случаях нуль остаётся сигнальным значением.
Насколько я знаю, на экзотических платформах "адрес" нулевой указателя может быть равен какому-нибудь -1, но при этом ему всё равно будет соответствовать константа NULL равная 0.
Проверка !p
всегда проверяет именно на нулевой указатель, и она всегда эквивалентна p == NULL
. Даже если (intptr_t)(void*)NULL == -1
.
А, да? А покажете указатель на нулевой адрес?
У программистов нет заблуждений об адресах
Я встречал следующее: если у нас есть адрес первого из 4-х подряд идущих байтов, мы можем прочитать их как 32-разрядный int
Каждая ячейка памяти имеет свой уникальный адрес.
Как ни забавно, это уже заблуждение. У одной ячейки памяти вполне может быть несколько различных адресов. Из того, что помню навскидку — на NES/Famicom/Dendy видеопамять занимает четыре логических страницы, но две из них чаще всего дублируют две другие. Либо можно порассуждать про виртуальную память в ОС — там тоже может быть неоднозначный маппинг, особенно для разных процессов.
Если честно, про заблуждения программистов насчет указателей и адресов памяти можно прям отдельную статью писать.
У кого-то проблемы с логикой. Если вы утверждаете, что высказывание "Каждая ячейка памяти имеет свой уникальный адрес" является заблуждением, приведите пожалуйста пример архитектуры, в которой адреса ячеек памяти не уникальны.
Хорошо, давайте включим режим зануд. Что такое "адреса ячеек памяти"?
Если это адреса уровня ISA, то возьмем 8086 и его сегментацию памяти как очевидный пример. Сегмент 00h оффсет 10h — равнозначно сегменту 01h, оффсету 00h.
Если хотите более низкий уровень — один и тот же 1234h для разных ядер процессора указывают в разные кеши, хотя в нижележащей оперативной памяти это один и тот же адрес.
Или вспомним A20 gate, которым можно было во время выполнения (!) переключить извне процессора, будут ли для адресной шины эквивалентны 0x001000123
и 0x000000123
.
Вы намеренно путаете понятия абсолютной и относительной адресации.
В текущей политической ситуации есть хороший пример. Строй, расчёт на первый-второй. По вашему, будет толпа первых и толпа вторых. По-моему, будет толпа чётных и нечётных, а первый только один, стоящий в начале строя.
Ещё раз. Где, когда в одном контексте, адресном пространстве и т.д.один адрес укажет на две разные ячейки памяти?
Мапперы из того же NES/Famicom/Dendy не подходят? Один и тот же адрес хранит разную информацию в зависимости от режима маппера.
Ну вот вспомните сегментную адресацию реального режима x86.
Адреса 0000:0010 и 0001:0000 указывают на одну и ту же ячейку памяти.
Я думаю, что коллега хотел сказать именно то, что он сказал - т.е. "адреса ячеек памяти уникальны". Адреса 0000:0010 и 0001:0000 уникальны, хотя указывают на одну и ту же ячейку памяти. Неуникальными их можно было бы считать, если бы было два адреса 0001:0000, указывающих на разные ячейки памяти.
Перечитал тот комментарий три раза, и так и не получилось прочитать его так как прочитали вы.
если бы было два адреса 0001:0000, указывающих на разные ячейки памяти
- в разных процессах этот адрес обычно указывает на разные физические ячейки. Да и в одном этот адрес может внезапно начать ссылаться на своп.
Неуникальными их можно было бы считать, если бы было два адреса 0001:0000, указывающих на разные ячейки памяти.
Да легко. Та же видеопамять, когда 256 КБ VGA отображаются в 64 КБ сегмент.
Каждая ячейка памяти имеет свой уникальный адрес
relocation table позволяет назначить множество разных адресов одному физическому, или наоборот (если смотреть из разных процессов). У микроконтроллеров тоже бывают приколы с адресацией.
Тут можно заблудиться, если, кроме птичьих яп ничего не изучал.
Что же тогда помешало заблудиться вам?
Откройте для себя виды адресации.
В сегментной модели - одна и та же ячейка может оказаться в разных сегментах с разными смещениями.
В виртуальной памяти всё ещё веселее.
Плоская модель - это над программистами прикладного уровня сжалились, запихали всё в один большой сегмент, оставив все тонкости реализации глубоко под капотом операционной системы и даже аппаратуры процессора.
Каждая ячейка памяти имеет свой уникальный адрес.
ZX Spectrum 128 (и почти все СНГшные клоны) а также Ямаха MSX и Алеста (Омская) передают вам привет. (потому что у Z80 64Kb адресуемой памяти а у всех этих железок памяти больше, иногда — существественно больше. Используется либо спецпорт который переключает страницы либо принудительное переключение когда исполняется код в определенных адресах(TR DOS на спектрумах например так подключает свое ПЗУ).
А уж если современные процессоры вспомнить то там вообще ужас.
Что-то да, сколько тут живу, ни разу таких индексов не видел и не использовал, везде шестизначные.
Новые индексы сейчас пишут прямо на указателях.
И да, новые индексы завязаны на "Адресный регистр", то есть у каждого строения свой уникальный индекс.
Таблички что вешаются на стены домов
Надо просто каждому строению назначить префикс /64. И задача поиска пути доставки корреспонденции сведется к тривиальной :)
А почтовые адреса сохранить как исторический артефакт, не имеющий технической ценности.
Добро пожаловать в КЛАДР/ФИАС/ГАР/что-там-еще. :-)
У них всех одна проблема - они пытаются сделать структуру в системе, которая сложнее их структуры. И потом обязательно находятся исключения, которые в их структуру не ложатся.
Для машиночитаемых ресурсов достаточно сквозной уникальной нумерации без структурирования.
Мне чисто интуитивно кажется, что маршрутизация до "строения" правильнее, т.е. /64 на строение и еще остается /64 на объекты внутри строения.
А хэш даст нам, конечно, уникальные идентификаторы, но маршрутизация до них никак не простроена.
Да и хэш - это хэш чего-то. И если мы хотим считать хэш от почтового адреса - то одинаковые по написанию адреса дадут нам одинаковый хэш, а стоит только отправителю написать адрес получателя в другом стиле (например, добавив пробел в каком-то условно подходящем месте) - и отправление не будет доставлено никогда.
Так что идею с хэшем нужно дорабатывать.
Покажите мне здание, в котором более чем 2^64 квартир - и я тут же соглашусь с вашим аргументом.
Проблема с нумерацией домов, которую вы описываете - она про то, что дома на улице должны быть пронумерованы последовательно. А в обсуждаемой системе такого требования нет, даже самые маньяки-сисадмины вряд ли пытаются выдавать IP-адреса последовательно компьютерам покабинетно "слева направо" :)
Никто не будет ожидать, что дом с адресом 4030:3ffa:0987:0110:: будет находиться между домами с адресами 4030:3ffa:0987:0109:: и 4030:3ffa:0987:0111::
Да, и если я ничего не путаю (сделав быстренько man), как раз UUIDv4 - это не хэш, а просто ГСПЧ на 122 бита.
А там, где используется хэш (т.е. MD5 в v3 и SHA-1 в v5) - там это как раз хэш неймспейса, т.е. именно что хэш "чего-то".
Дать каждой квартире sha1-хеш. И никаких проблем. На конверт наносить QR-кодом, на каждую дверь наклеить стикер
Вспомнилось «А Сова им в ответ: "Мое дело — стратегия! Вся эта ваша х&№ня с тактикой меня не интересует!»…
Стикер на каждую дверь… смешно. Почту думаете задействовать? Сотни тысяч «стикероносцев» с толстой сумкой на ремне. И это на постоянной основе, так как встаёт вопрос долговечности, вандализма и т.д.
И ещё… Как наносить QR-код на конверт - вообще не вопрос, да? Вот сидит Захаровна и пишет письмо Петровне. А внучок рядом на принтере распечатывает код… такая картинка рисовалась?
При небольшой емкости QR - можно печатать на конвертах пустой шаблон и просить отправителей раскрашивать нужные ячейки :) (шучу, если что, а то кто-то может серьезно воспринять).
В этом плане, конечно, ipv6 адрес удобнее, потому что эти 8 групп по 4 шестнадцатеричных символа заполнять несложно, напечатать 32 пустых поля по принципу существующих сейчас полей индекса на конверте.
Ну совершенно не удобней. И долго и устойчивость к ошибкам никакая
Монголы не зря what3words выбрали, я думаю. Написать три слова - гораздо лучше, чем эти циферки выводить.
В общем, конечно, верно.
Но заставлять писать именно IP адрес в том виде, как оно обычно пишется - садизм и чревато ошибками. Нужно более человеко-дружественный способ написания, учитывающий то, что это все человеком писаться будет.
К тому же полный комплект битов совершенно излишен. Нужно зарезервировать какой-нибудь блок под эти цели (как с какими-то непонятными хэшами сделали) и работать только с изменяемой частью.
Ну по сути да, с идеей выделения какого-то блока полностью согласен. Главное - не промахнуться с емкостью, чтобы потом не оказалось, что "ой, не влезли" (как это, например, произошло с кодами регионов в автомобильных номерах).
А так-то - и выделение подсетей по странам и далее по городам, соответственно, тоже очень логично и правильно было бы. Для возможности суммаризации.
По странам получим проблему.
Вот у нас ГДР становится частью ФРГ и что — ВСЕ адреса в ГДР менять на полностью новые?
(пример с ГДР — потому что тут вроде как никто из стран не был против, так то можно взять и более новые случаи, когда госпринадлежность менялась).
Ну это как раз не проблема - никто же не говорит, что у страны обязан быть только один префикс. Вот в случае разделения на Чехию и Словакию - тут да, логично в одной из стран префикс менять, но он и сейчас меняется. А ввести новый префикс, сохранив все остальные части адреса - нет технической сложности.
А как быть в чуть более сложных случаях?
Неполноее признание например.
Ну там есть у нас Тайвань, КНР считает что это их территория и требует признавать только так (One China Policy), Тайвань думает иначе. значительная часть стран по факту признает Тайвань независимым но играют в игры например для послов.
Какие тут нужны префиксы и чьи?
А если у нас с призванием все хуже? Северный Кипр, Приднестровье, Нагорный Карабах.
А если новой страны то нет, но вот переход территории к другой — НЕ признается немалым числом стран но кем то признается все же то кто и как должен поменять префиксы?
Все это — вопросы и политики тоже а не чисто технические вопросы.
Как я и говорил, нет никакой необходимости в жесткой привязке к префиксам. В целом адреса можно выдавать вообще сквозным списком по вселенной и два соседних адреса могут быть в РФ и в США, просто размер таблицы маршрутизации из-за этого вырастет.
Но поскольку мы имеем дело не с сетевым оборудованием с его ограничениями по производительности процессора и объемам памяти, а с современными вычислительными системами (даже какой-нибудь среднего класса макбук пересчитает таблицу в разумное время), да и пересчет этой таблицы делать нужно по сути раз в сутки, а может и реже - нет в этом сложной технической проблемы.
Т.е. описанные вами единичные случаи нарушения возможной суммаризации не сломают вообще ничего.
Прелесть кейса как раз в создании технической адресации, логику которой человеку и знать не надо, он просто использует эти идентификаторы для указания "куда должно быть доставлено отправление".
Политические же игры в присваивание префиксов никак не влияют на работоспособность системы, от слова "совсем".
Сама идея, что можно взять и перевести всех(!) на какую-то единую систему адресации это глупость и показатель некоторой социальной неразвитости....
Перевести же некоторую ограниченную группу (если она согласна) можно на любую более-менее непротиворечивую систему, но это лишь прибавит в зоопарк адресаций еще одну. Да-да, здесь та самая картинка про стандарты...
Попробуйте посмотреть на ваш мобильный телефон, может немного открыть вам глаза.
А что там такое с мобильным телефоном? IMEI? SIM-ID? или просто номер?
Так именно что номер никак не прибит к физическому объекту. Более того, без проблем может быть изменен.
Далее, нумерация ITU-T не заменила собой какую-либо существующую систему адресации а ввела принципиально новую. Придет время ее менять - будет новый зоопарк.
Просто номер - который никак не прибит к физическому объекту и без проблем может быть изменен - тем не менее однозначно "здесь и сейчас" делает вас достижимым в единой для всего человечества системе адресации.
Мало того, и сообщения свои вы пишете с использованием IP-адреса, который тоже обеспечивает передачу пакетов вам с использованием единой для всего человечества системы адресации.
Почему вы считаете, что обсуждаемая схема почтовой адресации требует прибивания к физическим объектам и не подразумевает изменений (с разумными процедурами обслуживания этих изменений) - я не очень понимаю, выше нигде подобных тезисов не заявлялось.
Потому, что в почтовой системе адресуется физический объект. Люди предпочитают именовать свои объекты разными способами, порой несколькими одновременно и это совершенно нормально. Это не техническая проблема, точнее вообще не проблема и не требует решения. Это социальный процесс.
Единая для всего человечства почтовая адресация - это как единый для всего человечества алфавит (или язык). Утопия. Будет любопытно посмотреть как вы будете убеждать амишей (например) использовать новую адресацию.
А, так вы просто не поняли, о чём это всё.
Я не призывал отказаться от использования любимых чьему-то сердцу моделей "улица Кукушкина, дом 5 корпус Б2 строение 1/11".
Я призывал ввести однозначную схему адресации, обеспечивающую уникальное обозначение адресов для доставки корреспонденции. И специально подчеркнул, что обычные адреса при этом остаются как не имеющий технической ценности артефакт. Социальную ценность они могут сохранять сколько угодно - как шаманские пляски у племен до сих пор сохранились, хотя для хорошего урожая они уже используют полив и удобрения, а не молебны и вызов духов.
И безусловно в течение какого-то переходного периода для отправлений могут использоваться обе системы - у почты просто появится база соответствия одного адреса другому, которая со временем, через поколение, отомрет.
Не понимаю, чем адреса строений принципиально отличаются от номеров телефонов - что вот телефоны мы запустили, а строения - утопия. Вы пишете "потому что в почтовой системе адресуется физический объект" - так и в телефонии адресуется физический объект, мобильный телефон. Раскройте мысль.
А те же амиши не используют компьютеров и телефонов, но почту до их почтового отделения развозят не амиши, а самая настоящая USPS (сам видел), использующая и автомобили, и компьютеры, и телефоны. А дальше амиши сами забирают свои отправления, пользуясь гужевой тягой и самокатами. Поэтому их и убеждать не надо.
Хотя подозреваю, что они как раз легко перейдут на новую схему адресации. Проведя в их обществе несколько дней, я понял, что они не цивилизации сторонятся, а зависимости от цивилизации. Например, они не используют сети электропитания, которые "электричество извне" - но с удовольствием используют аккумуляторные батареи. Поэтому у них есть светодиодные системы освещения, работающие от аккумуляторов для строительного инструмента. Так что практичные, полезные и не разрушающие их социальный уклад элементы они воспринимают легко.
Любая почтовая адресация имеет смысл до тех пор, пока ею пользуются. Чем больше людей пользуется - тем больше смысл. Ваша "однозначная" адресация будет либо перегружена деталями, что бы покрыть все use cases, либо настолько гибка, что сведется к существующей (строки в свободном формате).
Мало того, и сообщения свои вы пишете с использованием IP-адреса, который тоже обеспечивает передачу пакетов вам с использованием единой для всего человечества системы адресации.
Один только айпи-адрес не обеспечивает ни хрена (вплоть до однозначности получателя), покуда существуют локальные сети, несогласованно выдающие локальные айпи-адреса внутри себя. А это будет происходить всегда, потому что причин этому больше, чем просто "айпиv4 мало существует".
Давайте дружно напишем чуваку, который сидит на 192.168.1.1 и потом найдём у этого одного чувака наши сообщения. :)
схема почтовой адресации требует прибивания к физическим объектам
Потому что почтовая адресация предназначена для поиска физического объекта, к которому надо притарабанить доставляемый почтой другой физический объект (или извещение о том, что его где-то можно забрать). Так же, как системы сетевой адресации нужны для того, чтобы найти определённый узел в сети.
По первому вопросу - ровно так же, как мы обеспечиваем привязку вас к маршрутизируемому адресу оператора связи, мы и обеспечиваем привязку вас как получателя отправления к адресу дома. А внутри дома мы имеем дополнительное пространство адресации в 64 бита, которое идентифицирует уже вашу квартиру как получателя.
(Так-то, конечно, органы вас с вашим серым 192.168.1.1 тоже прекрасно идентифицируют по дополнительным признакам, но это уже совсем другая история).
По второму вопросу - продолжаю не понимать разницу с телефонным номером. Он тоже предназначен для поиска физического объекта в виде телефонного аппарата, в который нужно сначала притарабанить сигнализацию, а потом голосовой трафик.
Более того, без проблем может быть изменен.
Это не совсем так. То что он легко меняется технически, ничего особенно не означает. У того, кто изменил свой номер, появляется порядочное количество неудобств и проблем разной степени крупности.
Да, разумеется. Но с этими проблемами можно смириться, их порешать и таки поменять свой номер. Любые изменения требуют их администрирования и смена номера - не исключение.
Это в Китае, отчасти в России (и не только там конечно) - там да, ваша личность прибита к номеру телефона. Но это вопрос выбора (менее или более добровольного) соответствующих обществ. Опять же, это не проблема по вине технологий. Общества выбрали такой путь их использования. К примеру, в Бельгии, личность в цифровом смысле прибита к id карте. При аутентификации (на госсайте, в банке, ...) можно указать любой номер телефона для запроса параметров аутентификации. На этом телефоне должно стоять специальное приложение 2FA, аккант в котором можно завести только с id картой. Таким образом, различным организациям нет нужды хранить мой номер телефона для идентификации моей личности. Какой укажу при логине - туда запрос и придет.
Преимущество существующей системы в том, что ты можешь просто знать адрес и имя друга и отправить ему письмо.
Или, как было в примере, в статье - ты можешь отправить письмо просто в примерную точку планеты, где почтальоны уже сами справятся.
В случае с подобием ip адреса - люди просто получат кучу гемора с доставкой. Будут дома, которым по какой-то причине не присвоили адрес, которые не подпадают под логику присваивания адресов. Будут постоянные проблемы для "пользователей" с тем, какой почтовый адрес по адресу друга.
Кроме того - запоминать слова и ассоциировать их с местом - гораздо легче, чем номера.
Например, мой загородный дом в одних документах записан как 1, а в других - как 1А.
А для квартиры в крупном городе некоторые поля ввода адреса не разрешают указать мой дом без корпуса. Есть дома номер 00к1, 00к2. Но 00к1 не равнозначен 00, которым и является мой дом. Тупая машина считает, что раз у остальных домов 00 есть корпус, то и у моего должен быть.
В случае с подобием ip адреса - люди просто получат кучу гемора с доставкой. Будут дома, которым по какой-то причине не присвоили адрес, которые не подпадают под логику присваивания адресов.
Это если адреса именно назначать бюрократически. Если почтовый адрес - это производная геопозиционирования, как в what3words, то такого не будет по построению системы.
Вот сидит Захаровна и пишет письмо Петровне. А внучок рядом
А давайте уже признаемся себе, что аналоговая почта, как средство обмена информацией, мертва? Люди за 80 пользуются мессенджерами. Внучок, а то и правнук может и помогает с установкой, но на этом всё.
Почта служит для обмена материальными артефактами. Посылают если не буквально банку с солеными грибами, то открытку-письмо из интересной локации, чтобы на холодильник повесить.
Захаровна тоже человек, и может захотеть Петровне послать красивую открытку из тура по Монголии, Грузии или Казахстану. Но это не очень частое событие, найдется кому помочь с QR-кодом.
А давайте уже признаемся себе, что аналоговая почта, как средство обмена информацией, мертва?
<Смеется по-немецки-бюрократически>
Но это не очень частое событие, найдется кому помочь с QR-кодом.
Продавец не особо говорит на доступных Захаровне языках. Хэв фан.
А давайте уже признаемся себе, что аналоговая почта, как средство обмена информацией, мертва?
для обмена юридически-незначимой информации, да
в остальных случаях еще нет и еще на мноооого много лет нет.
Как узнать или найти, какой 'нужный', если он в виде QR кода? Всякие данные для автоматизации логистики можно печатать и определять как угодно, но вот адрес проживания любимого дедушки должен быть пригоден и для диктовки и для записи в блокнот и для запоминания.
А если продолжать пользоваться 'в поселке X N-ской губерни, третий дом второй улицы от реки', то смысла во всем этом?
Запоминал - нет, а вот диктовать и писать приходится частенько. Потому что. Да и адрес - тоже, собственно, на удивительно большом количестве бумажек требуется. Это только личный адрес, а их (адресов) довольно много бывает, особенно если вспомнить вообще всю юридическую машину. Оно же используется не только в контексте человек-человек, но и много еще где. Поэтому человекочитаемость и устойчивость к искажениям - нужна обязательно.
Надо просто каждому строению назначить префикс /64. И задача поиска пути доставки корреспонденции сведется к тривиальной :)
Построим виртуальные (в смысле, не соответствующие никакой сети электросвязи) графы связанности и запустим по ним алгоритмы маршрутизации IP сетей?
Ну да, очень тривиально. Вот как представлю, что физическая почта начнет через BGP маршрутизироваться...
Да, а что тут нетривиального? Наложить логистический граф на базу адресов почтовых отделений и запустить над этим BGP любым уже готовым ПО - это очень простая и в абсолютно большей своей части уже решенная задача.
С этим даже телефонисты почему-то не справились. Хотя казалось бы - строй точно так же таблицу маршрутизации телефонных номеров и отправляй звонки, куда надо. Но нет - так оно, насколько я знаю, не работает.
У телефонистов (как и у многих других) основная проблема в сохранении обратной совместимости, чтобы это всё работало на всём том оборудовании, из которого уже построена сеть.
Почтовые же адреса - штука абсолютно виртуальная, обрабатываемая по сути исключительно программно (разве что сканеры штрих-кодов уже распространились, поэтому с ними придется обеспечивать совместимость), так что не вижу препятствий строить практически любые наложенные схемы адресации без ущерба для сервиса.
Ну как бы у почты тоже немало железа есть. В котором, я подозреваю, тоже софт просто так не меняется, как и у телефонистов.
А документ о правах на недвижимость приравнять к ROA, чтобы адреса могли получить и (суб)арендаторы, например, отдельных комнат?
Почему бы каждому строению просто не назначить его географические координаты, как сделали посольства США и Британии в России?
По сути можно назначать любой уникальный идентификатор. Для ip-адресов просто уже существует адекватный математический аппарат и программное обеспечение, позволяющие выстроить всю логистику без изобретения новых велосипедов и расширять адресацию внутри строения. Для других идентификаторов это придется выстраивать заново и совершать марафон по граблям.
прикольный факт, а где про это почитать? Я наивно загуглил - там обычный адрес с улицей и номером...
ТС, а почему в качестве примера д. Ескино была названа?) Таких названий не много, а я бывал в одной в детстве, рядом с Угличем..
По переезду в Германию сделал себе счет в vivid. И захотел я себе заказать карточку (отделений у них нет, так что карточку они присылают почтой). У меня не получилось - у них в форме адреса была валидация: имя улицы должно быть не более 22 символов, а у меня название улицы было в 26 символов. При этом каких-то очевидных вещей для сокращения (типа straße -> str) тоже не было. До сих пор не пойму как же они дошли до такой странной валидации.
Например, в Устьянском районе Архангельской области деревня Бережная встречается три раза — без индекса здесь никак.
Слабаки.
В Шатурском районе Московской области, который теперь не район, а городской округ, было три деревни с названием Митинская. Почтовые индексы, как и правила русского языка их не спасли от идиотизма чиновников и утвердивших эти изменения депутатов. Теперь там есть деревня Митинская, село Митинская и посёлок Митинская.
Для Архангельской области это не рекорд. Например, в Холмогорском районе есть 9 деревень с названием Погост (и еще 8 Погостов в других районах области). Причем, из этих 9 есть 2 пары, которые находятся в одном и том же сельском поселении.
дом −1 по улице Прайори-роуд в городе Ньюбери в графстве Беркшир Англии.
Unusually Named Blog приводит 65 британских адресов с дробным номером дома.
в городе Электростали на проспекте Ленина находятся два разных дома 4 и 04
Теперь можно сказать, что я видел всё ?
Теперь понятно почему в ФИАС начали возится с guid'ами.
В Росии, например, есть деревня Вагина в Тюменской области.
Фамилия Ва́гина довольно распространена ?
Я когда в детстве смотрел американские фильмы, еще на кассете, удивлялся, почему часто вместе с городом называли штат. Например: "Майами, штат Флорида". А оказалось, в США много городов с одинаковым названием, поэтому, чтобы не путать какой город имеется ввиду, добавляют название федерального штата.
Повторяющиеся топонимы это глобальное явление, тем более в крупнейших странах. Мало того, например в одной только Якутии чуть ли не в каждом районе имеется свой Хомустах, а то и несколько, тогда они становятся номерными. Но в Мегино-Кангаласском районе имеются два села по имени Суола без номеров и отдалённые друг от друга. Чтобы не путать, какая Суола имеется ввиду, добавляют название наслега, в котором она находится, они уже разные. Но официально, по картам, обе деревни называются просто Суола. Есть много похожих топонимов, например Улах-Ан и Улахан-Ан в одном и том же районе по одной и той трассе в ~100 км друг от друга. В США скорее всего аналогично.
А уж сколько в России, например, деревень с названием «Иваново»… причём, зачастую они находятся в одной области, в таком случае их приходится различать по району.
Александровка! Жуковский район Калужской области — 2 штуки, Курский район Курской области — 2 штуки, городской округ Подольск Московской области — 2 штуки (правда, 1 деревня и 1 посёлок, но названия то одинаковые), Шацкий район Рязанской области — 2 штуки,... И это я только начало списка перечислил.
А ещё есть Екатериновка, Советский район Курской области — 3 штуки!
Например, некоторые
британцы свято уверены, что для доставки достаточно указать номер дома и
почтовый индекс, поскольку семь знаков указывают на конкретную улицу
или вообще получателя.
Не обязательно семь. Может быть шесть или пять.
Кстати, я как-то жил в многоэтажном доме в Лондоне, у которого часть этажей имела один индекс, а часть — другой.
Здания особой значимости имеют название, по которому их адресуют
Не только обычной значимости, но и самые обычные дома. Это вполне обычная ситуация в Великобритании, когда у обычного жилого дома нет номера, но есть название.
Дому не нужно быть каким-то историческим. Это может быть и построенная несколько лет многоэтажка.
Бывает, что у дома есть и имя, и номер. Иногда это вносит дополнительную путаницу.
Опечатка в 9 пункте в названии страны
Случается, что у одной и той же дороги два названия: для движения в ту и другую сторону.Те, кто бывали в Петербурге, тоже встречали такое. На Васильевском острове множество улиц, которые именуются просто линиями по порядку.
В одну сторону, например, Вторая линия. В противоположную — Третья. И живи с этим как хочешь. Ну хоть нулевой линии нет, она называется Кадетской.
Долго жил/работал в Индии. Там с адресами вообще труба :)
И мы тоже пытались запрограммировать адресацию... потом оставили
"1200 символов свободного текста (можно прикрепить картинку),
Улица (не обязат),
Город (не обязат),
Область(не обязат),
Штат, Страна,
индекс (не обязат),
ТЕЛЕФОН /имя/,
ТЕЛЕФОН2 /имя/(не обязат),
ТЕЛЕФОН3 /имя/(не обязат)".
+ попытка для каждой страны сделать свои поля выбора /поиска адреса.
Так как большинство адресов, за редкими исключениями, произошли от того, что ВСЕ знают свою деревню и всегда найдётся тот, кто укажет куда идти.
"Goveia Hillside near the Church, Chapora Road, Siolim, Goa" ...
Улиц в сторону Чапоры - 4 штуки (или 5?) , 2 из них идут от одной церкви, 2 - от двух других :). а "рядом с церковью" оказывается - примерно 4км.
А ещё "вишенкой" - GPS во многих регионах безбожно глючит. По GPSу во многие места не доехать. То есть - указывая полную GPS локацию на карте, на местности, пытаясь добраться по этим координатам, можете обнаружить себя ээ... ну километрах в 5и от цели. Связано это с геоаномалями, большим количеством железа в горах/холмах, недостаточным количеством телефонных вышек.
То есть — указывая полную GPS локацию на карте, на местности, пытаясь добраться по этим координатам, можете обнаружить себя ээ… ну километрах в 5и от цели. Связано это с геоаномалями, большим количеством железа в горах/холмах, недостаточным количеством телефонных вышек.
GPS принимает сигналы со спутников и расчитывает местоположение по времени прохождения этого сигнала железо в горах никак не влияет на этот процесс. Как и телефонные вышки. В самолете их нет, телефон в авиарежиме, а GPS прекрасно работает с тосностью в метры. Вы бы почитпли чего по теме...
Спасибо за ликбез по GPS,
лет 20 назад я участвовал в проекте для Verizon, как раз рассчёт точного местоположения объекта, используя данные GPS-A + многотерабайтных данных, приходящих с ретрансляционных вышек.
Очень занимательно :).
Мобильные телефоны используют упрощённый протокол, высчитывая локацию НЕ точно, и, без поправок, выдаваемых наземными станциями, могут быть места, ПЛОХО триангулируемые (с разбросом до +/- 5км).
Вы бы почитали чего по теме... :)
Еще раз, телефон в авиарежиме показывает точность десятки метров, ни о каких километрах там речи не идет. Вы бы почитали что-нибудь современное по теме. Хорошо хоть по железу в холмах у вас возражений нет...
Я могу вам дать несколько локаций, где разброс между тем, что ЛЮБОЙ современный телефон утверждает и реальными данными - от километра до 3.5. Не думаю, что за 3.5 года, что меня там не проезжало, там что-либо изменилось.
Таких мест я находил десятки, не только в Индии.
Обычно, зависело от
1) гористости местности
2) малого количество ретрансляционных станций,
3) в большинстве мест где я обнаруживал такие триангуляционные феномены, пересечённой местности с огромным количеством ферросплавов (красные, до черноты, холмы и т.п)....
4) а также, (по утверждениям некоторых других специалистов), геомагнитными аномалиями.
/что я и написал в своём 1м комментарии/
Я могу быть 100 раз не прав, но попробуйте объяснить сами, причину таких сущестывенных аномалий триангуляции.
/в последнем месте, где мы жили, приходилось рисовать карту и объяснять как доехать, в том числе, говоря, чтобы не обращали внимания на GPS, иначе люди уезжали "за гору", по прямой, километрах в 2-3/
Вы уж определитесь, вы говорите про GPS или про геолокацию в телефоне? Потому что это две гигантские разницы. Геолокация в смартфоне в общем случае предоставляется внутренним геопровайдером Android, который "внутри" себя собирает данные абсолютно от всего - от сот, от вайфая, от чипов навигации на плате. И "по телефону" можно уехать на несколько километров в сторону безо всяких "глюков", если человек банально не способен прочитать карту на экране. Ну или если карта не подробнее мазни мелками на холодильнике или не соответствует местности вообще - например, показывает дорогу там, где ее нет и не было, истории про уехавших в чистое поле и замерзших/угоревших там насмерть не редкость. Да и без этого геопровайдер будет показывать положение "примерно где-то там", если он не видит спутников в данный момент и не отдает им приоритет. За примером далеко ходить не надо, я сам это видел не далее как позавчера на подземной парковке ТРК - меня сносило куда-то в сторону на 300 метров к ближайшей сотовой вышке, пока я оттуда не выехал. Это никак не относится к GPS - нельзя обвинять GPS в том, что он тупо не используется, неважно, по причинам жутких помех, экранирования, глушения или чего-то еще. Если же GPS используется и активен (спутники видны и с них получен сигнал) - все рассуждения о "погрешности в 5 километров" надо адресовывать не ему, а всем вышележащим слоям, включая ведроид, поставщика карт, навигационную софтину и прокладку между рулем и сиденьем, которая смотрит на экран. Потому что как радиофизик и как программист я в принципе не могу представить такого естественного искажения сигнала от нескольких спутников, которое будет точно, стабильно смещать тебя по координатам на несколько километров и не будет при этом отсеяно как недостаточно достоверный сигнал или просто не потонет в шумах.
вот с этим комментарием я наконец-то 100%но соглашусь.
Я под термином "GPS" имел ввиду А-GPS + весь набор упрощённого позиционирования на телефонах. И прекрасно осознавая, что реальный GPS навигатор, даже тот же Garmin, скорее всего будет точнее.
Я изначально подходил с УТИЛИТАРНОЙ позиции - как почтальон будет искать адрес без применения каких-либо спецсредств.
И проблема в утилитарном, common use применении подручных средств, когда есть GPS coords (как, к примеру у посольств Штатов и Британии в МСК), но найти реальный адрес не просто.
Также, в утилитарном применении, А-GPS используется даже на сельхоз машинах, при обработке полей. Хотя именно там, полезнее бы использовать чистые спутниковые данные.
/даже не беря в рассмотрение тупость водителей.
В четверг мы ездили по работе неполалёку от Вифлиема, он же Бейт-Лехем, там тоже был участок дороги, на котором мы, когда поехали вперёд, навигатор указывал, что мы едем назад. И так мы усвистали метров на 300, пока точка локации не прыгнула на нормальное место. То же - холмы, мало ретрансляторов. И, если бы я не обратил внимание на то, что точка прыгнула, мы бы уехали к "братьям арабам"./
Кстати, про Веризон я не просто так - там возникала такая же проблема в городах, особенно, при нахождении внутри высотных зданий.
По утверждению специалистов Веризона - им приходилось ставить огромное количество ретрансляторов, чтобы местоположение определялось хотя бы с точностью до 100м.
И подобного не происходит "в полях", где нет отражающих объектов.
Десятки метров, это по мнению телефона? :D
А-GPS это не весь GPS, это его наземная "примочка", призванная помогать там, где спутники не ловятся из-за каких-то условий, и предназначенная для быстрого "холодного старта" в первую очередь.
Мобильные телефоны используют такой же протокол, как и любые другие гражданские терминалы. Не верите - поставьте любое приложение для андроида, которое показывает текущие видимые телефоном спутники и то, какой сигнал они поддерживают и передают. Другое дело, что мобильники могут для геолокации грести в одну кучу все - данные соты, данные вайфая, данные A-GPS, данные GPS, данные ГЛОНАСС, данные черта лысого... но это проблема конкретного устройства, в котором непонятно, что там у него настроено под капотом и чему отдается приоритет в конкретном аппарате. Как же с используемым основным протоколом при видимых спутниках можно промазать на 5 километров(!) - я не представляю. Разве что у вас используется каким-то образом только А-GPS, выдающий лютый мусор (такой режим вообще возможен?), но это к использованию GPS вообще не имеет никакого отношения - без хотя бы трех видимых спутников это не сильно отличается от просто триангуляции по вышкам сотовой связи, которое может быть даже точнее. "Глючить" же непосредственно GPS (и геолокация вообще) при видимости спутников может только в одном случае - когда его целенаправленно глушат или подделывают, история с переносом то ли во Внуково, то ли в Домодедово из отдельных зон Москвы уже даже не мем, а бородатый полуанекдот.
Вспоминать то, что было 20(!) лет назад, когда GPS была только-только выведена из-под военного "колпака" в сентябре 2000 года, когда никаких "гражданских" расширений сигнала и всяких этих ваших L1C, L2C, L5 и прочего даже в проекте не было, и то, что есть сейчас - знаете, идея, мягко говоря, так себе... Вы бы почитали чего по теме... современного.
Есть ПРИКЛАДНАЯ задача - найти АДРЕС, локацию почтальону и посетителю, а вы мне тут про сферических коней использования спутников.
- я не разработчик софта для определения локации на андроидах и айфонах.
3.5 ггода назад там, где я ездил, было МНОГО проблем с нахождением некоторых локаций. Проблема известрая в тех местах и НИКОГО не смущающая.
Да, эта проблема современного софта уровня операционной системы мобильников, использующих GPS-A (и подобное), а не жёсткой локации по спутнику (не забываем, что там тоже нужны постоянные поправки, но это уже не наши проблемы в данной задаче).
трех видимых спутников
Вроде как четырех, ещё один для определения высоты. А на практике, Андроид не использует спутники, пока не поймает уверенно сигнал 8-12 штук. А может вообще закапризничать, и несмотря на то, что есть сигнал от ~25 спутников использоваться будут...ноль
Иногда название топонима зависит от страны, в которой заполняется форма. Один из примеров — Ханкенди / Степанакерт в Азербайджане / Нагорном Карабахе. Много таких топонимов и на Донбассе. Даже если сервис условно политически-нейтральный, пользователь может указывать либо то, либо другое название. Например, Яндекс.карты указывают оба названия.
Заблуждение 6. Номер дома — это натуральное число с предсказуемыми характеристиками
Дом 130а корпус А
Дом 55 корпус 2 строение 1
Я тут прикинул географические координаты для указания с точностью лучше 2.4 метра достаточно ~50 бит : градусы 9 плюс 16 на дробную часть. Если записать большими английскими буквами и цифрами, получается 10 позиций (там даже с запасом для спец-доставки). Мне кажется довольно удобно F68J3-K20W1. Ну и дальше номер квартиры, ФИО получателя.
При этом система позиционная, соседние адреса будут похожи (левые символы будут совпадать). На крайний случай можно перемешать широту/долготу посимвольно, тогда поиск соседнего адреса будет ещё проще - пример для указанных координат FK6280JW31.
А координаты даны в WGS84 или в ПЗ-90.11? Или в ETRS89? А может в ГСК-2011? Или, вообще, в СК-42?
Разница между этим всем не очень велика, но метров на 5 промахнуться можно легко, а это уже другая сторона улицы.
Я тут прикинул географические координаты для указания с точностью лучше 2.4 метра достаточно ~50 бит : градусы 9 плюс 16 на дробную часть.
Или вот так, в одном из общепринятых форматов: KO59GV09SU
А сейчас вы исходите из ложного предположения, что географическое положение адресата ни при каких условиях не может поменяться.
Там же запас есть - две буквы Y и Z в любой позиции не нужны для кодирования координат и могут быть использованы для спец-адресов типа военной части или цыганского табора.
Географическое положение адресата поменяться может - он автоматически получает новый адрес. Чего уж проще. Другое дело что могут быть адреса куда почта не может быть доставлена, но это всего лишь вопрос правильной тарификации.
За 22 года на свет появилось немало людей, место рождения которых формально исчезло.
Заблуждение :) Адрес места рождения никогда не меняется, потому что факт рождения – это событие, точка на временной шкале. А вот адрес места жительства поменяется, да.
К примеру, в анкете на шенгенскую визу "заставляют" писать страну рождения СССР.
Заблуждение -1: Адрес используется только для доставки почтовых отправлений здесь и сейчас.
А вот и нет. Адреса так же используются для идентификации. Например:
Proof of address
При апостилировании документов
При идентификации юридических лиц
К примеру, апостилируя докумнент от 1986 года, нужно точно понимать что, адрес XXX в 1986 году был именно там, где это подразумевается в контексте документа, даже если сейчас это место находится в совершенно другой стране и было уже 5 раз переименовано.
Т.е. для корректной проверки почтового адреса - нужно еще и отметки времени иметь. Что-то вроде tz database.
А вот кстати по третьему пункту - какое полезное значение имеет адрес? (понимаю, что в законодательстве прописана необходимость юридического адреса, но я про пользу).
У каждого юрлица в России есть ИНН.
1) Делает ли смена юридического адреса юрлицо другим юрлицом, если ИНН тот же?
2) Делает ли совпадение юридического адреса юрлица1 и юрлица2 одним юрлицом, если ИНН юрлица1 и юрлица2 отличаются?
Есть некое ощущение, что юридический адрес - легаси, как обязательный в реквизитах паспорта физлиц набор "выдан тогда-то тем-то" (поскольку любой паспорт однозначно определяется набором "серия+номер").
Ну вот есть у меня некоторые претензии к юр.лицу, но email это не достоверный источник информации и мое сообщение может просто попасть в спам, то есть юр.лицо может заявить, что ничего не получало, значит, юридически, я должен отправить претензию заказчным письмом с подтверждением получения, что невозможно при отсутствии юр.адреса.
При этом найти адреса ген.директора или владельца это еще больший квест (это вообще персональные данные) и ген.директор может поменяться за один день, что сделает его поиски еще более сложными. Поэтому юр.адрес пока нужен, если сделать полностью электронный документооборот, то возможно обойтись и без него (правда тогда будет слишком просто создавать фирмы-однодневки, сейчас юр.адрес хоть как-то осложняет создание кучи фильм для обмана).
Это процедурный вопрос. Т.е. ИНН однозначно определяет юрлицо, а доставка конкретного сообщения (претензии) делается на основании каких-то данных соответствия реквизитов к ИНН.
Например "прямо сейчас" можно пойти на сайт egrul.nalog.ru и определить юридический адрес юрлица, имя гендиректора и любые другие необходимые для формальной претензии данные, зная только его ИНН. Соответственно, нет никакой необходимости таскать юридический адрес компании как часть реквизитов, он не уточняет ничего, по сути.
Технически ИНН определяет однозначно, на практике ошибки в выдаче ИНН не исключены и никогда (в обозримых пределах) исключены не будут. Компании без ИНН как минимум были - т.е. обработка архивных документов обязана поддерживать этот режим.
Про "таскать адрес" и др. данные о лице/компании - это способ (дополнительный) валидировать ИНН. Если мы останемся только с ИНН количество мошенничеств только возрастет. Описка в ИНН приводит к его полной бесполезности, и даже к большим проблемам если он будет где-то принят. В то время, как описка в адресе, в общем случае, не приводит к проблемам. А описки будут всегда
Далее, ИНН сам по себе (без корректных, обновленных БД) ничего из себя не представляет - нет (доступа) БД - нет проверки. (Не)намеренное искажение данных в БД - и размер беды сложно представить...
В трансграничных случаях ИНН становится бесполезным т.к. отдавать БД налогоплательщиков в другие страны не станут.
Описка в адресе тоже очень серьезное дело. Когда тебе вместо завода по адресу "дом 3" записывают собачью будку по адресу "дом 33" - и попробуй потом доказать, чем ты владеешь...
Это несомненно, поэтому записи в реестрах проверяют внимательно.
В то же самое время в каком-либо не самом важном договоре (скажем на оказание услуг или что-то вроде) ошибка в адресе контрагента - не самое большое дело, ещё и очень часто встречается. Потому как там кроме адреса еще и название компании, ФИО, тот же ИНН и т.п. (Рассматривайте это как избыточность с визуальной контрольной суммой) Если представить ситуацию, когда в договоре написано компания ИНН ХХХХХХХХ и ничего более - ошибка в этом номере слишком критична.
(поскольку любой паспорт однозначно определяется набором «серия+номер»).
гдето уже писали что серия и номер паспорта — не указывает конкретно на этот документ, это серия и номер бланка и вроде я слышал преценденты по неуникальности и вообще по проблемам учета утерянных паспортов… ради чего все стали к СНИЛС привязывать который изначально создавался как уникальный
ИНН кстати очень плохой пример, он точно бывает неуникален как у физлиц так и у юрлиц, у нескольких юрлиц бывает один ИНН(обособленные подразделения), а различие идет по КПП (Код Причины Постановки на учет… как меня бесил этот тупизм… причина постановки — обособленное подразделение, я должен во всех документах писать чтобы несчастная ФНС не забыла по какой причине у меня юрлицо существует) и я, давно не смотрел, наверное ОГРН уникальный для юрлиц
Свердловская обл. Близ.деревни кукуево, 500метров от дома 5а на терр. ООО вектор д.4 стр.7. здание 2 этаж 4 помещение VI, офис 279, отдел 32
Это еще что, у нестационарных объектов бывают шедевры типа "в 20 метрах на юго-восток от южного угла дома с магазином "Магнит". Не шутка, я своими глазами видел такое в договорах аренды на размещение киосков. А самое убийственное для меня было то, что мне каким-то лютым образом надо было это вбить в форму заявления на регистрацию онлайн-ККМ по 54-ФЗ на сайте нашей незабвенной ФНС. Да, в кассовом чеке у нас должен указываться именно этот, физический адрес размещения кассового аппарата. Причем раньше в спецификации одного из полей ФФД, которые присутствуют в формируемых фискальных документах, было требование соответствия этого адреса формату КЛАДР/ФИАС/хз что там выдумано сейчас. Как сейчас - не знаю. Вот это был настоящий треш. А вы тут про какие-то 500 метров от какого-то дома... пф...
P.S. Пришлось в итоге бухгалтеру филиала ногами топать в налоговую с кучей распечаток и заверенных копий договоров, где все вбивали в базу руками, сверяя побуквенно. У нас в головном офисе в другом городе налоговая была лояльнее и таким тяжелым синдромом вахтера не страдала, поэтому разрешила просто указывать адрес ближайшего здания в качестве искомого.
Многим знаком тот неловкий момент, когда платежные системы при регистрации хотят улицу с домом, а у вас:
Нужно пояснение для тех, кто не в теме. :) Это какие-то особенности грузинских адресов?
Для регистрации ИП в Грузии требуется юридический адрес, а его может предоставить только владелец недвижимости. Благо, такого владельца найти несложно. В данном случае "недвижимость" - это пустой земельный участок, у которого есть только название деревни и кадастровый номер. Кадастровый номер в свидетельстве о регистрации не печатается, только деревня. При создании бизнес-аккаунта в Wise, PayPal и т.п. нужно указать юридический адрес и подтвердить его свидетельством. В принципе, они принимают такой адрес, но приходится, например, в поле "city" писать район, а в поле "street address" - название деревни, чтобы прошла валидация.
В Калининграде, например, у некоторых домов у каждого подъезда есть свой номер дома
Лет 20 назад начинал свою карьеру установщиком ПО, это когда нужно было по городу мотаться с пачкой дискет. Некоторые адресные примеры запомнились навсегда. Например, Нижний Новгород, ул. Свободы, нумерация домов по нечетной стороне: 1, 3, 57, 33, 15, 19, 63. Вот как, КАК так получилось?
Или, например, есть ул. Тимирязева, на одной стороне дома 1, 3, 5, 7, всякие там 3а, 7а, напротив дома 1 дом 19, 23, 25 и т.д. И не существует домов 2, 4, 6... Но есть 2А. Долго с дворовыми друзьями думали на эту тему и родилась у нас гипотеза, что это из-за того что раньше вся улица была частным сектором - то есть домики почикали, настроили 9-этажки, а по той стороне частный сектор до сих пор местами, оттуда и такие глюки с нумерацией. А пока расследовали... нашли ещё один дом по адресу Тимирязева, 1. Но его давно адресуют по Кулибина, а табличку в конце 90-х таки сорвали :-)
Приведённый в пример сайт vaguelyrudeplacesmap сам иллюстрирует как минимум одно заблуждение об адресах, хотя довольно распространённое. Например, найдите на карте Новгород и Нижний Новгород.
В СПб есть улицы Дорога На Турухтанные Острова, улица Салтыковская Дорога.
Улица, на которой я живу, была переименована. Причем одновременно с перенумерацией домов. И со временем новые адреса, нанесенные краской, осыпались, и из под него вылезли старые. И эти старые номера творческие узбеки обновили, обведя при выполнении ремонтных работ. Вероятно, то был кошмар для велосипедистов с термосумками.
Некоторые не без комфорта постоянно проживают в автодомах или плавучих домах.
Сразу вспомнился Дункан Маклауд
В Дербенте исторический центр поделен на магалы, которые являются частью адреса. А улицы может и не быть. Хотя те же Яндекс.Карты некорректно называют магал улицей: https://yandex.ru/maps/-/CCUZISgSSC
о почтовых адресах
Ну как же не упомянуть в связи с этой темой такой замечательный город, как Макеевка:
«Адресная система города является самой сложной не только на Украине, но и во всей Центральной Европе. По некоторым оценкам в городе имеется 157 улиц с одинаковым названием, 65 улиц повторяющихся трижды, 12 — четырежды, а также 8 улиц — 5 раз, и даже улицы с шестикратным — ул. Октябрьская, и восьмикратным повторением — ул. Степная, причём 5 раз эта улица встречается в различных частях одного Советского района.
Путаницу в адресной системе привносит повсеместный повтор не только улиц, но и номеров домов на одной улице. К примеру, дом № 2 на улице Успенского встречается 3 раза в различных её частях, ул. Депутатская от центра возрастает до 158 номера, затем снова начинается с первых номеров, а через несколько кварталов нечётная сторона прервавшись на номере 173, продолжается с 157-го).
Путаницу привносит также дробная нумерация домов. То есть поименованы не только все улицы, но и все переулочки. Дома на перекрёстках имеют два номера, относящиеся к обоим геонимам. Адрес записывается через дробь.
Если на пересечении главной и второстепенной улицы в числитель попадает номер по главной улице, то на пересечении равнозначных улиц чёткая зависимость не прослеживается...» (и это еще не все :)
Мой официальный адрес в Коста-Рика : San Pedro, Barrio Dent, from Restaurante Taco Bell, 400 meters West and 50 meters North, house 795
индекса нет.
Я всю статью ждал, когда упомянут никарагуанскую систему адресов, но до неё так и не добрались
Кому интересно, вот здесь например есть описание
https://vianica.com/nicaragua/practical-info/14-addresses.html
В Казани ещё несколько лет назад была улица, трижды менявшая своё название на всём протяжении, была улица, параллельная сама себе, несколько улиц, у которых нет левой или правой стороны. В Москве я помню дом, который стоит на трёх улицах, его номер — три числа через дробь (находится в районе Китай-города).
В Баку, когда я там был около 10 лет назад, вместо номеров домов были сквозные номера подъездов, в них даже таксисты с опытом путались.
В Самаре улица Рыльская пересекается сама с собой: https://yandex.ru/maps/-/CCUZMLEl~D
А Партизанскую явно партизаны рисовали: https://yandex.ru/maps/-/CCUZMLQgOD
В Калиниграде раньше в одном физическом доме каждый подъезд мог иметь свой номер дома.
Выбирая примеры про странную нумерацию домов не нужно упоминать Ирландию и прочего - достаточно посмотреть на дома на 5й просека в Самаре: https://yandex.ru/maps/-/CCUZMHdfSC
Чётные/нечётные, порядок - да ладно вам. Три улицы имеют одно название и дома раскиданы в беспорядке. Похоже, что номера домов тут присваивал осьминог...
К примеру, в США на отправлениях для военно-морских сил указывают индекс 095, хотя фиксированного местоположения у настолько глобального флота быть не может.
095 - это не сам индекс, это первые 3 цифры пятизначной части индекса. Сам индекс будет или 095ХХ, или 095ХХ-ХХХХ, т.к. чаще всего используется полный 9-тизначный индекс Zip5+4.
Применяется оно не только для военных и диппочты, но и для всех "зарубежных почтовых офисов". Зарубежные миссионерские отделения какой-нибудь церкви могут иметь свой специальный индекс США, хоть и находиться будут в условной Зимбабве. FPO - это вообще жуткая головная боль по части валидации адреса.
Есть такое интересное наблюдение: чем дольше живет любая система, тем больше в ней накапливается хаоса и анархии. Хотя бы в процессе эволюции.
Особенно, когда результирующая система результат слияния нескольких более мелких.
В Бахрейне, насколько я понял, не используется индекс. Там всего дюжина отделений на всю страну. Для международных отправлений можно писать 00000.
Несколько раз упомянули Ирландию, да так оно и есть.
Ещё тут может не быть номера дома, а просто название. Жил по адресу пересечения двух улиц и названия дома.
Индекс (он же zip), добавили недавно. До этого для Дублина, можно просто было написать - Dublin. Хотя и сейчас так же можно ?
До этого для Дублина, можно просто было написать — Dublin.
«Куда, блин? Ту Даблин!» (с) старый лингвоанекдот
Улицы там есть. Например, есть адрес улица Юности дом 5. Но рядом по этой улице стоят дома с адресами корпус 514, корпус505 и т.д., где первая цифра — номер микрорайона. Причём улицы у домов в адресе нет. В своё время не смог из-за этого записать ребёнка в детсад через госуслуги (потом поправили).
И так по всему городу. Генральный архитектор был тот ещё затейник (например, положил в основу города не квадратную сетку, а треугольную).
А ещё рядом с Зеленоградом, через дорогу есть посёлок Андреевка. Формально он — Московская область, солнечногорский район. Но люди записывают адреса, как «город Москва, город Зеленоград, посёлок Андреевка ...». Такая вот матрёшка. Почтальоны матерятся, но доставляют.
Заблуждения программистов о почтовых адресах