<?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>Forem: Jahid.Dev</title>
    <description>The latest articles on Forem by Jahid.Dev (@webdemon).</description>
    <link>https://forem.com/webdemon</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%2F684412%2Feeb1eb2d-1440-45d6-93f9-2f9d19bf2692.png</url>
      <title>Forem: Jahid.Dev</title>
      <link>https://forem.com/webdemon</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/webdemon"/>
    <language>en</language>
    <item>
      <title>🌐 Foundations of Web Development</title>
      <dc:creator>Jahid.Dev</dc:creator>
      <pubDate>Sun, 24 Aug 2025 07:33:28 +0000</pubDate>
      <link>https://forem.com/webdemon/foundations-of-web-development-5cgm</link>
      <guid>https://forem.com/webdemon/foundations-of-web-development-5cgm</guid>
      <description>&lt;p&gt;The journey of learning web development always starts with the fundamentals. In this article, we'll cover two essential areas: Internet &amp;amp; Web Basics and Browser APIs &amp;amp; Storage. Once you understand these topics clearly, your foundation in web development will become strong.&lt;/p&gt;

&lt;p&gt;🌍 Internet &amp;amp; Web Basics&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How the Internet Works
The internet is a global network of computers and servers. When a user visits a website, the browser sends a request to the server, and the server sends back a response.
Client vs Server
Client → Usually the browser, which sends the request.
Server → Processes data and sends the response back to the client.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;ISP, Router, Switch&lt;br&gt;
ISP (Internet Service Provider) → Provides internet connectivity.&lt;br&gt;
Router → Directs network traffic between devices.&lt;br&gt;
Switch → Connects devices within the same network.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;IP Address &amp;amp; DNS
IP Address is the unique identifier of every device on the internet.
IPv4 vs IPv6 → IPv4 is a 32-bit address (e.g., 192.168.0.1), whereas IPv6 is 128-bit and supports many more addresses.
DNS (Domain Name System) → Converts human-readable domain names (e.g., google.com) into IP addresses.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;DNS Resolution Flow&lt;br&gt;
Domain Name → DNS Lookup → IP Address → Server Response&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;HTTP &amp;amp; HTTPS
HTTP is the communication protocol of the web.
HTTP Request Structure: Method, Headers, Body
Common Methods: GET, POST, PUT, DELETE, PATCH
Status Codes:
1xx → Informational
2xx → Success (e.g., 200 OK)
3xx → Redirection
4xx → Client Error (e.g., 404 Not Found)
5xx → Server Error&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;HTTPS &amp;amp; SSL/TLS&lt;br&gt;
HTTPS encrypts the data to protect it from man-in-the-middle attacks. SSL/TLS certificates ensure secure communication.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Client-Server Architecture
Frontend → The part that runs in the browser (UI).
Backend → Handles server-side logic and data processing.
Database → Stores data.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Request Flow:&lt;br&gt;
Browser → Server → Database → Back to Browser&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Statelessness of HTTP
HTTP is a stateless protocol, meaning each request is independent, and the server doesn't remember previous ones.
State Management Solutions
Cookies
Sessions
Tokens (JWT)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Session Cookies Basics&lt;br&gt;
Session Cookie → Deleted when the browser closes.&lt;br&gt;
Persistent Cookie → Stored until a specified expiry time.&lt;br&gt;
Use Cases: User Login, Shopping Cart, User Preferences&lt;/p&gt;

&lt;p&gt;🖥️ Browser APIs &amp;amp; Storage&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;DOM (Document Object Model)&lt;br&gt;
DOM is the tree structure representation of an HTML document.&lt;br&gt;
Selecting Elements → getElementById, querySelector&lt;br&gt;
Changing Content → innerHTML, textContent&lt;br&gt;
Changing Styles → element.style, classList&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Events API&lt;br&gt;
Event Listeners → addEventListener&lt;br&gt;
Common Events → click, keyup, change, submit&lt;br&gt;
Event Bubbling &amp;amp; Capturing → How events propagate through parent-child elements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Timers API&lt;br&gt;
setTimeout → Runs code after a set time.&lt;br&gt;
setInterval → Runs code repeatedly at specified intervals.&lt;br&gt;
clearTimeout, clearInterval → Stop timers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Storage Options in Browser&lt;br&gt;
Cookies&lt;br&gt;
Session Cookies, Persistent Cookies&lt;br&gt;
Attributes: HttpOnly, Secure, SameSite, Expires, Max-Age&lt;br&gt;
localStorage&lt;br&gt;
Stores data permanently in the browser.&lt;br&gt;
Methods: setItem, getItem, removeItem, clear&lt;br&gt;
sessionStorage&lt;br&gt;
Stores data only for the duration of the tab/session.&lt;br&gt;
Same methods as localStorage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fetch API&lt;br&gt;
Use fetch() to retrieve data from a server.&lt;br&gt;
Handle promises using then / catch.&lt;br&gt;
Parse JSON data using response.json().&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Event Loop &amp;amp; Asynchronous JS Basics&lt;br&gt;
Call Stack → Executes synchronous code.&lt;br&gt;
Web APIs → Handle async tasks (e.g., setTimeout, fetch).&lt;br&gt;
Callback Queue &amp;amp; Event Loop → Bring async tasks back to the main thread.&lt;br&gt;
Microtasks (Promises) vs Macrotasks (setTimeout) → Understanding execution order.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;API (Application Programming Interface) is a set of rules and tools that allows different software applications to communicate with each other.&lt;br&gt;
👉 Think of it like a waiter in a restaurant:&lt;br&gt;
You (the client) order food.&lt;br&gt;
The waiter (API) takes your request to the kitchen (server).&lt;br&gt;
The kitchen prepares the food and gives it to the waiter.&lt;br&gt;
The waiter delivers it back to you.&lt;/p&gt;

&lt;p&gt;In the same way:&lt;br&gt;
You send a request to the server through an API.&lt;br&gt;
The server processes it and sends back the data (like JSON or XML).&lt;br&gt;
The API makes sure you get the right data in the right format.&lt;/p&gt;

&lt;p&gt;🔑 In short: API is a bridge between client and server that allows them to exchange data.&lt;br&gt;
Let's go through all the important HTTP status codes you need to know as a software engineer.&lt;br&gt;
🔹 1xx - Informational&lt;br&gt;
These codes indicate that the request was received and is still being processed.&lt;br&gt;
100 Continue → The server received the request headers, the client should continue sending the request body.&lt;br&gt;
101 Switching Protocols → Server is switching protocols (e.g., HTTP to WebSocket).&lt;br&gt;
102 Processing → Server is still processing (used with WebDAV).&lt;/p&gt;

&lt;p&gt;🔹 2xx - Success&lt;br&gt;
The request was successfully received, understood, and accepted.&lt;br&gt;
200 OK → Standard response for successful requests.&lt;br&gt;
201 Created → Resource was created successfully.&lt;br&gt;
202 Accepted → Request accepted but not yet processed.&lt;br&gt;
204 No Content → Success, but no data is returned.&lt;br&gt;
206 Partial Content → Returns part of the resource (used in file downloads, video streaming).&lt;/p&gt;

&lt;p&gt;🔹 3xx - Redirection&lt;br&gt;
The client must take additional action to complete the request.&lt;br&gt;
301 Moved Permanently → Resource permanently moved to a new URL.&lt;br&gt;
302 Found → Resource temporarily moved.&lt;br&gt;
303 See Other → Redirect to another URL (commonly used after POST).&lt;br&gt;
304 Not Modified → Cached version is still valid, no need to download again.&lt;br&gt;
307 Temporary Redirect → Temporary redirect, method not changed.&lt;br&gt;
308 Permanent Redirect → Permanent redirect, method not changed.&lt;/p&gt;

