Проект: F365  Публичный пост
15 июня 2023  1859
F365
https://f365.zyuhel.ru

С одной стороны, не хочется рассказывать о чем-то небольшом. С другой стороны, из маленьких кирпичиков строится большое здание, поэтому почему бы и нет? К черту скромность!

Сразу скажу, что проект не планирует никакой монетизации, а также что в посте будет много разных картинок. Но как рассказывать про фотографию без фотографий, а про проекты без мемов?

Расскажите о себе и сути проекта

Про себя я писал в #intro. У меня есть несколько хобби, некоторые из которых вытекают друг из друга. Так, например, из увлечения LEGO выросло мое увлечение фотографией, и этот проект как раз посвящен именно этому увлечению. Увлечения нужны, чтобы не быть как котик на меме снизу. И без них очень легко в него попасть.

Фотографирую я не так давно, сменил несколько камер, фотографировал вроде бы и часто, но не регулярно. В какой-то момент заметил, что стараюсь чаще оставлять камеру дома, а не тащить ее с собой. Так как я на какое-то время оказался далеко от громадной кучи любимых кубиков и от стационарного ПК, LEGO и игры в RTS временно стали задачей с меньшим приоритетом, а фотография - с большим. И я решил подумать на тему того, как же научиться фотографировать лучше.

А как мы все знаем, лучший способ, чтобы научиться чему-либо, это практика.

Есть такой парень - Георгий Джеджея (Сайт), его еще @vas3k упоминал в посте про вычислительную фотографию (если помните такой, конечно). Так вот, так как я решил подойти с точки зрения практики, я конечно же начал читать различные блоги (ахаха, все как всегда. Прокрастинация наше все. )

Ну так к чему это я? У Георгия есть Telegram канал, а у этого Telegram канала есть чат, (Вастрик.фото и данный чат частично пересекаются, так что я думаю, о нем тоже кто-то из клуба знает). И вот в этом чате проходит челлендж, достаточно обычный, кстати — челлендж "365". Необходимо каждый день делать фотографию на протяжении года, обрабатывать ее в течение дня (вообще фотографию за сегодня можно выложить в течение сегодня и завтра) и выкладывать ее.


(я просто хотел выложить фотографию с акулой, сорри)

Я пропускал эти челленджы, потому что:
а) Да зачем оно мне нужно?
б) Это же нужно самому как-то отслеживать и следить.

А тут все было сделано достаточно удобно: был бот, который принимал фотографии в Telegram, и некоторый элемент геймификации, когда участники чата голосовали за лучшие работы, и в итоге каждый день подводились результаты голосования с виртуальными медальками.

Я участвую в данном челлендже уже более 200 дней, и он во многом мне помог. Я не сказал бы, чтобы я стал снимать лучше. Бывает, я открываю свои достаточно старые фотографии и понимаю, что мой уровень не то что вырос, но я стал лучше понимать, когда фотография определенно не получится. Также я стал лучше разбираться в своей камере и подтянул навык быстрой обработки фотографий.

Но и это не главное. Главное, наверное, то, что необходимость делать что-то заставляла меня подниматься и делать что-то, даже тогда, когда очень не хотелось. И за счет этого улучшая мою жизнь. Я вставал на рассвете, чтобы фотографировать рассветное солнце.

И искал что-то интересное в обыденном.

Ну и просто в целом тренировал дисциплину. Если бы я был большим экстравертом, наверное, познакомился бы таким образом с кучей людей. Но, так как я такой как я есть, я просто сделал кучу фотографий (ну ладно, я даже несколько раз подходил к незнакомым людям с просьбой их сфотографировать, прогресс собственно на лицо) , которые мне нравятся, а также подписывался на различные поездки, от которых возможно бы отказался в ином случае. Даже завел дрона, чтобы смотреть на вещи с другого угла :)

Но искать свои фото в большой куче фотографий в канале было не очень удобно, а иногда хотелось понять, какая фотография набрала больше лайков, или просто посмотреть, с каких фото я начал челлендж, а какие идут сейчас, чтобы понять, что вот сейчас у тебя идет провал, и ты не можешь найти сюжеты, а раньше энтузиазм так и переполнял. Ну и просто пересмотреть кадры по принципу "кадр в день" — это очень интересно.

Я даже как-то считал небольшую статистику по результатам 2022 года в этом челлендже.

И меня не покидала идея, что было бы отлично иметь возможность легко посмотреть данные из канала. Поиск в Telegram по хештегу, конечно, работает, но в целом искать в ленте очень неудобно. Да и видеть какую-нибудь писькомерную статистику всегда приятно.

В какой-то момент я решил, что хватит тянуть кота за яйца, и раз у меня не очень получается с фото выходить на первые места, можно сделать полезный для сообщества сервис, выложить фото с его интерфейсом и словить плюшки :)

Что вошло в прототип, технологический стек и сколько времени на него было потрачено

Я решил разбить проект на три части, чтобы максимально упростить дальнейшую поддержку или замену. Соответственно, получаем парсинг опубликованных ботом данных и их запись в базу. API для получения данных из этой базы и фронтенд, который будет показывать полученные данные. На все про все ушло несколько вечеров.

Самой простой частью были парсинг и API. Так как фронт планировался на JavaScript, решил и бекэнд сделать на нем же. Взял Express.js, MySQL, набросал быстренько простенький API, развернул, проверил, что все нормально.

Единственная проблема на бекэнде была с запросом, подсчитывающим самые длинные интервалы без проблем в публикациях. Наиболее адекватным и простым вариантом было использовать оконные функции, но в тот вечер, похоже, лыжи решили не ехать, и нужный вариант никак не хотел писаться. И тут меня осенило, мы же в будущем, где же вкалывающие роботы? Я открыл ChatGPT и попросил его написать запрос. Неожиданно запрос даже оказался почти верным. С помощью напильника (так как уточняющими вопросами заставить его исправить запрос не вышло), запрос был приведен в нужное состояние, и бекэнд стал полностью рабочим.

Ну что же, после этого настало время опуститься в авгиевы конюшни и собрать фронт на третьем Vue. Вообще на работе мне приходилось встречаться с вторым Vue (нет, встречался я со всем подряд, но с Vue было больше всего опыта), поэтому я подумал, что особых проблем с третьим Vue не будет. Сцуко, как же я ошибался. Ближайший час был занят различными попытками адаптировать свой опыт из Options API второго Vue на Composition API третьего. А также отойти от Vuex к Pinia. Казалось бы, что мешало поставить Vuex и Options API на третий Vue? Но ведь мы не ищем легких путей. Вообще ненавижу такие моменты, когда вместо того, чтобы решать проблему, приходится бороться с окружением.

В общем, после некоторого количества матюгов, я перешел к конкретной реализации самого интерфейса. Так как чукча ни разу не дизайнер, я взял готовый UI Kit. И после небольшой отладки был готов MVP на трех страницах.

Список фотографий дня, рандомная подборка случайных фото и страница фотографий пользователя. Так как данный челлендж проходит всего где-то 3.5 года, и количество участников не то чтобы запредельное, я решил отказаться от infinite scroll с подгрузкой и просто фигачить все изображения пользователя на страницу сразу.

Развернув это на собственном поддомене, я решил написать о проекте на следующий день. Ну а следующим вечером я решил, что будет неплохо добавить на страницу пользователя немного статистики.

Также решил добавить немного сортировок, ведь все любят сортировки. Кстати, про один из способов сортировки я интересовался в Vas3k.nsfw. Все-таки, сортировка по противоречивости это прикольно.

Так что общий совет всем на будущее: хотите сделать что-то быстро и просто, берите то, что знаете, не будьте как я. Ну, а если совмещать изучение нового с каким-нибудь пет-проектом, то почему бы и нет.

Как запускались и искали первых пользователей

Так как я по сути делал инструмент для уже существующей аудитории, то никаких особых усилий для поиска пользователей не требовалось. Просто зашел в чатик и скинул ссылку. От хитрого плана с публикацией фото рабочего стола отказался. Как-то неспортивно все-таки.

В целом приняли положительно, сразу нашли пару багов. Одна была связана с парсингом, точнее с тем, что я не учел граничный случай, когда где-то в середине челленджа бот глюкнул и запостил одну и ту же запись два раза. Я полагался на идентификатор сообщения и не прописал уникальное ограничение. Обязательно прописывайте все ограничения. В итоге одна из длинных серий считалась неверно.

