Сенсей ⌁ Технический директор
1.78K subscribers
169 photos
4 videos
81 links
Аттракцион по переходу из диджитал-агентства в стартапы.

Помогаю диджитал-агентствам и фаундерам:
— найти свой рынок
— организовать разработку
— запускать SaaS-продукты и сайты
— нанимать разработчиков

Консультации, менторство и реклама: @vseznaika
Download Telegram
Сравнительный анализ

Почему-то иногда мы забываем, что не всё должно получаться с первого раза.
Ходить мы учились очень долго — разбивали коленки и лбы. А приносящий клиентов сайт и рекламная кампания должны были получиться с первого раза!
Но опыт накапливается постепенно...

Ещё влияет размер выборки. В нашей небольшой деревне быстрее всех бегают Петя и Вася. А в онлайн выборке алгоритмы нам рекомендуют и показывают только олимпийцев во всех видах спорта.
И тут мы попадаем сразу в две крайности: вначале сравнивали себя с местной парой атлетов, а потом — с лучшими людьми в интернете.

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

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

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если словил инсайт
🏆 Жми на кубок, если кайфуешь в процессе
🏆14136🤔1
Обнови свой HTTP

Что такое:
Протокол передачи данных HTTP применяется для всех сайтов в интернете.
Все самые популярные веб-серверы по умолчанию используют устаревшую версию протокола HTTP/1.1. Apache2, NGINX, Node.js, uWSGI, Gunicorn, Tomcat, Jetty, IIS — все виновны.

Браузер пытается одновременно скачать с сайта код, десятки картинок и скриптов. На HTTP/1.1 браузер открывает несколько параллельных соединений, в каждом из которых файлы загружаются по очереди. С HTTP/2 открывается одно соединение, по которому одновременно загружаются все файлы. HTTP/3 ещё быстрее и лучше работает в мобильных сетях.

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

Год выхода стандарта:
HTTP/1.1 — 1997
HTTP/2 — 2015
HTTP/3 — 2022

Как обновить:
В большинстве серверов HTTP/2 уже встроен, но его нужно явно включить в конфигурации. В NGINX достаточно добавить слово "http2" в конфигурацию и всё заработает, настолько всё просто.

HTTP/3 достаточно свежий, поэтому для многих серверов нужно будет ставить дополнительные модули. Сисадмину будет интересно с этим разобраться.

Как проверить:
Из консоли любой операционки
curl -I https://example.com

На первой же строке ответа будет указана версия протокола: HTTP/1.1, HTTP/2, или HTTP/3

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если пошел проверять свой сайт
🧑‍💻 Жми на ботана, если всё это знаешь
98👨‍💻4
Лидген на отраслевых выставках

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

1. Выбираем выставку на сайте местного экспоцентра. Недвижимость, туризм, HR, пчеловодство, загородное строительство или фэшн — в расписании выставки сменяют друг друга круглый год.
2. Готовим хотя бы один тематический кейс под эту выставку.
3. Кейс загружаем в ноутбук или планшет.
4. Печатаем визитки, а то даже и буклет.
5. Надеваем лучшую рубашку, часы, бреем бороду, замазываем прыщ. В общем, всё что нужно для уверенности и делового вида.
6. На каждом стенде спрашиваем директора по маркетингу, главного за продвижение, руководителя отдела продаж или "с кем у вас про рекламу поговорить?"
7. Показываем отраслевой кейс, отвечаем на вопросы, оставляем визитку, берём контакты. Договариваемся на следующий звонок или встречу.
8. Профит!

На таких выставках начальство скучает на стенде вместе с линейными менеджерами. Они очень ждут партнёрств и у них есть время — время на вас и ваш оффер. В начале выставки многие могут разговаривать. К концу некоторые уже подпили и готовы про что угодно поболтать.

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

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если намотал на ус
🏆 Жми на кубок, если уже находишь клиентов на выставках
159👍3🏆1
Выбираю платформу для базы знаний