&lt;p&gt;🔹 4xx - Client Errors&lt;br&gt;
The request has an error caused by the client.&lt;br&gt;
400 Bad Request → Invalid request (syntax error, bad parameters).&lt;br&gt;
401 Unauthorized → Authentication required (e.g., missing/invalid token).&lt;br&gt;
403 Forbidden → Client is authenticated but not allowed.&lt;br&gt;
404 Not Found → Resource not found.&lt;br&gt;
405 Method Not Allowed → HTTP method not supported (e.g., using POST instead of GET).&lt;br&gt;
408 Request Timeout → Server timed out waiting for the request.&lt;br&gt;
409 Conflict → Conflict with current state (e.g., duplicate data).&lt;br&gt;
410 Gone → Resource is permanently deleted.&lt;br&gt;
413 Payload Too Large → Request body too big.&lt;br&gt;
415 Unsupported Media Type → Unsupported file/content type.&lt;br&gt;
429 Too Many Requests → Rate limiting (too many requests in a short time).&lt;/p&gt;

&lt;p&gt;🔹 5xx - Server Errors&lt;br&gt;
The server failed to process a valid request.&lt;br&gt;
500 Internal Server Error → Generic server error.&lt;br&gt;
501 Not Implemented → Server doesn't support the requested feature.&lt;br&gt;
502 Bad Gateway → Invalid response from an upstream server.&lt;br&gt;
503 Service Unavailable → Server is overloaded or under maintenance.&lt;br&gt;
504 Gateway Timeout → Upstream server didn't respond in time.&lt;br&gt;
505 HTTP Version Not Supported → Server doesn't support the HTTP version.&lt;/p&gt;

&lt;p&gt;✅ Quick Tip for Remembering:&lt;br&gt;
2xx → Success&lt;br&gt;
3xx → Redirects&lt;br&gt;
4xx → Client's fault&lt;br&gt;
5xx → Server's fault&lt;/p&gt;

&lt;p&gt;Conclusion&lt;br&gt;
By mastering these topics, you'll build a solid foundation in web development. Learning Internet &amp;amp; Web Basics helps you understand how the web works, while Browser APIs &amp;amp; Storage teaches you how to manage data and interactions within the browser.&lt;br&gt;
👉 Once you've nailed these fundamentals, diving into frameworks like React, backend with Node.js/Express, and advanced security concepts will be much easier.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>A Guide to the Internet, Software, and Web App Development</title>
      <dc:creator>Jahid.Dev</dc:creator>
      <pubDate>Mon, 18 Aug 2025 10:12:40 +0000</pubDate>
      <link>https://forem.com/webdemon/a-guide-to-the-internet-software-and-web-app-development-3egm</link>
      <guid>https://forem.com/webdemon/a-guide-to-the-internet-software-and-web-app-development-3egm</guid>
      <description>&lt;p&gt;This post provides a comprehensive explanation of the internet, software, and web app development, including the processes involved and the relationship between a web app developer and a software engineer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Internet: The Network That Connects the World&lt;/strong&gt;&lt;br&gt;
The internet is a vast network that links all the computers, mobile phones, and other devices on Earth. Think of it as a global communication system where data is transferred from one device to another. When you search for something on Google, your phone sends a message through the internet to Google's servers, which then sends the results back to your phone. This communication happens via wires or Wi-Fi.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Website vs. Web App vs. Software&lt;/strong&gt;&lt;br&gt;
The main difference between these three terms lies in their functionality and how they're used.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Website:&lt;/strong&gt; It's like a static "page" or "book" on the internet, used primarily for displaying information. For example: Wikipedia. It's built with HTML, CSS, and JavaScript.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Web App:&lt;/strong&gt; This is a special, highly interactive type of website. It changes based on user actions and works like a mobile app, but it runs through a browser. Examples include Google Maps or Gmail. A web app has two main parts:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; What the user sees and interacts with.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; The hidden part on the server that handles data processing and storage.&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Software:&lt;/strong&gt; This refers to applications that are installed directly on your device's operating system (like Windows or macOS). It can often work without an internet connection. Examples include Adobe Photoshop or Microsoft Word.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Can a Web App Developer Be a Software Engineer?&lt;/strong&gt;&lt;br&gt;
Yes, a skilled web app developer can certainly be called a Software Engineer.&lt;br&gt;
Many people mistakenly believe that software engineers only build desktop or mobile apps, but that's not true. Software engineering is a broad field that involves the design, development, testing, and maintenance of any kind of software system. A web app is also a complex software system that runs on both the client and server sides.&lt;br&gt;
However, to be considered a software engineer, a web app developer needs more than just coding skills. They must also have a solid understanding of fundamental principles and key practices.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;strong&gt;Core Principles of Software Engineering&lt;/strong&gt;&lt;/em&gt;&lt;br&gt;
A software engineer's job isn't just to write code; it's to build and manage the entire system using a disciplined process.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Software Development Life Cycle (SDLC):&lt;/strong&gt; An engineer must know how to handle a project from start to finish. This includes:&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Requirements Gathering:&lt;/strong&gt; Understanding user needs.&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Design:&lt;/strong&gt; Creating the system's architecture and design.&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Development:&lt;/strong&gt; Writing the code.&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Testing:&lt;/strong&gt; Finding and fixing bugs.&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Deployment:&lt;/strong&gt; Making the application live.&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Maintenance:&lt;/strong&gt; Regularly updating and fixing the app.&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Data Structures and Algorithms (DSA):&lt;/strong&gt; This is essential for building efficient and fast software. An engineer must know how to store and manipulate data effectively.&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Design Patterns and Architecture:&lt;/strong&gt; To build large and complex systems, it's crucial to understand design patterns (like Singleton, Observer) and architectural styles (like Microservices, Monolithic).&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Quality Assurance (QA) and Testing:&lt;/strong&gt; An engineer must ensure their code is reliable and bug-free through testing (like Unit Testing and Integration Testing).&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Version Control Systems (VCS):&lt;/strong&gt; Tools like Git are vital for tracking different versions of the code and collaborating with a team.&lt;/li&gt;
&lt;li&gt;         &lt;strong&gt;Code Review and Documentation:&lt;/strong&gt; Good engineers document their code well and review others' code to maintain high quality.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Web App Development Process and Architecture&lt;/strong&gt;&lt;br&gt;
A web app typically follows a &lt;strong&gt;&lt;em&gt;Client-Server Model&lt;/em&gt;&lt;/strong&gt; architecture.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Planning and Design:&lt;/strong&gt; The first step is to define the app's purpose and user needs. Then, the architecture and user interface (UI/UX) are designed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Development:&lt;/strong&gt; Frontend and backend developers write code based on the design.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Uses frameworks like React, Angular, or Vue.js to build the user interface.&lt;/li&gt;
&lt;li&gt;     &lt;strong&gt;Backend:&lt;/strong&gt; Uses languages like Node.js, Python/Django, or PHP/Laravel to create the server-side logic.&lt;/li&gt;
&lt;li&gt;     &lt;strong&gt;Database:&lt;/strong&gt; Databases like MySQL, PostgreSQL, or MongoDB are used to store data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Deployment:&lt;/strong&gt; The completed app is hosted on a live server using services like AWS, Heroku, or Netlify.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What to Learn to Become a Skilled Developer?&lt;/strong&gt;&lt;br&gt;
If you want to pursue a career in this field, you need to acquire the right skills based on your interests.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;To become a Web App Developer:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Web fundamentals:&lt;/strong&gt; HTML, CSS, JavaScript.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend Frameworks:&lt;/strong&gt; React, Angular, or Vue.js.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend Languages &amp;amp; Frameworks:&lt;/strong&gt; Node.js, Python/Django, or PHP/Laravel.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Databases:&lt;/strong&gt; MySQL, PostgreSQL, or MongoDB.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Software Engineering Principles:&lt;/strong&gt; DSA, Git, and Testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;To become a Software Developer:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A core programming language: C++, Java, C#, or Python.&lt;/li&gt;
&lt;li&gt;Data Structures and Algorithms (DSA).&lt;/li&gt;
&lt;li&gt;Object-Oriented Programming (OOP).&lt;/li&gt;
&lt;li&gt;Operating system concepts.&lt;/li&gt;
&lt;li&gt;Version Control: Git.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a great starting point for anyone interested in the world of technology and development!&lt;/p&gt;

