Вернулся тут немного к относительно старому проекту на Elixir, подумал заменить HTTPosion на более современный Finch и отказаться от кассет в автотестах (exvcr) - вместо этого использовать Mox с заглушками. Кассеты, конечно, дело неплохое, но их на каждый чих перезаписывать, да и они бывает гигантские становятся в зависимости от ответа сервера.
Ну пока полёт нормальный, оказалось что в логике менять мало что нужно. Самая большая проблема, конечно, это апдейт тестов. Пока как-то так выходит https://github.com/lokalise/elixir-lokalise-api/pull/57 😂
Ну пока полёт нормальный, оказалось что в логике менять мало что нужно. Самая большая проблема, конечно, это апдейт тестов. Пока как-то так выходит https://github.com/lokalise/elixir-lokalise-api/pull/57 😂
GitHub
Use finch as a new HTTP client, rewrite tests by bodrovis · Pull Request #57 · lokalise/elixir-lokalise-api
WIP
Summary by CodeRabbit
Release Notes
Chores
Set up automated dependency management via Dependabot configuration.
Updated CI/CD workflows to use newer versions of GitHub Actions.
Migrated HTT...
Summary by CodeRabbit
Release Notes
Chores
Set up automated dependency management via Dependabot configuration.
Updated CI/CD workflows to use newer versions of GitHub Actions.
Migrated HTT...
❤6
Разбираем способы скрыть свой IP и типичные мифы, которые с этим связаны (плюс подходы, которые кажутся сомнительными). В общем покрывается множество тем, так что поделитесь с теми, кто не особенно "в теме" https://www.scrapingbee.com/blog/how-to-hide-ip-address/
Scrapingbee
How to hide your IP address safely online | ScrapingBee
Learn how to hide your IP address safely, compare VPNs, proxies, Tor, and scraping setups, and avoid common privacy, speed, and legal mistakes.
Сегодня вечером поговорим про ERC-5564: Stealth Addresses https://youtube.com/live/dmq--vUR15o?feature=share
YouTube
Solidity и Ethereum #102 | ERC-5564: Stealth Addresses
ХОТИТЕ СТАТЬ РАЗРАБОТЧИКОМ TS и Solidity, узнать об Ethereum, блокчейне и многом другом ещё больше?!
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 15% на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 15% на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
👍10❤1🔥1
Как и обещал на стриме, новое видео по Elixir. Это чисто практика, вместе пишем новый (реальный) проект, который будут в итоге использовать настоящие клиенты https://www.youtube.com/watch?v=PCxhIgtS-aU
YouTube
Elixir #14 | Практика (ч. 1): Новый проект, организация кода, тесты, запросы HTTP
В этом уроке по Elixir мы начнём писать новый практический проект. Сегодня будет организация кода, тесты, запросы HTTP и обсуждение общих принципов.
Таймкоды:
00:00 Введение
01:30 Что мы будем создавать
04:30 Что нам потребуется
05:15 Настраиваем mix.exs…
Таймкоды:
00:00 Введение
01:30 Что мы будем создавать
04:30 Что нам потребуется
05:15 Настраиваем mix.exs…
👍21❤5🔥4
Продолжаем практику по Elixir, в этот раз поговорим про обработку ошибок, retries (с exponential backoff) и про стриминг и распаковку архивов ZIP. https://www.youtube.com/watch?v=PPGIVsucXbU
YouTube
Elixir #15 | Практика (ч.2). Ошибки, retries, стриминг и распаковка архивов ZIP
Продолжаем практику по Elixir, в этот раз поговорим про обработку ошибок, retries (с exponential backoff) и про стриминг и распаковку архивов ZIP.
Таймкоды:
00:00 Введение
00:40 Нормализация ошибок
05:50 Немного тестов
06:40 Классифицируем ошибки (retryable?)…
Таймкоды:
00:00 Введение
00:40 Нормализация ошибок
05:50 Немного тестов
06:40 Классифицируем ошибки (retryable?)…
❤5👍2🔥1
🚀 Интенсив по вайбкодингу в стиле JTBD: сделай продукт с нуля за 8 недель
Стартуем 15 марта с Алексеем Аметовым — предпринимателем и исследователем ИИ. Пройдём путь от гипотезы и JTBD до релиз-реди MVP с базой данных, логином и AI-фичами.
Кому: фаундерам, разработчикам, дизайнерам и тем, кто хочет быстро проверять идеи кодом, минуя найм команды.
Как устроено: 8 недель, живые стримы с наставником, домашки с обратной связью.
Каждый модуль — видимый результат:
— Прототип в AI-песочнице → CRUD → регистрация → агентские функции → тесты → деплой.
— Итог: готовый веб-сервис (mobile/desktop) и навык «придумал → сделал → запустил».
После курса:
— Доступ в обучению и комьюнити Guide DAO.
— Регулярные стримы с экспертами: ежедневные лайвкодинги и AMA, чтобы получать самые актуальные знания в быстро меняющейся сфере.
— Новый курс по вайбкодингу на платформе
По промо-коду
🔥Работающее приложение за один стрим
В пятницу в 19:00 (UTC+3) проведём бесплатный стрим с Алексеем Аметовым. Завайбкодим классический Тетрис от пустой папки до работающей игры, расскажем о программе и ответим на вопросы.
📍 Ссылка для подключения в нашем боте: @GuideDAO_hallo_bot (пришлём за 5 минут).
Приходи смотреть, как AI превращает идеи в код, и забирай свой первый продукт через 8 недель. 🤖
Стартуем 15 марта с Алексеем Аметовым — предпринимателем и исследователем ИИ. Пройдём путь от гипотезы и JTBD до релиз-реди MVP с базой данных, логином и AI-фичами.
Кому: фаундерам, разработчикам, дизайнерам и тем, кто хочет быстро проверять идеи кодом, минуя найм команды.
Как устроено: 8 недель, живые стримы с наставником, домашки с обратной связью.
Каждый модуль — видимый результат:
— Прототип в AI-песочнице → CRUD → регистрация → агентские функции → тесты → деплой.
— Итог: готовый веб-сервис (mobile/desktop) и навык «придумал → сделал → запустил».
После курса:
— Доступ в обучению и комьюнити Guide DAO.
— Регулярные стримы с экспертами: ежедневные лайвкодинги и AMA, чтобы получать самые актуальные знания в быстро меняющейся сфере.
— Новый курс по вайбкодингу на платформе
По промо-коду
KRUK скидка -40% на guidedao.xyz до 15 марта🔥Работающее приложение за один стрим
В пятницу в 19:00 (UTC+3) проведём бесплатный стрим с Алексеем Аметовым. Завайбкодим классический Тетрис от пустой папки до работающей игры, расскажем о программе и ответим на вопросы.
📍 Ссылка для подключения в нашем боте: @GuideDAO_hallo_bot (пришлём за 5 минут).
Приходи смотреть, как AI превращает идеи в код, и забирай свой первый продукт через 8 недель. 🤖
Guide DAO
Интенсив по агентскому кодингу | Guide DAO
Авторский курс: собираем продукт от JTBD (Jobs To Be Done) и PRD до релиз-ready MVP с mobile- и desktop-потоком, данными, AI-фичами и управляемым релизом.
🔥9🌚4❤3👎2✍1
В этом видео пошагово показываю, как поднять свой прокси-сервер на Linux с помощью sing-box.
Настроим VLESS, Hysteria2 и SOCKS (для Telegram), а также разберём настройку клиентов.
Все делается через команды в терминале. После просмотра у тебя будет полностью рабочий прокси сервер, который можно использовать для своих устройств. https://www.youtube.com/watch?v=5_67h-HjwfA
Настроим VLESS, Hysteria2 и SOCKS (для Telegram), а также разберём настройку клиентов.
Все делается через команды в терминале. После просмотра у тебя будет полностью рабочий прокси сервер, который можно использовать для своих устройств. https://www.youtube.com/watch?v=5_67h-HjwfA
YouTube
Полная настройка своего прокси-сервера | SOCKS (Telegram), VLESS, Hysteria2, Sing-box, Linux
В этом видео пошагово показываю, как поднять свой прокси-сервер на Linux с помощью sing-box.
Настроим VLESS, Hysteria2 и SOCKS (для Telegram), а также разберём настройку клиентов.
Все делается через команды в терминале. После просмотра у тебя будет полностью…
Настроим VLESS, Hysteria2 и SOCKS (для Telegram), а также разберём настройку клиентов.
Все делается через команды в терминале. После просмотра у тебя будет полностью…
⚡31❤17👍1
Я тут готовлю статью по теме прокси выше, пару команд уточнил заодно.
Sing-box ставится теперь попроще, в частности:
И затем
Потом ставим
И для unbound symlink для резволвера можно сделать так
(это самая последняя команда в блоке unbound)
Ещё возник вопрос, нафига вообще морочится с этими unbound, если можно ломиться в гугл или cloudflare. Ответ - можно, конечно. Там можно заодно настроить dns over tls, к примеру. Но в этом случае мы отдаём на откуп резолв этим организациям, то есть как бы "доверяем" им и ожидаем, что они всё правильно зарезолвят.
Мы же делаем схему "сам себе велосипед", то есть ломимся напрямую к корневым серверам, кэшируем всё у себя и тп. Но тогда dns over tls особо не настроить, тк (если я не ошибаюсь) глобально его поддержки ещё нет. Впрочем, я не думаю, что dot в данном случае необходим, гораздо важнее, чтобы клиент правильно делал резолв и не пытался что-то резолвить в обход прокси
Sing-box ставится теперь попроще, в частности:
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://sing-box.app/gpg.key -o /etc/apt/keyrings/sagernet.asc
sudo chmod a+r /etc/apt/keyrings/sagernet.asc
И затем
echo '
Types: deb
URIs: https://deb.sagernet.org/
Suites: *
Components: *
Enabled: yes
Signed-By: /etc/apt/keyrings/sagernet.asc
' | sudo tee /etc/apt/sources.list.d/sagernet.sources
Потом ставим
sudo apt update
sudo apt install sing-box -y
И для unbound symlink для резволвера можно сделать так
sudo rm /etc/resolv.conf
sudo ln -s /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
(это самая последняя команда в блоке unbound)
Ещё возник вопрос, нафига вообще морочится с этими unbound, если можно ломиться в гугл или cloudflare. Ответ - можно, конечно. Там можно заодно настроить dns over tls, к примеру. Но в этом случае мы отдаём на откуп резолв этим организациям, то есть как бы "доверяем" им и ожидаем, что они всё правильно зарезолвят.
Мы же делаем схему "сам себе велосипед", то есть ломимся напрямую к корневым серверам, кэшируем всё у себя и тп. Но тогда dns over tls особо не настроить, тк (если я не ошибаюсь) глобально его поддержки ещё нет. Впрочем, я не думаю, что dot в данном случае необходим, гораздо важнее, чтобы клиент правильно делал резолв и не пытался что-то резолвить в обход прокси
⚡9❤6🤝1
Как обещал, текстовая версия урока про прокси. Её милостиво согласились проспонсировать мои друзья из ScrapingBee, так что не поленитесь пошарить. 🙌
Кстати, если вам нужен пул прокси именно для скрейпинга, то я с радостью посоветую именно сервисы ScrapingBee, которыми и сам пользуюсь - продукт действительно очень достойный. https://www.scrapingbee.com/blog/how-to-build-private-proxy-server/
Кстати, если вам нужен пул прокси именно для скрейпинга, то я с радостью посоветую именно сервисы ScrapingBee, которыми и сам пользуюсь - продукт действительно очень достойный. https://www.scrapingbee.com/blog/how-to-build-private-proxy-server/
Scrapingbee
How to build a private proxy server with sing-box, VLESS, Hysteria2 and SOCKS on Linux | ScrapingBee
Learn how to build a private proxy server on Linux with sing-box using SOCKS, VLESS Reality, and Hysteria2, plus security and DNS setup tips.
⚡8✍7👍2🫡2
Ещё одно решение конкретно для telegram proxy https://github.com/telemt/telemt Позволяет поднять MTProxy буквально за 5 минут (только что проверил). Если будет интерес, потом как-нибудь сделаю урок. Правда через эту штуку не будут работать звонки, судя по всему
GitHub
GitHub - telemt/telemt: MTProxy for Telegram on Rust + Tokio
MTProxy for Telegram on Rust + Tokio. Contribute to telemt/telemt development by creating an account on GitHub.
🔥15❤3👍1🤝1
Я тут последнее время стал задумываться, почему не хочется ходить в кино, хотя раньше это было "круто" - ну, посмотреть фильм, поесть мороженое или поп-корн... Да, а ведь ещё можно было сходить во Friday's! Это надо было в центр ехать, а цены там были почему-то в долларах (страшное время). Потом спустя много лет мы любили ходить на ночные премьеры - и в общем много хорошего видели. Но сейчас как-то не тянет.
С одной стороны, странно, ведь снимают всё ещё много интересного. И дело не в том, что все вдруг подсели на тик-токи и не могут сосредоточиться - я вот такие форматы видео не смотрю никогда. Больше того, читать длинные тексты или играть в какие-то "долгие" игры для меня вполне нормально. А ходить в кино как-то совсем не тянет.
Кажется, понял, в чём дело. На самом деле, это началось не вчера - много лет назад мы с другом, которого я, к сожалению, не видел уже много лет, могли смотреть фильм дома в стиле "посмотрели пять минут - поставили на паузу - полчаса поговорили". Сейчас, вероятно, это перешло в другую фазу. Нужно просто *поставить на паузу*, чтобы подумать, впитать и ощутить.
В детстве, к примеру, завораживает часто картинка, какие-то смешные моменты, ещё что-то такое. Ну поэтому, кстати, так затягивают идиотские видео "для детей на YT", где совсем уж ересь какая-то творится. Хорошо, что в наше старопердунское время такого не было... Но потом ты начинаешь задумываться. Кажется, первая прямо *сильная* эмоция от фильма была, когда я увидел "Конан-варвар" (где играл всеми любимый Арни). Да, сейчас это уже как-то простовато, но зрелище всех этих мучений для ребёнка, да ещё и сцена распятия - это конечно оставило след в неокрепшей душе.
Да, тогда я прямо поставил на паузу и убежал в другую комнату. Надо было как-то всё осознать. Сейчас аналогично - просто в более зрелом виде. Хочется подумать, обсудить, зафиксировать. В кино, очевидно, такой возможности нет - ну, не будешь же ты как придурок болтать весь фильм.
Представьте, что вы едете на машине мимо красивого озера. Можно пронестись мимо и просто обратить на него внимание. А можно остановиться и полюбоваться его красотой, пусть даже молча. Эпизод жизни, который запомнится. Прожить, а не пролететь мимо.
С одной стороны, странно, ведь снимают всё ещё много интересного. И дело не в том, что все вдруг подсели на тик-токи и не могут сосредоточиться - я вот такие форматы видео не смотрю никогда. Больше того, читать длинные тексты или играть в какие-то "долгие" игры для меня вполне нормально. А ходить в кино как-то совсем не тянет.
Кажется, понял, в чём дело. На самом деле, это началось не вчера - много лет назад мы с другом, которого я, к сожалению, не видел уже много лет, могли смотреть фильм дома в стиле "посмотрели пять минут - поставили на паузу - полчаса поговорили". Сейчас, вероятно, это перешло в другую фазу. Нужно просто *поставить на паузу*, чтобы подумать, впитать и ощутить.
В детстве, к примеру, завораживает часто картинка, какие-то смешные моменты, ещё что-то такое. Ну поэтому, кстати, так затягивают идиотские видео "для детей на YT", где совсем уж ересь какая-то творится. Хорошо, что в наше старопердунское время такого не было... Но потом ты начинаешь задумываться. Кажется, первая прямо *сильная* эмоция от фильма была, когда я увидел "Конан-варвар" (где играл всеми любимый Арни). Да, сейчас это уже как-то простовато, но зрелище всех этих мучений для ребёнка, да ещё и сцена распятия - это конечно оставило след в неокрепшей душе.
Да, тогда я прямо поставил на паузу и убежал в другую комнату. Надо было как-то всё осознать. Сейчас аналогично - просто в более зрелом виде. Хочется подумать, обсудить, зафиксировать. В кино, очевидно, такой возможности нет - ну, не будешь же ты как придурок болтать весь фильм.
Представьте, что вы едете на машине мимо красивого озера. Можно пронестись мимо и просто обратить на него внимание. А можно остановиться и полюбоваться его красотой, пусть даже молча. Эпизод жизни, который запомнится. Прожить, а не пролететь мимо.
👍28❤🔥5
Кстати, вышел Typescript 6. Не знаю, что тут особо добавить, но так как он у меня много где используется, то попробовал мигрироваться. В целом, если проект современный и не использует всякое старьё, вообще без проблем всё проходит, вот пример коммита https://github.com/lokalise/node-lokalise-api/compare/bc5fa96fb54a715a9d7dd2bee86df563cc39de8c...e563c8d809723077b4607e998db8148b41edb265
Заодно заменил tsup на tsdown (для компиляции), чего и вам желаю
Заодно заменил tsup на tsdown (для компиляции), чего и вам желаю
GitHub
Comparing bc5fa96fb54a715a9d7dd2bee86df563cc39de8c...e563c8d809723077b4607e998db8148b41edb265 · lokalise/node-lokalise-api
Lokalise API v2 Node.js client. Contribute to lokalise/node-lokalise-api development by creating an account on GitHub.
❤5