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