</description>
      <category>internet</category>
      <category>software</category>
      <category>webapp</category>
      <category>beginners</category>
    </item>
    <item>
      <title>AI Business Idea</title>
      <dc:creator>Jahid.Dev</dc:creator>
      <pubDate>Thu, 14 Aug 2025 08:22:17 +0000</pubDate>
      <link>https://forem.com/webdemon/ai-business-idea-4aki</link>
      <guid>https://forem.com/webdemon/ai-business-idea-4aki</guid>
      <description>&lt;p&gt;A great business idea came to my mind, and I wanted to share it with you all. I believe there's a significant gap in the e-commerce sector of Bangladesh, particularly in customer service and data analytics.&lt;br&gt;
What if we could build a platform that integrates with e-commerce websites to make their business operations easier and more efficient?&lt;br&gt;
My idea is a SaaS (Software as a Service) platform that would offer several amazing features to e-commerce businesses for a monthly subscription fee:&lt;/p&gt;

&lt;h2&gt;
  
  
  🤖 Smart AI Chatbot: 
&lt;/h2&gt;

&lt;p&gt;It would answer customer queries in both English and Bangla, like product price, stock availability, or order status. This would reduce the burden on customer support teams.&lt;/p&gt;

&lt;h2&gt;
  
  
  🤠 Personalized Recommendations: 
&lt;/h2&gt;

&lt;p&gt;Based on a customer's Browse and purchase history, it would show them products they are likely to buy, thereby increasing sales.&lt;/p&gt;

&lt;h2&gt;
  
  
  😎 Advanced Search Engine: 
&lt;/h2&gt;

&lt;p&gt;As a customer types, they would get real-time feedback on product availability. If the product exists, the search would take them directly to the product page.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎲 User Analytics Dashboard: 
&lt;/h2&gt;

&lt;p&gt;This would provide e-commerce owners with valuable data on what customers are searching for and asking the chatbot. This insight could help them understand product demand and make better business decisions.&lt;/p&gt;

&lt;p&gt;I think a platform like this could be a game-changer for all e-commerce businesses, big or small, in Bangladesh. I believe this project has huge potential.&lt;br&gt;
What are your thoughts? Is this an idea worth pursuing? I would love to hear your feedback!&lt;/p&gt;

</description>
      <category>techforbusiness</category>
      <category>ecommercebd</category>
      <category>bangladesh</category>
      <category>ai</category>
    </item>
    <item>
      <title>JS Function, Object, String</title>
      <dc:creator>Jahid.Dev</dc:creator>
      <pubDate>Thu, 11 Jul 2024 06:43:37 +0000</pubDate>
      <link>https://forem.com/webdemon/js-function-object-string-57h7</link>
      <guid>https://forem.com/webdemon/js-function-object-string-57h7</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A &lt;strong&gt;JavaScript function&lt;/strong&gt; is a block of code designed to perform a particular task. function is executed when "something" invokes it (calls it).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A JavaScript function is defined with the &lt;strong&gt;function keyword, followed by a name, followed by parentheses ()&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Function parameters are listed inside the &lt;strong&gt;parentheses ()&lt;/strong&gt; in the function definition. Function arguments are the values received by the function when it is invoked. Inside the function, the arguments (the parameters) behave as local variables.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;When JavaScript reaches a &lt;strong&gt;return statement&lt;/strong&gt;, the function will stop executing. If the function was invoked from a statement, JavaScript will "return" to execute the code after the invoking statement. Functions often compute a return value. The return value is "returned" back to the "caller".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The () operator&lt;/strong&gt; invokes (calls) the function. Accessing a function without () returns the function and not the function result.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;An object literal is a list of name:value pairs inside &lt;strong&gt;curly braces&lt;/strong&gt; {}.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can access object properties in &lt;strong&gt;two&lt;/strong&gt; ways - &lt;br&gt;
&lt;strong&gt;objectName.propertyName&lt;/strong&gt;, &lt;strong&gt;objectName["propertyName"]&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Objects are containers for Properties and Methods. Properties are &lt;strong&gt;named Values&lt;/strong&gt;. Methods are Functions stored as &lt;strong&gt;Properties&lt;/strong&gt;. Properties can be &lt;strong&gt;primitive values&lt;/strong&gt;, functions, or even other objects. Objects are objects, Maths are objects, Functions are objects, Dates are objects, Arrays are objects, Maps are objects, Sets are objects. All JavaScript values, except primitives, are objects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A &lt;strong&gt;primitive value&lt;/strong&gt; is a value that has &lt;strong&gt;no properties or methods&lt;/strong&gt;. 3.14 is a primitive value. A primitive data type is data that has a primitive value. JavaScript defines 7 types of primitive data types - &lt;br&gt;
A) string&lt;br&gt;
B) number&lt;br&gt;
C) boolean&lt;br&gt;
D) null&lt;br&gt;
E) undefined&lt;br&gt;
F) symbol&lt;br&gt;
G) bigint&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Primitive values&lt;/strong&gt; are &lt;strong&gt;immutable&lt;/strong&gt; (they are hardcoded and cannot be changed).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Objects&lt;/strong&gt; are &lt;strong&gt;mutable&lt;/strong&gt;. They are addressed by reference, not by value.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;An Object is an &lt;strong&gt;Unordered Collection&lt;/strong&gt; of Properties. &lt;strong&gt;Properties&lt;/strong&gt; are the most important part of &lt;strong&gt;JavaScript objects&lt;/strong&gt;. Properties can be &lt;strong&gt;changed, added, deleted, and some are read only&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;delete&lt;/strong&gt; keyword deletes a property from an object. The delete keyword deletes both the value of the property and the property itself.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Accessing &lt;strong&gt;Object&lt;/strong&gt; &lt;strong&gt;Method&lt;/strong&gt;- objectName.methodName()&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Adding a new &lt;strong&gt;method&lt;/strong&gt; to an &lt;strong&gt;object&lt;/strong&gt; - &lt;br&gt;
&lt;code&gt;person.name = function () {&lt;br&gt;
return this.firstName + " " + this.lastName;&lt;br&gt;
};&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;toUpperCase()&lt;/code&gt; method to convert a text to uppercase.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Some solutions to display JavaScript objects are - &lt;br&gt;
Displaying the Object Properties by name, Displaying the Object &lt;br&gt;
Properties in a Loop, Displaying the Object using Object.values(), &lt;br&gt;
Displaying the Object using JSON.stringify()&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Object &lt;strong&gt;For In Loop&lt;/strong&gt; - &lt;br&gt;
&lt;code&gt;const person = {&lt;br&gt;
name: "John",&lt;br&gt;
age: 30,&lt;br&gt;
city: "New York"&lt;br&gt;
};&lt;br&gt;
let text = "";&lt;br&gt;
for (let x in person) {&lt;br&gt;
text += person[x] + " ";&lt;br&gt;
};&lt;br&gt;
document.getElementById("demo").innerHTML = text;&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You must use person[x] in the loop. person.x will not work (Because &lt;br&gt;
x is the loop variable).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Object.values()&lt;/code&gt; creates an array from the property values. &lt;br&gt;
Example - Object.values(person)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Object.entries()&lt;/code&gt; makes it simple to use objects in loops.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript objects can be converted to a string with JSON method &lt;br&gt;
&lt;code&gt;JSON.stringify()&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To create an object type we use an &lt;code&gt;object constructor function&lt;/code&gt;.&lt;br&gt;
function Person(first, last, age, eye) {&lt;br&gt;
  this.firstName = first;&lt;br&gt;
  this.lastName = last;&lt;br&gt;
  this.age = age;&lt;br&gt;
  this.eyeColor = eye;&lt;br&gt;
}&lt;br&gt;
const myFather = new Person("John", "Doe", 50, "blue");&lt;br&gt;
const myMother = new Person("Sally", "Rally", 48, "green");&lt;br&gt;
myMother.changeName = function (name) {&lt;br&gt;
 this.lastName = name;&lt;br&gt;
}&lt;br&gt;
myMother.changeName("Doe");&lt;br&gt;
document.getElementById("demo").innerHTML =&lt;br&gt;
"My mother's last name is " + myMother.lastName; &lt;br&gt;
This is Example!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HTML &lt;strong&gt;events&lt;/strong&gt; are "things" that happen to HTML elements. When &lt;br&gt;
JavaScript is used in HTML pages, JavaScript can "react" on these &lt;br&gt;
&lt;strong&gt;events&lt;/strong&gt;. Here are some examples of &lt;strong&gt;HTML events&lt;/strong&gt; - &lt;br&gt;
An HTML web page has finished loading, An HTML input field was &lt;br&gt;
changed, An HTML button was clicked. &lt;strong&gt;&lt;/strong&gt; Common &lt;strong&gt;HTML Events&lt;/strong&gt; - &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;blockquote&gt;
&lt;p&gt;onchange - An HTML element has been changed&lt;br&gt;
     onclick - The user clicks an HTML element&lt;br&gt;
     onmouseover - The user moves the mouse over an HTML element&lt;br&gt;
     onmouseout - The user moves the mouse away from an HTML element&lt;br&gt;
     onkeydown - The user pushes a keyboard key&lt;br&gt;
     onload - The browser has finished loading the page&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Strings&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Strings&lt;/strong&gt; are for storing text. Strings are written with &lt;br&gt;
