IT Хасслер
481 subscribers
42 photos
16 videos
6 files
57 links
Привет, я Дима 👋🏻

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

Пытаюсь запустить успешный стартап, но пока что запустил только себя

@metenev
Download Telegram
Немного гиковства 🤓

Вчера пришла моя долгожданная TheModularBottle 🎉 Поддержал проект на Kickstarter ещё в конце 2022 года, очень уж понравилась концепция и то, как она выглядит. Ждал доставку больше года 🤯 уже начал думать, что это скам)

Фичи:

- Внутренняя колба из стекла, внешняя из пластика. Легко мыть, по сути всего 3 части: колба и 2 части крышки. Если в неё налить что-то цветное, выглядит красиво 😄

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

- Небольшой отсек в донышке для всякого: кто на спорте — для витаминов, кто как я — для вкусняшек 😁

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

- Инфьюзер (на 2-м фото): можно положить туда ягоды, фрукты, листья какие-нибудь, чтобы они отдавали вкус в воду.

- Алюминиевая соломинка и ёршик (!) для неё, чтоб чистить внутри.

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

По первым ощущениям могу сказать, что сама бутылка мне нравится: удобная, увесистая такая, с прорезиненными частями (и на дне тоже, чтоб не падала). Хотя на фото она казалась чуть лучше и качественнее, чем в жизни, всё равно достойно. Есть ещё небольшой минус — маленькая трещина на нижней части пластиковой, которая никак не помешает при использовании, но всё же. Написал в поддержку, вдруг отправят замену 🤔

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

Попробую походить с ней на прогулки и в зал, попробую засовывать мяту и всякое такое в инфьюзер. Вообще можно было давно купить обычную спортивную бутылку, и польза в быту была бы примерно такая же, но как-то зацепила именно эта бутылка, захотелось иметь у себя её. Думаю, теперь буду с ней выглядеть максимальным задротом 😆
👍41😁1🤔1🍾1
Дорогие женщины!

С праздником вас ❤️

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

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

Будьте такими, какими хотите быть!
8🔥4🤔2
Преимущества маленьких продуктов 🤏

И так понятно, что маленький продукт сделать и запустить проще: меньше времени и/или денег на разработку, меньше сил потратишь, быстрее запустишь — profit!

Но хочу подсветить это с другой стороны:

Чем дольше делаешь продукт и больше в него вкладываешь (не только времени и денег, но и собственного труда, внимания, нервов), тем страшнее его запускать — выкладывать на Product Hunt к примеру, да и просто рассказывать о нём в публичном поле. Страшно, что он не зайдёт, и очень сложно признать, что он не удался, и отказаться от него.

С другой стороны, маленький продуктик на недельку-две работы: сделал без напряга, зарелизил где хотел, дал трафа немножко. Пошло — супер! Не пошло — пох*й. Сделал выводы, отдохнул, через недельку новый стартанул 🕺

Этот небольшой инсайтик получил не так давно, и теперь уже как-то не хочется делать большие штуки... 🤔 возможно это и хорошо — теперь даже в потенциально больших проектах буду думать, как его дробить на части и по кусочкам создавать и релизить. А возможно я больше никогда ничего крутого так и не сделаю 🥲
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7🤔2
На прошлой неделе решил втопить в направлении непубличного проекта, почти всё время уходило на него.

И, собственно, возник вопрос: А кто как деплоит и запускает свои небольшие продукты на node.js?

Раньше я выкачивал git-репозиторий на сервере, запускал npm install, запускал всё это с помощью pm2.

Затем я выучил новую схему — это Kubernetes и Terraform. Но это лакшери-схема, для бутстрапа небольшого проекта это дорого и неоправдано технически.

Сейчас делаю так: собираю билд с помощью rollup, на VPS-ке настраиваю nginx, гружу файлы, пишу systemd-скрипт, в котором просто node index.js и Restart=OnFailure.

Может кто поделится каким-то простым и удобным CI-решением для такого?