За последнее время часто возникает потребность создания документации или базы знаний в разных проектах. Сколько бы мне ни нравился Obsidian для личных заметок, для коллективного использования в вебе он не предназначен. Поэтому я начал поиск продукта "база знаний".

Требования:
- Поддержка русского языка
- Статьи можно писать коллективно
- Можно опубликовать на моём домене
- Хочу поддержку markdown
- Современный внешний вид из коробки, который легко брендировать
- Приятный интерфейс и UX

Рассматривал все варианты.
Первыми не подошли зарубежные платные продукты: Gitbook, Notion, Confluence, Zendesk. Зачем сразу создавать себе проблемы с оплатой и блокировками?
Потом стал смотреть российские платные: Teamly — альтернатива для Notion, CarrotQuest — альтернатива для ZenDesk/Intercom, Kaiten — альтернатива для Jira. В Kaiten мы даже сделали книгу сотрудника для агентства и остались довольны, но это всё же не для публичного доступа.

Потом опомнился, что не хочу платить за подписки. Я готов разворачивать и админить приложения в нашей инфраструктуре. Начал смотреть на Open Source, чтобы бесплатно и с открытым кодом. Оказывается, не так много хороших решений.
Outline и Documize оказались продуктами с платными версиями, не стал разбираться в тонкостях лицензий, убрал их из сравнения.
BookStack — не понравился редактор статей, весь продукт выглядит устаревшим. Ставили его пару лет назад и пробовали использовать, но не прижился.
GitLab — почему бы не писать документацию для разработчиков внутри репозитория? Решил опробовать, но для публичной базы знаний нужно что-то другое.

В итоговой выборке остались эти продукты:
Wiki.js — победитель, пока остановился на этом продукте и буду его пробовать. Множество плагинов, поддержка разных баз данных, корпоративный логин, markdown, всё выглядит очень современно.
Docusaurus — второе место, поддерживает переводы и версии, отлично выглядит и тоже полностью открытый исходный код без скрытых тарифов.

Занятно, что оба написаны на Node.js + TypeScript. Хотя я на стек смотрел в последнюю очередь.

А на какой платформе база знаний у вас и насколько вы ей довольны?

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если полезно
🧑‍💻 Жми на ботана, если разворачиваешь приложения
128👨‍💻3
Channel name was changed to «Сенсей ⌁ Технический директор»
MCP простыми словами

Одна из громких тем этого года — MCP для ИИ. Решил разобраться как всё устроено и вам рассказать.

Если кратко: Теперь ИИ можно дать любой внешний инструмент и он будет знать, как им пользоваться. Помните момент, где Нео осознал, что знает кунг фу?
Инструментом может быть браузер, файлы на компьютере, почтовый ящик, музыкальный редактор, робот-пылесос, автономный автомобиль или фабрика по производству дверей. MCP — протокол для подключения любой фигни к ИИ.

MCP — это открытый стандарт, за которым стоит Anthropic (разработчик Claude). Раньше каждый сервис изобретал свою интеграцию с ИИ. Anthropic упаковали лучшие практики интеграции с ИИ в стандарт. Сейчас доступна вся экосистема клиентов, серверов, инструментов и SDK — разработчикам очень легко присоединиться и добавить свой инструмент.

MCP состоит из Клиента (ваш чат-бот или IDE) и MCP-Сервера, которые вместе используют элементы системы.
- Инструменты — для ИИ. Описанный набор действий, которые может вызывать ИИ.
- Промпты — для взаимодействия с Людьми. Это готовые инструкции, как именно использовать инструменты, обрабатывать данные и проводить диалоги.
- Ресурсы — ссылки на файлы или данные, которые нужны для работы инструментов.

MCP очень быстро развивается и обновляется. Тысячи MCP-серверов уже доступны — достаточно подключить их к своему клиенту и начать пользоваться.

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если узнал новое
🧑‍💻 Жми на ботана, если уже используешь MCP
1212🔥3👨‍💻1👀1
Как плохая поддержка убивает хороший сервис

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

Провожу расследование:
- Сервер добросовестно отправляет почту через API, ошибок в логах нет.
- Проверяю блеклисты — с репутацией всё в порядке.
- На почтовом сервисе по отправке почты Unisender увеличивается счетчик отправленных писем.
- Письма не доходят на все домены и тестовые почты: gmail, yandex, mail и т.д.
- На сервисе postmaster у мейла количество писем не меняется. То есть, мейл наши письма не получает. Очень подозрительно.

Делаю вывод, что проблема на стороне Unisender Go. Мы к ним отправляем, они письма фиксируют, а дальше них письма не уходят.

Пишу в чат поддержки. Молчание в течение часа.
Звоню на телефоны поддержки на сайте — там автоответчик говорит "Сейчас поддержка по телефону не работает — пишите в чат на сайте".
Пишу емейл в поддержку. Тоже нет ответа.

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

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

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

А вас когда-нибудь подставлял известный сервис подобным образом?

PS: Порекомендуйте другие транзакционные почтовые сервисы.

⚡️ Жми молнию, если хочется метнуть в них молнию
🤯 Жми на взрыв мозга, если удивлён
🙈 Жми на мартышку, если испытал испанский стыд
🤯139🙈8
Продублируй важные системы

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

Поэтому, напоминаю себе и вам:
- У бизнеса должно быть открыто два расчетных счёта в разных банках. Резервный счёт может ничего не стоить, но спасти много нервных клеток в случае конфликта с основным банком. А ещё у банков иногда отзывают лицензию.
- У бизнеса должно быть два юридических лица, например, ИП и ООО одновременно. Если одно из юр лиц имеет спор с налоговой, то второе может подхватить хозяйственную деятельность.
- В онлайн-сервисе должно быть два эквайринга. Особенно, если это банковский эквайринг, а не агрегатор — агрегатор может переключить шлюз на другой банк.
- Онлайн-касс тоже должно быть хотя бы две.
- У интернет-магазина должно быть две службы доставки.
- Как я вчера выяснил, должно быть две службы для email и sms рассылок, если они для вас критичные. Если не работает отправка сообщений, то покупатели не могут попасть в личный кабинет.
- Правильно иметь копию инфраструктуры в другом дата-центре. Хотя бы бэкапы хранить отдельно и иметь возможность быстро поднять все сервисы.
- Домен и DNS лучше держать отдельно от серверов. Потому что, если выключился хостинг, нужно иметь возможность перенаправить трафик в другой дата-центр.
- Можно заранее купить второй домен и использовать его в рекламе или для корпоративных нужд.
- Крупные интернет-магазины держат два агентства по трафику, запуская рекламные кампании по очереди. Или даже просто выплачивают второму подрядчику резервную абонентскую плату и держат деньги на балансе рекламного кабинета.
- Нужно держать бэкапы всего, хранить минимум в двух экземплярах в разных локациях. И проверять, что бэкапы рабочие.

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

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если полезно
🏆 Жми на кубок, если уже что-то продублировал
118🏆6🙈1
🙌🙌🙌🙌 15+ документов для тех, кто в диджитал

В преддверии новой активности мы собрали в одну папку 18 Telegram-каналов известных профессионалов и попросили их авторов подготовить для вас документы, которые помогут:

🔴Создать рабочий лид-магнит;
🔴Подготовить сайт к требованиям РКН;
🔴Подготовиться к любому выступлению;
🔴Удержать проект в сроках и рамках бюджета;
🔴Организовать эффективное участие в тендерах;
🔴и еще много много всего!

✔️ Я делюсь таблицей "Open Source вместо платной подписки: рабочие альтернативы для агентств и стартапов", используя которую вы сможете найти бесплатные аналоги известных программ и сэкономить на корпоративных подписках десятки тысяч рублей.