&lt;strong&gt;quotes&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Template Strings&lt;/strong&gt; were introduced with &lt;strong&gt;ES6 (JavaScript &lt;br&gt;
2016)&lt;/strong&gt;. Templates are strings enclosed in &lt;strong&gt;backticks&lt;/strong&gt; (&lt;code&gt;This is a &lt;br&gt;
template string&lt;/code&gt;). Templates allow single and double quotes inside a &lt;br&gt;
string. Templates are not supported in &lt;strong&gt;Internet Explorer&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To find the &lt;strong&gt;length of a string&lt;/strong&gt;, use the built-in &lt;code&gt;length&lt;/code&gt; &lt;br&gt;
property.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;backslash&lt;/strong&gt; escape character () turns special characters &lt;br&gt;
into string characters. &lt;code&gt;let text = "We are the so-called \"Vikings\" from the north."; let text= 'It\'s alright.';&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript &lt;strong&gt;Strings as Objects&lt;/strong&gt; - &lt;code&gt;let y = new String("John");&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Do not create Strings objects. The new keyword complicates the code and slows down execution speed. &lt;strong&gt;String objects&lt;/strong&gt; can produce unexpected results&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Comparing two JavaScript objects always returns &lt;strong&gt;false&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Basic &lt;strong&gt;String Methods&lt;/strong&gt; - &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;    String &lt;strong&gt;length&lt;/strong&gt; - The length property returns the length of a 
  string.&lt;/li&gt;
&lt;li&gt;    String &lt;strong&gt;charAt()&lt;/strong&gt; - The charAt() method returns the character 
  at a specified index (position) in a string.&lt;/li&gt;
&lt;li&gt;    String &lt;strong&gt;charCodeAt()&lt;/strong&gt; - The charCodeAt() method returns the 
  code of the character at a specified index in a string. The 
  method returns a UTF-16 code (an integer between 0 and 65535).&lt;/li&gt;
&lt;li&gt;    String at()
&lt;/li&gt;
&lt;li&gt;    String [ ]&lt;/li&gt;
&lt;li&gt;    String slice()&lt;/li&gt;
&lt;li&gt;    String substring()&lt;/li&gt;
&lt;li&gt;    String substr()&lt;/li&gt;
&lt;li&gt;    String toUpperCase()&lt;/li&gt;
&lt;li&gt;    String toLowerCase()&lt;/li&gt;
&lt;li&gt;    String concat()&lt;/li&gt;
&lt;li&gt;    String trim()&lt;/li&gt;
&lt;li&gt;    String trimStart()&lt;/li&gt;
&lt;li&gt;    String trimEnd()&lt;/li&gt;
&lt;li&gt;    String padStart()&lt;/li&gt;
&lt;li&gt;    String padEnd()&lt;/li&gt;
&lt;li&gt;    String repeat()&lt;/li&gt;
&lt;li&gt;    String replace()&lt;/li&gt;
&lt;li&gt;    String replaceAll()&lt;/li&gt;
&lt;li&gt;    String split()&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;String &lt;strong&gt;Search Methods&lt;/strong&gt; - &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;String indexOf()&lt;/li&gt;
&lt;li&gt;String lastIndexOf()&lt;/li&gt;
&lt;li&gt;String search()&lt;/li&gt;
&lt;li&gt;String match()&lt;/li&gt;
&lt;li&gt;String matchAll()&lt;/li&gt;
&lt;li&gt;String includes()&lt;/li&gt;
&lt;li&gt;String startsWith()&lt;/li&gt;
&lt;li&gt;String endsWith()&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Template Strings use back-ticks (``)&lt;/strong&gt; rather than the quotes ("") to define a string.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6swg58yl9sq6vf5xl18.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6swg58yl9sq6vf5xl18.jpg" alt="Image description" width="715" height="833"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>JS Variables, Operators, Data Types</title>
      <dc:creator>Jahid.Dev</dc:creator>
      <pubDate>Wed, 10 Jul 2024 11:39:47 +0000</pubDate>
      <link>https://forem.com/webdemon/js-variables-operators-data-types-12of</link>
      <guid>https://forem.com/webdemon/js-variables-operators-data-types-12of</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;JavaScript Variables can be declared in &lt;strong&gt;4&lt;/strong&gt; ways - &lt;br&gt;
