Шесть месяцев назад я нашёл в Интернете книжку "Dive into Python".
Странная книжка, толстая, да ещё на не русском языке. Усердно прочитал
её, методично и вдумываясь, но таки ничего и не понял. Но что–то не
отпускало меня — я пошёл на python.org и стал изучать стандартную
библиотеку, старательно, скрупулезно, от корки до корки. Гугля примеры
кода, я наткнулся на пост в блоге одного гуру, где было написано про
PEP8. То, что рассказывал этот умудрённый опытом кодер, настолько
впечатлило меня, что я словно в припадке безумия бросился зубрить эту
конвенцию по написанию питоньего кода. У меня тряслись руки, по телу
прокатывали волны возбуждения, я, можно сказать, бился в экстазе всё это
время — и теперь могу процитировать наизусть любой пункт, даже если меня
разбудить посреди глубокой ночи.
Новые знания окрыляли меня, я бросился писать (что бы вы подумали?)
очередную имиджборду. Я не писал раньше имиджборд, эта была моей первой.
По пути пришлось освоить азы вёрстки на html и css, но там всё оказалось
совсем не сложно.
Я плавно двигался вперёд, наращивая функционал. И знаете что? Я упёрся в
недостаток производительности. Ну, так мне показалось. Я делал замеры,
устранял места с тяжёлым кодом. Тысячи раз запускал ab, но так и не
сумел перейти порог в 300 запросов в секунду. Я как–то ожидал большего и
был немного разочарован.
Гугл, снова гугл. Десятки статей и тем на форуме… Довольно быстро я
заметил, что люди часто пишут про какие–то "асинхронные веб–сервера".
Часто встречались названия Tornado и Gevent. Я прочитал про них
подробнее — и был просто ошеломлён. Как мне это раньше не приходило в
голову?! Это же, это просто гениально, чёрт меня побери!
Исходники в ведро, всё переписать! Меня переполняло новое знание, поток
мыслей ровно ложился в строчки кода. Я просто не мог остановиться. Чашка
кофе… Ещё чашка… Мой небольшой кусочек софта приобретал кристальную
чистоту, я смертельно устал, но продолжал в умилении полировать его
зудящими руками, нанося последние штрихи.
Пять тысяч. Я получил производительность в пять тысяч запросов в
секунду. В ту ночь я так и не смог заснуть.
Увлекательнейший мир хай–лоада открылся передо мной. Позже я изучил ещё
много классных вещей типа сверх-быстрых асинхронных key–value–хранилищ,
или, например, такого необычного подхода к обработке данных, как
map–reduce.
Это уже был другой я, новый, обновлённый. С незашоренным взглядом, с
жаждой новых знаний и незнакомых концепций. Я летел вперёд, оставляя за
спиной ступень за ступенью.
За пол–года я сменил несколько мест работы, и моя зарплата взлетела до
умопомрачительных сумм. Сотни замечательных мест открыли передо мной
свои двери. Любые, самые изысканные девушки проявляли просто чудеса
изобретательности, чтобы находиться рядом со мной.
А ещё, я никогда не забуду тот момент, когда на одной из конференций я
впервые в жизни поймал на себе завистливый взгляд. Это был взгляд
какого–то сливающегося с толпой неудачника, взгляд преисполненный
ненависти, презрения и желчного вожделения, направленного на мой Олимп.
Наверное, он всю свою никчёмную жизнь писал на каком–нибудь си–шарпе или
там на джаве, проводя долгие дни в одиночестве. И теперь начинал
подсознательно догадываться, что долгие годы безуспешно пытался
построить замок из навоза.