روبی خالص و وب سرور


#1

سلام ببخشید من یه سوالی داشتم که خیلی هم جستجو کردم به زبان انگلیسی ولی درست درک نکردم و گفتم از هموطنان عزیزم کمک بگیرم.

راستش من روبی رو به صورت خالص و Pure کار میکنم و یاد گرفتمش. حالا خب من تو Command Line و… تو خود محیط سیستم عامل اجراش می کنم کد هامو اوکیه ولی میخوام بدون استفاده از Rails یه چند تا فرم درست کنم تو یه صفحه وب و خب وب نویسی کنم ولی بدون استفاده از ریلز. لطفا دوستان بحث نکنیم در مورد اینکه ریلز خوبه چرا داری Pure می نویسی و اینا. من برنامه نوس وب هستم PHP و خیلی ساله که با فریم ورک ها و… کار میکنم… الانم دارم سعی میکنم روبی رو یاد بگیرم و اصلااا هیچ کاری و… ای به ریلز ندارم فعلا و میخوام مثلا توی PHP بجای استفاده از فریم ورک به صورت خالص کد بزنم اینجام میخوام به صورت خالص کدمو توی مرورگر اجرا بگیرم… ولی متاسفانه درکی از وب سرور روبی ندارم!‌ یعنی این روبی یه یچزی مثل اپاچه یا زمپ یا … نداره؟؟؟ Puma چیه دقیقا باید روی یه وب سرور دیگه نصب بشه؟ چون نصبش کردم متوجه نشدم!!

اینطوری خلاصه کنم که من تو ذهنم فکر میکنم همونطور که PHP‌یه سری وب سرور داره پس روبی هم وب سرور خاص خودشو داره مثلا مثل انجین ایکس!! ایا این اشتباهه و روبی هم روی همون اپاچه اجرا میشه؟ یا نه کلا یه توضیح بدید بهم و راهنمایی کنید که کد Pure روبیم رو بتونم ران کنم تو مرورگر و کدمو بزنم (دارم تمرین میکنم پس لطفا بحث نکنیم سر اینکه برو ریلیز و…)
ممنونم


#2

سلام،
ببخشيد كه خيلى كوتاه پاسخ ميدم،
بايد در مورد ماژل http در روبى كمى مطالعه كنيد همينطور در مورد rack,
Puma اپ سرور هست و آپاچى web server كه براى ديپلوى به هر دو نيازه.
منظور شما رو از سرور هاى php متوجه نشدم اما اگر منظورتون زمپ هست، زمپ يه نسخه از آپاچى داره و يه سرى سرويس ديگه به اضافه خود php.
براى راه اندازى سرور به هر حال نياز به web server هم خواهيد داشت كه ميتونيد از آپاچى و niginx يا غيره استفاده كنيد.

لينك زير فرق وبسرور و اپ سرور رو توضيح داده، اگر لازم بود بيشتر توضيح ميدم.
http://www.justinweiss.com/articles/a-web-server-vs-an-app-server/

اگر نياز به يك فريمورك سبك روبى داشتيد sinatra خيلى خوبه.
موفق باشيد


#3

اول اینکه دو راه برای اجرای روبی به عنوان اپ وب دارین. یک اینکه از CGI و یا فن آوری های مشابه و جدیدترش استفاده کنین، که اصلا توصیه نمی کنم. دوم هم استفاده از Ring. که همه وب سرور های روبی از اون استفاده می کنن. همونجور که توماج عزیز گفت در نهایت به وب سرور جدا هم نیاز خواهی داشت اما برای توسعه نیاز نیست و بیشتر برای پروداکشن استفاده می شه.


#4

سلام ممنونم اقای رحمانی از شما و خیلی متشکرم
یعنی اگر درست متوجه شده باشم من اون وب سرور اپاچه یا انجین ایکس رو در هر صورت میخوام و حالا برای اجرای روبی هم باید از یه سری چیزای دیکه که به این وب سرور ها اضافه میشن استفاده کنم درست متوجه شدم؟؟؟ (من فکر می کردم مثلا Puma و… خودشون یه چیزی مثل انجین ایکس یا اپاچه هستن که وب سرور روبی ان!! ) در مورد این Ring میشه کمی توضیح بدید؟

ممنونم


#5

متشکرم در مورد Http سعی میکنم مطالعه کنم ولی اگر لینکی دارید که مناسبه بدید.
اها خب من در مورد اپ سرور ها نمیدونم باید مطالعه کنم لینکی که دادید رو و متشکرم (خودتونم میگفتید از تجربیاتتون بهره میبردیمم خوب بود ممنونم)

منظورم از وب سرور این بود که مثلا روبی هم یه چیزی مثل زمپ نداره نصبش کنیم و تمام!؟


#6

خواهش ميكنم،
فكر ميكنم منظورتون آپاچى هست.
اگر فرصت شد حتما بيشتر ميگم.
در مورد روبى و زمپ بايد بگم كه خودم تست نكردم اما شايد بتونيد زمپ رو براى روبى گانفيگ كنيد، اما خيلى كار مفيدى بنظر نمياد.
سعى ميكنم يك مطلب خوب پيدا كنم و پست بزارم.
اگر توى اينترنت مطلبى پيدا كردين كه به اندازه كافى واضح نبود ميتونيم در موردش بحث كنيم.
پيشنهاد ديگه مطالعه سرسكد sinatra كه روى github هم موجوده هست و ببينيد كه اونها چكار كردند.


#7

:smile: :smile: :smile: من یه اشتباه بزرگ کردم. این روز ها بیشتر کارم با Clojure هست واسه همین اشتباها به جا Rack نوشتم Ring
البته بشدت شبیه هم هستند اما برای دو زبان مخلتف. بهتره یه نگاهی به لینک زیر بندازی

http://rack.github.io/

درکل Rack یه استاندارد و یک جم بسیار پایه ای برای نوشتن نرم افزار های تحت وب با روبی هست


#8

متوجه شدم :metal:


#9

اپاچی بله.
نه ببنید متوجه منظورم نشدید. من سوالم اینه که ایا وب سرور داریم برای روبی!؟ مثلا یه چیزی شبیه زمپ که نصب کنیم و یا علی و APP های نوشته شده با روبی رو تو مرورگر ببینیم! اصلا به زمپ کاری نداشته باشید دارم زمپ رو مثال می زنم نمیخوام رو زمپ چیزی ران کنم که. میگم من روبی خالص بنویسم بدون ریلز و مثلا از MySQL و… هم استفاده کنم که الاانم این کارو کردم ولی داره توی کامند لاین چیزی که درست کردم ران میشه خب من اینو نمیخوام! میخوام اپ وب بنویسم به صورت Pure و تو مرورگر تست بگیرم ولی وب سروری که کد نوشته شده منو با روبی تو مرورگر اجرا کنه ندیدم! و Puma هم نمیدونم اصلا چیه و چطور کار میکنه رانش کردم اونم داره تو کامند لاین برام اجزا میکنه کد هارو


#10

سلام, منظور شما رو کاملا متوجه شدم اما میخواستم شفاف سازی بشه.

لینک زیر برای شروع خوبه
https://www.tutorialspoint.com/ruby/ruby_web_applications.htm

کتابخانه CGI
https://ruby-doc.org/stdlib-2.4.1/libdoc/cgi/rdoc/CGI.html

و برای آشنایی با مفهوم CGI
https://www.w3.org/CGI/

و اگر من جای شما باشم از Slim به عنوان template engine استفاده میکنم
http://slim-lang.com/