Python 2/3

Mar. 3rd, 2019 09:40 pm
elglin: (Default)
[personal profile] elglin
Встала передо мной, как всегда, оригинальнейшая задача проверки принадлежности айпишника сети. Как человек, писавший еще на С и BSD Sockets, я решил задачу в лоб: конверсия строчного айпишника в бинарный, там AND c маской и все такое. Ну да, уличная магия со сдвигами влево-вправо, про которые из молодежи знают полтора анонимуса. Импортировать socket для того, что решается бинарной арифметикой, как-то оверкилл.
И тут мне говорят: import ipaddress и вообще не парься. Ну я и подумал, что я олень.
А вот оказалось, что не совсем олень. Потому как, во-первых, StackOverflow жалуется на то, что через ipaddress оно, конечно, работает, но почему-то намного медленнее уличной магии, а во-вторых, ipaddress в стандартную библиотеку впилен только в тройке, а у меня везде двойка, и никакого, естественно, на них PyPi.

А еще увидел в коде коллеги голимую функциональщину, отложил кирпичей - но, поскольку оно работает, ну и пусть его работает.
Page generated May. 13th, 2026 05:51 pm
Powered by Dreamwidth Studios