পাইথনের একের অধিক ভার্সন ম্যানেজমেন্ট এবং ভার্চুয়াল এনভারনমেন্ট

কম্পিউটারে একের অধিক পাইথন ব্যবহার আমাদের এক একটা প্রজেক্টে ভিন্ন ভিন্ন পাইথন ভার্সন বা বিভিন্ন প্যাকেজের আলাদা ভার্সন ব্যবহার করতে হতে পারে। আর কম্পিউটারে একের অধিক পাইথন ইন্সটল করা এবং এগুলো ম্যানেজ করার জন্য ব্যবহার করতে পারি Pyenv। এটা হচ্ছে কম্পিউটারে পাইথনের ভার্সন ম্যানেজমেন্ট করার একটা প্যাকেজ। ইন্সটল pyenv: pyenv ইন্সটলেরজ অন্য Homebrew ব্যবহার করতে … Read more

টেনসরফ্লো লাইট – অ্যান্ড্রয়েড ডিভাইসে মেশিন লার্নিং মডেল ডিপ্লয় করা

মেশিন লার্নিং প্রজেক্ট করার জন্য এখন পর্যন্ত সবচেয়ে ইফিশিয়েন্ট এবং জনপ্রিয় প্লাটফর্ম হচ্ছে টেনসরফ্লো। আবার বেশির ভাগ ইউজার মোবাইল ব্যবহার করে। মোবাইলে কম্পিউটারের মত এত রিসোর্স না থাকায় দরকার পড়ে একটু অপটিমাইজ একটা প্লাটফর্ম। মোবাইলের জন্য টেনসরফ্লো এর অপটিমাইজ ভার্সন হচ্ছে টেনসরফ্লো লাইট। যার মাধ্যমে টেনসরফ্লো ব্যবহার করে ট্রেইন করা মডেল গুলো যে কোন মোবাইল … Read more

Xcode এ সি অথবা সি++ কোড রান করা

ম্যাকওএসের জন্য সবচেয়ে ভালো প্রোগ্রামিং ও ডেভেলপমেন্ট টুল হচ্ছে Xcode। এই Xocde এ ডিফল্ট ভাবেই সি অথবা সি++ কোড লেখা এবং রান করা যায়। আপনার ম্যাকে যদি এক্সকোড ইন্সটল করা না থাকে, তাহলে অ্যাপস্টোর থেকে ইন্সটল করে নিন। এরপর এক্সকোড ওপেন করুন।       সাধারণত উপরের মত একটা উইন্ডো দেখতে পাবেন। সি প্রোগ্রাম লেখার … Read more

প্রোগ্রামিং স্কিল বাড়ানোর জন্য অনলাইন জাজ লিটকোড

প্রবলেম সলভিং এর জন্য অনেক গুলো অনলাইজ জাজ প্লাটফর্ম রয়েছে। আমরা দেখব কিভাবে লিটকোড এ থাকা সমস্যা গুলো সমাধান করে সাবমিট করা যায়। কেন লিটকোডে প্রবলেম সলভিং করব ইত্যাদি। যেমন টপ কয়েকটি অনলাইজ জাজ হচ্ছেঃ Codeforces Project Euler UVa Online Judge Topcoder CodeChef Hackerrank SPOJ LeetCode ইত্যাদি। এগুলো ছাড়াও আরো অনেক গুলো অনলাইন জাজ রয়েছে। আপনারা … Read more

পাইথনে ডাইনামিক প্রোগ্রামিং

ডাইনামিক প্রোগ্রামিং কোন অ্যালগরিদম নয়। মূলত এটা একটা কৌশল। নির্দিষ্ট কিছু সমস্যা, যে সমস্যা গুলোতে ছোট ছোট অংশ গুলোর সমাধানের পুনরাবৃত্তি ঘটে। ডাইনামিক প্রোগ্রামিং ব্যবহার করে সেই সমস্যা গুলো ইফিসিয়েন্টলি সমাধান করা যায়। সাধারণত যে সমস্যা গুলো ডিভাইড এবং কনকার কৌশল ব্যবহার করে সমাধান করা যায়, সেগুলো ডিভাইড এবং কনকার কৌশলের সাথে ডাইনামিক প্রোগ্রামিং কৌশল … Read more

পাইথনে বাইনারি সার্চ

একটা সর্টেড লিস্টে একটা আইটেম আছে কিনা, তা খুঁজে দেখার জন্য বাইনারি সার্চ ব্যবহার করা হয়। যদি থেকে থাকে, তাহলে ঐ আইটেমের ইনডেক্স রিটার্ণ করে। এর আগে আমরা লিনিয়ার সার্চ সম্পর্কে জেনেছি। বাইনারি সার্চ লিনিয়ার সার্চ থেকে দ্রুত কাজ করে। যেমন 1, 3, 4, 5 , 7 , 9 , 12 এই লিস্টে 7 বা … Read more

পাইথনে কুইক সর্ট

মার্জ সর্টের মত কুইক সর্টও ডিভাইড এবং কনকার কৌশল ব্যবহার করে কোন লিস্টকে সর্ট করে। কুইক সর্ট নিচের মত করে কাজ করেঃ কুইক সর্টে কোন লিস্টকে সাব লিস্টে ভাগ করা হয়। এই ভাগ করার জন্য লিস্ট থেকেই একটা ইলিমেন্ট নেওয়া হয় পিভেট (pivot) ইলিমেন্ট হিসেবে। এই পিভেট ইলিমেন্ট এমন ভাবে লিস্টের মাঝে রাখা হয়, যেন … Read more

পাইথন মার্জ সর্ট

খুবি জনপ্রিয় একটা সর্টিং অ্যালগরিদম হচ্ছে মার্জ সর্ট। এটি ডিভাইড এবং কনকার অ্যালগরিদম স্ট্রেটেজি ফলো করে কোন লিস্ট সাজিয়ে দেয়। ডিভাইড এবং কনকার স্ট্রেটেজিঃ ডিভাইড এবং কনকার স্ট্রেটেজিতে একটা বড় সমস্যাক ছোট ছোট ভাগে ভাগ করা হয়। এরপর ঐ ছোট ছোট অংশ গুলোকে সবার আগে সমাধান করা হয়। পরিশেষে সমাধানকৃত ছোট অংশ গুলো একত্র করে … Read more

পাইথনে সিলেকশন সর্ট

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

পাইথনে রিকার্শন

রিকারশনঃ কোন কিছু যদি নিজেকে নিজে পুনরায় ডাকে, তাই হচ্ছে রিকারশন। এটি মূলত একটা প্রসেস, যেখানে প্রথমে কোন একটা সমস্যার ছোট এবং সহজ সমাধান বের করা হয়। তারপর ঐ ছোট সমাধানের উপর ভিত্তি করে বাকি অংশ গুলো সমাধান করা হয়। সেলুনে গেলে যখন আমরা দাঁড়াই, তখন সামনে পেছনে দুই পাশেই আয়না থাকে। এর ফলে নিজের … Read more