Anticodeguy
651 subscribers
841 photos
171 videos
1 file
330 links
Technomad & systems thinker exploring paths to freedom and prosperity

https://stan.store/anticodeguy
Download Telegram
Переносим сайт на новый хостинг. 4 этап: переключение на новый сервер

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

Что будем менять: NS, то есть Name-space серверы и А-запись у домена. Как всё это делается, я рассказывал в прошлых постах, можешь почитать детали там. Вкратце упомяну, что при изменении DNS должно пройти какое-то время, прежде чем все изменения вступят в силу, обычно до 2 суток всё это может происходить.

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

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

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

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

🔥💩👍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Переносим сайт на новый хостинг. 5 этап: переключаем почту и гасим старый хостинг

Финальный штрих эпопеи с переносом сайта – это настройка почтового сервера. Почта для домена у нас уже настроена, мы добавляли ящики на самом первом этапе в новый хостинг. Это значит, что входящие мы уже видим здесь и пришла пора настроить исходящие письма.

За это отвечают те же DNS записи MX типа (Mail eXchange). Во многих хостингах есть кнопочка автоматической настройки MX-записей, которая сделает всю нужную работу. В противном случае надо найти в инструкции по настройке доменной почты, какой именно хост нужно прописать для того, чтобы почта начала работать отсюда.

После того, как это сделано, останется подождать несколько минут, пока произойдёт переключение. Опять же, с запасом время на переключение обычно берут 48 часов, но на практике достаточно минут 10 и можно уже тестировать новую почту.

Если работаешь с письмами из браузера, то у хостинга должен быть web-интерфейс для управления письмами. Самый популярный у них – RoundCube, вполне себе годный почтовик, где нет ничего лишнего и который работает как часы. Если надо настроить какое-нибудь навороченное приложение для обработки почты, типа Outlook, то в разделе с почтой для домена должны быть настройки для почтовых клиентов, где будут указаны необходимые параметры. Хотя сейчас почти всегда достаточно логина и пароля от почты.

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

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

🔥💩👍
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥1👍1
🚗 Дайджест переноса сайта на новый хостинг

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

Что нужно переносить: доменное имя (обычно его регистрируют там же, где находится сам сайт), доменную почту, файлы сайта, базу данных.

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

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

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

Миграция сайта производится, как правило, самим хостингом. Всё, что нужно сделать – дать им доступы к FTP старого хоста и в некоторых случаях – доступ к админке. Остальное они сделают сами.

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

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

И финальный штрих – погасить все услуги на старом хостинге, вернуть неиспользованные деньги и закрыть аккаунт.

🔥💩👍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Как отправлять клиентов в чат сразу после оплаты

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

Задача следующая: из Инсты клиент по ссылке попадает на страничку Таплинк (конструктор страниц со ссылками), откуда он должен иметь возможность оплатить продукт (как российской, так и зарубежной картой) и при успешной оплате попасть в закрытый Telegram-чат. То есть доступ к этому чату и является продуктом.

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

Посмотрим с другой стороны. Путь из Инсты в Таплинк понятен и не требует вмешательств. А вот из Таплинка к оплате продукта можно реализовать на самом деле несколькими способами. И первый, самый простой – использовать сам Таплинк, в котором есть интеграции с платёжными системами.

Загвоздка этого способа в том, что для разных типов карт надо будет делать разные ссылки, которые ведут на разные платёжки (для российских карт одна, для зарубежных – другая), что может путать клиентов. И подключение платёжек доступно только на старшем тарифе. К тому же не факт, что получится на одном аккаунте подключить сразу несколько платёжных систем.

Как оказалось, не самый очевидный на первый взгляд, но явно более простой вариант, нежели разработка своего чат-бота. Есть ещё парочка, про которые расскажу завтра.

🔥💩👍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1
💳 Как сделать прослойку для оплаты продукта между Инстой и Telegram-чатом

Если по тем или иным причинам не получается организовать оплату средствами самого конструктора Taplink, существуют другие варианты реализации задуманного.

Один из них – сделать прослойку в виде платёжной странице на любой удобной платформе. Если у тебя уже есть сайт, например, можно на базе этого же сайта сделать простейшую платёжную страницу с формой оплаты, куда и будет попадать пользователь при нажатии на нужную ссылку.

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

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

А ещё есть вариант без сайта, который мне нравится больше всего. Практически в каждой платёжной системе есть возможность создания платёжной страницы – это, по сути, и есть страница сайта, которая базируется в платёжке. Как правило, там можно задать сумму платежа, указать наименование товара и другие вещи, которые будут предзаполнены у клиента при попадании на страницу. Ему останется выбрать метод оплаты и произвести её.

И ключевая фишка. При настройке платёжной страницы всегда есть параметр Success URL, или ссылка при успешном платеже, в которой и нужно указать адрес, ведущий на закрытый чат в Telegram. Разумеется, на платёжную страницу будет сформирована ссылка, которую и нужно будет вставить в Taplink. И всё будет работать.

