ТехСпец Pro
207 subscribers
137 photos
27 videos
26 links
Канал про интеграции инструменты и ведения проектов.
🌐https://techspec.pro
ИНН: 710006010307
Download Telegram
Как научится программировать (и не только)

Я совру, если скажу, что часто кто-то меня спрашивал об этом. Но такие эпизоды время от времени происходят. Очередной такой эпизод случился на днях и вопрос прилетел мне в личку в ВК (чему я был знатно удивлен)

Вопрос в целом классический: а какой ЯП выбрать? А как какой фреймворк? А какую среду? А какой подход и/или курс по программированию выбрать?

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

А вот подход, это история совсем другая. К слову я уже лет 10-12 что-то разрабатываю. И почти под все, что под руку попадется. От бэкенда на JS и Python до ассемблера для микроконтроллеров.

Так вот…

Я самоучка. Не заканчивал никаких курсов, нигде не обучался этому в ВУЗах (ну кроме базы а-ля hello world или расчета математических формул в которых я нихрена не понимал, да и не понимаю).

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

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

Одно его видео — 3-4 часа времени, за которые не только что-то узнаешь о программировании на Delphi, но против своей воли посмотришь пару очередных серий сериала.

Но в чем суть-то? А вот в чем. Лично для себя я определил путь обучения через решение прикладных задач. Я просто придумывал задачу, а потом всеми правдами и не очень, пытался эту задачу решать.

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

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

Конечно, я не истина в последней инстанции, но возможно кто-то из вас и сейчас смотрит в сторону разработки как на путь в Хогвартс. Но на самом деле все не так страшно и сложно. И математика не нужна (во всяком случае, если тебе не надо обрабатывать графику/звук/сигналы и писать свою СУБД или нейросеть)

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

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

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

Так что все в твоих руках и влезать в разработку никогда не поздно (хоть лучше и не оттягивать резинку, особенно в области чувствительных органов)
🔥13
Когда кто-то пишет в личку «Тут?» 😁
😁4😭2
This media is not supported in your browser
VIEW IN TELEGRAM
😁12
Железная рубрика

Для тех, кто ещё не знает… Я технический специалист прям совсем технический. И с разного рода железками работаю лет с 6и.

В основном конструирую либо что-то на микроконтроллерах (программируемые микросхемы) либо усилители звука. Самые разные от микросхемных до радиоламп.

В прошлой «железной» рубрике я писал о подключении монитора и сенсорной панели от старого терминала к одноплатному компьютеру.

Это одно из ответвлений в «железном хобби»: найти где-то какую-то херовину и попробовать её запустить в штатном (или не очень) режиме.

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

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

Но к счастью все мои опасения пошли прахом после первых включений. Хоть и потрепало мне немного нервишки.

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

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

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

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

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

Но это будет уже совсем другая история.
🔥10
Друзья, sorry, что выпадаю.

Как обычно декабрь и куча работы 🫠😁

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

Не теряемся) Скоро выйду на связь)
😁144💯4👍1
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