DEV: Рубиновые тона – Telegram
DEV: Рубиновые тона
3.21K subscribers
145 photos
2 videos
8 files
981 links
Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Download Telegram
Любопытная аналогия https://i.imgur.com/IWWxRfi.png
В этом видео мы поговорим о модификаторах доступа в Ruby и узнаем, в чём же разница между private, public и protected. Посмотрим все три модификатора на примерах, а также узнаем, как получать списки методов с соответствующими модификаторами. https://www.youtube.com/watch?v=MSniy2jkQDo
Друзья, небольшой мотивирующий пост о том, что участвовать в проектах open source можно и нужно. Когда-то я тоже думал, что это сложно, а мои примитивные работы никому не нужны.

Однако теперь я оглядываюсь назад и понимаю, что решение публиковать собственные библиотеки было правильным. К примеру, недавно я перешёл отметку в 7 миллионов загруженных библиотек (по сравнению с мастодонтами типа Янко это вообще ничто) Ruby https://rubygems.org/profiles/bodrovis (хотя я скажу честно, что первые версии angular_csrf_rails публиковал Джеймс, и он является основателем этого проекта). На npmjs https://www.npmjs.com/~bodrovis на данный момент около миллиона, плюс по мелочи на pypi и hex.pm. Мораль сей басни такова: не нужно стесняться. Даже если какой-то проект окажется не слишком успешным, в этом нет абсолютно ничего страшного. Дерзайте! Скоро увидимся 🤟
Генератор эффекта "стекла" для CSS. Хотя, по факту, это просто обычный блюр (к сожалению, поддержки размытию по Гауссу и некоторые другие фишки пока так и не завезли) https://css.glass/
В этом стриме мы обсудим все вопросы, связанные с наследованием в Solidity и узнаем о некоторых ограничениях. Затронем ключевые слова virtual, override, constructor и ряд других вещей. https://youtu.be/6LgT7bs6T8w
Ну, на всякий случай поясню. Грубо говоря, всякие роботы-пылесосы и прочие автоматизированные сборщики каких-нибудь авто нам кажутся интересными и даже милыми (ну, кто не пытался катать своего кота на роботы-пылесосе). Робот, который идеально копирует движения и эмоции человека тоже будет восприниматься положительно, ведь он почти такой же как мы. Однако если мы видим некое существо, которое очень похоже на человека и двигается *почти* как человек, но при этом в его мимике и движениях заметны какие-то странные и незначительные особенности, то многих людей это подсознательно пугает и заставляет напрягаться. Грубо говоря, нам кажется, что кто-то надел маску человека и пытается нас обмануть. Это и есть эффект зловещей долины, который проще всего показать на графике https://ru.wikipedia.org/wiki/%D0%97%D0%BB%D0%BE%D0%B2%D0%B5%D1%89%D0%B0%D1%8F_%D0%B4%D0%BE%D0%BB%D0%B8%D0%BD%D0%B0#/media/%D0%A4%D0%B0%D0%B9%D0%BB:Mori_Uncanny_Valley_ru.noscript
Друзья, скоро выходит первая стабильная версия Rails 7, в которой появляются некоторые новые фичи, но, по большому счёту, никаких больших изменений нет. Единственное: иначе предлагается работать с JS. Если раньше задействовался Webpacker, то теперь по умолчанию он отсутствует, а установка Node.js более не требуется. Вместо этого используется importmap. Что из этого следует? А следует то, что все уже записанные уроки остаются актуальными. Единственный момент: если есть желание создать приложение Rails с такой же структурой, как и в первом уроке (то есть с подключенным Webpacker), нужно использовать команду rails new YourApp -j webpack --skip-hotwire. Про новый подход к JS мы ещё обязательно поговорим. Также в ближайшее время обсудим новые фичи Rails 7 и попробуем перейти на эту версию
Друзья, если вдруг кто-то всё ещё использует мою библиотеку jquery-slick-rails для подключения карусели, с сегодняшнего дня она официально считается устаревшей. Подробности здесь: https://github.com/bodrovis/jquery-slick-rails#deprecation-notice
Как вы наверное слышали, TravisCI прикрыл лавочку для проектов open source: теперь запускать автотесты бесплатно в любых количествах запрещено. Из-за того, что на их мощностях пытались майнить криптовалюту, они сильно ограничили количество бесплатных билдов, введя концепцию "кредитов". В моём случае (да и для многих других юзеров) это привело к тому, что буквально после нескольких билдов кредиты заканчивались, а затем по прошествии месяца не восполнялись. Поддержка молчит, что делать - неясно. В общем, в связи с этим я попробовать GitHub Actions и могу сказать, что это очень удобная штука, которая тоже позволяет запускать автотесты, выбирая интересующие вас платформы, версии языка и фреймворка. Получается примерно вот такое: https://github.com/bodrovis/lokalise_manager/actions Думаю, в будущем сделать более подробный обзор этого дела
Ruby on Rails 7 уже не за горами, поэтому самое время перейти на новую версию! В этом видео мы обсудим основные изменения в Rails 7, проведём непосредственный процесс миграции, а также обсудим новые интересные функции, которые доступны после обновления. https://www.youtube.com/watch?v=pbagOfP-__I
Друзья, уже несколько человек спрашивали, как реализовать настройки для пользователя в приложении Rails. Безусловно, это можно сделать самому с нуля, но я тут набрёл на вот такое решение (честно скажу, сам не пробовал, но выглядит интересно) https://github.com/ledermann/rails-settings
Забавно, нашёл в твиттере свою запись 2017 года о StimulusJS. Собственно да, сколько-нибудь серьёзной ниши фреймворк так и не занял, но для Rails решение хорошее, особенно если вместе с другими новыми фичами https://i.imgur.com/80NLBNZ.png
В общем, посмотрел тут более подробно, как создаётся новое приложение Rails 7.