🔥💩👍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Не забудь при переносе сайта на новый хостинг!

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

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

Развитие событий зависит от того, какого типа сертификат был установлен на домене. Я писал в прошлых постах, какие они бывают, как приобретаются и устанавливаются на домен. В случае, если это был бесплатный Let’s Encrypt сертификат, то всё довольно просто: надо заказать такой же на новом хостинге. Это можно сделать сразу в тот момент, когда перенос домена завершён.

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

----- BEGIN CERTIFICATE -----

----- BEGIN RSA PRIVATE KEY -----

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

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

🔥💩👍
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
Всегда проверяй версию PHP

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

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

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

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

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

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

🔥💩👍
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Forwarded from Anticode
При разработке и развитии любого продукта есть одна вещь, которую я считаю архиважной на определённом этапе. Это этап, когда продукт уже прошёл тестирование и довольно активно используется и для дальнейшего движения вперёд необходимо принимать решения о том, что изменить в продукте, каким образом, что является его истинной ценностью для пользователя и как сделать эту ценность ещё больше и заметнее. Что всегда влияет на как на воспринимаемую, так и реальную (в денежном выражении) стоимость.

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

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

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

Одним из таких инструментов является Amplitude – комплексный инструмент для сбора данных и построения аналитических панелей (дашбордов). На нём можно довольно быстро собрать себе панель управления по вкусу и нуждам. К тому же он бесплатный, пока ты не нагрузишь его больше, чем 50 000 событий в течение месяца, так что для начала, думаю, хватит.

С точки зрения сложности внедрения эта штука одна из самых простых на рынке, работает не сложнее чем известные всем Яндекс.Метрика или бывшая Google Analytics. Правда, покодить всё же придётся.
👍2
Anticodeguy pinned «Какой формат тебе заходит»
Media is too big
VIEW IN TELEGRAM
Разглядываем Indie Hackers
🔥💩👍
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Как работает email-рассылка из web-приложения
👍2
Media is too big
VIEW IN TELEGRAM
С помощью чего организовать отправку email-ов для web-проекта
Forwarded from Anticode
Пару недель назад ко мне обратился заказчик с необычной просьбой реализовать фронтовую часть приложения, которое уже по всей видимости было разработано, на Directual, что само по себе мне показалось странным, потому что фронт – не сильная сторона Directual, в первую очередь это бэкенд и API. Соответственно, я стал задавать ему уточняющие вопросы и в итоге мы пришли к выводу, что нужно провести полноценную консультацию.

На этой консультации я выяснил, что само приложение сейчас реализовано на Bubble, а бэкенд разработан самостоятельно, то есть это не no-code. Проблема заключалась в том, что вся эта связка работает очень медленно и приложение неюзабельно с точки зрения пользователя. И задача команда разработки заключалась в том, чтобы перейти на новый фронт с Бабла.

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

К тому же я сам уже несколько лет вполне успешно использую Bubble для разных проектов, и он показывает себя очень хорошо, в том числе и скорости работы. Да, естественно, качественно и чисто написанный кастомный JavaScript или сайт, работающий на JamStack будет заметно быстрее с точки зрения пользователя. Но ничего критичного, что могло бы просто заруинить проект, как в случае с этим запросом, я точно не наблюдал.

Будем разбираться, в чём же тут дело, и как можно решить эту задачу.
🤔1
Forwarded from Anticode
Стартап-проект, связка Bubble + самописный бэкенд. Проблема – сайт работает очень медленно, пользоваться невозможно.

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

Начнём с бэкенда – того, что скрыто под капотом. Программная часть, которая обрабатывает данные, работает с базой, в общем делает всё, что скрыто от глаз пользователя. В общей связке программного комплекса – это двигатель, от скорости работы которого в принципе зависит возможная потенциальная скорость всей машины.

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

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

В данном случае мы видим, что данные по запросу возвращаются очень быстро, за доли секунды, ка кв принципе и должно быть. Отправили запрос – сервис ответил, скажем, за 0,25 секунды. Но на фронте данные появляются значительно позже, только секунд через 15-20.

Копаем дальше.
Forwarded from Anticode
Что может тормозить web-приложение

Движок под капотом у нас быстрый, с этим разобрались. А что с лицевой частью, фронтэндом? Как я уже упоминал в первом посте, фронт собран на Bubble – на текущий момент лидирующая no-code платформа, которая очень много ресурсов вкладывает в ускорение работы приложений, которые собраны на ней.

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

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

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

Конструкторы вроде Tilda – это как поход в Макдак (и точка), где ты выбираешь из готовых блюд и на выходе получаешь ожидаемого качества обед. А Bubble – это магазин с ингредиентами, из которых тебе самому всё надо приготовить. Получится ли из этого шедевр или что-то, что придётся отдать коту, зависит полностью от тебя. Котяра, кстати, вероятно тоже не станет это употреблять.

