ТехСпец Pro
207 subscribers
137 photos
27 videos
26 links
Канал про интеграции инструменты и ведения проектов.
🌐https://techspec.pro
ИНН: 710006010307
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Давно не было столько жизы в одном видео 😂🥲
🤣9
This media is not supported in your browser
VIEW IN TELEGRAM
С Наступающим Новым Годом! 🎄 🥂


Что ж друзья и коллеги, по правде говоря не хочу подводить никаких итогов 😁 Это был тяжелый год 🫠

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

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

А уже в новом году я вернусь к вам с рассказом о сравнительно новом направлении в котором я попробовал свои силы и даже получилось 🔥

Каждому из вас хочу пожелать крепкого здоровья в первую очередь ☝🏻Пусть сбываются ваши мечты и реализуются ваши самые амбициозные идеи и замыслы 🥂
Желаю по больше интересных мероприятий, крутых знакомств и новых классных проектов 😎 и что бы никакие внешние факторы не влияли на вас)

С Наступающим! 🎄 🥂
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥9🎉6🎄51
SaleBot как бы намекает 😁

Выходные и праздники закончились, пора вкатываться в работу :)


А вы как тут?) Уже работаете?) Кому отдохнуть удалось? 😎
🔥8😁52
С возвращением меня 🥂😁

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

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

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

Потом и вовсе внезапно потеплело, чем собственно я и наслаждался))


А вообще в январе я хотел прям залететь с ноги… Так-то принял решение уходить в сравнительно новую сферу для себя — в разработку полноценных миниапов под ключ.

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

Кто меня знает, тому известно, что с бэкендом я на «ты». Все ясно, понятно и прозрачно. Однако познания в верстке у меня далеко не айс, это при том, что я вполне спокойно работаю с React.

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

Так что такие дела, друзья.
Думаю, у меня ещё будут интересные новости и анонсы 👍🏻

Постараюсь сильно на долго не выпадать.
Не теряемся)
8🔥6💋4
This media is not supported in your browser
VIEW IN TELEGRAM
Ну вы уже поняли, от меня либо нихрена нет контента, либо сразу и всё 😁

В общем… История с тем проектом в котором я был не закончилась.

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

Ну и готовьте ребята запуск 🚀

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

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

Ситуацию надо как-то разруливать, а иначе в игру сыграет остаток команды и игра эта на выживание.

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

После череды созвонов появилось понимание как это все вытворить.

Концепт на видео)

А вот что будет дальше (а это прост горение жоп и покусывания стула) я расскажу позже 😁
🔥12💯32
Почему иногда не выходит следовать срокам которые сам же и озвучил?

Я вот нашел интересную статью на Хабре. Что интересно, статья отлично описывает нашу реальность и без разницы, разработчик ты или тех.спец или совмещаешь 🙃

Как по мне, всегда так происходит и будет происходить пока ты имеешь дело с той или иной техникой)


https://habr.com/ru/companies/ruvds/articles/885258/
🔥92
Железная рубрика

Если кто помнит, то есть у нас тут и такое. Время от времени нахожу всякие интересные железные штуки и пытаюсь их приручить.

Прошлую серию можно глянуть по ссылке ниже:
https://t.me/techspecpro/148

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

Теперь будет работать у меня в качестве термометра 😁

А может ещё чего в итоге прикручу)

Занятно, что получилось и извне к нему подключится и родной кабель от него работает тоже.
🔥8💋21👍1🆒1
Пример того как правильно выстроить службу заботы/поддержки в проекте 😁

Гарантировано снижение количества глупых вопросов в десятки, а то и сотни раз 😁
😁19💯9🔥71
Расширение chrome для администраторов школ

Ну что, вот я и докатился до публикации своего первого браузерного расширения в Chrome Web Store.

Я опубликовал расширение Загрузка уроков с GetCourse, это расширение для администраторов (!) онлайн школ на GetCourse которое позволяет быстро переходить к исходнику видео в файловом хранилище.

У меня уже даже порядка 40 установок и я даже благополучно получил одну звезду и гневный отзыв так как забыл указать, что расширение для администраторов, а не для учеников 😁

Описание уже поправил, но через сколько пройдет модерация я пока не знаю))

Так что если кто-то как и я страдает от необходимости поиска исходников видео с уроков то welcome))

Расширение отображает кнопку "Скачать" на фрейме с видео прямо в уроках. По нажатию вас сразу пробросить к нужному файлу в файловом хранилище.

В целом получилось просто и удобно, если кому нужно забирайте
🔥31👏4👍311
Как я данные замедлял

