<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Raihanul Islam Sharif</title>
    <description>The latest articles on DEV Community by Raihanul Islam Sharif (@raihanuldev).</description>
    <link>https://dev.to/raihanuldev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1132656%2F023acb37-a42a-434d-996e-9dffda36cac7.jpg</url>
      <title>DEV Community: Raihanul Islam Sharif</title>
      <link>https://dev.to/raihanuldev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/raihanuldev"/>
    <language>en</language>
    <item>
      <title>Closure Bangla</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Mon, 29 Sep 2025 08:11:25 +0000</pubDate>
      <link>https://dev.to/raihanuldev/closure-bangla-3mc9</link>
      <guid>https://dev.to/raihanuldev/closure-bangla-3mc9</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flo86h0apobw5zd6b0qvf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flo86h0apobw5zd6b0qvf.png" alt=" " width="234" height="216"&gt;&lt;/a&gt;&lt;br&gt;
🚀 Go Language এ Closure + Escape Analysis&lt;br&gt;
প্রোগ্রামিং-এ closure একটা দারুণ কনসেপ্ট।&lt;br&gt;
Closure মানে হলো → একটা function, যেটা outer function এর ভেতরের variable কে "মনে রাখে", এমনকি outer function শেষ হয়ে গেলেও।&lt;br&gt;
👉 Example in Go:&lt;br&gt;
func counter() func() int {&lt;br&gt;
 x := 0&lt;br&gt;
 return func() int {&lt;br&gt;
 x++&lt;br&gt;
 return x&lt;br&gt;
 }&lt;br&gt;
}&lt;br&gt;
এখানে counter() ফাংশন return করছে একটা inner function।&lt;br&gt;
 Inner function এখনও x ভ্যারিয়েবল মনে রাখছে।&lt;br&gt;
 তাহলে প্রশ্ন আসলো → outer function তো শেষ হয়ে গেছে,x বেঁচে রইলো কিভাবে? 🤔&lt;br&gt;
এখানেই আসে Escape Analysis।&lt;/p&gt;

&lt;p&gt;Go compiler একটা process চালায় যেটাকে বলে escape analysis।&lt;br&gt;
 এটা basically চেক করে → কোন ভ্যারিয়েবল stack এ থাকবে আর কোনটা heap এ escape করবে।&lt;br&gt;
🔎 উপরের কোড x → heap এ চলে গেছে।&lt;br&gt;
 কারণ closure ফাংশন return হচ্ছে, আর তার বাইরে থেকেও x এর দরকার হচ্ছে।&lt;br&gt;
📌 Bottom line:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Local variable হলে → normally stack এ থাকে&lt;br&gt;
Closure বা long-living object হলে → escape করে heap এ যায়💡 আমার মতে শুরুতে closure বুঝা জরুরি, কারণ এটা হলো concept। তারপর naturally curiosity আসবে — “variable বাঁচলো কিভাবে?” → তখন escape analysis বোঝা easy হয়ে যাবে।&lt;br&gt;
👉 আপনার মতে Go শেখার শুরুতে closure &amp;amp; escape analysis – কোনটা আগে বোঝা উচিত?&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>go</category>
      <category>backend</category>
      <category>programming</category>
      <category>development</category>
    </item>
    <item>
      <title>Go Internal Memory Bangla</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Mon, 29 Sep 2025 08:09:26 +0000</pubDate>
      <link>https://dev.to/raihanuldev/go-internal-memory-bangla-1j05</link>
      <guid>https://dev.to/raihanuldev/go-internal-memory-bangla-1j05</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnecrr884b0uqfgfql3pe.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnecrr884b0uqfgfql3pe.jpg" alt=" " width="600" height="239"&gt;&lt;/a&gt;&lt;br&gt;
আজকে আমি শেয়ার করছি Go (Golang) প্রোগ্রামের ভেতরে মেমোরি কিভাবে কাজ করে সেটা নিয়ে আমার শেখা কিছু জিনিস।&lt;br&gt;
 প্রথমে মনে হতে পারে এটা শুধু "টেকনিক্যাল" ব্যাপার, কিন্তু আসলে মেমোরি কিভাবে ম্যানেজ হয় সেটা বুঝলে কোড অপটিমাইজ করা আর বাগ ফিক্স করা অনেক সহজ হয়ে যায়। 🙂&lt;/p&gt;

&lt;p&gt;⚡ Go Program এর Phase&lt;br&gt;
Go প্রোগ্রাম রান হওয়ার আগে/পরে সাধারণত দুইটা ধাপে কাজ হয়&lt;br&gt;
1.Compilation Phase → আমাদের কোড মেশিন readable হয়ে যায়।&lt;br&gt;
2.Execution Phase → আসল প্রোগ্রাম চালু হয় এবং memory allocate হয়।&lt;/p&gt;

