<?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: Sawda Hoque </title>
    <description>The latest articles on DEV Community by Sawda Hoque  (@sawdahoque234).</description>
    <link>https://dev.to/sawdahoque234</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%2F823067%2F839c58a0-faa5-4022-bf9a-e0e5123d6b7a.jpg</url>
      <title>DEV Community: Sawda Hoque </title>
      <link>https://dev.to/sawdahoque234</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sawdahoque234"/>
    <language>en</language>
    <item>
      <title>Some Basic JavaScript Concepts .</title>
      <dc:creator>Sawda Hoque </dc:creator>
      <pubDate>Sun, 20 Aug 2023 11:26:02 +0000</pubDate>
      <link>https://dev.to/sawdahoque234/some-basic-javascript-concepts--3pj0</link>
      <guid>https://dev.to/sawdahoque234/some-basic-javascript-concepts--3pj0</guid>
      <description>&lt;h2&gt;
  
  
  Primitive Values
&lt;/h2&gt;

&lt;p&gt;There are 7 Primitive data types. They are:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Number&lt;/li&gt;
&lt;li&gt;String&lt;/li&gt;
&lt;li&gt;Boolean&lt;/li&gt;
&lt;li&gt;Undefined&lt;/li&gt;
&lt;li&gt;Null&lt;/li&gt;
&lt;li&gt;Symbol&lt;/li&gt;
&lt;li&gt;BigInt&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(typeof "Sawda Hoque"); //output, "string"
console.log(typeof 12); //output, "number"
console.log(typeof true); //output, "boolean"
console.log(typeof null); //output, "object"
console.log(typeof undefined); //output, "undefined"

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Ternary Operator
&lt;/h2&gt;

&lt;p&gt;Ternary Operator is the smallest way for checking conditions. In ternary operator conditional checking using a question mark (?) and a colon (:).First of all, we write the condition, &lt;strong&gt;num&amp;gt;6&lt;/strong&gt; then we should use a question mark (?), then we write the code if the condition is true, then we should use a colon (:), then we write the code if the condition is false. We can use nested conditions in the ternary operator.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const number1 = 6;
const number2 = 10;
const largeNumber = number1 &amp;gt; number2 ? number1 : number2;
console.log(largeNumber); // output, 10
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Double Equal(==) vs Triple Equal (===)
&lt;/h2&gt;

&lt;p&gt;In JavaScript two double equal(==) compare the values. If the value is equal, return true. But triple equal compares(===) the values and compares the data type. If the value is equal and the type is equal, then return true, otherwise, return false.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(5 == "5"); // output, true
console.log(5 === "5"); // output, false
console.log("5" === "5"); // output, true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  &lt;strong&gt;isNaN() Method&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;isNaN() Method returns true if the argument is NaN, Otherwise it returns false.&lt;/p&gt;

&lt;h2&gt;
  
  
  Spread operator
&lt;/h2&gt;

&lt;p&gt;Spread operator or(...) three dots are used for array expression or string to be expanded or an object expression to be expanded in places. You can copy all the elements of an array, all the properties of an object, and all iterable of the string.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const numbers = [9, 10, 15, 99, 22];
console.log([...numbers]); // output, [9, 10, 15, 99, 22]
console.log([...numbers, 55]); // output, [9, 10, 15, 99, 22,55]

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  IIFE
&lt;/h2&gt;

&lt;p&gt;IIFE full meaning — Immediately Invoked Function Expression&lt;/p&gt;

&lt;p&gt;IIFE function is an anonymous function and the function will call Immediately. We can’t call the IIFE function another time.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(function (){
  console.log(2+3); 
})(); // output: 5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>spreadoperator</category>
      <category>isnan</category>
      <category>iiff</category>
      <category>ternaryoperator</category>
    </item>
    <item>
      <title>#Server-Side Rendering Vs Client-Side Renderin</title>
      <dc:creator>Sawda Hoque </dc:creator>
      <pubDate>Fri, 15 Jul 2022 17:24:17 +0000</pubDate>
      <link>https://dev.to/sawdahoque234/server-side-rendering-vs-client-side-rendering-1o1i</link>
      <guid>https://dev.to/sawdahoque234/server-side-rendering-vs-client-side-rendering-1o1i</guid>
      <description>&lt;p&gt;&lt;strong&gt;Server-Side rendering&lt;/strong&gt;&lt;br&gt;
