In my restless dreams I see that code... You promised you'd refactored it but you never did... А иногда прямо хочется вернуться в те славные дни в стиле "гусарский кодинг", когда всё было легко и просто.
Захотел - да и объявил константу класса (а то и наследуемый класс) при подключении модуля, а то и метод класса заодно, который на лету что-то читает. А чего - один раз ведь живём!
Сейчас, конечно, тоже не сильно сложно, но не так весело. Метапрограммирование всегда добавляло перчинку в скучную жизнь. Как говорил Джек Воробей - мир остался прежним, стало меньше содержимого (да, я уже помню, что *капитан* Джек Воробей, можно не поправлять 👍) https://github.com/bodrovis/ChgkRating/blob/master/lib/chgk_rating/concerns/searching.rb
module Searching
# Some black magic indeed...
# Creates a Search child class of a given class that changes the URI where the
# GET request should be sent
def self.included(klass)
klass.const_set(:Search,
Class.new(klass) do |*_args|
def api_path
"#{super}/search"
end
end)
# The actual method to perform searching
# Instantiates a Search class with the given search params
# and send a GET request to the proper URI (defined above)
klass.define_singleton_method :search do |params|
klass.const_get(:Search).new(params)
end
end
end
Захотел - да и объявил константу класса (а то и наследуемый класс) при подключении модуля, а то и метод класса заодно, который на лету что-то читает. А чего - один раз ведь живём!
Сейчас, конечно, тоже не сильно сложно, но не так весело. Метапрограммирование всегда добавляло перчинку в скучную жизнь. Как говорил Джек Воробей - мир остался прежним, стало меньше содержимого (да, я уже помню, что *капитан* Джек Воробей, можно не поправлять 👍) https://github.com/bodrovis/ChgkRating/blob/master/lib/chgk_rating/concerns/searching.rb
🔥6❤5
Так как Telegram делает для борьбы со спамом примерно ничего, то с сего дня бассейн закрыт и комментарии к постам полностью отключены.
Для обсуждения или задания вопросов добро пожаловать в наш чат, только не забудьте пройти проверку "я не робот". К сожалению, у меня просто уже нет сил вычищать всю эту помойку с рекламой скама. Скоро увидимся. https://news.1rj.ru/str/+MxYT6-01eeA1NTYy
Для обсуждения или задания вопросов добро пожаловать в наш чат, только не забудьте пройти проверку "я не робот". К сожалению, у меня просто уже нет сил вычищать всю эту помойку с рекламой скама. Скоро увидимся. https://news.1rj.ru/str/+MxYT6-01eeA1NTYy
Telegram
DEV: Рубиновые тона: ЧАТ
Обсуждение канала "DEV: Рубиновые тона"
❤9👍5💔2
Кстати, если говорить о скаме в IT. Мы тут в чате последнее время много обсуждали поиск работы и возникающие проблемы с мошенниками. Я просуммирую некоторые важные моменты - да, они могут показаться очевидными опытным разработчикам, но это чрезвычайно важно для тех, кто только начинает свой путь (так что поделитесь с начинающими коллегами!).
- Если вам прилетает какой-то оффер - скажем, в LinkedIn - в первую очередь обязательно разберитесь, кто вообще его прислал и какую роль этот человек занимает в организации. Согласитесь, очень странно, если на должность senior developer вас приглашает менеджер по продажам. Да, даже если это какой-то бывший коллега, которого вы едва помните, или он что-то упоминает про "общих знакомых".
- Поищите, что за компанию представляет этот человек. Есть ли такая вакансия на их сайте, в профиле LinkedIn? Если это крипта, то связана ли компания с криптой хоть каким-то боком? Может, они писали что-то о крипте в своём блоге? Гуглится ли эта организация в принципе и если да, то как давно она появилась (официальные данные можно обычно достать в открытых источниках)? Если есть сайт, то когда и кем зарегистрирован домен?
- Даже если профиль автора сообщения подтверждён (или подтверждено место работы), это, к сожалению, ничего не гарантирует - вам могут писать со взломанного аккаунта. Кстати, если вдруг этот аккаунт что-то постил в ленте - присмотритесь, что именно. Будет странно, если он сначала писал о B2B sales, а потом внезапно последние несколько дней стал массово репостить записи про ethereum.
- Внимательно читайте, что именно вам пишут. Мошенники очень часто льют воду, не говоря ничего конкретного. Если в тексте сообщения всякий флуд про то, что "наша компания самая прогрессивная в мире и хочет и дальше расти в этом направлении", но при этом не названа ни сама компания, ни оговорены конкретные обязанности, которые вы будете выполнять, это очень странно. Любой нормальный наниматель сразу скажет - я такой-то, из такой-то компании, мы ищем того-то, такие-то обязанности.
- Плохой английский, странные обороты или текст, который явно генерировал искусственный интеллект, сразу говорит о многом (+обезличенные и тем более неправильные обращения)
- Если вас постоянно торопят, это плюс ещё один красный флаг. "Нам надо срочно закрыть эту позицию", "мы ждём ответа от вас до вечера", "тестовое задание сделать до завтра" - это всё сразу мимо кассы. Либо там бардак в компании, либо просто вас пытаются развести, грозя, что на это место уже есть миллион желающих
- Подозрительно, если на дополнительные вопросы вам продолжают лить воду, но зато сразу называют более-менее точную (и обычно относительно высокую зарплату). Вообще, слишком хороший оффер в духе "мы посмотрели ваш GitHub и хотим платить вам 12к баксов" - это из области фантастики, если только вы не супер-востребованный спец в своей области
- Неожиданное переобувание в процессе (сначала они ищут back-end разраба, потом вдруг аналитика) - это либо скам, либо просто полная неразбериха в отделе HR; в любом случае, вы не хотите с этим связываться
- Если требуют как-то очень много личных данных, это повод задуматься. "Да, уважаемый соискатель, не забудьте отправить номер своей карты и CVV" (это, конечно, гротеск, но всё же)
- Подозрительно, если дальнейшее общение вам предлагают вести по почте или через какой-нибудь мессенджер. Особенно странно, если почтовый адрес принадлежит непонятно кому и не имеет отношения к компании (нормальные люди для делового общения используют рабочую почту). Кстати, проверяйте адрес отправителя побуквенно (нет ли там каких-то мутных замен?). Не использует ли этот умник что-то вроде спуфинга (просто подмена адреса отправителя)?
- Кроме того, отказ от звонков или общение с выключенной камерой - это также "красный флаг".
- Если вам прилетает какой-то оффер - скажем, в LinkedIn - в первую очередь обязательно разберитесь, кто вообще его прислал и какую роль этот человек занимает в организации. Согласитесь, очень странно, если на должность senior developer вас приглашает менеджер по продажам. Да, даже если это какой-то бывший коллега, которого вы едва помните, или он что-то упоминает про "общих знакомых".
- Поищите, что за компанию представляет этот человек. Есть ли такая вакансия на их сайте, в профиле LinkedIn? Если это крипта, то связана ли компания с криптой хоть каким-то боком? Может, они писали что-то о крипте в своём блоге? Гуглится ли эта организация в принципе и если да, то как давно она появилась (официальные данные можно обычно достать в открытых источниках)? Если есть сайт, то когда и кем зарегистрирован домен?
- Даже если профиль автора сообщения подтверждён (или подтверждено место работы), это, к сожалению, ничего не гарантирует - вам могут писать со взломанного аккаунта. Кстати, если вдруг этот аккаунт что-то постил в ленте - присмотритесь, что именно. Будет странно, если он сначала писал о B2B sales, а потом внезапно последние несколько дней стал массово репостить записи про ethereum.
- Внимательно читайте, что именно вам пишут. Мошенники очень часто льют воду, не говоря ничего конкретного. Если в тексте сообщения всякий флуд про то, что "наша компания самая прогрессивная в мире и хочет и дальше расти в этом направлении", но при этом не названа ни сама компания, ни оговорены конкретные обязанности, которые вы будете выполнять, это очень странно. Любой нормальный наниматель сразу скажет - я такой-то, из такой-то компании, мы ищем того-то, такие-то обязанности.
- Плохой английский, странные обороты или текст, который явно генерировал искусственный интеллект, сразу говорит о многом (+обезличенные и тем более неправильные обращения)
- Если вас постоянно торопят, это плюс ещё один красный флаг. "Нам надо срочно закрыть эту позицию", "мы ждём ответа от вас до вечера", "тестовое задание сделать до завтра" - это всё сразу мимо кассы. Либо там бардак в компании, либо просто вас пытаются развести, грозя, что на это место уже есть миллион желающих
- Подозрительно, если на дополнительные вопросы вам продолжают лить воду, но зато сразу называют более-менее точную (и обычно относительно высокую зарплату). Вообще, слишком хороший оффер в духе "мы посмотрели ваш GitHub и хотим платить вам 12к баксов" - это из области фантастики, если только вы не супер-востребованный спец в своей области
- Неожиданное переобувание в процессе (сначала они ищут back-end разраба, потом вдруг аналитика) - это либо скам, либо просто полная неразбериха в отделе HR; в любом случае, вы не хотите с этим связываться
- Если требуют как-то очень много личных данных, это повод задуматься. "Да, уважаемый соискатель, не забудьте отправить номер своей карты и CVV" (это, конечно, гротеск, но всё же)
- Подозрительно, если дальнейшее общение вам предлагают вести по почте или через какой-нибудь мессенджер. Особенно странно, если почтовый адрес принадлежит непонятно кому и не имеет отношения к компании (нормальные люди для делового общения используют рабочую почту). Кстати, проверяйте адрес отправителя побуквенно (нет ли там каких-то мутных замен?). Не использует ли этот умник что-то вроде спуфинга (просто подмена адреса отправителя)?
- Кроме того, отказ от звонков или общение с выключенной камерой - это также "красный флаг".
👍14🔥2
- Чрезвычайно подозрительно, если без дальнейших прелюдий вам предлагается скачать и запустить какое-то приложение с GitHub/Bitbucket/whatever. Особенно пристально смотрите, когда этот репозитарий был создан, кем и сколько там коммитов. Если это гигантское приложение и оно залито одним коммитом неделю назад - ну, вы поняли.
- Уточняйте, что это за приложение и зачем его запускать. Если ответ неубедительный - сразу до свидания. Особенно если "тестовое задание" имеет весьма опосредованное отношение к предлагаемой должности (вам предлагают должность back-end, а само задание фокусируется на front-end). Впрочем, даже если ответ убедительный - всё равно ничего не запускайте у себя на компьютере, если не понимаете, что это за код. В крайнем случае используйте изолированную среду
- Я не говорю уже о случаях, когда вам предлагается подключить кошелёк на неизвестном сайте и подписать какие-то транзакции
- И, конечно же, если вам предлагают заплатить любую сумму под любым предлогом - это скам. Оформление документов, найм адвоката, какие-то ещё организационные вопросы - всё это делает работодатель, за это не платит сотрудник. Суть работы заключается в том, что вы получаете за неё деньги, а не платите сами.
Набрасывайте ещё советы 🤓
- Уточняйте, что это за приложение и зачем его запускать. Если ответ неубедительный - сразу до свидания. Особенно если "тестовое задание" имеет весьма опосредованное отношение к предлагаемой должности (вам предлагают должность back-end, а само задание фокусируется на front-end). Впрочем, даже если ответ убедительный - всё равно ничего не запускайте у себя на компьютере, если не понимаете, что это за код. В крайнем случае используйте изолированную среду
- Я не говорю уже о случаях, когда вам предлагается подключить кошелёк на неизвестном сайте и подписать какие-то транзакции
- И, конечно же, если вам предлагают заплатить любую сумму под любым предлогом - это скам. Оформление документов, найм адвоката, какие-то ещё организационные вопросы - всё это делает работодатель, за это не платит сотрудник. Суть работы заключается в том, что вы получаете за неё деньги, а не платите сами.
Набрасывайте ещё советы 🤓
👍26❤1☃1
Кстати, к вопросу о JS, но на фронт-энде. Сделал тут новое видео про Vue 3 и интернационализацию, то есть поддержку множества языков. Вышло очень подробно и про разные продвинутые штуки тоже, так что возможно кому-то будет актуально https://www.youtube.com/watch?v=G_p-LKuVZkg
YouTube
Vue 3 I18n в 2026 | Перевод на несколько языков, интернационализация, выбор языка, ленивая загрузка
В этом уроке мы поговорим о том, как переводить приложения Vue 3 (Vite) на несколько языков, то есть внедрять интернационализацию (I18n, internationalization). Мы обсудим много важных вещей: как настраивать плагин vue-i18n, как делать переводы, плюрализацию…
❤17
Знаете, иногда в фильмах бывает упоминают "наша песня", "у нас с ней была наша песня". Думаю, у меня ни с одной девушкой не было никогда "нашей песни". Но если бы меня просто попросили назвать что-то, из того запомнилось на всю жизнь, думаю я безусловно назвал бы Wuthering Heights в исполнении Кейт Буш. https://www.youtube.com/watch?v=Fk-4lXLM34g&list=RDFk-4lXLM34g&start_radio=1
Да, странно, учитывая что я зачастую слушаю какой-то неудобоваримый метал, но так уж есть - забавно, что Марко Хиетала, человек в "тяжёлых" кругах очень известный, тоже упоминал Кейт Буш в числе любимых исполнителей. И, кстати, я очень рекомендую почитать соответствующий роман "Грозовой перевал", а может посмотреть совсем короткий сериал в интерпретации Коки Гидройк, где играет ещё довольно молодой Безумный Макс aka Том Харди.
А из других песен, которые реально определили для меня условный "век" - это, пожалуй, "Wind of change" (Scorpions), "Дождь" (ДДТ), "На дороге пятак" (Я. Дягилева"). Но все эти треки, к сожалению, относятся к той эпохе, которая ушла безвозвратно; рассказывают про те времена, которые мы видели *тогда*, но которые давным-давно стали... легендой? сказкой? Не знаю. Так было. И так уже вряд ли будет.
Да, странно, учитывая что я зачастую слушаю какой-то неудобоваримый метал, но так уж есть - забавно, что Марко Хиетала, человек в "тяжёлых" кругах очень известный, тоже упоминал Кейт Буш в числе любимых исполнителей. И, кстати, я очень рекомендую почитать соответствующий роман "Грозовой перевал", а может посмотреть совсем короткий сериал в интерпретации Коки Гидройк, где играет ещё довольно молодой Безумный Макс aka Том Харди.
А из других песен, которые реально определили для меня условный "век" - это, пожалуй, "Wind of change" (Scorpions), "Дождь" (ДДТ), "На дороге пятак" (Я. Дягилева"). Но все эти треки, к сожалению, относятся к той эпохе, которая ушла безвозвратно; рассказывают про те времена, которые мы видели *тогда*, но которые давным-давно стали... легендой? сказкой? Не знаю. Так было. И так уже вряд ли будет.
YouTube
Kate Bush - Wuthering Heights - Official Music Video - Version 2
Official music video for the single "Wuthering Heights" -- Version 2 by Kate Bush.
Wuthering Heights was released as Kate's debut single in January 1978. It became a No.1 hit in the UK singles chart and remains Kate's biggest-selling single.
Two music…
Wuthering Heights was released as Kate's debut single in January 1978. It became a No.1 hit in the UK singles chart and remains Kate's biggest-selling single.
Two music…
👍10🔥3😢2
Привет! В эту пятницу в моём канале ждём всех на важный разговор о том, как AI может влиять на наше сознание.
На примере истории инвестора OpenAI, который после общения с ChatGPT начал верить в существование тайной «негосударственной системы», мы разберём, как ИИ-модели, пытаясь угодить, могут усугубить паранойю. Обсудим грань между полезным ассистентом и цифровым «сообщником» в бреде, а также свежее исследование Стэнфорда на эту тему.
Именно такие кейсы показывают: будущее за теми, кто умеет конструировать AI, а не просто им пользоваться. Поэтому мои друзья в Guide DAO запустили практический курс, где объединили две мощные темы: разработку AI-агентов под реальные задачи и вайбкодинг, чтобы вы могли поручать нейросетям рутину и фокусироваться на сложных вещах.
До 14 февраля по промокоду KRUK скидка 30%, она суммируется с 14% на сайте.
Ждём всех, чтобы поговорить о тёмной стороне LLM и психологической безопасности.
🗓 Пятница, 06.02, 19:00
На примере истории инвестора OpenAI, который после общения с ChatGPT начал верить в существование тайной «негосударственной системы», мы разберём, как ИИ-модели, пытаясь угодить, могут усугубить паранойю. Обсудим грань между полезным ассистентом и цифровым «сообщником» в бреде, а также свежее исследование Стэнфорда на эту тему.
Именно такие кейсы показывают: будущее за теми, кто умеет конструировать AI, а не просто им пользоваться. Поэтому мои друзья в Guide DAO запустили практический курс, где объединили две мощные темы: разработку AI-агентов под реальные задачи и вайбкодинг, чтобы вы могли поручать нейросетям рутину и фокусироваться на сложных вещах.
До 14 февраля по промокоду KRUK скидка 30%, она суммируется с 14% на сайте.
Ждём всех, чтобы поговорить о тёмной стороне LLM и психологической безопасности.
🗓 Пятница, 06.02, 19:00
❤12❤🔥5👍3⚡2☃1😁1
Залетаем завтра вечером, поговорим про всякое забавное и не очень https://youtube.com/live/YhQF8SrVL98?feature=share
YouTube
AI Jam #22 | Синдром "Шершавого кабана". Как ИИ свёл с ума инвестора OpenAI
ХОТИТЕ СТАТЬ РАЗРАБОТЧИКОМ TS и Solidity, узнать об Ethereum, блокчейне и многом другом ещё больше?!
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 15% на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 15% на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
⚡4🐳4👍3✍2❤1
Сегодня через полчаса думаю поработать в режиме live coding, попишем контракты и тесты не слишком сложные, просто чтобы немного освежить, так что залетайте (дурацкая обложка временная 😂) https://youtube.com/live/I8yS7z_GkFw?feature=share
YouTube
Solidity и Ethereum #101 | Live coding, вновь контракты и тесты Foundry, ответы на вопросы
ХОТИТЕ СТАТЬ РАЗРАБОТЧИКОМ TS и Solidity, узнать об Ethereum, блокчейне и многом другом ещё больше?!
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 15% на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
Мои друзья из GUIDE DAO (бывшая школа MCS) предлагают скидку 15% на ВСЕ СВОИ БУТКЕМЫ ПО КРИПТЕ! Материалы этих буткемов подготовлены мной и другими специалистами:…
👍16
⚠️ Кстати, друзья, хотел рассказать об очередном виде очень неприятного мошенничества - это своего рода социальная инженерия, но немного необычная. На это вряд ли попадётся специалист, но у вас наверняка есть знакомые или родственники, которые, как говорится, не tech-savvy, так что расскажите им.
Соль в следующем. Юзер открывает какой-то сайт (обычно что-нибудь в духе "бесплатно посмотреть сериал). Там вылезает обычная страничка "подтвердите, что вы не робот", например в дизайне Cloudflare.
Юзер думает - а, ну опять это типовое подтверждение. Жмёт "я не робот", но затем ему предлагают не выбрать все автобусы/светофоры/синхрофазотроны, а нечто более интересное.
Если, скажем, юзер на винде, то ему говорят: а нажми-ка сначала комбинацию клавиш
Ну, юзер нажимает, причём в диалоге "выполнить" (который открывается по нажатию
Что произошло? Всё довольно просто. Фейковый сайт просто подсунул в буфер обмена юзеру хитрую команду, которая при выполнении скачивает какой-нибудь мутный файл (причём формально это может быть даже картинка, то есть расширение jpg). После скачивания эта штука выполняется как исполняемый файл. А уж что туда напихали - бог весть. Причём вся строка в буфере обмена выглядит как
Вот такая история. Будьте бдительны и предупредите других. Вставка неизвестно чего в терминал или диалог "run" - это чрезвычайно опасно.
Соль в следующем. Юзер открывает какой-то сайт (обычно что-нибудь в духе "бесплатно посмотреть сериал). Там вылезает обычная страничка "подтвердите, что вы не робот", например в дизайне Cloudflare.
Юзер думает - а, ну опять это типовое подтверждение. Жмёт "я не робот", но затем ему предлагают не выбрать все автобусы/светофоры/синхрофазотроны, а нечто более интересное.
Если, скажем, юзер на винде, то ему говорят: а нажми-ка сначала комбинацию клавиш
Win+R, потом Ctrl+V и Enter, тогда мы тебя на сайт и пустим! А то ты очень подозрительный, надо проверить как следует, это такой наш новый метод защиты.Ну, юзер нажимает, причём в диалоге "выполнить" (который открывается по нажатию
win+r) после вставки видно что-то вроде "i am not a robot", то есть вроде ничего такого. Жмёт Enter... Ну, а потом возможны варианты - например компьютер блокируется вирусом ransomware.Что произошло? Всё довольно просто. Фейковый сайт просто подсунул в буфер обмена юзеру хитрую команду, которая при выполнении скачивает какой-нибудь мутный файл (причём формально это может быть даже картинка, то есть расширение jpg). После скачивания эта штука выполняется как исполняемый файл. А уж что туда напихали - бог весть. Причём вся строка в буфере обмена выглядит как
команда для скачивания вируса | вывод строки i am not a robot, то есть юзер в диалоге после вставки увидит именно последнюю часть строки, если не пролистает всё вручную.Вот такая история. Будьте бдительны и предупредите других. Вставка неизвестно чего в терминал или диалог "run" - это чрезвычайно опасно.
❤20👍16
И вновь немного новостей для любителей чего-нибудь поскрейпить. Тут сегодня официально вышла новая очень классная фича Fast Search API, которая позволяет за один запрос к API буквально за секунду вытащить поисковые результаты и всякие связанные новости. Я поигрался с этой штукой пару дней, работает реально надёжно и шустро.
Так что можно глянуть мой пост, там сразу и примеры кода есть, можно легко потестить с бесплатным аккаунтом https://www.scrapingbee.com/blog/fast-search-api/
Так что можно глянуть мой пост, там сразу и примеры кода есть, можно легко потестить с бесплатным аккаунтом https://www.scrapingbee.com/blog/fast-search-api/
Scrapingbee
Fast Search API: Real-time SERP data for AI agents, LLM training, and competitive intelligence | ScrapingBee
Get real-time, structured SERP data fast without building custom scrapers. Fast search API gives AI agents, LLMs, and analytics fresh results in under a second with zero retention.
❤🔥7👍2🔥2
Немного апдейтов для тех, кто балуется настройкой всяких прокси и VPN. Попробовал добавить в sing-box поддержку достаточно нового протокола hysteria2 - в общем, полёт нормальный. Требуется домен и сертификат для него, можно как обычно сделать автообновление через certbot. Эта штука ходит по UDP, считается надёжной. Примерно такой конфиг:
Кстати, тут ещё меня попросили помочь с telegram и его прокси - тот же singbox нормально поддерживает socks5, можно сделать
и далее просто в настройках клиента добавить custom proxy
{
"type": "hysteria2",
"tag": "hy2-in",
"listen": "::",
"listen_port": 443,
"users": [
{
"name": "name",
"password": "123"
}
],
"tls": {
"enabled": true,
"server_name": "example.com",
"certificate_path": "/etc/letsencrypt/live/example.com/fullchain.pem",
"key_path": "/etc/letsencrypt/live/example.com/privkey.pem"
}
}Кстати, тут ещё меня попросили помочь с telegram и его прокси - тот же singbox нормально поддерживает socks5, можно сделать
{
"type": "socks",
"tag": "tg-socks",
"listen": "::",
"listen_port": 1081,
"users": [
{
"username": "name",
"password": "123"
}
]
}и далее просто в настройках клиента добавить custom proxy
❤14✍8