Rails 7.1: picture_tag для HTML5 <picture>
В HTML5 есть тег - <picture>, позволяющий использовать разные версии изображения в зависимости от экрана. Как использовать его вместе с гемами и в Rails 7.1?
Ранее для этого использовались гемы, например, next_gen_images и picture_tag. Они добавляли метод picture_tag, позволяющий создавать адаптивные изображения.
🛤️ В Rails 7.1 этот функционал появился в ActionView. Теперь, с помощью picture_tag, можно легко создавать теги <picture> с разными источниками и альтернативными изображениями.
Пример использования:
🔗 Подробности в статье: Читать
В HTML5 есть тег - <picture>, позволяющий использовать разные версии изображения в зависимости от экрана. Как использовать его вместе с гемами и в Rails 7.1?
Ранее для этого использовались гемы, например, next_gen_images и picture_tag. Они добавляли метод picture_tag, позволяющий создавать адаптивные изображения.
🛤️ В Rails 7.1 этот функционал появился в ActionView. Теперь, с помощью picture_tag, можно легко создавать теги <picture> с разными источниками и альтернативными изображениями.
Пример использования:
<%= picture_tag(
"profile.webp",
"profile.png",
class: "border-2",
image: { alt: "Профиль" }
)
%>
🔗 Подробности в статье: Читать
HTB Derailed. Пентестим веб-приложение на Ruby on Rails
В этом райтапе показаны приемы, которые используются при атаках на веб‑приложения, в первую очередь — работающие на Ruby on Rails. Начнем со сканирования сайта, найдем и проэксплуатируем XSS, затем получим доступ к хосту через RCE. Для повышения привилегий на атакуемой машине разберемся с OpenMediaVault.
https://xakep.ru/2023/07/24/htb-derailed/
В этом райтапе показаны приемы, которые используются при атаках на веб‑приложения, в первую очередь — работающие на Ruby on Rails. Начнем со сканирования сайта, найдем и проэксплуатируем XSS, затем получим доступ к хосту через RCE. Для повышения привилегий на атакуемой машине разберемся с OpenMediaVault.
https://xakep.ru/2023/07/24/htb-derailed/
Настройка Tailwind CSS для Rails 7.0.2
Вы сгенерили новое приложение rails на rails 7.0.2 запустив команду:
https://habr.com/ru/articles/755914/
Вы сгенерили новое приложение rails на rails 7.0.2 запустив команду:
rails new APPLICATION_NAME css:tailwind, js:esbuild
, но почему-то стили не работают? и вообще в логах куча ошибок с ассетами.https://habr.com/ru/articles/755914/
💻 Открытый урок для разработчиков
📌 7 сентября в 20:00 пройдёт открытый урок «Разработка бекенда на Ruby on Rails» в рамках курса «Ruby и Ruby on Rails Developer» от OTUS.
🔥 Там мы поговорим о применении фреймворка Ruby on Rails для разработки бекенда для фронтенда и мобильных приложений. Преподаватель-практик поделится собственным опытом, расскажет про преимущества и недостатки фреймворка.
️️❗️ Этот открытый урок подойдет людям, которые уже имеют опыт с каким-либо языком программирования.
👉 Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени!
💣 Регистрируйтесь прямо сейчас: https://otus.pw/PB32/
Нативная интеграция информация о продукте www.otus.ru
📌 7 сентября в 20:00 пройдёт открытый урок «Разработка бекенда на Ruby on Rails» в рамках курса «Ruby и Ruby on Rails Developer» от OTUS.
🔥 Там мы поговорим о применении фреймворка Ruby on Rails для разработки бекенда для фронтенда и мобильных приложений. Преподаватель-практик поделится собственным опытом, расскажет про преимущества и недостатки фреймворка.
️️❗️ Этот открытый урок подойдет людям, которые уже имеют опыт с каким-либо языком программирования.
👉 Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени!
💣 Регистрируйтесь прямо сейчас: https://otus.pw/PB32/
Нативная интеграция информация о продукте www.otus.ru
Forwarded from Ruby on Rails | rubyclub
A simple Stimulus Tabs Controller
If you're after a simple Stimulus controller to handle tabs in your Ruby on Rails app, look no further. This controller handles toggling between multiple tabs, choosing a default tab, and adding CSS classes to the corresponding button.
https://railsnotes.xyz/blog/simple-stimulus-tabs-controller
If you're after a simple Stimulus controller to handle tabs in your Ruby on Rails app, look no further. This controller handles toggling between multiple tabs, choosing a default tab, and adding CSS classes to the corresponding button.
https://railsnotes.xyz/blog/simple-stimulus-tabs-controller
Forwarded from Sergey Sergyenko
🗓️ 06 SEP / ONLINE / 14:00 MINSK - CPEдA ЧиCTOГO KOдA with Vitaliy Emeliantsev
🔥 Тема митапа: Искусство проектирования систем 🔥
🎙️ Гость эфира: Виталий Емельянцев
- 17 лет в программировании, из них 11 лет в веб-разработке и Ruby on Rails.
- Тимлид/техлид в компании JetRuby.
- Лектор на курсах Ruby on Rails Academy.
- Ментор. Автор и ведущий курса Software Engineer.
- Приглашаемый эксперт/аудитор/консультант.
- Интернет-феномен.
Какие навыки используют лучшие специалисты в области проектирования систем? 🧠 Как преобразовать код, инфраструктуру и работу команды в синергичный организм?
В современном мире разработки ПО, главное уже не написание кода. 💻 Весь код уже написан. Основная задача - найти этот код, проверить его, интегрировать в систему и поддерживать. 🔎🔄
Присоединяйтесь к нашей предстоящей лекции, где мы погрузимся в тонкости выбора частей системы с помощью критических вопросов и характеристик. ⚙️🔍
Мы рассмотрим матрицы ослабления/усиления, проанализируем составим чеклист из характеристик для принятия решений: производительность, отказоустойчивость, читаемость, целостность, гибкость, и т.д. ⚡️⚖️
И главное: вы узнаете, как эти принципы работают на всех уровнях – в написании кода, в построении архитектуры, в инфраструктуре и в управлении командами.
Призываем всех опытных разработчиков присоединиться к нам на этой увлекательной лекции и поднять свое мастерство проектирования систем на новый уровень.
Современная разработка ПО требует новых навыков. Пришло время их освоить! 🚀
🔗 Ссылка для регистрации и вопросов: https://brug.by/meetups/017-23-sreda-chistogo-koda-with-vitaliy-emeliantsev
🔥 Тема митапа: Искусство проектирования систем 🔥
🎙️ Гость эфира: Виталий Емельянцев
- 17 лет в программировании, из них 11 лет в веб-разработке и Ruby on Rails.
- Тимлид/техлид в компании JetRuby.
- Лектор на курсах Ruby on Rails Academy.
- Ментор. Автор и ведущий курса Software Engineer.
- Приглашаемый эксперт/аудитор/консультант.
- Интернет-феномен.
Какие навыки используют лучшие специалисты в области проектирования систем? 🧠 Как преобразовать код, инфраструктуру и работу команды в синергичный организм?
В современном мире разработки ПО, главное уже не написание кода. 💻 Весь код уже написан. Основная задача - найти этот код, проверить его, интегрировать в систему и поддерживать. 🔎🔄
Присоединяйтесь к нашей предстоящей лекции, где мы погрузимся в тонкости выбора частей системы с помощью критических вопросов и характеристик. ⚙️🔍
Мы рассмотрим матрицы ослабления/усиления, проанализируем составим чеклист из характеристик для принятия решений: производительность, отказоустойчивость, читаемость, целостность, гибкость, и т.д. ⚡️⚖️
И главное: вы узнаете, как эти принципы работают на всех уровнях – в написании кода, в построении архитектуры, в инфраструктуре и в управлении командами.
Призываем всех опытных разработчиков присоединиться к нам на этой увлекательной лекции и поднять свое мастерство проектирования систем на новый уровень.
Современная разработка ПО требует новых навыков. Пришло время их освоить! 🚀
🔗 Ссылка для регистрации и вопросов: https://brug.by/meetups/017-23-sreda-chistogo-koda-with-vitaliy-emeliantsev
Чтение исходного кода — один из лучших способов узнать, как работает функция, библиотека или программа. В этом посте мы рассмотрим исходный код библиотеки Hotwire Turbo, чтобы точно понять, что происходит, когда вы щелкаете ссылку. Я надеюсь, что после этого глубокого погружения вы оцените Turbo еще больше.
https://www.akshaykhot.com/turbo-internals/
Please open Telegram to view this post
VIEW IN TELEGRAM
🔍 7 техник улучшения навыков отладки
Определение источника метода:
Иногда необходимо найти исходный код метода, и это может быть непросто. Используйте метод
Получение текущей трассы выполнения:
Используйте
Шаги и переходы в отладчике:
Используйте
Манки-патчинг:
Открывайте и изменяйте любой класс в Ruby для отладки, включая классы в гемах или библиотеках.
Поиск метода в объекте:
Используйте
to_sql для просмотра запросов ActiveRecord:
Используйте метод
Перезагрузка объектов ActiveRecord:
Иногда объект в памяти может не соответствовать данным в базе данных. Используйте метод
Эти техники помогут вам улучшить навыки отладки в приложениях на Ruby on Rails.
Определение источника метода:
Иногда необходимо найти исходный код метода, и это может быть непросто. Используйте метод
source_location
, чтобы найти источник метода.Получение текущей трассы выполнения:
Используйте
Thread.current.backtrace
или caller
, чтобы получить текущую трассу выполнения кода и определить, кто вызывает определенный метод.Шаги и переходы в отладчике:
Используйте
step
и next
в отладчике для пошаговой отладки кода и изучения методов.Манки-патчинг:
Открывайте и изменяйте любой класс в Ruby для отладки, включая классы в гемах или библиотеках.
Поиск метода в объекте:
Используйте
methods.grep
с регулярными выражениями, чтобы найти методы, соответствующие определенному шаблону.to_sql для просмотра запросов ActiveRecord:
Используйте метод
to_sql
, чтобы увидеть SQL-запрос, генерируемый ActiveRecord при выполнении запросов к базе данных.Перезагрузка объектов ActiveRecord:
Иногда объект в памяти может не соответствовать данным в базе данных. Используйте метод
reload
, чтобы обновить объект из базы данных.Эти техники помогут вам улучшить навыки отладки в приложениях на Ruby on Rails.
05 - DHH отменил TypeScript, Кто хозяин опенсорса, Hashicorp всех переиграл
Пятая порция подкаста-супчика посвященного технологиям, бизнесу, и всему что посередине.
https://www.youtube.com/watch?v=af2jF0zO1KU
Пятая порция подкаста-супчика посвященного технологиям, бизнесу, и всему что посередине.
https://www.youtube.com/watch?v=af2jF0zO1KU
YouTube
05 - DHH отменил TypeScript, Кто хозяин опенсорса, Hashicorp всех переиграл
Пятая порция нашего подкаста-супчика посвященного технологиям, бизнесу, и всему что посередине.
00:00 DHH отменил TypeScript
14:11 Кто истинный хозяин опенсорса
23:56 Hashicorp всех переиграл и сменил лицензию
Мы в Twitter/X:
- https://twitter.com/sandro_guras…
00:00 DHH отменил TypeScript
14:11 Кто истинный хозяин опенсорса
23:56 Hashicorp всех переиграл и сменил лицензию
Мы в Twitter/X:
- https://twitter.com/sandro_guras…
❤️ RubyRussia 2023 - Online
🗓 Один день, 14 новейших докладов, запись в высоком разрешение - всё это RubyRussia’23. В конце сентября мы соберём рубистов со всей России и ближнего зарубежья, чтобы с ведущими разработчиками обсудить будущее нашего любимого языка и всего, что построено вокруг него.
Программу конфереции можете посмотреть в нашем телеграм канале.
➖➖➖
🗓 30 сентября с 11:00 до 21:00
✅ Регистрация - участие бесплатно!
🗓 Один день, 14 новейших докладов, запись в высоком разрешение - всё это RubyRussia’23. В конце сентября мы соберём рубистов со всей России и ближнего зарубежья, чтобы с ведущими разработчиками обсудить будущее нашего любимого языка и всего, что построено вокруг него.
Программу конфереции можете посмотреть в нашем телеграм канале.
➖➖➖
🗓 30 сентября с 11:00 до 21:00
✅ Регистрация - участие бесплатно!
Install Ruby on Rails in 2023 with Rails 7. StartKit.
https://youtu.be/f6aAwAMH4Q8?si=iiBnXEv92zafve4Y
https://youtu.be/f6aAwAMH4Q8?si=iiBnXEv92zafve4Y
YouTube
Install Ruby on Rails in 2023 with Rails 7. StartKit.
https://github.com/the-teacher/rails7-startkit
Install and Run Ruby on Rails in Minutes! Rails 7. StartKit -- Rails App in a Docker container with some popular preinstalled tools. Works for all most popular Platforms.
Install and Run Ruby on Rails in Minutes! Rails 7. StartKit -- Rails App in a Docker container with some popular preinstalled tools. Works for all most popular Platforms.
DHH представил Kamal 1.0
Теперь вы можете развертывать веб-приложения на самых разных платформах, начиная от физических серверов (так называемого "голого металла") и заканчивая виртуальными машинами в облаке.
Kamal предоставляет непрерывное развертывание без простоев, плавные перезапуски, мостик для ресурсов, удаленную сборку, управление дополнительными сервисами и все необходимое для развертывания и управления вашим веб-приложением в продакшн с использованием Docker.
Изначально созданный для приложений на Rails, Kamal будет работать с любым типом веб-приложения, которое можно контейнеризировать. Узнайте больше в обзоре от DHH.
https://kamal-deploy.org/
Теперь вы можете развертывать веб-приложения на самых разных платформах, начиная от физических серверов (так называемого "голого металла") и заканчивая виртуальными машинами в облаке.
Kamal предоставляет непрерывное развертывание без простоев, плавные перезапуски, мостик для ресурсов, удаленную сборку, управление дополнительными сервисами и все необходимое для развертывания и управления вашим веб-приложением в продакшн с использованием Docker.
Изначально созданный для приложений на Rails, Kamal будет работать с любым типом веб-приложения, которое можно контейнеризировать. Узнайте больше в обзоре от DHH.
https://kamal-deploy.org/
DHH опубликовал Strada
Страда наконец-то здесь! Последняя часть Hotwire trifecta уже выпущена. Крупный подъем Джея и его команды. Очень рад, что наконец-то каждая часть нашей истории по интерфейсу и мобильным устройствам выложена в открытый исходный код.
https://strada.hotwired.dev/
«Это была миссия Hotwire с самого начала. Повысьте производительность отдельных разработчиков, предоставив им возможность самостоятельно создавать и предоставлять полные функции на всех платформах».
Finishing Hotwire with the introduction of Strada: https://world.hey.com/dhh/finishing-hotwire-with-the-introduction-of-strada-9efdf091
Страда наконец-то здесь! Последняя часть Hotwire trifecta уже выпущена. Крупный подъем Джея и его команды. Очень рад, что наконец-то каждая часть нашей истории по интерфейсу и мобильным устройствам выложена в открытый исходный код.
https://strada.hotwired.dev/
«Это была миссия Hotwire с самого начала. Повысьте производительность отдельных разработчиков, предоставив им возможность самостоятельно создавать и предоставлять полные функции на всех платформах».
Finishing Hotwire with the introduction of Strada: https://world.hey.com/dhh/finishing-hotwire-with-the-introduction-of-strada-9efdf091
Strada обеспечивает структуру и организацию запутанного беспорядка, которым является bridge JavaScript. Он упрощает и стандартизирует взаимодействие между веб и нативными компонентами, что превращает создание надежных нативных элементов в удовольствие.
Strada example:
🎯 https://masilotti.com/strada-launch/
Strada example:
🎯 https://masilotti.com/strada-launch/
RailsClub - канал про Ruby и Ruby on Rails
- материалы по Ruby/Rails в оригинале 🇺🇸
- новости в мире Ruby
- подборка статей
- материалы по Ruby/Rails в оригинале 🇺🇸
- новости в мире Ruby
- подборка статей
Rails 7, GRAPE, API, Weather App - 2023
Разработка реального коммерческого API проекта на Ruby on Rails и GRAPE.
Вы получите реальный коммерческий опыт, узнаете как делать динамическую документацию с помощью Swagger.
Поняв архитектуру данного проекта и код, это будет отличным продолжением вашего обучение в мире Ruby.
По окончанию курса вы сможете самостоятельно создавать API приложения на Ruby on Rails используя GRAPE.
Ссылка на курс
Разработка реального коммерческого API проекта на Ruby on Rails и GRAPE.
Вы получите реальный коммерческий опыт, узнаете как делать динамическую документацию с помощью Swagger.
Поняв архитектуру данного проекта и код, это будет отличным продолжением вашего обучение в мире Ruby.
По окончанию курса вы сможете самостоятельно создавать API приложения на Ruby on Rails используя GRAPE.
Ссылка на курс
5-го и 6-го октября на #RailsWorld @yarotheslav поделится 20 наиболее распространенными взаимодействиями пользовательского интерфейса, которые #Hotwire и его экосистема могут решить, чтобы обеспечить бесперебойную работу интерфейса.
💻 Hotwire Cookbook - Common Use Cases, Essential Patterns and Best Practices
Please open Telegram to view this post
VIEW IN TELEGRAM
Rails 7.1: Dockerfiles, BYO-аутентификация, больше асинхронных запросов и многое другое!
❤️ Rails 7.1.0 has been released
Please open Telegram to view this post
VIEW IN TELEGRAM
Ruby on Rails
Rails 7.1: Dockerfiles, BYO Authentication, More Async Queries, and more!
Rails World just started and we are getting together with the community in personto celebrate of the 20th anniversary of Rails and the release of Rails 7.1.
Forwarded from Ruby on Rails | rubyclub
Datacaster
This gem provides DSL for describing in a composable manner and performing run-time type checks and transformations of composite data structures (i.e. hashes/arrays of literals). Inspired by several concepts of functional programming such as monads.
Detailed error-reporting (with full i18n support) is one of a distinct features. Let your API consumer know precisely which fields and in a what manner are wrong in a deeply nested structure!
It is currently used in production in several projects (mainly as request parameter validator).
💻 View on GitHub
This gem provides DSL for describing in a composable manner and performing run-time type checks and transformations of composite data structures (i.e. hashes/arrays of literals). Inspired by several concepts of functional programming such as monads.
Detailed error-reporting (with full i18n support) is one of a distinct features. Let your API consumer know precisely which fields and in a what manner are wrong in a deeply nested structure!
It is currently used in production in several projects (mainly as request parameter validator).
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - EugZol/datacaster: Run-time type checker and transformer for Ruby
Run-time type checker and transformer for Ruby. Contribute to EugZol/datacaster development by creating an account on GitHub.
Сложности роста Ruby приложений — Валентин Бритвич, СберМаркет. Ruby Russia 2023
Валентин Бритвич / Unit Lead интеграций в СберМаркете
Доклад о болях, с которыми сталкивается каждый, кто разрабатывает и развивает программный продукт в условиях неопределенности и фокусах на пользователя. Расскажу, с какими болями столкнулся и как их чинил.
📺 Смотреть на YouTube
Валентин Бритвич / Unit Lead интеграций в СберМаркете
Доклад о болях, с которыми сталкивается каждый, кто разрабатывает и развивает программный продукт в условиях неопределенности и фокусах на пользователя. Расскажу, с какими болями столкнулся и как их чинил.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Сложности роста Ruby приложений — Валентин Бритвич, СберМаркет. Ruby Russia 2023
Подписывайтесь на наш канал в телеграмм https://t.me/meetups_evrone, чтобы быть в курсе будущих митапов и не пропускать полезные доклады!
Валентин Бритвич / Unit Lead интеграций в СберМаркете
Доклад о болях, с которыми сталкивается каждый, кто разрабатывает…
Валентин Бритвич / Unit Lead интеграций в СберМаркете
Доклад о болях, с которыми сталкивается каждый, кто разрабатывает…