রুবি শিখছে। এই কোর্সটি কি এবং কেন আমার এটি দরকার। সমাপ্তির শংসাপত্র

বন্ধুরা আগুন, অবশ্যই আগুন, সবকিছুই আগুন!!! একেবারে মৌলিক বিষয়গুলি থেকে শুরু করে এবং আরও জটিল জিনিসগুলির দিকে এগিয়ে যাওয়া, কোর্সটি একটি তাত্ত্বিক ভিত্তি এবং প্রচুর অনুশীলন উভয়ই প্রদান করে৷ এই কোর্সটি নিশ্চিত করার লক্ষ্যে যে শিক্ষার্থী একজন প্রোগ্রামারের দৃষ্টিকোণ থেকে তার মাথায় সঠিক চিন্তাভাবনা তৈরি করে। আমি এই কোর্সটি সত্যিই পছন্দ করেছি, আমি প্রত্যেককে পরামর্শ দিই, নতুনদের জন্য এবং যারা ইতিমধ্যেই প্রোগ্রামিংয়ের মূল বিষয়গুলির সাথে পরিচিত তাদের জন্য। তাদের মূল্যবান কাজ এবং অভিজ্ঞতার জন্য আপনাকে বলছি ধন্যবাদ!

খুব ভাল কোর্স - ভাল করা বলছি. ধীরে ধীরে, একজন প্রোগ্রামারের জীবনের জন্য প্রয়োজনীয় সমস্ত ন্যূনতম মস্তিস্কে প্রবেশ করানো হয় এবং সেগুলিকে আরও উন্নত বান দিয়ে ফেলে দেওয়া হয়।

উপাদান উপস্থাপনা শুধু আগুন, এটা সব ভিডিও দেখতে এবং তারপর হোমওয়ার্ক মাধ্যমে যেতে এত আকর্ষণীয় ছিল, শুধুমাত্র একটি phpshnik এর স্বীকৃতিএটা মূল্য কি এবং সবকিছু আছে.

ডিজেড নেওয়ার সময় একটি স্বতন্ত্র পদ্ধতি (আনুষ্ঠানিক ভিত্তিতে নয়) - আপনার একাডেমিক পারফরম্যান্সের উপর নির্ভর করে, শিক্ষকরা আপনার জন্য কাজটিকে জটিল করে তুলতে পারে বা আপনাকে আরও উন্নত প্রযুক্তি ব্যবহার করে এটি করতে বলতে পারে।

খুব শান্ত কি - 24/7 ঢিলেঢালা সমর্থন!

অসাধারন ওয়েবিনার যার উপর ডিব্রিফিং করা হয় এবং শুধু তাই নয় - আমি সেগুলির কয়েকটিকে বেশ কয়েকবার পর্যালোচনা করেছি, কারণ উপাদানটি খুবই গুরুত্বপূর্ণ এবং খুব ভালভাবে ব্যাখ্যা করা হয়েছে৷

কিন্তু আমার জন্য সবচেয়ে তাৎপর্যপূর্ণ বিষয় হল যে কোর্সগুলি আমাকে সম্পূর্ণ ভিন্ন অবস্থায় নিমজ্জিত করে - নতুন কিছুর ধ্রুবক বোঝার অবস্থা, জ্ঞানের আকাঙ্ক্ষা - এবং এটি সবচেয়ে গুরুত্বপূর্ণ - এটি একটি মোটরের মতো যা আমার মধ্যে শুরু হয়েছিল এবং এখন আমি এটা ধন্যবাদ সরানো. জ্ঞানের আকাঙ্ক্ষা, যা কাজ করে না তা থেকে হতাশা এবং যা স্থির করা হয়েছে তাতে আনন্দে ভরা নতুন জীবন দেওয়ার জন্য শিক্ষকদের অনেক ধন্যবাদ।

কোর্স শুধু আশ্চর্যজনক! উপাদান একটি স্পষ্ট ব্যাখ্যা, নির্বিশেষে তার জটিলতা. শিক্ষকদের অনেক ধন্যবাদ! তারা দ্রুত প্রশ্নের উত্তর দেয় এবং সম্পাদিত কাজগুলির উপর যুক্তিসঙ্গত এবং নির্দিষ্ট প্রতিক্রিয়া দেয়। ফলাফল নিজেই কথা বলে: 5 মাস, এবং আমি সফলভাবে সাক্ষাত্কারে পাস করেছি। চমৎকার কোর্স! এটা পাস মূল্য!

Ruby on Rails ডেভেলপার, Taganrog, github

চমকপ্রদ কোর্স। ধনী, বিরক্তিকর না, বিন্দু পর্যন্ত. চমৎকার শিক্ষক. আমি এ সব কোন অসুবিধা খুঁজে পাইনি. তাদের সঙ্গে মানবিক আচরণ করা হয়। আমি সম্পূর্ণ নবাগত হিসাবে এসেছি। এখন আমি একজন সুপার নবাগত! আমি একটি রুবি প্রোগ্রাম লিখেছি (একাধিক), একটি রেল অ্যাপ্লিকেশন লিখেছি (একটির বেশি), একটি সার্ভার সেট আপ করেছি, একটি অ্যাপ্লিকেশন স্থাপন করেছি, অ্যাপ্লিকেশনটিতে বিভিন্ন কার্যকারিতা সংযুক্ত করেছি, ডোমেন, এসএসএল শংসাপত্র, ডিএনএস, অনুমোদন এবং অনেক বেশি. আমি যুদ্ধে ছুটছি, আমি একটি স্বাধীন প্রকল্প গ্রহণ করছি। সাধারণভাবে, আপনাকে অনেক ধন্যবাদ, ভাল প্রোগ্রামার!

রুবি অন রেল ডেভেলপার, মস্কো, গিথুব

নীতিগতভাবে, আমি কোর্স করতে যাচ্ছিলাম না, কিন্তু এই ছেলেরা যেভাবে উপাদান উপস্থাপন করে তা তাদের সাথে কাজ করার, শিখতে এবং কেবল যোগাযোগ করার জন্য একটি দুর্দান্ত ইচ্ছা সৃষ্টি করে।

কোর্সের মূল সুবিধা হল ছেলেরা সত্যিই ভালোবাসে এবং মানুষকে শেখাতে চায়। কোর্সটি ফরম্যাটের নয় "ঠিক আছে, আমরা আপনাকে সেখানে উপাদান দিয়েছি, এবং তারপরে এটি নিজেই খুঁজে বের করুন," লোকেরা এতে তাদের হৃদয় এবং আত্মা রাখে এবং আপনি কীভাবে উপাদানটি উপলব্ধি করেছেন তা নিয়ে উদ্বিগ্ন। এই কোর্সটি শেষ করার পরে, আপনি নিরাপদে রেল ডেভেলপার হিসাবে কাজ করতে যেতে পারেন।

Ruby on Rails ডেভেলপার, Krasnodar, github

একটি ওয়েব অ্যাপ্লিকেশনের বিকাশে ব্যবহৃত প্রধান পয়েন্টগুলি একটি অ্যাক্সেসযোগ্য উপায়ে ব্যাখ্যা করা হয়েছে। রেল সবচেয়ে জনপ্রিয় রত্ন এছাড়াও বিবেচনা করা হয়.

তারা বাড়ির কাজ ভালভাবে পরীক্ষা করে এবং বিস্তারিত মন্তব্য করে। আমি এই সত্যটির প্রশংসা করি যে ছেলেরা কোর্স শেষ হওয়ার পরে আপনার কাছে হাল ছেড়ে দেয় না এবং যোগাযোগ রাখে, কথায় এবং কাজে সহায়তা করে)) তথ্য অনুসন্ধানের ক্ষেত্রে সাইটটি খুব সুবিধাজনক নয়, বিশেষত যখন আপনি সব শেষ করেন 71টি পাঠ, কিন্তু আমি মনে করি ছেলেরা বাকিটা চূড়ান্ত করবে, অভিযোগ করার কিছু নেই।

এয়ারবিএনবি, সান ফ্রান্সিসকোতে টিম লিড

অনলাইন শেখার ক্ষেত্রে আমার উল্লেখযোগ্য অভিজ্ঞতা রয়েছে - এটি সেরা অনলাইন কোর্সযাদের সাথে আমি কখনো দেখা করেছি। সবকিছু তৈরি করা হয়েছে - উচ্চ মানের উপাদান, চমৎকার উপস্থাপনা। এবং সবচেয়ে গুরুত্বপূর্ণ, কোর্সের পরে আপনি সত্যিই একজন প্রোগ্রামার হতে পারেন!

আমি সিলিকন ভ্যালিতে থাকি, বিভিন্ন মিটআপ এবং ওয়ার্কশপে যাই, ভন্টেড লোকাল বুটক্যাম্পের স্নাতকদের সাথে দেখা করি (যার দাম, যাইহোক, 4 মাসের জন্য 12 হাজার ডলার থেকে) এবং আমি বুঝতে পারি যে কোর্সের পরে আমার জ্ঞান অনেক গুণ বেশি সিলিকন ভ্যালির এই বিখ্যাত বুটক্যাম্পের অনেক গ্র্যাজুয়েটদের চেয়েও বড়, যদিও আমি স্ক্র্যাচ থেকে শুরু করেছি এবং "ভাল প্রোগ্রামার" পর্যন্ত টার্মিনাল খুলিনি))

আমি ওয়ার্ক পারমিটের জন্য অপেক্ষা করব এবং আমি অবশ্যই চাকরি পাব। কোর্সের পরে, আমি এর জন্য নিজের মধ্যে শক্তি অনুভব করি, আমি জানি যে এটি সম্ভব! তোমাদেরকে ধন্যবাদ!

আমার মতে, ছেলেরা একটি চটকদার কোর্স তৈরি করেছে যা সম্পূর্ণ নতুন প্রোগ্রামার এবং যাদের ইতিমধ্যে অন্যান্য ভাষা এবং লাইব্রেরির সাথে কাজ করার অভিজ্ঞতা রয়েছে তাদের জন্য উপযুক্ত।

