Привет! Я Люк, и около 3 месяцев назад я вроде как потерял работу, с тех пор я решил заниматься тем, что меня удовлетворяет. У меня осталось около 12 месяцев до того, как у меня закончатся деньги, так что это хорошая работа, которую я пока делаю хорошо ... Я думаю ...

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

Так что же я сделал?

Как говорится (кто они?), Устраните проблему. Так я и поступил.

Мне нужно зарабатывать деньги, но как? Будучи очень увлеченным фотографией и видеосъемкой, я решил проверить стоковые веб-сайты, такие как Shutterstock, Pond5, Adobe Stock и Storyblocks, и начать просматривать свои жесткие диски и загружать свои фотографии 📷 и видеоматериалы в Интернет.

Так в чем проблема?…

Вскоре я обнаружил, что заполняю одни и те же данные снова и снова для нескольких сайтов, даже если вы используете способ загрузки в виде электронной таблицы, это все еще может быть проблемой. Я просто хочу снимать видео и фотографировать! Эта часть НЕ ВЕСЕЛА.

Это привело меня к созданию Stockbatcher. Программное приложение для macOS и Windows, которое позволяет вам вводить данные видео и фото один раз, а затем, одним нажатием кнопки, вы можете отправить эти данные на стандартные веб-сайты, все они! (Ну, я говорю всем, я работаю над добавлением еще, пока мы говорим 😜).

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

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

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

Я спросил друга, как он это сделал, и он ответил: Кукольник. Это относительно новый инструмент от умных ребят из Google. В частности, ребята, которые работают над Chrome и Dev Tools. Цитата с сайта Puppeteer:

Puppeteer - это библиотека Node, которая предоставляет высокоуровневый API для управления Chrome или Chromium по протоколу DevTools. Puppeteer по умолчанию работает без головы, но его можно настроить для запуска полного (без использования головы) Chrome или Chromium.

Идеально! Потому что Javascript - это все, что я (вроде как) знаю. Так что я застрял в документации Puppeteer и медленно научился перемещаться по веб-сайтам, используя его.

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

Так что же будет после Кукловода? ... Электрон.

Electron - это способ создания настольных приложений для Windows, macOS и Linux, просто используя HTML, CSS и JS. О боже мой! Это ТОЧНО единственный язык, который я (все еще вроде как) знаю. Честно говоря, я также немного изучил PHP и SQL, достаточный для отправки и получения данных из базы данных, по крайней мере, в любом случае.

Но Люк, почему бы не сделать веб-приложение? Что ж, хороший читатель, во-первых, молодец, что зашел так далеко. Причина в том, что я действительно не знаю, как (и возможно ли это) запустить Puppeteer и Node из веб-браузера. Если бы я это сделал, я почти уверен, что код должен запускаться на сервере, то есть серверу необходимо запускать экземпляр Chromium каждый раз, когда делается запрос (что очень часто используется на сервере), или код необходимо отправлять на пользователь, чтобы он мог его запустить, так что я могу просто использовать локальное приложение. Также потому, что боту иногда требуется захватить пароль, и я не чувствую себя в безопасности при работе с такими данными в Интернете с моим текущим уровнем опыта. Я имею в виду, что я научился останавливать SQL-инъекцию 💉 но кто знает, что еще могут делать люди, о которых я не знаю.

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

Следующая остановка - хостинг.

Сначала я выбрал свой текущий общий хост. Но поскольку я создавал сайт с нуля, используя старый добрый HTML, CSS и немного JS, я немного растерялся, когда дело дошло до реализации https. Оказалось, что мой хост не поддерживает такие замечательные сервисы, как Let's Encrypt, поэтому я немного не понимал, что делать дальше. Я спросил друга, и они порекомендовали мне УДИВИТЕЛЬНЫЙ сервис, который позволил мне без шуток поднять мой сайт; около 10 секунд и есть https. Это сервис Netlify. Создайте статический сайт, перетащите папку на свой сайт и БАМ! Это онлайн. Теперь просто направьте на него свои серверы имен от поставщика домена, и все это будет работать в вашем домене.

Так что это круто, теперь у меня есть программа и дом, где ее можно установить. Но мне нужно платить по счетам, чувак. Итак, мне нужно настроить какой-то способ оплаты. Я много лет использую PayPal в других компаниях, и мне захотелось перемен. Каждый раз, когда я конвертирую валюту с этими парнями, чтобы заплатить себе, меня по-королевски трахают. С тех пор, как я использую удивительные продукты, такие как Monzo и Revolut, я просто не могу этого больше терпеть. Но эти две услуги для другой статьи.

Время полосы.

Я решил использовать Stripe для своего платежного процессора. Кажется, они очень ориентированы на разработку, а я разработчик (вроде как? Вероятно, нет). Скопируйте и вставьте код и БАМ! У вас есть милое всплывающее окно для приема платежей. Но подождите, не работает, почему не работает ?! 😭 Ой, хорошо, помните, когда я сказал, что Netlify позволяет создавать * статические * веб-сайты? Что ж, это проблема, потому что Stripe требует наличия серверной части. Извините, возможно, мне стоит упомянуть, если вы не уверены и / или не погуглили, когда я впервые упомянул об этом; статический сайт в основном не имеет серверной части или базы данных.

Так что это проблема для Stripe на Netlify. Но я был так доволен настройкой и доволен Netlify, что не хотел возвращаться к тому, что не знал, где разместить свой сайт и настроить https. Я определенно не чувствовал, что сейчас самое время изучать, как настроить сервер Linux (хотя я с нетерпением жду возможности научиться этому). Так какой план, Бэтмен? 🦇

А вот и AWS Lambda.

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

Итак, следующее, что я узнал, - это настроить функцию в Amazon Web Service Lamda. После некоторого покопания в Интернете и некоторой помощи друга, чтобы заставить его вернуться на мой сайт после того, как это было сделано, я был в порядке!

Это подводит нас к настоящему моменту, так что же я узнал? Ну, как оказалось, на самом деле чертовски много 💪…

Я создал веб-сайт, на котором я изучил больше HTML и CSS. Мне пришлось создать интерфейс своего приложения, в котором также использовались бы эти технологии и JS. Затем МНОГО JS для серверной части приложения. Здесь я очень подробно изучил функции, циклы, операторы if / else, массивы, объекты, обработку файлов JSON, работу в терминале и многое другое. Потом были AWS и Stripe.

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

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

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

Следуйте за мной здесь, в Твиттере или здесь, на моем веб-сайте (в процессе, слишком занят созданием этого программного обеспечения!).

Да, и если вы хотите проверить мое программное обеспечение, вы можете найти его здесь: https://stockbatcher.com/

Я тоже скоро обновлю этот сайт, чтобы он выглядел лучше! Полегче со мной, я все еще учусь. 😇

Вы можете поддержать мое путешествие сюда, если хотите!
Вы можете поддержать меня деньгами на кофе, если хотите, в моем Patreon или через Paypal.

Большое вам спасибо