Ruby 🇺🇦
前往频道在 Telegram
▪️Вивчаємо Ruby разом. ▪️Персональне менторство. ▪️Надаємо першу роботу. @rubychatua — наш чат.
显示更多527
订阅者
无数据24 小时
无数据7 天
无数据30 天
吸引订阅者
十月 '2610月 '26
十月 '260
在0个频道中
九月 '260
在0个频道中
Get PRO
八月 '260
在0个频道中
Get PRO
七月 '260
在0个频道中
Get PRO
六月 '260
在0个频道中
Get PRO
五月 '260
在0个频道中
Get PRO
四月 '260
在0个频道中
Get PRO
三月 '260
在0个频道中
Get PRO
二月 '260
在0个频道中
Get PRO
一月 '260
在0个频道中
Get PRO
十二月 '250
在0个频道中
Get PRO
十一月 '250
在0个频道中
Get PRO
十月 '250
在0个频道中
Get PRO
九月 '250
在0个频道中
Get PRO
八月 '250
在0个频道中
Get PRO
七月 '250
在0个频道中
Get PRO
六月 '250
在0个频道中
Get PRO
五月 '250
在0个频道中
Get PRO
四月 '250
在0个频道中
Get PRO
三月 '250
在0个频道中
Get PRO
二月 '250
在0个频道中
Get PRO
一月 '250
在0个频道中
Get PRO
十二月 '240
在0个频道中
Get PRO
十一月 '240
在0个频道中
Get PRO
十月 '240
在0个频道中
Get PRO
九月 '240
在0个频道中
Get PRO
八月 '240
在0个频道中
Get PRO
七月 '24
+1
在0个频道中
Get PRO
六月 '240
在0个频道中
Get PRO
五月 '240
在0个频道中
Get PRO
四月 '240
在0个频道中
Get PRO
三月 '240
在0个频道中
Get PRO
二月 '240
在0个频道中
Get PRO
一月 '240
在4个频道中
Get PRO
十二月 '230
在1个频道中
Get PRO
十一月 '23
+1
在0个频道中
Get PRO
十月 '23
+8
在0个频道中
Get PRO
九月 '23
+11
在0个频道中
Get PRO
八月 '23
+5
在0个频道中
Get PRO
七月 '23
+12
在0个频道中
Get PRO
六月 '23
+46
在0个频道中
Get PRO
五月 '23
+13
在0个频道中
Get PRO
四月 '23
+25
在0个频道中
Get PRO
三月 '23
+102
在0个频道中
Get PRO
二月 '23
+492
在0个频道中
频道帖子
Урок 17 [текстовий]
Поговоримо про Представлення в Ruby on Rails. Розглянемо, як їх створювати, як вони взаємодіють з іншими складовими веб-додатку та як вони допомагають розробникам створювати стильні, інтуїтивно зрозумілі веб-сторінки.
✏️ Читати матеріал [
telegraph]
✏️ Читати матеріал [rubyco.in]
#lessons| 2 | Розшукується людина на посаду Senior Ruby Software Engineer 👍
Знайомі із Sigma Software відкрили доволі непогану вакансію. Якщо хочете приєднатися до вже сформованої та потужної команди і маєте для цього необхідний скіл, раджу розглянути даний варіант.
На скриншоті бачите які напрямки по скілам потребуються, нижче додаю лінку, де можна більш детально почитати про компанію, чим потрібно буде займатися, на яких умовах і з ким у команді.
Переглянути вакансію 🫠 | 2 453 |
| 3 | Розшукується людина на посаду Manual QA 🫡
Нам у команду потрібен мануальний QA рівня Jun+. Основні задачі будуть торкатися телеграм-ботів, тому розуміння можливостей мессенджера та досвід контакту із ботами у минулому були би дуже доречними.
Запропонувати можемо включення у невеличку команду ентузіастів, багато практики на внутрішніх проектах зі стипендією та можливість подальшого підключення до зовнішніх проектів.
Якщо цікаві деталі, пишіть мені у пп @anko20094 (одразу вказуйте приклад попередньої роботи, будь-ласка).
UPD: наразі питання вже закрите.
👍 👍 🥶 | 920 |
| 4 | Рефакторінг фронтенду RubyCoin
Нещодавно до проекту RubyCoin долучився наш підписник, ентузіаст Олександр. Він виявив у фронтенд частині проекту ряд недоліків, зокрема у JS файлах був такий код (та й структура в цілому):
document.addEventListener("turbo:load", rerender);
document.addEventListener("turbo:frame-render", rerender);
document.addEventListener("turbo:render", rerender);
Цей код є проблемним, оскільки він використовує застарілі методи addEventListener(). Ці методи не є ефективними та можуть призвести до проблем із продуктивністю. При кожному завантаженні сторінки додаються eventListener-и, які, по-перше, не знімаються і тільки сумуються при кожному оновленні сторінки. По-друге, ці лістенери перехоплюють спільні події, зокрема load/render (немає значення, який рендер). По-третє, ставляться лістенери на ємітування подій, яких в принципі немає на сторінці, а саме, рендер відсутнього турбо-фрейма.
Олександр запропонував переписати логіку на Stimulus та реалізував це. Stimulus - це фреймворк, який дозволяє використовувати методи життєвого циклу для керування поведінкою елементів на сторінці. Методи життєвого циклу - це функції, які викликаються на певних етапах життєвого циклу елемента. У цьому випадку ми можемо використовувати метод connect(), щоб викликати функцію rerender() при завантаженні елемента. Це дозволить нам уникнути зайвих викликів функції rerender(). Переписування на Stimulus має ряд переваг, зокрема:
- Покращена продуктивність: методи життєвого циклу є більш ефективними, ніж застарілі методи addEventListener().
- Простіше читання та розуміння коду: методи життєвого циклу є більш чіткими та зрозумілими, ніж код, який використовує застарілі методи addEventListener().
- Покращена підтримка доступності: методи життєвого циклу підтримують доступність, а застарілі методи addEventListener() - ні.
Однак, через використання JS gem-ів, які були побудовані під sprockets (наприклад, gem 'tinymce'), нам довелося повернутися до sprockets для успішного інтегрування цих бібліотек. Це є компромісом, який дозволяє нам зберегти функціональність цих gem-ів у проекті.
Олександр також виявив та виправив ряд дрібних багів у проекті, що дозволило зробити нашу платформу більш стабільною.
Загалом, рефакторинг Front-end частини проекту RubyCoin за допомогою Stimulus та використанням нового підходу до організації коду покращило його якість, зробило більш структурованим та допомогло зменшити складність розробки. Такий підхід відображає сучасні стандарти розробки та забезпечує легше втручання у майбутньому.
Дякую Олександру за цінний внесок у розвиток проекту та вам, учасники RubyCoin, за вашу увагу та підтримку! Будьмо відкриті до нових ідей та постійно вдосконалюймо наш проект разом.
Посилання на Pull Request кому цікаво ознайомитися зі змінами.
#devnote | 769 |
| 5 | Огляд імплементованих рішень в Rubyco.in
Продовжується поступова робота із сайтом, з останньої демонстрації було внесено ряд доволі суттєвих змін. Я вже раніше розказував про зміну назви проєкту, а тепер ви також можете поглянути на зміни його дизайну та функціоналу.
Загалом на роботу у цьому напрямку наразі виділяється не так багато часу, як хотілося б, але ми плануємо продовжувати та, крок за кроком, зробити дійсно зручний і корисний продукт для ком'юніті 💎
Отож, якщо хтось має бажання долучитися до практики з цим проєктом чи просто поспостерігати у github, не соромтеся писати, з радістю додам вас і попрацюємо :)
#devnote / #demonstration | 661 |
| 6 | Урок 16 [текстовий]
У програмуванні, як і у житті, важливо розуміти якими шляхами потрібно йти, щоб досягнути поставленої перед собою мети. Поговоримо про Шляхи в RoR.
✏️ Читати матеріал (telegra.ph)
✏️ Читати матеріал (rubyco.in)
#lessons | 739 |
| 7 | Практика: Моделі
Як казав раніше, тепер до кожного уроку окрім квізів я сам або хтось із команди будемо робити практичні завдання.
Спробуємо робити 1 урок, далі питання по ньому, а потім допис з точки зору людини, котра робить на практиці те, що було описано в уроці, коментує чи описує свої дії.
✏️ Читати матеріал
#practice | 770 |
| 8 | У якому вигляді ви би хотіли бачити практичні завдання до уроків? | 706 |
| 9 | Урок 15 [текстовий]
Поговоримо про складову частину MVC — контролери. Що це, за що відповідає і як із цим працювати.
✏️ Читати матеріал
#lessons | 982 |
| 10 | Урок 14 [текстовий]
Сьогоднішня тема — Ruby on Rails. Моделі, згадаємо, що саме таке моделі та для чого вони використовуються, а потім розглянемо основні концепції моделей в Ruby on Rails.
✏️ Читати матеріал
#lessons | 874 |
| 11 | Model-View-Controller
Продовжуємо наші уроки. Сьогоднішній матеріал не буде дуже об'ємним, але від цього не є менш змістовним. Розглянемо концепцію шаблонування MVC та дізнаємось, чому вона є дуже важливою для розуміння архітектури RoR.
В кінці уроку вже є анонс наступного 🤫
✏️ Читати матеріал
#lessons | 827 |
| 12 | Model-View-Controller
Продовжуємо наші уроки. Сьогоднішній матеріал не буде дуже об'ємним, але від цього не є менш змістовним. Розглянемо концепцію шаблонування MVC та дізнаємось, чому вона є дуже важливою для розуміння архітектури RoR.
В кінці уроку вже є анонс наступного 🤫
✏️ Читати матеріал
#lessons | 3 |
| 13 | Останні новини, подальші плани
Не забули, сумували чи навіть не згадували? Щоб там не було, але я повернувся і маю багато новин, свіжих матеріалів та бажання ділитися цим з вами.
Сьогодні стисло розповім про те, що відбулося за той час, поки мене не було і у якому режимі продовжимо роботу.
✏️ Читати матеріал
#devnote | 863 |
| 14 | 👩💻 | 1 |
| 15 | Гайд 6 [RubyCoin]
Окрім імплементації gem-у capistrano, постараюся описати більшість налаштувань у файлах та для чого вони взагалі.
✏️ Читати матеріал
#guide / #capistrano / #deploy / #remote_server | 322 |
| 16 | Гайд 5 [RubyCoin]
Цей час настав. Ми вчимось налаштовувати віддалений сервер.
✏️ Читати матеріал
#guide / #deploy / #remote_server / #settings | 265 |
| 17 | Гайд 4 [RubyCoin]
Сьогодні поговоримо про Gem carrierwave, відвантаження медіа.
✏️ Читати матеріал
#guide / #gem / #carrierwave / #media_upload | 323 |
| 18 | Проект RONICO?: нові гайди, новини та прогресс
Розкажу про оновлення, що ми внесли на шляху створення нашого сайту та поділюсь темами гайдів, що найближчим часом опублікую для вас.
✏️ Читати матеріал
#devnote | 353 |
| 19 | Урок 12 [текстовий]
Сьогоднішня тема — Архітектура веб-додатків, поговоримо про одну з ключових складових проектування веб-додатка.
✏️ Читати матеріал
#lessons | 11 969 |
| 20 | Практика та менторство
На початку курсу я згадував у своїх планах більш тісний контакт з тими з вас, у кого буде бажання працювати разом над проектами.
Четверть курсу вже позаду, сьогодні хочу трішки поговорити про те, як просувається напрямок співробітництва та менторства
✏️ Читати матеріал
#devnote | 331 |