❗️ Сохранив единожды папку «Документы для тех, кто в диджитал», вы сможете спокойно пройтись по всем каналам и скачать множество авторских документов, которые точно пригодятся в работе.
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥72
Расходы на хостинг Open Source приложений на опыте веб-студии

В посте с таблицей Open Source решений не указано, сколько стоит их содержать. Рассказываю о своём опыте.

Минимальный тариф на VDS будет стоить примерно 300 рублей в месяц. Этого хватит, чтобы развернуть и использовать большинство приложений из таблицы.
Хостинг для тяжеловесного мониторинга ошибок Sentry стоит мне около 4000 рублей в месяц — это пока рекорд. Gitlab CE на всю команду выходит 1700 рублей.

Если размещаем много приложений, не обязательно брать под каждое новый VDS. У меня есть сервер с установленным Portainer (удобная альтернатива Kubernetes), который позволяет просто запускать множество приложений. Я плачу за него 1500 рублей, а на нём работают 14 контейнеров с n8n, zammad и чат-ботами. Подозреваю, что там ещё что-то поместится.
Современные виртуальные серверы позволяют увеличивать мощность и место на сервере постепенно, по мере потребности.

Open source инфраструктура для современной веб-студии до 50 человек обходится примерно в 10 тысяч рублей в месяц.
Если у вас свой офис, то можно все эти приложения развернуть на своём сервере и не платить за аренду VDS.

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

⚡️ Жми на молнию, если захотел свой маленький дата-центр
🧑‍💻 Жми на ботана, если в теме
🙈 Жми на мартышку, если ничего не понятно
🙈9👨‍💻873
Удобный ssh

Надоело каждый раз искать логин и пароль от сервера?

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

Порядок решения:
Создаём пару ключей у себя на компьютере. Открываем терминал, вводим команду ssh-keygen и жмём Enter несколько раз.
После этого в скрытой папке ~/.ssh/ появляется два файла
id_rsa — приватный ключ, его никуда никогда никому не показываем.
id_rsa.pub — публичный ключ, его копируем в нужные сервисы.

Выводим публичный ключ на экран, чтобы можно было его скопировать.
cat ~/.ssh/id_rsa.pub
Этот ключ нужно вставить в профиль на Github или Gitlab, скопировать на удалённый сервер или указать при создании VDS на хостинге.

Копируем ключ на удалённый сервер командой ssh-copy-id. Для выполнения нужно знать логин, IP-адрес или домен сервера. Например
ssh-copy-id [email protected]
ssh-copy-id [email protected]
При первом соединении нужно будет ввести yes в подтверждение обмена ключами.

Для быстрого входа на сервер можно записать его реквизиты в текстовый файл ~/.ssh/config
Host myservername
Hostname 10.24.24.24


Если для доступа нужен другой логин, нестандартный порт или админы выдали приватный ключ для подключения, то указываем это в том же конфиге
Host myservername
Hostname 10.24.24.24
User root
Port 22
IdentityFile ~/.ssh/id_rsa


Проверяем:
Подключаемся к удалённому серверу одной командой ssh myservername. Если в конфиге один пользователь, а нужно зайти под другим — используем ssh sensei@myservername.

Итог:
Вы мгновенно попадаете на сервер, используя выбранное вами название. Экономия времени на поиске адреса и пароля.

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если полезно
🧑‍💻 Жми на ботана, если давно ходишь по ключам
97👨‍💻5🔥1
Сколько у вас крадёт хостинг?

Сегодня я заметил, что мощный сервер у клиента ощутимо тормозит. И обнаружил кражу!

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

Покупателям кажется, что это похоже на места в самолёте: на 100 кресел можно продать 100 билетов. Но хостинг продаёт гораздо больше. В отличие от самолёта, у хостинга кресла могут быть заняты частично — нагрузка изменяется со временем. Поэтому хостинг частенько продаёт 150 "билетов", на 100 "кресел".

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