Попросили прокинуть seed на главной, чтобы делиться выпавшими подборками лучших фото. Поправил это тоже. Ну и вывел ссылочки на соцсети тем, кто их скинул, чтобы, если кто вдруг наткнется на интересную фотографию, мог перейти дальше и посмотреть другие работы.

Сколько потратили и заработали? Есть идеи как это можно монетизировать?

В виду того, что проект простенький, а у всех есть под рукой некоторое количество свободных ресурсов, можно считать, что трат пока никаких и особо новые не планируются. Монетизации определенно не будет. Так что это просто pet-проект для себя и небольшого фотосообщества.

Какие планы на будущее?

Да, вроде никаких, вероятней всего оно вообще не потребует какой-то особой поддержки. Так может код причесать и выложить все это на GitHub вместе с данными, чтобы, если что, это мог поднять кто-то еще. Поскольку bus factor у проекта, не то чтобы радовал.

Ну и наверное доделаю еще одно представление фотографий. Вместо грида будет приятно потом посмотреть на календарик, где на каждый день будет по фотографии.

Итоги

Я продолжаю 365, делая фотографию каждый день, но теперь мне гораздо проще вспоминать, какая именно из моих фотографий так провалилась на последнем голосовании.

Надеюсь, что мой рассказ мотивирует кого-нибудь тоже поучаствовать в челлендже, ну или хотя бы постараться больше замечать вокруг, а не идти по улице, уткнувшись в телефон.

Кстати, вам не обязательно иметь фотоаппарат. Многие из участвующих в челлендже делают отличные фотки на мобильные телефоны. Необязательно, как я, таскать с собой тяжеленную бандуру тупо по приколу.

Ну и главное в фотографии давно уже стало не умение сделать выверенную картинку. Для этого есть японцы с пометками, откуда фотографировать, а также вычислительная и обычная фотография. В современных камерах даже автоспуск завезли. Да и нейронки не дремлют. Так что главное в фотографии, на мой взгляд, давно стало не результат, хотя приятный результат всегда хорошо. Главное это умение видеть, чувствовать, ну и наслаждаться процессом.

Да и правила челленджа не заставляют в нем активно участвовать. Многие просто время от времени выкладывают фотографии, как очередная площадка для поделиться.

Также не могу не напомнить, что у нас в клубе есть секретный чат с фотографиями.

p.s. покидая уютненький клуб вы рискуете нарваться на другое окружение. С другими мемасами и точками зрения. Я вас предупреждал.

Связанные посты
5 комментариев 👇
🕵️ Юзер скрыл свои комментарии от публичного просмотра...
Dmitriy Soloduhin Программист автор 23 апреля в 03:12


Сделаю небольшой follow-up. Я добил 365 дней фотографии и продолжаю уже 534 день. Еще несколько человек выполнили 365, понадеюсь на то что наличие фронта сыграло в этом какую то роль.

Все же странички с писькомерками в виде разных цифр могут мотивировать.

Добавил больше статистику, теперь статистику можно смотреть не просто итогову, но с детализацией по годам и месяцам. Как например 2023-12 или 2023. На годовой статистике 365 фотографий, первые места по голосованию за год.
На месячных первые три, так что можно видеть на странице ~84-93 фотографии.

У месячных страниц есть какая то бага с долгим рендерингом, нужно будет посмотреть что можно с этим сделать.

А так есть проект не хочет, оказалось очень удобным быстро смотреть свои фотографии. Когда у тебя остается по одной фотографии из каждого дня, и ты можешь их быстро пролистать, как то лучше осознаешь как же быстротечно время. Как то так.

Я надеюсь что я стал лучше фотографировать, правда начиная с какого то момента статистика по попаданиям в тройку резко ухудшилась (цифирки), но это как то не важно, важно что мне нравится то что получается. А нравится ли оно кому то еще, да как то без разницы.

  Развернуть 1 комментарий

😎

Автор поста открыл его для большого интернета, но комментирование и движухи доступны только участникам Клуба

Что вообще здесь происходит?


Войти  или  Вступить в Клуб