&lt;p&gt;🧠 Internal Memory Layout&lt;br&gt;
Go প্রোগ্রাম রান করার সময় মেমোরি সাধারণত ৪ ভাগে ভাগ হয়ে যায় –&lt;/p&gt;

&lt;p&gt;1️⃣ Code Segment&lt;br&gt;
এখানে প্রোগ্রামের সব function আর compiled instructions store থাকে।&lt;br&gt;
উদাহরণ: main(), square() – এগুলো code segment এ থাকে।&lt;br&gt;
2️⃣ Data Segment&lt;br&gt;
এখানে global আর static variables store হয়।&lt;br&gt;
যেমন:&lt;br&gt;
var version string = "1.0.0"&lt;br&gt;
এই version data segment এ থাকবে।&lt;br&gt;
3️⃣ Stack&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;যখন কোনো function কল হয় তখন Stack Frame তৈরি হয়।&lt;br&gt;
লোকাল ভ্যারিয়েবল, parameter, return address সব এখানে অস্থায়ীভাবে থাকে।&lt;br&gt;
কাজ শেষ হয়ে গেলে সেই stack frame pop হয়ে যায় (LIFO – Last In First Out)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;4️⃣ Heap&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Heap memory গুলো Garbage Collector (GC) ম্যানেজ করে, মানে ম্যানুয়ালি free করতে হয় না।&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;📌 Summary (Easy Way to Remember)&lt;br&gt;
Code Segment → function definitions&lt;br&gt;
Data Segment → global/static variables&lt;br&gt;
Stack → temporary data (function call এর সময়)&lt;br&gt;
Heap → dynamically allocated data (GC দ্বারা free হয়)&lt;/p&gt;

</description>
      <category>go</category>
      <category>bangla</category>
      <category>backenddevelopment</category>
      <category>godotengine</category>
    </item>
    <item>
      <title>Stack কি?</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Thu, 30 Jan 2025 17:41:08 +0000</pubDate>
      <link>https://dev.to/raihanuldev/stack-ki-4mp8</link>
      <guid>https://dev.to/raihanuldev/stack-ki-4mp8</guid>
      <description>&lt;p&gt;&lt;strong&gt;Stack হলো একটি লিনিয়ার ডাটা স্ট্রাকচার যা LIFO (Last In, First Out) পদ্ধতিতে কাজ করে। অর্থাৎ যে আইটেমটি শেষবার স্ট্যাকে ঢোকানো হয়, সেটি সবার আগে বের হয়।&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stack এর মূল কাজ:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Push:&lt;/strong&gt; স্ট্যাকে নতুন একটি আইটেম যোগ করা।&lt;/p&gt;

&lt;p&gt;**&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Pop:** স্ট্যাক থেকে একটি আইটেম মুছে ফেলা।&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;3. Top/Peek:&lt;/strong&gt; স্ট্যাকের শীর্ষে থাকা আইটেমটি দেখা (মুছা ছাড়াই)।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. isEmpty:&lt;/strong&gt; চেক করা যে স্ট্যাক খালি কিনা।&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F890i8debk9ttk9dnumf9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F890i8debk9ttk9dnumf9.jpg" alt=" " width="800" height="473"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;**&lt;br&gt;
Stack কিভাবে কাজ করে?**&lt;/p&gt;

&lt;p&gt;উদাহরণ:&lt;/p&gt;

&lt;p&gt;ধরা যাক, একটি স্ট্যাকে আমরা নিচের কাজগুলো করবো:&lt;/p&gt;

&lt;p&gt;Push: 10 → 20 → 30&lt;/p&gt;

&lt;p&gt;Pop: একবার Pop করলে 30 মুছে যাবে।&lt;/p&gt;

&lt;p&gt;স্ট্যাকের অবস্থান:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Push(10): [10]&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Push(20): [10, 20]&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Push(30): [10, 20, 30]&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pop(): [10, 20]&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Stack ইমপ্লিমেন্টেশন (C++):&lt;/p&gt;