Server-side rendering is the most common method for displaying information onto the screen. It works by converting HTML files in the server into usable information for the browser.&lt;br&gt;
Whenever you visit a website, your browser makes a request to the server that contains the contents of the website. Once the request is done processing, your browser gets back the fully rendered HTML and displays it on the screen. If you then decide to visit a different page on the website, your browser will once again make another request for the new information. This will occur each and every time you visit a page that your browser does not have a cached version of.&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&amp;gt;
  &amp;lt;head&amp;gt;
    &amp;lt;meta charset="utf-8"&amp;gt;
    &amp;lt;title&amp;gt;Website&amp;lt;/title&amp;gt;
  &amp;lt;/head&amp;gt;
  &amp;lt;body&amp;gt;
    &amp;lt;h1&amp;gt;My Website&amp;lt;/h1&amp;gt;
    &amp;lt;p&amp;gt;This is an example of my new website&amp;lt;/p&amp;gt;
    &amp;lt;a href="https://www.youtube.com/other.html."&amp;gt;Link&amp;lt;/a&amp;gt;
  &amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Client-Side-Rendering&lt;/strong&gt;&lt;br&gt;
client-side rendering means rendering content in the browser directly using JavaScript. This is a relatively new approach to rendering websites, and it didn't really become popular until JavaScript libraries started incorporating it into their style of development.&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&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;meta charset="utf-8"&amp;gt;
  &amp;lt;title&amp;gt;Example&amp;lt;/title&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
  &amp;lt;div id="root"&amp;gt;
    &amp;lt;app/&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;script src="https://vuejs.org" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;
  &amp;lt;script src="location/of/app.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
      <category>ssr</category>
      <category>csr</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Lazy Loading React Components (with react.lazy and suspense)</title>
      <dc:creator>Sawda Hoque </dc:creator>
      <pubDate>Tue, 24 May 2022 15:10:03 +0000</pubDate>
      <link>https://dev.to/sawdahoque234/lazy-loading-react-components-with-reactlazy-and-suspense-3ak4</link>
      <guid>https://dev.to/sawdahoque234/lazy-loading-react-components-with-reactlazy-and-suspense-3ak4</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is React.lazy()&lt;/strong&gt;&lt;br&gt;
It is a new function in react that lets you load react components lazily through code splitting without help from any additional libraries. Lazy loading is the technique of rendering only-needed or critical user interface items first, then quietly unrolling the non-critical items later. It is now fully integrated into core react library itself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Suspense&lt;/strong&gt;&lt;br&gt;
Suspense is a component required by the lazy function basically used to wrap lazy components. Multiple lazy components can be wrapped with the suspense component. It takes a fallback property that accepts the react elements you want to render as the lazy component is being loaded.&lt;/p&gt;

</description>
      <category>react</category>
      <category>reactlazy</category>
      <category>suspense</category>
    </item>
    <item>
      <title>Basic on JWT,MONGOOSE,NODE,EXPRESS</title>
      <dc:creator>Sawda Hoque </dc:creator>
      <pubDate>Tue, 01 Mar 2022 06:17:13 +0000</pubDate>
      <link>https://dev.to/sawdahoque234/basic-on-jwtmongoosenodeexpress-18p1</link>
      <guid>https://dev.to/sawdahoque234/basic-on-jwtmongoosenodeexpress-18p1</guid>
      <description>&lt;h2&gt;
  
  
  JWT
&lt;/h2&gt;

