Sleepless tech | Евгений J – Telegram
Sleepless tech | Евгений J
786 subscribers
488 photos
80 videos
1 file
215 links
DIY, web, coffee
Автоматизирую все и вся, ремонтирую что сломалось, трачу время на just-for-fun проекты. Пишу про хардвар и софтвар и не только.

http://jem-space.ru

Связь со мной: @jem_jem
Донаты на припой и хостинги: https://bit.ly/2MKcRoJ
Download Telegram
Sleepless tech | Евгений J
Заметки на полях. Про гравер В очередной раз мне нужно было вырезать гравером фигуры. Самый просто способ выжечь контур из растрового изображения - закинуть в родной софт для 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 )
👍2🤔1
Типичный рабочий день. Когда решил сделать задачку на 5 минут, но получил ошибку.

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

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

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

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

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

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

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

https://explainshell.com/
👍213🔥1
Addy Osmani - Learning Javanoscript Design Patterns (2 ed)

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

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

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

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

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

За все время, что пишу тесты не сталкивался с такой проблемой. Есть 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
Привет.

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

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

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

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

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

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

Я тут решил бота сделать с возможностью оплаты подписки (расскажу о нем как закончу). И когда-то у меня была такая тема и платежи работали через провайдера Юкасса. Решил обновить договор и после долгих переписок (по 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, попробую докопаться.
👍7
Всех с Наступающим. По традиции напомню, если у кого недобор по добрым делам в этом году, исправить это можно в пару кликов.

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

Всем добра в новом году ✌️
6🎄1
This media is not supported in your browser
VIEW IN TELEGRAM
Когда тебе нужно сделать гоночные санки Доминика Туретта, но у тебя есть всего пол часа.
Отдельное спасибо желтому тазу за антураж
😁9🔥7👍3🏆1