И, что самое интересное — как вы настраиваете VPS, если надо несколько одинаковых? Просто руками, с помощью Ansible, или пишете себе .sh-скрипт?
👍42😱1
Горы и хассл 🤓

Последние 2 недели пролетели на одном дыхании. Практически всё время посвящал непубличному проекту, а ещё прилетала подруга, и мы сгоняли в горы 🗻

Это было офигенно, но я всё никак не найду времени, чтобы разобрать все фотки и видео — хотел смонтировать рилс, забрать пару подписчиков у тревел-блогеров 😄

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

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

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

Апдейты по статистике уже имеются, думаю скоро выложу 📈
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥21
Как задеплоить не очень сложный продукт на VPS: Часть 1

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

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

Я сам сейчас юзаю CentOS 9 Stream, поэтому писал всё под него, но если шарите, несложно будет адаптировать под любую другую *nix. Для CentOS 8 кажется тоже должно подойти сразу, без правок 🤔 После выполнения скриптов VPS будет настроен согласно этому мануалу, также будет установлен и запущен Docker.

В общем, схема такая:

1️⃣ Арендуем VPS (про shared хостинг не пишу, т.к. там часто бывают ограничения по настройке системы)

2️⃣ Генерируем публичный и приватный ключ. Если вы на Mac/Linux, то OpenSSH, если Windows — то PuTTYgen. Размер можно сделать 2048, остальное — как хотите.

Если юзаете PuTTYgen, то после генерации и сохранения ключа нужно из поля «Public key for pasting into OpenSSH» скопировать всё, что там есть, и вставить в новый файл - этот файл надо будет указывать на следующем шаге.

3️⃣ Запускаем у себя на ПК скрипт для создания юзера, из-под которого будем всё устанавливать и запускать (для безопасности):

./setup_auth.sh -h <host> -u <username> -p <password> -k <keyfile>


Где:
<host> — IP-адрес вашего VPS
<username> — имя пользователя, которого мы создадим
<password> — его пароль
<keyfile> — это путь до файла с публичным ключом

При запуске скрипт попросит ввести пароль root-пользователя для подключения. С винды можно через git bash запускать.

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

4️⃣ Логинимся в VPS обязательно под новым пользователем, загружаем туда скрипт setup_centos9.sh для дальнейшей настройки. Да, может стоило заморочиться и сделать всё в одном скрипте, но я с ходу не разобрался, как запустить все команды через SSH с sudo 😅

5️⃣ Запускаем скрипт (понадобится ввести пароль нового пользователя):

sudo bash ./setup_centos9.sh


Он установит firewalld, удалит ненужные пакеты и установит докер.

Всё, теперь ваш VPS настроен. В следующей части напишу про изи-запуск приложений на нём❤️

P.S. Если есть критика, пожелания, предложения по скриптам, пишите 🙌
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42👌2
IT Хасслер
Как задеплоить не очень сложный продукт на VPS: Часть 1 Возник у меня такой вопрос пару недель назад, потому что не хотелось сразу заморачиваться с k8s, а облака не подходят для моей архитектуры. Спасибо Роману — он сразу поделился своим подходом и скриптами…
Как задеплоить не очень сложный продукт на VPS: Часть 2

Сервер настроенный у нас есть, теперь надо как-то запустить на нём ваше творение. Я поначалу думал nodejs-сервер собрать с помощью Rollup в готовый js-скрипт, который просто запущу с помощью systemd-сервиса. Но меня убедили юзать докер и не париться, поэтому приложу Dockerfile для абстрактного nodejs-приложения, (собранного также с Rollup, поэтому не требующего установки npm-пакетов).

Продолжение схемы:

6️⃣ В папку с вашим приложением кладём файлик deploy.json — в нём заменяем:

<vps_ip> — на IP-адрес вашего VPS;
<username> — на имя вашего юзера, которого мы создали на VPS в первой части;
<keyfile> — на путь до публичного ключа, который мы создавали, в формате OpenSSH.

Это просто конфиг, указывающий, куда деплоить приложение. Далее:

