Please open Telegram to view this post
VIEW IN TELEGRAM
Как сгенерировать массив чисел и найти в нем только четные?
Оставлю тут 🤷♂️
Решение на JavaScript
for (let i=0; i<100000; i++){
const num = Math.round(Math.random() * 10000000)
array.push(num)
}
array.filter(i=>!(i%2))
#javascript #forbeginners
Please open Telegram to view this post
VIEW IN TELEGRAM
Открыл для себя сегодня PetiteVue
Тоже самое, что AlpineJs, но ближе к Vue и мне больше нравится)
Интересно кому?
#web #frontend #javascript
Please open Telegram to view this post
VIEW IN TELEGRAM
Cododel.dev | Александр pinned «⛓ Ссылки ⛓ - Наш приватный чат - Мой GitHub - Read on your language Соцсети: 📹 Twitch 😉 YouTube»
Выше я писал про PetiteVue, сегодня проясню.
Я в тот момент делал полноэкранный вижет обратной связи. И естественно встраиваемый.
До этого я еще почитал о ShadowDom, но не осмелился взять его в работу.
А вот опыт перескакивания между фреймворками у меня большой)
#web #frontend #javascript
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Начал делать и понял, что целый Vue тянуть это оч плохая идея. Да и долго это всё, окружение еще настроить, сборку в единый бандл и т.п.
Почитал о SolidJs, понял что долго буду вливаться, и тут промелькнул PetiteVue, которого поддерживает сам Evan You. Почитал кучу хвалебных статей, с помаркой, мол "Для виджетов". И загорелся.
Сразу написал вам пост, и взял в работу.
И вылезли подводные камни...
Мне очень хотелось компоненты, биндинги и вынос логики в JS. А так нельзя 😂
Выходит очень перегруженно, что-то более менее сложное - сломает ногу(
Потерял день и переписал всё обратно на Alpine.
Мораль:
Почитал статью про новый "Супер мега инструмент" и планируешь внедрять - проверь на достоверность 😉
— P.S.
И кстати потом постфактум человек заказчика заявил, что нужен "Подключаемый виджет, в одном .js файле". И инициализцией через JS функцию.
Я подсуетился и за полдня при помощи EsBuild - собрал JavaScript, подключил Sass, Pug и запихнул в бандл все HTML сущности в
<template> тегах.А Alpine c CDN подтягивается, чтобы не плодить кучу разных виджетов с Alpine внутри бандла.
Делается очень просто) Потом расскажу.
#web #frontend #javascript
Please open Telegram to view this post
VIEW IN TELEGRAM
А еще знаю, что есть новички в веб разработке, напишу Вам в чате.
Что-то хочется мне для вас устроить прямую трансляцию с разбором Canvas анимации на JavaScript.
Разберем и перепишем с использованием ООП очень простой пример, который у меня на гитхабе лежит. Чуть-чуть потрогаем и вспомним школьную геометрию 8-9 классов)
А кто совсем не "бум-бум" - посмотрит просто, одним глазком. 🙂
#web #frontend #javascript #canvas #animation
Что-то хочется мне для вас устроить прямую трансляцию с разбором Canvas анимации на JavaScript.
Разберем и перепишем с использованием ООП очень простой пример, который у меня на гитхабе лежит. Чуть-чуть потрогаем и вспомним школьную геометрию 8-9 классов)
А кто совсем не "бум-бум" - посмотрит просто, одним глазком. 🙂
#web #frontend #javascript #canvas #animation
Все очень просто.
Делаем следующее:
- Ставим:
—
obs-studio
— xdg-desktop-portal
- Далее под вашу систему:—
xdg-desktop-portal-gnome для GNOME.xdg-desktop-portal-kde для KDE.xdg-desktop-portal-wlr для wlroots-based Wayland compositors (e.g. Sway, dwl)— И для wlroots композиторов ставим
wlrobs - в идеале с гита.В AUR под ArchLinux есть два пакета
wlrobs - у меня работает на scpy, но просаживает FPS до 25, а dmabuf - в артефактах весь 😬wlrobs-hg - scpy так-же просаживает FPS, но dmabuf заводится и урчит как котенок.Теперь проясню, что это за абра-кодабра.
На Linux есть графический протокол, относительно новый, с кучей плюшек, называется Wayland, но сейчас не про него.
Так вот с ним стримить из OBS из коробки не получится. Надо настраивать.
Тут захват экрана устроен через местный фреймворк PipeWire, а для сего действа требуется разрешение.
Получить его как-раз может OBS через
xdg-desktop-portal, который в свою очередь запросит это разрешение у композитора через плагин. В моем случае это xdg-desktop-portal-wlr.Дальше мы ставим плагин
wlrobs для OBS, чтобы под Sway у нас появились в меню варианты захвата экрана.И всё.
Это первый вброс про линукс. Если будет фидбек - будут еще, но применю все свои "копирайтерские" навыки 🙂
#linux #archlinux #wayland #sway #pipewire
Please open Telegram to view this post
VIEW IN TELEGRAM
👏1
Звучит правдоподобно, но надо будет протестировать.
https://habr.com/ru/post/684836/
Please open Telegram to view this post
VIEW IN TELEGRAM
Хабр
Почему ваш веб-сайт должен быть меньше 14 КБ
Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно. Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ , даже на 612 мс быстрее, хотя разница...
👍1
Чёткий видос для начинаний 😉
Вслушайся и прислушайся.
Может такой же записать? 🤔
#learning #forbeginners
Вслушайся и прислушайся.
Может такой же записать? 🤔
#learning #forbeginners
Пост для англоговорящей части и без того малого канала 😁
--------------------------------------------------------------------
It's time for informative posts, and it won't look good if I keep posting translations of them.
But I hasten to please that a translator has been brought to telegrams!
See screenshots of how it works)
#info
--------------------------------------------------------------------
It's time for informative posts, and it won't look good if I keep posting translations of them.
But I hasten to please that a translator has been brought to telegrams!
See screenshots of how it works)
#info
Вас ждёт длиннопост об опыте программистов и разработке телеграмм ботов.
Затравочный, чтобы задать тему для следующих постов.
Так что зовите знакомых почитать, пусть подписываются. Буду рад)
#info
Затравочный, чтобы задать тему для следующих постов.
Так что зовите знакомых почитать, пусть подписываются. Буду рад)
#info
👍2❤1
Вчера правил телеграмм бота на Python AsyncTeleBot
У разработчика, что делал его опыта с ботами больше, чем у меня, это видно.
Но не в программировании 😅
Думаю смогу позже выделить детали, на которые обращал внимание, и рассказать про то, чем опытный программист отличается от не опытного.
Хотя и сам нашел чему у него научиться. Век живи - век учись, как говорится.
Так я узнал и могу расказать о:
- Документоориентированных базах данных
Используется как основная база и для хранения состояний в памяти. (Второй вариант мне больше нравится)
- Инструменте для анализа макетингового текста
Использовался для подсчета юникодных символов (смайлов) при парсинге сообщения для перерасчета сущностей. (Не надо так делать)
- Поближе ознакомился с асинхронностью в python.
Оказалось всё не так плохо)
Для себя разобрался:
- С pylint и autopep8 для форматирования кода и рефакторинга.
(Это когда в коде порядок надо навести)
- Понял, что автоперезапуск бота при внесении изменений в код - вещь почти бесполезная, в отличие от разработки сайтов.
Ставил nodemon, по началу было удобно, т.к. не надо перезапускать руками при тесте.
Но когда вместо поехавшей разметки получил просто "None" вместо текста - настроил запуск через debugger.
И только тогда я смог разобраться в чем дело.
- Как работать с отладчиком
Очень удобно оказалось ипользовать debug console - можно остановить выполнение программы в любой точке, смотреть переменные, порядок выполнения кода, писать интерактивно писать код с точки остановки, используя все доступные в этой области переменные, функции и т.п.
(Я знал, что так можно, но тут это оказалось максимально полезным опытом.)
Так вот про бота. Проблема была такая:
"Едет форматирование в сообщениях"
Что для меня, как для веб разработчика, показалось очень странным.
Я вообще не понимал, как может ехать форматирование 😂
Из интереса запросил исходники и ужаснулся, что парень пытался работать с техническим разделом - Метанформацией о сущностях в сообщении. (Чуть ниже объясню, что это значит)
Как я понял - она используется для рендеринга сообщения в клиенте телеграмм, а значит это уже распаршенное сообщение, машиночитаемая часть.
Чтобы было понятно о чем речь
Есть письмо: "
Привет, Я Александр, веб разработчик со стажем.
Предлагаю внести в работу вашего бизнеса немного автоматизации.
Ознакомиться с моим портфолио можно тут.
Рабочая ставка:
"
И в данном примере, жирный, подчеркнутый, курсивный шрифты, ссылка на портфолио и ставка - разные сущности.
В метаинформации написано, что ссылка на "https://freelancehunt.com/freelancer/kotovvsan.html" находится с 147-го символа, по 150-ый символ.
Т.е. при каждом внесении изменения в сообщение - оно, исходя из предыдущего состояния, парсилось и устанавливались новые координаты сущностей.
И просто представь, что нужно что-то добавить в середине, или вначале - придется всё это дело каждый раз высчитывать и обновлять заново 🫣🤯
А решение всему этому делу:
Языки разметки!
Доступны на сколько мне известно - два самых популярных: HTML и MarkDown
Второй очень нравится, но с первым мне работать проще)
Так вот вырезал я парсинг и внедрял работу с HTML.
Это самая главная часть задачи 😄
Сейчас бот отрабатывает корректно, осталось пара мелочей и будет готово, рассчитываю сегодня уже закончить.
Подробнее разберу работу с форматированием в комментариях, либо в одном из следующих постов.
#python #pytelegrambotapi #telegram #telegrambot #developing #issue #experience
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1