Поэтому грамотно и чисто собранный Bubble – это важная составляющая быстрого приложения. Но это ещё не всё, остался ключевой элемент паззла.
Forwarded from Anticode
🌐 Ключевой сегмент в работе web-приложения

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

Что происходит в процессе работы с web-приложением? Пользователь через браузер даёт какие-то команды, например, вывести каталог товаров. Фронт отправляет запрос к своему бэку, то есть кидает сигнал с просьбой прислать ему данные. Движок приложения, получив такой сигнал, бежит в базу данных, собирает всё, что нужно, в одну корзину и отправляет её обратно туда, откуда пришёл запрос. Вот эта часть, как мы выяснили ранее, работает быстро.

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

Первый вопрос на макроуровне архитектуры. Где расположены серверы фронта и бэка? Так как фронт на Bubble – это серверные мощности Amazon В США.

Далее – самописный бэк. Его заказчик разместил на одном из своих хостингов, разумеется, в России. А теперь резонно подумать – а сколько времени будет идти порция данных с сервера в России на сервер в США? Учитывая при этом все возможные блокировки отдельных узлов и шлюзы, через которые должен пройти запрос-ответ в обе стороны. В общем путь неблизкий сам по себе.

Решение? Расположить серверы бэка и фронта как можно ближе друг к другу, чтобы как минимум исключить возможные задержки в связи с этим. Заставить Bubble переехать на другой сервер кажется задачей непростой, а вот свой собственный движок перенести на американский хостинг – задачка на час, которая может избавить от целого геморроя.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Forwarded from Anticode
Как ещё можно оптимизировать скорость работы web-приложения

Ещё одна точка преткновения, которую я обнаружил, консультируя заказчика – это объём передаваемых данных. Да, бэкенд работает молниеносно, API отвечает за доли секунды. Но порция данных, которую сервис вываливает на фронт – тысячи позиций за раз. А теперь приложению в браузере нужно как-то это всё прожевать, переварить и выдать полезные вещества из этих данных на экран.

А теперь и самому пользователю надо проделать всё то же самое: как-то воспринять этот объём информации и выудить оттуда нужное. Ведь у него и так мало инфы в течение дня: подумаешь, пара сотен постов в Инсте, с десяток умных каналов в Телеге (ага) и несколько видосов на Ютубе, просмотренных залпом.

Представь грузчика, который разгружает кузов, набитый небольшими коробками. если это самосвал, то можно опрокинуть его прямо на грузчика и уехать. Вот таким самосвалом сейчас API отгружает данные на фронт. Конечно, рано или поздно он всё разгребёт, но не будет ли более эффективным разбить данные на порции и подавать нашему работнику их партиями по 5 коробок за раз?

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

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

Итак, первое – фильтрация данных на входе. Разбей их на порции, добавь пагинацию (переключение страниц или подгрузка при скролле). Прикрути дополнительные фильтры, которые помогут вычленить нужное и ограничить выборку ещё больше. Тем самым облегчишь жизнь и бэку, и фронту, и пользователю.
🔥2
Forwarded from Anticode
Соберу воедино всё, на что стоит обратить внимание в первую очередь при анализе скорости работы web-проекта по мотивам консультации заказчика

1. Нужно определить узкое горлышко системы, самого медленного верблюда, который тормозит весь караван.

2. Для этого последовательно проверяем все составные элементы архитектуры. Разумеется, предварительно надо описать архитектуру хотя бы на верхнем уровне для понимания, с чем мы работаем.

3. Подкапотный движок или бэкенд – то, с чем следует начать анализ. Посмотри, как быстро он отрабатывает запросы, протестируй процесс получения данных и замерь скорость. Если она недостаточна, следует подумать над оптимизацией бэка.

4. Лицевая часть или фронтенд – то, с чем взаимодействует пользователь напрямую. Насколько быстра сама платформа, достаточно ли оптимально собрано приложение, нет ли лишний операций, которые можно переложить на плечи бэкенда?

5. Интеграционный слой – связь между бэком и фронтом. Насколько грамотно она организована, как далеко серверы расположены друг от друга, нет ли ограничений с обеих сторон (со стороны передачи или приёма)?

6. Оптимизация передачи данных. Разбить на порции, применить фильтры, ограничить поток.

И последнее. Переходить на новую платформу (как фронт, так и бэк) – всегда очень болезненный, долгий и ресурсоёмкий процесс. Если переводить в деньги, то сильно дешевле будет оптимизировать текущую конструкцию, чем строить новую.

Разумеется, есть случаи, когда неизбежен переход на новую архитектуру, например, когда упираемся в проблему масштабирования или технические ограничения платформ, но это тема для отдельной серии постов.
Media is too big
VIEW IN TELEGRAM
Два крутейших AI-инструмента, которые сэкономят кучу денег и позволят создавать видео без камеры и микрофона
👍3