Продолжаем уроки по Ruby on Rails 6! В этом видео мы напишем несколько собственных вспомогательных функций (helpers) и узнаем, зачем они нужны. Кроме того, ещё немного поговорим о контроллерах и представлениях. https://www.youtube.com/watch?v=lm5SFwaob2U
YouTube
Ruby on Rails 6/7, урок #6 | Вспомогательные функции (helpers)
Продолжаем уроки по Ruby on Rails 6/7! В этом видео мы напишем несколько собственных вспомогательных функций (helpers) и узнаем, зачем они нужны. Кроме того, ещё немного поговорим о контроллерах и представлениях.
Таймкоды:
00:00 Введение
00:30 Исправление…
Таймкоды:
00:00 Введение
00:30 Исправление…
Этот урок по Ruby on Rails 6, в принципе, можно считать частью предыдущего. Мы поговорим о ряде других вспомогательных функций, в частности, strip_tags и sanitize. Кроме того, узнаем, как выносить часть разметки в отдельные представления и рендерить коллекции. Помимо этого, познакомимся с решением Faker для загрузки демо-данных и узнаем, как разбивать записи по страницам с помощью Kaminari. https://www.youtube.com/watch?v=FwFhxbx3W3k
YouTube
Ruby on Rails 6/7, урок #7 | Pagination, seeds, faker и пользовательская разметка
Этот урок по Ruby on Rails 6, в принципе, можно считать частью предыдущего. Мы поговорим о ряде других вспомогательных функций, в частности, strip_tags и sanitize. Кроме того, узнаем, как выносить часть разметки в отдельные представления и рендерить коллекции.…
В комментариях к одному видео оставлен резонный вопрос: в чём разница между
belongs_to и references в миграциях? Ответ простой: разницы нет, это синонимы https://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/Table.html#method-i-belongs_toapi.rubyonrails.org
ActiveRecord::ConnectionAdapters::Table
Active Record Connection Adapters Table Represents an SQL table in an abstract way for updating a table. Also see TableDefinition and connection.
Любопытное решение для стриминга динамических zip-файлов из Rails https://github.com/fringd/zipline
GitHub
GitHub - fringd/zipline: A gem that lets you stream a zip file from rails
A gem that lets you stream a zip file from rails. Contribute to fringd/zipline development by creating an account on GitHub.
Очередной урок по Ruby on Rails 6! Сегодня будет очень важное видео, в котором мы создадим систему регистрации пользователей с нуля, поговорим о решении bcrypt и о том, как работать с сессией. Кроме того, обсудим хелпер dom_id и узнаем, как использовать решение pagy для разбиения записей по страницам (это альтернатива kaminari). https://youtu.be/7bn0M4Br4hc
YouTube
Ruby on Rails 6/7, урок #8 | Регистрация пользователей с нуля, bcrypt, pagy
Очередной урок по Ruby on Rails 6/7! Сегодня будет очень важное видео, в котором мы создадим систему регистрации пользователей с нуля, поговорим о решении bcrypt и о том, как работать с сессией. Кроме того, обсудим хелпер dom_id и узнаем, как использовать…
Немного музыки на сон грядущий. На днях надеюсь всё-таки сделать урок про квиз на Ruby, ибо эта тема лежит в долгом ящике слишком уж долго 😁 https://www.youtube.com/watch?v=gnBATT60R9Q
YouTube
07 - Esta É De Loor - Ordo Funebris (Songs From The Enchanted Garden)
Lyrics/Letra
Santa Maria
Strela do dia
Mostra-nos via
Per a Deus e nos guia
Ca ver faze-los errados
Que perder foran per pecados
Entender de que mui culpados
Son; mais per ti son perdõados
Da ousadia
Que lles fazia
Fazer folia
Mais que non deveria.
Santa…
Santa Maria
Strela do dia
Mostra-nos via
Per a Deus e nos guia
Ca ver faze-los errados
Que perder foran per pecados
Entender de que mui culpados
Son; mais per ti son perdõados
Da ousadia
Que lles fazia
Fazer folia
Mais que non deveria.
Santa…
Может кого-то заинтересует вакансия: https://lokalise.com/job?gh_jid=4442031003&gh_src=53da413a3us (в нашу компанию требуется менеджер по маркетингу)
lokalise.com
Join us
We are a rapidly growing SaaS company, looking for new team members who want to grow with us. Take a look at our job openings and apply to join Lokalise.
Первое видео экспериментальной серии "Создаём игру-квиз на Ruby с помощью Gosu и MiniGL". Конечно, писать очень сложные трёхмерные игры на Ruby никто не будет, но вот сделать двухмерную бродилку или квиз вполне реально - для этого мы используем движок MiniGL, который, в свою очередь, основывается на Gosu. В первом видео мы обсудим этот движок, создадим конфигурацию, посмотрим, как отрисовывать объекты на игровом окне, проигрывать звуки, и работать с событиями. https://www.youtube.com/watch?v=fy1qwUeNSEo
YouTube
Пишем квиз на Ruby, часть #1 | MiniGL, Gosu, конфиги, основа игры
Первое видео экспериментальной серии "Создаём игру-квиз на Ruby с помощью Gosu и MiniGL". Конечно, писать очень сложные трёхмерные игры на Ruby никто не будет, но вот сделать двухмерную бродилку или квиз вполне реально - для этого мы используем движок MiniGL…
Если вы пишете сайт на Rails и хотите сгенерировать карту сайта, то лучшее решение - это, на мой взгляд, https://github.com/kjvarga/sitemap_generator. Его уже можно назвать проверенным временем (я его использую в своём блоге уже долгие годы), оно поддерживает разные хранилища для карт, позволяет "пинговать" поисковики и предлагает множество других фич. Очень советую!
GitHub
GitHub - kjvarga/sitemap_generator: SitemapGenerator is a framework-agnostic XML Sitemap generator written in Ruby with automatic…
SitemapGenerator is a framework-agnostic XML Sitemap generator written in Ruby with automatic Rails integration. It supports Video, News, Image, Mobile, PageMap and Alternate Links sitemap extensio...
Сегодня будет большой и важный урок, в котором мы обсудим, что такое декораторы, как выполнять аутентификацию пользователя, как выходить из системы, как измерять сложность пароля и проверять корректность введённых электронных адресов, а также как требовать от пользователя вводить старый пароль при задании нового и как создавать собственные валидации. https://www.youtube.com/watch?v=4C8dEznmkI8
YouTube
Ruby on Rails 6/7, урок #9 | Декораторы, аутентификация, редактирование пользователей, валидации
Продолжаем уроки по Ruby on Rails 6/7! Сегодня будет большой и важный урок, в котором мы обсудим, что такое декораторы, как выполнять аутентификацию пользователя, как выходить из системы, как измерять сложность пароля и проверять корректность введённых электронных…
Интересное решение, которое позволяет выводить объекты Ruby в более удобоваримом виде: с правильными отступами и даже в цвете https://github.com/amazing-print/amazing_print 🧙♂️
GitHub
GitHub - amazing-print/amazing_print: Pretty print your Ruby objects with style -- in full color and with proper indentation
Pretty print your Ruby objects with style -- in full color and with proper indentation - amazing-print/amazing_print
Goldiloader позволяет автоматически выполнять eager loading в приложении Rails. Сказать честно, сам я это решение ещё не пробовал, но выглядит любопытно https://github.com/salsify/goldiloader
GitHub
GitHub - salsify/goldiloader: Just the right amount of Rails eager loading
Just the right amount of Rails eager loading. Contribute to salsify/goldiloader development by creating an account on GitHub.
А вы знаете, что исключения в Ruby можно повторно вызывать? А зачем? Ну, например, для того, чтобы изменить само сообщение об ошибке или сделать его более подробным. Или при появлении исключения сделать какое-то особое действие, после чего оставить остальную обработку на откуп самого программиста. Вот небольшой пример из одного проекта, который мне сегодня как раз и потребовалось модифицировать таким образом:
Получается, что тут мы добавляем более подробную информацию о том, на каком именно моменте произошла ошибка, а потом повторно её вызываем. Кстати, если написать просто
def open_and_process_zip(path)
Zip::File.open_buffer(open_file_or_remote(path)) do |zip|
fetch_zip_entries(zip) { |entry| process!(entry) }
end
rescue StandardError => e
raise e.class, "There was an error when trying to process the downloaded files: #{e.message}"
end
Получается, что тут мы добавляем более подробную информацию о том, на каком именно моменте произошла ошибка, а потом повторно её вызываем. Кстати, если написать просто
raise в rescue, то будет повторно вызвано то же самое исключение с тем же сообщением.Подготовил для вас небольшую напоминалку по популярным командам Git (а также кое-какую терминологию) https://lokalise.com/blog/10-git-commands-for-day-to-day-work/
Lokalise Blog
10 Git commands for your day-to-day work - Lokalise Blog
Learn about top 10 useful Git commands that you will use in your day-to-day work: make commits, manage branches, view logs, and more.
Closure Tree - классное решение для создания иерархий в ActiveRecord. Например, с помощью данного решения можно легко создавать "вложенные" комментарии https://github.com/ClosureTree/closure_tree
GitHub
GitHub - ClosureTree/closure_tree: Easily and efficiently make your ActiveRecord models support hierarchies
Easily and efficiently make your ActiveRecord models support hierarchies - ClosureTree/closure_tree
Сегодня поговорим о том, как добавить на страницу входа в систему галочку "запомнить меня" и правильным образом реализовать данный функционал. Кроме того, добавим в наше приложение Rubocop - статический анализатор кода, который проверяет, следуете ли вы рекомендованным практикам по стилю и даже исправляет некоторые недочёты автоматически. Закончим же мы рефакторингом некоторых частей нашего приложения. https://www.youtube.com/watch?v=gXl82AdMK9w
YouTube
Ruby on Rails 6/7, урок #10 | Запоминание пользователя и Rubocop
Новый урок по Ruby on Rails 6/7! Сегодня поговорим о том, как добавить на страницу входа в систему галочку "запомнить меня" и правильным образом реализовать данный функционал. Кроме того, добавим в наше приложение Rubocop - статический анализатор кода, который…
И ещё немного материала в ленту. Мы недавно с нашим фрилансером подготовили список из хороших блогов и агрегаторов новостей, которые могут показаться интересными разработчикам 🤓 https://lokalise.com/blog/top-dev-blogs-to-read-in-2021/
Lokalise Blog
Top dev blogs to read in 2021 - Lokalise Blog
This is your ultimate guide for the top dev blogs to read in 2021! Find out if you're already checking out at least half of them!
Любопытное решение для "аннотации" своих моделей - в частности, добавления информации о том, что за поля есть в соответствующей таблице, какого типа и так далее. Скажу честно, мне оно показалось несколько избыточным, но вам, вполне возможно, понравится. Да и использовать его очень просто https://github.com/ctran/annotate_models
GitHub
GitHub - ctran/annotate_models: Annotate Rails classes with schema and routes info
Annotate Rails classes with schema and routes info - ctran/annotate_models
Друзья, на pragprog вышла, судя по всему, весьма актуальная книга по фронт-энду для Rails в современном мире. Я пока не читал, но выглядит очень круто (да и автор человек довольно известный). https://pragprog.com/noscripts/nrclient/modern-front-end-development-for-rails/
Pragprog
Modern Front-End Development for Rails
With Rails 6, Webpacker, Stimulus, and React you can efficiently build rich user interaction into your websites using the best of both server and client-side tools.
👍1