চমৎকার উপাদান এবং উপস্থাপনা, সাধারণভাবে মনোভাব, এবং ওয়েবিনারের পরিবেশ। ছেলেরা প্রতিটি ছাত্রকে সাহায্য করার জন্য কঠোর পরিশ্রম করে, প্রয়োজনে ক্ষুদ্রতম বিশদে চিবিয়ে নেয়। কোর্সের পরে, আপনি আপনার দক্ষতার উপর আত্মবিশ্বাসী বোধ করেন, আপনি বুঝতে পারেন যে ইচ্ছা থাকলে আইটি ক্ষেত্রে চাকরি পাওয়া বেশ সম্ভব।

প্রোগ্রামিং এর একটি প্রাথমিক বোঝার জন্য পুরোপুরি ভিত্তি দেওয়া হয়েছে। আকর্ষণীয় এবং বাস্তব কাজ দেওয়া হয়, যার সমাধান ভবিষ্যতে সাহায্য করবে এবং দরকারী হবে।

আমি সারসংক্ষেপ. আমি এই কোর্সটিকে সর্বোত্তম হিসাবে বিবেচনা করি, এবং যারা প্রোগ্রামিংয়ের ক্ষেত্রে তাদের জীবন উৎসর্গ করার সিদ্ধান্ত নেন তাদের কাছে আমি অবশ্যই এটি সুপারিশ করি। এই মুহুর্তে, একটি সক্রিয় কাজের অনুসন্ধানে, চাহিদাটি বেশ বড়, তাই, সবকিছু আপনার হাতে! আপনাকে অনেক ধন্যবাদ এবং আমি আপনাকে ভবিষ্যতে সেরা কামনা করি!

রুবি অন রেল ডেভেলপার

কোর্সটি সাহায্য করেছে, আমি শিখেছি কিভাবে রুবিতে এবং রেলে প্রোগ্রাম করতে হয়, আমি একজন সুপার-কুল প্রোগ্রামার নই, কিন্তু আমি জানি যে আমি যেকোন কিছু লিখতে পারি, আমাকে অতিরিক্ত কিছু পড়তে হতে পারে।

লক্ষ্য ছিল "কীভাবে প্রোগ্রাম করতে হয় এবং একটি চাকরি খুঁজে বের করতে হয় তা শেখা।" কাজটি 100% সম্পন্ন হয়েছিল, আমি প্রোগ্রাম শিখেছি, তারা একটি কাজ নিয়েছে।

"হ্যালো! তুমি কি করছো?" - "হ্যাঁ, আমি রুবিতে একটি জিনিস প্রোগ্রাম করব।" - "এটি কি সংক্রামক :-)"
এখানে একটি কথোপকথন আমি আজ একটি বন্ধুর সাথে ছিল. কেন রুবি?

কেন রুবি শিখুন

এই প্রশ্নটি তাদের উদ্বিগ্ন যারা দীর্ঘ সময় ধরে এবং সফলভাবে পিএইচপিতে প্রোগ্রামিং করছেন। আপনি একটি ভাষা আয়ত্ত করেছেন, যা দুর্দান্ত, তবে সেখানে থামবেন না। অনেকে আপত্তি করতে পারে যে তারা ভাষা জানে, ন্যয়-এর উপর ভিত্তি করে এবং ইতিমধ্যে এটির সাথে সমস্ত কৌশল শিখেছে। আমি রুবি শেখার কয়েকটি কারণের নাম বলব।

  1. কৌতূহল. উদাহরণস্বরূপ, খোলা ক্লাসের সাথে কাজ করা আমার জন্য খুব আকর্ষণীয় ছিল। সিস্টেম ক্লাসে আপনার পদ্ধতিটি কীভাবে নেওয়া এবং ইনজেকশন করা যায় - আমার মতে এটি দুর্দান্ত। বিভ্রান্তি হবে? এবং কিভাবে এটা করতে হবে? সাধারণভাবে, নতুন সবকিছু আকর্ষণীয়।
  2. . কারণ আমি দীর্ঘদিন ধরে পিএইচপিতে প্রোগ্রামিং করছি, আমি ভাবছি রুবি পিএইচপির সামনে কী গর্ব করতে পারে /
  3. রুবি গতি. একটি টুইটার রুবিতে তৈরি করা হয়েছে (যদিও এটি সম্প্রতি পরিত্যক্ত হয়েছে)। আমি বাস্তবে এর কার্যকারিতা পরীক্ষা করতে চাই।
  4. সমস্যা ক্লাস. রুবি ওয়েব অ্যাপ্লিকেশনের জন্য ভাল। তাই নাকি?
  5. মেটাপ্রোগ্রামিং।সম্ভবত সবচেয়ে গুরুত্বপূর্ণ কারণ।

রুবি কিভাবে শিখবেন। পাঠ্যক্রম.

এখানেই আমার প্রথম ভুল ছিল যে আমি ভাষা না জেনে ফ্রেমওয়ার্ক শিখতে শুরু করেছি। এখন আমি বুঝতে পারি যে এটি প্রয়োজনীয় নয়। রুবি অন রেল সম্পর্কে কিছুক্ষণের জন্য ভুলে গিয়ে, আমি নিজেই রুবিকে অধ্যয়ন করতে শুরু করি, যেহেতু একটি সিস্টেম টাস্ক টিকেট সিস্টেমে দীর্ঘ সময়ের জন্য ঝুলে ছিল, যা পিএইচপিতে সমাধান করা কঠিন ছিল। আমি সত্যিই এটি রুট অনুমতি দিতে চাই না. তাই পরিকল্পনা এই.

  1. ফাংশন, ক্লাস, পাবলিক ক্লাস। বৈশিষ্ট্য (অ্যাসেসর এবং মিউটেটর)।
  2. স্ট্রিং সঙ্গে কাজ, অ্যারে সঙ্গে. সাবস্ট্রিং খোঁজা এবং প্রতিস্থাপন, ইত্যাদি টাইপ রূপান্তর।
  3. ফাইল নিয়ে কাজ করা।
  4. সিস্টেম পরিবেশের সাথে কাজ করা।
  5. অ্যাপ্লিকেশন নকশা, রত্ন (মডিউল) সঙ্গে কাজ.
  6. ডিবির সাথে কাজ করছি।
  7. রেলে রুবি ইনস্টল করা, .

এই পোস্টে, আমি আমার প্রথম রুবি অ্যাপ্লিকেশন প্রকাশ করব এবং সবাইকে আলোচনায় আমন্ত্রণ জানাব। ভুলগুলি চিহ্নিত করুন, সেরা অনুশীলনগুলি অফার করুন, প্রশ্ন জিজ্ঞাসা করুন।

আসুন একসাথে রুবি শিখি!

পাঠ 1. রুবিতে প্রথম অ্যাপ্লিকেশন।

কাজটা এই। হোস্টিং-এ একটি DNS সার্ভার রয়েছে এবং রুবি কনসোল ইউটিলিটি কল করার সময়, আপনাকে ডোমেনের জন্য একটি জোন যোগ করতে হবে, সেইসাথে জোনের তালিকায় একটি জোন এন্ট্রি (domains.list) এবং একটি এন্ট্রি পরিবর্তন করতে হবে ডাটাবেস যেখানে এই ডোমেন নিবন্ধন করতে হবে। ডাটাবেস অ্যাক্সেস সেটিংস php অ্যাপ্লিকেশনে সংরক্ষণ করা হয়, বিশেষ করে এর INI ফাইলে। সমস্ত পদক্ষেপের পরে, আপনাকে DNS সার্ভার পুনরায় চালু করতে হবে (বাইন্ড)।

রুবির জন্য ওয়ার্কবেঞ্চ

একটি IDE হিসাবে, আমি JetBrains থেকে RubyMine ব্যবহার করব। আমি সত্যিই তাদের পছন্দ. যদিও এটি phpStorm সম্পর্কে ছিল, গুণমান অবিলম্বে দৃশ্যমান হয়। আমরা সকল ব্যবহারকারীদের জন্য প্রথমে RVM এর মাধ্যমে রুবি ইনস্টল করি, তারপর আমরা এটি রুট এবং আমাদের ব্যবহারকারীর জন্য সেট আপ করি।

রুবি পাবলিক ক্লাস প্রসারিত

রুবিতে INI ফাইলগুলির সাথে কাজ করার জন্য, আমরা রত্ন inifile ব্যবহার করি। কিন্তু এটা একটা ছোট সমস্যা আছে. একটি ZF INI ফাইলে, আপনি নিরাপদে ধ্রুবক ব্যবহার করতে পারেন, এবং লাইনগুলি দেখতে এইরকম:

IncludePaths = APPLICATION_PATH "/../vendors/Doctrine/"

এখানে APPLICATION_INI থেকে তারপর রত্ন পার্সার ভেঙে দেয়৷ বিশেষ করে, এই লাইনটি কোনো প্যাটার্নের সাথে খাপ খায় না:

