Bizsiz yashay olmaydigan 40 ta eng yaxshi Ruby marvaridlari

Dastlab ushbu maqola Codica Blog-da joylashtirilgan.

Hozirgi kunda veb-ishlab chiquvchilar funktsiyalarni noldan yozish o'rniga, tayyor echimlardan foydalanishlari mumkin, bu albatta rivojlanish tezligiga katta ijobiy ta'sir ko'rsatadi.

Biz Rubyga shu nuqtai nazardan qarasak, Ruby marvaridlari deb nomlangan keng kutubxonalar tufayli ajralib turadi. Ular siz qurgan Ruby dasturlariga muayyan funktsiyalarni taklif qiladi. Aytaylik, siz dasturingizda autentifikatsiya funktsiyasiga ega bo'lmoqchisiz - bitta yozishingiz shart emas, uni marvarid shaklida olishingiz mumkin. Va bu bepul mavjud bo'lgan minglab yoqutlar orasida faqat bitta misol.

Ushbu maqolada biz Koditada veb-ishlab chiqarishda foydalanadigan eng yaxshi Ruby marvaridlarini va ularning har biri bizga qanday aniq vazifalarni bajarishga yordam berishini ochib bermoqchimiz.

Ruby marvarid: uning orqasida nima bor?

Har bir marvarid ma'lum bir funktsional elementni, shu jumladan ushbu funktsiyaga tegishli har qanday faylni o'z ichiga oladi. Ruby marvaridlari yordamida deyarli har qanday vazifa uchun echimni topishingiz mumkin, bu veb-saytni ishlab chiqish uchun zarur bo'lgan vaqtni qisqartiradi.

Ushbu kutubxonalarda RubyGems deb nomlangan o'z omborxonasi va paket menejeri - gem bundler mavjud. Ularning ikkalasi ham toshlarni o'rnatishni osonlikcha boshqarish vositalari va ularni tarqatish uchun serverni o'z ichiga oladi. RubyGems-ning birinchi versiyasi 2004 yilda chiqdi.

Ishonchli hamjamiyat - Ruby aktivlaridan biridir. Eng faol Ruby ishqibozlari echimlarni bitta qo'l bilan topadilar va ularni kod shaklida tatbiq etadilar. Keyin ular ushbu kutubxonalarni ochiq manbaga birlashtiradilar va shu erda marvaridlarning hayoti boshlanadi.

Ushbu maqola yaratilgunga qadar toshlarning umumiy soni 148,782 dan oshdi.

Manba: Rubygems.org

Bunday tayyor echimlar har safar muammoga duch kelganda «g'ildirakni ixtiro qilish» kerakligini yo'q qiladi. Erkin kirish imkoniyatiga ega bo'lgan holda, ko'p funktsiyalar allaqachon yozilgan va ular rivojlanishning barcha jihatlarini qamrab oladi: kod sifatini ta'minlashdan tortib to tarqatishgacha.

Biz foydalanadigan eng yaxshi Ruby marvaridlari

Biz boshlang'ich uchun MVP tuzamizmi yoki ko'p tarmoqli moliyaviy tahlil platformasini qayta tuzamizmi, Ruby marvaridlari bizga yaxshi asos bo'lib xizmat qiladi.

Biz ajoyib mahsulotlarni yaratishga yordam beradigan barcha qimmatbaho toshlarning kichik bir qismi bo'lgan ajoyib Ruby marvaridlari ro'yxatini tayyorladik.

Kod sifati

Kodning asosiy xususiyatlaridan biri bu uning sifati va soddaligi. Ilovaning tezligi va ishlashiga bevosita ta'sir qiladi. Katta blokli bloklarni topish va olib tashlash va qayta tozalashni to'g'ri bajarish uchun ikkita kutubxonadan foydalanamiz.

Rubocop - Ruby statik kodini tahlil qilish va formatlash vositasi. Qutidan tashqarida, u jamoatchilikning "Ruby Style" qo'llanmasida keltirilgan ko'plab ko'rsatmalarga amal qiladi. RuboCop juda moslashuvchan va uning xatti-harakatlarining ko'p jihatlari turli xil konfiguratsiya variantlari orqali aylantirilishi mumkin. Kodingizdagi muammolar haqida xabar berishdan tashqari, RuboCop siz uchun ba'zi muammolarni avtomatik ravishda hal qilishi mumkin.