Если у вас крадут до 5%, в индустрии это считается технически допустимым. В виртуализации заложена конкуренция за ресурсы, можно понять. Но если показатель выше 5% — вы получаете меньше ресурсов, чем вам обещали.

Как это проверить:
Через терминал заходим на сервер.
Вводим команду top или mpstat -P ALL 1.
Ответ будет например таким:
%Cpu(s):  1.0 us,  0.5 sy,  0.0 ni, 97.0 id, 0.5 st

Смотрим за параметром Steal или st, в примере выше он последний. Он меняется со временем, поэтому хорошо бы его мониторить или сделать несколько замеров подряд в разное время.

Что делать, если steal выше 5%:
- Писать в службу поддержки хостинга "Выявлен высокий показатель steal CPU, примите меры" и прикладыватьпоказатели с терминала. Скорее всего, ваш проект перенесут на другую ноду с меньшей нагрузкой.
- Брать тариф Dedicated CPU с гарантированным выделением ресурса. Обычно это в 3 раза дороже — Можно прикинуть, насколько сильно перегружены самолёты серверы на обычных тарифах.
- Переезжать на выделенный сервер — менее гибко, но будет гарантия доступности всех вычислительных ресурсов. Если у вас нагруженные приложения, то это ещё обойдётся дешевле облака.
- Если ситуация повторяется регулярно — хостинг жадный, нужно переезжать.

Моя история закончилась письмом в техподдержку. Показатель Steal time доходил до 40%. Ночью с пятницы на субботу без лишних препирательств нас перенесли на менее загруженную ноду и показатель снизился до 0.5%.

Надо бы сделать автоматизацию, чтобы такое письмо писал робот 🤖

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если узнал новое
🧑‍💻 Жми на ботана, если следишь за этим показателем
109👨‍💻3
Как я перешёл на Линукс

В конце 2000-х я прочитал новость, что Марк Шаттлворт, ментор мафии PayPal и основатель Thawte, основал фонд для финансирования разработки Линукса. Этим Линуксом был дистрибутив Ubuntu, который я и установил. На тот момент почти все российские компьютеры работали на пиратских копиях Windows и все установленные программы тоже были пиратские. Эра SaaS ещё не наступила, купить винду или WinRAR казалось дурацкой идеей. Я захотел провести эксперимент и поработать только на Open Source программах. Так как я занимался веб-разработкой, то у меня получилось и вскоре Ubuntu стал моей основной операционной системой. Дошло до того, что когда у меня был MacBook Pro, на нём тоже был установлен Ubuntu вместо MacOS.

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

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

Чего в линуксе до сих пор не хватает:
- MS Office — для совместной работы я использую Google Docs, для открытия файлов — бесплатный LibreOffice. Совместимость не полная, но мне для работы хватает.
- Мало программ для работы с музыкой, видео и графикой. Нет приложений Adobe. Для графики использую Gimp и Inkscape. Для обработки аудио есть мультиплатформенный Audacity, для стриминга есть OBS Studio, для просмотра видео — плеер VLC. Думаю, что тем, кто работает с медиа, удобнее работать на MacOS. Хорошо, что теперь интерфейсы для сайтов стали делать в браузерной Figma.
- Мало игр. Есть Steam, который выручает всю ситуацию, но в нём не все игры совместимы с Линуксом. Я в современные игры на компьютере не играю, поэтому меня этот момент не беспокоит.
- Нет антивирусов — для домашних пользователей они не нужны. Вирусов просто нет, не сталкиваюсь с заражениями рабочей станции и не слышал про такие случаи много лет. Теоретически это возможно, но хакерам проще взломать массу компьютеров на винде.
- Поддержка ЭЦП и разного рода электронных ключей. Раньше тут был полный игнор пользователей, поэтому у меня была виртуальная машина с виндой или отдельный компьютер под ключи. Сегодня ситуация меняется из-за развития российского дистрибутива Астра Линукс для замены Windows в госсекторе, так что скоро все ключи будут работать.

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

Скачать Ubuntu бесплатно без регистрации и sms.

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

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если узнал новое
🧑‍💻 Жми на ботана, если линуксоид
118👨‍💻3
Среда для приложения

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

Дев (dev, development, local, IDE) — тут сидит разработчик, приложение раскрыто и подключено к приборам, лампочки, мониторы, кишки наружу. Хирургическое отделение, идёт операция. По итогу работы приложение будет передано на следующую стадию разработки.

Тест (test, QA) — тут его всячески проверяют. Заводятся выдуманные пользователи, которые выполняют заготовленные сценарии с синтетическими данными. В роли тестировщиков выступают и люди, и роботы. Их задача — найти ошибки и вернуть приложение разработчикам на исправление или отправить на следующую стадию.

Демо (Demo, Review) — приём приложения у менеджеров. Смотрят продакт, проджект и аккаунт-менеджеры, представители клиента, стейкхолдеры.
Часто демонстрацию проводят на стейдже или тесте, не создавая отдельное окружение.

Стейдж (staging, stage) — тут разворачивают приложение на копии настоящих данных (иногда анонимизированных), проводят финальные тесты на совместимость, интеграцию с другими системами и делают проверки перед выходом в свет. Окружение максимально приближенное к проду.

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

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

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если полезно
🧑‍💻 Жми на ботана, если программист
98👨‍💻8
Как узнать размер рыночной зарплаты?

Специализированные сервисы или консультация HR не всегда доступны, а ответить на этот вопрос можно за 5 минут простым исследованием.

На HH ищу нужную мне специальность Laravel по базе резюме, чтобы понять ожидания кандидатов. Я сравниваю удалёнку, поэтому удаляю из фильтов свой город. Ставлю Полный день в графике работы. В Специализации, выбираю нужную мне: Программист, разработчик.
Скролю ниже до Уровня дохода и видим гистограмму — самую информативная часть исследования. Тут вижу моду — самое частое значение, самый высокий столбик.
В моём случае найдено 2849 резюме, из них 2300 активно ищут работу. Самый популярный на гистограмме диапазон 95 000 р. — 185 000 р. с 894 резюме.

Далее переключаюсь в вакансии, чтобы понять ситуацию со стороны работодателей.
Также ввожу Laravel и проматываю колонку с фильтрами до Специализации, отмечаю Программист. Включаю тип занятости "Полная занятость".
Вижу, что найдено всего 607 вакансий и вот такое распределение по количеству, выполненное в виде неудобного перехлёста диапазонов. Чтобы его проанализировать, нужно перевести числы в проценты от общего числа вакансий.

Зарплата — Количество вакансий
≥ 80,000 ₽ — 312 (51%)
≥ 155,000 ₽ — 213 (35%)
≥ 235,000 ₽ — 80 (13%)
≥ 310,000 ₽ — 27 (4%)
≥ 390,000 ₽ — 11 (2%)

Мои выводы:
- 607 вакансий на 2300 кандидатов, соотношение примерно 1:4. На одну вакансию 4 кандидата. Выглядит как рынок работодателя, чтобы ни говорили СМИ про состояние всего рынка труда.
- Грубо, примерно половина вакансий предлагает ЗП выше 80 000 рублей, а половина — меньше.
- Треть вакансий с ЗП выше 155 000 рублей.
- Только 4% выше 300 000 рублей.
- Вычитаю из количества вакансии дороже 80 тысяч вакансии дороже 155, получаю примерно 100 вакансий. Они частично попадают в самый популярный у соискателей диапазон зарплаты. На него же приходится 894 резюме... соотношение 1:9.

Заключение:
В зависимости от потребности, можно искать хорошего кандидата немного дешевле 150 000 рублей или нанимать топа не дороже 300 000 рублей. Моё мнение, что джун должен получать при такой конкуренции и ставках не больше половины медианной зарплаты. В данном случае, это немногим больше ­40 000 рублей.

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

❤️ Жми сердечко, если интересно
⚡️ Жми молнию, если полезно
🏆 Жми на кубок, если нанимаешь сотрудников
1410🏆8
Как агентству зарабатывать дополнительные деньги

Агентство выбирает и подключает в проекты клиента множество сервисов:
- Хостинг и домены
- Эквайринг
- CRM или складские системы
- Телефонию
- Колл-трекинг и сквозная аналитика
- E-mail-рассылки
- SMS-рассылки
- Мониторинг сайта
- Пополнение рекламных кабинетов

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

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

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

❤️ Жми сердечко, если интересно
⚡️ Жми на молнию, если полезно
🏆 Жми на кубок, если уже зарабатываешь на партнёрках
🏆987
План запуска блога

Когда сталкиваешься со сложной задачей, начинаешь в первую очередь делать то, что уже умеешь. Я столкнулся с задачей по набору читателей в канал и не могу успокоиться, пока не попробую решить этот вопрос как умею — сделаю сайт! Решил, что хочу себе олдскульный блог.

У блога по сравнению с каналом куча преимуществ:
- Посетители смогут найти эти статьи в обычном поиске.
- Этим же посетителям я предложу подписаться на социальные сети.
- Можно будет публиковать статьи на сайт и автоматически кросс-постить в разные каналы: Телеграм, ВК, Дзен, E-mail-рассылку.
- Если какую-то социальную сеть забанят или удалят мой аккаунт, контент останется у меня.
- Нейросети будут обучаться на моих статьях, внесу вклад в общие знания.
- На сайте можно будет размещать рекламу.

Чтобы зафиксировать достижение, поставлю себе измеримую цель:
- через 1 месяц — запустить блог и начать кросс-постинг
- через 12 месяцев — получать больше 10 000 читателей на сайте ежемесячно

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

❤️ Жми на сердечко, если это интересно
🏆 Жми на кубок, если будешь наблюдать за забегом
🧑‍💻 Жми на ботана, если тоже делаешь сайты
🏆2116👨‍💻8
Выбор и регистрация домена

Иногда я покупаю домены и они лежат на полочке годами, ждут проект. Иногда я не могу придумать домен для проекта неделями.

Самое главное, что облегчает выбор названия — чёткие критерии выбора.

Мои критерии при выборе домена:
- фонетически однозначен — легко правильно записать или запомнить.
- не содержит дефис — это лишнее слово, если нужно произнести домен вслух.
- в популярной доменной зоне (ru, com) или отраслевой (fm, agency, vc).
- смотрю на стоимость продления — это гораздо важнее стоимости регистрации.
- желательно меньше слов в названии.

В первую очередь иду на Namecheap в режим поиска домена Beast Mode. Деньги из
России этот сервис принимать не хочет. Зато здесь лучший поиск по новым и экзотическим доменным зонам. 1200 доменных зон — есть из чего выбрать и почерпнуть идеи.

Обнаружил там доменные зоны blog, dev, tech, technology, expert. По названию блога начал накидывать слова: CTO, sensei, techdir, fullstack founder. Из всех очевидных сочетаний fullstackfounder.blog оказался свободен — и всего за $3! Длинновато, но полностью отражает суть.

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

Сравнение для домена fullstackfounder.ru
namecheap — недоступно
nic — 189 р. (590 р.)
reg — 119 р. (?)
beget — 179 р. (390 р.)

Сравнение для домена fullstackfounder.blog
namecheap — $3 ($24)
nic — недоступно
reg — 531 р. (?)
beget — 2930 р. (4010 р.)

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

По итогу сравнения беру ru домен у Reg. Отказываюсь от всех сопровождающих услуг при заказе — они не нужны, сервис навязывает лишние платежи. Также следую правилу держать домен отдельно от хостинга, поэтому хостинг возьму отдельно.

