Daniel Spravtsev
14 subscribers
35 photos
4 videos
22 links
Рассказываю как строю веб-сервисы и плыву по айти

#BuildInPublic
@DanielSpravtsev
Download Telegram
Я вернулся 🐰

Предствим, что это был небольшой отпуск, да, трехмесячный 😃

Что нового:
Из обычного:
1. До жопы проектов
2. До жопы дел

Из интересного:
1. Совсем скоро вылупляю deploykin.com — сервис управления серверами и веб-сайтами

Я не знаю, почему так, но дела по этому проекту шли (и идут) очень долго (целый год), что пришлось даже продлять домен ни разу еще не линканув его никуда (что весьма непривычно для меня) 🤔

2. subtasked.com — объясню просто, меня задолбало трелло, я 3 дня выкапывал аналоги, црм, ерп и вообще всевозможные подобные платформы с 3 самыми важными для меня критериями
1. Управление проектами -> задачами
2. Финансы
3. Прямая связь задачи с определенной транзакцией


По 1 и 2 с трудом, но можно найти варианты, но если нужно в задаче написать: "с вас 5 тыщ", то хрен где ты привяжешь эту сумму к определенной задаче. Максимум кастомные поля (чем и пользуюсь в трелло), но которые не участвуют в разделе финансы (2 обязательный пункт), что делает это особо бесполезным в отчетности, потому что ни о какой автоматической/графической отчетности и речи не может быть

Этим проектом займусь сразу же после пилотной версии деплойкина 😀 Оба проекта очень жду для своих нужд, поэтому начинаю готовить весьма активно 🔥




p.s. На скрине моя активность на гитхабе с момента моего прихода на него 🧑‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
1
А еще, так сказать о подгоревшем

Еще до покупки deploykin.com кто-то приобрел себе deploykin.ru и поместил туда (о чем я не знал) коуб с This is my pee pee pee 🤣

Уже предвкушаю недоумения
🤣3👀1
Проверим, как работают #хештеги в последней обнове тг

По мне так, пока их не интегрируют в глобальный поиск, толку от этого особо не много

На этом посте должно быть не больше 15 просмотров, если будет больше, расскажете 😁

#разработка #laravel #php #веб
👌2
Вывод: хештеги не работают. Как не работали в 2018 на заре их использования в соц. сетях, так и здесь.

Наверное, никто и никогда так и не узнает как это задумывалось, поскольку получилась дополнительная помойка из спам-каналов и спам-постов 😂
Please open Telegram to view this post
VIEW IN TELEGRAM
😢1
This media is not supported in your browser
VIEW IN TELEGRAM
Тапаем хомяка даже в метро 🤑
Please open Telegram to view this post
VIEW IN TELEGRAM
💅1
Если вы когда-нибудь пользовались фэтсикретом (FatSecret) для подсчета калорий, то скорее всего у вас тоже подгорала жопа с того, что вы не можете без особых усилий занести в него приготовленную вами еду (состоящую из продуктов в их базе)

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

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

Отсюда появляются 2 челенджащих вопроса:
1. Как записывать «:блюдо»?
То есть это будет возможность выбора среди ранее добавленных в приложение «:продуктов» или добавление в свободной форме, типа:
Картошка [10, 5, 8] (белки, жиры, углеводы)
Морковь [……]
Сливки 20% [……]

2. Откуда взять базу основных продуктов? (овощи, самые популярные: молоко, яйца)

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

Для решения второго вопроса, в первую очередь я проанализировал все общедоступные базы/API с продуктами питания.
Все они были либо платными, либо особо бесполезными (маленькая база). У того же FatSecret’a бесплатна только база на Английском (ну спасибо ☕️) и с большими ограничениями

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


Как результат — спроектировал архитектуру для сбора и хранения продуктов любых типов с поддержкой брендинга (Домик в деревне, ВкусВилл и т.п.) и телеграм бота, позволяющего искать по базе продуктов и просматривать КБЖУ

А на этом все, дальше я забил, переключился на другой проект и добро пожаловать в #замороженные_проекты@progerdan


Если у вас есть идеи, что можно сделать с базой КБЖУ в 260.000 продуктов, пишите в комментарии👌

А вообще, если дойдут руки, я бы сделал небольшой каталог в вебе с SEO и посмотрел бы, к чему это приведет


Если интересно пощупать получившийся результат, пожалуйста — ссылка на бота , просто отправьте название продукта
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Периодически работаю с автоматизацией работы в браузере (например, чтобы каждый день бронировать себе место в опенспейсе офиса).

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