Overcommit - bu Git kancalarini sozlash uchun marvarid. Kod sifatini yuqori darajada ushlab turish uchun juda yaxshi. Bu har bir xato oldidan lintersni ishga tushirish uchun git kancalarini sozlashga imkon beradi.

Nosozliklarni tuzatish

Kod sifati qanchalik baland bo'lmasin, ba'zida xatolar va xatolar muqarrar. Xatolarni aniqlash va yo'q qilish uchun bizning guruh quyidagi foydali toshlarni topadi.

Better_errors - bu xatolarni ko'rsatadigan marvarid. U xato haqida foydali ma'lumotlarni namoyish etadi va ajoyib vizual ta'sirga ega. Better_errors oddiy Rails xato sahifasini almashtiradi. Shuningdek, u har qanday Rack ilovasida Rack-dan tashqari dastur sifatida ishlatiladi.

Byebug oddiygina va Ruby uchun xususiyatlarga boy tuzatuvchidir. Ushbu marvarid kodni bosqichma-bosqich bajarish, vazifalar va kodni bajarish o'rtasida pauza qilish, harakatdagi o'zgaruvchilarni o'zgartirishga imkon beradi.

Sinov

Yaratilgan dasturni sifat nazoratiisiz veb-ishlab chiqarish jarayoni mumkin emas. Bu erda sifatni baholashga imkon beradigan sinov keladi. Sinovlarni muammosiz boshqarish va boshqarish uchun jamoamiz quyidagi yordam dasturlaridan foydalanadi.

RSpec Ruby uchun xulq-atvorga asoslangan rivojlanishni taklif qiladi. Gem Ruby on Rails ilovalarini sinovdan o'tkazish uchun standartlarni taqdim etadi. TestUnit standart sinov kutubxonasi bilan solishtirganda ko'proq o'qiladigan DSL-ni taklif qiladi. Bundan tashqari, u sinov jarayonini osonlashtiradigan ko'plab boshqa qimmatbaho toshlar bilan osonlikcha birlashadi.

Capybara - veb-ilovalar uchun qabul qilish uchun sinov tuzilmasi. U RSpec bilan mukammal ishlaydi. Gem brauzerda foydalanuvchilarning harakatlariga taqlid qiluvchi o'rnatilgan testlar uchun javobgardir. Bu avtorizatsiya stsenariysini bir necha satrlarda tasvirlashga imkon beradi (bosh sahifaga o'ting, login va parolni kiriting, tizimga kirish tugmachasini bosing), shu bilan testlarni tuzatish uchun turli xil qulay usullarni taklif qiladi.

