Telegram Web Link
Sleepless tech
Заметки на полях. Про гравер В очередной раз мне нужно было вырезать гравером фигуры. Самый просто способ выжечь контур из растрового изображения - закинуть в родной софт для EleksMaker - EleksCAM, которая может преобразовать картинку в контур. Но так как…
Порядок теперь такой:
▫️Импортим растр в inkscape

▪️Контур - Векторизовать раст - Detection Mode: Автоматическая трассировка (пробовал казалось бы более подходящий режим определение краев, но там получается 2 контура - внешний и внутренний (видно на фотке))
▪️Удаляем растр
▪️Расширения - Инструменты GCode:
▪️Точки ориентации
▪️Бибилиотека инструментов - дефолтный инструмент
▪️Поправить значения feed, passing feed (в зависимости от материала резки - от 400 до 1200), gcode before path: M03 S1000 (включеаем лазер), gcode after path: M05 (выключаем)
▪️Щелкнуть на изображение - Контур в GCode

▫️Результрующий файл кидаем в Universal GCode Sender и в начале добавляем M05 чтобы точно выключить лазер перед началом.
А потом надеваем очки и нажимаем кнопку play )
Типичный рабочий день. Когда решил сделать задачку на 5 минут, но получил ошибку.

Не хватает только пункта Reinstall your OS
Привет!

Несколько дней бился с поломанным SSR на проекте. Поломался из за react-textarea-autosize у которого в билде несколько скриптов, часть из которых для браузера, часть для сервера (где в коде есть проверка isBrowser перед обращением к document). Но webpack 3, который на проекте, не умеет выбирать нужный скрипт для билда.

Друг подкинул решение в виде patch-package. Делаешь изменение в нод модулях, делаешь патч с помощью этой утилиты, и на postinstall применяешь патч.
Привет.

Тут оказывается веб-версия audacity вышла. Одна из причин (на самом деле главная причина лень, но она может еще подразделяться) почему я никак не нарежу себе мелодию на звонок - это то, что нужно ставить приложение на телефон и искать mp3 в ужасной файловой системе андроида с миллионом папок Downloads/Media/Trash/Huesh/ либо ставить программу на десктоп.

А теперь кайф. Осталось победить лень скачивания мелодии)

https://wavacity.com/
This media is not supported in your browser
VIEW IN TELEGRAM
Всех причастных с днем программиста 😉
В нашу редакцию пишут телезрители.

Ставь лайк если понял о чем речь)
Forwarded from Doque Embedded
This media is not supported in your browser
VIEW IN TELEGRAM
Поехал в Европу кошмарить владельцев Тесла своим флиппером)
Нашел классный сайт который объясняет консольные команды. Полезно, когда какой нить затык в линуксе и ты нагуглил че то и бездумно копипастнул.

https://explainshell.com/
Addy Osmani - Learning Javascript Design Patterns (2 ed)

Пока читаешь книгу урывками, к концу немного забываешь че было в начале. Поэтому чтоб не забыть, кратко опишу о чем.

Срез как современных подходов, так и практик прошлых лет, которые с успехом можно использовать на проектах. Сами паттерны, которые уже тысячу раз описаны везде занимают только 1 главу, и описаны применительно к JS (что конечно плюс) со своими достоинствами и недостатками.

А еще хорошо
▫️описаны какие возможности у современных нативных JS модулей,
▫️паттерны MV* (в которых ваще не особо разбирался до этого),
▫️подходы к работе с ансихронностью,
▫️история AMD и CommonJS (можно пролистать),
▫️паттерн Namespace (который я видел только в начале своего пути JS).

Отдельно по React из полезного: подходы к структурированию проекта, работа с хуками и ХОКами, виды рендеринга (их оказывается больше чем 3).

В общем, советую. https://www.oreilly.com/library/view/learning-javascript-design/9781098139865/
Привет.

За все время, что пишу тесты не сталкивался с такой проблемой. Есть 2 функции из одного модуля, которые экспортируются именным экспортом. Причем одна функция вызывается внутри другой.

export function B() {}

export function A() {
.....
B()
}

Решил в тесте Jest на повесить spyOn на функцию B и обосрался не вышло. toHaveBeenCalled возвращает false. А не работает все потому что по факту экспортная module.B и вызываемая внутри функция B - как бы разные (вообще сложно понять, потому что функция должна передаваться по ссылке, но я принял на веру)

В интернете конечно предлагают разнести эти функции по разным модулям или костыли типа

function A (){
data.B()
}
function B (){}

export const data {
A,
B
}

Я там в контексте своего теста нашел воркераунд (не завязанный в итоге на spyOn внутреннего вызова), но немного огорчен 🧐 Как лох час потерял)
Привет.

Меня тут недавно хакнули! или давно)
Полез смотреть че у меня на серваке запущено, нашел сервис монги.
Не помню уже что там было, но ничего важного точно.

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

Погуглил кстати транзакции на этот кошель. 2.5к баксов чувак насобирал (не факт что именно таким путем, правда)
Меня "прикалывает" как МТС решает вопросы с техническими проблемами.
Стабильно раз в пару месяцев по среди рабочего дня у МТС падает интернет. И они стабильно его чинят так, как будто мы в нулевых и отключение интернета для нас проблема уровня "не могу написать другу в аське". Чинят его обычно до утра.
Чувствую себя терпилой, потому что никак не свалю от них.
Чё, ребят, у кого щас норм интернет можно подрубить?
История о том, как я накатил новую винду и 14 часов не мог понять почему POST запрос на авторизцию в рабочих приложениях не доходит до сервака и висит в статусе pending бесконечно.

Стадии
- это все мудацкий фаервол винды или брендмауер
- это все гребаный webpack-dev-server
- это все политики хрома и фаерфокса по отношению к http
- кажется дело в ноде
Чисто какой-то "хакер" запилил проводник для винды, работающий лучше стокового. Скачать можно будет тут 12 декабря.

Еще бы со скайпом так сделали, было бы вообще огонь)

https://youtu.be/oSS_mXJJugo
Дарова!

Я тут решил бота сделать с возможностью оплаты подписки (расскажу о нем как закончу). И когда-то у меня была такая тема и платежи работали через провайдера Юкасса. Решил обновить договор и после долгих переписок (по 1 сообщению в день) они мне создали магазин, только говорят с карты платежи не можете принимать, а другими методами можете.
Видимо они долбоебы малограмотные и не знают что Telegram Payment API работает только с картами.

👉 Отсюда вопрос, если вдруг кто подключал другие провайдеры, поделитесь опытом, буду рад.

А пока я искал другие провайдеры, наткнулся на @donate - бот, который тебе по подписочной модели может организовать подписку людей на приватные группы или каналы. Это не мой кейс (т.к. для бота нельзя), но прикол в другом. Он может организовывать списание денег как за подписку нативно в телеге.

В Telegram Payment API нет подписок, поэтому ты должен просить юзера например раз в месяц опять купить товар (твою подписку). Как бы рабочий воркераунд, но чуток некрасиво. А этот бот может. И стало интересно.

Я полез узнавать, понял, что у него провайдер Smart Glocal (да, именно GloCal, кек). А у них в API есть параметр recurrent, отвечающий за то, что можно после первой оплаты получить токен по которому можно раз в период списывать деньги. Но нюанс в том, что когда работаешь через Telegram Payment API, ты не работаешь с API провайдера и телега все делает сама, и возвращает тебе только определенный набор данных. Есть варик прокинуть какие то кастомные данные в поле provider_data при отправке запроса на оплату, в надежде, что по токену provider_success_token, который вернется после успешной оплаты, через API провайдера сможешь найти токен для подписки. Но нигде ничего не описано.

Кароч интересная тема. Если апрувнут регистрацию на Smart Glocal, попробую докопаться.
Всех с Наступающим. По традиции напомню, если у кого недобор по добрым делам в этом году, исправить это можно в пару кликов.

Например донат в
▫️Ночлежку https://homeless.ru/
▫️Фонд "Подари жизнь"https://podari-zhizn.ru/ru
▫️Фонд "Старость в радость" https://starikam.org/
▫️Дом с маяком https://mayak.help/

Всем добра в новом году ✌️
2025/07/01 05:33:54
Back to Top
HTML Embed Code: