DEV: Рубиновые тона – Telegram
DEV: Рубиновые тона
3.21K subscribers
144 photos
2 videos
8 files
981 links
Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Download Telegram
По просьбам зрителей, предлагаю решить следующую задачу на языке Solidity.

Сделать контракт-аукцион (по принципу "английский аукцион", то есть когда нужно делать всё более и более высокие ставки, перебивая другие). При развёртывании контракта указываем название товара, изначальную цену и адрес продавца (кому потом деньги начислять). Продавец может быть владельцем контракта.

Затем сделать функцию "ставка", которая принимает определённую сумму денег от потенциального покупателя. Ставка должна быть больше текущей цены, тк суть аукциона в том, чтобы "перебить" ставку другого. Аукцион может закончиться либо по какому-то условию, либо если продавец вызвал функцию "закончить", либо по какому-то ещё принципу. В этот момент больше ставок уже делать нельзя, а продавец получает свои деньги. Нужно подумать также о том, что люди, чьи ставки "перебили", должны иметь возможность забрать деньги обратно.

В идеале, написать для этого контракта тесты. В одном из следующих уроков, возможно, посмотрим, как это сделать.
👍8🔥1
В общем, не могу не поделиться забавной вещью, так как я считаю, что с самим собой нужно быть честным. В общем, многие знают меня просто как bodrovis, и я алкоголик. Ой, пардон, не из того сценария реплика. 😃

Так вот, я произвёл инвентаризацию старых своих курсов и выяснил, что мои друзья-индусы, с которыми раньше приходилось много работать, уже много лет как выложили мой курс по Ruby на YT. На данный момент он не очень актуален, так как записывался лет пять назад, а то и больше, но суть не в этом. Я думаю, что некоторые студенты хотели бы меня убить на месте за то, что я сделал 😂🤪

То есть информация-то корректная и в общем фактологических ошибок нет, но post-production - это наше всё. Особенно удивляет то, что люди благодарят за материал. Самого себя тогдашнего я бы не взял на работу преподавателем точно - максимум каким-нибудь младшим заместителем вспомогательного ассистента. Впрочем, я пять лет назад не взял бы на работу себя же версии 10 лет назад, причём 10 лет назад я вёл только очные курсы и, видимо, студенты были очень добрые, так как иначе просто избили бы в подворотне.

Вероятно, это и значит "расти над собой" - иногда очень важно взять бутылочку-другую сидра и поглядеть, чем ты занимался раньше и как был плох (ну, и подумать о том, как плох сейчас, конечно). А если серьёзно, то не бойтесь экспериментировать, друзья, даже если вам кажется, что идеально не получится. Я вот пытаюсь уже долгие годы - пока идеала не видно. Но зато весело и есть возможность общаться со множеством замечательных людей. А не для этого ли мы живём? 😄
13👍3
Ещё задача по Solidity.

"Голландский аукцион". Как и в английском, при создании контракта указываем товар и МАКСИМАЛЬНУЮ цену. Каждую секунду цена должна падать, например, на 1 wei (или любое другое значение). Сделать функцию, которая возвращает актуальную цену на данный момент. А также функцию, через которую можно "купить" товар по ТЕКУЩЕЙ цене.

Учесть, что пока идёт транзакция, то цена за эти 1-2 секунды ещё упадёт, поэтому разницу нужно вернуть покупателю на аккаунт. Как только вызвана функция "купить", аукцион должен закончиться, а продавец - получить деньги.
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Короткая объяснялка по просьбам трудящихся о выводе денег с контракта и комиссиях, которые мы платим за это
👍8
https://thegraph.com/blog/historical-ethereum-data-access - тоже интересная штука. Для многих старых данных будут хранится скоро только корни древа Меркла, тогда как для более свежих хранится всё. Но, похоже, на лайт-версиях везде хранятся только корни
👍4
По традиции, немного музыки на сегодня. Я взял небольшой "отпуск" по записи видео, сейчас больше сконцентрировался на подготовке нового трека - искал сессионщиков, начал готовить основу проекта в ableton и записывать бас. Вероятно, в течение 2-3 недель что-нибудь сумеем выпустить. Это для души, конечно, но всё же приятно заняться чем-то, не связанным с миром IT.

А тем временем война идёт, и конца ей не видно. Где бы вы сейчас не находились, я надеюсь, что вы живы и здоровы. Скоро увидимся. https://www.youtube.com/watch?v=aAi-adbpaek
👍9
Простое объяснение с точки зрения теории чисел довольно известного трюка Копперфильда про убийство в Восточном экспрессе (после этого трюка он вообще заставил экспресс исчезнуть). Собственно, там действительно нет ничего особенного сложного, но в целом забавно. А отдельно можно попробовать написать программу, которая работает по правилам этого трюка (в частности, что можно ходить только вверх-вниз, но не по диагонали) https://web.northeastern.edu/seigen/11Magic/Teaching/David%20Copperfields%20Orient%20Express%20Card%20Trick.pdf
👍32
Друзья, рад сообщить, что мы приближаемся к отметке 3000 подписчиков и по этому случаю я думаю сделать первый стрим!

На стриме поговорим о языке Solidity, попрактикуемся в написании смарт-контрактов и тестов. Можно будет задавать вопросы, предлагать дополнительные темы для обсуждения. Также я планирую все собранные пожертвования направить на благотворительность. Ориентировочное начало стрима 19:00 UTC+2 в следующую среду (30.03.2022).
👍31
Думаю, этот трек поймёт любой, кто родился или по крайней мере жил в одной бывших республик СССР до начала нулевых (хотя и после тоже) - собственно, я до сих пор живу в одной из них.

Не забывайте, в среду будет стрим, можно будет поговорить о разных вещах, не обязательно связанных с разработкой. Готовьте вопросы. Есть всего три темы, о которых не говорят "тьюторы" (понятие такое есть, tutors, то есть преподаватель, инструктор): политика, гендерные вопросы, религия. По остальному - пожалуйста, буду рад пообщаться, если позволяет компетенция.

Жаль, конечно, что так и не удалось пригласить гостей в "студию", как это планировалось изначально, но теперь это вообще проблематично - кто живёт в других европейских странах со своими задачами и проблемам (в частности, очень хотелось бы пообщаться с маэстро @kutanov, но кто знает, когда теперь свидимся), кто оказался замешан в военном конфликте или фактически стал невыездным (привет одному российскому учёному, который теперь находится где-то в районе Камчатки). Но зато у нас будет замечательный редактор(-ка) трансляции и наш главный дизайнер.

Надеюсь, что мы хотя бы немного сможем отвлечься и спрятаться в наш мир розовых единорогов и абстрактных понятий. С одной стороны, глупо, а с другой - такова жизнь. К примеру, как бы странно это не звучало, прямо сейчас проходит церемония "Оскар - 2022" (читаю текстовую трансляцию, болею за Вильнёва и, конечно, Кэмбербэтча). Где-то там люди живут, и ещё как живут.

А где-то продолжаются военные действия, а где-то проходят митинги за мир у российского посольства. Где-то молодые люди с флагами "жовто-блакитный" кричат "brivibu Ukrainai". Они не знают ни украинского, ни русского, но они хотят высказать свою позицию, и это правильно, ведь лучше иметь нонконформистскую позицию, чем не иметь никакую. Хотя, здесь эта позиция явно превалирует. Впрочем, русскоговорящих никто не трогает, а уж до безродных космополитов типа меня вообще никому нет никакого дела. В общем, на улицах довольно весело, хотя я вижу мало весёлого.

Когда-то я ездил в Украину почти каждый год: примерно с 1996 по 2006. Когда теперь доведётся? Верю ли я вообще в мир без войны? Если честно, то не особенно, во всяком случае, не на данном этапе. По крайней мере, "чемоданное" настроение не покидает меня долгие годы. Сорваться с места с минимумом вещей - видимо, эта мысль оставит меня ещё не скоро. Так уже приходилось делать и так, к сожалению, ещё, возможно, придётся поступить.

Хочется верить, что утопия, о которой мечтал Ефремов в той или иной степени реализуется. Когда-нибудь. А пока вовсе не мы прилетаем на высокотехнологичных космических кораблях на Торманс. Увы, Торманс прямо здесь, но только маловероятно, что к нам придут спасители в виде решительных мужчин и прекрасных женщин. "Земля рождена в Час Быка". https://www.youtube.com/watch?v=UmzlvLj6JRE
👍4
Конкретно этот твит https://twitter.com/qtf/status/456881341376643072 тогда я не видел, хотя новости, конечно, слышал. В общем, не верить им не было никакого смысла. Да, я знал, что больше романов не будет. Никаких больше самых красивых в мире утопленников, никаких девушек, которые воплощаются в кошек.

Но то, что Маркес всё-таки умер, я окончательно осознал почему-то только после того, как увидел последнее видео: писатель выходит к журналистам с жёлтой розой на лацкане (дождь из этих цветов завалил Макондо). В этот момент мне сложно было сдержать слёзы. Видимо, в первую очередь потому, что всегда очень жаль, когда мир покидает неординарный человек. Примерно также я чувствовал себя в Париже на могиле несравненной Тэффи. Не знаю, почему так, хотя я видел много чего, в том числе и помогал с "доставлением" мёртвых к месту последнего упокоения - ну, или, по крайней мере, к карете "скорой помощи". Да что тут говорить, друзья.

Странно, почему я вспомнил обо всём этом теперь, хотя прошло уже много лет. Видимо потому, что на данный момент у меня было не так много "учителей". Были люди, которые дали мне возможность развиться и я им бесконечно благодарен. Очень важно в определённый момент времени найти кого-то, кто станет для тебя "наставником" или хотя бы покажет путь на новый "уровень".

Но именно учителями я могу назвать Джека Лондона и Габриэля Маркеса. Джек рассказал, как быть настоящим мужчиной, как не бояться трудностей, как работать даже в самых тяжёлых условиях. Маркес рассказал, как доносить эмоции, как не бояться быть "странным", делиться своими переживаниями с другими. Как творить. Без Маркеса не было бы меня как писателя в принципе, а мне пришлось написать довольно много статей - думаю, пару сотен.

И я уверен, что и Лондон, и Маркес выступили бы против войны, если бы дожили до этого момента. Если ещё не было возможности, прочитайте хотя бы рассказы "Тропою ложных солнц" (Лондон) и "Ева внутри своей кошки" (Маркес). Должен заметить, что при попытке сравнить свои потуги с этими рассказами, я чувствую себя, как герои "Парадокса" Короленко, которые сидят с удочками в бадье с тухлой водой. Но зато есть куда стремиться. В общем, не опускайте руки. Как и всегда, добавляю: скоро увидимся.
👍10
Итак, уважаемые знатоки, внимание, вопрос. Программисты предпочитают тёмные темы во всех своих инструментах. Вероятно, дело в том, что ИХ привлекает яркий свет. Кто такие ОНИ?
Друзья, рад сообщить хорошую новость: для зрителей моего канала коллеги из MCS предлагают 10% скидку на свои буткемпы, достаточно использовать промо-код KRUK. 😄

В рамках буткемпа рассматривается множество важных тем: JS, React, EVM, Solidity, Ethers.js. Имеются как текстовые, так и видео материалы. А, кроме того, вы совершенно бесплатно получаете доступ к еженедельным стримам (которые проходят чуть ли не через день, на них рассматриваются реальные проекты, новости из мира крипты, инсайды и прочее), семинарам, а также к закрытому каналу по крипте, где можно задавать вопросы, общаться с единомышленниками. К примеру, наши студенты уже организовали регулярные очные встречи в Москве, а на данный момент работают над общим проектом на Solidity.

