SQL টিউটোরিয়াল

ডেটাবেজে ডেটা রাখা এবং ডেটা কোয়েরি করার জন্য জন্য স্টান্ডার্ড ল্যাঙ্গুয়েজ হচ্ছে SQL। SQL এর পূর্ণরুপ হচ্ছে Structured Query Language। বেশিরভাগ ডেটাবেজ ম্যানেজমেন্ট সিস্টেম SQL স্ট্যান্ডার্ড ফলো করে। এর মানে SQL কমান্ড জানলে যে কোন ডেটাবেজে কাজ করা যাবে। এই টিউটোরিয়ালে নির্দিষ্ট কোন ডেটাবেজ ম্যানেজমেন্ট সিস্টেম যেমন MySQL, Oracle Database, SQLite ইত্যাদি সম্পর্কে আলাদা ভাবে … Read more

ল্যারাভেল পিভট টেবিল – নোট অ্যাপে ট্যাগ যোগ করা

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

ল্যারাভেলে ইউজার এবং অথেনটিকেশন – প্রাইভেট নোট অ্যাপ

ল্যারাভেলে অথেনটিকেশন যুক্ত করা সহজ। নতুন প্রজেক্ট তৈরি করার সময় আমাদের সাধারণত স্টার্টার কিট চুজ করতে দেয়। এই সময় আমরা লারাভেল ব্রিজ সিলেক্ট করে নিব। নিচে হার্ড ব্যবহার করে প্রজেক্ট তৈরি করার সময় ব্রিজ সিলেক্ট করার অপশনঃ কমান্ড লাইন বা টার্মিনালেও অপশন পাওয়া যাবে। পূর্বে তৈরি কোন প্রজেক্টেও Laravel Breeze যুক্ত করতে পারব। তার জন্যঃ … Read more

ল্যারাভেলে পূর্ণাঙ্গ CRUD – নোট অ্যাপ

আমরা ইতিমধ্যে জানি CRUD এর পূর্ণরূপ হচ্ছে Create, read, update এবং delete। যে কোন ডাইনাইমিক অ্যাপের মূল ফিচার। আমরা একটা নোট অ্যাপ তৈরি করব, যেখানে নোট তৈরি করা যাবে, নোট ওয়েব সাইটে দেখানো যাবে, যে কোন নোট আপডেট করা যাবে এবং ইচ্ছে করলে ডিলেট করা যাবে। শুরু করা যাক। কিভাবে ল্যারাভেল প্রজেক্ট তৈরি করা যায়, … Read more

ল্যারাভেলে টেলউইন্ড সিএসএস

ল্যারাভেলে ডিফল্ট ভাবে Tailwind CSS ব্যবহার করা হয়। আমরা যখন আর্টিসান কমান্ড ব্যবহার করে কোন ভিউ জেনারেট করি, সাধারণত জেনারেটেড এইচটিএমএল এ টেলউইন্ড সিএসএস ক্লাস ব্যবহার করা হয়। তো ল্যারবেলে সহজে Tailwind CSS  ব্যবহার করতে চাইলে CDN থেকে ব্যবহার করতে পারি। অথবা npm এর মাধ্যমে ইন্সটল করে নিতে পারি। যদি খুব সহজ ভাবে ব্যবহার করতে চাই, … Read more

টাইম কমপ্লেক্সিটি O(log n) বলতে আসলে কি বুঝি?

একটা অ্যালগরিদমের টাইম কমপ্লেক্সিটি সাধারণত Big O নোটেশন দিয়ে প্রকাশ করা হয়। তো কিছু কিছু অ্যালগরিদমের টাইম কমপ্লেক্সিটি হচ্ছে O(log n)। এই O(log n) এর মানে বুঝার চেষ্টা করব এই লেখায়। সহজ কথায় যদি বলি, কোন অ্যালগরিদমের ইনপুট সংখ্যা ( n ) যদি এক্সপোনেনশিয়ালি বাড়ে, তাহলে O(log n) এর মানে হচ্ছে ঐ অ্যালগরিদম এক্সিকিউট করতে … Read more

বাইনারি সার্চ অ্যালগরিদম

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

ক্লোজার – সুইফট প্রোগ্রামিং

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

জেনেরিকস – সুইফট প্রোগ্রামিং

জেনেরিকের মাধ্যমে আমরা এমন ফাংশন বা মেথড লিখতে পারি, যা যে কোন ধরণের টাইপের ডেটায় ব্যবহার করা যাবে। যেমন আমরা কম্পেয়ার করার জন্য একটা ফাংশন লিখলাম। যদি ফাংশনটি জেনেরিক না হয়, তাহলে ইন্টিজারের জন্য একটা ফাংশন, স্ট্রিং এর জন্য একটা ফাংশন আবার নিজেদের কাস্টম টাইপের জন্য আরেকটা ফাংশন লিখতে হবে। একই কাজ করে, এমন ফাংশন … Read more

সুইফট কনকারেন্সি

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