DEV: Рубиновые тона – Telegram
DEV: Рубиновые тона
3.22K subscribers
143 photos
2 videos
8 files
978 links
Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Download Telegram
👍31😁151
Бывает и так
😁20😱2
NNNNNNNNNNOOOOOOOOOOOO!!!!!!!!! 😡😳

Heroku, ты был избранным! Ты должен был предоставлять бесплатные тарифы, а не убирать их! А теперь я вот такое получаю:

Thank you for being a Heroku user. Starting November 28, 2022, free Heroku Dynos, free Heroku Postgres, and free Heroku Data for Redis will no longer be available.

Короче говоря, Heroku прикрывает лавочку:

- С конца октября удаляются неактивные аккаунты (неактивность больше года)
- С конца ноября бесплатные планы уходят в небытие
- Старые цены пока актуальны: 7 баксов за dyno, 9 за PG, 15 за Redis
- Остаются какие-то бесплатные варианты для студентов и некоммерческих организаций, но там надо уже отдельно это всё согласовывать

В общем, видимо надо отнестись с пониманием, хотя очень жаль - это была отличная платформа, чтобы быстренько развернуть какой-нибудь прототип. https://blog.heroku.com/next-chapter
😢30👍1
Этот урок мы записывали уже часа в 2 ночи, "под пиво", но получилось душевно, а главное удалось обсудить действительно очень много нового.

Этот урок по Ruby 3 будет посвящён практике: мы напишем собственный нейрогороскоп, который будет выдавать прогноз на день по запрошенному знаку зодиака. Мы вспомним все основные изученные темы, а также рассмотрим новые очень важные вещи: RubyGems, API (application programming interface), JSON (JavaScript object notation), а также поработаем с библиотекой Faraday и узнаем, зачем нужен метод map.

https://www.youtube.com/watch?v=vGgZcSOml34
🔥28👍7
Спокойной ночи
😁9👍1🤔1
Сегодня у нас дождь. Осень стремительно наступает, хотя буквально три назад я ещё купался в море.

Я решил провести стрим по "общим вопросам" и просто для общения, но пока по ряду причин мне тяжеловато его анонсировать. Наверное, нужна пауза. Через неделю на какое-то время еду в Берлин. Если вдруг кто-то окажется там же, особенно в районе концертов Blind Guardian или Garmarna, то велком. Потом посмотрим.

Планов, как обычно, много, но множество событий мешает их претворению в жизнь. Здорово, что новый формат видео "с учеником" многим понравился, так как мы старались - в половине случаев мы действительно записывали посреди ночи, чтобы всем было удобно. Хочется о много рассказать, а на это, как обычно, требуются моральные силы.

Пока на постоянной основе я вещаю в MCS - сегодня было аж два стрима, на втором можно было поиграть против меня в "интеллектуальной игре". В общем, all is violent, all is bright https://www.youtube.com/watch?v=Ad4T-j_bOVc
👍6
https://githubuniverse.com - в ноябре будет двухдневное событие от GitHub для энтузиастов безопасности, облачных сервисов, AI. Участие (виртуально) бесплатное, но, кажется, надо регистрироваться заранее. Список тем и прочего обещают к октябрю
По следам вчерашней дискуссии. Как измерить "вес" уже задеплоенного контракта в байтах? Предлагались разные варианты, в целом вот краткая выжимка:

* Вам потребуется байткод самого контракта с Etherscan.
* В целом, достаточно посчитать количество символов в байткоде и поделить это число на 2.

Как считать, это уже вопрос другой. К примеру, на системах nix можно сделать файл .hex, туда сунуть байт-код и потом выполнить команду ls -l - он покажет вес этого дела.

На Ruby можно для каждой пары символов добавить разделители \x и потом:

"\x6e\x6f".unpack 'C*'
=> [110, 111]

То есть каждая "двойка" символов отделяется \x. Посчитав длину получившегося массива, вы узнаете вес контракта.

Можно на Питоне:


len(bytearray.fromhex('6f6e'))

Тут просто вставляете байткод контракта, никаких разделителей не надо - получите "вес" в байтах. 6f6e - это пример короткого байткода (соответствует английскому слову "on")
👍4
Предположим, у вас есть бесконечное количество штанов...
😁19
В этом уроке по Ruby 3 мы узнаем, как осуществлять чтение и запись файлов, как работает формат YAML и зачем он нужен, что такое метод inject и как его использовать. Поговорим о работе с датой-временем и методе strftime. Также узнаем о методах ord/chr, ещё немного поговорим о работе со строками и напишем свой квиз в стиле "кто хочет стать миллионером", где пользователю будет предлагаться несколько возможных вариантов ответа. Всё прохождение квиза будет протоколироваться в специальном файле. В общем, будет интересно. https://www.youtube.com/watch?v=o1muMMgc3Zs
🔥16👍9
Небольшой апдейт по планам на ближайшее время 🤓

Очень скоро (возможно, уже завтра) поговорим о том, что такое honeypot в Solidity и как его реализовать и может быть даже обмануть хакера, который пытается взломать вас.

Через несколько дней будет видео в новом формате: объяснения будем рисовать в стиле "каллиграфия" в реальном времени. Поговорим о двоичной логике и битовых операциях: эта информация актуальна для большинства языков, включая Solidity, Ruby, Python, JS.

Затем очередной урок Ruby - возможно, начнём рассматривать ООП.

Также есть желание обсудить lazy enumerables в ruby.

Стрим пока откладывается, но тоже наверняка состоится.

Пока так. Всем большое спасибо за поддержку 🤟
👍36🔥19
⚠️ Будьте аккуратны при обновлении до Hardhat 2.11 (во всяком случае, если используете toolbox). Там какие-то чудеса с некоторыми матчерами и почему-то недоступен revertedWith, к примеру. Пока неясно, в чём дело, но помогает использование 2.10.
🤔6👍2
В этом уроке по Solidity мы узнаем, что такое ловушка "honeypot" и как она реализовывается. Мы напишем контракт, который явно подвержен атаке reentrancy, после чего попробуем заманить хакера в нашу ловушку и обмануть его самого. Также ещё раз вспомним, как работает reentrancy и напишем для получившегося контракты тесты с помощью Chai и Hardhat. https://www.youtube.com/watch?v=8gDnv8zRD_8
🔥15👍1
О да.
🔥9😁52