Проекты /

Фреймворк против CMS

Тема этой заметки может показаться довольно спорной, но меня давно посещают мысли о принципиальной разнице между разработкой сайтов на CMS и фреймворках.

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

Конечно, много зависит от мастера - кто-то и на CMS отлично всё сделает, а кто-то и на фреймворке наваляет ерунды. Но принципиальная разница остатаётся: либо готовая система докручивается под требования заказчика, либо требования заказчика руководят процессом изначально.

Проилюстрирую свои мысли на недавнем примере. Все совпадения неслучайны, персонажи не выдуманы.


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

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

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

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

Что может быть сложного в том, чтобы взять уже готовый проект с вёрсткой, скриптами, данными и перенести на другую систему? В итоге, как вы уже догадались, сайт пришлось делать с чистого листа.

Читать далее
Проекты /

Запущен holztour.ch

Всем привет, сегодня небольшой отчёт о только что запущенном проекте holztour.ch.

Это небольшой швейцарский сервис для туристов, чтобы они знали, какие места можно посетить. Туристы смотрят где вкусно кормят, где можно полазить по горам, поспать и всё такое. А владельцы этих заведений выставляют про них информацию по подписке. Этакий туристический 2GIS.

Проект разработан на Vesp, собственно для работы с ним меня и позвали в Pixmill изначально, в конце 2020. Но, в связи с пандемией, интерес к туризму сильно просел, и проект забуксовал.

Тем не менее, 1 апреля 2022 мы его запустили, хоть и не в окончательном варианте. Планируется еще много доработок по функционалу.

Читать далее
Новости сайта /

Аватарки на сайте

Продолжаю приводить новую версию в порядок, и теперь дело дошло до работы с аватарками.

Исторически я всегда использовал сервис Gravatar. который позволяет вывести фотку пользователя по md5 хэшу от его email. Идея отличная: ты грузишь аватарку один раз и все сайты, на которых ты зарегистрирован, могут её получить.

Но, во-первых, не все пользователи про это знают. И во-вторых, это всё-таки сторонний сервис, который может перестать работать и я останусь без аватарок.

Поэтому на моих сайтах всегда была возможность загрузить аватарку самостоятельно, и теперь я решил реализовать её как давно хотел (нажмите на картинку для запуска GIFки).

По катом немного подробностей.

Читать далее
Новости сайта /

Работа с картинками

С незапамятных времён на bezumkin.ru нельзя было загружать картинки, даже когда такая возможность появилась в дополнении MODX Tickets, на котором сайт был построен.

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

Выглядит это вот так (нажмите на картинку для запуска GIFки):

А дальше я расскажу, как это работает.

Читать далее
Личный блог /

Валютные платежи после 24.02

Думаю, многим интересно, что стало с платежами из-за рубежа после известных событий. Ведь я совсем недавно написал, как это легко и просто - работать с иностранными заказчиками!

Для ленивых: всё работает, но дольше. Для всех остальных рассказываю подробнее.

За работу мне платят в конце текущего месяца. Февраль был коротким, так что я выставил очередной счёт своим партнёрам 23 февраля, и 25 (в пятницу) они его оплатили. Их швейцарский банк платёж остановил и запросил дополнительные документы для проверки. Документы предоставили, и 28 числа (в понедельник) платёж поехал в РФ.

Читать далее
Администрирование серверов /

Быстрый личный VPN через Wireguard

Мы живём в эпоху тотальных ограничений и запретов, когда каждый день нам норовят что-то еще отключить.

В связи с этим я хочу поделиться простейшим способом поднять свой собственный, ни от кого не зависящий VPN сервер. Virtual Private Network, то есть виртуальная частная сеть, даёт вам возможность выходить в интернет от имени другого компьютера, обходя таким образом запреты на вашем рабочем месте.

Сегодня мы арендуем и настроим сервер Linode в Германии.

Читать далее
Телеграм бот на Vesp /

Начинаем общение

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

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

Поэтому сегодня мы создаём таблицы в БД и сохраняем в них что-то, что будем потом выводить.

Читать далее
Телеграм бот на Vesp /

Запускаем бота