Материалы для курса подготовлены мной и другими специалистами. Кроме того, на стримах периодически выступают сторонние эксперты (перечислены в "команде курса"). В общем, материала действительно много - это не просто какой-то поверхностный курс из пары десятков видео, после просмотра которых вы не узнаете ничего нового. Во всяком случае, за свой материал я могу отвечать на 100%: он подробный и весьма актуальный. Как говорится, welcome! https://moscoding.ru/
👍12🔥1
Друзья, спасибо всем большое за столь активное участие в трансляции, было круто! Запись и все ссылки будут вечером, тк YT пока кодирует видео
👍124
Сегодня немного музыки. Disclaimer: не надо включать это посреди ночи, если все спят. Спасибо всем, кто был на стриме на прошлой неделе и сегодня в MCS: было круто. Скоро обязательно порадую вас новыми видео. Держитесь. https://www.youtube.com/watch?v=ImyPz4tqPFU
🔥6
Это оффтопик. 🚸

Ещё одна небольшая запись сегодня для тех, кто любит историю. В принципе, эту статью на ВП я обнаружил довольно давно (она существует ещё с 2008 года), но всё же забавно. https://en.wikipedia.org/wiki/Krukowski_coat_of_arms На гербе даже есть маленький ворон (kruk - а откуда иначе взялся ворон на лого? 😄) Суть же в том, что интересоваться историей семьи и историей в принципе - это очень круто. Как я уже рассказывал, мой дед когда-то был вынужден покинуть Польшу из-за военных действий, и впоследствии он преподавал историю и даже был директором школы в центре Москвы на Баррикадной.

Впрочем, советская власть не слишком пошла впрок, ибо дед привык жить совсем в другой атмосфере, поэтому он не дожил даже до 60 лет. Скажем прямо, тяжело, когда тебя постоянно обвиняют в "чём-то" (более молодые подписчики уже с трудом разберутся, в чём вообще было дело). Но, тем не менее, я тоже когда-то родился в СССР и должен отметить: мне нравится русский язык и у меня много друзей из республик бывшего СССР: от Казахстана и Армении до Беларуси и Украины. И у нас никогда не было никаких "претензий" друг к другу. Ни одного раза.

Я уже давно не живу в РФ, не отождествляю себя с русскими, но при этом я работаю для всех вас: нет никакого деления по национальностям (как я уже говорил, я - еврей, моя жена - азиатка, мой лучший друг - узбек). И мне страшно смотреть на то, что происходит сейчас. Вы спросите: а где ты был 8, 16, 20 лет назад? Я отвечу: я был там же. Как и всегда, я был против войны. Просто 20 лет назад мы не знали, что такое YouTube. Но я был против; 15 лет назад мы играли музыку, и в нашей музыке мы были резко против. И я против сейчас. Больше того, я был бы против 80 лет назад, когда нацисты уничтожали евреев. И мне хотелось бы, чтобы подобное не повторялось нигде и никогда.

Есть желание почитать что-нибудь по теме? Могу порекомендовать "Свитки из пепла", но только не на ночь. Серьёзно, это тяжёлое чтение, это тексты, написанные людьми в самом тяжёлом положении. Когда-нибудь я хотел бы посетить Освенцим, но даже посещение Рижского гетто даётся для меня тяжело. Если представить, что здесь происходило десятки лет назад. Поэтому мои мысли, как и всегда, с жертвами этой войны. Я надеюсь, что наш небольшой вклад (здесь огромный привет основателям Lokalise) хотя бы немного поможет.
👍7👎1
Приложение для обмена сообщениями и не только, построенное на блокчейне https://secretum.io/
👍4🔥1
Начинающие разработчики, которые приходят в крипту, зачастую теряются, не зная, за что хвататься: нужно изучить очень много важных технологий. Ситуацию усложняет то, что эта экосистема стремительно развиваются, появляются новые решения и библиотеки, поэтому от всего этого может пойти кругом голова. В этом видео я расскажу, что нужно изучить в первую очередь, чтобы не просто писать смарт-контракты, но и уметь их тестировать, разворачивать и взаимодействовать с ними. https://www.youtube.com/watch?v=avI9kzZMltg
🔥21👍21
В этом уроке мы узнаем, как реализовывать наследование в Solidity (в том числе множественное наследование), как передавать аргументы родительским конструкторам, зачем нужны модификаторы virtual и override, как вызывать функции на родителях, что такое абстрактный контракт, как использовать import, и некоторые другие важные вещи. https://www.youtube.com/watch?v=xkjFcdkAJpg
👍11🔥5