&lt;p&gt;JSON Web Token is a proposed Internet standard for creating data with optional signature and/or optional encryption whose payload holds JSON that asserts some number of claims. The tokens are signed either using a private secret or a public/private key.&lt;/p&gt;

&lt;h2&gt;
  
  
  When should you use JSON Web Tokens?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Authorization&lt;/strong&gt;: This is the most common scenario for using JWT. Once the user is logged in, each subsequent request will include the JWT, allowing the user to access routes, services, and resources that are permitted with that token. Single Sign On is a feature that widely uses JWT nowadays, because of its small overhead and its ability to be easily used across different domains.&lt;br&gt;
&lt;strong&gt;Information Exchange:&lt;/strong&gt; JSON Web Tokens are a good way of securely transmitting information between parties. Because JWTs can be signed—for example, using public/private key pairs—you can be sure the senders are who they say they are. Additionally, as the signature is calculated using the header and the payload, you can also verify that the content hasn't been tampered with.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JSON Web Token structure:&lt;/strong&gt; &lt;br&gt;
&lt;strong&gt;Header:&lt;/strong&gt;The header typically consists of two parts: the type of the token, which is JWT, and the signing algorithm being used, such as HMAC SHA256 or RSA.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Payload:&lt;/strong&gt;The second part of the token is the payload, which contains the claims. Claims are statements about an entity (typically, the user) and additional data. There are three types of claims: registered, public, and private claims.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Signature :&lt;/strong&gt;To create the signature part you have to take the encoded header, the encoded payload, a secret, the algorithm specified in the header, and sign that. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Mongoose&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Mongoose is a JavaScript object-oriented programming library that creates a connection between MongoDB and the Express web application framework. Mongoose is a Node. js-based Object Data Modeling (ODM) library for MongoDB. It is akin to an Object Relational Mapper (ORM) such as SQLAlchemy for traditional SQL databases. The problem that Mongoose aims to solve is allowing developers to enforce a specific schema at the application layer.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Mongoose module&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Mongoose.module is one of the most powerful external module of the node.js. Mongoose is a MongoDB ODM (Object database Modeling) that is used to translate the code and its representation from MongoDB to the Node.js server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Advantages of Mongoose module:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Collection validation of the MongoDB database can be done easily.&lt;/li&gt;
&lt;li&gt;Predefined Structure can be implemented on the collection.&lt;/li&gt;
&lt;li&gt;Constraints can be applied to documents of collections using Mongoose.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Mongoose find() function
&lt;/h2&gt;

&lt;p&gt;The find() function is used to find particular data from the MongoDB database. It takes 3 arguments and they are query (also known as a condition), query projection (used for mentioning which fields to include or exclude from the query), and the last argument is the general query options (like limit, skip, etc).&lt;/p&gt;

&lt;h2&gt;
  
  
  Mongoose findOne() function
&lt;/h2&gt;

&lt;p&gt;The findOne() function is used to find one document according to the condition. If multiple documents match the condition, then it returns the first document satisfying the condition.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mongoose update() function
&lt;/h2&gt;

&lt;p&gt;The update() function is used to update one document in the database without returning it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mongoose updateOne() function
&lt;/h2&gt;

&lt;p&gt;The updateOne() function is used to update the first document that matches the condition. This function is the same as update(), except it does not support the multi or overwrite options.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mongoose updateMany() function
&lt;/h2&gt;

&lt;p&gt;The updateMany() function is same as update(), except MongoDB will update all documents that match the filter. It is used when the user wants to update all documents according to the condition.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mongoose remove() function
&lt;/h2&gt;

&lt;p&gt;The remove() function is used to remove the documents from the database according to the condition.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mongoose deleteOne() function
&lt;/h2&gt;

&lt;p&gt;The deleteOne() function is used to delete the first document that matches the conditions from the collection. It behaves like the remove() function but deletes at most one document regardless of the single option.&lt;/p&gt;

&lt;h2&gt;
  
  
  Mongoose deleteMany() function
&lt;/h2&gt;

