ক্যারিয়ার গাইডঃ সফটওয়ার ডেভেলপমেন্ট

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

ক্যারিয়ার গাইডঃ ওয়েব ডেভেলপমেন্ট

এই পৃথিবীতে এক বিলিওনেরও বেশি ওয়েব সাইট রয়েছ। ওয়েব ডেভেলপমেন্ট বা ওয়েব সাইট করার জন্য রয়েছে অনেক গুলো প্রোগ্রামিং ল্যাঙ্গুয়েজ। এই ল্যাঙ্গুয়েজ গুলো একটু আলাদা। এগুলো সাধাণত সার্ভারে রান হয়। আবার ওয়েব সাইট গুলোর দুইটা অংশ। একটা হচ্ছে front-end, আরেকটা back-end।   অনেকেই আবার ওয়েব ডিজাইন এবং ডেভেলপমেন্ট নিয়ে কনফিউসড হয়। ওয়েব ডিজাইন হচ্ছে ওয়েবসাইটটি … Read more

আর্টিফিশিয়াল ইন্টিলিজেন্স এবং মেশিন লার্নিং

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

পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে প্রথম মেশিন লার্নিং প্রোগ্রাম

মেশিন লার্নিং নিয়ে কাজ করা কঠিন কিছু না। আমরা ছোট্ট একটা মেশিন লার্নিং প্রোগ্রাম লিখব। ৫ লাইনের মত মাত্র। নিজেরাই দেখব, কত সহজ একটা মেশিন লার্নিং প্রোগ্রাম লেখা যায়। প্রোগ্রামটা লিখব আমরা পাইথন প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে। সাথে ব্যবহার করব scikit-learn। scikit-learn হচ্ছে পাইথনের মেশিন লার্নিং লাইব্রেরী। পাইথন নিয়ে এই ব্লগে অনেক লেখা রয়েছে। পাইথনের … Read more

লুপ থেকে রিকার্শন

রিকার্শন নিয়ে এর আগে একটি লেখা লিখেছি। যেখানে রিকার্শন সম্পর্কে বিস্তারিত জানা যাবেঃ রিকার্শন/ Recursion , রিকার্সিভ অ্যালগরিদম, রিকার্সিভ ফাংশন ও সি প্রোগ্রামিং এ প্রয়োগ   যা কিছু লুপ দিয়ে করা যায়, তার সব কিছুই রিকার্শন দিয়ে করা যায়। যেমন আমরা একটা লুপ লিখি এভাবেঃ এটিকে সহজেই রিকার্শনে পরিবর্তন করে আমরা লিখতে পারি এভাবেঃ সম্পূর্ণ প্রোগ্রামঃ … Read more

গ্রাফ থিওরি, গ্রাফের রিপ্রেজেন্টেশন এবং ইমপ্লিমেন্টেশন

গ্রাফঃ গ্রাফ হচ্ছে কত গুলো নোড (Node) বা ভার্টেক্স(vertice)  এবং এজের (Edge) সমষ্টি। নিচে একটি গ্রাফের ছবি দেওয়া হলোঃ এ গ্রাফে পাঁচটি নোড বা ভার্টেক্স রয়েছে। নোড গুলো হচ্ছেঃ 0,1,2,3,4,5. আর উপরের গ্রাফে এজ রয়েছে ৭টি। নোড গুলোর সংযোগ কারী রেখা হচ্ছে এজ।   গ্রাফকে নিচের মত করে ভাগ করা যায় : Directed, weighted edges … Read more

Matplotlib – পাইথন প্লট লাইব্রেরী

Matplotlib হচ্ছে পাইথনের জন্য 2D প্লটিং লাইব্রেরী। গ্রাফ অঙ্কন বা এমন কাজে এটি ব্যবহার করা যায়। মূলত ডেটা ভিজুয়ালাইজেশন এর জন্য matplotlib ব্যবহার করা হয়।     Matplotlib ব্যবহারের জন্য প্রথমে পাইথন ইন্সটল করে নিতে হবে। এরপর ইনস্টল করতে হবে Matplotlib। ইন্সটল অনেক ভাবেই করা যায়, বিস্তারিত লেখা আছে ইন্সটলেশন পেইজে। সবচেয়ে সহজে ইন্সটল করা যায় পিপ … Read more

Alamofire – আইওএস এর জন্য http নেটওয়ার্কিং লাইব্রেরী

আইওএস এর জন্য দারুণ একটা http নেটওয়ার্কিং লাইব্রেরী হচ্ছে Alamofire. আমরা দেখব কিভাবে Alamofire ব্যবহার করে http কল করা যায়। এর আগে আমরা আইওএস এর ডিফল্ট http রিকোয়েস্ট দেখেছি। ঐ লেখাতই বিস্তারিত পাওয়া যাবে আইওএস HTTP রিকোয়েস্ট পেইজে।   Alamofire অনেক ভাবেই ব্যবহার করা যায়। আমরা সবচেয়ে সহজ উপায় ব্যবহার করব। আমরা ডিফেনডেন্সি ম্যানেজার Cocoapods ব্যবহার করব। Cocoapods … Read more

CocoaPods – আইওএস এর dependency ম্যানেজার

আইওএস এর জন্য দারুণ একটা dependency ম্যানেজার হচ্ছে CocoaPods। ডিপেন্ডেন্সি ম্যানেজারের কাজ হচ্ছে প্রজেক্টের জন্য দরকারি লাইব্রেরী গুলো ম্যানেজ করা। যেমন আমরা http রিকোয়েস্ট করার জন্য একটা লাইব্রেরী ব্যবহার করব। এই লাইব্রেরীটা আমরা ম্যানুয়ালি ডাউনলোড না করে CocoaPods ব্যবহার করে আমাদের প্রজেক্টে যুক্ত করতে পারি।   CocoaPods ইন্সটল করা সহজ। Terminal ওপেন করে নিচের কমান্ড দিলেই … Read more

আইওএস HTTP রিকোয়েস্ট

আমরা যেসব অ্যাপ তৈরি করি বা করব, তার বেশির ভাগই নেটওয়ার্ক রিলেটেড। কোন ওয়েব সাইট/ নেটওয়ার্ক থেকে কিছু ডেটা রিসিভ করতে হয়, নেটওয়ার্ক এ কিছু ডেটা পাঠাতে হয় ইত্যাদি। এগুলোকে সাধারণত HTTP রিকোয়েস্ট বলে। আমরা দেখব কিভাবে iOS এ একটা সিম্পল HTTP রিকোয়েস্ট করা যায়। এর জন্য আমরা একটা ইমেজ url থেকে লোড করব। এবং … Read more