&lt;p&gt;`#include &lt;br&gt;
using namespace std;&lt;/p&gt;

&lt;h1&gt;
  
  
  define MAX 100 // স্ট্যাকের ম্যাক্সিমাম সাইজ
&lt;/h1&gt;

&lt;p&gt;class Stack {&lt;br&gt;
 int top; // শীর্ষ আইটেমের অবস্থান&lt;br&gt;
 int arr[MAX]; // স্ট্যাক হিসেবে অ্যারে ব্যবহার&lt;/p&gt;

&lt;p&gt;public:&lt;br&gt;
 Stack() { top = -1; } // কন্সট্রাক্টর: স্ট্যাক শুরুতে খালি&lt;br&gt;
 bool isEmpty() { return top == -1; } // চেক খালি কিনা&lt;br&gt;
 bool isFull() { return top == MAX - 1; } // চেক পূর্ণ কিনা&lt;/p&gt;

&lt;p&gt;void push(int value) {&lt;br&gt;
 if (isFull()) {&lt;br&gt;
 cout &amp;lt;&amp;lt; "Stack Overflow!" &amp;lt;&amp;lt; endl;&lt;br&gt;
 return;&lt;br&gt;
 }&lt;br&gt;
 arr[++top] = value; // টপ ইনক্রিমেন্ট করে ভ্যালু যোগ&lt;br&gt;
 cout &amp;lt;&amp;lt; value &amp;lt;&amp;lt; " pushed to stack." &amp;lt;&amp;lt; endl;&lt;br&gt;
 }&lt;/p&gt;

&lt;p&gt;void pop() {&lt;br&gt;
 if (isEmpty()) {&lt;br&gt;
 cout &amp;lt;&amp;lt; "Stack Underflow!" &amp;lt;&amp;lt; endl;&lt;br&gt;
 return;&lt;br&gt;
 }&lt;br&gt;
 cout &amp;lt;&amp;lt; arr[top--] &amp;lt;&amp;lt; " popped from stack." &amp;lt;&amp;lt; endl; // টপ থেকে ভ্যালু মুছে টপ কমানো&lt;br&gt;
 }&lt;/p&gt;

&lt;p&gt;void peek() {&lt;br&gt;
 if (isEmpty()) {&lt;br&gt;
 cout &amp;lt;&amp;lt; "Stack is empty!" &amp;lt;&amp;lt; endl;&lt;br&gt;
 return;&lt;br&gt;
 }&lt;br&gt;
 cout &amp;lt;&amp;lt; "Top element is: " &amp;lt;&amp;lt; arr[top] &amp;lt;&amp;lt; endl;&lt;br&gt;
 }&lt;br&gt;
};&lt;/p&gt;

&lt;p&gt;int main() {&lt;br&gt;
 Stack s;&lt;/p&gt;

&lt;p&gt;s.push(10);&lt;br&gt;
 s.push(20);&lt;br&gt;
 s.push(30);&lt;br&gt;
 s.peek(); // শীর্ষ দেখানো&lt;br&gt;
 s.pop(); // শীর্ষ মুছে ফেলা&lt;br&gt;
 s.peek(); // নতুন শীর্ষ দেখানো&lt;/p&gt;

&lt;p&gt;return 0;&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;আউটপুট:&lt;/p&gt;

&lt;p&gt;10 pushed to stack.&lt;br&gt;
20 pushed to stack.&lt;br&gt;
30 pushed to stack.&lt;br&gt;
Top element is: 30&lt;br&gt;
30 popped from stack.&lt;br&gt;
Top element is: 20&lt;br&gt;
`&lt;/p&gt;

&lt;p&gt;Stack এর ব্যবহার:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;ফাংশন কলের ট্র্যাক রাখা।&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;আনডো/রিডো অপারেশন।&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;প্যালিনড্রোম চেক।&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;ব্যালেন্সড প্যারেনথেসিস চেক করা।&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Stack সহজ, কিন্তু শক্তিশালী একটি ডাটা স্ট্রাকচার!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>datastructures</category>
      <category>cpp</category>
      <category>stack</category>
      <category>bangla</category>
    </item>
    <item>
      <title>Middle Of the Linked List Solution | DS Topic |Leetcode</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Wed, 25 Dec 2024 13:46:18 +0000</pubDate>
      <link>https://dev.to/raihanuldev/middle-of-the-linked-list-solution-ds-topic-leetcode-2bij</link>
      <guid>https://dev.to/raihanuldev/middle-of-the-linked-list-solution-ds-topic-leetcode-2bij</guid>
      <description>&lt;p&gt;&lt;a href="https://leetcode.com/problems/middle-of-the-linked-list/solutions/6185567/middle-of-the-linked-list-solution-ds-to-6ap5" rel="noopener noreferrer"&gt;https://leetcode.com/problems/middle-of-the-linked-list/solutions/6185567/middle-of-the-linked-list-solution-ds-to-6ap5&lt;/a&gt;&lt;/p&gt;

