Anatoly Vorobey (avva) wrote,
Anatoly Vorobey
avva

Category:

для программистов, всячина

1) Две хорошие (смешные) старые записи из веблога Марка Пилгрима:



2) Выучил XML Schema. Неплохая штука, красивая в чём-то. Но чёрт побери, думал я, читая стандарт, сколько же можно сериализации? Пытался вспомнить, сколько разных способов сделать одно и то же - выразить в какой-то стандартной форме простейшие типы данных и их сочетания в простейших структурах данных (массивах, структурах, объединениях итп.) я уже успел повидать. Слишком много. XDR (формат данных внутри Sun RPC), COM, Cobra, SOAP, XML-RPC, DTD (в каком-то смысле), XML Schema вот, и ещё кучу не вспомнил навскидку, но есть же. И да, это всё разные вещи, для разных целей, за некоторыми исключениями друг друга не заменяющие, но тем не менее... Мне кажется, что какую-то роль в этом играет определённое извращённое наслаждение, которое испытывает программист, изобретая новый способ описывать примитивы, новый способ записать простые всем знакомые вещи в новой незнакомой ещё никому нотации. Ну и синдром "Not Invented Here", конечно же.

3) Я хорошо понимаю, как устроено почти всё в обычной работе Интернета, на всех уровнях, кроме самых нижних, и кроме одного среднего; сейчас объясню, какого. Я понимаю, как устроены стандартные протоколы, как они опираются на TCP или UDP; как именно в точности эти в свою очередь основаны на IP; как работает DNS; как устроен IP, как выглядят его датаграммы; как они путешествуют поверх других протоколов (хорошо понимаю, как поверх Ethernet, и в общих чертах - многих других); как устроены локальные сети, как в них работают и для чего нужны бриджи, раутеры, switches или как их там по-русски; я знаю, как выглядит сетевая карточка с точки зрения компьютера и его OS, как устроен её драйвер, как с ним общается TCP/IP стэк в операционной системе (и общие принципы, и подробности имплементации в нескольких разных OS). Я не понимаю самых нижних уровней, когда биты превращаются в электроны, бегущие по проводам; у меня всегда было плохо с электричеством и электроникой, и если устройство CPU я ещё понимаю в общих чертах, то что касается сетей, шин, периферии, устройства памяти итп. - нет. Но это меня не очень смущает, мне вполне хватает цифровой вселенной. Вот в ней, в цифровой вселенной, есть только один уровень устройства интернета, который я не знаю совсем. Это раутинг в "большом Интернете", все эти BGP (знаю только аббревиатуру, не знаю, что это такое), раутинг-протоколы, таблицы, итп. Я задумался обо всём этом сегодня, когда прочитал в одной подзамочной записи как раз на эту тему забавную своей точностью фразу "You know, the cloud that people always draw when they mean the internet? yeah, that one." Действительно, когда я рисую диаграмму путешествия какой-нибудь информации в каком-нибудь протоколе, "большой Интернет" у меня тоже облаком выходит, и вот как всё устроено в этом облаке, я не знаю. С моей точки зрения, IP-пакеты, проходя через несколько очевидных upstream-провайдеров, будто внезапно превращаются в мириады разумных палочек; эти целеустремлённые сперматозоиды непонятным и вызывающим потому уважение способом лавируют сквозь это облако и приземляются на раутер провайдера с другой стороны, где вдруг опять становятся обычными IP-пакетами, про которые всё ясно.

Но ведь наверняка во всём этом нет ничего сложного, и основные принципы главных протоколов и алгоритмов я наверняка смогу понять за 15 минут, запустив несколько поисков на Гугле и прочитав несколько умных страниц объяснений и RFC по их следам. Но почему-то я этого ни разу не сделал; можно сказать, что мне это не нужно было в работе, но сколько информации (и об Интернете тоже) я знаю, которая мне никогда не нужна была по работе? очень много. Может быть, подумал я сегодня, я специально, не вполне сознавая этого, ничего об этом не читал, чтобы оставить для себя хоть что-то загадочное в устройстве этой загадочной всё-таки штуки. Чтобы где-то оставалось хотя бы одно облако.
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 17 comments