Есть у нас на проекте одна задача: нужно собрать всех пользователей с определенным заказом с двух GetCourse в единую таблицу Google.

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

В целом избитая тема о которой достаточно много информации в сети. Но есть нюанс. И даже несколько.

Честно говоря однажды я устал бегать за учениками с рассылками в духе «Ну подключите бота пожалуйста» и выстроил нестандартную интеграцию GetCourse и SaleBot. И попросту запретил доступ к тренингам до тех пор пока человек не подключит бот, а можно было и прикрывать доступ к урокам если бота остановили 😁 (но пока я этого делать не стал)

Эта же интеграция передаёт все данные с GC в Sale, а если быть точнее, то SaleBot забирает всё, что необходимо сам через Chatium API и выставляет на GC все нужное тоже сам. После подключения бота.

И в целом все шло хорошо. Но у нас возникло новое приключение, которое называется «угадай никнейм пользователя». Для нашего проекта критично, что бы у пользователя был никнейм и мы не пускаем дальше геймификацию, пока ник не установят.
Но нашлись ребята, которые ники ещё и повадились менять…

А SaleBot фиксирует никнейм разово и не актуализирует эти данные не во время работы воронки не во время рассылок. В общем никак, только если ручками в калькуляторе чего-то не прописать и отправить. Да вот только ручками обновлять данные нужно не только в сейле, но и в таблице, а это делать мне лень. Как и не охота было писать AppScript или оставлять таблицу с доступом редактора по ссылке…

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

Но проблема подкралась откуда не ждали. Что делать, если у тебя уже есть таблица в которой сотня-две записей? Сделать рассылку с хуком на интеграцию дело паршивое. Так как сейл (да и геткурс тоже) высылают хуки весьма бодро. Особенно сейл (но его еще можно замедлить, а вот геткурс уж никак), а скорость обработки в таблицах существенно ниже из-за чего получались пропуски и прочая вакханалия.

Я даже походил по чатам да по задавал вопросы, но полученные ответы меня не устроили. Либо не охота было на ночь глядя с новыми приблудами возится, да и ставить 3ю СУБД на сервер мне тоже не хотелось. Плюс идея обновлять по таймеру сразу все как-то тоже не улыбалась.

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

В итоге не придумал ничего лучше, как поставить прокси-буфер. Просто по быстрому накидал код который принимает данные по Webhook с той скоростью, с которой шлют. А вот отдает на n8n уже медленно и внятно, ровно с комфортной для работы Google-таблиц скоростью. В качестве диспетчера очередей взял RabbitMQ. Все остальное — NodeJS приложение.

И все наконец-то встало на свои места. Честно говоря, дольше по чатам ходил да сокрушался, что более простого решения не нашлось 😁

Как итог все работает как следует. Я сразу запустил все процессы, рассылку в SaleBot с запросами на обновление данных и спокойно ушел поужинать. Вернулся, глянул на таблицу и все там в полном порядке, все как по полочкам без пропусков и вакханалий. Вышло безопасно и стабильно, а все сервисы работают на тех скоростях, на которых им удобно.
🔥17👏21😱1
Media is too big
VIEW IN TELEGRAM
Простите, но это очень смешно 😂😂😂

Просто я и 50 моих ботов рассылают сообщения перед стартом вебинара 😂
😁9🤣61
Вайбкодинг 🧑‍💻

Все, что я узнал об этом явлении, я узнал против своей воли. Сначала в соц.сетях, а затем уже на практике.

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

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

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

Но «не плохо» это не хорошо 🥲
И тут понеслось…


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

А хрен там плавал.

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

1. Все будет хорошо, если функционал фронтенда и бэка вы сможете описать одним промтом. Но это будет что-то максимально простое.

2. Все будет более менее хорошо, если вы в состоянии предусмотреть всё(!), т.е буквально всё, что нужно в части функционала. Тогда фронт будет выполнен нейросетью либо без ошибок либо почти без ошибок.

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

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

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

6. Новый функционал скорее всего тоже придется дописывать самостоятельно. Почему? См. пункт 4.

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

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

Лично я уже отчасти привык к закидонам и глюками сетей и они практически не мешают мне создавать интерфейсы так как того хочется мне.

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

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

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

И я имею ввиду не про знание синтаксиса языка программирования, а именно опыта со всеми вытекающими.

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

Но помочь все таки может.
💯10🔥21👍1
Ностальгии пост…

Сегодня прислали мне рилсок в котором я обнаружил формулировку «Скачать сайт знакомств»