</description>
      <category>linkedlist</category>
      <category>cpp</category>
      <category>dsa</category>
      <category>leetcode</category>
    </item>
    <item>
      <title>Coordinate System Summary</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Tue, 17 Sep 2024 22:26:50 +0000</pubDate>
      <link>https://dev.to/raihanuldev/coordinate-system-summary-2lbo</link>
      <guid>https://dev.to/raihanuldev/coordinate-system-summary-2lbo</guid>
      <description>&lt;p&gt;A &lt;strong&gt;coordinate system&lt;/strong&gt; is a framework that allows you to locate points in space using numbers called coordinates. It defines a reference grid or plane and specifies how to assign values to points based on their position relative to a set of axes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Main Types of Coordinate Systems:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Cartesian Coordinate System (Rectangular):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Uses two perpendicular axes (x and y) in 2D, and three (x, y, z) in 3D.&lt;/li&gt;
&lt;li&gt;Points are defined by distances from these axes (e.g., (3, 4) in 2D).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Polar Coordinate System:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Used for 2D plane; defines points by a distance from the origin (radius, r) and an angle (θ) from the positive x-axis.&lt;/li&gt;
&lt;li&gt;Useful for circular and rotational problems.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Spherical and Cylindrical Coordinate Systems:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Used for 3D space.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spherical:&lt;/strong&gt; Points are defined by radius, polar angle, and azimuthal angle.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cylindrical:&lt;/strong&gt; Points are defined by radius, angle, and height (r, θ, z).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Each system has its advantages and is chosen based on the geometry of the problem being solved.&lt;/p&gt;

</description>
      <category>number</category>
      <category>mathforprogramming</category>
      <category>coordinatesystem</category>
      <category>cpp</category>
    </item>
    <item>
      <title>বুবল সর্ট, সিলেকশন সর্ট এবং ইনসার্টশন সর্ট</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Wed, 26 Jun 2024 22:36:47 +0000</pubDate>
      <link>https://dev.to/raihanuldev/bubl-srtt-silekshn-srtt-ebn-insaarttshn-srtt-3a2a</link>
      <guid>https://dev.to/raihanuldev/bubl-srtt-silekshn-srtt-ebn-insaarttshn-srtt-3a2a</guid>
      <description>&lt;p&gt;কম্পিউটার বিজ্ঞানে সর্টিং অ্যালগরিদমগুলি ডেটা সংগঠনের জন্য অত্যন্ত গুরুত্বপূর্ণ। এখানে আমরা তিনটি বেসিক সর্টিং অ্যালগরিদম নিয়ে আলোচনা করব: বুবল সর্ট, সিলেকশন সর্ট, এবং ইনসার্টশন সর্ট। প্রতিটি অ্যালগরিদমের নিজস্ব পদ্ধতি এবং কার্যকারিতা রয়েছে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;১. বুবল সর্ট (Bubble Sort)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সংক্ষিপ্ত বিবরণ:&lt;/strong&gt;&lt;br&gt;