7️⃣ В эту же папку с приложением кладём скрипт build.sh. Он выполнит сборку приложения, сборку docker-образа, загрузит этот образ на VPS и перезапустит docker compose (или запустит его, если это первый раз). Выполним его позже.

Особенно интересный в нём метод доставки образа в докер на VPS. Я о нём не знал, как ни странно, и думал, что придётся поднимать свой docker registry, но это решение (спасибо Роман!) — просто спасение 😁

Также скрипт использует pnpm. Если у вас другой менеджер пакетов, замените pnpm build на соответствующую команду.

8️⃣ На VPS в папку ~/ (то есть /home/<username>) загружаем файл docker-compose.yml. Там только одно приложение описано, впишите туда всё что хотите запускать.

9️⃣ Ну и теперь финалочка! Запускаем build.sh:

./build.sh <app>


Где <app> - название вашего приложения, оно же должно быть указано и в deploy.json.

Скрипт в качестве версии приложения берёт версию из package.json, а при создании docker-образа сохраняет его как .tar.gz архив в папку /images внутри вашего проекта (её стоит добавить в .gitignore). И если в этой папке уже есть образ с такой версией, он выдаст ошибку. Поэтому при каждом билде можно или повышать версию в package.json, или добавить второй аргумент к скрипту (любой):

./build.sh <app> f


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

Ну теперь, если всё сделано правильно (и я в скриптах не накосячил), ваше приложение должно заработать на VPS, и последующий билд и деплой делается одной командой 🎉

Если будут вопросы, пожелания, предложения, или найдёте косяки в скриптах — пишите 🤜🤛
👍53
Так, берём на карандаш этого человека. На свой личный джет не возьму потом)
😁8👌2
Выходные прошли стремительно, но я не намерен унывать
😁41
Я тут пристально слежу за жизнью моего друга-айтишника Зуфара на ZufarExplained IT. Он уже как 3 года живет в Англии 🇬🇧 и работает бэкенд-разработчиком.

