আপনার যদি একটি সাধারণ অ্যান্ড্রয়েড ট্যাবলেট বা মোবাইল ফোন থাকে এবং আপনি প্রোগ্রামিং শিখতে আগ্রহী হন, শুরু করার জন্য আপনার কম্পিউটারের প্রয়োজন নেই।টার্মাক্স দিয়ে আপনি আপনার ডিভাইসে একটি কার্যকরী লিনাক্স এনভায়রনমেন্ট সেট আপ করতে পারেন এবং C, C++, Python ও বেশ কিছু নেটওয়ার্ক এবং সিস্টেম টুল নিয়ে কাজ করতে পারেন। প্রথমে এটি কিছুটা টেকনিক্যাল মনে হতে পারে, কিন্তু একবার চেষ্টা করলেই বুঝবেন যে এটি পড়াশোনা, পরীক্ষা-নিরীক্ষা, এমনকি বাস্তব সার্ভিস চালানোর জন্যও পুরোপুরি ব্যবহারযোগ্য।
এই আর্টিকেলে আমরা ধাপে ধাপে দেখব কিভাবে অ্যান্ড্রয়েড ট্যাবলেটে টার্মাক্স (Termux) থেকে সর্বোচ্চ সুবিধা পাওয়া যায়। স্থানীয়ভাবে C এবং C++ কোড কম্পাইল করুন, পাইথন নিয়ে কাজ করুন এবং এটিকে লিনাক্স ইউটিলিটিগুলির সাথে সংযুক্ত করুন।আপনি দেখতে পাবেন কীভাবে Clang ইনস্টল করতে হয়, কীভাবে C এবং C++ এ আপনার প্রথম "Hello World" প্রস্তুত করতে হয়, কীভাবে Python ইনস্টল করে বাস্তব প্রকল্পে ব্যবহার করতে হয়, এবং কীভাবে ছোটখাটো পরিবর্তনের মাধ্যমে পরিবেশকে আরও উন্নত করতে হয়। এই সবকিছু করার সময় সাইবার নিরাপত্তা, অটোমেশন এবং রিমোট ওয়ার্কের মতো বাস্তব ব্যবহারের কথাও মাথায় রাখা হবে।
টার্মাক্স কী এবং অ্যান্ড্রয়েড ট্যাবলেটে এটি কেন উপকারী?
এর সবচেয়ে বড় সুবিধা হলো, টার্মাক্স অ্যান্ড্রয়েডের সীমাবদ্ধতাগুলো মেনে চলার পাশাপাশি প্রায় যেকোনো লিনাক্স ডিস্ট্রিবিউশনের মতোই কাজ করে। আপনি ফাইল সিস্টেমের একটি অংশ খোদ অপারেটিং সিস্টেমের সাথেই শেয়ার করেন।/bin, /usr, /home-এ কোনো ক্লাসিক FHS ট্রি নেই এবং পরিবেশটি একজন ব্যবহারকারীর জন্য ডিজাইন করা হয়েছে। তা সত্ত্বেও, আপনার একটি সম্পূর্ণ ব্যবহারযোগ্য $HOME ডিরেক্টরি রয়েছে যেখানে আপনি প্যাকেজ ইনস্টল করতে, কোড কম্পাইল করতে, স্ক্রিপ্ট চালাতে এবং আপনার প্রোজেক্ট সংরক্ষণ করতে পারেন।
প্রথম থেকে প্রোগ্রামিং শেখার ক্ষেত্রে টার্মাক্স অনেক প্রচলিত বাধা দূর করে: আপনার শক্তিশালী ল্যাপটপের প্রয়োজন নেই কিংবা ভার্চুয়াল মেশিন নিয়ে হিমশিম খাওয়ারও দরকার নেই।শুধু অ্যাপটি ডাউনলোড করুন, প্যাকেজগুলো আপডেট করুন, কয়েকটি প্রয়োজনীয় টুল ইনস্টল করুন, এবং আপনি আপনার ট্যাবলেটে C, C++, Python, HTML, CSS কোড বা আপনার পছন্দের যেকোনো কিছু লেখার জন্য প্রস্তুত।
তাছাড়া, টার্মাক্স ওয়ার্কফ্লো নিম্নলিখিত ক্ষেত্রগুলির সাথে পুরোপুরি খাপ খায়, যেমন মৌলিক সাইবার নিরাপত্তা, প্রক্রিয়া স্বয়ংক্রিয়করণ, এবং সিস্টেম প্রশাসনযেখানে স্ক্রিপ্ট, নেটওয়ার্ক টুল এবং কনসোল কমান্ড ক্রমাগত ব্যবহৃত হচ্ছে। আপনার ট্যাবলেটটি একটি ছোট বহনযোগ্য ল্যাবে পরিণত হয়, যা আপনি আপনার ব্যাকপ্যাক বা পকেটে নিয়ে ঘুরতে পারেন।
আপনার অ্যান্ড্রয়েড ট্যাবলেটে টার্মাক্স ইনস্টল এবং কনফিগার করুন
প্রথম ধাপ হলো অ্যাপটির একটি নির্ভরযোগ্য ও হালনাগাদ সংস্করণ সংগ্রহ করা। সাধারণত এফ-ড্রয়েড (F-Droid) অথবা গিটহাবে (GitHub) অবস্থিত এর অফিসিয়াল রিপোজিটরি থেকে টার্মাক্স (Termux) ডাউনলোড করার পরামর্শ দেওয়া হয়।কারণ গুগল প্লে সংস্করণগুলো প্রায়শই পুরোনো বা রক্ষণাবেক্ষণহীন থাকে।
আপনার ট্যাবলেটে অ্যাপটি ইনস্টল হয়ে গেলে, সেটি খুলুন এবং প্রাথমিক পরিবেশ প্রস্তুত হতে দিন। আপনি যেকোনো লিনাক্স টার্মিনালের মতো একটি শেল প্রম্পট দেখতে পাবেন। কোনো গুরুতর কাজ করার আগে, এটি পরামর্শযোগ্য যে... সংস্করণগত দ্বন্দ্ব এড়াতে সিস্টেমের মূল প্যাকেজগুলো আপডেট করুন।টার্মাক্সে এটা এইভাবে করা হয়:
pkg update && pkg upgrade
এই কমান্ডটি ইনডেক্সগুলো রিফ্রেশ করে এবং আপনার ইনস্টল করা সবকিছু আপডেট করে। নির্দিষ্ট সময় পর পর, বিশেষ করে কম্পাইলার, ইন্টারপ্রেটার বা ডেভেলপমেন্ট টুল যোগ করার আগে এটির পুনরাবৃত্তি করা ভালো।
এরপর, স্বাচ্ছন্দ্যে কাজ করার জন্য ন্যূনতম কিছু কনসোল ইউটিলিটি ইনস্টল করে নেওয়া ভালো: একটি টেক্সট এডিটর, কম্প্রেশন টুল, নেটওয়ার্ক ইউটিলিটি এবং সিস্টেম মনিটরউদাহরণস্বরূপ, ন্যানো ইনস্টল করতে:
pkg install nano
এটি আপনাকে নীচে দৃশ্যমান শর্টকাট সহ একটি সহজ এডিটর দেয়, যা শেখার জন্য উপযুক্ত। আপনি যদি আরও দক্ষ হন, তবে Vim বা Neovim বেছে নিতে পারেন, যেগুলো প্যাকেজ ফাইল হিসেবেও পাওয়া যায়।
এই পর্যায়ে আপনার ট্যাবলেটে ইতিমধ্যেই একটি কার্যকরী মিনি লিনাক্স রয়েছে, সাথে একটি ক্ল্যাং-এর মতো কম্পাইলার, পাইথনের মতো ইন্টারপ্রেটার এবং অন্যান্য দরকারি প্যাকেজ ইনস্টল করার জন্য একটি প্রস্তুত পরিবেশ।ডিরেক্টরি কাঠামো, অনুমতি এবং কমান্ড সম্পর্কে আপনি যা কিছু শিখবেন, তা পরবর্তীতে আসল সার্ভারে কাজে লাগবে।
ক্লাসিক লিনাক্সের তুলনায় টার্মাক্সের বিশেষত্ব
যদিও টার্মাক্স একটি লিনাক্স পরিবেশের মতো আচরণ করে, তবুও কয়েকটি গুরুত্বপূর্ণ বিষয় মনে রাখতে হবে। প্রথমটি হলো, টার্মাক্স একটি একক-ব্যবহারকারী সিস্টেম এবং এতে sudo কমান্ডের অস্তিত্ব নেই।আপনি সরাসরি অ্যাপ ব্যবহারকারীর সাথে যুক্ত বিশেষাধিকারগুলো নিয়ে কাজ করেন, যার $HOME-এর উপর সম্পূর্ণ নিয়ন্ত্রণ থাকলেও সেই স্থানের বাইরে তার অনুমতি সীমিত।
ডিফল্ট, প্রধান পাথগুলো ডেস্কটপ লিনাক্স সিস্টেমের পাথগুলো থেকে ভিন্ন।:
- $PREFIX = /data/data/com.termux/files/usr
- $ হোম = /data/data/com.termux/files/home
সামঞ্জস্যতার কারণে যদি আপনি আপনার $HOME-কে /home-এর মতো দেখাতে চান, তাহলে আপনি termux-proot ইনস্টল করতে পারেন:
pkg install termux-proot
এবং তারপর প্রতিটি সেশনে চালান:
termux-chroot
এটি এমন একটি পরিবেশের অনুকরণ করে যেখানে $HOME-কে /home হিসেবে দেখানো হয়, যদিও এটি ভৌতিকভাবে টার্মাক্স-এর অভ্যন্তরীণ পাথে অবস্থিত।যখন টুল বা ইনস্টলারগুলো স্ট্যান্ডার্ড পাথ প্রত্যাশা করে, তখন এটি কাজে আসে।
আরেকটি গুরুত্বপূর্ণ বিষয় হলো ডিভাইসটির শেয়ার্ড স্টোরেজ অ্যাক্সেস করা। এসডি কার্ড বা ইন্টারনাল মেমোরি সহজে অ্যাক্সেস করতে, চালান:
termux-setup-storage
এই কমান্ডটি একটি $HOME/storage ডিরেক্টরি যোগ করে যা অ্যান্ড্রয়েডের বিভিন্ন অবস্থানের সাথে লিঙ্ক করে। উল্লেখ্য যে এই পাথগুলিতে আপনি chmod ব্যবহার করে সরাসরি এক্সিকিউটেবল তৈরি করতে এবং ./script দিয়ে সেগুলি চালু করতে পারবেন না।এর পরিবর্তে, আপনাকে স্পষ্টভাবে ইন্টারপ্রেটারকে আহ্বান করতে হবে, উদাহরণস্বরূপ:
python storage/shared/scripts/mi_script.py
অবশেষে, Termux-এ আপনার ইউজারনেমটিই Android-এর অ্যাপ্লিকেশন আইডেন্টিফায়ার। আপনি whoami দিয়ে এটি যাচাই করতে পারেন এবং passwd দিয়ে পাসওয়ার্ড সেট করতে পারেন।অন্য কম্পিউটার থেকে SSH-এর মাধ্যমে আপনার ট্যাবলেটে সংযোগ করতে চাইলে এটি অপরিহার্য।
মৌলিক সরঞ্জাম স্থাপন এবং কাজের পরিবেশ