বুবল সর্ট একটি সহজ সর্টিং অ্যালগরিদম যা বারবার তালিকাটির মধ্য দিয়ে যায়, সংলগ্ন উপাদানগুলির তুলনা করে এবং প্রয়োজনে তাদের স্থান বিনিময় করে। এই প্রক্রিয়া চলতে থাকে যতক্ষণ না তালিকাটি সম্পূর্ণভাবে সর্ট হয়ে যায়।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;মূল পয়েন্ট:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;পদ্ধতি:&lt;/strong&gt; সংলগ্ন উপাদানগুলির তুলনা এবং প্রয়োজন অনুযায়ী স্থান বিনিময়।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;দক্ষতা:&lt;/strong&gt; সেরা ক্ষেত্রে (O(n)), গড় এবং সবচেয়ে খারাপ ক্ষেত্রে (O(n^2))।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;স্থিতিশীলতা:&lt;/strong&gt; হ্যাঁ, এটি সমান উপাদানগুলির আপেক্ষিক ক্রম বজায় রাখে।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ব্যবহার:&lt;/strong&gt; ছোট ডেটাসেট বা শিক্ষামূলক উদ্দেশ্যে সর্বোত্তম।&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6286osgsw8jpj2kc58ij.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6286osgsw8jpj2kc58ij.jpg" alt=" " width="800" height="435"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;২. সিলেকশন সর্ট (Selection Sort)&lt;br&gt;
**&lt;br&gt;
**সংক্ষিপ্ত বিবরণ:&lt;/strong&gt;&lt;br&gt;
সিলেকশন সর্ট প্রতিটি পদক্ষেপে তালিকাটি দুটি অংশে বিভক্ত করে: সর্ট করা এবং অসম্পূর্ণ। এটি অসম্পূর্ণ অংশ থেকে সর্বনিম্ন (বা সর্বাধিক) উপাদানটি খুঁজে বের করে এবং সর্ট করা অংশে যোগ করে।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;মূল পয়েন্ট:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;পদ্ধতি:&lt;/strong&gt; সর্বনিম্ন উপাদান খুঁজে বের করা এবং তার স্থান বিনিময় করা।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;দক্ষতা:&lt;/strong&gt; সেরা, গড় এবং সবচেয়ে খারাপ ক্ষেত্রে (O(n^2))।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;স্থিতিশীলতা:&lt;/strong&gt; না, এটি সমান উপাদানগুলির আপেক্ষিক ক্রম বজায় রাখে না।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ব্যবহার:&lt;/strong&gt; সাধারণভাবে শিক্ষামূলক উদ্দেশ্যে ব্যবহৃত হয়।&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;৩. ইনসার্টশন সর্ট (Insertion Sort)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;সংক্ষিপ্ত বিবরণ:&lt;/strong&gt;&lt;br&gt;
ইনসার্টশন সর্ট তালিকাটির প্রতিটি উপাদানকে তার সঠিক স্থানে স্থানান্তরিত করে এবং ক্রমান্বয়ে সর্ট করা তালিকা তৈরি করে। এটি প্রতিটি উপাদানকে আগের উপাদানগুলির সাথে তুলনা করে এবং সঠিক স্থানে প্রবেশ করায়।&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;মূল পয়েন্ট:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;পদ্ধতি:&lt;/strong&gt; প্রতিটি উপাদানকে তার সঠিক স্থানে প্রবেশ করানো।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;দক্ষতা:&lt;/strong&gt; সেরা ক্ষেত্রে (O(n)), গড় এবং সবচেয়ে খারাপ ক্ষেত্রে (O(n^2))।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;স্থিতিশীলতা:&lt;/strong&gt; হ্যাঁ, এটি সমান উপাদানগুলির আপেক্ষিক ক্রম বজায় রাখে।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ব্যবহার:&lt;/strong&gt; ছোট ডেটাসেট বা প্রায়-সর্ট করা তালিকার জন্য উপযুক্ত।&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Redux কি?</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Thu, 30 May 2024 06:04:03 +0000</pubDate>
      <link>https://dev.to/raihanuldev/redux-ki-4cnc</link>
      <guid>https://dev.to/raihanuldev/redux-ki-4cnc</guid>
      <description>&lt;p&gt;রিডাক্স হলো একটি প্রেডিক্টেবল স্টেট কন্টেইনার যা জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনের জন্য ব্যবহৃত হয়। রিডাক্সের প্রধান উদ্দেশ্য হলো অ্যাপ্লিকেশনের স্টেটকে সুসংগঠিত ও পূর্বাভাসযোগ্য রাখা। এটি সাধারণত রিয়্যাক্টের সাথে ব্যবহৃত হলেও অন্যান্য ফ্রেমওয়ার্ক বা লাইব্রেরিতেও ব্যবহার করা যায়।&lt;/p&gt;

&lt;p&gt;রিডাক্সের মূল তিনটি নীতি হলো:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;একক স্টেট সোর্স&lt;/strong&gt;: সম্পূর্ণ অ্যাপ্লিকেশনের স্টেট একটি একক অবজেক্ট ট্রি হিসাবে একটি স্টোরে সংরক্ষিত থাকে।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;স্টেট শুধুমাত্র রিড-অনলি&lt;/strong&gt;: স্টেট সরাসরি পরিবর্তন করা যায় না, বরং অ্যাকশন ডিসপ্যাচ করে তা পরিবর্তন করতে হয়। অ্যাকশন হলো একটি সাধারণ জাভাস্ক্রিপ্ট অবজেক্ট যা স্টেট পরিবর্তনের ইচ্ছা প্রকাশ করে।&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;স্টেট পরিবর্তনকারী রিডিউসার&lt;/strong&gt;: স্টেট কিভাবে পরিবর্তিত হবে তা রিডিউসার ফাংশন দ্বারা সংজ্ঞায়িত হয়। রিডিউসার হলো একটি পিওর ফাংশন যা পূর্ববর্তী স্টেট ও অ্যাকশন নিয়ে নতুন স্টেট রিটার্ন করে।&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;রিডাক্স ব্যবহারের মাধ্যমে অ্যাপ্লিকেশনের স্টেট ম্যানেজমেন্ট সহজ এবং পরিষ্কার হয়, যা ডিবাগিং ও টেস্টিং সহজ করে তোলে। &lt;/p&gt;

