DEV: Рубиновые тона – Telegram
DEV: Рубиновые тона
3.21K subscribers
145 photos
2 videos
8 files
981 links
Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Download Telegram
Друзья, завтра будет конференция Ford для разработчиков (REST day, все доклады связаны с разработкой и использованием API), я делаю доклад по теме "API в системах управления переводами", так что желающие могут присоединиться к трансляции вот тут: https://www.google.com/url?q=https://ford.webex.com/ford/j.php?MTID%3Dm0c898e6595f6d5b568c49de28ad5ee79&sa=D&source=calendar&ust=1635785016158442&usg=AOvVaw2yoYTKkjbkpl924Znk4jAb Поговорим о разнице между i18n и l10n, о TMS и о возможностях API нашей системы. Потом ещё мой коллега расскажет о некоторые сценариях использования у наших клиентов. Начинаем в 13:10 UTC+3 или около того, по длительности минут 30-40.
В этом небольшом видео мы обсудим как загрузить файл себе на компьютер из Интернета с помощью библиотеки got, а также как распаковать архив ZIP с помощью AdmZip и удалить его впоследствии. Наше решение будет использовать async/await и модуль fs-promises для асинхронной работы с файлами. Также мы узнаем, как распаковывать архив без непосредственного скачивания. https://www.youtube.com/watch?v=u9Qq8JRWa40
Канун Хэллоуина, так что самое время записать несколько более расслабленное видео о новых секретах Ruby 🎃 В этом видео мы узнаем, зачем нужны модули (mixins) Enumerable и Comparable и как с их помощью создавать собственную логику сравнения объектов и собственные коллекции. Узнаем, что такое оператор "spaceship", а также реализуем методы для выбора элемента коллекции по индексу и для добавления элементов в коллекцию с помощью оператора "ёлочка". https://www.youtube.com/watch?v=OYRLg6HwN-4
Всем привет! Очередной стрим будет в этот четверг в 19:00 UTC+3, вот на этом сервере https://discord.gg/BKtevRN3 В этот раз сфокусируемся на самых основах языка Solidity (типы данных, функции, модификаторы - в таком духе). Короче говоря, подойдёт для начинающих. Solidity - этот самый язык, на котором пишут смарт-контракты в Ethereum. В конце можно будет задать вопросы (можно не совсем по теме). Запись также будет доступна на канале. Увидимся! 😜
В этом стриме мы поговорим обо всех основных типах данных в Solidity и об их особенностях. Также узнаем, как создавать функции, какие есть области видимости, как принимает и переводить денежные средства, как возвращать аргументы и чем transact отличается от call. https://www.youtube.com/watch?v=EMJenrShuFs
Всем отличной пятницы и спасибо всем, кто присоединился к стриму. Через пару дней будет урок про отправку писем в Rails, так что не сильно не расслабляемся 🤓 https://www.youtube.com/watch?v=Ixmwj6vOPJY
Кстати, вот только что хороший вопрос поступил к прошлому видео о Comparable/Enumerable. Мы там в одном месте создаём свой метод to_s для класса и потом при выводе на экран при помощи puts этот метод вызывается автоматом. Почему он вызывается? На самом деле, это происходит автоматически, то есть перед печатью объект автоматически преобразовывается строку, и именно этот процесс преобразования мы можем контролировать, создавая собственный метод to_s
Любишь ActiveAdmin? Я тоже использую это решение для некоторых своих проектов (например, для сайта одного театра). А вот симпатичная респонсивная тема для этой админки под названием ArcticAdmin https://github.com/cprodhomme/arctic_admin 🤓
Продолжаем уроки по Ruby on Rails! В этом видео узнаем, как отправлять электронные письма с помощью ActionMailer и просматривать их локально с помощью letter_opener. Также реализуем возможность сброса пароля для пользователей и поговорим о том, как добавить защиту для этого функционала. https://www.youtube.com/watch?v=dwcrIVAxk_4
Рубрика "это интересно". Возникла необходимость считать зашифрованный куки в маршрутах (сделать constraint). Однако через request.cookies.encrypted не работает, тк он там просто выдаёт хэш, а метода encrypted не знает. Я уж начал писать руками дешифровку, но потом подумал, что ведь ActionDispatch уже доступен в маршрутах, значит, и все его фишки. В общем делать надо так: request.cookie_jar.encrypted[:user_id]
Что ж, друзья, суббота (хотя у нас тут она рабочая) 😁 Пока готовится новое видео про фоновые задачи и Sidekiq, немного музыки. Саундтрек из фильма, который все прекрасно знают, исполняется в игре по этому же фильму (исполнено нашей небольшой группой). Скоро увидимся 🙌 https://www.youtube.com/watch?v=Ks5dajW2GsU
Очередной урок по Ruby on Rails, в котором мы узнаем, как использовать ActiveJob для обработки фоновых задач. В качестве адаптера будет задействовано популярное решение Sidekiq. Мы не только попробуем отправить письма в фоновом режиме, но и поговорим о вложениях, а также выполним обработку файлов ZIP и Excel в ActiveJob: в частности, реализуем импорт и экспорт пользователей. Также узнаем, как защитить админку Sidekiq с помощью route constraints. https://www.youtube.com/watch?v=NIZ7Am15byo
Небольшой тизер к одному из следующих уроков: хотелось бы поговорить о такой вещи, как pattern matching, обсудить, что это вообще такое, и как теперь этот функционал реализуется в Ruby. Хотя он всё ещё экспериментальный, он позволяет писать довольно элегантный код безо всяких if-elseif-else. Хотя, к сожалению, поддержка pattern matching в Ruby пока довольно ограниченна (c Erlang/Elixir в сравнение не идёт), но всё это большой шаг вперёд.

P.S. Это к вопросу о том, что такое выражения типа x = y + 1
Кстати, если кто не слышал, у всеми любимого fancybox вышла новая версия 4, которая теперь, похоже, не требует jquery. Также предлагается отдельно симпатичная карусель и зум https://fancyapps.com/docs/ui/quick-start
Сегодня поговорим о том, что такое Ruby pattern matching (сопоставление с образцом или сопоставление по образцу). Это будет большой урок, в котором мы узнаем множество интересных вещей. Обсудим, откуда пришла эта фича, как её использовать, какие есть подводные камни и неочевидные моменты, а также как реализовывать сопоставление с образцами собственных классов. Узнаем, как создавать методы deconstruct и deconstruct_keys, а также что такое guard clauses и как их использовать. 👨‍💻 https://www.youtube.com/watch?v=O5VnB_JPfLs
В этом видео мы обсудим сравнительно малоизвестный метод Ruby refine, который позволяет добавлять в существующие классы новые методы (или изменять имеющиеся), но при этом делать это не глобально, а точечно. Также узнаем, чем этот подход отличается от monkey patching и как с его помощью внедрять обратную совместимость для более старых версий Ruby. https://youtu.be/KzIi9TYUOP8