@rgxp_comment = %r/\A\s*\z|\A\s*[#(@comment)]/ @rgxp_section = %r/\A\s*\[([^\]]+)\] /o @rgxp_param = %r/\A([^#(@param)]+)#(@param)\s*"?([^"]*)"?\z/

এখানে পাবলিক ক্লাস ব্যবহার করার জন্য পরিস্থিতি. আসুন IniFile::parse ফাংশনটি আমাদের নিজস্ব দিয়ে প্রতিস্থাপন করি। আমি fucntion.rb ফাইলে সমস্ত সংযোজন যোগ করব

ক্লাস IniFile private # # call-seq # parse # # ini ফাইলের বিষয়বস্তু পার্স করুন। # def পার্স রিটার্ন যদি না File.file?(@fn) section = nil tmp_value = "" tmp_param = "" fd = (RUBY_VERSION >= "1.9" && @encoding) ? File.open(@fn, "r", :encoding => @encoding): File.open(@fn, "r") যখন লাইন = fd.gets লাইন = line.chomp # mutline start # নির্দেশ করতে tmp ভেরিয়েবল তৈরি করুন যে একটি মাল্টিন শুরু হয়েছে # এবং ini ফাইলের পরবর্তী লাইনগুলি অন্য mutline rgxps এর বিপরীতে # চেক করা হবে। যদি লাইন =~ @rgxp_multiline_start তাহলে tmp_param = $1.strip tmp_value = $2 + "\n" # mutline এন্ড-ডেলিমিটার পাওয়া যায় # tmp vars সাফ করুন এবং elsif লাইনে param/value জোড়া যোগ করুন =~ @rgxp_multiline_end && tmp_param != "" তারপর বিভাগ = tmp_value + $1 tmp_value, tmp_param = "", "" # মাল্টিলাইন শুরু এবং শেষ এলসিফ লাইনের মধ্যে অন্য কিছু =~ @rgxp_multiline_value && tmp_param != "" তারপর tmp_value += $1 + "\n" # ফাঁকা লাইন এবং মন্তব্য লাইনগুলি উপেক্ষা করুন elsif লাইন =~ @rgxp_comment তারপর পরবর্তী # এটি একটি বিভাগ ঘোষণা এলসিফ লাইন =~ @rgxp_section তারপর বিভাগ = @ini[$1.strip] # অন্যথায় আমাদের একটি প্যারামিটার elsif লাইন =~ @rgxp_param তারপর start section[$1.strip] = $2.strip Rescue NoMethodError raise Error, "প্রথম সেকশনের আগে পরামিতি সম্মুখীন হয়েছে" শেষ elsif লাইন =~ %r/APPLICATION_/ তারপর পরের অন্য রাইস এরর, "লাইন পার্স করা যায়নি "#(লাইন)" শেষ প্রান্ত # এবং নিশ্চিত করুন fd.close যদি সংজ্ঞায়িত করা হয়?fd এবং fd শেষ শেষ

ডোমেনের বৈধতা দেওয়ার জন্য আমি স্ট্রিং ক্লাসকেও প্রসারিত করব।

ক্লাস স্ট্রিং def valid_domain_name? domain_name = self.split(".") নাম = /(?:+)+/.match(domain_name).nil? tld = /(?:(2)|aero|ag|asia|at|be|biz|ca|cc|cn|com|de|edu|eu|fm|gov|gs|jobs|jp|in|info| me|mil|mobi|museum|ms|name|net|nu|nz|org|tc|tw|tv|uk|us|vg|ws)/.match(domain_name).nil? (domain_name.count > 1 এবং name != false এবং tld != false) শেষ প্রান্ত

সূত্র

ওয়েল, এখন আমি আপনাকে প্রকৃত উৎস দেখাব.
index.rb

#coding: utf-8 এর জন্য "mysql2" প্রয়োজন "সকেট" প্রয়োজন "inifile" প্রয়োজন "./functions.rb" # সার্ভার মেশিন ঠিকানার হ্যাশ হোস্ট = ( :production => "83.168.22.1", :test => " 84.22 .11.1" ) util = Util.new(hosts) util.releative_config_path="/site.com/application/config/application.ini" # পরীক্ষা করুন প্যারামিটার প্রস্থান করুন যদি (ARGV.count != 2) ডোমেন = ARGV হোস্টনাম = ARGV . split(".") quit("অবৈধ ডোমেইন নাম") যদি (domain.valid_domain_name না?) # ডাটাবেসের ফলাফলে একটি কোম্পানির জন্য অনুসন্ধান করুন = Mysql2::Client.new(util.get_db_settings).query("SELECT id) FROM `sites` WHERE `hostname` = "#(হোস্টনাম)"") ছেড়ে দিন("কোম্পানি খুঁজে পাওয়া যায়নি") if result.count != 1 # এর হোস্টনাম সারি আপডেট করুন = Array.new result.each(|row| rows<< row} company_id = rows["id"] result = Mysql2::Client.new(util.get_db_settings).query("UPDATE `dbname`.`sites` SET `domain` = "#{domain}" WHERE `dao_companies`.`id` =#{company_id};") # Добавление зоны bind_config_path = "/etc/bind" default_zone_file = bind_config_path + "/zones/DEFALT" new_zone_file = bind_config_path + "/zones/#{domain}.zone" zones_list_file = bind_config_path + "/domains.lst" quit("File with default zone does not exists") unless File.exist?(default_zone_file) quit("File with zones list does not exists") unless File.exist?(zones_list_file) zone = IO.read(default_zone_file).gsub("SERIAL",Time.now.strftime("%Y%m%d%S")).gsub("DOMAIN", domain) if not File.exist?(new_zone_file) then File.open(new_zone_file, "w") {|f| f.puts(zone) } else quit("Domain "+domain+" zone already exists!") end # Добавление зоны в список zone = "zone \"#{domain}\" { type master; file \"/etc/bind/zones/#{domain}.zone\"; };" if not IO.read(zones_list_file).include?(domain) then File.open(zones_list_file, "a") {|f| f.puts(zone) } end # Перезапуск сервисов (bind9) system("service bind9 restart") puts "Completed"

gemfile
এই ফাইলটি প্রকল্পের নির্ভরতা বর্ণনা করে।

সূত্র: rubygems gem "mysql2", "0.2.6" gem "inifile"

ওয়েল, আসলে অন্তর্ভুক্ত ফাংশন.
functions.rb

#কোডিং: utf-8 ক্লাস স্ট্রিং ডিফ বৈধ_ডোমেইন_নাম? domain_name = self.split(".") নাম = /(?:+)+/.match(domain_name).nil? tld = /(?:(2)|aero|ag|asia|at|be|biz|ca|cc|cn|com|de|edu|eu|fm|gov|gs|jobs|jp|in|info| me|mil|mobi|museum|ms|name|net|nu|nz|org|tc|tw|tv|uk|us|vg|ws)/.match(domain_name).nil? (domain_name.count > 1 এবং name != false এবং tld != false) শেষ শেষ শ্রেণীর IniFile private # # call-seq # parse # # ini ফাইলের বিষয়বস্তু পার্স করুন। # def পার্স রিটার্ন যদি না File.file?(@fn) section = nil tmp_value = "" tmp_param = "" fd = (RUBY_VERSION >= "1.9" && @encoding) ? File.open(@fn, "r", :encoding => @encoding): File.open(@fn, "r") যখন লাইন = fd.gets লাইন = line.chomp # mutline start # নির্দেশ করতে tmp ভেরিয়েবল তৈরি করুন যে একটি মাল্টিন শুরু হয়েছে # এবং ini ফাইলের পরবর্তী লাইনগুলি অন্য mutline rgxps এর বিপরীতে # চেক করা হবে। যদি লাইন =~ @rgxp_multiline_start তাহলে tmp_param = $1.strip tmp_value = $2 + "\n" # মিউটলাইন এন্ড-ডেলিমিটার পাওয়া যায় # টিএমপি ভারগুলি পরিষ্কার করুন এবং elsif লাইনে প্যারাম / মান জোড়া যোগ করুন =~ @rgxp_multiline_end && tmp_param != "" তারপর বিভাগ = tmp_value + $1 tmp_value, tmp_param = "", "" # মাল্টিলাইন শুরু এবং শেষ এলসিফ লাইনের মধ্যে অন্য কিছু =~ @rgxp_multiline_value && tmp_param != "" তারপর tmp_value += $1 + "\n" # ফাঁকা লাইন এবং মন্তব্য লাইনগুলি উপেক্ষা করুন elsif লাইন =~ @rgxp_comment তারপর পরবর্তী # এটি একটি বিভাগ ঘোষণা এলসিফ লাইন =~ @rgxp_section তারপর বিভাগ = @ini[$1.strip] # অন্যথায় আমাদের একটি প্যারামিটার elsif লাইন =~ @rgxp_param তারপর start section[$1.strip] = $2.strip Rescue NoMethodError raise Error, "প্রথম সেকশনের আগে পরামিতি সম্মুখীন হয়েছে" শেষ elsif লাইন =~ %r/APPLICATION_/ তারপর পরের অন্য রাইস এরর, "লাইন পার্স করা যায়নি "#(লাইন)" শেষ প্রান্ত # যখন সংজ্ঞায়িত করা থাকলে fd.close নিশ্চিত করুন? fd এবং fd end end def quit(message=nil) ব্যানার = " ====================== === | DNS সংযোজন টুল | =========================== ব্যবহার: ruby ​​./index.rb domain.com olddomain.site.com" মেসেজ না হলে .nil তারপর ব্যানার = মেসেজ এন্ড ব্যানার প্রস্থান শেষ ক্লাসে রাখে attr_accessor:hosts, :releative_config_path, :environment def initialize(hosts =Array.new) self.hosts = hosts end # স্থানীয় IP ঠিকানা def local_ip orig, Socket.do_not_reverse_lookup পান = Socket.do_not_reverse_lookup, true # রিভার্স ডিএনএস রেজোলিউশন অস্থায়ীভাবে বন্ধ করুন UDPSocket.open do |s|s.connect "64.233.187.99", 1 s.addr.last end নিশ্চিত করুন Socket.do_not_reverse_lookup = যদি পরিবেশের শেষ হয় তাহলে @environment.nil? তারপর hosts = self.hosts.invert if(hosts.include?(self.local_ip)) তারপর @environment = hosts else @environment = "development" end else @environment.to_s end end def get_config_path local_username = get_local_username "/home/" +local_username+"/sandbox"+self.releative_config_path end # যদি ইউটিলিটিটি rvmsudo এর মাধ্যমে চালানো হয় বা সরাসরি def get_local_username যদি ENV["SUDO_USER"].nil হয়? প্রস্থান করুন("Util rmvsudo এর উপর চালানো উচিত, \r\nexample: rvmsudo ruby ​​./index.rb domain.ru some.subdomain.ru") অন্য ENV["SUDO_USER"] end end def get_db_settings config = IniFile:: load(self.get_config_path) section_name = self.get_environment.to_s + " : বুটস্ট্র্যাপ" প্রস্থান করুন ("কনফিগার ফাইলে কোন উপযুক্ত বিভাগ নেই") যদি না config.has_section?(section_name) dsn = config.to_h["resources.doctrinedata.connections। ডিফল্ট। dsn"] # পার্স dsn dsn.sub!("mysql://", "") arr = dsn.split("@") dbconfig = ( :username => arr.split(":"), : password => arr.split(":"), :host => arr.split("/"), :database => arr.split("/") ) শেষ প্রান্ত

কিন্তু পিএইচপি সম্পর্কে কি?

এই পোস্টটি পিএইচপি ছেড়ে রুবি শেখার বিষয়ে নয়। পিএইচপি হল সবচেয়ে জনপ্রিয় ওয়েব প্রোগ্রামিং ভাষা, হাজার হাজার আকর্ষণীয় জিনিস এবং অ্যালগরিদম এটিতে প্রয়োগ করা হয়, সহ। এমনকি নিউরাল নেটওয়ার্ক। এবং আমি তাকে ভালবাসি) বছরের পর বছর ধরে, আপনি বলতে পারেন যে আমি তার সমস্ত ত্রুটি সত্ত্বেও তার সাথে সম্পর্কিত হয়েছি। তবে এর অর্থ এই নয় যে আপনার নিজের জন্য নতুন কিছু শেখা উচিত নয়।

সম্প্রতি আমাকে প্রশ্ন করা হয়েছে কোন বই থেকে রুবি শিখবেন। আমি এখন এই এক পড়ছি.

এই বইটি ডাইনামিক প্রোগ্রামিং ল্যাঙ্গুয়েজ রুবির অফিসিয়াল গাইড। লেখকদের দলটি সত্যিকার অর্থেই দুর্দান্ত: ডেভিড ফ্লানাগান প্রোগ্রামিং ক্ষেত্রে একজন সুপরিচিত বিশেষজ্ঞ, জাভাস্ক্রিপ্ট এবং জাভাতে সর্বাধিক বিক্রিত বইয়ের লেখক; Yukihiro "Matz" Matsumoto হলেন রুবির স্রষ্টা এবং প্রধান বিকাশকারী৷
বইটি ভাষার সমস্ত দিকগুলির একটি বিশদ বিবরণ প্রদান করে: রুবির আভিধানিক এবং সিনট্যাকটিক কাঠামো, বিভিন্ন ধরণের ডেটা এবং প্রাথমিক অভিব্যক্তি, পদ্ধতির সংজ্ঞা, ক্লাস এবং মডিউল। এছাড়াও, বইটিতে রুবি প্ল্যাটফর্ম API সম্পর্কে তথ্য রয়েছে।

প্রকাশনাটি অভিজ্ঞ প্রোগ্রামারদের জন্য আগ্রহী হবে যারা নতুন রুবি ভাষার সাথে পরিচিত হচ্ছেন, সেইসাথে যারা ইতিমধ্যেই রুবিতে প্রোগ্রামিং করছেন এবং উচ্চতর স্তরের বোঝাপড়া এবং কর্মক্ষমতা অর্জন করতে চান তাদের জন্য। আপনি ওজোন বা একটি biblio-গ্লোব একটি বই খুঁজে পেতে পারেন.

আমি কোডে আপনার মন্তব্য এবং কোন আকর্ষণীয় ধারণার জন্য অপেক্ষা করছি!)

ধন্যবাদ!

নিবন্ধটি যদি আপনাকে সাহায্য করে, বা আপনি আমার গবেষণা এবং ব্লগকে সমর্থন করতে চান - এখানে সর্বোত্তম পথএটা কর:

আমি অনেকদিন ধরেই রুবি অন রেইলস শিখতে চেয়েছিলাম মৌলিক স্তর. কোন নির্দিষ্ট উদ্দেশ্য নেই। বরং, শুধুমাত্র আমার জন্য, এটির বিশেষত্ব কী তা আরও ভালভাবে বোঝার জন্য (100,500 অন্যান্য প্রযুক্তি এবং কাঠামোর বিপরীতে), যা আপনাকে বেশ লোড করা ইন্টারনেট প্রকল্পগুলি দ্রুত তৈরি এবং স্কেল করতে দেয়। একটি গৌণ কারণ ছিল শেখার জন্য নতুন পদ্ধতির চেষ্টা করার ইচ্ছা। আমি যখন একজন প্রোগ্রামার হওয়ার জন্য অধ্যয়ন করছিলাম, তখন আমাদের কাছে শুধুমাত্র বই এবং ফোরাম ছিল যেখানে আপনি পরামর্শ চাইতে পারেন। এখন রয়েছে ইন্টারেক্টিভ পাঠ্যপুস্তক এবং অনলাইন প্রোগ্রামিং স্কুল, বিপুল সংখ্যক স্ক্রিনকাস্ট (প্রায় একটি স্বপ্ন: কীভাবে গুরু কোড দেখা যায়), stackoverflow.com-এর মতো জ্ঞানের ভিত্তি এবং GitHub-এ প্রচুর সোর্স কোড রয়েছে, যেখানে আপনি সোর্স কোডগুলি অধ্যয়ন করতে ঘণ্টার পর ঘণ্টা ব্যয় করতে পারেন। প্রকৃত পেশাদারদের আমি পরবর্তী কয়েক রাত (এবং দিনে কোন সময় নেই) উৎসর্গ করার সিদ্ধান্ত নিয়েছি কর্মে শেখার নতুন উপায় চেষ্টা করার জন্য।

রাত এক

রুবি সম্পর্কে কমপক্ষে একটি ন্যূনতম জ্ঞান ছাড়াই রেলে রুবি শেখা শুরু করা অদ্ভুত হবে। আমি এর আগে ruby-lang.org ইন্টারেক্টিভ গাইড নিয়েছি। কিন্তু পাশ করার সাথে সাথেই সব ভুলে গেলাম। এর নির্মাতারা প্রতিশ্রুতি দেন যে রুবি সিনট্যাক্সের মধ্য দিয়ে হাঁটতে এবং আয়ত্ত করতে এটি পনের মিনিট সময় লাগবে। আমার ত্রিশ লেগেছে। সত্য, টুইটারে ক্রমাগত বিভ্রান্তির সাথে। প্রক্রিয়া এই মত কিছু দেখায়. তারা আপনাকে বলে: “রুবিতে অ্যারেগুলি এইভাবে ঘোষণা করা হয়, এবং এইরকম অ্যারে থেকে ডেটা পুনরুদ্ধার করা হয়। এখন একটি অ্যারে তৈরি করার চেষ্টা করা যাক এবং এটি থেকে N উপাদানগুলি বের করা যাক। এবং আমরা পরীক্ষা করব।" আপনি কিভাবে সবকিছু সাজানো হয় পড়া, এবং অবিলম্বে এটি চেষ্টা করুন. রুবি তুমি অবশ্য শিখবে না। এটি একটি সুপার এক্সপ্রেস কোর্স হিসাবে চিন্তা করা ভাল যে কাজ করে.

তবুও, রুবি নিজেই রুবি অন রেল ফ্রেমওয়ার্ক থেকে অনেক দূরে। আমি রেলগুলি আয়ত্ত করতে চেয়েছিলাম। অনলাইন শিক্ষা সম্পর্কে আমাদের নিবন্ধ থেকে, আমি অবশ্যই রেলের জন্য উত্তেজনাপূর্ণ Zombie railsforzombies.org কোর্সের কথা মনে রেখেছি। এটি ঠিক ট্রাই রুবি-এর মতো, একটি ইন্টারেক্টিভ টিউটোরিয়াল যা আপনাকে রেল অ্যাপ্লিকেশনগুলি কীভাবে প্রস্তুত করতে হয় তা শেখাতে ব্যাট থেকে শুরু করে। প্রথমে, তারা আপনাকে একটি মিনি-বক্তৃতা দেয় (ইংরেজিতে, তবে সবকিছু খুব স্পষ্ট - সাবটাইটেল চালু করুন) একটি রেল অ্যাপ্লিকেশনের ফাইল কাঠামো সম্পর্কে, ডেটা নিয়ে কাজ করার জন্য CRUD পদ্ধতি, রেলে MVC মডেলটি কীভাবে প্রয়োগ করা হয় তা ব্যাখ্যা করুন। , এবং তাই। প্রতিটি ভিডিওর পরে, আপনাকে উপাদান একত্রিত করার জন্য অ্যাসাইনমেন্ট সম্পূর্ণ করার প্রস্তাব দেওয়া হয়। সবকিছু সহজ এবং বোধগম্য বলে মনে হচ্ছে, কোর্সটি এক বা দুই ঘন্টার মধ্যে অলক্ষিত হয়ে উড়ে যায় (এটি ছোট)। কিন্তু! আমি কি কোর্সের পরে অনুভব করেছি যে আমি একটি রেল আবেদন লিখতে পারি? দুর্ভাগ্যক্রমে না!

রাত দুই

জম্বিদের জন্য রেলের পরে কিছু প্রাথমিক জ্ঞান, কিন্তু আত্মবিশ্বাস না থাকার কারণগুলির মধ্যে একটি হল ভার্চুয়াল পরিবেশ যেখানে প্রশিক্ষণটি সঞ্চালিত হয়। একদিকে, এটি প্রবেশের থ্রেশহোল্ডকে সীমাতে হ্রাস করে: আপনাকে পরিবেশ সম্পর্কে চিন্তা করতে হবে না। অন্যদিকে, আপনি পথে বাস্তব কিছু তৈরি করবেন না - শেষ পর্যন্ত আপনার জন্য "হ্যালো ওয়ার্ল্ড" নেই। এবং সবচেয়ে বড় কথা, কোন দিক থেকে এর সৃষ্টির কাছে যেতে হবে, তা পরিষ্কার নয়। সেই মুহূর্ত থেকে, আমি রুবি অন রেলকে অ্যাকশনে চেষ্টা করতে চেয়েছিলাম, আসলে এটি সিস্টেমে ইনস্টল করে (এর আগে, আমাকে চেষ্টাও করতে হয়নি), এবং স্ক্র্যাচ থেকে একটি সাধারণ অ্যাপ্লিকেশন তৈরি করতে।

আমার মনে নেই কিভাবে, কিন্তু দুর্ঘটনাক্রমে আমি রাশিয়ান rails.hasbrains.org-এ স্ক্রিনকাস্টের একটি খুব সফল কোর্স পেয়েছি। একটি উপযুক্ত উপস্থাপনার জন্য লেখককে ধন্যবাদ: তিনি পদ্ধতিগতভাবে রেল অ্যাপ্লিকেশনের নীতিগুলি বিশদভাবে ব্যাখ্যা করেছেন, আপনাকে পথের সমস্ত প্রয়োজনীয় সূক্ষ্মতার মধ্যে নিমজ্জিত করে। সংক্ষেপে, পরীক্ষার পুরো দ্বিতীয় রাতে, আমি এই স্ক্রিনকাস্টগুলির ত্রিশটিরও বেশি পর্বের প্রথমার্ধ দেখেছি।

ছবিটি অবশেষে আমার মাথায় আটকে গেল, কীভাবে অ্যাপ্লিকেশন তৈরি করা হয়, কীভাবে রেল কনসোলের সাথে কাজ করা যায়, কীভাবে মডেল এবং মাইগ্রেশন তৈরি করা যায়, কীভাবে মডেলগুলি আপডেট করা যায় এবং কীভাবে সেগুলিতে ডেটা যাচাই করা যায়, RESTful কন্ট্রোলার এবং আরও অনেক কিছু। প্রতিটি এপিসোড দেখে, আমি অবিলম্বে একটি সম্পূর্ণ কার্যকরী রেল অ্যাপ্লিকেশন তৈরি করে সমস্ত কিছু কার্যকর করার চেষ্টা করেছি। নীতিগতভাবে রেলগুলি কীভাবে সাজানো হয় তা স্পষ্ট হয়ে ওঠে।

রাত তিন

তৃতীয় রাতে, স্ক্রিনকাস্টের শেষ পর্বগুলি রয়ে গেছে, যা আমি এক বসে দেখতে পেরেছি: রেলের সাথে কাজ করা আর এতটা বন্য মনে হয়নি। এই মুহুর্তে, কেউ আমাকে বলেছিল যে জোম্বি কোর্সের জন্য রেলের একটি বুদ্ধিমান এবং অনেক গভীর ধারাবাহিকতা রয়েছে। সত্য, কোর্সটি ইতিমধ্যেই অর্থপ্রদান করা হয়েছে এবং কোড স্কুল www.codeschool.com প্রোগ্রামিং স্কুলের কাঠামোর মধ্যে হোস্ট করা হয়েছে। স্কুলের সমস্ত কোর্সে অ্যাক্সেস পেতে 25 টাকা প্রদান করা দুঃখের বিষয় ছিল না। এটি প্রতি মাসে খরচ, তাই আপনি যদি এটি পছন্দ না করেন তবে আপনার সদস্যতা বাতিল করতে ভুলবেন না।

Zombies 2 কোর্সের জন্য রেল সত্যিই সফল ছিল. সত্য, আমি স্ক্রিনকাস্টগুলিতে যা দেখেছি তার অনেকগুলি পুনরাবৃত্তি ছিল - তবে এটি এমনকী সুন্দর ছিল। পাঁচটি স্তর এবং পাঁচটি ব্লকের ব্যায়াম যা আপনি সরাসরি ইন্টারেক্টিভ কনসোলে করেন। এই মুহুর্তে, রেলগুলি ইতিমধ্যে যৌক্তিক, বোধগম্য এবং ব্যবহারযোগ্য বলে মনে হয়েছিল।

কোড স্কুলে, আপনি কোর্স অ্যাসাইনমেন্ট সম্পূর্ণ করে সরাসরি ব্রাউজারে প্রোগ্রাম করতে পারেন

এরপর কি?

আমি কি জটিল প্রকল্প করতে শিখেছি? না. কিন্তু আমি অবশ্যই রেলে ব্যবহৃত পন্থাগুলি উপলব্ধি করেছি এবং তাদের সুবিধার কথা বুঝতে পেরেছি। শিখেছি কিভাবে দ্রুত তৈরি করতে হয় সহজ অ্যাপ্লিকেশনএবং খুব অল্প সময়ের মধ্যে সম্প্রদায়ের দ্বারা লিখিত রত্নগুলির সাহায্যে এর কার্যকারিতা বৃদ্ধি করতে। আমি সাহস নিয়েছি এবং কোড স্কুল প্রোগ্রামের সেরা অনুশীলনগুলি নিয়ে আনন্দের সাথে অধ্যয়ন চালিয়ে যাচ্ছি (এখন আমি ইউনিট পরীক্ষায় কোর্সটি দেখছি)। এবং আমি খুব খুশি যে প্রযুক্তি শেখা এত সহজ হয়ে উঠেছে।

ওয়েবে প্রথম এবং সবচেয়ে ব্যাপক রেল টিউটোরিয়ালগুলির মধ্যে একটি৷ প্রধান সুবিধা হল সবচেয়ে প্রয়োজনীয় বিষয়গুলির একটি বিশদ কভারেজ, নিয়মিত আপডেট এবং বিনামূল্যের সামগ্রী।

সত্য, সম্পদ সম্পূর্ণ ইংরেজিতে। এবং এটি বোঝা গুরুত্বপূর্ণ যে এটি একটি বইয়ের আকারে নির্মিত - আপনাকে সমস্ত সমস্যা নিজেই বের করতে হবে। এই কারণে, প্রশিক্ষণের সময়কাল এবং জটিলতা অনুমান করা যায় না।

2. রেলকাস্ট

ইন্টারনেট প্রশিক্ষণ সংস্থান আরেকটি সুপরিচিত. রেল ডেভেলপারদের একাধিক প্রজন্ম এটিতে বড় হয়েছে। ইংরেজিতেও।

এটি একটি সামগ্রিক প্রশিক্ষণ কোর্স হিসাবে তৈরি করা হয়নি, তবে স্ক্রিনকাস্টের একটি সিরিজ হিসাবে - একটি নির্দিষ্ট বিষয়ে ছোট পাঠ। অনেক পাঠ আছে, আপনি প্রায় কোন বিষয় খুঁজে পেতে পারেন.

দুর্ভাগ্যবশত, প্রকল্পটি 2013 সালে আপডেট করা বন্ধ হয়ে গেছে।

3. Zombies জন্য রেল

একটি জম্বি ভাইব সহ একটি কোয়েস্ট-স্টাইল গেমে নতুনদের জন্য রেলের একটি কিকাস ভূমিকা। এটি সম্পূর্ণ নতুনদের মধ্যে খুব জনপ্রিয়।

এটি সুবিধাজনক যে আপনার কম্পিউটারে কিছু ইনস্টল করার দরকার নেই। সমস্ত ধাঁধা ব্রাউজারে সমাধান করা হয়। ধাপে ধাপে আপনি গেমটির মধ্য দিয়ে যান এবং রুবি অন রেলের মূল বিষয়গুলি বুঝতে শুরু করেন।

আপনি যদি প্রোগ্রামিং একেবারেই না বোঝেন তবে এটি আপনার পছন্দ। কোর্সে কোন জটিল বিষয় নেই, কোন কিছুই মৌলিক বিষয় থেকে বিভ্রান্ত হয় না। ইংরেজীতে.

3. উডেমি

ভিডিও কোর্সের বড় সংগ্রহ। তাদের মধ্যে অনেকগুলি রুবি এবং রেলের উপর রুবি রয়েছে। নির্দিষ্ট লিঙ্ক দেওয়ার কোন মানে হয় না - দাম বা জনপ্রিয়তা অনুসারে আপনার পছন্দ অনুযায়ী বেছে নিন।

Udemy বিন্যাসে ভিডিও পাঠের উপর জোর দিয়ে মোটামুটি ছোট কোর্স জড়িত। গুরুতর হোমওয়ার্ক বা শিক্ষকদের কাছ থেকে দ্রুত সহায়তা আশা করবেন না।

4. রুবি বার্সা

রেল উন্নয়নের মূল বিষয়গুলির উপর একটি শক্তিশালী সংক্ষিপ্ত কোর্স। অভিজ্ঞ শিক্ষক, ভালো প্রোগ্রাম।

কোর্সে, ছাত্রের ব্যক্তিগত উপস্থিতি কাম্য এবং এটি শুধুমাত্র বড় ইউক্রেনীয় শহরে সঞ্চালিত হয়।

5. ইভিল মার্টিয়ান থেকে রেল অন রুবি উন্নয়ন

রাশিয়ার সবচেয়ে অভিজ্ঞ রুবি অন রেল দলগুলির একটি থেকে তিন দিনের নিবিড়।

কদাচিৎ করা হয়। এটি ব্যয়বহুল (রিভিউ দ্বারা বিচার, এটি মূল্য)। ব্যক্তিগত উপস্থিতি প্রয়োজন. শুধুমাত্র উন্নত প্রোগ্রামারদের জন্য উপযুক্ত, সেখানে নতুনদের জন্য কিছু করার নেই।

6. ভালো প্রোগ্রামার থেকে অনলাইন ইনটেনসিভ রেল অন রুবি

নতুনদের জন্য রুবি কোর্সের জন্য Youtube-এ পরিচিত একটি টিমের একটি নতুন প্রকল্প।

3 মাসের নিবিড় প্রোগ্রামটি সম্পূর্ণ নতুনদের জন্য ডিজাইন করা হয়েছে এবং আপনাকে 12টি স্মার্ট অ্যাপ্লিকেশনের বেশি কিছুর পোর্টফোলিও সহ একটি জুনিয়র প্রোগ্রামার করার প্রতিশ্রুতি দেয়।

কোর্সটিতে ভিডিও পাঠ, ব্যবহারিক কাজ, শিক্ষক সহায়তা, নিয়মিত ওয়েবিনার রয়েছে।

ইউটিউব চ্যানেল এবং ব্যবহারকারীর মন্তব্য দ্বারা বিচার করে, এই ছেলেরা জানে তারা কী করছে এবং আপনি তাদের সাথে বিরক্ত হবেন না।

এটি একটি সিরিজের নিবন্ধগুলির মধ্যে প্রথম যেখানে আমি রুবি এবং রুবি অন রেলের বৈশিষ্ট্যগুলি সম্পর্কে কথা বলব এবং কীভাবে রুবি শেখার শুরু করবেন, কোথায় প্রশ্নের উত্তর খুঁজে পাবেন, কীভাবে সঠিক অভিজ্ঞতা পাবেন এবং কীভাবে পাবেন সে সম্পর্কে টিপস শেয়ার করব। আপনি অন্য প্রার্থীদের থেকে আলাদা হতে পারেন। আমি খুশি হব যদি আমার পরামর্শ কাউকে বিশেষীকরণের সিদ্ধান্ত নিতে এবং শেখার এবং কাজ করার জন্য রুবিকে বেছে নিতে সাহায্য করে।

রুবির মূল বৈশিষ্ট্য এবং পার্থক্য

আমি প্রায়ই প্রশ্ন শুনি: এটা কি রুবি শেখার মূল্য? একটি নিয়ম হিসাবে, প্রশ্নটি সন্দেহের উপর ভিত্তি করে তৈরি করা হয়: এই বিশেষীকরণের সাথে চাকরি খুঁজে পাওয়া কতটা সহজ, আকর্ষণীয় প্রকল্প থাকবে কিনা এবং আরও অনেক কিছু। রুবি একটি আধুনিক, ক্রমাগত বিকশিত প্রোগ্রামিং ভাষা, এটির জন্য প্রচুর অ্যাপ্লিকেশন রয়েছে। আপনি নিশ্চয়ই শেফ, ভ্যাগ্রান্ট, হোমব্রু সম্পর্কে শুনেছেন, তবে প্রায়শই আমরা সবাই রেল সম্পর্কে শুনি। আপনার কেন রেল শিখতে হবে সে সম্পর্কে ফ্রেমওয়ার্কের লেখকের একটি মন্তব্য সহ এখানে একটি পোস্ট রয়েছে।

অবশ্যই, প্রত্যেকে নিজের জন্য সিদ্ধান্ত নেয় কোন সরঞ্জামটি ব্যবহার করবে। এবং কেন একটি প্রযুক্তি অন্যটির চেয়ে ভাল তা নিয়ে অবিরাম তর্ক করার কোনও মানে নেই। আমি রুবিকে বেছে নিয়েছি কারণ এটি একটি অবিশ্বাস্যভাবে অভিব্যক্তিপূর্ণ এবং নমনীয় ভাষা যা আপনাকে অনেক উপায়ে একই সমস্যা সমাধান করতে দেয়।

রুবি একটি ব্যাখ্যা করা, শক্তিশালী গতিশীল টাইপিং সহ সম্পূর্ণ অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষা। এটি একটি পার্ল-এর মতো সিনট্যাক্সকে একটি অবজেক্ট-ওরিয়েন্টেড পদ্ধতির সাথে একত্রিত করে। এছাড়াও, কিছু বৈশিষ্ট্য প্রোগ্রামিং ভাষা Python, Lisp, Dylan এবং CLU থেকে ধার করা হয়েছে। রুবি ভাষা দোভাষীর ক্রস-প্ল্যাটফর্ম বাস্তবায়ন খোলার শর্তাবলীর অধীনে বিতরণ করা হয় সফটওয়্যার. রুবিতে লেখা কোড প্রোগ্রামিং বোঝে না এমন ব্যক্তিও বুঝতে পারে। রেডমাইন, টুইটার, শপিফাই, বেসক্যাম্প, গিটহাব, কিকস্টার্টার, এয়ারবিএনবি এবং অন্যান্য প্রকল্পগুলি RoR-এ তৈরি করা হয়েছে।

Node.js-এর উত্থানের সাথে, Ruby on Rails-এর জনপ্রিয়তা কিছুটা হ্রাস পেয়েছে, কিন্তু টেক স্টার্টআপগুলি প্রায়ই প্রোটোটাইপিংয়ের সহজতার কারণে RoR ব্যবহার করে। রুবি টিআইওবিই সূচকে 11তম জনপ্রিয় ভাষা।

রুবির উপকারিতা

  • অসংখ্য এবং বন্ধুত্বপূর্ণ সম্প্রদায়।
  • প্রবেশের ক্ষেত্রে একটি বরং উচ্চ বাধা, যার মানে হল যে একজন রুবি বিকাশকারীর কমপক্ষে একটি অন্য প্রোগ্রামিং ভাষায় অভিজ্ঞতা থাকতে পারে।
  • আপনি শুধুমাত্র আপনার প্রয়োজনীয় লাইব্রেরি এবং মডিউল ব্যবহার করুন।
  • প্রচুর সংখ্যক দরকারী গ্রন্থাগার রয়েছে যা ব্যবহারের জন্য প্রস্তুত (রুবি জেমস)।
  • একটি কাঠামোগত এবং sifted আকারে ইন্টারনেটে রুবি সম্পর্কে অনেক তথ্য রয়েছে।
  • রুবির আলোচনার প্রেক্ষিতে, সবচেয়ে জনপ্রিয় রুবি অন রেল ফ্রেমওয়ার্কের উল্লেখ না করা অসম্ভব।

এখন রুবির কিছু উপকারিতা সম্পর্কে বিস্তারিত আলোচনা করা যাক।

উন্নয়নের গতি

রুবি এবং RoR ফ্রেমওয়ার্কের অন্যতম সুবিধা হল বিকাশের গতি। ব্যক্তিগত অভিজ্ঞতাএবং সহকর্মীদের অভিজ্ঞতা দেখায় যে অন্যান্য অনুরূপ কাঠামোর তুলনায় রেলে সমস্যাগুলি সমাধান করা দেড় গুণ দ্রুত। রুবি একটি সরঞ্জাম হিসাবে খুব সহজ, এবং বিভিন্ন ধরণের কাজের জন্য প্রচুর পরিমাণে প্রস্তুত-তৈরি সমাধান রয়েছে।

নিয়মিত ডেটা ক্যাশিং টুল

একটি বড়-স্কেল প্রকল্পের বিকাশ করার সময়, সবচেয়ে গুরুত্বপূর্ণ পয়েন্টগুলির মধ্যে একটি হল ক্যাশিং। রুবি অন রেলগুলি নেটিভ ডেটা ক্যাশিং টুলের সাথে মানসম্মত। অর্থাৎ, প্রকল্পে ডেটা ক্যাশ করার জন্য আপনার কাছে অবিলম্বে সরঞ্জাম থাকবে এবং আপনি সহজেই কোডের পৃথক ব্লক বা এমনকি সম্পূর্ণ পৃষ্ঠাগুলি ক্যাশে করতে পারেন।

প্রথম পরীক্ষা, তারপর কোড

প্রায়শই বড় প্রকল্পগুলি বিকাশের প্রক্রিয়ায়, পরীক্ষার প্রশ্ন ওঠে এবং এটি অস্বাভাবিক নয় যখন পরীক্ষকদের একটি পৃথক দলের জন্য অতিরিক্ত তহবিল নেই। রেলের এই সমস্যারও সমাধান রয়েছে। আপনি যদি অ্যাপ্লিকেশন পরীক্ষার প্রসঙ্গে অন্যান্য ফ্রেমওয়ার্কের সাথে RoR তুলনা করেন, তাহলে আপনি যেকোন ধরণের পরীক্ষার জন্য অনেকগুলি প্রস্তুত সমাধান পাবেন, তা ইন্টিগ্রেশন বা ইউনিট পরীক্ষাই হোক না কেন। এই সমস্ত লাইব্রেরি বাক্সের বাইরে কাজ করে। আদর্শভাবে, একটি রুবি অন রেল প্রকল্পে, এটির জন্য পরীক্ষা লেখা না হওয়া পর্যন্ত কোড লেখা হয় না। RoR মতাদর্শে BDD (আচরণ চালিত উন্নয়ন) বা TDD (টেস্ট চালিত উন্নয়ন) পদ্ধতির প্রাথমিক ব্যবহার জড়িত।

রুবি ডেভেলপারদের জন্য সাধারণত গৃহীত উন্নয়ন প্রক্রিয়া মান

রুবির সুবিধার কথা বলতে গিয়ে, আমি আবার রুবি সম্প্রদায়ের কথা উল্লেখ করতে পারব না। এটি ক্রমাগত ক্রমবর্ধমান, উন্নয়নশীল এবং সাহায্য করার জন্য সর্বদা প্রস্তুত। সর্বদা এমন কেউ আছেন যিনি আপনাকে বলবেন কীভাবে সমস্যার সমাধান করা যায়, যে কোনও বিষয়ে অভিজ্ঞতা ভাগ করুন।

আরেকটি অত্যন্ত গুরুত্বপূর্ণ বিষয় হল যে রুবি সম্প্রদায়ের অনেক বছর ধরে উন্নয়ন প্রক্রিয়ার জন্য মানদণ্ড রয়েছে, কিছু নিয়ম/সম্প্রদায় চুক্তি যা উন্নয়নকে নিয়ন্ত্রণ করে, যা কাজটিকে ব্যাপকভাবে সরল করে। এই মানগুলির কারণে, প্রতিটি প্রকল্প খুব কাঠামোগত, যথাক্রমে, দলের একজন নতুন বিকাশকারী দ্রুত গতিতে উঠবে এবং কাজের প্রথম দিন থেকেই কার্যকর হতে সক্ষম হবে। এবং আরও বেশি: যদি প্রকল্পটি একটি দল দ্বারা শুরু করা হয় এবং অন্য একটি দ্বারা সমাপ্ত হয় তবে এটিও কোনও সমস্যা নয়। যেহেতু উন্নয়নটি ইতিমধ্যে উল্লিখিত নিয়ম এবং সম্প্রদায়ের চুক্তি অনুযায়ী সম্পাদিত হয়েছে, তাই নতুন দল দ্রুত এবং সহজে প্রকল্পে প্রবেশ করবে এবং অনেক সময় নষ্ট না করে সফলভাবে এটি সম্পূর্ণ করবে।

এছাড়াও, রুবি অন রেলের পাবলিক ডোমেনে প্রচুর পরিমাণে বিভিন্ন প্রস্তুত-তৈরি সমাধান রয়েছে। বেশিরভাগ সমাধান ইতিমধ্যে আপনার আগে কেউ দ্বারা প্রয়োগ করা হয়েছে, সেইসাথে সম্প্রদায় দ্বারা পরীক্ষা করা হয়েছে, যা স্ক্র্যাচ থেকে বিকাশের প্রয়োজনীয়তা হ্রাস করে। এগুলো হতে পারে প্রমাণীকরণ, অনুমোদন, মন্তব্য করার সিস্টেম, পেমেন্ট সিস্টেম, মেইলিং লিস্ট ইত্যাদি।

প্রকল্প বহুভাষিকতার জন্য প্রস্তুত সমাধান

রেলগুলি বাক্সের বাইরে প্রকল্প স্থানীয়করণের জন্য খুব শক্তিশালী সরঞ্জামগুলির সাথে আসে। প্রাথমিকভাবে বেশ কয়েকটি ভাষার জন্য সমর্থন প্রদান করা এবং পরে এটি বাস্তবায়ন করা উভয়ই সম্ভব। প্রজেক্টে পদ অনুবাদ করার জন্য বিশেষ ফাইল, বিভিন্ন ভাষায় টেমপ্লেট প্রদর্শনের জন্য টুল এবং আরও অনেক কিছু রয়েছে।

তথ্য সুরক্ষা উচ্চ স্তরের

এখন, বিভিন্ন সংস্থান হ্যাকিং সম্পর্কিত নিবন্ধগুলি প্রায়শই নেটওয়ার্কে প্রকাশিত হয়। রুবি অন রেল ফ্রেমওয়ার্কের বিকাশকারীরা ডেটা সুরক্ষার বিষয়টিকে খুব গুরুত্ব সহকারে নিয়েছে। RoR প্রাথমিকভাবে পাসওয়ার্ড, ক্রেডিট কার্ড ডেটা এবং অন্যান্য ব্যক্তিগত ব্যবহারকারীর ডেটা এনক্রিপ্ট করে, SQL ইনজেকশন এবং XSS আক্রমণগুলিও বাদ দেওয়া হয়। সমস্ত ইনপুট পরামিতি ডিফল্টরূপে পালানো হয়।

রুবি শেখা

এখন কথা বলা যাক ঠিক কিভাবে আপনি রুবিকে আয়ত্ত করতে পারবেন।

তত্ত্ব

আপনার অবশ্যই সাহিত্য দিয়ে শুরু করা উচিত। আমি এই উত্সগুলি সুপারিশ করি:

  • 20 মিনিটের মধ্যে রুবি সম্পূর্ণ নতুনদের জন্য একটি ভাল সম্পদ। এটি আপনাকে আধা ঘন্টারও কম সময়ের মধ্যে ভাষার মৌলিক গঠনগুলির সাথে পরিচিত হতে এবং আপনার নিজের ছোট প্রোগ্রামগুলি লিখতে শুরু করতে দেয়।
  • Codecademy হল একটি প্ল্যাটফর্ম যেখানে বিশুদ্ধ রুবি এবং রেল সহ অনেক ক্ষেত্রে অনলাইন কোর্স রয়েছে। এখানে, শেখার প্রক্রিয়াটি বেশ আকর্ষণীয়ভাবে তৈরি করা হয়েছে, তাত্ত্বিক উপাদান দেওয়া হয়েছে এবং অবিলম্বে এটিকে একীভূত করার জন্য একটি ব্যবহারিক কাজ। চূড়ান্ত কাজগুলি অর্থপ্রদান করা হয়, তবে সেগুলি ছাড়াই আপনি প্রয়োজনীয় দক্ষতা পেতে পারেন।
  • রুবি এবং রেল সম্পদ - রুবি এবং রেল শেখার জন্য নিবেদিত বিভিন্ন সাইট এবং বইগুলির লিঙ্কগুলির একটি সংগ্রহ৷
  • আলাদাভাবে, আমি Flanagan D., Matsumoto Y. "The Ruby Programming Language" বইটি সুপারিশ করতে পারি। এটি অন্যতম সেরা হিসাবে বিবেচিত হয়, এর লেখক নিজেই রুবি ভাষার স্রষ্টা।
  • গুগল :)

আপনাকে শুরু করার জন্য এখানে কয়েকটি সংস্থান রয়েছে:

  • w3schools.com/sql - এখানে SQL সম্পর্কে আপনার জ্ঞান পড়ুন, চেষ্টা করুন এবং পরীক্ষা করুন।
  • quizful.net/test - এখানে আপনি প্রায়শই সাক্ষাত্কারে জিজ্ঞাসা করা প্রশ্নগুলি খুঁজে পেতে পারেন।

ইংরেজি

আমি বিশ্বাস করি যে এই বিষয়ে বিস্তারিতভাবে চিন্তা করার কোন মানে নেই, যেহেতু এটি একটি পৃথক নিবন্ধের বিষয়। ইংরেজি খুবই গুরুত্বপূর্ণ এবং এটি একটি সুপরিচিত সত্য। আমি সংক্ষেপে দুটি গুরুত্বপূর্ণ বিষয় উল্লেখ করতে চাই।

প্রথমত, ইংরেজি আন্তর্জাতিক সম্প্রদায়ের প্রধান ভাষা, তাই বেশিরভাগ দরকারী সাহিত্যও ইংরেজিতে হবে, অনেক খবর, প্রতিবেদন এবং গুরুত্বপূর্ণ নিবন্ধগুলিও ইংরেজিতে প্রথমে উপস্থিত হবে। আপনি যদি কোন প্রশ্নের উত্তর জানতে চান, তাহলে খুব সম্ভবত আপনি এটি ইংরেজিতে খুঁজে পেতে সক্ষম হবেন।

দ্বিতীয়ত, ইংরেজিতে আপনার জ্ঞান যত ভালো, চাকরি খোঁজার সম্ভাবনা তত বেশি। বেশিরভাগ ক্লায়েন্ট বিদেশী, তাই, উত্পাদনশীল যোগাযোগের জন্য ইংরেজির জ্ঞান গুরুত্বপূর্ণ, প্রযুক্তিগত প্রয়োজনীয়তাগুলির একটি পরিষ্কার বোঝা এবং ক্লায়েন্টের সাথে ভাল যোগাযোগ।

অনুশীলন করা

কয়েকটি সংস্থান অন্বেষণ করার পরে, এটি আরও গুরুত্বপূর্ণ অংশে যাওয়ার সময়, যা অনুশীলন। ওয়েবে একটি অনলাইন স্টোর বা একটি সাধারণ ব্লগের সাথে কাজের অনেক উদাহরণ রয়েছে (এটি তাদের মধ্যে একটি), বিশেষ করে যদি আমরা রেল সম্পর্কে কথা বলি। বাস্তবের কিছুটা কাছাকাছি কাজগুলি সম্পূর্ণ করার সময়, আপনি অবশ্যই কিছু সমস্যার সম্মুখীন হবেন এবং তারপরে সবচেয়ে গুরুত্বপূর্ণ গুণগুলির মধ্যে একটি - গুগল করার ক্ষমতা প্রশিক্ষণের দিকে এগিয়ে যাবেন। দুর্ভাগ্যবশত, আমি এই দক্ষতার জন্য নিবেদিত কোনো টিউটোরিয়াল বা কোর্স খুঁজে পাইনি, তবে এটি অবশ্যই দৈনন্দিন কাজে খুব গুরুত্বপূর্ণ ভূমিকা পালন করে।

পাঠ্যধারাগুলি

তত্ত্বটি পড়ার পরে এবং বেশ কয়েকটি "পোষা প্রকল্প" লেখার পরে, আপনি অবশ্যই সাক্ষাত্কারে যাওয়ার চেষ্টা করতে পারেন, তবে এটি প্রায়শই ঘটে যে এই জ্ঞানটি যথেষ্ট নয়। এটি প্রার্থীদের প্রচুর প্রবাহের কারণে, এবং প্রতিযোগিতার কারণে, প্রত্যেকে দাঁড়ানোর চেষ্টা করে এবং যথাসম্ভব সেরা প্রস্তুত করার চেষ্টা করে।

প্রশিক্ষণের আরেকটি গুরুত্বপূর্ণ বিষয়, যা চাকরি খোঁজার সময় আপনার পক্ষে একটি সুবিধা হতে পারে, তা হল প্রোগ্রামিং কোর্স। যদি না, অবশ্যই, আপনার একজন পরামর্শদাতা না থাকে যিনি একটি নির্দিষ্ট সময় ব্যয় করতে ইচ্ছুক অ্যাসাইনমেন্ট নিয়ে আসছেন এবং সেগুলি পর্যালোচনা করবেন।

আমাকে এখনই বলতে হবে যে কোনো অবস্থাতেই আমি কোনো ধরনের জ্ঞানের ভিত্তি ছাড়াই কোর্সে যাওয়ার পরামর্শ দিই না। আমি কোর্সগুলিকে স্ব-অধ্যয়নের প্রক্রিয়ায় অর্জিত জ্ঞানকে একীভূত করার একটি দুর্দান্ত উপায় হিসাবে দেখি। এবং এখন আমি কোনও নির্দিষ্ট স্কুলের বিজ্ঞাপন দেওয়ার চেষ্টা করছি না, তবে আমি ব্যাখ্যা করব যে এর থেকে কী কী সুবিধা পাওয়া যেতে পারে:

সম্ভবত সেখানে আপনি এমন কিছু শিখবেন যা আপনি আগে জানতেন না. কোর্সগুলিতে মোটামুটি প্রচুর পরিমাণে উপাদান রয়েছে যা একটি কাঠামোগত আকারে উপস্থাপিত হয়, যা আপনাকে উপাদানটিকে আরও ভালভাবে আত্তীকরণ করতে দেয়।

কোর্স চলাকালীন আপনার থাকবে পরামর্শদাতা, যা আপনার কাজের সমাধান পর্যালোচনা করবে এবং দুর্বলতা এবং ত্রুটিগুলি নির্দেশ করবে।

প্রেরণা. এটি প্রাথমিকভাবে তাদের জন্য যাদের স্ব-শৃঙ্খলার সাহায্যের প্রয়োজন। কখনও কখনও নিজেকে কিছু করার জন্য জোর করা বেশ কঠিন, তা যাই হোক না কেন দিগন্তে কী সম্ভাবনা দেখা দেয়। কোর্সে যোগদান করার সময়, আপনার অনুসরণ করার জন্য একটি সুস্পষ্ট সময়সূচী এবং সম্পূর্ণ করার জন্য অ্যাসাইনমেন্ট থাকবে বা আপনাকে বহিষ্কার করা হবে। পেইড কোর্সের ক্ষেত্রে আর্থিক অনুপ্রেরণাও এখানে একটি ভূমিকা পালন করে। সর্বোপরি, আপনি যখন আপনার কষ্টার্জিত অর্থ প্রদান করেন, তখন আপনি ইতিমধ্যেই বিষয়টির প্রতি সম্পূর্ণ ভিন্ন মনোভাব পোষণ করেন এবং শুধু এড়িয়ে যাওয়ার চিন্তাভাবনা অনেক কম হয়।

আরেকটি সুবিধা - সনদপত্র. এটা স্পষ্ট যে শেষ পর্যন্ত আপনাকে জ্ঞান দ্বারা মূল্যায়ন করা হবে, আপনার জীবনবৃত্তান্তে কাগজের টুকরোগুলির উপস্থিতি দ্বারা নয়। কিন্তু তবুও, এটি একটি প্লাস হবে, বিশেষ করে যদি একই স্তরের জ্ঞানের সাথে প্রার্থী থাকে তবে তাদের ডকুমেন্টারি প্রমাণ ছাড়াই।

এক যোগ করুন GitHub এ প্রকল্পআপনার পিগি ব্যাঙ্কে আপনি যদি একজন নবীন বিকাশকারী হন, তবে সম্ভবত কোর্সগুলিতে লেখা প্রকল্পটি প্রযুক্তির দিক থেকে আগের লেখাগুলির তুলনায় আরও আকর্ষণীয় হবে।

এবং সবচেয়ে গুরুত্বপূর্ণ জিনিস - কর্মসংস্থান. কোর্সের কথা বলতে গেলে, আমি কেবল সেইগুলিকেই বোঝাতে চাই না যার জন্য আপনাকে অর্থ প্রদান করতে হবে। প্রায়শই, সংস্থাগুলি নিজেরাই প্রশিক্ষণের জন্য নিয়োগ করে, যাতে পরে তারা সেরাদের নিয়োগ দিতে পারে। এগুলি অভ্যন্তরীণ কোর্স বা ইন্টার্নশিপ/ইন্টার্নশিপ হতে পারে। এই বিকল্পটি সর্বোত্তম, যেহেতু আপনাকে কিছুর জন্য অর্থ প্রদান করতে হবে না, আপনি অভিজ্ঞতা এবং উপরের সমস্ত প্লাসগুলি পাবেন এবং উপরন্তু - একটি বাস্তব কর্মসংস্থানের সম্ভাবনা। তাদের কাছে যাওয়া আরও কঠিন, তবে সম্ভাবনাগুলি আরও তাৎপর্যপূর্ণ।

মোট

রুবি হল এমন একটি ভাষা যা আপনাকে অনেক অসুবিধা এবং অনুষ্ঠান ছাড়াই কাজ করতে দেয় যা দৃঢ়ভাবে টাইপ করা ভাষার সাথে আসে। রুবির সাথে শুরু করা সহজ, বিশেষ করে যদি আপনার ইতিমধ্যে অন্যান্য প্রোগ্রামিং ভাষায় বিকাশের অভিজ্ঞতা থাকে এবং দ্রুত রুবি অন রেলের সাথে প্রোটোটাইপ করতে পারেন। জাপানে, যেখান থেকে এটি এসেছে, রুবি গেম তৈরি করতে ব্যবহৃত হত। রুবি সংক্ষিপ্ত এবং ইংরেজির মতো পড়ে, নতুনদের জন্য কোডটি বোঝা সহজ করে তোলে।

রুবি শেখার জন্য, আমি আবার বলতে চাই: আপনাকে ছোট শুরু করতে হবে। কয়েকটি বই পড়ুন, নিজে থেকে কয়েকটি কাজ করুন এবং তারপরে, আপনি যদি আরও জ্ঞান এবং অভিজ্ঞতা বা অতিরিক্ত অনুপ্রেরণা অর্জনের প্রয়োজন বোধ করেন, আপনি ইতিমধ্যেই আপনার নিজের অর্জিত জ্ঞানের একটি নির্দিষ্ট পরিমাণে কোর্সে যেতে পারেন।

আদর্শভাবে, এইগুলি একটি কোম্পানির কোর্স যা শেষ পর্যন্ত, আপনি যদি ভাল পারফর্ম করেন তাহলে আপনাকে একটি অফার দেবে। একটি বিকল্প বিকল্প হল অর্থপ্রদানের কোর্স যা আপনাকে আপনার জ্ঞানকে একীভূত করতে, আপনার জীবনবৃত্তান্তে আরেকটি প্রকল্প যোগ করতে এবং অভিজ্ঞতা অর্জন করতে সাহায্য করবে, যা শুরুতে সবচেয়ে গুরুত্বপূর্ণ। তবে আশা করবেন না যে পেইড কোর্সগুলি শেষ করার পরে, আপনি একটি শংসাপত্র দেখিয়ে সহজেই ইন্টারভিউতে পাস করবেন। যে কোনো ক্ষেত্রে, জ্ঞান মূল্যায়ন করা হবে.

একই সময়ে, পর্যাপ্ত অনুপ্রেরণা, ধৈর্য, ​​দক্ষতা এবং অন্যান্য প্রোগ্রামিং ভাষার অভিজ্ঞতা থাকলে, আপনি সহজেই রুবিকে নিজের হাতে আয়ত্ত করতে পারেন, কারণ ইন্টারনেটে প্রচুর দরকারী এবং সুগঠিত তথ্য রয়েছে। এছাড়াও, উন্মুক্ত এবং অসংখ্য রুবি সম্প্রদায়ের জন্য ধন্যবাদ, আপনি সহজেই অনেক সম্ভাব্য প্রশ্নের উত্তর অনলাইনে খুঁজে পেতে পারেন যা, উচ্চ মাত্রার সম্ভাবনা সহ, কেউ ইতিমধ্যে আপনার আগে জিজ্ঞাসা করেছে।

আপনার অধ্যয়ন সঙ্গে সৌভাগ্য! এবং পরবর্তী নিবন্ধে আমরা কোড সম্পর্কে কথা বলব।

জুনিয়রদের জন্য আমাদের টেলিগ্রাম চ্যানেলে সাবস্ক্রাইব করুন যাতে আকর্ষণীয় শূন্যপদ, ইন্টার্নশিপ, কোর্স, নিবন্ধ মিস না হয়।

 
প্রবন্ধ দ্বারাবিষয়:
Sberbank থেকে একটি মেগাফোনে স্বয়ংক্রিয় অর্থপ্রদান পরিষেবা একটি মেগাফোন অ্যাকাউন্টের স্বয়ংক্রিয় পুনরায় পূরণ
প্রতিদিনের দৌড়াদৌড়িতে, আপনার মোবাইল ফোনে অ্যাকাউন্টটি পুনরায় পূরণ করার সময় নাও থাকতে পারে। ফলস্বরূপ, আমাদের যোগাযোগ ছাড়াই এবং সবচেয়ে গুরুত্বপূর্ণ মুহুর্তে যাওয়ার প্রতিটি সুযোগ রয়েছে। আপনি যদি একটি ফ্রি মিনিট না থাকে তাহলে পেমেন্ট টার্মিনালে যান এবং
MTS ট্যারিফ
সর্বোপরি, আমার পক্ষে তাকে দোষ দেওয়া কঠিন যে আমি খুব দ্রুত 40 UAH পরিমাণকে বিদায় জানিয়েছি। একদিকে, আমি এটা উপেক্ষা. কিন্তু অন্যদিকে, অপারেটর "ছোট প্রিন্ট" এর হ্যাকনিড কৌশল ব্যবহার করেছিল, যার জন্য আমি পড়েছিলাম। তাই, নিশ্চিতভাবে
ফোন বৈশিষ্ট্য
অ্যাক্সিলোমিটার (বা জি-সেন্সর) হল মহাকাশে ডিভাইসের অবস্থান সেন্সর। একটি প্রধান ফাংশন হিসাবে, অ্যাক্সিলোমিটারটি স্বয়ংক্রিয়ভাবে প্রদর্শনে চিত্রের অভিযোজন পরিবর্তন করতে ব্যবহৃত হয় (উল্লম্ব বা অনুভূমিক)। এছাড়াও, জি-সেন্সর প্রয়োগ করা হয়
ক্ষতিগ্রস্ত লেজার ডিস্কের পুনরুত্থানের জন্য ইউটিলিটি
ইনস্টল করা সিডি/ডিভিডি ড্রাইভ, তাদের বৈশিষ্ট্য এবং বিভিন্ন ধরনের মিডিয়া পড়ার/লিখতে সক্ষমতা সম্পর্কে বিভিন্ন তথ্য প্রদর্শন করে। উপরন্তু, VSO ইন্সপেক্টর ত্রুটির জন্য ডিস্ক স্ক্যান করতে পারে এবং তাদের কাছে লেখা ডেটার পঠনযোগ্যতা পরীক্ষা করতে পারে। বিনামূল্যে