Сразу даже не понял, что речь о приложении. А потом кааак вспомнил 🥲

На дворе был не то 2009, не то 2010 год. Интернета дома у меня не было, лишь изредка мог посидеть в ICQ с телефона либо с компьютера через тот же телефон подключенный в режиме модема USB кабелем.

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

И тогда же я озадачился тем, что бы всерьез скачать сайт.

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

И вот тогда я открыл для себя программу MetaProducts (ничего общего с нынче забаненой компанией не имеет) Offline Explorer.

Задаешь ссылку. Выбираешь глубину вложенности и тыкаешь «Скачать».

А сам тем временем совмещаешь приятное с полезным и рубишься в CS 1.6 либо Red Alert 2 либо в San Andreas, а больше я особо не во что и не играл))

И так за пару часов можно было выкачать себе с десяток сайтов. Все это для удобства архивировал в RAR-архив и просил местного админа записать все это на CD-диск… 💿

Диск затем приносилось домой, содержимое распаковывалось и спокойно, а главное бесплатно уже читалось дома 🏡

Сколько хочешь, без оплаты за час))

Ламповые времена были, хоть и дикие)

А попутно еще были «промышленные» скачанные сайты в формате CHM, такие обычно можно было скачать либо поставлялись комплектом на диске с каким-нибудь журналом компьютерной тематики. Целый сайт в одном файле…

В общем воспоминания разблокировано 🙃
🔥122
Какие времена — такие и разработки

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

Не то, не другое меня не интересовало. Нужно было как-то соорудить фильтр. Задача осложнялась, так-то не я админ этого тгк. И моего бота никто в этот канал не добавит. А значит нужно подключать тяжелую артиллерию.

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

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

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

В этот раз я нашел другой способ работы с MTProto. Как оказалось MTProto после подключения к серверу не разрывает соединение. История очень похожая на WebSocket, но не они. MTProto клиент подключается к серверу Telegram и постоянно поддерживает соединение. Автоматически переподключается в случае обрыва и сервер сам по TCP шлет обновление, если таковые были используя механизм Update-ов. В целом похожая схема как и в bot api, но не 1 в 1.

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

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

Далее просто отправлял нужные мне данные в обычный бот используя BotAPI. Попутно реализовал свой WebSocket сервер в который при подключении так же прилетают релевантные сообщения.

Это я сделал уже что бы не только Telegram бот или смартфон могли работать с этой информацией, но и сторонние приблуды вроде модулей ESP8266/ESP32 или отдельные приложения. Но это уже тема для отдельного поста.

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

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

Но похоже я ещё не раз и не два в ближайшее время вернусь к работе с юзерботами.
🔥9
This media is not supported in your browser
VIEW IN TELEGRAM
Ну что ж друзья…

Уже в эту пятницу у меня юбилей, первые 30 лет моей жизни 🎂, 5 из которых я посвятил работе с онлайн-школами, ботами и конечно же разработкам 👨‍💻

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

Сразу оговорюсь, я по прежнему никому ничего не продаю и этот пост не подводка к продажам, если кто вдруг так решил.

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

Так вот. Бесплатно. Без регистраций и SMS.

1️⃣ MarkBot (@sbmarkdownbot) — инструмент который существенно упрощает жизнь с рассылками и воронками в SaleBot по части отправок сообщений с разметкой Markdown. Да, у него бывают помутнения (точнее это в API Telegram) но в 99% случаев он спасает.

2️⃣ Сегодня этот бот обзавелся приложением которое ищет виджеты GetCourse на различных сайтах и ведет прямо в редактор. Если вы часто работаете с GC и виджетами, заходите — пользуйтесь)

3️⃣ Так же для активных администраторов GetCourse есть публично доступное расширение для браузера которое позволяет со страницы урока сразу перейти в хранилище к нужному видео. Эта так же одна из таких задач которые часто всплывают и не охота тратить кучу времени на поиск исходного видео.
Это расширение вполне справляется с своей задачей. Напоминаю, что это для администраторов, ученикам школ ничего скачать не даст)

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

Вместо заключения ✌🏻
Поздравлять меня можно в личку, можно и в сообщения канала (которые я здесь кстати подключил недавно) и с вопросами/предложениями/пожеланиями/просто по болтать — тоже можете приходить 🔥
🔥26🎉94👏2😍1🍾1
Когда хотел увидеть бурдж халифа но что-то перестарался с желаниями 😂😂😂
😁11🤣7🔥3
Занятная история у YooMoney вышла
😨11😱3🥴2