Привет! ✌️
Меня зовут Евгений и я разработчик. Люблю автоматизацию и пишу короткие заметки о web/hardware разработке и не только в свой блог Sleepless tech.
Заходите, скучно не будет 😉
Меня зовут Евгений и я разработчик. Люблю автоматизацию и пишу короткие заметки о web/hardware разработке и не только в свой блог Sleepless tech.
Заходите, скучно не будет 😉
Фанаты PSки на месте? Sony собираются 11 июня в 23:00 по МСК демонстрировать игры на новое поколение, однако, надеюсь, япошки не разочаруют и покажут саму консоль. На дваче уже пишут, что цена на саму приставку будет свыше 50к рублей, а на игры 5-6к. Самый смак для глобального кризиса.
В любом случае, не будем гадать и посмотрим. А вы будете следить?
В любом случае, не будем гадать и посмотрим. А вы будете следить?
Что же, друзья, чайный бот почти закончен. Четверть дня потратил на исправление мелкого бага. Благо компьюнити у библиотеки, которую я использую, отзывчивое, поэтому проблема в итоге оказалась решена. Забавно, что еще вчера бага не было, но стоило мне поспать и он появился. В программировании это стандартная вещь.
В общем, давайте я побольше технических аспектов освещу:
В ближайшее время постараюсь уже задеплоить бота, выложить код на гитхаб и поделиться им с вами. Если что, то пока он работает на моем локальном хосте, можете потыкать, @deepAnal_bot или заценить его работу на гифке.
В общем, давайте я побольше технических аспектов освещу:
• Под капотом библиотека Telegraf.js и сервер на Node.js (express). • Информация о товарах берется из моего паблоса в vk. Тут все просто: при команде /start делается get запрос через vk API для товаров, и все это сохраняется в объект, с которым я потом и работаю.• При перелистывании товаров (назад/дальше) идет изменение последнего сообщения. Поэтому переход выглядит более-менее плавно (все зависит от размера изображения)• При открытии подробной информации о товаре приходится удалять все последние сообщения от бота и отправлять новые. Если скажете, что порою это может выглядеть напряжно, то я соглашусь, но другой реализации не придумал. С другой стороны не засоряется экран пользователя, что очень хорошо, как по мне.• Как я и сказал, весь контент берется из vk, поэтому особой надобности в базе данных я не видел. Но мне захотелось хранить кол-во пользователей, и ради этого я решил подключить mongoDB. После подключения бот начал через раз крашиться и выдавать непонятные ошибки. Собственно, решил, что обойдус без БД и в будущем присмотрюсь к чему-то sql’ному.В ближайшее время постараюсь уже задеплоить бота, выложить код на гитхаб и поделиться им с вами. Если что, то пока он работает на моем локальном хосте, можете потыкать, @deepAnal_bot или заценить его работу на гифке.
Выгрузил исходники чайного бота на гитхаб. В коде постарался коротко описать, что делает каждый кусок. Кому JS близок по духу, можете ознакомиться. Сейчас решаю вопрос о том, где можно VPS нормальный взять и поселить там бота на постоянной основе.
Также думаю в ближайшем будущем рассказать про некоторые фишки и подводные камни библиотеки, на которой базируется сам бот.
И чуть не забыл. Тут вроде как намечается еще одно интервью с интересным разработчиком-автором сервиса proghub. Если все пойдет удачно, то на выходных ожидайте интервью.
Спасибо, что читаете!
Также думаю в ближайшем будущем рассказать про некоторые фишки и подводные камни библиотеки, на которой базируется сам бот.
И чуть не забыл. Тут вроде как намечается еще одно интервью с интересным разработчиком-автором сервиса proghub. Если все пойдет удачно, то на выходных ожидайте интервью.
Спасибо, что читаете!
Помните, я упоминал, что в боте хотел использовать базу данных MongoDB, но потом отказался от этой затеи на время? Сейчас расскажу почему.
Вообще, когда мне надо использовать БД (если речь идет о документоориентированных БД), но отвлекаться на ее развертывание не хочется, тогда я использую mLab. Это по сути облачная БД, где за тебя все пережевано и развернуто. Нужно лишь зарегаться, тыкнуть пару кнопок и БД готова.
По дефолту дается бесплатно 0.5 GB, чего для разработки хватает за глаза. Однако вам дозволено использовать лишь версию 3.6.x (последня 4.2.0), а также там неудобный интерфейс для работы, поэтому я обычно использую программу Robo 3T. Просто подключаешься через нее по MongoDB URI и кайфуешь. Также там можно и платные фичи купить, но цены кусаются, как по мне.
В моем боте особо хранить нечего, разве что юзеров (чтобы знать, сколько человек пользуются твоим «творением»). По мне так для подобных задач монго заходит на ура. Правда, когда я интегрировал ее в бота, периодически вылезали странные ошибки. Погуглив, я нашел подобное дерьмо у других, и люди писали, что сами понятия не имеют, что это за дичь.
Хочется верить, что дело все же в моей рукожопости, и если сделать по уму, то монго будет работать как часы. В любом случае, я уже присмотрел себе немецкий VPS, где попробую развернуть свою БД для получения опыта, которым потом поделюсь с вами.
Приятных выходных!
Вообще, когда мне надо использовать БД (если речь идет о документоориентированных БД), но отвлекаться на ее развертывание не хочется, тогда я использую mLab. Это по сути облачная БД, где за тебя все пережевано и развернуто. Нужно лишь зарегаться, тыкнуть пару кнопок и БД готова.
По дефолту дается бесплатно 0.5 GB, чего для разработки хватает за глаза. Однако вам дозволено использовать лишь версию 3.6.x (последня 4.2.0), а также там неудобный интерфейс для работы, поэтому я обычно использую программу Robo 3T. Просто подключаешься через нее по MongoDB URI и кайфуешь. Также там можно и платные фичи купить, но цены кусаются, как по мне.
В моем боте особо хранить нечего, разве что юзеров (чтобы знать, сколько человек пользуются твоим «творением»). По мне так для подобных задач монго заходит на ура. Правда, когда я интегрировал ее в бота, периодически вылезали странные ошибки. Погуглив, я нашел подобное дерьмо у других, и люди писали, что сами понятия не имеют, что это за дичь.
Хочется верить, что дело все же в моей рукожопости, и если сделать по уму, то монго будет работать как часы. В любом случае, я уже присмотрел себе немецкий VPS, где попробую развернуть свою БД для получения опыта, которым потом поделюсь с вами.
Приятных выходных!
Начнем неделю с годноты!
Буквально вчера наткнулся на свежую и крутейшую статью (март 2020), где идет сравнение различных frontend фреймворков/библиотек (речь о более, чем 20). Пока одни устраивают беспорядок, другие пытаются его навести, пускай и в сфере разработки.
Ну да ладно, в чем же суть? За основу взяли веб-приложение наподобие Medium и реализовали его на 24 либах/фреймворках, а потом по трем параметрам постарались сравнить.
В качестве метрик выступили:
Performance (производительность)
По словам автора подразумевается время, которое нужно приложению, чтобы показать контент и стать пригодным для использования. Правда на пикче вы увидите не время, а условные единицы от 0 до 100. Это связано с тем, что производительность измерялась при помощи Lighthouse Audit. Результат на первой пикче.
Size (размер)
Автор сравнивал только размер скомпилированных JS файлов. На второй пикче показан результат в KB.
Lines of Code (кол-во строк кода)
Тут все просто - сколько надо написать кода, чтобы создать приложение (пустые строки и комментарии не учитывались). Считалось только содержимое папки src. Результат на последней пикче.
Что можно сказать? Работа проделана крутая, безусловно. Как минимум в процессе чтения статьи можно узнать много новых библиотек/фреймворков - то есть расширить кругозор. Также радует, что исследование, если так можно выразиться, проведено целым сообществом, а не отдельным человеком. Это показывает веб-комьюнити с хорошей строны.
Однако стоит ли на основе этих результатов выбирать свой стэк? Вопрос хороший. Такие инструменты как React, Vue или Angular, которые у всех на слуху, занимают в этом сравнении далеко не лидирующие позиции, однако работу с их знанием найти гораздо проще, да и платят хорошо.
Статью можно глянуть тут. Кстати, там же можете найти подобное исследование за 19,18 и 17 года.
Буквально вчера наткнулся на свежую и крутейшую статью (март 2020), где идет сравнение различных frontend фреймворков/библиотек (речь о более, чем 20). Пока одни устраивают беспорядок, другие пытаются его навести, пускай и в сфере разработки.
Ну да ладно, в чем же суть? За основу взяли веб-приложение наподобие Medium и реализовали его на 24 либах/фреймворках, а потом по трем параметрам постарались сравнить.
В качестве метрик выступили:
Performance (производительность)
По словам автора подразумевается время, которое нужно приложению, чтобы показать контент и стать пригодным для использования. Правда на пикче вы увидите не время, а условные единицы от 0 до 100. Это связано с тем, что производительность измерялась при помощи Lighthouse Audit. Результат на первой пикче.
Size (размер)
Автор сравнивал только размер скомпилированных JS файлов. На второй пикче показан результат в KB.
Lines of Code (кол-во строк кода)
Тут все просто - сколько надо написать кода, чтобы создать приложение (пустые строки и комментарии не учитывались). Считалось только содержимое папки src. Результат на последней пикче.
Что можно сказать? Работа проделана крутая, безусловно. Как минимум в процессе чтения статьи можно узнать много новых библиотек/фреймворков - то есть расширить кругозор. Также радует, что исследование, если так можно выразиться, проведено целым сообществом, а не отдельным человеком. Это показывает веб-комьюнити с хорошей строны.
Однако стоит ли на основе этих результатов выбирать свой стэк? Вопрос хороший. Такие инструменты как React, Vue или Angular, которые у всех на слуху, занимают в этом сравнении далеко не лидирующие позиции, однако работу с их знанием найти гораздо проще, да и платят хорошо.
Статью можно глянуть тут. Кстати, там же можете найти подобное исследование за 19,18 и 17 года.
Друзья! Завел наконец-таки бота на VPS, теперь будет работать 24/7 (надеюсь). Спасибо товарищу, которого, кстати, я упоминал ранее на канале. Без его помощи сидел бы еще 1-2 дня. Давайте коротко расскажу как чуть 20€ не потерял.
Еще пару дней назад я вообще не разбирался в том, какой хост ходит в авторитетах, а какой самому надо обходить стороной. В одном из чатов мне посоветовали юзать hetzner. Я прислушался, зарегался там, и встал вопрос верификации: либо фото загранника отправить (но проверка идет вручную), либо через paypal (проверка автоматическая, но для этого спишут 20€).
Недолго думая, я выбрал второе. Деньги списали, и я решил, что буду поднимать сервак на следующий день. В итоге спустя сутки обнаруживаю, что аккаунт заблочен. Никаких оповещений на почту не приходило. Более того, погуглив, я узнал, что не у меня одного подобное говно происходило. В общем я уже думал, что денег не видать, однако сегодня их вернули на карту. Ребята в чате сказали, что походу из-за неактивности заблочили.
Следом товарищ, упомянутый ранее, посоветовал digitalOcean. Мне, кстати, при регистрации по реф.ссылке дали аж 100$ на 60 дней. Вряд ли я успею их потратить, но все-равно приятно.
В итоге взял сервер за 10$/месяц, у которого под капотом 1 vCPUs, оперативы 2GB, SSD 50GB. ОС поставил Debian 9.12 x64.
Что касается бота, то через гит клонировал свой репозиторий, скачал все необходимые зависимости и запустил через pm2. Можете заценить @teavotary_bot.
Спасибо, что читаете!
Еще пару дней назад я вообще не разбирался в том, какой хост ходит в авторитетах, а какой самому надо обходить стороной. В одном из чатов мне посоветовали юзать hetzner. Я прислушался, зарегался там, и встал вопрос верификации: либо фото загранника отправить (но проверка идет вручную), либо через paypal (проверка автоматическая, но для этого спишут 20€).
Недолго думая, я выбрал второе. Деньги списали, и я решил, что буду поднимать сервак на следующий день. В итоге спустя сутки обнаруживаю, что аккаунт заблочен. Никаких оповещений на почту не приходило. Более того, погуглив, я узнал, что не у меня одного подобное говно происходило. В общем я уже думал, что денег не видать, однако сегодня их вернули на карту. Ребята в чате сказали, что походу из-за неактивности заблочили.
Следом товарищ, упомянутый ранее, посоветовал digitalOcean. Мне, кстати, при регистрации по реф.ссылке дали аж 100$ на 60 дней. Вряд ли я успею их потратить, но все-равно приятно.
В итоге взял сервер за 10$/месяц, у которого под капотом 1 vCPUs, оперативы 2GB, SSD 50GB. ОС поставил Debian 9.12 x64.
Что касается бота, то через гит клонировал свой репозиторий, скачал все необходимые зависимости и запустил через pm2. Можете заценить @teavotary_bot.
Спасибо, что читаете!
Атлант stackoverflow, на чьих плечах держится львиная доля всех проектов галактики, каждый год проводит опрос среди разрабов. Хочу поделиться интересными (имхо) цифрами за 2020 год.
На самом деле там есть еще много интересных результатов. Самые заинтересованные могут ознакомиться тут. Можно также посмотреть опросы прошлых лет (меняя год в url).
• Среди проф.прогеров (47.7к чел.) почти 50% имеют степень бакалавра. Магистров в районе 25%. Причем более 60% имеют Computer science, computer engineering или software engineering.• Из 46.3к проф.прогеров почти 85% считают, что формальное образование все-таки вещь нужная и важная. • Вот это опасно: более 70% проф.разрабов – это белые люди (или европейского происхождения). Ждем, когда белым запретят изучать прогу, дабы устранить дискриминацию остальных рас.• Что касаемо гендера, то среди 41.8к проф.разрабов 91.7% мужчины, 7.7% женщины и 1.2% небинарных неопознанных программирующих объектов. Вообще там много «интересных» показателей касаемо гендера, если захотите, вам лучше самим глянуть.• Среди 38к проф. разрабов 70% моложе 35 лет.• Кто бы мог подумать - JS является самой используемой технологией. Потом идут HTML/CSS, SQL, Python и т.д.• Среди веб-фреймворков правление остается пока что в руках бывшего диктатора JQuery (43,3%). Но его уверенно теснят React (36.8%) и Angular (26.5%).• Среди БД из 41.8к проф.разрабов 53.5% предпочитают MySQL, 38.5% PostgreSQL.• Вот это любопытно: среди любимых языков, от которых разрабы прям кайф ловят, оказались Rust (86.1%), TypeScript (67,1%) и Python (66.7%)• Если вам интересно посмотреть сколько платят за тот или иной язык, лучше гляньте сами, слишком много интересных цифр, которые растянут этот пост.• Путь прогера - путь вечной учебы, и статистика подтверждает это: более 70% изучают новые технологии раз в несколько месяцев или раз в год.На самом деле там есть еще много интересных результатов. Самые заинтересованные могут ознакомиться тут. Можно также посмотреть опросы прошлых лет (меняя год в url).
Предлагаю следующие 8 минут времени почитать интервью, которое было взято мною у разработчика крутого сервиса ProgHub – он позволяет вам пройти тестирования по различным ЯП, дабы на собеседовании не дать поделить себя на ноль.
Telegraph
Интервью с создателем ProgHub.ru
Друзья! Взял интервью у человека, который к 24 годам успел стать хорошим бэкэнд разработчиком и создать сервис для подготовки к собеседованиям ProgHub. Время чтения ≈ 7 минут – Кодинг в радость, Игорь. Можешь буквально в трех предложениях ввести в курс дела…
"Телеграм разблокировали"? Наверняка многие из вас уже слышали эту новость. Вчера, можно сказать, у нас всех был праздник.
Собственно, когда, как не сейчас, стоит заинтересоваться разработкой ботов. Ведь теперь никакие proxy/vpn не нужны.
Сейчас я как раз занят тем, что пишу статью, в которой расписываю, как можно создать таск-менеджер бота. Излагаю максимально доступным языком, подробно освещая ключевые моменты. Это будет не просто статья, где бегло рассматривается библиотека. Это будет полноценный мануал, который позволит создать вам вполне рабочего бота.
Уверен, что вам понравится. Кстати, пишу на гитбуке, ибо считаю, что если это и не идеальный, то один из таких сервисов, где можно писать технические статьи. В общем сегодня-завтра ждите пост.
Собственно, когда, как не сейчас, стоит заинтересоваться разработкой ботов. Ведь теперь никакие proxy/vpn не нужны.
Сейчас я как раз занят тем, что пишу статью, в которой расписываю, как можно создать таск-менеджер бота. Излагаю максимально доступным языком, подробно освещая ключевые моменты. Это будет не просто статья, где бегло рассматривается библиотека. Это будет полноценный мануал, который позволит создать вам вполне рабочего бота.
Уверен, что вам понравится. Кстати, пишу на гитбуке, ибо считаю, что если это и не идеальный, то один из таких сервисов, где можно писать технические статьи. В общем сегодня-завтра ждите пост.
Сказано - сделано! Друзья, как я и обещал, подготовил для вас статью, в которой объясняется довольно подробным образом процесс создания бота.
В качестве примера взят простой бот-менеджер задач, куда пользователь может добавлять и удалять свои задачи. Однако в процессе создания вы затронете следующие темы:
Всю разработку я постарался изложить в плавной и подробной манере. Насколько хорошо получилось – судить вам.
Сама статья на гитбуке;
Исходный код на гитхабе;
В качестве примера взят простой бот-менеджер задач, куда пользователь может добавлять и удалять свои задачи. Однако в процессе создания вы затронете следующие темы:
• Поднятие локального сервера на NodeJS• Обработка ботом разного пользовательского поведения• Создание двух типов клавиатур• Работа с асинхронностью и регулярными выражениями• Отправка фотографий с описаниемВсю разработку я постарался изложить в плавной и подробной манере. Насколько хорошо получилось – судить вам.
Сама статья на гитбуке;
Исходный код на гитхабе;
This media is not supported in your browser
VIEW IN TELEGRAM
А это то, что должно у вас получиться после прочтения статьи
Что покажет код на картинке выше?
Anonymous Quiz
56%
value from func2: 3; value from func1: 2
44%
value from func2: 3; value from func1: 3
👍1