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

http://jem-space.ru

Связь со мной: @jem_jem
Донаты на припой и хостинги: https://bit.ly/2MKcRoJ
Download Telegram
Привет!

Несколько дней бился с поломанным 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
Привет.

Решил тут восстановить сайт на вордпресе, но теперь запустить его на другом домене. Сайт в докере (MYSQL + Wordpress + Nginx). Косяк в том, что оказывается, url сайта прописывается в базе данных как настройка и просто поднять контейнеры и радоваться жизни не получится, нужно сперва залезть проапдейтить значения.
С докером знаком только в каких то базовых вещах и подключиться через консоль к бд в контейнере нахрапом не получилось. Но в итоге оказалось не так сложно (чатгпт помог).

Сначала узнаем ip контейнера с бд
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_id

Коннектимся c паролем
mysql -h 173.15.0.2 -P 3306 --protocol=tcp -u username -p

Переключаемся на нужную базу
USE mywordpress


Апдейтим
UPDATE wp_options SET option_value = replace(option_value, 'oldurl.com', 'newurl.com') WHERE option_name = 'home' OR option_name = 'siteurl';UPDATE wp_posts SET guid = replace(guid, 'oldurl.com','newurl.com');UPDATE wp_posts SET post_content = replace(post_content, 'oldurl.com', 'newurl.com'); UPDATE wp_postmeta SET meta_value = replace(meta_value,'oldurl.com','newurl.com');

С вами были 5 minutes craft, хорошего дня ☺️
👍8
Привет. Недавно офигел от наглости webhost1.ru
Давай сам теперь звони нам.
На проводе небось девушка сидит, ты ей пароль свой говоришь, она там кому то перезванивает и тебя пускают в личный кабинет)
😁8👏4🤯1🤮1
Доброй ночи.

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

Наткнулся на статейку на хабре про Openconnect и доки на linuxbabe. Потратил вечер, настроил, работает 👍
Из требований - придется оформить домен (можно на том же webhost1) и сгенерить ssl сертификат, ну и тачку в облаке иметь (или дома изворачиваться с DDNS)
👍61
Привет!

Тыщу лет назад написал заметки, как я кастомизировал Fender Stratocaster, но чет так и не поделился.

Исправляюсь https://jem-space.ru/custom-fender/

Вообще, кайфую при работе с деревом. Если б еще не на коленке/балконе/общем гараже это делать, а в мастерской, ваще топ был бы.
❤‍🔥8👍4🔥1🕊1