DEV: Рубиновые тона – Telegram
DEV: Рубиновые тона
3.22K subscribers
143 photos
2 videos
8 files
978 links
Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Download Telegram
Сегодня у нас дождь. Осень стремительно наступает, хотя буквально три назад я ещё купался в море.

Я решил провести стрим по "общим вопросам" и просто для общения, но пока по ряду причин мне тяжеловато его анонсировать. Наверное, нужна пауза. Через неделю на какое-то время еду в Берлин. Если вдруг кто-то окажется там же, особенно в районе концертов 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
08.09.22 в 19:00 UTC+3 состоится очередной интересный стрим! В этот раз мы поговорим о новом стандарте ERC1155, который призван заменить ERC721 и позволяет создавать как уникальные, так и неуникальные токены, причём разных типов и в одном контракте. Как обычно, мы реализуем стандарт с нуля, а также обсудим интересующие вас вопросы. Также, возможно, сразу после этого будет ещё одна "развлекательная" трансляция, но насчёт этого ещё подумаю, как лучше поступить. Увидимся! https://youtu.be/tMtP1_3Hxhg
12👍6🔥2
Огромное спасибо всем за участие в стриме! Было очень классно, запись уже доступна на канале, исходный код как обычно на GitHub. Скоро, кстати, будет урок по GitHub для начинающих 😄
25👍10
В этом уроке, который будет актуален для разработчика практически на любом языке, мы поговорим о двоичной и десятичной системах счистления и о переводе чисел из одной системы в другую. Также мы узнаем обо всех основных побитовых операциях: AND, OR, XOR, NOT, SHIFT LEFT, SHIFT RIGHT. Кроме того, узнаем пару любопытных трюков с применением побитовых операций. https://www.youtube.com/watch?v=sKrHBd_F8vo
🔥246
В этом видео мы рассмотрим систему Git и сервис GitHub, пользоваться которыми должен уметь каждый разработчик. Мы узнаем, зачем эти решения нужны, как они работают и как их правильно настроить. Посмотрим на практике как создать репозитарий, сделать коммиты, создать форк, слить сделанные изменения в главную версию проекта и как разрешать возможные конфликты редактирования. Этот урок подойдёт для начинающих разработчиков независимо от используемых языков программирования. https://www.youtube.com/watch?v=TjPhGD0XQ4I
36👍6🔥6
В общем-то, уже одно существование этого сайта должно выводить из себя 😂 http://howtocenterincss.com
👍11😁73
В этом уроке мы поговорим о шестнадцатеричной (hexadecimal) системе счисления, которая используется в самых разных компьютерных программах. Обсудим её основные особенности и узнаем, как выполнять перевод в другие системы: в частности, в десятичную и в двоичную. https://www.youtube.com/watch?v=NUBhOIPTkzM
👍18