django vs relslarning ishlashi


javob bering 1:

Ular, ehtimol, juda o'xshash. Yo'lovchi va boshqa vositalarni Ruby on Rails-dan foydalanishni unutmang, shunda siz yanada tezroq, nginx va boshqalarga ega bo'lasiz.

Keyin uni qanday dasturlashingiz muhim va men davom etishim mumkin. Ma'lumotlar bazasi, indekslar, keshlash.

Django va Rayllar tez yonib turishi bilan mashhur emas, shuningdek, ular bunga o'xshash yoki bunday tarzda ishlab chiqilmagan.

Ular sizni u erga olib borishingiz, aslida yakka yoki juda kichik guruhning bir qismini yaratishingiz mumkin bo'lgan. Men ikkalasini ham qildim, hamma narsani qilishim kerak bo'lgan tizimlarni ishlab chiqdim, ular tezkor ekanligiga aminman, lekin ular yozish uchun ko'p vaqt talab qildi, men shunchaki bir hafta oxiri katta Rails API tizimlarini yasadim.

Mening uzoq muddatli loyihalarimdan biri zaryadga 1% zaryadni zo'rg'a ko'taradi, ha, bu to'g'ri, ammo buni ishlatadigan minglab odamlar bor, agar men Django yoki Raillardan foydalansam, qanchalik tez bo'lardim, umuman olganda, halollikni xohlamayman. bu haqda o'ylash, juda ko'p.