&lt;strong&gt;Automatically&lt;/strong&gt;, Using &lt;strong&gt;var&lt;/strong&gt;, Using &lt;strong&gt;let&lt;/strong&gt;, Using &lt;strong&gt;const&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;var&lt;/strong&gt; keyword was used in all JavaScript code from &lt;strong&gt;1995 to 2015&lt;/strong&gt;. The &lt;strong&gt;let&lt;/strong&gt; and &lt;strong&gt;const&lt;/strong&gt; keywords were added to JavaScript in &lt;strong&gt;2015&lt;/strong&gt;. The &lt;strong&gt;var&lt;/strong&gt; keyword should only be used in code written for older browsers. Variables are containers for storing values.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;All JavaScript variables must be identified with &lt;strong&gt;unique names&lt;/strong&gt;.&lt;br&gt;
These unique names are called &lt;strong&gt;identifiers&lt;/strong&gt;. JavaScript identifiers are &lt;strong&gt;case-sensitive&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The &lt;strong&gt;"equal to"&lt;/strong&gt; operator is written like &lt;strong&gt;==&lt;/strong&gt; in JavaScript. Creating a variable in JavaScript is called &lt;strong&gt;"declaring"&lt;/strong&gt; a variable. After the declaration, the variable has &lt;strong&gt;no value&lt;/strong&gt; (&lt;strong&gt;technically it is undefined&lt;/strong&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You can declare &lt;strong&gt;many variables&lt;/strong&gt; in &lt;strong&gt;one statement&lt;/strong&gt;. Start the statement with let and separate the variables by &lt;strong&gt;comma&lt;/strong&gt;:&lt;br&gt;
let person = "John Doe", age = 25, color = "Gray";&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript &lt;strong&gt;scoping&lt;/strong&gt; determines the visibility and lifetime of variables within a program. Understanding scoping is essential for writing &lt;strong&gt;efficient and bug-free code&lt;/strong&gt;. Here’s an &lt;strong&gt;overview&lt;/strong&gt; of the different types of scoping in JavaScript - &lt;br&gt;
&lt;strong&gt;Global Scope -&lt;/strong&gt;&lt;br&gt;
Variables declared outside any function or block are in the global scope and are accessible from anywhere in the code. In a browser, global variables become properties of the window object.&lt;br&gt;
&lt;strong&gt;Function Scope -&lt;/strong&gt;&lt;br&gt;
Variables declared inside a function are in the function scope and are not accessible outside the function. JavaScript functions create their own scope.&lt;br&gt;
&lt;strong&gt;Block Scope -&lt;/strong&gt;&lt;br&gt;
Introduced in ES6, let and const allow block-level scoping. This means variables declared within a block (e.g., inside an if statement or a loop) are only accessible within that block.&lt;br&gt;
&lt;strong&gt;Lexical Scope -&lt;/strong&gt;&lt;br&gt;
JavaScript uses lexical scoping (or static scoping), meaning the scope of a variable is determined by its position within the source code. Nested functions have access to variables declared in their outer scopes.&lt;br&gt;
The &lt;strong&gt;this&lt;/strong&gt; Keyword -&lt;br&gt;
The value of this depends on the context in which a function is called. In the global scope, this refers to the global object (window in browsers). Inside a function, its value depends on how the function is called.&lt;br&gt;
&lt;strong&gt;Global Scope&lt;/strong&gt;: Variables accessible from anywhere.&lt;br&gt;
&lt;strong&gt;Function Scope&lt;/strong&gt;: Variables accessible only within the function.&lt;br&gt;
&lt;strong&gt;Block Scope&lt;/strong&gt;: Variables accessible only within the block (using let and const).&lt;br&gt;
&lt;strong&gt;Lexical Scope&lt;/strong&gt;: Inner functions have access to variables of their outer functions.&lt;br&gt;
&lt;strong&gt;this&lt;/strong&gt; Keyword: Depends on the context of the function call.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Variables declared with &lt;strong&gt;let&lt;/strong&gt; have &lt;strong&gt;Block Scope&lt;/strong&gt;. Variables declared with &lt;strong&gt;let&lt;/strong&gt; &lt;strong&gt;must be Declared before use&lt;/strong&gt;. Variables declared with let &lt;strong&gt;cannot be Redeclared in the same scope&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;let and const&lt;/strong&gt; have &lt;strong&gt;block scope&lt;/strong&gt;. let and const can not be &lt;strong&gt;redeclared&lt;/strong&gt;. let and const &lt;strong&gt;must be declared before use&lt;/strong&gt;. let and const does not bind to this.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Variables defined with &lt;strong&gt;const&lt;/strong&gt; cannot be &lt;strong&gt;Redeclared&lt;/strong&gt;, cannot be &lt;strong&gt;Reassigned&lt;/strong&gt; and have &lt;strong&gt;Block Scope&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Variables declared with &lt;strong&gt;let and const&lt;/strong&gt; are &lt;strong&gt;hoisted&lt;/strong&gt; to the top of their block scope (not function or global scope), but they are not &lt;strong&gt;initialized&lt;/strong&gt;. Using &lt;strong&gt;let&lt;/strong&gt; variable before it is declared will result in a &lt;strong&gt;&lt;em&gt;ReferenceError&lt;/em&gt;&lt;/strong&gt;. The variable is in a "&lt;strong&gt;temporal dead zone&lt;/strong&gt;" from the start of the block until it is declared. The &lt;strong&gt;'var'&lt;/strong&gt; is hoisted. &lt;strong&gt;The Temporal Dead Zone (TDZ)&lt;/strong&gt; in JavaScript refers to the period of time during which a variable is declared using let or const but has not yet been initialized. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use &lt;strong&gt;const&lt;/strong&gt; when you declare - A new &lt;strong&gt;Array&lt;/strong&gt;, &lt;strong&gt;Object&lt;/strong&gt;, &lt;strong&gt;Function&lt;/strong&gt;, &lt;strong&gt;RegExp&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Assignment Operator&lt;/strong&gt; &lt;strong&gt;=&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Addition Operator&lt;/strong&gt; &lt;strong&gt;+&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Multiplication Operator&lt;/strong&gt; *&lt;br&gt;
&lt;strong&gt;Comparison Operator&lt;/strong&gt; &lt;strong&gt;&amp;gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;There are different types of JavaScript &lt;strong&gt;operators&lt;/strong&gt; - &lt;br&gt;
&lt;strong&gt;Arithmetic Operators&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Assignment Operators&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Comparison Operators&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;String Operators&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Logical Operators&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Bitwise Operators&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Ternary Operators&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Type Operators&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Addition&lt;/strong&gt; + &lt;br&gt;
&lt;strong&gt;Subtraction&lt;/strong&gt; - &lt;br&gt;
&lt;strong&gt;Multiplication&lt;/strong&gt; *&lt;br&gt;
&lt;strong&gt;Exponentiation&lt;/strong&gt; **&lt;br&gt;
&lt;strong&gt;Division&lt;/strong&gt; /&lt;br&gt;
&lt;strong&gt;Modulus(Division Remainder)&lt;/strong&gt; % &lt;br&gt;
&lt;strong&gt;Increment&lt;/strong&gt; ++&lt;br&gt;
&lt;strong&gt;Decrement&lt;/strong&gt; --&lt;br&gt;
&lt;strong&gt;Addition Assignment Operator&lt;/strong&gt; +=&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Comparison Operators&lt;/em&gt; -&lt;br&gt;
&lt;strong&gt;equal to&lt;/strong&gt; ==&lt;br&gt;
&lt;strong&gt;equal value and equal type&lt;/strong&gt; ===&lt;br&gt;
&lt;strong&gt;not equal&lt;/strong&gt; !=&lt;br&gt;
&lt;strong&gt;not equal value or not equal type&lt;/strong&gt; !==&lt;br&gt;
&lt;strong&gt;greater than&lt;/strong&gt; &amp;gt;&lt;br&gt;
&lt;strong&gt;less than&lt;/strong&gt; &amp;lt;&lt;br&gt;
&lt;strong&gt;greater than or equal to&lt;/strong&gt; &amp;gt;=&lt;br&gt;
&lt;strong&gt;less than or equal to&lt;/strong&gt; &amp;lt;=&lt;br&gt;
&lt;strong&gt;ternary operator&lt;/strong&gt; ?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript &lt;strong&gt;Type Operators&lt;/strong&gt; - &lt;br&gt;
&lt;strong&gt;typeof&lt;/strong&gt; - Returns the type of a variable.&lt;br&gt;
&lt;strong&gt;instanceof&lt;/strong&gt;  - Returns true if an object is an instance of an object type.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Arithmetic&lt;/strong&gt; Operators - &lt;br&gt;
&lt;strong&gt;Addition&lt;/strong&gt; +&lt;br&gt;
&lt;strong&gt;Subtraction&lt;/strong&gt; -&lt;br&gt;
&lt;strong&gt;Multiplication&lt;/strong&gt; *&lt;br&gt;
&lt;strong&gt;Exponentiation (ES2016)&lt;/strong&gt; **&lt;br&gt;
&lt;strong&gt;Division&lt;/strong&gt; /&lt;br&gt;
&lt;strong&gt;Modulus (Remainder)&lt;/strong&gt; %&lt;br&gt;
&lt;strong&gt;Increment&lt;/strong&gt; ++&lt;br&gt;
&lt;strong&gt;Decrement&lt;/strong&gt; --&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Assignment&lt;/strong&gt; Operators - &lt;br&gt;
A) = &lt;br&gt;
B) += &lt;br&gt;
C) -= &lt;br&gt;
D) &lt;em&gt;= &lt;br&gt;
E) /= &lt;br&gt;
F) %= &lt;br&gt;
G) *&lt;/em&gt;=&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript has &lt;strong&gt;8 Datatypes&lt;/strong&gt; - &lt;br&gt;
&lt;strong&gt;String&lt;/strong&gt;, &lt;strong&gt;Number&lt;/strong&gt;, &lt;strong&gt;Bigint&lt;/strong&gt;, &lt;strong&gt;Boolean&lt;/strong&gt;, &lt;strong&gt;Undefined&lt;/strong&gt;, &lt;strong&gt;Null&lt;/strong&gt;, &lt;strong&gt;Symbol&lt;/strong&gt;, &lt;strong&gt;Object&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript has &lt;strong&gt;dynamic types&lt;/strong&gt;. This means that the &lt;strong&gt;same variable can be used to hold different data types&lt;/strong&gt;. All JavaScript &lt;strong&gt;numbers&lt;/strong&gt; are stored in a &lt;strong&gt;64-bit floating-point&lt;/strong&gt; format. You can use the JavaScript &lt;strong&gt;typeof operator&lt;/strong&gt; to find the type of a JavaScript variable. The typeof operator returns &lt;strong&gt;the type of a variable&lt;/strong&gt; or an &lt;strong&gt;expression&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In JavaScript, there are &lt;strong&gt;6 falsy values&lt;/strong&gt; -&lt;br&gt;
false, 0, "", null, undefined, NaN &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>JS Introduction</title>
      <dc:creator>Jahid.Dev</dc:creator>
      <pubDate>Wed, 10 Jul 2024 07:24:15 +0000</pubDate>
      <link>https://forem.com/webdemon/js-introduction-37jc</link>
      <guid>https://forem.com/webdemon/js-introduction-37jc</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;JavaScript&lt;/strong&gt; was created by &lt;strong&gt;Brendan Eich&lt;/strong&gt; in &lt;strong&gt;1995&lt;/strong&gt;. He developed it while working at &lt;strong&gt;Netscape Communications Corporation&lt;/strong&gt;. The language was initially called &lt;strong&gt;Mocha&lt;/strong&gt;, then renamed to &lt;strong&gt;LiveScript&lt;/strong&gt;, and finally to &lt;strong&gt;JavaScript&lt;/strong&gt;. The first version of JavaScript was included in &lt;strong&gt;Netscape Navigator 2.0&lt;/strong&gt;, which was released in &lt;strong&gt;December 1995&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A computer program is a list of &lt;strong&gt;instructions&lt;/strong&gt; to be &lt;strong&gt;executed&lt;/strong&gt; by a computer. In a programming language, these programming instructions are called &lt;strong&gt;statements&lt;/strong&gt;. A &lt;strong&gt;JavaScript program&lt;/strong&gt; is a list of &lt;strong&gt;programming statements&lt;/strong&gt;. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript &lt;strong&gt;statements&lt;/strong&gt; are composed of &lt;strong&gt;Values&lt;/strong&gt;, &lt;strong&gt;Operators&lt;/strong&gt;, &lt;strong&gt;Expressions&lt;/strong&gt;, &lt;strong&gt;Keywords&lt;/strong&gt;, and &lt;strong&gt;Comments&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;An &lt;strong&gt;expression&lt;/strong&gt; is a combination of &lt;strong&gt;values&lt;/strong&gt;, &lt;strong&gt;variables&lt;/strong&gt;, and &lt;strong&gt;operators&lt;/strong&gt;, which computes to a value The computation is called an evaluation. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The JavaScript syntax defines &lt;strong&gt;two types&lt;/strong&gt; of &lt;strong&gt;values&lt;/strong&gt;- &lt;br&gt;
