Вчера, решив проблему с «упавшими» сайтами, я лег спать. Проснувшись, соображал с трудом. На связь вышла Tella, стали обсуждать, что делать с прогулкой, которую мы наметили еще несколько дней назад на этот день. Я хотел было перенести все на субботу, но у Tellы получилось изобразить процессионную Волю и все же уговорить встретиться именно в пятницу. Сошлись на том, что перенесли время встречи на час позже, и я стал собираться.
Вопреки моим ожиданиям, прогулка получилась вполне спокойной и приятной. Мы снова отправились на север центра Москвы, на этот раз в район Трубной. Там свернули в 4-ый Колобовский переулок (да, опять бродим по всяким переулкам), вышли к Знаменской церкви, которую, собственно, и хотела показать мне Tella. Оттуда выбрались на улицу Петровка, к знаментому дому 38, где у одного из входов обнаружили памятник Жеглову и Шарапову. Затем ушли на Садовое кольцо, там увидели памятник М. Калашникову, причем установленный недавно. Дальше свернули на еще одну небольшую улицу (она называлась ул. Фадеева), и в итоге вышли к метро Белорусская, где потратили еще как-то время на фотографирование. И на этом разошлись.
Когда вернулся домой, в очередной раз пообещал себе, что ну уж сегодня точно лягу спать раньше. Но получилось как всегда: глубокой ночью я нашел необычный онлайн-квест под названием «Я тебя по IP вычислю» и решил его пройти. Сначала никак не мог понять, что к чему, но потом вспомнил описание прохождения другого квеста на Хабре, и дело сдвинулось с мертвой точки. Потом все уперлось в то, что не знал, как получить нужные данные из Redisа, так как простой GET не работал, а на большее не хватало знаний. Но где-то через час, почитав мануалы и попробовав разные варианты, все же справился. Следующий шаг требовал подключения к MongoDB. Это можно было сделать двумя способами: либо доделать полученный в ходе квеста кусок кода на PHP, либо через командную строку. И оба варианта не получались!
Но почему-то MongoDB — штука очень проблемная в плане работы с ней. В Ubuntu для нее по умолчанию ставится клиент древней версии 2.10, который не поддерживает механизма аутентифкации CRAM-SHA-1, который использовался на сервере, с которого требовалось вытянуть данные. А в PHP 7 полностью переделали extension для работы с MongoDB, сделав интерфейс из простого и логичного крайне сложным и неудобным, да еще с использованием кучи namespaces (как я ненавижу namespaces в PHP — это отдельная тема).
В результате в тот день я так и не прошел квест. Вернулся к нему сегодня (точнее, теперь уже это вчера). Вспомнил, что у меня есть виртуальная машина с Fedora Core, и поставил Mongo там. Оказалось, что там в дистрибутиве версия 3.x, которая поддерживает нужный метод аутентификации, и я наконец-то смог подключиться к серверу. Но и дальше было непросто: поскольку Mongo я знаю почти никак, пришлось потратить какое-то время на то, чтобы переделать код в PHP в запрос из командной строки, да еще и исправить недоделки. К тому же как всегда, в процессе я постоянно отвлекался. Но все-таки нужный запрос был написан, и данные получены, и, введя их на странице квеста, я получил радостное сообщение о том, что квест пройден!

Был в Сети 27 авг. 2025 г., 05:32
Кратко о себе: Web-разработчик. Пишу на PHP, Python, JavaScript. Знаю Ruby и Go, со студенческих времён более-менее помню C и asm. Специализируюсь на ускорении загрузки сайтов и разработке ботов для Telegram. Linuxоид (использую Debian+LXDE). Сторонник IndieWeb, slow lifer.
- Перово, Москва, Россия
- me@4xpro.ru
- x4_pro
- XXXXPro
Новости сайта в Telegram
t.me/4x_proЛог жизни
Лог моей жизни, где я фиксирую наиболее эмоционально значимые для меня события и текущее настроение. Является продолжением блога, который я вел в ЖЖ с ноября 2004 по апрель 2018 года.
День вчерашний