&lt;p&gt;The deleteMany() function is used to delete all of the documents that match conditions from the collection. This function behaves like the remove() function but it deletes all documents that match conditions regardless of the single option,&lt;/p&gt;

&lt;h2&gt;
  
  
  Node.js
&lt;/h2&gt;

&lt;p&gt;Nodejs is a server-side JavaScript run-time environment. It's open-source.&lt;/p&gt;

&lt;h2&gt;
  
  
  Difference between Nodejs and javascript
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;i.NodeJS is a Javascript runtime environment. But javascript is a programming language that is used for writing scripts on the website.&lt;/li&gt;
&lt;li&gt;ii.We can run Javascript outside the browser with the help of NodeJS.But Javascript can only be run in the browsers.&lt;/li&gt;
&lt;li&gt;iii.Nodejs does not have capability to add HTML tags,it is mostly used in sever side.&lt;/li&gt;
&lt;li&gt;But Javascript is capable  to add HTML and play with the DOM,it is basically used in clients side.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Differences between sql and nosql in database
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;i.SQL databases are relational that means  relational database management system (RDBMS), NoSQL database is non-relational or distributed. SQL databases are table-based whereas NoSQL databases are document-based.&lt;/li&gt;
&lt;li&gt;ii.SQL database the data is in the form of tables consisting of a number of rows, whereas data in NoSQL has no standard schema. NoSQL database  have dynamic schema while SQL databases consist of predefined schema.&lt;/li&gt;
&lt;li&gt;iii.Nosql are horizontally scalable while sql database  are vertically scalable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Express.js&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Express is a minimal and flexible Node.js web application framework that provides a robust set of features to develop web and mobile applications. It facilitates the rapid development of Node based Web applications. Following are some of the core features of Express framework −&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Allows to set up middlewares to respond to HTTP Requests.&lt;/li&gt;
&lt;li&gt;Defines a routing table which is used to perform different actions based on HTTP Method and URL.&lt;/li&gt;
&lt;li&gt;Allows to dynamically render HTML Pages based on passing arguments to templates.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>nodjs</category>
      <category>express</category>
      <category>jwt</category>
      <category>mongoose</category>
    </item>
    <item>
      <title>Learn Something on React JSX and Hooks</title>
      <dc:creator>Sawda Hoque </dc:creator>
      <pubDate>Tue, 01 Mar 2022 05:18:01 +0000</pubDate>
      <link>https://dev.to/sawdahoque234/learn-something-on-react-jsx-and-hooks-57pn</link>
      <guid>https://dev.to/sawdahoque234/learn-something-on-react-jsx-and-hooks-57pn</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;React&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;React is a free and open-source front-end JavaScript library for building user interfaces based on UI components. It is maintained by Meta and a community of individual developers and companies. React can be used as a base in the development of single-page or mobile applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;JSX&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;JSX stands for JavaScript XML. JSX allows us to write HTML in React. JSX makes it easier to write and add HTML in React.t is easy to create a template using JSX in React, but it is not a simple template language instead it comes with the full power of JavaScript.&lt;br&gt;
It is faster than normal JavaScript as it performs optimizations while translating to regular JavaScript. Instead of separating the markup and logic in separated files, React uses components for this purpose. We will learn about components in detail in further articles. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Characteristics of JSX:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JSX is not mandatory to use there are other ways to achieve the same thing but using JSX makes it easier to develop react application.&lt;/li&gt;
&lt;li&gt;JSX allows writing expression in { }. The expression can be any JS expression or React variable.&lt;/li&gt;
&lt;li&gt;To insert a large block of HTML we have to write it in a parenthesis i.e, ().&lt;/li&gt;
&lt;li&gt;JSX produces react elements.&lt;/li&gt;
&lt;li&gt;JSX follows XML rule.&lt;/li&gt;
&lt;li&gt;After compilation, JSX expressions become regular JavaScript function calls.&lt;/li&gt;
&lt;li&gt;JSX uses camelcase notation for naming HTML attributes. For example, tabindex in HTML is used as tabIndex in JSX. &lt;/li&gt;
&lt;li&gt;Advantages of JSX:&lt;/li&gt;
&lt;li&gt;JSX makes it easier to write or add HTML in React.&lt;/li&gt;
&lt;li&gt;JSX can easily convert HTML tags to react elements.&lt;/li&gt;
&lt;li&gt;It is faster than regular JavaScript.&lt;/li&gt;
&lt;li&gt;As JSX is an expression, we can use it inside of if statements and for loops, assign it to variables, accept it as arguments, or return it from functions.&lt;/li&gt;
&lt;li&gt;JSX prevents XSS (cross-site-scripting) attacks popularly known as injection attacks.&lt;/li&gt;
&lt;li&gt;It is type-safe, and most of the errors can be found at compilation time. &lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Hooks&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Hooks are the new feature introduced in the React 16.8 version. It allows you to use state and other React features without writing a class. Hooks are the functions which "hook into" React state and lifecycle features from function components. It does not work inside classes.Hooks are backward-compatible, which means it does not contain any breaking changes. Also, it does not replace your knowledge of React concepts. &lt;br&gt;
When to use a Hooks&lt;br&gt;
 If you write a function component and then you want to add some state to it, previously you do this by converting it to a class. But, now you can do it by using a Hook inside the existing function component.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Rules of Hooks&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Hooks are similar to JavaScript functions, but you need to follow these two rules when using them. Hooks rule ensures that all the stateful logic in a component is visible in its source code. &lt;br&gt;
&lt;strong&gt;These rules are:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;i.Only call Hooks at the top level&lt;/strong&gt;&lt;br&gt;
Do not call Hooks inside loops, conditions, or nested functions. Hooks should always be used at the top level of the React functions. This rule ensures that Hooks are called in the same order each time a components renders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ii.Only call Hooks from React functions&lt;/strong&gt;&lt;br&gt;
You cannot call Hooks from regular JavaScript functions. Instead, you can call Hooks from React function components. Hooks can also be called from custom Hooks.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Hook State&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Hook state is the new way of declaring a state in React app. Hook uses useState() functional component for setting and retrieving state. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Custom Hooks&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;A custom Hook is a JavaScript function. The name of custom Hook starts with "use" which can call other Hooks. A custom Hook is just like a regular function, and the word "use" in the beginning tells that this function follows the rules of Hooks. Building custom Hooks allows you to extract component logic into reusable functions. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Built-in Hooks&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Basic Hooks&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;useState&lt;/li&gt;
&lt;li&gt;useEffect&lt;/li&gt;
&lt;li&gt;useContext&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Additional Hooks&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;useReducer&lt;/li&gt;
&lt;li&gt;useCallback&lt;/li&gt;
&lt;li&gt;useMemo&lt;/li&gt;
&lt;li&gt;useRef&lt;/li&gt;
&lt;li&gt;useImperativeHandle&lt;/li&gt;
&lt;li&gt;useLayoutEffect&lt;/li&gt;
&lt;li&gt;useDebugValue&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Prop-Types&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Prop-Types are simply a mechanism that ensures that the passed value is of the correct datatype. This makes sure that we don’t receive an error at the very end of our app by the console which might not be easy to deal with. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;State props&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;In a React component, props are variables passed to it by its parent component. State on the other hand is still variables, but directly initialized and managed by the component. The state can be initialized by props.&lt;/p&gt;

</description>
      <category>hooks</category>
      <category>customhooks</category>
      <category>jsx</category>
      <category>state</category>
    </item>
    <item>
      <title>Exploring Some CSS Features</title>
      <dc:creator>Sawda Hoque </dc:creator>
      <pubDate>Mon, 28 Feb 2022 15:18:47 +0000</pubDate>
      <link>https://dev.to/sawdahoque234/know-about-css-1kd1</link>
      <guid>https://dev.to/sawdahoque234/know-about-css-1kd1</guid>
      <description>&lt;p&gt;&lt;strong&gt;CSS&lt;/strong&gt; stands for Cascading Style Sheets which is used for describing the presentation of a document written in a markup language such as HTML. CSS is a cornerstone technology of the World Wide Web, alongside HTML and JavaScript.&lt;/p&gt;

&lt;h3&gt;
  
  
  Here's what i’m Describe:
&lt;/h3&gt;

&lt;h2&gt;
  
  
  Box Model–CSS
&lt;/h2&gt;

&lt;p&gt;In CSS ,Box Model is a container that contains multiple properties including borders, margin, padding, and the content itself. It is used to create the design and layout of web pages. It can be used as a toolkit for customizing the layout of different elements.&lt;/p&gt;

&lt;p&gt;Box-Model has multiple properties in CSS. Some of them are given below: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;content:&lt;/u&gt;&lt;/strong&gt; This property is used to display the text, images, etc, that can be sized using the width &amp;amp; height property.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;padding:&lt;/u&gt;&lt;/strong&gt; This property is used to create space around the element, inside any defined border.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;border:&lt;/u&gt;&lt;/strong&gt; This property is used to cover the content &amp;amp; any padding, &amp;amp; also allows to set the style, color, and width of the border.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;margin:&lt;/u&gt;&lt;/strong&gt; This property is used to create space around the element , around the border area.It is useful to separate the element from its neighbors. &lt;/p&gt;

&lt;h2&gt;
  
  
  Overflow–CSS
&lt;/h2&gt;

&lt;p&gt;The overflow property specifies whether to clip content or to add scrollbars when an element's content is too big to fit in a specified area.&lt;/p&gt;

&lt;p&gt;Overflow has multiple properties in CSS. Some of them are given below:&lt;br&gt;
&lt;strong&gt;&lt;u&gt;Visible:&lt;/u&gt;&lt;/strong&gt; The content is not clipped and visible outside the element box. &lt;br&gt;
&lt;strong&gt;&lt;u&gt;Hidden:&lt;/u&gt;&lt;/strong&gt; The overflow is clipped and the rest of the content is invisible.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;Scroll:&lt;/u&gt;&lt;/strong&gt; The overflow is clipped but a scrollbar is added to see the rest of the content. The scrollbar can be horizontal or vertical.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;Auto:&lt;/u&gt;&lt;/strong&gt; It automatically adds a scrollbar whenever it is required.&lt;br&gt;
Overflow-x and Overflow-y: This property specifies how to change the overflow of elements. x deals with horizontal edges and y deals with vertical edges. &lt;/p&gt;

&lt;h2&gt;
  
  
  Float–CSS
&lt;/h2&gt;

&lt;p&gt;The float CSS property is used to position the elements to the left, right, of its container along with permitting the text and inline elements to wrap around it. The float property defines the flow of content in the page. The remaining elements will be part of the flow if the element is removed from the normal flow of the content. This property is ignored by the absolutely positioned elements. &lt;/p&gt;

&lt;p&gt;Float has multiple properties in CSS. Some of them are given below:&lt;br&gt;
&lt;strong&gt;&lt;u&gt;left:&lt;/u&gt;&lt;/strong&gt; The element will be positioned to the left side of its containing block.&lt;br&gt;
&lt;u&gt;&lt;strong&gt;right:&lt;/strong&gt;&lt;/u&gt; The element will be positioned to the right side of its containing block.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;none:&lt;/u&gt;&lt;/strong&gt; The element remains the same as it is declared ie it will have no effect on the element &amp;amp; this is the default value.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;inherit:&lt;/u&gt;&lt;/strong&gt; It is used to inherit a property to an element from its parent element property value.&lt;/p&gt;

&lt;h2&gt;
  
  
  2D Transforms–CSS
&lt;/h2&gt;

&lt;p&gt;In CSS, transforms  is used to modify an element by its shape, size and position. It transforms the elements along the X-axis and Y-axis.&lt;br&gt;
&lt;strong&gt;Transforms has six properties in CSS. Some of them are given below:&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;&lt;u&gt;translate() Method:&lt;/u&gt;&lt;/strong&gt; The translate() method is used to move the element from its actual position along the X-axis and Y-axis.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;rotate() Method:&lt;/u&gt;&lt;/strong&gt; The rotate() method rotates an element clockwise or counter-clockwise according to a given degree. The degree is given in the parenthesis.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;scale() Method:&lt;/u&gt;&lt;/strong&gt; It is used to increase or decrease the size of an element according to the parameter given for the width and height.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;skewX() Method:&lt;/u&gt;&lt;/strong&gt; This method is used to skew an element in the given angle along the X-axis.&lt;br&gt;
skewY() Method: This method is used to skew an element in the given angle along the Y-axis.&lt;br&gt;
&lt;strong&gt;&lt;u&gt;matrix() Method:&lt;/u&gt;&lt;/strong&gt; This method combines all the 2D transform property into a single property. The matrix transform property accepts six parameters as matrix( scaleX(), skewY(), skewX(), scaleY(), translateX(), translateY() ).&lt;/p&gt;

&lt;h2&gt;
  
  
  3D Transforms–CSS
&lt;/h2&gt;

&lt;p&gt;In 3D transformation, the elements are rotated along X-axis, Y-axis and Z-axis.&lt;br&gt;
&lt;strong&gt;There are three main types of transformation which are listed below:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;rotateX()&lt;/li&gt;
&lt;li&gt;rotateY()&lt;/li&gt;
&lt;li&gt;rotateZ()&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Media queries–CSS
&lt;/h2&gt;

&lt;p&gt;The Media query in CSS is used to create a responsive web design. It means that the view of a web page differs from system to system based on screen or media types. The breakpoint specifies for what device-width size, the content is just starting to break or deform.&lt;br&gt;
&lt;strong&gt;Media queries can be used to check many things:&lt;/strong&gt;&lt;br&gt;
width and height of the viewport&lt;br&gt;
width and height of the device&lt;br&gt;
Orientation&lt;br&gt;
Resolution&lt;/p&gt;

&lt;h2&gt;
  
  
  Features of Media query
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;There are many features of media query which are listed below:&lt;br&gt;
color:&lt;/strong&gt; The number of bits per color component for the output device.&lt;br&gt;
&lt;strong&gt;grid:&lt;/strong&gt; Checks whether the device is grid or bitmap.&lt;br&gt;
&lt;strong&gt;height:&lt;/strong&gt; The viewport height.&lt;br&gt;
aspect-ratio: The ratio between width and height of the viewport.&lt;br&gt;
color-index:** The number of colors the device can display.&lt;br&gt;
&lt;strong&gt;max-resolution:&lt;/strong&gt;The maximum resolution of the device using dpi and dpcm.&lt;br&gt;
&lt;strong&gt;monochrome:&lt;/strong&gt; The number of bits per color on a monochrome device.&lt;br&gt;
&lt;strong&gt;scan:&lt;/strong&gt; The scanning of output devices.&lt;br&gt;
&lt;strong&gt;update:&lt;/strong&gt; How quickly can the output device modify.&lt;br&gt;
&lt;strong&gt;width:&lt;/strong&gt; The viewport width.&lt;br&gt;
Media Types in CSS: There are many types of media types which are listed below:&lt;br&gt;
&lt;strong&gt;all:&lt;/strong&gt; It is used for all media devices&lt;br&gt;
&lt;strong&gt;print:&lt;/strong&gt; It is used for printer.&lt;br&gt;
&lt;strong&gt;screen:&lt;/strong&gt; It is used for computer screens, smartphones, etc.&lt;br&gt;
&lt;strong&gt;speech:&lt;/strong&gt; It is used for screen readers that read the screen aloud.&lt;/p&gt;

</description>
      <category>boxmodel</category>
      <category>overflow</category>
      <category>float</category>
      <category>transformation</category>
    </item>
  </channel>
</rss>