&lt;strong&gt;Fixed values&lt;/strong&gt; (&lt;strong&gt;Literals&lt;/strong&gt;) and &lt;strong&gt;Variable values&lt;/strong&gt; &lt;strong&gt;(Variables)&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript can &lt;strong&gt;display&lt;/strong&gt; data in different ways - &lt;br&gt;
&lt;strong&gt;innerHTML, document.write(), window.alert(), console.log(), window.print()&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;var&lt;/strong&gt; = Declares a variable. &lt;br&gt;
&lt;strong&gt;let&lt;/strong&gt; = Declares a block variable.&lt;br&gt;
&lt;strong&gt;const&lt;/strong&gt; = Declares a block constant.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;if&lt;/strong&gt; = Marks a block of statements to be executed on a condition.&lt;br&gt;
&lt;strong&gt;switch&lt;/strong&gt; = Marks a block of statements to be executed in different cases.&lt;br&gt;
&lt;strong&gt;for&lt;/strong&gt; = Marks a block of statements to be executed in a loop.&lt;br&gt;
&lt;strong&gt;function&lt;/strong&gt; = Declares a function.&lt;br&gt;
&lt;strong&gt;return&lt;/strong&gt; = Exits a function.&lt;br&gt;
&lt;strong&gt;try&lt;/strong&gt; = Implements error handling to a block of statements. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JavaScript uses the keywords &lt;strong&gt;var&lt;/strong&gt;, &lt;strong&gt;let&lt;/strong&gt; and &lt;strong&gt;const&lt;/strong&gt; to declare variables. &lt;strong&gt;Arithmetic operators&lt;/strong&gt; ( + - * / ) to compute values. &lt;br&gt;
&lt;strong&gt;Assignment operator&lt;/strong&gt; ( = ) to assign values to variables. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;// &lt;strong&gt;Single Line Commnet&lt;/strong&gt;&lt;br&gt;
/*&lt;br&gt;
    &lt;strong&gt;Multi Line&lt;br&gt;
    Comments&lt;/strong&gt;&lt;br&gt;
*/ &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>javascript</category>
      <category>programming</category>
      <category>webdev</category>
      <category>beginners</category>
    </item>
    <item>
      <title>PHP তে Hello, World!</title>
      <dc:creator>Jahid.Dev</dc:creator>
      <pubDate>Fri, 14 Apr 2023 18:04:12 +0000</pubDate>
      <link>https://forem.com/webdemon/php-te-hello-world-fa1</link>
      <guid>https://forem.com/webdemon/php-te-hello-world-fa1</guid>
      <description>&lt;p&gt;আজ আমরা দেখবো কিভাবে PHP তে কোড লিখে ওয়েব ব্রাউজারে Hello, World! দেখা যায়।&lt;/p&gt;

&lt;p&gt;শুরুতেই আমরা xampp ফোল্ডারে থাকা htdocs এর ভেতর একটি helloworld নামে ফোল্ডার ক্রিয়েট করে তার ভেতর index.php নামে একটি ফাইল নিই। এবার এই ফাইলটা আমাদের কোড এডিটরে ওপেন করে নিচের কোডটুকু লিখে ফেলি।&lt;br&gt;
কোড -&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset="UTF-8"&amp;gt;
&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
&amp;lt;title&amp;gt;PHP&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;h1&amp;gt;&amp;lt;?php echo 'Hello, World!'; ?&amp;gt;&amp;lt;/h1&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;আমরা এবার আমাদের xampp সফটওয়্যারটি ওপেন করে Apache এবং MySQL Start করে নিই। এরপর আমাদের ওয়েব ব্রাউজারে গিয়ে এই লিংকটি প্রেস করে দিলাম localhost/helloworld এবং দেখতে পেলাম Hello, World! লেখাটি প্রিন্ট হয়েছে।&lt;/p&gt;

&lt;p&gt;এখন আমরা বুঝবো কিভাবে কি হল! উপরে HTML কোডে PHP লেখা হয়েছে যা h1 ট্যাগের মাঝে। &amp;lt;?php হচ্ছে PHP এর ওপেনিং ট্যাগ এবং ?&amp;gt; হচ্ছে ক্লোজিং ট্যাগ। আর echo হচ্ছে প্রিন্ট করার জন্য একটি স্টেটমেন্ট। এরপর 'Hello, World!' হচ্ছে একটা স্ট্রিং। স্ট্রিং নিয়ে সামনে আলোচনা হবে তাই আপাতত আমরা এই বিষয়টা স্কিপ করে যাচ্ছি। আর ‘’ এর ভেতরে থাকা কথাগুলাই আমরা ওয়েব পেইজে দেখতে পাচ্ছি এবং ; দিয়ে বুঝানো হয়েছে যে, স্ট্রিং টা এখানেই শেষ হয়েছে। মূলত PHP এই Hello, World! কথাটাই কোডের মাধ্যমে ওয়েব পেইজে প্রিন্ট করেছে। আমরা আরো একভাবে প্রিন্ট করতে পারি, যদি আমরা index.php ফাইলের ভেতরই কোড লিখি তাহলে ক্লোজিং ট্যাগ না লিখলেও হবে। আমরা শুধুই PHP তে লিখবো এবং ব্রাউজারে দেখবো। অতএব কোডটা হল -&lt;br&gt;
&amp;lt;?php&lt;br&gt;
echo 'Hello World!';&lt;br&gt;
তবে, যেহেতু আমরা এবার আর HTML এর h1 ট্যাগে কোড লিখি নাই তাই ব্রাউজারে আমরা h1 এর ডিফল্ট টেক্সট স্টাইল পাবো না এমনকি পেইজের টাইটেলও নাই যা আমরা পরবর্তী কোডে লিখিই নাই। আর অবশ্যই, প্রথমবারের কোডটুকু কমেন্ট করে নিবেন এবং দ্বিতীয়বারের কোড লিখার পর ব্রাউজারে গিয়ে একটা রিলোড দিয়ে নেবেন।&lt;/p&gt;