Ammo shuni ko'ringki, agar Twitter bir vaqtning o'zida (yoki undan ko'p) bir marotaba sindirib qo'ysa ham, u toza Rayllarda maqbul yozilmagan, ammo u buni amalga oshirgan, har daqiqada yoki undan ko'p ma'lumotlarning ko'p gigabaytlarini yaratgan, qanchalik tez ishlaysiz. bo'lishi kerak? Siz Twitterdan tezroq bo'lishingiz kerakmi, shunda siz uni xohlaganingiz uchun yig'ishda yozishingiz mumkin.

Hamma narsa uchun vositalar mavjud. Biror narsa qilish har doim hech qachon tugamagan, ammo tez yonib ketgan narsaga ega bo'lgandan ko'ra yaxshiroqdir. Agar sizda 10.000 satr koddan iborat tizim bo'lsa ham, agar siz biron narsani to'g'ri rejalashtirsangiz, uni boshqa narsaga qayta yozish juda ko'p vaqtni talab qilmaydi.

Men bir vaqtlar Python-da (Django emas) yozilgan ulkan tizim ustida ishladim, u har daqiqada o'n minglab voqealarni amalga oshirdi, xabar berishdan tashqari katta muammolar bo'lmadi. Millionlab millionlab ma'lumotlar punktlarini olish jonli ravishda, Pythons-ni orqaga qaytardi. Biz hozirgina ushbu qismni Go (Golang) da yozganmiz va pytonni boshqa xizmatdan talab qilgan holda, uni boshqa xizmatdan talab qilamiz, hech qanday katta shartnoma, oson, qayta yozib olmaymiz va tez yonib ketamiz. Agar biz Go tizimida butun tizimni amalga oshirishimiz kerak bo'lsa, bu haqida hech narsa aytilmagan, lekin biz buni qila olamiz, ammo bu ko'proq odamlarni, ko'proq vaqt va yo'llarni talab qiladi.

Mening tajribam odatda ma'lumotlar bazasiga tushadi, oxirida shishaning bo'yni. Masshtabni kattalashtirish unchalik qiyin emas, ammo ma'lumotlar bazasini masshtablash juda qiyin.


javob bering 2:

Python umuman olganda Rubidan sekinroq. Ammo bu tilning sekinligi yoki tezligi haqida emas. Bu sizning ehtiyojlaringiz uchun ishlash uchun uni qanday optimallashtirish haqida. N + 1 so'rovlaridan qochishingiz kerak, ma'lumotlar bazasiga optimallashtirilgan so'rovlar kerak.

Ammo aytilganidek, ikkalasi ham aniq bir nuqtaga qadar aniq o'lchashadi.

Raf doirasidan tashqarida hech qanday imkoniyat sizga ishlamaydi, chunki siz biron bir chegarani bosib o'tgandan so'ng, tegmasdan.

Ammo sizning xavfsiz garovingiz Elixir / Go saytiga borishdir, agar siz o'zingizning saytingizni ikki millionlab foydalanuvchilar uchun hech qanday muammosiz ishga tushirishni rejalashtirmoqchi bo'lsangiz. Ruby 1993 yilda kompyuterlar uchun ishlab chiqilgan, ammo Elixir va Go dasturlari mos kelishini yodda tutish uchun ishlab chiqilgan.

Ammo men sizga o'zingizning MVP-ni raylarda yaratishingizni maslahat beraman, so'ngra Go / Clojure / Elixir-ga og'ir bo'lgan mikro xizmatlar arxitekturasiga ega bo'lishni boshlang.


javob bering 3:

Yo'q. Ular taxminan bir xil.

Sizdan so'rashingiz kerak bo'lgan haqiqiy savol: Mening loyihamdagi ishlash asosiy omildirmi? Va nima uchun?

Sizda juda ko'p yuklanadigan ilova bo'ladi deb o'ylashingiz mumkin ... Ammo mening tajribamdan kelib chiqqan holda, minglab so'rovlarni ko'rib chiqish uchun uzoq masofani bosib o'tish kerak bo'ladi.

Agar siz Reys va Django o'rtasida qaror qilolmasangiz, men buni tekshirishni taklif qilaman

Ruby-ni raylar va Django ishlashidagi taqqoslash

Relslarmi yoki yo'qmi? Bu savol.

Agar xohlasangiz, Ruby bilan Rails bilan boring:

  • loyihangizni imkon qadar tezroq ishga tushirish
  • MVP yoki prototipni ishlab chiqish
  • boshlang'ich yoki bozorni qurish

Agar xohlasangiz Django bilan boring:

  • veb-ilova yoki veb-sayt yaratish uchun
  • kelajakda Machine Learning kabi zamonaviy texnologiyalarni birlashtirish.

Pastki chiziq: Rails va Django ishlashi o'rtasidagi farq loyihaning turiga bog'liq. Faqat ramka ishlashiga e'tibor berish bilan emas, balki SIZNING loyihangizning ijobiy va salbiy tomonlarini aniqlash orqali ramkani tanlash yaxshidir.


javob bering 4:

Djangoning o'zi ko'proq ijrochi yoki shunchaki piton tilini bilishiga ishonchim komil emas. Bilasizmi, Ruby sekin til, lekin Rails ishlashi haqida gap ketganda u juda yaxshi ishlaydi. Ehtimol, kimdir sizga ko'proq ma'lumot berishi mumkin.

Shuni ham ta'kidlash kerakki, unumdorlik nafaqat so'rovlarning tezligi va hokazolar haqida, balki sahifani yuklash ko'pgina omillarga bog'liq. Boshqacha qilib aytganda, agar siz uni sozlasangiz, Django-ga qaraganda relslar sahifalarni yuklashda tezroq bo'ladi, lekin Django haqida ham xuddi shunday.


javob bering 5:

Agar siz Djangoning ishlashini chuqur tadqiq qilishni xohlasangiz, biznikiga qarashni tavsiya qilaman

Mirumee blogi

. Bizning "Django, tezkor" seriyali turli darajadagi Django / Python ijrosining turli jihatlari bilan shug'ullanadi. Siz u erda deyarli har qanday veb-dastur yoki ramkaga tegishli bo'lgan umumiy tavsiyalarni topasiz (

birinchi qism

), chuqur tadqiqotlar va Django-da ishlaydigan WSGI serverlari va Python-ning turli xil sozlamalari ko'rsatkichlari (

ikkinchi qism

) shuningdek Django dasturidagi muammolarni profilaktika qilish, o'lchash va ularni qanday hal qilish bo'yicha maslahatlar va tavsiyalar (

uchinchi qism

).

Voz kechish: Kompaniya sifatida biz yuqori samarali Django va Python dasturlarida ixtisoslashganmiz. "Django, tez" seriyali - bu biznesni tanqidiy va juda keng miqyosli veb-ilovalarni yozish bo'yicha 8 yillik tajribamizni hujjatlashtirish va baham ko'rishga urinish.