Capybara skrinshoti, agar Capybara stsenariysi buzilsa, ekran rasmlarini avtomatik ravishda tejash uchun qimmatbaho vositadir. Capybara va Bodring, RSpec yoki Minitest bilan birgalikda marvarid manba kodini ko'rishga imkon beradi va sinov to'plamidagi har bir nosozlik uchun ekran tasvirini (kerak bo'lganda) oladi. U muvaffaqiyatsiz sahifa uchun HTMLni va skrinshot rasmini (capybara-webkit, Selenium yoki poltergeistdan foydalanganda) saqlaydi. Agar muvaffaqiyatsiz turlarda muammo topsangiz, bunday imkoniyat juda qadrlidir.

Parallel_tests TestUnit, RSpec va Bodrum-da yozilgan testlarni bir nechta CPU-larga parallel ravishda tez bajaradi. Jarayonni tezlashtirish uchun kod tizimlarning barcha yadrolaridan foydalanadi. Sinovni o'tkazadi va qo'shimcha test ma'lumotlar bazasidan foydalanadi. Gem Rails va boshqa Ruby ramkalarini qo'llab-quvvatlaydi.

Factory Bot - bu Ruby ob'ektlarini sinov ma'lumotlari sifatida sozlash uchun kutubxona. U to'g'ri aniqlanadigan sintaksisga ega. Kutubxona saqlangan holatlar, saqlanmagan holatlar, atributlar uchun xeshlar va o'ralgan ob'ektlar kabi bir nechta qurilish strategiyalarini qo'llaydi. Bundan tashqari, u bir xil sinf (foydalanuvchi, admin_user) uchun ko'plab fabrikalarni, shu jumladan zavod merosini qo'llab-quvvatlaydi.

Chromedriver_helper oson o'rnatish va xromedriverdan foydalanishni ta'minlaydi. Yuqorida, bu Chromium loyihasining selenium veb-drayveri adapteri bo'lib xizmat qiladi. U boshqariladigan kromedriver-yordamchini marvarid yo'liga o'rnatadi va Selenium-ni veb-drayver sifatida chaqirishga imkon beradi. Agar kerak bo'lsa, stsenariy platforma uchun tegishli ikkilikni yuklab oladi va ~ / .chromedriver-helper-ga o'rnatadi, so'ng uni bajaring. Bu erda marvarid ma'lum loyihalarga hatto xromedriverning qaysi versiyasini ishga tushirishni tanlashga imkon beradi.

Shoulda Matchers oddiy Rails funktsionalligi uchun oddiy bir qatorli testlarni taqdim etadigan marvarid bo'lib, u odatdagi sig'im uchun testlarni yozishni tezlashtiradi.

Simplecov - sinov uchun foydali toshlardan biri. Bu birlik-testlar bilan qoplangan kodning foizini ko'rsatadi. Shunday qilib, marvarid ishlab chiquvchilarni 100% tekshirilgan kodni yozishga undaydi, bu esa uning sifatiga katta hissa qo'shadi.

Ma'lumotlar bazasini tozalash vositasi Ruby 1.9+ uchun kuchli konfiguratsiya kutubxonasi va qamrab olishni sinov to'plamlari bo'ylab avtomatik ravishda birlashishni ta'minlaydi. Ko'pincha RSpec bilan tandemda qo'llaniladi va testlarni boshlashda sinov ma'lumotlar bazasini tozalash uchun ishlatiladi. Gem ma'lumotlar bazasini tozalash vaqtini belgilashga imkon beradi: testlarni boshlashdan oldin, har bir sinovdan oldin / keyin.

RSpec :: Qayta urinish bu ta'minlaydigan vositadir: RSpec misolida tasodifiy muvaffaqiyatsiz urinib ko'ring. Bunga quyidagilar qo'shiladi: vaqti-vaqti bilan RSpec naqshlarini yo'qotish uchun qayta urinib ko'ring. Agar modelda: qayta urinib ko'rish imkoniyati mavjud bo'lsa, RSpec namuna ishlamaguncha namunani necha marta takrorlaydi.

Faker - bu ismlar, manzillar va telefon raqamlari kabi demo-ma'lumotlar yaratish uchun kutubxona.

Joylashtirish

Joylashtirish veb-taraqqiyotning muhim bosqichidir va jarayonni bemalol boshqarishga yordam beradigan bitta kutubxona mavjud.

Mina - bu tezkor tarqatuvchi va serverni avtomatlashtirish vositasidir. Serverni avtomatlashtirish vositasi bo'lgan Capistrano bilan taqqoslaganda, Mina ancha tez ishlaydi. U butun boshli skript sifatida protsedurani yaratadi va masofadan turib serverda ishlaydi. Har bir buyruq o'zlarining SSH seanslarida alohida bajariladigan Capistrano-dan farqli o'laroq, Mina har bir o'rnatishda bitta SSH sessiyasini yaratadi. SSH ulanishining ish yukini minimallashtiradi.

Aytgancha, Koditada biz Mina uchun o'z vositamizni yaratdik, uni mina-ko'p qavatli deb atashadi. Bu dasturlarni parallel ravishda bir nechta serverlarda joylashtirishga imkon beradi.

Autentifikatsiya va avtorizatsiya

Ko'pgina veb-echimlar autentifikatsiya va avtorizatsiya tizimini talab qiladi. Elektron tijorat sayti yoki nashriyot platformasi bo'lsin, foydalanuvchilarning ma'lumotlarini himoya qilish har doim birinchi o'rinda turadi. Xavfsiz echimni amalga oshirish uchun biz bir nechta marvaridlardan foydalanamiz.

Devise Warden-ga asoslangan relslar uchun moslashuvchan moslashuvchan echimdir. Ushbu usul har qanday darajadagi identifikatsiyalash tizimini yaratishga yordam beradi - elektron pochta va parol orqali autentifikatsiyadan yo'llanma tizimigacha. Xulosa qilib aytganda, u 10 ta modulga ega, jumladan:

  • Tasdiqlanishi: tasdiqlash ko'rsatmalari bilan elektron pochta xabarlarini yuboradi va tizimga kirish paytida hisob allaqachon tasdiqlanganligini tekshiradi;
  • Qayta tiklanadigan: foydalanuvchi parolini tiklaydi va asl holatini tiklash ko'rsatmalarini yuboradi;
  • Eslab qolish: foydalanuvchini saqlangan cookie-dan eslab qolish uchun token yaratish va tozalashni boshqaradi;
  • Kuzatiladigan: kirish qayd yozuvini, vaqt belgilari va IP manzilini kuzatib boradi.

Ruby-JWT marvarid - RFC 7519 OAuth JSON Internet Token (JWT) standartining oddiy Ruby dasturidir. Foydalanuvchilarning autentifikatsiyasini tekshirish vositasi sifatida u ikki tomon o'rtasidagi axborot uzatishning eng xavfsiz tizimlaridan biri hisoblanadi.

Ushbu sxemada amaliy server kiruvchi JWT autentifikatsiya serveri bilan yaratilganligini tekshirish uchun tuzilgan.

CanCanCan bu juda qulay avtorizatsiya marvarididir. Bu ilovalarda foydalanuvchilarning roli va qoidalarini yaratish va boshqarish, ko'rish va nazorat qilish uchun yordamchilar to'plamini taqdim etish imkonini beradi. Model katalogidagi even.rb faylida har bir foydalanuvchilar guruhi uchun huquqlarning tavsifi bilan tushunarli va o'qilishi mumkin bo'lgan ko'rsatma bo'lishi mumkin. Bu foydalanuvchilarning autentifikatsiyasini ta'minlaydigan marvaridlar bilan bemalol o'zaro ta'sir qiladi.

OmniAuth - Rack o'rta dasturidan foydalanib, moslashuvchan autentifikatsiya tizimi. Google yoki Facebook kabi ijtimoiy tarmoqlardagi akkauntlar orqali autentifikatsiya qilish uchun provayderlar yaratishga imkon beradigan kutubxona. Kutubxonada allaqachon foydalanishga tayyor bo'lgan provayderlarning keng ro'yxati mavjud.

Fayl yuklanmoqda

Ba'zan biz foydalanuvchilarga hujjatlar yoki rasmlar kabi turli xil fayllarni yuklashga imkon beradigan veb-dasturlarni yaratishimiz kerak. Ushbu xususiyatni iloji boricha foydali va foydalanuvchilarga qulay qilish uchun biz bir nechta kutubxonalardan foydalanamiz.

Carrierwave - Rails, Sinatra va boshqa Ruby veb-ramkalari uchun fayllarni yuklash va ishlov berish uchun juda yaxshi echim. Carrierwave versiyalarni yaratishga, ularni qo'shib qo'yishga, uzoq joydan yuklashga imkon beradi. Bundan tashqari, u sinov va sozlash parametrlariga ega. Carrierwave gem AWS S3 bilan ishlaydi va bunday hollarda u turli xil bulutli serverlar, shu jumladan Rackspace Serverlari va Brightbox bilan birlashtirilgan Fog gem bilan yaxshi mos keladi.

Carrierwave_backgrounder tashuvchiwave bilan ishlaydi. Rasmni qayta ishlash yoki siqishni fonga ko'chirishga imkon beradi. Hozirda u "Kechiktirilgan Job", "Resque", "Sidekiq", "SuckerPunch", "Girl Friday", "Qu" va "Queue Classic" ni qo'llab-quvvatlaydi.

MiniMagick RMagick uchun mini almashtirish vazifasini bajaradi. Gem Ruby jarayonlarining xotirasini qisqartirishga imkon beradi. ImageMagick buyruq satrining barcha variantlarini mavjud qiladi.

Qidirmoq

Ba'zi loyihalarda ma'lumot miqdori juda katta. Bunday holda, kerakli ma'lumotlarni topish qiyin bo'lishi mumkin. Qidiruv optsiyasini iloji boricha foydalanuvchilar uchun qulay tarzda bajarish uchun biz bitta yordam dasturidan foydalanamiz.

Elasticsearch - bu korxonalarda keng qo'llaniladigan mashhur qidiruv tizimi. Gem Elasticsearch dvigatelini o'zining to'liq funktsiyalari, jumladan to'liq matnli qidiruvi bilan Rails ilovalariga birlashtiradi.

Administrator panellari

Keng veb-dasturni yaratish va etkazib berish odatda juda ko'p ma'lumotlarni boshqarishni o'z ichiga oladi. Quyidagi yordam dasturlari bizning jamoamizga ma'lumotlar bazasini boshqarishning keng qamrovli vositasini amalga oshirishda yordam beradi.

Activeadmin - bu Ruby on Rails ilovalari uchun ma'muriy tizim. Plagin ma'muriyat uslubidagi interfeyslarni yaratishga imkon beradi. Umumiy ishlab chiqarish modellarini ajratib turadi, ishlab chiquvchilar uchun oqlangan interfeyslarni amalga oshirishni soddalashtiradi.

Ma'muriyat Rails dvigatelidir. Bu foydalanuvchiga mos keladigan ma'mur boshqaruv panelini yaratishga yordam beradi. Hozircha biz undan foydalanmadik, garchi uning imkoniyatlarini o'rganib, kelgusi loyihalarimizda amalga oshirishni kutyapmiz.

Turli xil vazifalar uchun ajoyib toshlar

Bonus sifatida sizga qiziqarli bo'lishi mumkin bo'lgan qo'shimcha qimmatbaho toshlarni ajratib beramiz. Biz ularni mashhurligiga qarab ro'yxatga olamiz (Githubdagi bir qator yulduzlar).

Sidekiq - Ruby uchun oddiy va samarali fonni qayta ishlash vositasi. U bir vaqtning o'zida bir xil jarayonda ko'plab funktsiyalarni boshqarish uchun iplarni qo'llaydi. Sidekiq, Rails-ni talab qilmasa ham, fonni qayta ishlashni iloji boricha soddalashtirish uchun Rails bilan yaqindan birlashadi.

Simple_form bu Rails-da shakllarni qurish uchun qulay DSL qo'shadigan marvarid. U oddiy DSL bilan bog'langan, tuzilish haqida hech qanday fikr bildirmaydi. Simple Form, moslashuvchanlikka va shakllarni shakllantirish uchun samarali qismlarga yordam berishga qaratilgan. Oddiy shaklning asosiy maqsadi ishlab chiqaruvchilarga eng yoqimli kod dizaynini topishga imkon beradigan tartibni aniqlashning asosiy usuliga rioya qilishdir. Ko'pgina DSL Formtastic-dan olingan.

Friendly_Id ActiveRecord uchun doimiy plaginlar bilan ishlashda katta yordam beradi. Bu yaxshi o'qiladigan URL-larni yaratishga va ActiveRecord modellari uchun raqamli identifikator kabi odamlarga qulay bo'lgan satrlarni boshqarishga imkon beradi.

Dotenv-raylar - bu loyihaning asosiy papkasidan tashqarida bo'lishi mumkin bo'lgan atrof-muhit o'zgaruvchilarini dotfile-dan yuklash uchun yoqilgan tosh. Shu tarzda, Dotenv ilova konfiguratsiyasi ma'lumotlarini xavfsiz saqlashga imkon beradi.

Slim - bu shablon tili bo'lib, sintaktikni asosiy kod elementlariga sirli bo'lmasdan kamaytirishga harakat qiladi. Bu odatiy HTML shablonidan (<,>, yopish teglari va boshqalar) qanday qilib olib tashlanishi mumkinligini ko'rish uchun mashq sifatida boshlandi. Slimga qiziqish qanchalik ko'p bo'lsa, sintaksisning moslashuvchanligi bilan birga funktsionallik ham o'sdi.

Draper, Rails ilovasida ob'ektga yo'naltirilgan taqdimot mantig'ining qatlamini biriktiradi. Draper protsessual yordamchilar oqimida yoki modellarga katta hajmli qo'shishda bu funktsiyani engishga yordam beradi. Draper dekorativlari o'zlarining ilovalarining ushbu qatlamini tashkil qilish va sinab ko'rish uchun taqdimot bilan bog'liq mantiq bilan modellarni o'rashning yanada samarali usulini taqdim etadilar.

Redis - bu BSD litsenziyalangan Ruby-mijoz ochiq manbali kutubxona. U xotirada joylashgan ma'lumotlar tuzilmasi do'konini anglatadi. Gem ma'lumotlar bazasi, kesh va xabarlar vositachisi sifatida ishlatiladi. Redis strings, xeshlar, ro'yxatlar, to'plamlar, diapazonlar so'rovlari bilan tartiblangan to'plamlar, bitmaplar, giperlogloglar, radius so'rovlari va oqimlari bo'lgan geokosmik indekslar kabi ma'lumotlar tuzilmalarini qo'llab-quvvatlaydi. Marvarid ichiga o'rnatilgan replikatsiya, Lua skriptlari, LRUni ko'chirish, tranzaktsiyalar va diskdagi qat'iylikning bir necha darajasi kiradi. Yuqorida, Redis Redis Sentinel orqali yuqori darajaga kirishga va Redis Cluster bilan avtomatik qismlarga bo'linishga imkon beradi.

Izoh Rails modellari bilan ishlashni soddalashtiradi. Mavjud sxemani modellarning fayllariga qo'shadigan sharh qo'shadi. Ushbu xususiyat kodlarni tuzishni ancha osonlashtiradi, chunki har safar sxema faylini tekshirishning hojati yo'q.

PostgreSQL to'liq matnli qidiruvini qo'llashda Pg_search ActiveRecord nomli doiralarni yaratadi. Bu PostgreSQL-dan foydalanganda Elasticsearch-ga munosib alternativadir. Yordamchi dasturni sozlash juda oson. Bundan tashqari, bu assotsiatsiyalar tomonidan Avtomatik to'ldirish va Izlashni amalga oshirishga imkon beradi.

Yomon sahifalarni bosqichma-bosqich (ob'ekt yaratish shakllari va boshqalar) yaratish uchun xizmat qiladi. Yomon nazoratchilar bilan ishlashni tezlashtiradi va soddalashtiradi.

Config ko'p muhitli yaml parametrlarini Rails, Sinatra, Pandrino va boshqalar bilan birlashtirishning eng oson usulini ta'minlaydi. Atrof-muhitning o'ziga xos parametrlarini oddiy boshqarish uchun jozibali va oson echimni taklif qiladi.

I18n-vazifalar - bu ilovada tarjima bilan ishlash uchun qimmatbaho tosh. U Rails-da odatiy bo'lgan Ruby I18n marvarididan foydalanadigan har qanday loyihada qo'llanilishi mumkin. Bu til bilan ishlash uchun interfeysni taqdim etadi, yo'qolgan tarjimalarni topishga, tarjimalar bilan fayllarni normallashtirishga va Google translate API orqali yangi tarjimalarni qo'shishga imkon beradi.

Money_rails - bu valyutalar bilan ishlash uchun ajoyib marvarid. Bu valyuta kurslarining yangilanishini avtomatlashtirish va narxlarni kerakli valyutaga aylantirish imkonini beradi.

Impressionistlar sahifalarni ko'rishni hisoblashga imkon beradi. Yuqorida, u har bir so'rov uchun ko'p marta sahifani ko'rishni jurnalga o'tkazib, uni modelga bog'laydi. Uning maqsadi Google Analytics-dan farqli o'laroq va ma'lumotlarni o'zlarining API-lari bilan tortib olishda farqli o'laroq, sozlanadigan statistikani darhol ilovada taqdim qilishdir. Bundan tashqari, Impressionistist sahifa ko'rinishiga maxsus xabarlarni yuborishga imkon beradi.

Route_translator - bu ilova yo'nalishlari tarjimalarini boshqarishda yordam beradigan vositadir. U oddiy lug'at formatiga ega. Dastlab, bu translate_routes plaginining vilkasi edi, ammo keyinchalik to'liq tarjima qilish vositasiga aylandi.

Xulosa qilmoq

Codica-da, biz Rubini diqqatni jalb qilish, aniqlik va tilni mukammal o'qish qobiliyati kabi xususiyatlariga ko'ra qadrlaymiz, bu ko'pincha odamga o'xshaydi. Ruby marvaridlari Rubining afzalliklariga katta hissa qo'shadi, chunki ular har qanday loyiha turiga yuqori rivojlanish tezligini olib keladi.

Ushbu maqolada sanab o'tilgan marvaridlar, elektron tijorat, sayohat, moliya, investitsiya va boshqalar kabi turli sohalar uchun ajoyib mahsulotlar yaratishda bizga yordam beradi.

Albatta, minglab yoqut toshlari bor va ularning har biri katta ahamiyatga ega. Ruby-da ko'p yillik tajribaga ega bo'lsak ham, biz ko'proq va ko'proq foydali Ruby toshlarini va ular taqdim etadigan imkoniyatlarni kashf etamiz. Yaxshilash uchun doimo imkoniyat mavjud.

Bizning Ruby on Rails toshlar ro'yxati sizga loyihalaringizda yordam beradi deb umid qilamiz.

Dastlab www.codica.com da nashr etilgan.

Reyslardagi Ruby haqida ko'proq ma'lumot:

Bizning tarkibimiz yoqdimi? Ko'proq bizning veb-saytimizda toping: