Elixir এ Mix এর মাধ্যমে প্রজেক্ট তৈরি এবং পরিচালনা
Mix হল Elixir এর একটি বিল্ড টুল যা প্রজেক্ট তৈরির, পরিচালনা করার, কোড পরীক্ষা (testing), ডিপেনডেন্সি ম্যানেজমেন্ট এবং অন্যান্য উন্নত ফিচার সরবরাহ করে। এটি Elixir প্রজেক্টের জন্য একটি আদর্শ টুল, যা আপনাকে দ্রুত প্রজেক্ট তৈরি করতে এবং পরিচালনা করতে সহায়তা করে। Elixir প্রজেক্টের জন্য Mix এর ভূমিকা অনেকটাই এমন, যেমন Maven বা Gradle Java এর জন্য।
1. Mix কি এবং এর ব্যবহার
Mix হল Elixir এর একটি কমান্ড লাইন টুল যা অনেক কাজ সহজ করে তোলে, যেমন:
- নতুন প্রজেক্ট তৈরি করা
- ডিপেনডেন্সি ম্যানেজমেন্ট
- কোড কম্পাইল করা
- পরীক্ষা (testing) চালানো
- মাইগ্রেশন পরিচালনা
- অ্যাপ্লিকেশনটি রান করা
Mix এর মাধ্যমে আপনি Elixir প্রজেক্টের সমস্ত কার্যক্রম পরিচালনা করতে পারেন।
2. নতুন প্রজেক্ট তৈরি করা
Mix ব্যবহার করে নতুন Elixir প্রজেক্ট তৈরি করতে, আপনি mix new কমান্ডটি ব্যবহার করতে পারেন। এটি একটি নতুন প্রজেক্ট ডিরেক্টরি তৈরি করবে এবং প্রাথমিক ফাইল এবং স্ট্রাকচার সেটআপ করবে।
নতুন প্রজেক্ট তৈরি:
mix new my_projectএটি একটি নতুন my_project নামক ডিরেক্টরি তৈরি করবে এবং সেখানে কিছু বেসিক ফাইল তৈরি করবে যেমন:
mix.exs(প্রজেক্ট কনফিগারেশন ফাইল)lib/(প্রজেক্টের কোডের জন্য ডিরেক্টরি)test/(পরীক্ষা পরিচালনার জন্য ডিরেক্টরি)
ফোল্ডার স্ট্রাকচার:
my_project/
│
├── lib/
│ └── my_project.ex
│
├── test/
│ └── my_project_test.exs
│
└── mix.exs3. প্রজেক্টের ডিপেনডেন্সি ম্যানেজমেন্ট
Elixir প্রজেক্টে বাইরের লাইব্রেরি বা ডিপেনডেন্সি যোগ করতে Mix ব্যবহার করা হয়। প্রজেক্টের mix.exs ফাইলের মধ্যে আপনি লাইব্রেরি বা প্যাকেজগুলো তালিকাভুক্ত করেন এবং Mix সেই লাইব্রেরিগুলো স্বয়ংক্রিয়ভাবে ইনস্টল করে।
ডিপেনডেন্সি যোগ করা:
defp deps do
[
{:httpoison, "~> 1.8"}
]
endএখানে, httpoison একটি HTTP ক্লায়েন্ট লাইব্রেরি যা আপনার প্রজেক্টে যোগ করা হয়েছে।
ডিপেনডেন্সি ইনস্টল করা:
ডিপেনডেন্সি ইনস্টল করতে mix deps.get কমান্ড ব্যবহার করুন।
mix deps.getএই কমান্ডটি আপনার mix.exs ফাইল থেকে সকল ডিপেনডেন্সি ইনস্টল করবে।
4. কোড কম্পাইল করা
Elixir তে কোড কম্পাইল করার জন্য Mix স্বয়ংক্রিয়ভাবে কাজ করে, তবে আপনি mix compile কমান্ড ব্যবহার করে ম্যানুয়ালি কোড কম্পাইল করতে পারেন।
mix compileএটি সমস্ত Elixir ফাইলকে কম্পাইল করে এবং প্রস্তুত রাখে।
5. পরীক্ষা (Testing) চালানো
Elixir প্রজেক্টের জন্য ExUnit টেস্টিং ফ্রেমওয়ার্ক আসে, যা Mix এর মাধ্যমে পরিচালনা করা যায়। আপনি mix test কমান্ড ব্যবহার করে সমস্ত টেস্ট চালাতে পারেন।
টেস্ট লিখা:
test/ ডিরেক্টরিতে একটি টেস্ট ফাইল তৈরি করুন, যেমন:
defmodule MyProjectTest do
use ExUnit.Case
doctest MyProject
test "the truth" do
assert 1 + 1 == 2
end
endটেস্ট চালানো:
mix testএটি test/ ডিরেক্টরির সকল টেস্ট ফাইল চালাবে এবং ফলাফল দেখাবে।
6. অ্যাপ্লিকেশন রান করা
Elixir অ্যাপ্লিকেশন চালাতে Mix কমান্ড ব্যবহার করা হয়। আপনি mix run কমান্ড দিয়ে কোড এক্সিকিউট করতে পারেন।
অ্যাপ্লিকেশন রান করা:
mix runএটি আপনার প্রজেক্টের mix.exs ফাইলের মধ্যে সংজ্ঞায়িত কোড রান করবে।
7. মাইগ্রেশন (Migration) পরিচালনা
এলিক্সির জন্য Ecto লাইব্রেরি ব্যবহৃত হয় ডেটাবেসের সাথে কাজ করার জন্য। Mix এর মাধ্যমে আপনি ডেটাবেস মাইগ্রেশন পরিচালনা করতে পারেন।
মাইগ্রেশন তৈরি করা:
mix ecto.gen.migration create_usersমাইগ্রেশন রান করা:
mix ecto.migrateএটি ডেটাবেসে মাইগ্রেশন চালাবে এবং ডেটাবেস স্কিমা আপডেট করবে।
8. কম্পাইলেশন ও ডেভেলপমেন্টের জন্য অতিরিক্ত Mix কমান্ড
Mix এর মধ্যে কিছু অতিরিক্ত কমান্ড রয়েছে যা ডেভেলপমেন্ট এবং উৎপাদন পরিবেশে ব্যবহৃত হয়:
mix deps.clean: ডিপেনডেন্সি পরিষ্কার করে।mix release: অ্যাপ্লিকেশনকে প্রস্তুত করে উৎপাদন পরিবেশের জন্য।mix phx.server: Phoenix অ্যাপ্লিকেশন চালানোর জন্য ব্যবহৃত হয়।
সারসংক্ষেপ
Mix হল Elixir এর একটি অত্যন্ত শক্তিশালী টুল যা প্রজেক্ট তৈরি, ডিপেনডেন্সি ম্যানেজমেন্ট, কোড কম্পাইল, টেস্টিং, মাইগ্রেশন, এবং অ্যাপ্লিকেশন চালানোর কাজ সহজ করে তোলে। এর মাধ্যমে, আপনি দ্রুত Elixir প্রজেক্ট তৈরি করতে পারেন এবং এর সঠিক পরিচালনার জন্য প্রয়োজনীয় সমস্ত কাজ করতে পারেন। Mix এর মাধ্যমে Elixir প্রজেক্টকে আরও সংগঠিত এবং সহজভাবে পরিচালনা করা সম্ভব।
Read more