</description>
      <category>redux</category>
      <category>banglaprogramming</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Async এবং await কিভাবে কাজ করে?</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Thu, 30 May 2024 06:01:22 +0000</pubDate>
      <link>https://dev.to/raihanuldev/async-ebn-await-kibhaabe-kaaj-kre-2e89</link>
      <guid>https://dev.to/raihanuldev/async-ebn-await-kibhaabe-kaaj-kre-2e89</guid>
      <description>&lt;p&gt;জাভাস্ক্রিপ্টে অ্যাসিনক্রোনাস অপারেশন পরিচালনার জন্য &lt;code&gt;async&lt;/code&gt; এবং &lt;code&gt;await&lt;/code&gt; কীওয়ার্ডগুলি ব্যবহার করা হয়, যা কোডকে আরও পাঠযোগ্য এবং পরিষ্কার করে তোলে।&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;async&lt;/code&gt; ফাংশন
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;async&lt;/code&gt; কীওয়ার্ডটি একটি ফাংশনের আগে ব্যবহার করা হয়, যা ফাংশনটিকে অ্যাসিনক্রোনাস ফাংশনে রূপান্তরিত করে এবং প্রমিস রিটার্ন করে। উদাহরণস্বরূপ:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;fetchData&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Data fetched!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;উপরের &lt;code&gt;fetchData&lt;/code&gt; ফাংশনটি স্বাভাবিকভাবে &lt;code&gt;Promise&lt;/code&gt; রিটার্ন করবে যা "Data fetched!" রেজলভ করবে।&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;await&lt;/code&gt; এক্সপ্রেশন
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;await&lt;/code&gt; কীওয়ার্ডটি শুধুমাত্র &lt;code&gt;async&lt;/code&gt; ফাংশনের ভিতরে ব্যবহার করা যায় এবং এটি একটি প্রমিসের রেজলভ বা রিজেক্ট হওয়া পর্যন্ত অপেক্ষা করে। উদাহরণস্বরূপ:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;fetchData&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.example.com/data&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;উপরের উদাহরণে, প্রথমে &lt;code&gt;fetch&lt;/code&gt; ফাংশনটি একটি প্রমিস রিটার্ন করে এবং &lt;code&gt;await&lt;/code&gt; এর মাধ্যমে সেই প্রমিস রেজলভ হওয়া পর্যন্ত অপেক্ষা করে। এরপর, &lt;code&gt;response.json()&lt;/code&gt; এর মাধ্যমে JSON ডেটা পাওয়ার জন্য আবার &lt;code&gt;await&lt;/code&gt; ব্যবহার করা হয়।&lt;/p&gt;

