উত্তর:
রুবির বিপুল সুবিধার একটি হ'ল খুব সহজেই ডিএসএল তৈরির ক্ষমতা। রুবি আপনাকে একটি প্রাকৃতিক ভাষার উপায়ে "ব্যবসায়ের নিয়ম" তৈরি করতে দেয় যা সাধারণত কোনও ব্যবসায় বিশ্লেষকের পক্ষে ব্যবহারের পক্ষে যথেষ্ট সহজ। ওয়েব বিকাশের বাইরে অনেকগুলি রুবি অ্যাপস এই উদ্দেশ্যে বিদ্যমান exist
কিছু চমত্কার পাঠের জন্য আমি গুগলিংকে "রুবি ডিএসএল" সর্বাধিক সুপারিশ করছি তবে আমি আপনাকে বিশেষত একটি পোস্ট দিয়ে যেতে চাই। রাশ ওলসেন ডিএসএল- তে একটি দুটি অংশের ব্লগ পোস্ট লিখেছিলেন । আমি তাকে ডিএসএলে একটি উপস্থাপনা দিতে দেখেছি এবং এটি খুব ভাল লেগেছে। আমি এই পোস্টগুলি পড়ার জন্য অত্যন্ত পরামর্শ দিচ্ছি।
ওবি ফার্নান্দেজের রুবি ডিএসএল-তে আমি এই দুর্দান্ত উপস্থাপনাটিও পেয়েছি । উচ্চ প্রস্তাবিত পড়া!
আমি আমার কাজে রুবিকে ব্যাপকভাবে ব্যবহার করি এবং এর কোনওটিই রেল (বা এমনকি ওয়েব) ভিত্তিক নয়।
আমার ডোমেনটি সাধারণত ক্লায়েন্ট-সাইড উইন্ডোজ অ্যাপ্লিকেশনগুলি (wxRuby GUI) এবং স্ক্রিপ্টস, অ্যাক্সেস স্বয়ংক্রিয় এক্সেল, ইন্টারনেট এক্সপ্লোরার, এসকিউএল সার্ভার অনুসন্ধান এবং রিপোর্ট জেনারেশন (উইন 32 কোল সিএম স্বয়ংক্রিয়তা)। আমি বিভিন্ন ডেটা মংগিং এবং গ্রাফ জেনারেশন কাজের জন্য স্ক্লাইট, পিডিএফ-লেখক এবং গ্রাফ গ্রন্থাগারগুলিও ব্যবহার করি।
রেলগুলির সাফল্য রুবির পক্ষে দুর্দান্ত, তবে আমি একমত যে রেলগুলি এত বেশি মনোযোগ পেয়েছে যে ওয়েবের বাইরেও রুবির মান প্রায়শই উপেক্ষা করা হয়।
আমরা মূলত একটি সি ++ শপ, তবে আমরা বেশ কয়েকটি অঞ্চল পেয়েছি যেখানে রুবি বেশ কার্যকর প্রমাণিত হয়েছে। এখানে কয়েকটি দেওয়া হল:
রুবি মূলত আমার সরঞ্জামে যেতে যেখানে এটি বোধগম্য হয়। এবং এটি অনেক জায়গায় উপলব্ধি করে।
গুগল স্কেচআপ এম্বেড স্ক্রিপ্টিং ভাষা হিসাবে রুবি ব্যবহার করে। আপনি এটি 3 ডি মডেলিং এবং আমদানি / রফতানি কার্য সমস্ত ধরণের সম্পাদন করতে ব্যবহার করতে পারেন। স্ক্রিপ্টিংটি মুক্ত সংস্করণে কাজ করে এবং এমনকি শালীন ডকুমেন্টেশন রয়েছে ।
সি ++ তে লিখিত হোমব্রাব্য এক্সটেনশন সহ রুবি আমার ফটোগ্রাফি প্রক্রিয়াকরণের জন্য সমস্ত ভারী পিক্সেল চাপায়। আমি পাইথন + নিম্পী ব্যবহার করছিলাম তবে আর্টসি স্টাফ করার সময় রুবি আরও মজাদার। এছাড়াও ভাল ইমেজ প্রসেসিং লাইব্রেরিগুলির অপেক্ষাকৃত অল্প পরিমাণে বা পরিপক্কতা কম হওয়ায় আমি চাকাগুলি পুনরায় সাজিয়ে রাখছি বলে মনে হয় less আমি এটি সম্পর্কে শুনেছি তা ছাড়া, আমি রেল সম্পর্কে অজ্ঞাতসারে রয়েছি, এটি কী তা নিয়ে একটি ঝাপসা ধারণা রয়েছে এবং আসলে এটিতে একটি বই রয়েছে (উন্মুক্ত)
বা আপনি রুবিকে সঙ্গীত আলা গাইলস বোকেটের আর্কিওপেটিক্স তৈরি করতে ব্যবহার করতে পারেন। আর্কিওপেটেরিক্স সম্পর্কে গিলসের এই উপস্থাপনাটি এখন পর্যন্ত অন্যতম সেরা উপস্থাপনা। আমি এটি সুপারিশ।
রুবিকোচো এবং ম্যাকরুবি। ব্যর্থতা ছাড়াই পূর্ণ কোকো ভিত্তিক জিইউআই অ্যাপ্লিকেশন তৈরি করা সম্ভব। এবং তারপরে আপনি ইন্টারফেস বিল্ডারও ব্যবহার করতে পারেন।
আমি গত বছর একটি মিউজিয়াম প্রকল্পে কাজ করেছি যা প্রচুর রুবি ব্যবহার করেছিল। ( http: // http: //ourspace.tepapa.com/home )
আমি আমার যে অংশটি বেশিরভাগ সময় ব্যয় করেছি তা হ'ল একটি ইন্টারেক্টিভ ফ্লোর ম্যাপ। মেঝেতে থাকা মানচিত্রে সেন্সর রয়েছে তাই লোকে যখন এটি চালায় তখন লাইটগুলি ট্রিগার করা হয় এবং প্রাচীরের প্রদর্শনগুলিতে ভিডিওগুলি এবং অডিও ট্র্যাকগুলি বাজানো হয়।
প্রদর্শনের এই অংশের জন্য সমস্ত নিয়ন্ত্রণ কোডটি রুবি। আমি মেঝে সেন্সর এবং আলোর নিয়ন্ত্রণকারীদের সাথে যোগাযোগের জন্য রুবি মোড়ক দিয়ে সি ইন্টারফেস লিখেছি। সিস্টেমটি মিডিয়া ফাইলগুলি প্রদর্শিত হওয়ার জন্য একটি এমওয়াইএসকিউএল ডাটাবেসকে জিজ্ঞাসা করে এবং তারপরে দেয়ালগুলিতে কম্পিউটারগুলি ইউডিপির মাধ্যমে মিডিয়া খেলতে বলে।
এটি পুরো প্রদর্শনীর সবচেয়ে নির্ভরযোগ্য অংশ।
রুবি প্রদর্শনীর অন্যান্য প্রধান অংশের জন্য ব্যবহৃত হয়েছিল, যদিও ওয়ালটি আমার এর সাথে খুব একটা ছিল না। বেশিরভাগ গ্রাফিকগুলি খোলার ওবিজে-সিতে পোর্ট করার আগে ওপেনগিএল, কিছুটা কোকো এবং একটি পদার্থবিদ্যার পাঠাগার ব্যবহার করে রুবিতে প্রোটোটাইপ করা হয়েছিল।
আমার আগমনের আগের 30 টি উত্তরগুলিতে আমি পুতুল বা শেফের কোনও উল্লেখ দেখতে পাইনি । রুবি ক্লাউড অটোমেশনে বর্তমান কাজগুলিকে প্রাধান্য দেয় বলে মনে হয় এবং এই দুটি বড় প্লেয়ারের ভিত্তি, প্রসারণ এবং টেম্প্লেটিং ভাষা। এগুলি মূলত সার্ভার অ্যারে এবং সাধারণ আইটি ওয়ার্কস্টেশন পরিচালনার জন্য সিস্টেম এবং অ্যাপ্লিকেশন কনফিগারেশন তথ্য বিতরণ করতে ব্যবহৃত হয়।
DevOps ক্ষেত্র বেশ রুবি খবর রাখেন। আজ, পার্ল একটি প্রতিযোগী আছে। যদিও একটি sh(1),জটিল সরল স্ক্রিপ্ট প্রায়শই সরাসরি কোনও জটিল কাজের জন্য সরাসরি লেখা যেতে পারে এখন পার্লের পরিবর্তে রুবিতে করা যেতে পারে।
আমি রুবীর সাথে কাজ করা একমাত্র সাইটটি রেলগুলি ব্যবহার করছে, তবে আমি মারব চেষ্টা করতে চাই ।
এর বাইরে আমি রুবিতে খুব সামান্য ইউটিলিটি প্রোগ্রামগুলি করি - উদাহরণস্বরূপ এমন একটি অ্যাপ যা আরএসএস ফিড পড়ে এবং একটি ডেটাবেসে নতুন পোস্ট আমদানি করে।
এটি মজাদার, তাই আমি এতো তাড়াতাড়ি কিছু বোকা জিনিস লিখি। গতকাল আমি মন্টি হলের সমস্যাটি 100,000 বার খেলতে একটি অ্যাপ্লিকেশন লিখেছিলাম যাতে একজন বন্ধু তার প্রফেসরকে বোঝাতে সহায়তা করে যে স্যুইচিং সঠিক কৌশল।
আমি প্রায় অপমান করি যে রুবি একটি রেলের জিনিস। এটি আগের মতই ছিল যখন সিজিআই সর্বশেষতম প্রবণতা ছিল এবং সবাই অনুভব করেছিল যে আপনি পার্লটি জানলে আপনাকে অবশ্যই এটি করা উচিত কারণ আপনি সিজিআই অ্যাপ্লিকেশনগুলি প্রোগ্রাম করেছিলেন। রুবি আমার কাছে কেবল একটি স্ক্রিপ্টিং ভাষা, যদিও পাইথনের মতো পরিপক্ক না হলেও এর কিছু হুপ এবং সাম্প্রতিক পরিবর্তনগুলি পেরিয়ে যাওয়ার জন্য আমি কিছুটা আফসোস করছি, আমি এখনও এটি পছন্দ করি এবং এটি ব্যবহার করি। যদিও আমি জাভা শপে কাজ করি এবং তাই গ্রোভি হ'ল স্ক্রিপ্টিং ভাষার জন্য আদর্শ পছন্দ, আমি এখনও ঘরে রুবি ব্যবহার করি এবং কাজের ফাঁকে ভাগ করার প্রয়োজন হয় না এমন স্ক্রিপ্টগুলি ফেলে দিতে পারি।
আমি সমস্ত বাজ থেকে আরআর-এ প্রবেশ করা এবং এটি কত দ্রুত / সহজ তা বিবেচনা করছিলাম, তবে রেলগুলি দেখার পরে আমি অন্য কোনও তুলনায় এর বিকাশের বিষয়ে আশ্চর্যজনক বা এমনকি সামান্যতম উদ্ভাবনী বা দ্রুত গতিযুক্ত কিছুই দেখিনি ফ্রেমওয়ার্ক। আমি কেবল লাভটি দেখেছি যে আমি রুবিতে কোড করতে পারি, যা দুর্দান্ত হবে তবে প্রাথমিক সেটআপ, সার্ভার রক্ষণাবেক্ষণ এবং স্কেলিং আরও কঠিন, এইভাবে রুবিতে কোডিংয়ের আনন্দটিকে পুনরায় অফসেট করা।
র্যাক-ভিত্তিক ওয়েব অ্যাপ্লিকেশনগুলি নিয়ে আলোচনা করার জন্য আমি একটি উপস্থাপনা তৈরি করেছি - কাকতালীয়ভাবে দ্য দ্য রেলগুলির নামকরণ করা হয়েছে:
https://github.com/alexch/Off-The-Rails
গিট রেপোতে মার্কডাউন ফর্ম্যাট এবং স্যাম্পল কোডের স্লাইডগুলি (চলমান অ্যাপ্লিকেশন এবং মিডলওয়্যার আকারে) অন্তর্ভুক্ত রয়েছে। বিমূর্তি এখানে:
রুবে অন রুবেল হ'ল রুবির সবচেয়ে জনপ্রিয় ওয়েব অ্যাপ্লিকেশন কাঠামো। তবে এটি একমাত্র নয়! আপনি যদি ভাবেন যে রেলগুলি খুব বড়, বা খুব বেশি মতামতযুক্ত, বা খুব বেশি কিছু আছে তবে আপনি র্যাকের উপর নির্মিত নতুন প্রজন্মের তথাকথিত মাইক্রোফ্রেমওয়ার্কস সম্পর্কে জানতে পেরে খুশি হতে পারেন। এবং যেহেতু রেলস 3 নিজেই একটি র্যাক অ্যাপ্লিকেশন, তাই সিনাত্রার রুট বা গ্রাপ এপিআইয়ের সুবিধা পেতে আপনাকে রেলগুলি ছেড়ে দিতে হবে না।
এবং এখানে কিছু উল্লেখ রয়েছে:
আশা করি আপনি এটি দরকারী পাবেন!
আমি বেশিরভাগই একটি ওয়েব বিকাশকারী, এবং আমি রুবিকে রেলগুলি ব্যবহার করতে শিখেছি, তবে আমি ভাষাটি এতটাই পছন্দ করি যে আমি রুবিতে জেআরবি এবং মনকিবার্স ব্যবহার করে একটি ডেস্কটপ সুইং অ্যাপ্লিকেশন বিকাশ করতে শুরু করেছি। আমি জাভাতে পারদর্শী, তবে এটি ব্যবহার করা বেশি পছন্দ করে না, এবং সুইং এপিআই ভয়ঙ্কর, সুতরাং রুবিকে শীর্ষে রাখা বড় জয় ছিল।
আমরা মূলত রেল ব্যবহার করি তবে আমাদের প্রচুর পরিমাণে অন্যান্য নন-রেল রুবি রয়েছে - উদাহরণস্বরূপ ব্যবহারকারীদের কেন্দ্রিয়ায়িত প্রমাণীকরণের জন্য একটি স্বতন্ত্র প্রমাণীকরণ ডিমন জিনিস, এবং একটি 'ইমেজ প্রসেসিং সার্ভার' যা চিত্রগুলিকে সমান্তরালভাবে প্রক্রিয়াকরণের জন্য নির্বিচারে সংখ্যক রুবি প্রসেস চালায়।
ওহ, এবং ভাল পুরানো রেক ভুলবেন না :-)
আমি কাজের জন্য রুবি ব্যবহার করেছি
আমরা আমাদের পরীক্ষার অটোমেশন সফ্টওয়্যারটি প্রয়োগ করতে রুবি ব্যবহার করি। এর মধ্যে রয়েছে সেলেনিয়াম আরসি, ওয়াটির এবং অটোআইটির জন্য পরীক্ষার কাঠামো এবং ড্রাইভার কোড।
রুবি এমন একাধিক অ্যাপ্লিকেশন তৈরি করতে যথেষ্ট শক্তিশালী যা সেলেনিয়াম বা ওয়াটারের মতো পরীক্ষামূলক সরঞ্জামগুলির সাথে ইন্টারফেস করতে পারে, একই সাথে ডেটা ফাইলগুলি পড়তে, একটি দূরবর্তী উইন্ডোজ ইউআইয়ের সাথে যোগাযোগ করে এবং স্বচ্ছ নেটওয়ার্ক যোগাযোগের সময় সঞ্চালন করে। উইন্ডোজ বা লিনাক্সে চলাকালীন সমস্ত।
নিরবিচ্ছিন্ন সিনট্যাক্স এটিকে নতুন এবং অনভিজ্ঞ প্রোগ্রামারদের পড়ার জন্য আদর্শ করে তোলে। যদিও এর সম্পূর্ণ ওও প্রকৃতি এই একই প্রোগ্রামারদের শুরু থেকে ভাল (সম্প্রতি শিখেছি) ওও কৌশল প্রয়োগ করা সহজ করে তোলে।
রুবির সিনট্যাক্সের নমনীয় প্রকৃতিটি ডিএসএলগুলির ব্যবহার ও নির্মাণকে আরও সহজ করে তোলে। এটি স্বল্প-প্রযুক্তিযুক্ত লোকদের চালিত, পড়া এবং সম্ভবত সেখানে নিজস্ব পরীক্ষা তৈরি করতে দেয়।
অস্থির প্রয়োজনীয়তা সহ একটি প্রকল্পে আমি সি # এবং টি-এসকিউএল সঞ্চিত পদ্ধতিগুলির কোড উত্পন্নকরণের জন্য রুবি ব্যবহার করেছি। ডেটা মডেলটি একটি ওয়াইএএমএল ফাইলে এনকোড করা হয়েছিল এবং ক্লাস এবং সঞ্চিত পদ্ধতির জন্য .erb টেম্পলেট ব্যবহার করা হত। এটি সরল সি # দিয়ে যতটা সম্ভব সম্ভব হতে পারে তার চেয়ে অনেক বেশি DRY সমাধানের জন্য অনুমতি দেয় কারণ কোড জেনারেটরের একক পদ্ধতিতে পুনরাবৃত্তি কোড ফ্যাক্টর করা যেতে পারে।
আমি একজন ওয়েবড্রাইভার ব্যবহারকারী। রেকিকে বিল্ড প্রক্রিয়াটি স্বয়ংক্রিয় করার জন্য রুবি ওয়েবড্রাইভার দ্বারা ব্যবহৃত হয়। বিশদ জানতে http://code.google.com/p/webdriver/ দেখুন
হেই, দুর্দান্ত প্রশ্ন।
পাইলটদের জন্য একটি অ্যাপ তৈরি করার সময় আমি রুবিকে অ্যান্ড্রয়েড ফোন প্ল্যাটফর্মের জন্য এক্সেল স্প্রেডশিট বিমানবন্দর সুবিধার ডেটা স্ক্যালিটি 3 তে রূপান্তর করতে ব্যবহার করেছি।
আমি সিনাট্রার সাথে রুবি ব্যবহার করি যা রেলের চেয়ে অনেক সহজ। আমি রেলগুলি ব্যবহার করেছি তবে সবেমাত্র পাওয়া গেছে যে এটি কিছুটা দৈত্যে পরিণত হয়েছে, যদিও জাভা জন্য উপলব্ধ ওয়েব ফ্রেমওয়ার্কগুলির তুলনায় রেলগুলি এখনও আশ্চর্যজনক।
তবে আমি যে রুবিকে ভালোবাসি তার প্রধান বৈশিষ্ট্য হ'ল "ইভাল" এবং "মেথড_মিসিং", যা রেইলগুলি বাস্তবে অ্যাক্টিভেকর্ডে উদাহরণস্বরূপ ব্যবহার করে যাতে আপনি আশ্চর্যজনক "সন্ধান_পরি-ক্ষেত্রের নাম-" অনুসন্ধানগুলি ব্যবহার করতে পারেন।
আমি রুবিকে প্রচুর ব্যাক-এন্ড কোডের জন্য ব্যবহার করেছি কেবল কারণ আমিই একমাত্র ব্যক্তি যিনি এটি করার দায়িত্ব পেয়েছিলেন এবং একটি সুন্দর পরিষ্কার ভাষা প্রয়োজন যা আমাকে খুব উত্পাদনশীল হতে এবং কোড বজায় রাখতে সহজ লেখার অনুমতি দেয়। আমি দেখতে পাচ্ছি যে রুবি আমাকে পার্ল এবং পাইথনের চেয়ে সহজ কাজ করতে দেয়। অন্যান্য ব্যক্তির মাইলেজ এতে আলাদা হতে পারে তবে এটি আমার পক্ষে ভাল।
তদ্ব্যতীত, আমি সিকেল এবং নোকোগিরি কীভাবে কাজ করে তা পছন্দ করি। আমিও রেলগুলি থেকে পৃথক হয়ে অ্যাক্টিভেকর্ড ব্যবহার করেছি।
আমরা ফাইলের কারসাজির জন্য কিছু রুবি ব্যবহার করি তবে এখনও রেল সংযুক্ত করতে সক্ষম হইনি।
বোল্ডারে রুবি ব্যবহারকারীদের একটি দুর্দান্ত দল ছিল যারা মাসিক মিলিত হত। এই পয়েন্টটি তৈরি করা হয়েছিল - যে রিলগুলির রেলগুলির ব্যবহারের পাশাপাশি তার একটি অস্তিত্ব রয়েছে। সরল রুবি ব্যবহারকারীরা উপস্থিত আছেন, মনোযোগের জন্য ভিক্ষা করছেন, দেখানোর জন্য ঝরঝরে জিনিস আছে এবং ব্যবহারকারীর গ্রুপ সভায় একে অপরকে খুঁজে পেতে পারেন।
পাইথন গ্রুপের তুলনায় তাদের কাছে পিজ্জা আরও ভাল ছিল, যারা মাসের একই দিনে দেখা করেছিলেন। শুধুমাত্র একটি বাছাই করতে পারেন ...
আমাদের কাজের সময়ে বেশ কয়েকটি রেল অ্যাপ্লিকেশন রয়েছে, আমরা কিছু মোটামুটি নিবিড় অ-ওয়েব স্টাফের জন্যও রুবি ব্যবহার করি।
আমাদের কাছে একটি এসএমএস বিতরণ ডেমন রয়েছে, যা একটি সারি থেকে বার্তা টেনে নেয় এবং সেগুলি পরে সরবরাহ করে এবং ক্রেডিট কার্ড প্রসেসিং ডেমন যা অন্যান্য অ্যাপ্লিকেশনগুলিতে কল করতে পারে, এটি নিশ্চিত করে যে কোনও কেন্দ্রীয় নিরীক্ষার ট্রেল রয়েছে।