Постоянно смеюсь, как у него "горит" от индусов и арабов на работе 😄 Также интересно послушать его видео-рассуждения по работе и жизни (хэштеги #ZufarTube и #zufar_uk_life).

Зуфар считает, что для айтишника есть 2 социальных лифта: это айти-стартапы или работа в FAANG. Получается, я пошёл по первому, а он как раз по второму.

⚡️ Сейчас Зуфар готовится к тех интервью в Google и делится каждый день новой порцией интересного:
- Объясняет важные подходы к решению алгоритмических задач (heap tree, binary search и другие).
- Рассматривает компоненты для System Design Interview (JWT, Databases и другие).
- Ходит на тех. собесы и делится вопросами, задачами которые ему встретились на интервью вместе с их разбором.
- Проводит бесплатные master mind онлайн встречи, где вместе с подписчиками разбирает сложные вопросы по айтишному интервью.

⚡️ Ещё Зуфар создал топовый онлайн-маркетплейс по продаже кофе https://iced-latte.uk/ в образовательных целях. Он разрабатывает его с нуля с начала 2023 года в виде open source-проекта: Backend и Frontend. Кстати, накидайте звезд ⭐️⭐️⭐️ на эти репозитории, ребята хорошо постарались.

В его команде уже 25 человек: BE, FE, Devops, в общем, полностью готовая кроссфункциональная команда.
⚡️ Они до сих пор набирают новых людей среди подписчиков — так что, если кто хочет набраться реального боевого опыта на большом современном проекте, даже если вы начинающий, смело залетайте.

Также Зуфар делится новостями из мира IT, мемами и процессом сбора доказательств для визы талантов в Англию — что тоже интересно в нынешних реалиях.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥2🤡1
Обещал написать про цифры на непубличном проекте 🥷

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

На данный момент куплено дофига доменов и запущено 4 сайта, на данный момент вложено чисто в SEO на эти 4 сайта примерно $350. Конечно надо будет вкладывать ещё и ещё на дистанции.

Сайты мы сделали ещё в начале года, и всё это время, качнули SEO, и всё это время на них потихоньку росли посещения (где-то больше, где-то меньше). Там были просто лендинги с предложением «Join the waitlist», а сам продукт на этих сайтах был запущен в ночь на 1 апреля, и сейчас в среднем у нас в день прибавляется по ~100-200 юзеров (в сумме по всем сайтам). Это именно регистрации, живых пользователей мы пока не считали (кто-то может после регистрации и не заходить на сайт).

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

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

Денег мы пока не зарабатываем, только вкладываем, но работаем в этом направлении, так что пока похвастаться нечем. Как будет — я напишу 🤓
👍6🔥21🤔1
Я в последнее время много думаю о том, а что я умею после 12+ лет разработки всего чего только можно в вебе? Что у меня есть как итог всего этого на текущий момент? 🤔

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

Я много фрилансил, много работал в найме и много работал над собственными проектами, часто это всё накладывалось друг на друга — я же хасслер всё-таки 🤷‍♂️

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

- Лендинги
- Корпоративные сайты
- Интернет-магазины (довольно много)
- Чат-боты (тоже много разноплановых)
- API различного назначения
- Десктопные приложения
- Фермы аккаунтов
- Сложные SaaS-продукты B2B и B2C — iDirect, чаты и ещё ряд продуктов под заказ
- Продукты с использованием ИИ — это и генерация текста, и генерация изображений, и test-to-speech, и speech-to-text
- Даже бота для торговли на бирже доводилось делать 😄

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

💡 И вот недавно пришёл ответ: я отлично умею создавать готовые для продакшена IT-продукты. Притом не важно, это найм, фриланс или что-то своё: дайте мне идею продукта, принцип его работы, все детали и важные тонкости, и я сделаю эту штуку «под ключ», готовую для запуска трафика.

Действительно, если оглянуться и посмотреть на весь мой опыт — я же всегда именно этим и занимался! Позже напишу, как я вкратце вижу весь свой карьерный путь.
👍52🔥2
Чем я занимался 12+ лет жизни:

▫️ Первая моя работа («программист-стажёр»): было очень много задач, где с нуля нужно было создать продукт (чаще всего мини-игра или интерактивная презентация), либо доработать какой-то, чтобы его можно было выставить пользователям.

▫️ Опыт создания своей собственной flash-игры: это было максимально тяжело (потому что сложная сфера и перфекционизм), но я её сделал и даже продал! И это, можно сказать, был первый опыт создания собственного продукта с нуля, ещё и от этого так сложно было.

▫️ Несколько лет фриланса: много заказов по созданию с нуля интернет-магазинов, лендингов, корпоративных сайтов, телеграм-ботов, иногда даже дизайн делал я сам 🎨

▫️ Бесконечное число попыток создать свой IT-продукт: это продолжалось всю мою карьеру — даже если я был в найме, я в свободное время работал над пет-проектами (по факту всё это были попытки создать стартап, я никогда не делал проект чисто из интереса или чтобы потренироваться). И в них я почти всегда всё делал с нуля: дизайн, фронт, бэк и всею инфраструктуру. И всегда с расчётом на то, что им будут пользоваться люди — а это предполагает определённый уровень качества и внимание к деталям.

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

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

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

Это всё наводит на интересные мысли, вечером опишу ✍️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥21
IT Хасслер
Чем я занимался 12+ лет жизни: ▫️ Первая моя работа («программист-стажёр»): было очень много задач, где с нуля нужно было создать продукт (чаще всего мини-игра или интерактивная презентация), либо доработать какой-то, чтобы его можно было выставить пользователям.…
Итак, что мы имеем: я пока плохо шарю за трафик и продажи, но отлично умею создавать качественный продукт.

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

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

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

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

И в вот из всего этого у меня формируется идея, как я могу всё что описал выше проверить и подтвердить на практике, и дать пользу тем, кто как раз шарит за трафик и продажи. Я её получше распишу и завтра дам апдейт ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍21🤔1🤡1