&lt;p&gt;তো এভাবেই আমরা PHP তে কোড লিখে ওয়েব ব্রাউজারে Hello, World! দেখতে পারি। আশা করছি আজকের টপিকটা ভালো লেগেছে, ধন্যবাদ।&lt;/p&gt;

&lt;h1&gt;
  
  
  PHP 💻 03
&lt;/h1&gt;

</description>
      <category>php</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>PHP ইনস্টল</title>
      <dc:creator>Jahid.Dev</dc:creator>
      <pubDate>Fri, 14 Apr 2023 18:02:08 +0000</pubDate>
      <link>https://forem.com/webdemon/php-insttl-4cpl</link>
      <guid>https://forem.com/webdemon/php-insttl-4cpl</guid>
      <description>&lt;p&gt;আজ আমরা জানবো, কিভাবে কম্পিউটারে PHP ইনস্টল করতে হয়, যাতে আমরা PHP শিখতে শুরু করতে পারি।&lt;br&gt;&lt;br&gt;
লোকাল মেশিনে PHP দিয়ে কাজ করতে হলে নিম্নলিখিত সফটওয়্যার গুলো কম্পিউটারে ইনস্টল করতে হবেঃ&lt;br&gt;
০১) PHP &lt;br&gt;
০২) PHP সাপোর্ট করে এমন একটি ওয়েব সার্ভার।&lt;br&gt;
০৩) একটি ডাটাবেস সার্ভার।&lt;br&gt;
সাধারণত এই সফটওয়্যারগুলো আলাদা আলাদা ইনস্টল করে সংযোগ করা আমাদের মত বিগিনারদের জন্য একটু অসুবিধাজনক। এজন্য সহজে ইনস্টল হওয়া XAMPP নামক সফটওয়্যার প্যাকেজটি খুব জনপ্রিয় এবং প্রচলিত PHP ডেভেলপমেন্ট এনভায়রনমেন্ট হিসাবে ব্যবহৃত হয়। XAMPP হল একটি সহজ ইনস্টল Apache ডিস্ট্রিবিউশন যা PHP, MariaDB এবং Apache webserver এনবল করে। XAMPP  Windows, Linux, and macOS সাপোর্ট করে।&lt;br&gt;
**নোট [ MariaDB হল সবচেয়ে জনপ্রিয় রিলেশনাল ডাটাবেজ ম্যানেজমেন্ট সিস্টেম মাইএসকিউএল (MySQL) এর একটি Fork ]&lt;br&gt;
Download XAMPP&lt;br&gt;
(&lt;a href="https://www.apachefriends.org/index.html" rel="noopener noreferrer"&gt;https://www.apachefriends.org/index.html&lt;/a&gt;) এই ওয়েব অ্যাড্রেস থেকে আপনার অপারেটিং সিস্টেম অনুযায়ী XAMPP’র লেটেস্ট ভার্সন ডাউনলোড করুন। &lt;br&gt;
Install XAMPP on Windows&lt;br&gt;
এই আর্টিকেলের সাথে ইন্সটল করার জন্য যা যা করতে হবে সেই স্টেপগুলো ইমেজ আকারে অ্যাটাচ করে দেয়া হবে।&lt;br&gt;&lt;br&gt;
১) ইনস্টলেশন শুরু করুন - &lt;br&gt;
Double Click করে ডাউনলোড করা ফাইলটি খুলতে হবে এবং XAMPP ইনস্টল করার জন্য সেটআপ শুরু করতে হবে। &lt;br&gt;
২) ইনস্টল করার জন্য কম্পোনেন্ট সিলেক্ট করুন - &lt;br&gt;
যেসব কম্পোনেন্ট ইনস্টল করতে চান সেগুলো নির্বাচন করুন। এই পর্যায়ে, Apache, MySQL, PHP, এবং phpMyAdmin নির্বাচন করুন। এছাড়াও অন্যান্য কম্পোনেন্ট ডিসলেক্ট করুন এবং পরবর্তী ধাপে যেতে নেক্সট বাটন চাপুন।&lt;br&gt;
৩) ইনস্টলেশন ফোল্ডার নির্দিষ্ট করুন - &lt;br&gt;
একটি ফোল্ডার নির্বাচন করুন যেখানে XAMPP ইনস্টল করা হবে। এটি সুপরিচিত c:\xampp ফোল্ডারে XAMPP ইনস্টল করার পরামর্শ দেয়া হয়। পরবর্তী ধাপে যাওয়ার জন্য নেক্সট বাটনে ক্লিক করুন।&lt;br&gt;
৪) একটি Language Select করুন -&lt;br&gt;
XAMPP কন্ট্রোল প্যানেলের জন্য একটি Language নির্বাচন করুন। ডিফল্ট Language ইংরেজি এবং আপনি আপনার পছন্দমত ভাষা নির্বাচন করতে পারেন ও পরবর্তী ধাপে যেতে নেকস্ট বাটনটি ক্লিক করুন।&lt;br&gt;
৫) Bitnami -&lt;br&gt;
PHP শেখার জন্য Bitnami দরকার নেই, এই ধাপটি স্কিপ করতে পারেন। কেবলমাত্র পরবর্তী ধাপে যেতে নেক্সট বাটনটি ক্লিক করুন।&lt;br&gt;
৬) XAMPP ইনস্টলেশন শুরু - &lt;br&gt;
আপনি এখন XAMPP ইনস্টল করার জন্য প্রস্তুত। ইনস্টলেশন শুরু করতে নেক্সট বাটনটি ক্লিক করুন। এটি সম্পূর্ণ হওয়ার জন্য  কিছু মিনিট সময় নেবে।&lt;br&gt;
৭) XAMPP সেটআপ সম্পন্ন হচ্ছে - &lt;br&gt;
ইনস্টলেশন শেষ হলে, XAMPP সেটআপ উইজার্ড নিচের স্ক্রিনটি (৭ম ইমেজ) দেখায়। আপনি ফিনিশ বাটনে ক্লিক করে XAMPP কন্ট্রোল প্যানেল লঞ্চ করতে পারেন।&lt;br&gt;
৮) সেটআপ সম্পন্ন হচ্ছে - &lt;br&gt;
XAMPP কন্ট্রোল প্যানেলে ইনস্টল করা সার্ভিসগুলি তালিকাভুক্ত আছে। একটি সার্ভিস চালু করতে, সার্ভিসের সাথে থাকা Start বাটনটি ক্লিক করুন। এরপর ৯ম ইমেজে দেখা যাচ্ছে - &lt;br&gt;
Apache web server এবং MySQL রানিং আছে। Apache’র পোর্ট হচ্ছে ৮০,৪৪৩ এবং MySQL’র ৩৩০৬। &lt;br&gt;
৯) XAMPP Launch করুন - &lt;br&gt;
ওয়েব ব্রাউজার খুলে &lt;a href="http://localhost/" rel="noopener noreferrer"&gt;http://localhost/&lt;/a&gt; এই URL-এ নেভিগেট করুন। সফলভাবে ইনস্টলেশন সম্পন্ন হলে, আপনি XAMPP এর welcome screen দেখতে পাবেন।&lt;br&gt;
১০) সমস্যা দূর করার পদক্ষেপ -&lt;br&gt;
ডিফল্টভাবে, Apache পোর্ট ৮০ ব্যবহার করে। তবে, যদি পোর্ট ৮০ অন্য কোন সার্ভিস ব্যবহার করে থাকে, তবে আপনি একটি ত্রুটি পেতে পারেন (১০ম ইমেজ)।&lt;br&gt;&lt;br&gt;
“Problem detected!&lt;br&gt;
Port 80 in use by "Unable to open process" with PID 4!&lt;br&gt;
Apache WILL NOT start without the configured ports free!&lt;br&gt;
You need to uninstall/disable/reconfigure the blocking application&lt;br&gt;
or reconfigure Apache and the Control Panel to listen on a different port ”&lt;br&gt;
এরকম নোটিফিকেশন আসতে পারে। সমস্যা সমাধানের জন্য আপনি পোর্ট 80 এর পরিবর্তে একটি ফ্রি পোর্ট, উদাহরণস্বরূপ 8080 ব্যবহার করতে পারেন, এটি করতে নিম্নলিখিত পদক্ষেপগুলি অনুসরণ করতে হবে:&lt;br&gt;
প্রথমে, Apache মডিউলের সাথে থাকা কনফিগ বাটনটি ক্লিক করুন (১০ম ইমেজ) । এরপর যে লাইনে Listen 80 আছে তার সাথে পোর্টটি 80 থেকে 8080 এ পরিবর্তন করুন(১১ তম ইমেজ)। এবার Apache চালু করতে স্টার্ট বাটনটি চাপুন। যদি পোর্টটি ফ্রি থাকে, অ্যাপাচি সঠিকভাবে চালু হয় তবে ইমেজের (১২তম ইমেজ) মতো দেখাবে।&lt;/p&gt;