&lt;h3&gt;
  
  
  সম্পূর্ণ উদাহরণ
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;getUserData&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;`https://api.example.com/users/&lt;/span&gt;&lt;span class="p"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;userId&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;ok&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Network response was not ok&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;userData&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;userData&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;There has been a problem with your fetch operation:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nf"&gt;getUserData&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;এখানে, &lt;code&gt;getUserData&lt;/code&gt; ফাংশনটি একটি ইউজারের ডেটা ফেচ করে এবং যদি কোনো সমস্যা থাকে, তাহলে &lt;code&gt;catch&lt;/code&gt; ব্লকের মাধ্যমে সেটি হ্যান্ডেল করে। &lt;code&gt;async&lt;/code&gt; ও &lt;code&gt;await&lt;/code&gt; ব্যবহারের ফলে কোডটি আরও সহজে পড়া এবং বোঝা যায়, যা অ্যাসিনক্রোনাস অপারেশন পরিচালনা করার জন্য অত্যন্ত উপকারী। &lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>react</category>
      <category>beginners</category>
    </item>
    <item>
      <title>MVC</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Thu, 07 Mar 2024 13:04:57 +0000</pubDate>
      <link>https://dev.to/raihanuldev/mvc-1m9n</link>
      <guid>https://dev.to/raihanuldev/mvc-1m9n</guid>
      <description>&lt;p&gt;MVC (Model-View-Controller) is a software architectural pattern commonly used in designing user interfaces and web applications. It divides an application into three interconnected components:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Model: The Model represents the data and the business logic of the application. It encapsulates the data and the behavior associated with that data. The Model responds to requests for information (usually from the Controller) and updates itself accordingly. It does not know about the user interface or how the data is presented to the user.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;View: The View is responsible for presenting the data to the user. It represents the user interface elements such as screens, pages, forms, or widgets. The View receives data from the Model and presents it to the user in a way that is understandable and visually appealing. Views are passive and do not contain any business logic; they simply display the data provided by the Model.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;3.Controller: The Controller acts as an intermediary between the Model and the View. It receives user input from the View, processes it (often by interacting with the Model), and updates the View accordingly. The Controller interprets user actions and translates them into commands for the Model or the View. It also handles application logic, such as routing and determining which View to display.&lt;/p&gt;

&lt;p&gt;The key principles of MVC =&amp;gt; Separation of concerns,Modifiability and maintainability,Testability.&lt;br&gt;
It provides a structured approach to building applications, making them more organized, maintainable, and scalable.&lt;/p&gt;

&lt;h1&gt;
  
  
  mvc #modular #model #view #controller #developercommunity
&lt;/h1&gt;

</description>
    </item>
    <item>
      <title>টাইপস্ক্রিপ্ট</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Mon, 26 Feb 2024 20:30:08 +0000</pubDate>
      <link>https://dev.to/raihanuldev/ttaaipskriptt-1fc1</link>
      <guid>https://dev.to/raihanuldev/ttaaipskriptt-1fc1</guid>
      <description>&lt;p&gt;টাইপস্ক্রিপ্ট মুলত একটি Javascript ভিত্তিক প্রোগ্রামিং ভাষা। যা ডেবলপারদের কোডে ডাটা টাইপিং মিস্টেক এর হাত থেকে রক্ষা করে। যেমন: জাভাস্ক্রিপ্ট এ আমরা যদি কোনো অবজেক্ট ডিক্লেয়ার করি তখন সেখানে কিন্তু আমরা কোনো টাইপ বলে দি না। তখন কিন্তু আমাদের কোডে এক প্রকার একটা ডাটা টাইপিং এ প্রবলেম হতে পারে, যেমন আমরা ইনপুট হিসেবে চাইলাম ইউজার এর নাম ; অবশ্যই সেটা স্ট্রি হতে হবে, আমরাও জানি সেটা স্ট্রিং হবে, প্রবলেম টা হবে তখনই যখন ইনপুট হিসেবে আমরা স্ট্রিং এর বদলে অন্য কোন টাইপ দিবো। তখন কিন্তু একটা প্রবলেম মাস্ট হবে।&lt;br&gt;
তো এই প্রবলেমটাকে হ্যান্ডেল করার জন্য মুলত টাইপ স্ক্রিপ্ট মামাকে তৈরি করা হয়েছে।&lt;/p&gt;

&lt;p&gt;এই টাইস্ক্রিপ্ট আমাদের কোড করার সময়ই দিক নির্দেশনা দিয়ে দিবে যেমনটা আমরা তাকে আগে বলে দিসি।&lt;br&gt;
যেমন: একটা অবজেক্ট ডিক্লেয়ার করার সময় বলে দিতে হয় যে, এই প্রোপার্টির এই এই টাইপ হবে, তখন যদি আমরা ভুলে বা বে খেয়ালে টাইপ ভুল করি তখনই আমাদের টাইপস্ক্রিপ্ট বলে দিবে যে ভাই আমাকে তুমরা এই এই টাইপ দিবে বলসো কিন্তু এখন অন্য একটা দিচ্ছো,এইটা কিন্তু সেই মাইন্ড করবে।&lt;/p&gt;

&lt;p&gt;সো আমার দিক থেকে টাইপ স্ক্রিপ্ট এর এই ব্যাপারটা খুব মজা লাগছে বিষয়টা ভালো লাগছে।&lt;/p&gt;

</description>
      <category>typescript</category>
      <category>webdev</category>
      <category>raihanuldev</category>
      <category>bd</category>
    </item>
    <item>
      <title>ReactJs Bangla</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Mon, 26 Feb 2024 20:28:23 +0000</pubDate>
      <link>https://dev.to/raihanuldev/reactjs-bangla-2dej</link>
      <guid>https://dev.to/raihanuldev/reactjs-bangla-2dej</guid>
      <description>&lt;p&gt;এক দিনে প্রায় দু'শ মিলিয়ন ডেভেলপার ReactJS ব্যবহার করে অ্যাপ্লিকেশন তৈরি করছেন। এটি একটি জনপ্রিয় JavaScript লাইব্রেরি, যা ওয়েব অ্যাপ্লিকেশন বিকাশে একটি দ্রুত, কার্যকর, এবং বহুল প্রয়োগ পাওয়া টুলসেট প্রদান করে। আসুন দেখে নেই কেন ReactJS এতটাই জনপ্রিয় এবং কেন এটি ডেভেলপারদের পছন্দের তালিকায় অধিকতরে রয়েছে।&lt;/p&gt;

&lt;p&gt;ReactJs কি?&lt;br&gt;
ReactJS হ'ল একটি ওয়েব ডেভেলপমেন্ট লাইব্রেরি যা ফেসবুক দ্বারা তৈরি করা হয়েছে। এটি একটি ওয়েব অ্যাপ্লিকেশন তৈরির জন্য ব্যবহৃত হয়, যা দ্রুত, প্রতিক্রিয়াশী এবং একটি স্কেলাবল ইউজার ইন্টারফেস তৈরি করতে সাহায্য করে। React এর বৈশিষ্ট্যগুলির মধ্যে প্রধান হল কম্পোনেন্ট ভিত্তিক ডেভেলপমেন্ট, একল স্টেট ম্যানেজমেন্ট, এবং ভার্চুয়াল ডোম।&lt;/p&gt;

&lt;p&gt;কেন ReactJS ?&lt;br&gt;
1: কম্পোনেন্ট ভিত্তিক ডেভেলপমেন্ট: ReactJS-এ এপ্লিকেশন ডেভেলপমেন্ট হলো কম্পোনেন্ট ভিত্তিক। প্রতিটি বিষয়বস্তু একটি স্বতন্ত্র কম্পোনেন্ট হিসেবে প্রতিষ্ঠিত হয়, যা অন্যান্য কম্পোনেন্টগুলির সাথে সংযুক্ত হতে পারে। এটি ডেভেলপারদেরকে প্রোডাক্ট কোড এবং লোজিক পুনরাবৃত্তি করতে সাহায্য করে এবং কোড স্বল্পকালে রিও-ব্যবহারযোগ্য করে তোলে।&lt;/p&gt;

&lt;p&gt;2: একল স্টেট ম্যানেজমেন্ট: ReactJS-এ, কম্পোনেন্টগুলির স্টেট একল হতে পারে, এবং এটি বেশ সহজেই আপডেট করা যায়। এটি একটি কম্পোনেন্টের স্টেট পরিবর্তন করলে কেবলমাত্র ওই কম্পোনেন্ট আপডেট হয়, যা কম সময়ে সাথে সাথে অ্যাপ্লিকেশনের কার্যকলাপ আপডেট করে তোলে।&lt;br&gt;
3: ভার্চুয়াল ডোম: ReactJS একটি ভার্চুয়াল ডোম&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactbangla</category>
      <category>webdev</category>
      <category>raihanuldef</category>
    </item>
    <item>
      <title>Github Old Account remove from Pc and Login New Account</title>
      <dc:creator>Raihanul Islam Sharif</dc:creator>
      <pubDate>Wed, 21 Feb 2024 15:40:07 +0000</pubDate>
      <link>https://dev.to/raihanuldev/github-old-account-remove-from-pc-and-login-new-account-2fjg</link>
      <guid>https://dev.to/raihanuldev/github-old-account-remove-from-pc-and-login-new-account-2fjg</guid>
      <description>&lt;p&gt;To remove your old GitHub account from your PC and add a new account, you'll need to follow these steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Removing Old Account Credentials&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Git Bash or any terminal you're using.&lt;/li&gt;
&lt;li&gt;Enter the following command to remove the old account credentials:
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; git config --global --unset credential.helper
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Removing SSH Keys (Optional)&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;If you've added SSH keys for your old account and want to remove them, you can delete them from your &lt;code&gt;~/.ssh&lt;/code&gt; directory. Look for files starting with &lt;code&gt;id_rsa&lt;/code&gt; or &lt;code&gt;id_dsa&lt;/code&gt; and delete the ones associated with your old account.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Adding New Account&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open Git Bash or any terminal you're using.&lt;/li&gt;
&lt;li&gt;Set your new username and email globally by entering the following commands:
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; git config --global user.name "raihanuldev"
 git config --global user.email "rihanthedev@gmail.com"
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Confirming Changes&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To confirm that the old account has been removed and the new account has been added, you can run:
&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; git config --global --list
&lt;/code&gt;&lt;/pre&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Testing New Account&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Try cloning a repository or performing any action that requires authentication. Git will prompt you to enter your credentials for the new account.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Following these steps should effectively remove your old GitHub account credentials from your PC and add the new account credentials.&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>gitlab</category>
      <category>raihanuldev</category>
    </item>
  </channel>
</rss>