В прошлой заметке мы начали разработку нашего нового проекта на Vesp и создали тестового бота.

Сегодня мы этого бота запустим с простейшими командами /start и /help.

Напоминаю, что мы используем библиотеку longman/telegram-bot, которая предлагает очень удобный метод для написания собственных команд боту.

Команда - это файл, имя которого заканчивается на Command и расширяет абстрактный класс Longman\TelegramBot\Commands\Command - ровно также, как контроллеры Vesp расширяют основной абстрактный контроллер.

Читать далее
Телеграм бот на Vesp /

Начало проекта

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

Понятное дело, что за работу с Телеграм будет отвечать готовая библиотека, но в остальном мы всё напишем сами.

Я буду предполагать, что у вас уже есть своё рабочее окружение, и вы можете запускать на своей машине PHP с NodeJS.

Лично я использую последнюю MacOS с Homebrew, Laravel Valet, MySQL 8, PHP 7.4 и Node 17.5. Если нужна отдельная заметка по их установке и настройке - напишите в комментариях.

Читать далее
Личный блог /

Работа с иностранными заказчиками

В связи со стабильно нестабильной экономической ситуацией в РФ, регулярно поступают вопросы, а как начать работать зарубежом? Зарубежные ребята не смогут просто кидать деньги на карту, им нужен банковский перевод.

А для этого нужно регистрироваться как ИП, открывать расчётный счёт, платить налоги - это всё сложно и страшно!

Ничего подобного, всё довольно просто, и сейчас я вам об этом расскажу.

Читать далее
Новости сайта /

Подробности про новый сайт

Как известно, с 2021 года я перестал работать с MODX. На самом деле даже раньше, но понял я это только в конце 2020.

Сайт bezumkin.ru в своё время стал довольно популярным именно потому, что на нём разрабатывались и обкатывались популярные дополнения для MODX, такие как pdoTools и Tickets. Собственно, нынешний https://modx.pro и выделился из bezumkin.ru, когда встал вопрос, почему это вся активность сообщества проходит в чьём-то личном блоге.

За 2021 я перенёс все свои активные проекты с MODX на Vesp, оставался только личный сайт. Вот теперь дошли руки и до него.

Читать далее
Новости сайта /

Перезапуск

Всем привет!

Спустя почти 3.5 года тишины bezumkin.ru продолжает свою работу в новом обличии.

Всё переписано с нуля на Vesp, пользователи, заметки и комментарии перенесены из старой БД.

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

Если вы уже были на этом сайте, то пробуйте сбросить пароль по своему username или email. Если нет, то регистрируйтесь и пишите скорее комментарии!

О багах и глюках, которые обязательно найдутся, просьба сигнализировать в комментариях к этой теме, или на bezumkin@yandex.ru.

bezumkin
Василий Наумкин
13.08.2022 11:41
неужели, все глобальное, так просто можно взять и сделать Да, именно так. Мелкие затыки, конечно ж...
bezumkin
Василий Наумкин
13.08.2022 08:18
Killed говорит, что сервер прибивает задачу, скорее всего у провайдера есть какие-то лимиты по нагру...
bezumkin
Василий Наумкин
11.08.2022 15:46
Класс!! Рад, что тебе нравится! нужно добавить @click="showCart = true" в: Спасибо, попра...
bezumkin
Василий Наумкин
09.08.2022 11:27
На здоровье!
inetlover
Александр Наумов
30.07.2022 19:58
Василий, спасибо большое! Первый вариант помог, не было вот этой настройки: php_value[sys_temp_dir].
bezumkin
Василий Наумкин
12.07.2022 20:40
Всё как обычно, в самом начале файла конфига import axios from 'axios'
bezumkin
Василий Наумкин
06.07.2022 14:06
Базовый Vue, базовый ES 6: импорт-экспорт модулей, вот это всё. Если что-то будет непонятно - просто...
bezumkin
Василий Наумкин
06.07.2022 11:19
Спасибо, что читаешь!
bezumkin
Василий Наумкин
05.07.2022 11:40
На здоровье!
inetlover
Александр Наумов
03.07.2022 23:36
Василий, спасибо! Все понятно!