Эта история началась 16 марта, когда я ехал по Дмитровке домой. Ну как «ехал»? Стоял скорее. Спрашиваю Алису: «Скажи, говорю, можешь мне помочь сайт сделать?» она говорит «Могу».
Ну и понеслась. К дому я когда через два часа приехал, у меня уже был какой-то файл с кодом (я копировал в заметки то, что мне Алиса писала). Выложил это всё в интернет — ничего не работает. То есть даже не «не работает», а непонятно, что должно произойти и куда смотреть.
Кидаю ДипСику код, спрашиваю: «Нормальный сайт, скажи? Не работает почему-то». А он и спрашивает «А ты что хотел, чтоб он делал?» Ну я и рассказываю, что это будет система учета для склада, чтоб вот я записал: у меня сто наборов собрано, а потом я отправил почтой два и чтоб не надо было пересчитывать, чтоб было видно, что осталось 98».
Дипсик, если б мог, конечно сильно бы удивился но мне тогда просто сказал, что это так не работает, да и вообще надо сначала почитать про бэкенд и фронтэнд, решить про базу данных и всё такое.
Я с ним спорить не стал и лёг спать в величайшем убеждении, что нейросети — довольно дурацкая штука, потому что вот где надо, они помочь-то и не могут.
А наутро пошел читать про PHP и SQL-запросы.
Хватило меня минут на сорок. И это просто потому ещё, что я завтракал. Но главное я усвоил!
Мне нужен ЧатGPT!
(К счастью тогда ещё МТСа была возможность заплатить за него на пару месяцев)
Привет, говорю я ему, давай сайт делать, у меня уже есть хостинг (у меня на нём действительно лежит мой сайт уже 15 лет… правда выражение «лежит» вполне описывает его состояние на протяжении последних пяти). Так вот, говорю: «у меня есть хостинг и вот я тут код написал» — и показываю ему код, который ещё Дипсик мне раскритиковал.
— Так не пойдёт, — говорит. — Давай мы архитектурно решим. Ты на чем хочешь сайт?
— Я, — говорю, — на html делал в 2009-м, с этого момента айтишник во мне глубоко уснул.
— Ну тогда, говорит, открывай терминал.
— Кого?
— Ну черный такой. Пиши cmd…
С чатом мы делали сайт месяца полтора. Работа не сложная: говоришь, чего хочешь, он тебе дает кусок кода, ты (долго) разбираешься куда его вставить, потом открываешь файл в браузере, копируешь код ошибки и шлёшь его Чату.
В целом это похоже на то, что мне надо починить машину, и у меня есть очень умный, но прикованный к постели, и оттого готовый часами общаться со мной по сети, дядька-автомеханик. Он всё знает, но иногда переходит на птичий язык и говорит что-то вроде «скорость деплоя упала, но это хорошая мелочь для layout shift и скорости отрисовки». Я всего этого по прежнему не очень понимаю, но потихоньку начинаю отличать ssh от ssl…
Хотя нет, если совсем честно честно, то нет, я просто названия запомнил.
Ну в общем где-то к маю мы с Чатом сделали кучу всего: систему учета товаров, контроль расходников и даже модуль «выставки». Параллельно я соединил сайт с Озоном, научился выгружать оттуда отчеты о продажах и комиссиях… (и это помогло смириться с мыслью, что мне с ними не по пути).Ё
Но потом я подумал: а что если мы сделаем не только механику для склада и меня? Я ведь разобрался, как-что работает! Теперь наверное могу попробовать починить и сайт.
Тут дело как-то сразу не пошло: чинить старое, да к тому же собранное синей изолентой из кусков, работающих на трёх разных движках, частично самописное (не мной, а программистом, который еще в 16-м году в Канаду уехал), частично не работающее — это не та хирургическая задача, которую можно осилить, когда у тебя за спиной один изрезанный скальпелем диван. Даже с Чатомджипити.
Поэтому мой добрый дядюшка-Чат не стал ходить вокруг до около и просто сказал мне:
«Да что ты мучаешься, поставь ты уже Клод-Код»
Ну ладно, думаю, Алиса была, китайский Дипсик был, Чат Американский был, поставлю француза.
(Почему-то я был уверен, что раз Клод — то француз).
Ну и поставил.
Работа закипела так, что через две недели меня заблокировали. Я написал им письмо по совету Дипсика с Чатом, но видимо в Клоде видали и не такие письма, поэтому никто не ответил.
Ну я и не расстроился, зарегистрировался заново и продолжил работу.
И надо сказать это совсем другое дело.
Если с Чатом я сам сидел в той яме под машиной, то в лице Клода у меня появился супер-умный мастер, который может практически всё, готов жить под машиной, чинить её круглые сутки и, кажется, искренне любит это.
Проблема только в том, что мастер этот — немножко восьмиклассник. Увлекающийся и иногда ленивый.
— Мне, — говорю, — надо, чтоб можно было город из списка выбрать. Или деревню. В общем такой список, чтоб любой населенный пункт был.
— Давай мне список, — отвечает, — я добавлю. Только разбей его предварительно на области и районы.
— А где его взять?
— КЛАДР поищи. Ну или ОКАТО.
Нахожу за пару часов оба, скачиваю, даю ему:
— О, тут есть отличия.
— И что?
— А что ты хочешь? Чтоб я из первого выкинул лишнее, или из второго?
— А есть другие варианты?
— …Ну да… у нас уже есть фотографии, мы можем пройтись по 1016 населенным пунктам и найти им соответствия в списке.
Дней десять мы этим занимаемся, подтвердили примерно 650 населенных пунктов. Работа медленная, тугая: я смотрю фотку, разбираюсь откуда, ищу в яндексе название района, сверяю с кладром…
На одиннадцатоый день как-то спрашиваю «А почему мы застряли на этой, казалось бы рутинной задаче? Можем ли мы как-то уже перейти к следующим?»
На что он мне отвечает «Я могу подключить к сайту открытый перечень всех населенных пунктов и перепроверить названия оттуда. Кстати я уже это сделал и мы можем автоматически подтвердить 390 населенных пунктов из 415 оставшихся, так что 25 придется вручную перепроверить.
— Зашибись! — чуть не кричу я среди ночи, — а зачем были тогда все эти десять дней?!
— Ну мы обогатили этот открытый перечень. Я думал, что тебе важно перепроверить всё вручную.
В общем мало-помалу дело двигалось.
Я придумывал механику раскрасок на парковке в Калмыкии, сочинял, как обустроить личный кабинет - ночью в гостинице в Астрахани, делал раскладку фотографий галереи «вдохновлено наличниками» - в самолёте в Томск, потом мучительно бился с разными форматами геоданных — сидя в тени на пляже в Турции, раз за разом переделывал главную страницу в Ярославле, Елабуге и Кисловодске…
Казалось, что этому не будет конца. Юля моя так и говорила кстати)
Потом пришло время приделывать магазин. Мы подключили всевозможные способы оплаты. И личный кабинет пользователя. И три способа доставки (СДЭК, Яндекс и почта). И отслеживание посылок (кроме почты) прям на сайте…
И загрузку фотографий и рейтинг авторов и мою мечту образца ещё 2010-го года — карту всех фотографий, которые есть на сайте.
И блог там теперь со всеми постами, начиная с 2009-го. И — на что я потратил отдельный месяц жизни — перевод всего-всего на сайте на английский и немецкий. И даже автоматические переводы комментариев как в Твиттере (и перевод в них, хоть и от Яндекса, но тоже посредственный)).
С переводами вообще интересно было.
Даю Клоду текст, говорю: «переведи, если что неясно, уточни. Он переводит.
А у меня ж плохой английский, я оценить могу только, что это перевод именно этого текста, на большее меня не хватит. Я его спрашиваю: «посмотри оригинал и перевод, скажи, сохранен ли стиль и скажи можно ли что-то улучшить?»
И тут начинается могия, которая заставляет меня взглянуть с куда большим уважением на профессию переводчика (как до этого и на айтишников — создателей миров!)
— Смотри, — говорит, — Сейчас у твоего персонажа фраза «Что у меня говорить могут?» переведена как «Who is there around me to say anything?». Но можно ещё точнее: «Who have I got around me to say anything?»
— А в чем, — спрашиваю, — разница?
— Второй более разговорный, и там дальше сохраняется зеркальный ответ «At work I've got two cats...»…
А по мне, так нет разницы. Поэтому я снова и снова расспрашивал о нюансах перевода, ритма и передачи настроения, а он терпеливо мне всё разжевывал.
В общем, где по строчке, а где и по слову, что-то плохо, а что-то, надеюсь, и хорошо, мы с ним вместе и перевели.
И ещё сделали электронные раскраски для всех моделей наличников, чтоб не только фломастерами в инструкции можно было, но и на сайте пораскрашивать.
А потом я его про безопасность спросил и мы с ним «скрывали плоскости возможных атак». Потом ещё три недели оптимизировали страницы, чтобы снизить скорость ответа сервера с 0,6 секунд до 0,16. И это прям чувствуется.
Ну и под конец, вот уже за последнюю неделю, завершили механизм сокрытия чувствительных деревень.
Теперь если кто-то загружает фотографии из деревни с населением меньше 500 человек, то по умолчанию эти фотографии не будут показаны на карте именно в этом месте: они будут показаны в райцентре. Потому что самое последнее, чего бы мне хотелось добиться, это чтобы сайт стал путеводителем для тех, кто едет в деревни поживиться глухой резьбой…
Так что вот.
Пять месяцев в целом. Подумать страшно. Я не уверен, что ввязался бы, если бы понимал, сколько времени это займет.
А хотя, что я вру?) Всё равно ввязался был. Это ведь невероятно интересно!
А и кстати, на сайте фотографии — это не просто фотографии. Там на самом деле всё хитрее: когда вы загружаете свои находки, то можно объединить фотографии одного дома в «объект», а потом объединить объекты между собой. Таким образом когда-нибудь для каждого дома можно будет посмотреть его фотографии вчера-сегодня-завтра…
Пока что изо всей страны там обработаны таким образом лишь 500 домов и трудно поверить, что когда-то мы сможем обработать все десятки тысяч деревянных зданий мира… Но на сайте уже 24000 фотографий из семи стран и от 469 авторов…
Так что всё возможно.
Просто присоединяйтесь.
PS Кстати тексты писать я своим четырем нейродрузьям так пока и не доверяю. Вот уж воистину: чем меньше понимаешь в предмете, тем проще довериться.