&lt;h1&gt;
  
  
  PHP 🖥️ 02
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4axbjiuhzlggr101xqq8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4axbjiuhzlggr101xqq8.jpg" alt="Image description" width="502" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq08lsck2vh5j77aue94d.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq08lsck2vh5j77aue94d.jpg" alt="Image description" width="502" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwoa3jvpammpail0rk9z.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxwoa3jvpammpail0rk9z.jpg" alt="Image description" width="502" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcogypws3zs0rmum5v1vc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcogypws3zs0rmum5v1vc.jpg" alt="Image description" width="502" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo5ejl21zai7g5i9v8l55.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo5ejl21zai7g5i9v8l55.jpg" alt="Image description" width="502" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1e9s7vb1tmolnck0kyq1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1e9s7vb1tmolnck0kyq1.jpg" alt="Image description" width="502" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bh238zip61h1lr4arqn.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3bh238zip61h1lr4arqn.jpg" alt="Image description" width="502" height="425"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fes91oyzwkxqfs566h2tq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fes91oyzwkxqfs566h2tq.jpg" alt="Image description" width="668" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1e3kioly5bc53ugyhbv5.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1e3kioly5bc53ugyhbv5.jpg" alt="Image description" width="668" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8frrzbbm92dga7pg7rey.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8frrzbbm92dga7pg7rey.jpg" alt="Image description" width="756" height="357"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0b1gs3odp77klimjthj0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0b1gs3odp77klimjthj0.jpg" alt="Image description" width="627" height="326"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0gejqbzjcs8bp01q2ee0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0gejqbzjcs8bp01q2ee0.jpg" alt="Image description" width="664" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>php</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>PHP কি</title>
      <dc:creator>Jahid.Dev</dc:creator>
      <pubDate>Fri, 14 Apr 2023 17:55:10 +0000</pubDate>
      <link>https://forem.com/webdemon/php-ki-3fc</link>
      <guid>https://forem.com/webdemon/php-ki-3fc</guid>
      <description>&lt;p&gt;আমরা এই টিউটোরিয়াল থেকে যা জানতে চলেছি -&lt;br&gt;
১) PHP কি,&lt;br&gt;
২) এটি কিভাবে কাজ করে,&lt;br&gt;
৩) এটি কি কি করতে পারে এবং&lt;br&gt;
৪) এর সুবিধাগুলো&lt;/p&gt;

&lt;p&gt;PHP হল একটি সার্ভার সাইড ল্যাঙ্গুয়েজ যা সাধারণত ওয়েব অ্যাপ্লিকেশন তৈরি করতে, ওয়েব ডেভেলপমেন্টের কাজে ব্যবহৃত হয়, যার ফুল ফরম হচ্ছে - Hypertext Preprocessor.&lt;br&gt;
১৯৯৪ সালে Rasmus Lerdorf পিএইচপি তৈরি করেছেন। তবে, বর্তমানে PHP Development Team দ্বারা এটি পরিচালিত হয়। যখন আমরা আমাদের ওয়েব ব্রাউজারে একটি ওয়েবসাইট ওপেন করি তখন ওয়েব ব্রাউজার ওয়েব সার্ভারকে একটি HTTP Request প্রেরণ করে, যেখানে ওয়েব সাইট’টি রয়েছে। এরপর ওয়েব সার্ভারটি Request গ্রহণ করে একটি HTML Document দিয়ে রেসপন্স করে। চট করে একটি উদাহরণ দেয়া যায়, মনে করি ওয়েব ব্রাউজার হল একটি ক্লায়েন্ট এবং ওয়েব সার্ভার হল একটি সার্ভার। এখন এই ক্লায়েন্ট একটি পেইজ’এর জন্য Request পাঠায় এবং তা ওয়েব সার্ভার পূর্ণ করে দেয়। PHP ওয়েব সার্ভারের ভেতর Run করে, Request’কে Processes করে এবং একটি HTML Document রিটার্ন করে। PHP একটি General-purpose Language. PHP একটি Cross Platform Language কারণ এটি প্রায় সব Major Operating System’এ চলতে পারে, যেমন - Linux, Windows, macOS এসব। PHP প্রায় সকল Leading ওয়েব সার্ভার যেমন - Nginx, OpenBSD, Apache’তে ব্যবহার করা যায় এবং এছাড়াও কিছু Cloud Environment’ও PHP support করে যেমন - Microsoft Azure, Amazon AWS ইত্যাদি। PHP কেবলমাত্র HTML প্রসেস করেই সীমিত নয়। PDF, GIF, JPEG এবং PNG তৈরির জন্য PHP’এর নিজস্ব Built-in Support আছে। একটি লক্ষণীয় বৈশিষ্ট্য হল, PHP একাধিক ডাটাবেস সমর্থন করে, যেমন - MySQL, PostgreSQL, MS SQL, db2, Oracle Database এবং MongoDB’এর মতো ডাটাবেস। PHP’র দুটি প্রধান ব্যবহার রয়েছে - একটি Server-side Scripting ও অন্যটি Command-line Scripting.&lt;/p&gt;

&lt;p&gt;PHP যেভাবে কাজ করে -&lt;br&gt;
১) ওয়েব ব্রাউজার ওয়েব সার্ভারে একটি HTTP Request পাঠায়।&lt;br&gt;
২) ওয়েব সার্ভারে থাকা PHP প্রিপ্রসেসরটি PHP কোড প্রসেস করে HTML Document তৈরি করে।&lt;br&gt;
৩) ওয়েব সার্ভার এই HTML Document’টি ওয়েব ব্রাউজারে ফিরিয়ে দেয়।&lt;/p&gt;

&lt;p&gt;PHP’র সুবিধা -&lt;br&gt;
১) PHP ওয়েবসাইট সাধারণত খুব দ্রুত Load হয়।&lt;br&gt;
২) PHP খুবই Stable একটি Language&lt;br&gt;
৩) পিএইচপি ওপেন সোর্স এবং বিনামূল্যে ব্যবহার করা যায়।&lt;br&gt;
৪) PHP’র Active Online Community রয়েছে।&lt;/p&gt;

&lt;h1&gt;
  
  
  PHP 💻 01
&lt;/h1&gt;

</description>
      <category>php</category>
      <category>webdev</category>
      <category>programming</category>
      <category>beginners</category>
    </item>
    <item>
      <title>5 Websites That Will Hook You Towards CSS 🚀</title>
      <dc:creator>Jahid.Dev</dc:creator>
      <pubDate>Fri, 26 Aug 2022 03:15:00 +0000</pubDate>
      <link>https://forem.com/webdemon/5-websites-that-will-hook-you-towards-css-eh3</link>
      <guid>https://forem.com/webdemon/5-websites-that-will-hook-you-towards-css-eh3</guid>
      <description>&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Complete Guide to CSS Grid&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://css-tricks.com/snippets/css/complete-guide-grid&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;CSS Selectors Cheat Sheet&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://www.sitepoint.com/css-selectors&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Complete Guide to Flexbox&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://css-tricks.com/snippets/css/a-guide-to-flexbox&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Lengths of CSS&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;https://css-tricks.com/the-lengths-of-css&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CSS Transitions and Transforms&lt;br&gt;
&lt;code&gt;https://thoughtbot.com/blog/transitions-and-transforms&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
  </channel>
</rss>