По умолчанию для JS используется https://github.com/rails/importmap-rails - эта штука не требует NodeJS и просто подрубает модули напрямую из CDN (хотя может и локально их скачать). То есть не делается ни bundle, ни transpile. Но остаётся открытым вопрос, что тогда делать, если я хочу писать на TS или как обрабатывать Sass (видимо, никак - для sass придётся использовать sassc-rails). Кроме того, там неясно, как проверять наличие новых версий библиотек и их удобно скачивать - короче, пока importmap оставляет больше вопросов, чем ответов.

Но зато если сказать rails new MyApp -j esbuild то будет задействован собственно esbuild, который куда проще, чем Webpack и там можно нормально и Sass, и что угодно использовать. Да, если нужен Sass, то пишем rails new MyApp -j esbuild —css sass
В этот раз мы узнаем, как компилировать смарт-контракты через Hardhat, разворачивать их блокчейн, а также взаимодействовать с ними через библиотеку Ethers.js: отправлять и снимать деньги, а также вызывать другие функции из-под разных аккаунтов. https://youtu.be/K608okBC3L0
👍2
Друзья, представляю вашему вниманию ОБНОВЛЁННЫЙ первый урок по Ruby on Rails 7, где рассказывается, как настроить среду, установить всё необходимое и создать приложение.

Даже если вы уже это знаете, вас может заинтересовать процесс создания нового приложения и его запуск (с таймкода 13:00), так как там есть кое-какие особенности по сравнению с Rails 6: например, теперь можно указать, какой фреймворк CSS использовать и какой движок выбрать для JS. Кроме того, сам запуск сервера выполняется иначе (не просто rails s).

Все остальные уроки, как я уже упоминал, остаются актуальными 🚊https://www.youtube.com/watch?v=tqSkBmODHBk
Итак, друзья, немного поделюсь последними событиями - возможно, для кого-то будет полезным. Вчера я получил третью дозы вакцины, на этот раз Moderna (если в первые два раза вживлялся Чип и Дейл, то теперь, видимо, Гаечка). В принципе, теперь процесс выглядит уже как-то совсем рутинно, как будто такая вакцинация появилась ещё при царе Горохе. Ощущения на данный момент, скажем так, не самые лучшие: как будто начинается грипп. Впрочем, о подобном упоминали многие мои коллеги. Зато, судя по тестам, комбо из Pfizer+Moderna даёт самый мощный ответ иммунитета... Впрочем, это весьма предварительная информация.

Как-то так, пока пару дней буду приходить в себя, тем более, что послезавтра праздничный день. Тем временем можно посмотреть моё более старое "развлекательное" видео о забавном языке программирования LOLCODE. Берегите себя и до скорых встреч 😝 https://www.youtube.com/watch?v=MnZJTq1gN6Y