1. Она работала только на Windows.... а как на маке...((
2. Теперь она только платная......🤔

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

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

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

Собственно, представляю свою реализацию 🥸

Я решил пойти простым путём, не забираться в .NET и просто сделать всё на вебе.

Страница загружается через CURL, после чего отправляется в iframe, и на него добавляется скрипт для обработки курсора и его действий.

P.S. Это самая первая демо-версия.

Позже я перешёл на работу с headless-браузером, и в ходе тестов выяснилось, что всё ломается на всплывающих элементах (потому что при передаче HTML iframe не отображает выполненный в браузере JavaScript — т.е. различные всплывающие окошки и т.д.).

Поэтому чуть позже покажу новую версию и то, как я это решил 😮‍💨
Please open Telegram to view this post
VIEW IN TELEGRAM
👏3
This media is not supported in your browser
VIEW IN TELEGRAM
Что можно сгенерировать через нейросеть за 10 секунд 👏

И ведь это уже практически невозможно отличить от студийной записи, а что будет через пару лет….

Просто вводите в любом музыкальном сервисе что хотите слушать и вуаля — генерируется целый плейлист 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1👾1
Стараюсь периодически вспоминать и писать статьи в блог, естественно не без помощи нейросети, но вы только посмотрите на эти приколдесные обложки, которые она генерирует!!! 😮‍💨

А когда перестанет текст бредить и плыть — я буду вообще в полном восторге 😏
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2😁1
Как ускорить SSH-аутентификацию в 178 раз

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

Почему всё было так медленно
🔹 OpenSSH + пароль
Я использовал SSH-ключи в OpenSSH-формате с паролем (passphrase).
OpenSSH шифрует их с помощью bcrypt (или аналога KDF) с огромным числом итераций – это круто для безопасности (хотя и другие методы не менее безопасные), но ОЧЕНЬ медленно.
Когда исполнительный сервер пытался расшифровать ключ, процесс занимал 4+ секунды.

🔹 Ключ загружался постоянно
Деплой, выполнение задач, тестирование – при каждом подключении ключ снова и снова расшифровывался. Все это дико бесило и замедляло работу.

---

Как ускорить SSH-авторизацию?
Перейти с OpenSSH на PKCS8
Главный трюк – отказаться от шифрования bcrypt внутри OpenSSH и использовать PKCS8 с PBKDF2, где можно настроить разумное количество итераций или использовать дефолтные настройки

📌 Разница:
OpenSSH (bcrypt, cost=16–18)секунды расшифровки
PKCS8 миллисекунды

Публичная часть ключа всё ещё в OpenSSH-формате (для `authorized_keys`), но приватная теперь PKCS8.

Дополнительное шифрование AES-256
Чтобы ключ не лежал в открытом виде, сверху добавил AES-256.
Это дешёвая по вычислениям операция, но она не даёт ключу валяться в чистом виде на диске (даже если это S3).

Теперь процесс:
🔸 AES-256≈0.001s
🔸 PKCS8<0.02s

Общее время расшифровки < 0.03 секунды вместо 4.6508 секунд.


Итог: ускорение в 178 раз 🚀
Бенчмарк показал разницу в 17 739%. Теперь SSH-аутентификация работает в сотни раз быстрее, что значительно ускоряет деплой и управление серверами.


Если у вас долго проходит авторизация – попробуйте такой подход 🥸

#buildinpublic
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1🤝1
Давненько вынашиваю идею собрать себе кастомный таск трекер с элементами документооборота, поскольку на рынке попросту нет решений, подходящих под запрос 🤷‍♂️ (а все что +- можно с напильником под себя доработать начинается со среднего тарифа и за 10.000₽ - 20.000₽/месяц)

И вот первая и вторая технодемки этого проекта:

В первой обкатал drag&drop

Во второй собрал более приятный интерфейс

В третьей придется начинать конкурировать с трелло 🤫
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Зацените, статистика поискового трафика сайта студии с момента начала публикаций статей в блоге.

Так глядишь и до целевых статей докатимся, а пока это так, тесты 😁
🎉2
Возвращаюсь к таск трекеру и показываю первые апдейты 👌

В идеале бы к выходным собрать первую бетку 🙂
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1🤯1
Забавная ситуация...

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


— Чего, думаю я. Какие вирусы, там просто статичный лендинг, без каких-либо CMS, Wordpress'а и подобного

Оказывается, комплаенс просто смотрит VirusTotal и если видит там что-то красненькое — бьет в бубен 😃


До меня этот домен был в использовании, но судя по скринам из вебархива там всегда была заглушка регистратора домена, поэтому каким образом 4 из 97 базы вирусов определили его как фишинг - загадка


Но так или иначе модерацию без проблем прошел, а для полного удовлетворения отправил запрос всем базам на речек и вот результат - все удалили записи о вирусах 🥸
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁1
Сервис учет оплаты подписок бот тг

О, не в тот чат написал 😁

Короче, надо бы сделать бота в тг для учета подписок и их дат окончания

Вас тоже напрягает привязывать карту для авто-оплаты? 😁


Я недавно тестил инфраструктуру под один проект в Timeweb'е и они такие хоп, -3.000₽ 👌
Please open Telegram to view this post
VIEW IN TELEGRAM
Daniel Spravtsev
Возвращаюсь к таск трекеру и показываю первые апдейты 👌 В идеале бы к выходным собрать первую бетку 🙂
Не могу не показать...

Посмотрите с чего все начиналось и как это выглядит сейчас

Моя прелесть.... ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
😍1
В последнее время все чаще замечаю посты в разных сферах, где люди по длинному тире определяют текст от нейронки

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

Но лично я всегда использую длинные тире, чтобы текст не казался сухим прям как этот 🙂
💯2