❤️ Жми на сердечко, если интересно
⚡️ Жми на молнию, если полезно
🧑‍💻 Жми на ботана, если владеешь доменами
7👨‍💻76😁2
NFT-коллекция аватаров PostHuman

Как отдыхает программист? Пишет код для удовольствия!

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

Наши пиксельные аватары сделаны по принципу знаменитых Крипто Панков. Слои с головой, одеждой, причёсками и глазами комбинируются случайным образом. У других авторов аватары заранее генерируются, отбираются куратором и лучшие публикуются на блокчейне как коллекция. У нас всё получилось гораздо мощнее — фабрикатор постоянно онлайн и у коллекции нет модератора. Автомат генерирует случайные комбинации из 13 видов слоёв, от заднего фона до цвета глаз. Выпадет одна из 615,000,000,000,000,000 комбинаций!

Как работает механика:
- Валидатор Posthuman и Omniflix.TV распространяют NFT-сферы своим пользователям. Многие получат сферу бесплатно или за какие-то активности. Также сферы можно купить на маркете.
- Сферы работают как билеты или жетончики. Их можно отправить в автомат, который сгенерирует новый NFT-аватар.
- Аватар можно использовать в приложениях экосистемы или продать на маркете.
- Аватар будет случайный, поэтому может не понравится пользователю.
- Аватар можно за небольшую плату сдать в регенератор и получить взамен новую сферу.
- Это вызывает цикл обменов и генераций, пока не выпадет подходящий аватар.
- Аватары бывают трёх рас: Человеки (разного пола и цвета кожи), Роботы и Пришельцы.
- Аватары и сферы бывают разной редкости: Обычные, Бронзовые, Серебряные, Золотые, Платиновые, Бриллиантовые.
- У частей картинки разная вероятность выпадания. Робот в шапке-ушанке более редкий, чем просто робот. Костюм космонавта более редкий, чем рубашка.

Как заработать на NFT-аватарах? Я не знаю — я программист :]
Можно генерировать редкие классные аватарки и продавать на маркетплейсе. Сейчас это дополнительное развлечение для участников блокчейн-экосистемы. Мы запустились пару дней назад, а уже создано 1200 аватаров.

Промо-лендинг коллекции https://avatars.posthuman.digital/
Сгенерированные аватары на маркете: https://omniflix.market/c/collectNow/onftdenomf3c4a963c49747039217eba1dc10282e
Посмотреть, какие аватары выпадают прямо сейчас https://t.iss.one/posthuman_avatars
Автомат по генерации аватаров https://mint-posthuman-avatar.omniflix.market/
🔥76👀5
Пеликаны на велосипедах

Вам тоже надоели сравнения нейросетей (LLM) между собой? Огромные таблицы с непонятными цифрами, которые понимают только специалисты. Есть более наглядный вариант для бенчмарка. Саймон Виллсон, бывший техдир Eventbrite и один из создателей фреймворка Django, уже несколько лет сравнивает способности LLM на одной задаче:
Сгенерируй SVG-изображение пеликана, едущего на велосипеде


Почему эта задача так хороша?
- SVG — формат для векторной графики, но эта графика описана текстом в виде XML-кода. То есть, это и текст, и код, и изображение одновременно!
- Нарисовать велосипед — не самая простая задача даже для взрослого человека. Многие не могут вспомнить, как выглядит рама или руль.
- Пеликан в векторном виде будет мультяшным, его тоже не просто нарисовать.
- Пеликаны не ездят на велосипедах! Велосипеды не приспособлены для них. Нужно проявить изобретательность, чтобы сделать такую картинку.

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

Занимательные ссылки:
- Свежие пеликаны на велосипедах
- Самая ранняя подборка пеликанов на велосипедах
- Подробный обзор LLM за последние полгода и много пеликанов

❤️ Жми на сердечко, если интересно
🕊 Жми на голубя, если нравятся птицы
🧑‍💻 Жми на ботана, если собрался генерировать пеликана на велосипеде
15🕊10👨‍💻9