C, C++ এবং Python-এর উপর মনোযোগ দেওয়ার আগে, হাতে এমন কিছু প্রোগ্রাম রাখা ভালো যা আপনার কাজকে সহজ করে তুলবে। টার্মাক্স তার প্যাকেজ ম্যানেজার হিসেবে pkg (এবং এর অধীনে apt) ব্যবহার করে।সুতরাং এর ইনস্টলেশন পদ্ধতিটি ডেবিয়ান-সদৃশ ডিস্ট্রোর ইনস্টলেশনের মতোই।
কিছু প্রস্তাবিত প্যাকেজ হলো:
- পাইথন:
pkg install pythonপাইথন ৩ থাকা এবং পিপ (pip) দিয়ে মডিউল ইনস্টল করতে পারা। - ঝনঝন:
pkg install clangC এবং C++ কম্পাইল করতে এবং pip-কে নির্দিষ্ট কিছু নেটিভ এক্সটেনশন কম্পাইল করার অনুমতি দিতে। - OpenSSH:
pkg install opensshআপনার ট্যাবলেটে একটি SSH সার্ভার সক্রিয় করতে এবং পিসি থেকে সুবিধাজনকভাবে সংযোগ করতে। - পর্দা:
pkg install screenব্যাকগ্রাউন্ড প্রসেস বজায় রাখতে এবং সেশন পুনরুদ্ধার করতে। - প্রোকপস:
pkg install procpspkill এবং অন্যান্য প্রচলিত টুল ব্যবহার করে প্রসেস পরিচালনা করা। - htop:
pkg install htopএকটি ইন্টারেক্টিভ সিপিইউ এবং মেমরি মনিটর হিসেবে, যদিও এটি অ্যান্ড্রয়েডের কিছু সংস্করণে পুরোপুরি নিখুঁতভাবে কাজ নাও করতে পারে। - নেট-সরঞ্জাম:
pkg install net-toolsifconfig এবং অন্যান্য ক্লাসিক নেটওয়ার্ক ইউটিলিটিগুলির সাথে কাজ করতে। - wget হয়:
pkg install wgetসরাসরি আপনার পরিবেশে ইউআরএল থেকে কন্টেন্ট ডাউনলোড করতে। - বৃক্ষ:
pkg install treeডিরেক্টরি কাঠামোটিকে শ্রেণিবদ্ধভাবে তালিকাভুক্ত করতে।
এই অংশগুলো ইনস্টল করা হলে, আপনার ট্যাবলেটটি একটি সাধারণ মাল্টিমিডিয়া উপভোগের ডিভাইস থেকে রূপান্তরিত হয় একটি ছোট উন্নয়ন পরিবেশ যা স্ক্রিপ্ট চালানো, কোড কম্পাইল করা, কন্টেন্ট পরিবেশন করা এবং রিমোট সংযোগ গ্রহণ করতে সক্ষম।.
ক্ল্যাং ইনস্টল করুন এবং স্থানীয়ভাবে C ও C++ কম্পাইল করুন।
আপনি যদি আপনার ট্যাবলেটে C এবং C++ এ প্রোগ্রাম করতে চান, তাহলে আপনার এমন একটি কম্পাইলার প্রয়োজন যা উভয় ভাষাই বুঝতে পারে। Termux-এ, মূল প্যাকেজটি হলো clang, যা gcc এবং g++ এর সাথে সামঞ্জস্যপূর্ণ অ্যালিয়াসও তৈরি করে।ফলে আপনি আপনার অভ্যাস না বদলেই প্রচলিত কমান্ডগুলো ব্যবহার করতে পারবেন।
এটি ইনস্টল করতে, একটি Termux সেশন খুলুন এবং চালান:
pkg install clang
টুলটি নিশ্চিতকরণের জন্য জিজ্ঞাসা করবে; শুধু একটি দিয়ে উত্তর দিন। এবং অনুরোধ করা হলে, প্রয়োজনীয় উপাদানগুলো ডাউনলোড ও ইনস্টল করা হবে।সেই মুহূর্ত থেকে, আপনি যথাক্রমে C এবং C++ এ কম্পাইল করার জন্য gcc এবং g++ এক্সিকিউটেবলগুলো পেয়ে যাবেন।
এর মাধ্যমে আপনি যা অর্জন করেন তা হলো একটি অ্যান্ড্রয়েডের মধ্যে সম্পূর্ণ বিল্ড পরিবেশআপনি আপনার সোর্স ফাইল (.co.cpp) লিখবেন, টার্মিনাল থেকে এটি কম্পাইল করবেন এবং তৈরি হওয়া বাইনারিটি টার্মাক্স-এর মধ্যেই চালাবেন। এই কার্যপ্রক্রিয়াটি কার্যত একটি ডেস্কটপ লিনাক্স সিস্টেমের মতোই, শুধু এটি আপনার ট্যাবলেটে চলে।
কম্পাইলেশনের সময় অনুপস্থিত লাইব্রেরি বা হেডার সম্পর্কিত ত্রুটি দেখা দিলে, সেগুলি সাধারণত সমাধান করা হয়। সেই নির্ভরতার সাথে সম্পর্কিত অতিরিক্ত প্যাকেজ ইনস্টল করা হচ্ছে (উদাহরণস্বরূপ, টার্মাক্স রিপোজিটরি থেকে নির্দিষ্ট ডেভেলপমেন্ট লাইব্রেরি)। ত্রুটির বার্তাটি মনোযোগ সহকারে পড়লেই সাধারণত অনুপস্থিত প্যাকেজটি খুঁজে বের করা যায়।
আপনার ট্যাবলেট থেকে আপনার প্রথম সি প্রোগ্রাম
Clang ইনস্টল হয়ে গেলে, এখন এটি পরীক্ষা করার পালা। শুরু করার জন্য একটি ভালো উপায় হলো একটি তৈরি করা। কম্পাইলার এবং পরিবেশ সঠিকভাবে কনফিগার করা আছে কিনা তা পরীক্ষা করার জন্য C-তে লেখা একটি ছোট "হ্যালো ওয়ার্ল্ড" ধরনের প্রোগ্রাম।এর জন্য আপনার একটি এডিটর প্রয়োজন; যদি আপনি ন্যানো (nano) বেছে নেন, তবে প্রথমে নিশ্চিত হয়ে নিন যে এটি আপনার সিস্টেমে ইনস্টল করা আছে:
pkg install nano
এরপরে, আপনি যে ডিরেক্টরিতে কাজ করতে চান (উদাহরণস্বরূপ, আপনার $HOME), সেখানে নিম্নলিখিত কমান্ডটি চালিয়ে একটি সোর্স ফাইল তৈরি করুন:
nano hola.c
একটি খালি বাফার খুলবে যেখানে আপনি ফাংশন ব্যবহার করে আপনার সি প্রোগ্রাম টাইপ করতে পারবেন। main এবং স্ক্রিনে টেক্সট দেখানোর জন্য printf-এর একটি কল।চিরাচরিত উদাহরণেই আটকে থাকার কোনো প্রয়োজন নেই; সবকিছু ঠিকঠাক কাজ করছে কিনা তা যাচাই করার জন্য যেকোনো বার্তাই ব্যবহার করা যেতে পারে।
কোড লেখা শেষ হলে, ফাইলটি এই সংমিশ্রণ দিয়ে সংরক্ষণ করুন। CTRL + O, নামটি নিশ্চিত করতে Enter চাপুন এবং প্রস্থান করতে CTRL + X চাপুন।আপনি টার্মাক্স প্রম্পটে ফিরে আসবেন এবং hola.c ফাইলটি বর্তমান ডিরেক্টরিতে সংরক্ষিত থাকবে।
এখন gcc ব্যবহার করে প্রোগ্রামটি কম্পাইল করার সময় এসেছে (যা আসলে ইনস্টল করা clang কম্পাইলারকে নির্দেশ করে):
gcc -o hola hola.c
এই কমান্ডটি নির্দেশ করে যে একটি এক্সিকিউটেবল ফাইল তৈরি করতে হবে। হ্যালো, hola.c সোর্স কোড থেকে শুরু করা যাক।যদি কোনো ত্রুটি না থাকে, তাহলে আপনি কোনো অস্বাভাবিক বার্তা ছাড়াই প্রম্পটে ফিরে আসবেন। এরপর শুধু বাইনারিটি রান করতে হবে:
./hola
এবং আপনি টার্মিনালে আপনার প্রোগ্রাম করা লেখাটি দেখতে পাবেন। এটি প্রমাণ করে যে আপনার ট্যাবলেটটি সক্ষম। টার্মাক্স ব্যবহার করে সম্পূর্ণ স্থানীয়ভাবে সি কোড লিখুন, কম্পাইল করুন এবং চালান।.
g++ দিয়ে C++ কোড কম্পাইল এবং রান করুন
C++ এর ক্ষেত্রে প্রক্রিয়াটি কার্যত একই, তবে আপনি ব্যবহার করবেন g++ এক্সিকিউটেবল যা clang প্যাকেজের একটি অংশC++ অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং, টেমপ্লেট, একটি সমৃদ্ধ স্ট্যান্ডার্ড লাইব্রেরি এবং একটি আধুনিক ইকোসিস্টেম যুক্ত করার মাধ্যমে C-এর সক্ষমতাকে ব্যাপকভাবে প্রসারিত করে।
কিছু ক্ষেত্রে, g++ খুব বেশি ঝামেলা ছাড়াই সাধারণ C ফাইল কম্পাইল করতে পারে। উদাহরণস্বরূপ, যদি আপনি চালান:
g++ -o hola_cpp hola.c
কম্পাইলার সম্ভবত ইস্যু করবে C++ কম্পাইলার দিয়ে C কোড কম্পাইল করার জন্য একটি সতর্কতা।কিন্তু এটি তবুও hola_cpp এক্সিকিউটেবলটি তৈরি করবে যা আপনি এভাবে চালু করতে পারেন:
./hola_cpp
যদিও এটি কাজ করে, বাস্তব-জগতের প্রকল্পগুলির জন্য প্রস্তাবিত পদ্ধতিটি হলো .cpp ফাইল ব্যবহার করুন এবং C++ এর নির্দিষ্ট বৈশিষ্ট্যগুলোর সুবিধা নিন।ক্লাস, std::vector, std::string, স্ট্যান্ডার্ড লাইব্রেরি অ্যালগরিদম, ইত্যাদি।
সাধারণ কর্মপ্রবাহটি হবে:
- উদাহরণস্বরূপ, সোর্স ফাইলটি তৈরি করুন। program.cpp ফাইলটি nano, Vim বা আপনার পছন্দের এডিটর দিয়ে সম্পাদনা করুন।.
- পরিবর্তনগুলি সংরক্ষণ করুন এবং টার্মিনালে ফিরে যান।
- এইরকম একটি কমান্ড দিয়ে কম্পাইল করুন
g++ -o programa programa.cppপ্রয়োজন অনুযায়ী ফ্ল্যাগ ও লাইব্রেরি যোগ করা হচ্ছে। - ফলাফলস্বরূপ বাইনারিটি চালান
./programaকনসোলে আউটপুট দেখতে।
এই প্রকল্পের মাধ্যমে আপনি যেতে পারেন সাধারণ অনুশীলন থেকে শুরু করে ফাইল প্রসেস, লগ বিশ্লেষণ, টার্মাক্স-এর অভ্যন্তরীণ কাজ স্বয়ংক্রিয় করা, বা নেটওয়ার্ক ডেটার উপর অপারেশন সম্পাদন করার মতো ছোট ছোট ইউটিলিটি পর্যন্ত।এই সবকিছু আপনার অ্যান্ড্রয়েড ট্যাবলেটে।
বাস্তব প্রকল্পের জন্য টার্মাক্সে পাইথন ইনস্টল করুন এবং ব্যবহার করুন।
সি এবং সি++ আপনাকে নিম্ন-স্তরের নিয়ন্ত্রণ দিলেও, পাইথন একটি নিখুঁত পরিবেশ প্রদান করে দ্রুত প্রোটোটাইপিং, টাস্ক অটোমেশন, এবং পরিষেবা সংযোগপাইথনের সাথে যুক্ত হলে টার্মাক্স বিশেষভাবে কার্যকর হয়, কারণ এর মাধ্যমে শেল কমান্ড ও স্ক্রিপ্ট একসাথে ব্যবহার করা যায় এবং একই জায়গায় নেটওয়ার্ক ও সিস্টেম টুলগুলোর সুবিধা নেওয়া যায়।
Termux-এ Python ইনস্টল করতে শুধু চালান:
pkg install python
পাইথন ৩-এর একটি সাম্প্রতিক সংস্করণ প্রয়োজনীয় উপাদানসহ ডাউনলোড হবে। ইনস্টলেশনের পর, টার্মিনালে python অথবা python3 টাইপ করে আপনি ইন্টারেক্টিভ ইন্টারপ্রেটারটি চালু করতে পারেন।প্যাকেজটি যে উপনামটি কনফিগার করেছে, তার উপর নির্ভর করে।
সেখান থেকে আপনি .py ফাইলে স্ক্রিপ্ট তৈরি করতে পারেন এবং নিম্নলিখিতভাবে সেগুলো চালাতে পারেন:
python mi_script.py
এবং অতিরিক্ত নির্ভরতা ইনস্টল করতে pip ব্যবহার করুন। উল্লেখ্য যে, কিছু পাইথন লাইব্রেরির নেটিভ এক্সটেনশন কম্পাইল করার জন্য ক্ল্যাং (clang) এবং অন্যান্য ডেভেলপমেন্ট প্যাকেজের প্রয়োজন হয়।তাই ক্ল্যাং ইনস্টল করা থাকলে আপনার অনেক ঝামেলা কমে যায়।
শেখার জন্য একটি অত্যন্ত প্রস্তাবিত উপায় হলো প্রকল্প-ভিত্তিক পদ্ধতি অনুসরণ করা: শুধু বিচ্ছিন্ন ব্যায়াম করার পরিবর্তে, আপনি নিজের জন্য নির্দিষ্ট ছোট ছোট লক্ষ্য নির্ধারণ করেন। কীভাবে একটি নেটওয়ার্ক চেক স্বয়ংক্রিয় করা যায়, লগ বিশ্লেষণ করা যায়, বা একটি এপিআই (API) কোয়েরি করা যায়। ট্যাবলেটে টার্মাক্স (Termux) ব্যবহারের সুবিধা হলো, আপনি যেকোনো অবসর মুহূর্তে এই সবকিছু চেষ্টা করে দেখতে পারেন।
টার্মাক্সে দরকারি পাইথন প্রজেক্টের আইডিয়া
পাইথনকে শুধুমাত্র লুপ এবং কন্ডিশনালের উপর নির্ভরশীল হওয়া থেকে বিরত রাখতে, বাস্তব-জগতের পরিস্থিতির সাথে সাদৃশ্যপূর্ণ প্রজেক্ট ডিজাইন করা একটি দারুণ উপায়। টার্মাক্সের মতো পরিবেশে, মৌলিক সাইবার নিরাপত্তা, অটোমেশন এবং তথ্য বিশ্লেষণের ক্ষেত্রগুলো বিশেষভাবে উপযুক্ত।.
অনুশীলনের জন্য কিছু আকর্ষণীয় ধারণা হতে পারে:
- নেটওয়ার্ক চেক স্ক্রিপ্টএমন একটি প্রোগ্রাম যা একাধিক অ্যাড্রেস পিং করে অথবা খোলা পোর্টগুলো পরীক্ষা করে এবং সেগুলো ব্যবহারযোগ্য কিনা তা রেকর্ড করে। এর মাধ্যমে আপনি সাবপ্রসেস বা সকেটের মতো মডিউল অনুশীলন করতে, কমান্ডের আউটপুট পরিচালনা করতে এবং স্ক্রিপ্ট ক্র্যাশ না করিয়েই ত্রুটি সামলাতে পারবেন।
- সহজ পাসওয়ার্ড চেকারএকটি স্ক্রিপ্ট যা একটি পাসওয়ার্ড গ্রহণ করে, সেটির দৈর্ঘ্য, কেস, সংখ্যা ও চিহ্ন পরীক্ষা করে এবং একটি স্কোর ফেরত দেয়। আপনি টার্মাক্স ফাইলে সংরক্ষিত রেগুলার এক্সপ্রেশন এবং সাধারণ শব্দের তালিকা যোগ করতে পারেন।
- লগ ফাইল বিশ্লেষকএমন একটি টুল যা কোনো লগ (উদাহরণস্বরূপ, আপনার Termux-এ থাকা কোনো সার্ভিসের) পড়ে, ত্রুটি, অ্যালার্ট বা নির্দিষ্ট আইপি-যুক্ত লাইনগুলো ফিল্টার করে এবং সংক্ষিপ্ত সারসংক্ষেপ তৈরি করে। এটি আপনাকে ইনসিডেন্ট শনাক্ত করতে এবং ইভেন্ট বিশ্লেষণ করতে সাহায্য করে।
- হালকা ওয়েব স্ক্র্যাপাররিকোয়েস্টস এবং একটি এইচটিএমএল পার্সিং লাইব্রেরি ব্যবহার করে, আপনি পেজ ভিজিট করতে, ডেটা এক্সট্র্যাক্ট করতে এবং পরবর্তী বিশ্লেষণের জন্য ফাইলে সংরক্ষণ করতে পারেন। ওয়েবসাইটের পরিবর্তন ট্র্যাক করা, জনসাধারণের তথ্য সংগ্রহ করা, অথবা সম্ভাব্য সোশ্যাল ইঞ্জিনিয়ারিং ঝুঁকি শনাক্ত করার জন্য এটি খুবই কার্যকর।
- রিয়েল-টাইম আবহাওয়া ট্র্যাকার বা ক্রিপ্টোকারেন্সিএই স্ক্রিপ্টটি পর্যায়ক্রমে একটি পাবলিক এপিআই-কে কোয়েরি করে এবং বর্তমান মানগুলো টার্মিনালে প্রদর্শন করে অথবা তুলনার জন্য সংরক্ষণ করে। এর মাধ্যমে আপনি এইচটিটিপি রিকোয়েস্ট, জেএসওএন হ্যান্ডলিং, টোকেন অথেন্টিকেশন এবং নেটওয়ার্ক এরর ম্যানেজমেন্ট অনুশীলন করতে পারবেন।
এই সমস্ত প্রকল্পে, যা শক্তিশালী তা হলো কীভাবে আপনি পাইথনকে টার্মাক্স দ্বারা আগে থেকেই প্রদত্ত লিনাক্স টুলগুলোর সাথে একত্রিত করেন।আপনি পুনরাবৃত্তিমূলক কাজ নির্ধারণ করতে পারেন, পাইপ ব্যবহার করতে পারেন, আউটপুট ফাইলে রিডাইরেক্ট করতে পারেন এবং আরও অনেক কিছু করতে পারেন। আপনার ট্যাবলেটটি আপনার ধারণাগুলোকে বাস্তবে রূপ দেওয়ার জন্য একটি ছোট ও আদর্শ পরীক্ষামূলক পরিবেশে পরিণত হয়।
আপনার মোবাইল ডিভাইস থেকে একই সাথে পাইথন এবং সাইবার নিরাপত্তা শিখুন।
পূর্ববর্তী অনেক প্রকল্পই বাস্তব সাইবার নিরাপত্তা ধারণা এবং সর্বোত্তম অনুশীলনগুলো প্রবর্তনের জন্য সহায়ক। এর উদ্দেশ্য ট্যাবলেটটিকে একটি অনিয়ন্ত্রিত হ্যাকিং খেলনায় পরিণত করা নয়, বরং আপনার স্ক্রিপ্টগুলো নেটওয়ার্ক, সিস্টেম এবং সংবেদনশীল ডেটার সাথে কীভাবে কাজ করে তা বুঝুন।.
উদাহরণস্বরূপ, যখন আপনি একটি পাসওয়ার্ড চেকার তৈরি করেন, তখন আপনি আলোচনা করার সুযোগ নিতে পারেন নিরাপত্তা নীতিমালা, দৃঢ়তার মানদণ্ড, কী রোটেশন, এবং NIST CSF বা NIS2 নির্দেশিকার মতো কাঠামোসমূহযা নির্দিষ্ট কিছু খাতে বিশেষ বাধ্যবাধকতা তৈরি করে। এমনকি আপনি যদি শৌখিন পর্যায়েও কাজ করেন, আপনার স্ক্রিপ্টগুলোকে পেশাদার প্রেক্ষাপটে রাখলে তা আপনাকে বড় করে ভাবতে সাহায্য করে।
লগ অ্যানালাইজারের ক্ষেত্রে, আপনার টুলগুলো এমনভাবে আচরণ করতে পারে যেমন ছোট ঘটনা সনাক্তকরণ ব্যবস্থাঅস্বাভাবিক প্যাটার্ন, ব্যর্থ লগইন প্রচেষ্টা বা সন্দেহজনক আচরণের সন্ধান করা হচ্ছে। এটি কোম্পানিতে নিরাপত্তা দলগুলোর কাজের পদ্ধতির সাথে সম্পর্কিত, যেখানে নিরন্তর পর্যবেক্ষণ এবং ঘটনার দ্রুত প্রতিক্রিয়া অত্যন্ত গুরুত্বপূর্ণ।
স্ক্র্যাপার এবং এপিআই নিয়ে কাজ করার সময়, আপনি এই ধরনের বিষয়গুলিরও সম্মুখীন হবেন, যেমন তথ্যের দায়িত্বশীল ব্যবহার, পরিষেবার শর্তাবলীর প্রতি সম্মান এবং ব্যক্তিগত তথ্যের সুরক্ষামৌলিক নৈতিক অভ্যাসগুলো গড়ে তোলার জন্য এটাই উপযুক্ত সময়: সার্ভিসগুলোকে অতিরিক্ত অনুরোধ দিয়ে ভারাক্রান্ত করবেন না, অনুমতি ছাড়া সংবেদনশীল তথ্য সংগ্রহ করবেন না, আপনার স্ক্রিপ্টে ব্যবহৃত টোকেন ও ক্রেডেনশিয়ালগুলো যথাযথভাবে সুরক্ষিত রাখুন, ইত্যাদি।
আপনিও যদি পেশাদার-স্তরের প্রসেস অটোমেশনে আগ্রহী হন, তাহলে টার্মাক্স এবং পাইথন হতে পারে... আরও জটিল কার্যপ্রবাহের প্রবেশদ্বার, যা আপনি পরবর্তীতে AWS বা Azure-এর মতো ক্লাউড পরিবেশে, অথবা Power BI-এর মতো বিজনেস ইন্টেলিজেন্স সলিউশনে স্থানান্তর করতে পারেন।আপনার ট্যাবলেটে স্ক্রিপ্ট ডিজাইন করতে গিয়ে আপনি যা শিখবেন, তা পরবর্তীতে ব্যবসায়িক প্রক্রিয়ায় প্রয়োগ করা যেতে পারে; এর জন্য অবকাঠামো পরিবর্তন করতে হলেও মূল যুক্তি এবং সর্বোত্তম অনুশীলনগুলো অপরিবর্তিত রাখা সম্ভব।
আপনার ডেভেলপমেন্ট এনভায়রনমেন্ট উন্নত করার জন্য বেসিক সেটআপ এবং কিছু টিপস।
টার্মাক্স ইনস্টল করার পরেই বেশ ভালোভাবে কাজ করে, কিন্তু কিছু পরিবর্তন করে আপনি এমন একটি পরিবেশ তৈরি করতে পারেন যেখানে ইন্টারফেস নিয়ে কোনো রকম ঝামেলা ছাড়াই ঘণ্টার পর ঘণ্টা প্রোগ্রাম চালানো যায়।প্রথম ধাপ হলো এমন একটি এডিটর বেছে নেওয়া যা ব্যবহারে আপনি স্বাচ্ছন্দ্যবোধ করেন: শুরু করার জন্য ন্যানো (nano), অথবা আরও শক্তিশালী ও সম্প্রসারণযোগ্য কিছুর জন্য ভিম/নিওভিম (Vim/Neovim)।
এটিও সংজ্ঞায়িত করার জন্য দৃঢ়ভাবে সুপারিশ করা হয়। আপনার প্রোজেক্টগুলির জন্য স্পষ্ট ডিরেক্টরি কাঠামো। উদাহরণস্বরূপ:
- $HOME/c_proyectos
- $HOME/cpp_projects
- $HOME/python_projects
এবং প্রতিটির ভেতরে, প্রতিটি প্রজেক্টের জন্য সাবফোল্ডার থাকবে। এটি আপনাকে ফন্ট, এক্সিকিউটেবল এবং ডেটা মিশে যাওয়া এড়াতে সাহায্য করে এবং প্রথম দিন থেকেই আপনাকে গোছানোভাবে কাজ করতে অভ্যস্ত করে তোলে।
আপনার স্ক্রিপ্টগুলোতে যদি নেটওয়ার্ক সংক্রান্ত বিষয়, এপিআই বা বাহ্যিক পরিষেবার উল্লেখ থাকে, তবে এতে কোনো ক্ষতি হবে না। Termux নিয়ে কাজ করার সময় আপনার ট্যাবলেটে একটি VPN ব্যবহার করুন।বিশেষ করে যদি আপনি পাবলিক বা অনির্ভরযোগ্য ওয়াই-ফাই নেটওয়ার্কে সংযুক্ত হন। আর সেই সাথে, ডেটা ব্যবহার, ওয়েক-লক এবং অন্যান্য বিষয় কীভাবে মনিটর করতে হয়, তাও শিখে নিন। স্বয়ংক্রিয়ভাবে চালু/বন্ধ করুন অথবা বিদ্যুৎ সাশ্রয়ী মোড থাকলে বাড়তি সুবিধা হতে পারে।
পাইথনের দিকে, অভ্যস্ত হয়ে যান প্রথম সুযোগেই প্রোগ্রামটি ক্র্যাশ করতে না দিয়ে লগ লিখুন এবং এক্সেপশন ধরুন।নেটওয়ার্ক ত্রুটি, ভুল ডেটা ফরম্যাট বা অনুমতি সংক্রান্ত সমস্যা সামলানো আপনাকে আরও শক্তিশালী কোড ডিজাইন করতে বাধ্য করবে, এবং পরবর্তীতে এই ধারণাগুলোকে প্রোডাকশন সিস্টেমে নিয়ে আসতে চাইলে তা অমূল্য প্রমাণিত হবে।
মনে রাখবেন যে টার্মাক্স সর্বোপরি, একটি ক্ষুদ্র বাস্তব লিনাক্স পরিবেশকমান্ড, পাইপ, রিডাইরেক্ট, পারমিশন এবং ডিরেক্টরি স্ট্রাকচার সম্পর্কে আপনি এখানে যা কিছু শিখবেন, তা প্রায় অপরিবর্তিতভাবে সার্ভার, ভিপিএস বা ভার্চুয়াল মেশিনে স্থানান্তরিত হয়। সেই জ্ঞানকে সুদৃঢ় করার জন্য আপনার ট্যাবলেটটি একটি নিখুঁত পরীক্ষাক্ষেত্র হয়ে ওঠে।
অ্যান্ড্রয়েডের IDE-গুলির সাথে Termux এবং Python-এর সমন্বয়
একটি বেশ সাধারণ প্রশ্ন হলো এটি সম্ভব কিনা। অ্যান্ড্রয়েডের গ্রাফিক্যাল IDE থেকে Termux Python ব্যবহার করাডেস্কটপে ভিজ্যুয়াল স্টুডিও কোড বা পাইচার্ম দিয়ে আপনি যা করেন, এটি অনেকটা সেরকমই। ধারণাটি শুনতে চমৎকার, কিন্তু বাস্তবে অ্যান্ড্রয়েড ইকোসিস্টেম এই ইন্টিগ্রেশনকে বেশ জটিল করে তোলে।
পাইড্রয়েড এবং এর মতো আরও কিছু অ্যাপ আছে যেগুলো নিজস্ব ইন্টারপ্রেটার এবং গ্রাফিক্যাল ইন্টারফেসসহ একটি ডেভেলপমেন্ট এনভায়রনমেন্ট প্রদান করে। সমস্যাটা হলো যে এই অ্যাপগুলোর প্রতিটি তার নিজস্ব বিচ্ছিন্ন পরিবেশ পরিচালনা করে এবং টার্মাক্সের সাথে কোনো প্যাকেজ বা কনফিগারেশন শেয়ার করে না।অন্য কথায়, যদিও আপনি সেগুলিতে পাইথনে প্রোগ্রাম করতে পারবেন, সেগুলি আপনার টার্মাক্স-এ থাকা একই পাইথন চালাবে না বা একই মডিউলগুলি ব্যবহার করবে না।
আজ, একটি পাওয়ার বিকল্পগুলি যেসব অল-ইন-ওয়ান IDE হুবহু Termux পাইথন এনভায়রনমেন্ট ব্যবহার করে, সেগুলোর সংখ্যা খুবই সীমিত।আপনি Termux-এর মধ্যে থাকা শক্তিশালী এডিটর (যেমন, প্লাগইনসহ Vim/Neovim) ব্যবহার করে, অথবা শেয়ার্ড ফোল্ডারগুলোতে অ্যাক্সেস আছে এমন কোনো এক্সটার্নাল এডিটরে ফাইল এডিট করার মাধ্যমে এবং একই সাথে টার্মিনাল থেকে কোড চালানো চালিয়ে গিয়ে সেই অভিজ্ঞতার আরও কাছাকাছি যেতে পারেন।
আরেকটি উপায় হলো ট্যাবলেটটিকে কম্পিউটারের সাথে সংযুক্ত করে এমন একটি ডেস্কটপ IDE দিয়ে কাজ করা, যা SSH বা SFTP-এর মাধ্যমে Termux-এর সাথে যোগাযোগ করে। সেক্ষেত্রে, ট্যাবলেটটি সার্ভার এবং পিসিটি ডেভেলপমেন্ট ক্লায়েন্ট হিসেবে কাজ করে।এটি একটি খুবই সুবিধাজনক কর্মপ্রক্রিয়া, কিন্তু এটি শুধুমাত্র মোবাইল ডিভাইস ব্যবহারের ধারণা থেকে বিচ্যুত হয়।
শুধুমাত্র বহনযোগ্য ব্যবহারের জন্য, মেনে নেওয়ার সবচেয়ে বাস্তবসম্মত বিষয়টি হলো যে টার্মাক্স একটি টার্মিনাল-ভিত্তিক প্রতিষ্ঠান, এবং এর শক্তি নিহিত রয়েছে একটি ভালো এডিটর, দরকারি অ্যালিয়াস, কিবোর্ড শর্টকাট ও সতর্ক কনফিগারেশনের সমন্বয়ে।আপনার ট্যাবলেটে গুরুত্বপূর্ণ পাইথন প্রজেক্ট শেখা ও তৈরি করার জন্য এটি যথেষ্টের চেয়েও বেশি।
অবশেষে, একটি সাধারণ অ্যান্ড্রয়েড ট্যাবলেট, টার্মাক্স এবং সঠিক সরঞ্জাম দিয়ে আপনি নিজেকে প্রস্তুত করে নিতে পারেন। C, C++ এবং Python শেখা, Linux অনুশীলন করা, কাজ স্বয়ংক্রিয় করা, API, লগ ও নেটওয়ার্ক নিয়ে কাজ করা এবং সাইবার নিরাপত্তা ও ক্লাউড পরিষেবার ধারণা সম্পর্কে প্রাথমিক ধারণা লাভের জন্য এটি একটি অত্যন্ত উপযুক্ত কর্মপরিবেশ।.
কিছুটা অধ্যবসায়ের মাধ্যমে, সেই বহনযোগ্য ল্যাবটি আরও উচ্চাকাঙ্ক্ষী প্রকল্পের দিকে প্রথম পদক্ষেপ হয়ে ওঠে, যা আপনি পরবর্তীতে সার্ভার, ব্যবসায়িক অ্যাপ্লিকেশন বা বিজনেস ইন্টেলিজেন্স সলিউশনে প্রয়োগ করতে পারেন। এক্ষেত্রেও একই মানসিকতা বজায় রাখতে হবে: পরীক্ষা-নিরীক্ষা করা, স্বয়ংক্রিয় করা এবং একটি সাধারণ কমান্ড লাইন থেকে দরকারি টুল তৈরি করা। তথ্যটি শেয়ার করুন যাতে আরও বেশি ব্যবহারকারী বিষয়টি সম্পর্কে জানতে পারেন।
