<?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: ngouend gerard</title>
    <description>The latest articles on DEV Community by ngouend gerard (@ngouend_gerard_90).</description>
    <link>https://dev.to/ngouend_gerard_90</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%2F2558603%2Facf28c4b-004b-45ab-b855-b7f61c58d474.png</url>
      <title>DEV Community: ngouend gerard</title>
      <link>https://dev.to/ngouend_gerard_90</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ngouend_gerard_90"/>
    <language>en</language>
    <item>
      <title>What parts of security brings CORS In a Project</title>
      <dc:creator>ngouend gerard</dc:creator>
      <pubDate>Fri, 15 Aug 2025 15:49:01 +0000</pubDate>
      <link>https://dev.to/ngouend_gerard_90/what-parts-of-security-brings-cors-in-a-project-1jej</link>
      <guid>https://dev.to/ngouend_gerard_90/what-parts-of-security-brings-cors-in-a-project-1jej</guid>
      <description>&lt;p&gt;Most tech developers that builds a full stack application for their first time likely encounter the unusual and famous issue : &lt;strong&gt;cors policy&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This raw issue subsequently break the app, stop any API call, blank your UI Space under the browser.&lt;/p&gt;

&lt;p&gt;Unlikely to a simple &lt;em&gt;reference error&lt;/em&gt; , this one doesn't explicitly &lt;em&gt;point&lt;/em&gt; to any area in particular to focus on while trying to come out with the solution. &lt;/p&gt;

&lt;p&gt;There is just one way left:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To find online which cause(s) are symptomatic of the problem you are facing. And then come back for specific area in your program to get a fix.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Generally, walking through that process, we experience a point where the meaning of the  problem is enough comprehensible to us. But we still get lost on where to start our troubleshooting. &lt;/p&gt;

&lt;p&gt;And from a click, this error become a frustrating and overwhelming one. &lt;/p&gt;

&lt;p&gt;The pain is delivering, start cost unbearable. At this time, bewildered, we often ask ourself : "why the internet has to bring up this type of policy ?" &lt;/p&gt;

&lt;p&gt;To give clues how CORS work under the hood, this article, intend to navigate the readers through what it actually Complains about. The essential purpose behind it, the exact description of kind of Errors that could be delivered.&lt;/p&gt;

&lt;p&gt;And also while using browsers dev tools page can increase the chance to spot the solution in a minimal amount of times, saving us times and a lost of stress that cling when trying to resolve the issue.&lt;/p&gt;

&lt;h2&gt;
  
  
  Overview
&lt;/h2&gt;

&lt;p&gt;Web is flooded with devices and software applications. &lt;/p&gt;

&lt;p&gt;These one quietly exchange information on almost different levels at all time.&lt;/p&gt;

&lt;p&gt;For that case a proper security need to be set in place for data to move from one place to another. &lt;/p&gt;

&lt;p&gt;Particularly In computing network , one of the best way to represent a communication is using the &lt;strong&gt;OSI Model&lt;/strong&gt; approach.&lt;/p&gt;

&lt;p&gt;This network  model of communication contains  07 layers of operation: application, presentation, session, transport, network, data link, physical. &lt;/p&gt;

&lt;p&gt;The application layer is where cors errors happen, it is the higher top layer in the model that connect directly with the browser. &lt;/p&gt;

&lt;p&gt;To be brief and simple, a very specific cause of the error is a &lt;strong&gt;non-conform request&lt;/strong&gt; coming from a &lt;strong&gt;client-side&lt;/strong&gt;(browser, AI agent, proxy, ...) in destination of a new host's computer, a &lt;strong&gt;server&lt;/strong&gt; by the means of HTTP request method such as : GET, POST, DELETE, and so on.&lt;/p&gt;

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

&lt;p&gt;The diagram above describes how XMLHttpRequest Object make such a request, to pull or send data in or out a server.  &lt;/p&gt;

&lt;p&gt;XMLHttpRequest Object mechanism to fetch data, is an older one than &lt;strong&gt;fetch&lt;/strong&gt; api or &lt;strong&gt;axios&lt;/strong&gt;, but still, remains good when it comes to present how information flows from one place to another during a particular request. Just look the diagram and see how it goes.&lt;/p&gt;

&lt;p&gt;As a matter of fact, in the way CORS technology was implemented. It wasn't from the necessity of simulating a typical request's error under the browser.&lt;/p&gt;

&lt;p&gt;The main duty of CORS while being implemented for the first time was to bring a safe and secure transit of data between two different domains. &lt;/p&gt;

&lt;p&gt;Since the &lt;strong&gt;same origin policy&lt;/strong&gt; &lt;br&gt;
a technology built before where not allowing request from two different domains.&lt;br&gt;
(policy that protects sensitive data to not being compromise from malicious script coming from the DOM at a communication transmission between two different domains : http to https for e.g) &lt;/p&gt;

&lt;p&gt;To address these limitations, the famous big Brother &lt;strong&gt;CORS&lt;/strong&gt; was implemented to make communication soft and reliable while one resource try to access another resource remotely. By definition, &lt;strong&gt;CORS&lt;/strong&gt;, stand for &lt;strong&gt;Cross Origin Resources Sharing&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;It helps to match the need of modern website where large an sophisticated data laying remotely is needed to be brought to our UI website. &lt;/p&gt;

&lt;p&gt;In fact, if it wasn't for CORS. There will be no secure connection between your local machine and any server. &lt;/p&gt;

&lt;h2&gt;
  
  
  HTTP Errors
&lt;/h2&gt;

&lt;p&gt;HTTP Errors sometimes cause CORS issue. Specifically to understand why. We need to make a differentiation between the two HTTP request that exist : &lt;br&gt;
&lt;strong&gt;- simple request&lt;/strong&gt; &lt;br&gt;
&lt;strong&gt;- non simple request&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That sounds obvious. But we need to lean a little bit on how the both operates.&lt;/p&gt;

&lt;h3&gt;
  
  
  Simple request
&lt;/h3&gt;

&lt;p&gt;In general HTTP's request involves a lot of parameters' settings before an actual request is made. No matter how, there are often three to four parameters we constantly need to operate on change: The &lt;strong&gt;URL&lt;/strong&gt;, &lt;strong&gt;headers&lt;/strong&gt;, &lt;strong&gt;body&lt;/strong&gt; , &lt;strong&gt;methods&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;There are others existing flags. But these four are the one most use to raise a request.&lt;/p&gt;

&lt;p&gt;Focusing on the Method parameter we have method which do not involve manipulating/updating data like : &lt;strong&gt;GET&lt;/strong&gt;, &lt;strong&gt;POST&lt;/strong&gt;  those belong to &lt;strong&gt;Simple Request&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;On the other hand there is a parameter, named &lt;strong&gt;Content-Type&lt;/strong&gt; that has the power to affect the kind of request we are launching. In the case where this parameter is set to one of the three  following . We rest assure we are making a &lt;strong&gt;simple one&lt;/strong&gt; : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;application/x-www-form-urlencoded&lt;/strong&gt;, &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;multipart/form-data&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;text/plain&lt;/strong&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If not, obviously it changes to a &lt;strong&gt;Non-simple-Request&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;The fetch api example below is a prototype of how this simple request is structured, in the javascript's front-end code :&lt;/p&gt;

&lt;p&gt;// product-api.js (example)&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;fetch( 'http://localhost:5000/api/data',
  methods: 'GET', 
  headers: {
    ... // bunch of others properties
    'Content-Type': 'application/x-www-form-urlencoded' 
  },
 body :new URLSearchParams({
         key1: 'value1',
         key2: 'value2'
       }).toString()
 })
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;)&lt;/p&gt;

&lt;p&gt;You can see over the lines before,  that 'Content-Type' when taking a value such 'application/x-www-form-urlencoded' ignite the body to have a particular raw object embedded. An Object are a core part of Javascript's concept. This syntax keep leave this request to  being &lt;strong&gt;simple&lt;/strong&gt;.  &lt;/p&gt;

&lt;h3&gt;
  
  
  Non Simple request
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Non Simple Request&lt;/strong&gt; actually use method like &lt;strong&gt;PUT&lt;/strong&gt;, &lt;strong&gt;DELETE&lt;/strong&gt; where existing data is undoubtedly expose to change.&lt;/p&gt;

&lt;p&gt;In Non-Simple-Request, depending on the browser. A &lt;strong&gt;CORS Preflight&lt;/strong&gt; (a request's permission connection before the really one)  request is sent to identify if the domain that is about to make the request has the right to access to door of the server. &lt;/p&gt;

&lt;p&gt;In others hand simple request can switch rapidly to become a &lt;strong&gt;Non simple&lt;/strong&gt; also . It all come first to the value of the &lt;strong&gt;Content-Type&lt;/strong&gt;. If set to : &lt;strong&gt;application/json&lt;/strong&gt;. Then we already have a non simple request. But guess what, if &lt;strong&gt;Content-Type&lt;/strong&gt; have one of the previous value said in the section before. And also if our website involve accreditation by credentials there might be time where even under &lt;em&gt;**GET&lt;/em&gt;* or &lt;strong&gt;POST&lt;/strong&gt; request, the request translate to become a &lt;strong&gt;non-simple one&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We can see through this example below. Always using fetch : &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// product-api.js 

const data = { product: 'example', image: 'image123' };

fetch('http://localhost:5000/api/data',
methods: 'GET', 
  headers: {
    ... // bunch of others properties
    'Content-Type': 'application/json'
  },
 body :JSON.stringify(data)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;)&lt;/p&gt;

&lt;p&gt;Here 'Content-Type' has taken the value of 'application/json'. Causing the request to become a non-simple one.&lt;/p&gt;

&lt;p&gt;If we want to talk just about HTTPS errors , there are several of them that might occurs during a particular request. But the one that require most our attention are 5xx (server error) or 4xx (client error). These one are those capable of awakening  a CORS' Issue. Going further we want us to remember that. But don't worry every CORS Errors identify itself inside the &lt;strong&gt;message error&lt;/strong&gt; appearing under the console dev tools of our browser. Let just keep in the head that if this issue is a bouncing from HTTP errors we need to circumcise our research to servers' Http errors and clients' Http Errors. &lt;/p&gt;

&lt;h2&gt;
  
  
  CORS Errors
&lt;/h2&gt;

&lt;p&gt;CORS  as we know is fundamental for establishing communication between two domains. The mechanism is provide keep secure interconnection between devices of the same or different network. Dealing with CORS' issue will be daunting , if you don't have a proper way to go through the different step that may be their causes. In this section we will discuss the most common flagged errors by CORS, and how front-end and back-end of an application interpret data fetch or sent over a request when they occur. Setting quite enough possibility of moving around solutions to these issues.  .  &lt;/p&gt;

&lt;h3&gt;
  
  
  1.Reason: Cors Disabled
&lt;/h3&gt;

&lt;p&gt;Most popular browsers disallows the use of the CORS functionality inside their default settings.&lt;/p&gt;

&lt;p&gt;You may be skilled in one area but remember, not everyone is assertively a programmer ,and most user just need access to their favorite websites doing their things, without making request from HTTPS TO HTTPS. But now, as a growing developer you want to create what others do not see under the hood. Then you need to also tells your browser, i am developer.&lt;/p&gt;

&lt;p&gt;For the case of mozilla firefox's browser, CORS is disabled by the &lt;strong&gt;content&lt;/strong&gt; parameters under the set of a  property called  &lt;strong&gt;disable&lt;/strong&gt;.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;content.cors.disable = true 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;In the same way others browsers has their ways to shut down cors permanently. For mozilla for example if we change the &lt;strong&gt;disable&lt;/strong&gt; property to the boolean false. It could maybe disengage the security of same origin policy. But the concern is how does it will going to affect others left parameters of the browser. Hypothetically It's for sure a risk that could create  malfunction of the browser in some points. Because a browsers is a set of protocols, javascript's script, HTML page, CSS, and security network communication. There might be a lot to consider before roughly change the value of a parameters inside. Hopefully CORS on their inside possess parameters like &lt;strong&gt;headers&lt;/strong&gt; where a good selection set of those, undeniably close a communication from two different domains. And one of this property is referred as &lt;strong&gt;Access-Control-Allow-Origin&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;When you see error &lt;em&gt;**CORS Disabled&lt;/em&gt;* that means the Access-Control-Allow-Origin is not well set. &lt;/p&gt;

&lt;p&gt;That is how the scheme goes:&lt;/p&gt;

&lt;p&gt;When you send a fetch request from you front-end javascript code. This request , get interpreted by the back-end and for our case , the browser before allowing the stream connection between the two remote domain will ask to CORS in the back, if the Domain in charge to sending the request has a permission to access data gathered under the server. And that is Access-Control-Allow-Origin's role.&lt;/p&gt;

&lt;p&gt;An example of File's organization under the server side may look like underneath:&lt;/p&gt;

&lt;p&gt;server |&lt;br&gt;
         |_ _ model&lt;br&gt;
         |&lt;br&gt;
         |_ _ routes |&lt;br&gt;
         |           |_ _ product.js&lt;br&gt;
         |&lt;br&gt;
         | server.js&lt;br&gt;
         | package.json&lt;/p&gt;

&lt;p&gt;In the earlier used XMLHttpRequest's Object method fetch we have two ways of settings Access-Control-Allow-Origin permission  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One&lt;/strong&gt; : by granting access to any domain coming (using: *) &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;product.js 

Access-Control-Allow-Origin : * // on top before any syntax
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Two&lt;/strong&gt; : by allowing only one domain to communication &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;product.js 

Access-Control-Allow-Origin : https://example-B.com 

or

Access-Control-Allow-Origin : http://localhost:5000 // for  local machine
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;These configurations while working has brought to many others difficulty in times that went not seeing solutions after times even after setting this parameters to a right value.  &lt;/p&gt;

&lt;p&gt;In modern Javascript's API library for fetch request like  &lt;strong&gt;axios&lt;/strong&gt; or &lt;strong&gt;fetch&lt;/strong&gt;. The process is much more easier and reliable than settings directly Access-Control-Allow-Origin under api endpoint files in the back-end. NPM dependency like  &lt;strong&gt;cors&lt;/strong&gt; running a safe program to configure cors  ( for nodejs user at back-end environment) is a good bet to use. It just take  little properties' name settings to the exact value via middleware's call. &lt;/p&gt;

&lt;p&gt;An example of this with a framework like &lt;strong&gt;expressjs&lt;/strong&gt;  good to build routes for our server look like below :  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;express.js&lt;/strong&gt; &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const express = require('express')
const app = express()  
const router = app.router()   
const cors = require('cors'); 

app.use(cors()); middleware : // Enable CORS for all origins  

// or 

app.use(cors({origin: ['http://localhost:3000', 'https://your-frontend-domain.com'],
  optionsSuccessStatus: 200}))  // enabling only origins specified  

   // middleware config are made in express.js with **use** method : **app.use()**       
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  2.Reason: CORS preflight channel did not succeed
&lt;/h3&gt;

&lt;p&gt;We mentioned earlier in someway that browsers need to first know if a domain is allowed to start a conversation with a server before sending a specific request to that domain. It like a pilot which call the center's board regulation of an airport to ensure the pitch he is about to land is secure and empty.That is why &lt;strong&gt;CORS Preflight&lt;/strong&gt; does in priority(aside request sent by the browser before the main request)&lt;/p&gt;

&lt;p&gt;To better understand that preflight let's start by catching the difference between an &lt;strong&gt;URL&lt;/strong&gt;, a &lt;strong&gt;domain&lt;/strong&gt; , and an &lt;strong&gt;origin&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here below. This is an URL&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;URL: https://www.tech-future.com/blog/articles?username=john doe&amp;amp;location=middleland
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;A &lt;strong&gt;domain&lt;/strong&gt; will refer to all the web pages that forms the entire website (e.g : &lt;a href="http://www.tech-future.com" rel="noopener noreferrer"&gt;www.tech-future.com&lt;/a&gt;), such as :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.tech-future.com/careers" rel="noopener noreferrer"&gt;www.tech-future.com/careers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tech-future.com/blog" rel="noopener noreferrer"&gt;www.tech-future.com/blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tech-future.com/blog/articles" rel="noopener noreferrer"&gt;www.tech-future.com/blog/articles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.tech-future.com/products" rel="noopener noreferrer"&gt;www.tech-future.com/products&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An &lt;strong&gt;origin&lt;/strong&gt; often called &lt;strong&gt;BASE_URL&lt;/strong&gt; represent a &lt;em&gt;protocol&lt;/em&gt;, a &lt;em&gt;host&lt;/em&gt; and a &lt;em&gt;port&lt;/em&gt;. It looks as following  :&lt;/p&gt;

&lt;p&gt;e.g : &lt;a href="https://www.tech-future.com" rel="noopener noreferrer"&gt;https://www.tech-future.com&lt;/a&gt; &lt;br&gt;
(where exactly &lt;a href="https://www.tech-future.com:443" rel="noopener noreferrer"&gt;https://www.tech-future.com:443&lt;/a&gt; represent the origin, the port which here is 443 is often hidden on website scripture under the browser)&lt;/p&gt;

&lt;p&gt;another e.g :&lt;a href="http://localhost:" rel="noopener noreferrer"&gt;http://localhost:&lt;/a&gt; 3000&lt;/p&gt;

&lt;p&gt;Every request made from the client side via a browser need to encapsulate the origin of &lt;strong&gt;requester&lt;/strong&gt;. Both from the front-end and  the back-end of an application. &lt;/p&gt;

&lt;p&gt;The origin is automatically include in CORS' headers request when sending a request using any mechanism from xmlHttpRequest to axios in the front-end of your app. Their program's structure know how to catch &lt;strong&gt;origin&lt;/strong&gt; from an url provided.&lt;/p&gt;

&lt;p&gt;Therefore a good set to avoid preflight errors will be to grant access via &lt;strong&gt;Access-Control-Allow-Origin&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;And we see it could be done like following :&lt;/p&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;app.use(cors({origin: ['http://localhost:3000', 'https://your-frontend-domain.com'],
  optionsSuccessStatus: 200}))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Simple and precise origin gathered in one array.&lt;/p&gt;

&lt;h3&gt;
  
  
  3.Reason: CORS request external redirect not allowed
&lt;/h3&gt;

&lt;p&gt;This Error is a Triggered one that happen most the time when an URL has updates it &lt;strong&gt;domain&lt;/strong&gt; either temporarily or permanently.  This will be the case if the people in charge of the website are making huge update or working on some fix, bug, security or new release, and will not want to loose track with the people using their online services for their goods.&lt;/p&gt;

&lt;p&gt;An example. If the page &lt;a href="https://service.tld/fetchdata" rel="noopener noreferrer"&gt;https://service.tld/fetchdata&lt;/a&gt; were requested, and the HTTP response is "301 Moved Permanently", "307 Temporary Redirect", or "308 Permanent Redirect" with a Location of &lt;a href="https://anotherservice.net/getdata" rel="noopener noreferrer"&gt;https://anotherservice.net/getdata&lt;/a&gt;, the CORS request will fail in this manner.&lt;br&gt;
Link: &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS/Errors/CORSExternalRedirectNotAllowed" rel="noopener noreferrer"&gt;CORS request external redirect not allowed&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To solve the problem Just reassign the targeted server domain using the new URL &lt;strong&gt;domain&lt;/strong&gt; printed over the message error appearing in the console dev tools of your browser. &lt;/p&gt;

&lt;h3&gt;
  
  
  4.Reason: CORS request did not succeed
&lt;/h3&gt;

&lt;p&gt;This error crying out loud. It is not in fact a failure of CORS. &lt;/p&gt;

&lt;p&gt;Others part like the network connection, or plugin, or new extension can be the cause of that error.&lt;/p&gt;

&lt;p&gt;In first place you need to check your internet connection. If there is no problem on that side. Try to relate if you recently installed a non-secure program or an extension, and try to disable these one, And try once again the request. If that doesn't help. There could be some issues hitting your network layer application. Try to look other process outside and online that could help you fix these network issues. But first of all be sure you have to deal with a really network issue not an internet connection one.&lt;/p&gt;

&lt;p&gt;The link below will guide you to areas to further glance if having this error persists.&lt;/p&gt;

&lt;p&gt;Link : &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CORS/Errors/CORSDidNotSucceed" rel="noopener noreferrer"&gt;CORS request did not succeed&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  5.Reason: Multiple CORS header 'Access-Control-Allow-Origin' not allowed
&lt;/h3&gt;

&lt;p&gt;This error occurs when under a fetch process the cors' header parameter : &lt;strong&gt;Access-Control-Allow-Origin&lt;/strong&gt; it set to multiple origins at the same time.  Access-Control-Allow-Origin just allows one origin in case it is set differently than *(any origin).  &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;product.js 

Access-Control-Allow-Origin : https://example-a.com  https://example-b.com // **forbidden**
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;If you are looking for configuring limited amount of origin to access the server. The easier way is to use dedicated program like &lt;strong&gt;cors&lt;/strong&gt;  npm package,  that you can install and execute to hold in dedicated configurations you can take control over.&lt;/p&gt;

&lt;p&gt;Example : The configuration discussed in the section: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;2.Reason: CORS preflight channel did not succeed&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Will work too. Solving the problem.&lt;/p&gt;

&lt;h3&gt;
  
  
  6.Reason: Credential is not supported if the CORS header 'Access-Control-Allow-Origin' is '*'
&lt;/h3&gt;

&lt;p&gt;Anytime you decide to open one of your favorite website or any new one that you get excited to use . Their are party that prompt you to login or register. Imagine we have this website we love right. It has a &lt;strong&gt;free&lt;/strong&gt; version and a &lt;strong&gt;premium&lt;/strong&gt; version. The access you are granted for free you can guess may not be like the one you are given in the premium stage. And this is exactly due to a set of credentials that are given from low access or a high access to a website. We can think of it like  &lt;em&gt;regular user&lt;/em&gt; vs &lt;em&gt;admin user&lt;/em&gt;. When such a website is built, users generally access their data under a thorough control by the application of the credentials they have been granted.&lt;/p&gt;

&lt;p&gt;That means, if you decide to set Access-control-Allow-Origin to a star : '*'. Then any domain could access any page of the website. Cors will definitely says to you : NO WAY!  &lt;/p&gt;

&lt;p&gt;Why ?&lt;/p&gt;

&lt;p&gt;Because a star: '&lt;em&gt;', allows all sort kind of resource an access, and this is a mess with the really purpose of credentials:  secret password or secure authentication meeting over process like **JWT Token&lt;/em&gt;* or &lt;strong&gt;oauth authentication&lt;/strong&gt;. The logic of the error shout out loud : you can't have &lt;strong&gt;credentials&lt;/strong&gt; involved and in the meanwhile &lt;em&gt;allow everyone to be in without exception&lt;/em&gt;. That It's absurd.&lt;/p&gt;

&lt;p&gt;A way to fix that error is to leave  &lt;strong&gt;Access-Control-Allow-Origin&lt;/strong&gt; to set specific &lt;strong&gt;URLs&lt;/strong&gt; for interaction and further implement thorough credentials match that not come back squeezing the communication (good Oauth or JWT implementation).    &lt;/p&gt;

&lt;p&gt;// configure cors to extend access to particular origins&lt;br&gt;
    app.use(cors({origin: ['&lt;a href="http://localhost:3000" rel="noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt;', '&lt;a href="https://your-frontend-domain.com'" rel="noopener noreferrer"&gt;https://your-frontend-domain.com'&lt;/a&gt;],&lt;br&gt;
      optionsSuccessStatus: 200}))&lt;/p&gt;

&lt;h3&gt;
  
  
  7.Reason: invalid token 'xyz' in CORS header 'Access-Control-Allow-Headers'
&lt;/h3&gt;

&lt;p&gt;This error will hardly appears to you when using modern javascript technology like fetch or axios because they are specifically settings cors header property  &lt;strong&gt;Access-Control-Allow-Headers&lt;/strong&gt; under the hood.&lt;/p&gt;

&lt;p&gt;This error specify that in response to the &lt;strong&gt;preflight&lt;/strong&gt; sent by the browser** their is in &lt;strong&gt;Access-Control-Allow-Headers&lt;/strong&gt; one or many &lt;em&gt;header's names&lt;/em&gt; response that do not match the standard syntax expected to be. Therefore, are confusing the user-agent(browser) receiving this report in such a way that he doesn't really get the ability to interpreted those data. &lt;/p&gt;

&lt;h3&gt;
  
  
  8.Reason: invalid token 'xyz' in CORS header 'Access-Control-Allow-Methods'
&lt;/h3&gt;

&lt;p&gt;The same reason apply to &lt;strong&gt;Access-Control-Allow-Methods&lt;/strong&gt;. The preflight send a response under a set of random &lt;em&gt;methods names&lt;/em&gt; given in config under the back-end api endpoint of the app. The user-agent(browser in our case) try to interpret them, but fail. These method names could(e.g : GET, POST, OPTIONS) not  well written or additional unknown methods of the browser in that property that kill the process.&lt;/p&gt;

&lt;h3&gt;
  
  
  9.Reason: Did not find method in CORS header 'Access-Control-Allow-Methods'
&lt;/h3&gt;

&lt;p&gt;If you directly set  &lt;strong&gt;Access-Control-Allow-Method&lt;/strong&gt; in a back-end api endpoint of your app like the example underneath :&lt;/p&gt;

&lt;p&gt;product.js &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Access-Control-Allow-Methods : GET, POST
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;You can't suddenly decide to make an &lt;strong&gt;update&lt;/strong&gt; request from your frontend javascript's code using &lt;strong&gt;PUT&lt;/strong&gt;. The request will not succeed. Remember, you just set the tone of Methods to be used in the back-end and it doesn't seems like &lt;strong&gt;PUT&lt;/strong&gt; serve the team. That is why, CORS complains.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Remarks&lt;/strong&gt;: It's not required to set &lt;strong&gt;Access-Control-Allow-Methods&lt;/strong&gt;, &lt;strong&gt;Access-Control-Allow-Headers&lt;/strong&gt; in general. If you don't any  fetch's mechanism( XMLHttpProperty, Fetch, Axios, ...)  will know how to handle these properties under their process.&lt;/p&gt;

&lt;p&gt;Just write clean code and don't try to overwhelm the server with unneeded configuration.&lt;/p&gt;

&lt;h3&gt;
  
  
  10.Reason: CORS request not HTTP
&lt;/h3&gt;

&lt;p&gt;CORS requests may only use the HTTP or HTTPS URL scheme. In case different others kind of processed URL are used to mount these request. There will be compliance coming from CORS stating that HTTP Protocol in need for request it is not seen in the syntax mounted.&lt;/p&gt;

&lt;p&gt;Always use http URL : e.g &lt;a href="https://example-B.com" rel="noopener noreferrer"&gt;https://example-B.com&lt;/a&gt; or &lt;a href="http://localhost:5000" rel="noopener noreferrer"&gt;http://localhost:5000&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't use file redirected Url : file:// ... to make a CORS request.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Cors Errors are painful and difficult to address. Then we need to shape unique ways to track those issues an gain times. The 10 different cors' errors related before may lack more refinement, but we put our effort to leave clues on how they relate practically, and where they will be the area to adjust the issues. This to ensure you build full stack-app based projects with one more layer success that decrease the time is cost you to bring the project to life. Moving forwards i would like anyone that have questions , or feedbacks, to leave their comments, all to evolve to a clear article that will get users to become much familiar with CORS!&lt;/p&gt;

&lt;p&gt;You can join me on linkedin: &lt;a href="https://www.linkedin.com/in/ngouend-gerard-5a0584244/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/ngouend-gerard-5a0584244/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;or twitter: &lt;a href="https://x.com/nest_Ngoueni" rel="noopener noreferrer"&gt;https://x.com/nest_Ngoueni&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Thanks You.&lt;/p&gt;

</description>
      <category>backend</category>
      <category>errors</category>
      <category>network</category>
      <category>communication</category>
    </item>
    <item>
      <title>text-Editor VSCODE Without Mouse</title>
      <dc:creator>ngouend gerard</dc:creator>
      <pubDate>Thu, 30 Jan 2025 18:47:07 +0000</pubDate>
      <link>https://dev.to/ngouend_gerard_90/text-editor-vscode-without-mouse-2k3o</link>
      <guid>https://dev.to/ngouend_gerard_90/text-editor-vscode-without-mouse-2k3o</guid>
      <description>&lt;p&gt;Text Editors are primarily small programs intend to write , edit and save text quickly, without too much fancy formatting. These quick notebooks savior are generally built-in app most find in any digital devices . For example we basically have &lt;strong&gt;xed&lt;/strong&gt; in linux, &lt;strong&gt;TextEdit&lt;/strong&gt; in Mac, &lt;strong&gt;Notepad&lt;/strong&gt; in windows OS computers. Others Advanced text Editors like EditPad Lite, Sublime Text, Vim, Notepad++, and so on can be found online, downloadable for free or paid. These are a lot to have in hands and we are going to look why is necessary to have a more powerful text editor.&lt;/p&gt;

&lt;h3&gt;
  
  
  coding
&lt;/h3&gt;

&lt;p&gt;When referring to coding skill, we utilize &lt;strong&gt;text editor&lt;/strong&gt; to compile syntax of any programming languages, test functionalities of an app, structure files and projects . All for the sake of cooking a good web app.&lt;/p&gt;

&lt;p&gt;Time went where software engineers thought about increasing the capabilities of text editor beyond simple writing and savings options.&lt;/p&gt;

&lt;p&gt;They mind of new text editors products capable of running online or local programs, getting a rich built-in settings for convenience writings , processing almost any programming languages, reducing bugs,and that could be quite adaptable to many operatings systems available out there.This diversified ecosystem, draw an environment, where possibility of the use of one plateform or interface can sustain an entire built process of an online product without relying on a panoply of external resources to embed constantly. These idea give birth later to what we commonly know as &lt;code&gt;Integrated Development Environment&lt;/code&gt; or &lt;strong&gt;IDE&lt;/strong&gt; . IDEs become the text editors product commonly use by coder, designer, and other web tech field. One of them is &lt;code&gt;vscode&lt;/code&gt;, popular among this peer with his rich configurable panel settings. However that doesn’t mean it is only the good one. Presenting &lt;code&gt;vscode&lt;/code&gt; in this article comes with the necessity to take over the power of advanced text editors during our work , doing most of the labour with minimal use of a &lt;strong&gt;mouse device&lt;/strong&gt;, and then become good at automating tasks in any IDE environment. That is why using &lt;strong&gt;shortcut commands&lt;/strong&gt; feature gave by vscode or others editors as well, will allow constency flow of our work with less distractions, with a result in fast production.&lt;/p&gt;



&lt;h3&gt;
  
  
  shortcut commands
&lt;/h3&gt;

&lt;p&gt;Shortcut commands are &lt;strong&gt;keyboard’s keys combinations&lt;/strong&gt; that trigger a certain &lt;code&gt;behavior&lt;/code&gt; in a document or window while being &lt;strong&gt;entered&lt;/strong&gt;.&lt;br&gt;
Their main goal is to reduce as much as possible the congestion of using the &lt;code&gt;Mouse device&lt;/code&gt; while browsing editing , finding file or content inside a window. This enormously help users stay focus on tasks they perform through the interface , avoiding a lot distractions, essentially from external materials they might want to access.&lt;br&gt;
An example of shortcut command could be :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ctrl + &amp;lt; in linux or windows&lt;/li&gt;
&lt;li&gt;or ⌘&amp;lt; in mac&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To directly open the &lt;strong&gt;setings parameters&lt;/strong&gt; panel.&lt;/p&gt;



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

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


&lt;p&gt;&lt;span&gt; Ctrl + &amp;lt; &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Over the next Level of our discussion , we will assume, all the times, excepts a contrary notification that any command beginning with &lt;code&gt;Ctrl&lt;/code&gt; Button (linux, windows OS ) will be replaced by the similar one &lt;code&gt;⌘&lt;/code&gt; in a mac OS .&lt;br&gt;
We will also keep our cursor within a window &lt;strong&gt;editing area&lt;/strong&gt; of vscode when composing the combination's shortcut commands keys. In order to have it working.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;shortcuts commands&lt;/strong&gt; on vscode IDE Interface can help us over :&lt;/p&gt;

&lt;p&gt;1 - &lt;strong&gt;Navigation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;2 - &lt;strong&gt;Displaying&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;3 - &lt;strong&gt;Editing&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;4 - &lt;strong&gt;Workspace&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  I - NAVIGATION
&lt;/h3&gt;

&lt;p&gt;Vscode displays three majors area that certainly hook our interests most of the time , writing syntax of an app or testing code. These are :&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;•  1 The Repertory area
•  2 The Tab files area
•  3 The Editing area
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Like seen in the image below.&lt;/p&gt;

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


&lt;p&gt;&lt;span&gt; 3 areas &lt;/span&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  I-1 Repertory Area (Ctrl + 0 )
&lt;/h4&gt;

&lt;p&gt;The shortcut command &lt;code&gt;Ctrl + 0&lt;/code&gt; give quick access to the &lt;strong&gt;Repertory area&lt;/strong&gt; while editing . You switch from the ~ /editing area ~ to the ~ /repertory area ~ almost instantly , giving to multiples directory and files an access to be browsed, reviewed and re-structured in necessary case.&lt;br&gt;
Under &lt;code&gt;repertory area&lt;/code&gt; navigation from one file/directory to another is made using &lt;strong&gt;directional keyboard buttons&lt;/strong&gt;. Files can be opened clicking on &lt;strong&gt;ENTER&lt;/strong&gt;, and we can switch back once again to the &lt;strong&gt;editing area&lt;/strong&gt; combining the same shortcut key's command.&lt;/p&gt;



&lt;h4&gt;
  
  
  I-2 Tab Files Area (Alt + 1 or 2 , 3, etc )
&lt;/h4&gt;

&lt;p&gt;While having your vscode's window open , browses back and forth from one file to another of the same &lt;strong&gt;editing group&lt;/strong&gt; area using the shortcut command :&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Alt + 1 or 2 , 3, ...&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Just name the right &lt;code&gt;number&lt;/code&gt; before &lt;code&gt;Alt&lt;/code&gt; and shift from your current file to the file located at that specific position. This quite for sure one will take your attention to how powerful you can take control over vscode.&lt;/p&gt;

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


&lt;p&gt;&lt;span&gt; Alt + 4 &lt;/span&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  I-3 Editing Area (Ctrl+K Ctrl + ←)
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;Editings area&lt;/strong&gt; are actually place you can write, edit, delete your syntax.&lt;/p&gt;

&lt;p&gt;There are sitution where within a &lt;strong&gt;container block element&lt;/strong&gt;, you want to reach other previous or next block's elements jumping quickly to their specific location under the file. The use of commands like :&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Alt + ↓&lt;/code&gt; or &lt;code&gt;Alt + ↑&lt;/code&gt; will make sure you jump back and forth faster over all your block lines of code.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;



&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Alt + PgUp&lt;/code&gt; or &lt;code&gt;Alt + PgDn&lt;/code&gt; will allow you to scroll the page up and down to reach a certain block or section.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;



&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Ctrl+K Ctrl + ←&lt;/code&gt; or &lt;code&gt;Ctrl+K Ctrl + →&lt;/code&gt; will help you navigate from two &lt;strong&gt;editor groups&lt;/strong&gt; and right to the place wgere the editing cursor where left.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  II- DISPLAYING
&lt;/h3&gt;

&lt;h4&gt;
  
  
  II-1 editings group alignment
&lt;/h4&gt;

&lt;p&gt;For those who have been familiar a bit with CSS styling . Some of the time while building a web layout page we align box's content like text or image over the horizontal-axis , vertical-axis, depending on the size screen. The same parallel apply to vscode when displaying multiple opened &lt;strong&gt;editor groups&lt;/strong&gt; in a ~ single window ~. You may decide to align them along the vertical or horizontal as your preferences.&lt;/p&gt;

&lt;p&gt;The command :&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Shift+Alt+0&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;will enable you to do so, as your convenience.&lt;/p&gt;



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

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


&lt;p&gt;&lt;span&gt; Shift+Alt+0 &lt;/span&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  II-2 editings group zoom
&lt;/h4&gt;

&lt;p&gt;If in revanche you want to emphasize the view over a file, shrinking, growing the &lt;strong&gt;editing area&lt;/strong&gt; window to contrast text size or pull over more contents. You will be in need to go for commands :&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Ctrl +&lt;/code&gt; or &lt;code&gt;Ctrl –&lt;/code&gt; that allows &lt;strong&gt;zoom in&lt;/strong&gt; or &lt;strong&gt;zoom out&lt;/strong&gt; over a file.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;



&lt;h4&gt;
  
  
  II-3 editings group zen mode
&lt;/h4&gt;

&lt;p&gt;Situation comes where at a certain point your file becomes strecth and looking inside editing area for large content becomes difficult. This is usually simply the right time to zoom over the whole screen to closely looks under stretch syntax and try to figure out solutions over &lt;strong&gt;spinning&lt;/strong&gt; issues you continuously comes upon inside your code. Use the command :&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Ctrl +K Z and open the file in &lt;strong&gt;Zen Mode&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Take attention performing this command , having &lt;code&gt;K&lt;/code&gt; and &lt;code&gt;Z&lt;/code&gt; spaced means hit the combination &lt;code&gt;Ctrl + K&lt;/code&gt; first, release the ctrl button , and then click to &lt;code&gt;Z&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Esc&lt;/strong&gt; is the button to exit zen mode .&lt;/p&gt;

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


&lt;p&gt;&lt;span&gt; zen mode &lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  III- EDITING
&lt;/h3&gt;

&lt;p&gt;We all time to manipulate line(s), block or section elements while writing code syntax inside the &lt;strong&gt;Editing area&lt;/strong&gt;.&lt;/p&gt;

&lt;h4&gt;
  
  
  III-1 Occurrence
&lt;/h4&gt;

&lt;p&gt;Back when i was starting coding, i wasn't considering the necessity to use &lt;code&gt;shortcut commands&lt;/code&gt;, that brought me into a lot of trouble spending too much of time on styling webpage with CSS , i was unable to put my hands on the sets of properties written that pull down my design not allowing new CSS changes to proceed and update the DOM (Document Object Model). It is just when i finally discover the following command that are really take control over my css &lt;strong&gt;classes&lt;/strong&gt;. This will also allow you to check quickly any &lt;strong&gt;word&lt;/strong&gt; by select &lt;strong&gt;all occurrences&lt;/strong&gt; this &lt;strong&gt;one&lt;/strong&gt;. Thw command is :&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Ctrl + D&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;My name for this command is : ~ &lt;strong&gt;Control Diffusion&lt;/strong&gt;. Thankfully, I was yet able to find any css class ( name) easily in a file, recording all the lines involves with a specific class name and inherit the power to look over all the properties applied to this class . My &lt;strong&gt;set of changes&lt;/strong&gt; was now controllable and i could follow up finding what is keeping my progress, anytime i misuse properties in my code. The command is just tremendously helpful.&lt;/p&gt;



&lt;h4&gt;
  
  
  III-2 Formatting
&lt;/h4&gt;

&lt;p&gt;&lt;strong&gt;One line&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When always suppressing line or couples of lines. I notice there are extra spaces remaining that you do not want and you have to delete once again to have a good format with the left code. This take your focus away and divert you even if you just spend few seconds doing it. Trying to relate your mind again and agin after a deletion to what to do next before proceeding. The command :&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Ctrl + L&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Select one or multiples lines depending on how many times the combination giving you opportunity to delete line faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multiple Lines&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As incredible the command &lt;strong&gt;Ctrl + L&lt;/strong&gt; is for deletion. We don’t want to miss attention and suppress part of lines we were not intended to remove. As &lt;strong&gt;Ctrl + L&lt;/strong&gt; is a rough command for selecting multiple lines, created on purpose to select one line.&lt;br&gt;
It will be good if we can look for a easier solution to wrap a block once. Yet we are used to select couple of lines , block, section relying under the &lt;strong&gt;old formula&lt;/strong&gt; : &lt;code&gt;cursor pointer&lt;/code&gt; put on the beginning block → &lt;strong&gt;scroll&lt;/strong&gt; to the &lt;strong&gt;end of the block&lt;/strong&gt;, place the mouse near the endpoint block and hit cmd : &lt;code&gt;Shift + left-click&lt;/code&gt; to the mouse button.&lt;/p&gt;

&lt;p&gt;This formula work well when the blocks &lt;strong&gt;doesn't extend out&lt;/strong&gt; of the view content. But in case it does, we continuously have to scroll to meet the end, then the formula becomes insecure, despite all the attention, scrolling to reveal more contents can accidently lead to a mess , mixing up ending tag, and deleting content not included in the block. To avoid this silly situation, we must use the command :&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Shift + Alt + →&lt;/code&gt; to give us control and selection over all blocks element under a &lt;strong&gt;block container&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;The revert command :&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Shift + Alt +  ←&lt;/code&gt; will deselect all these blocks element to easy continue o mover over other conyents of our file.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Yeah It is just: Amazing !&lt;/p&gt;



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


&lt;p&gt;&lt;span&gt; Shift + Alt + → &lt;/span&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  III-3 Fold/Unfold Block
&lt;/h4&gt;

&lt;p&gt;When lines of code become incredibly longer, focusing on specific blocks , sections, functions leaving all others syntax hidden can huge be of one help mostly while editing wide syntaxes over JavaScript, HTML, or CSS file.&lt;/p&gt;

&lt;p&gt;There is one command that allow you to fold / unfold blocks of code :&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Ctrl K + Ctrl L&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;Anytime you see yourself in a situation of a plurality of sections to looks over , think to grasp the earlier command, fold some section and capitalize the update of your file with the rest left open, repeat the process again and again until you finish your review.&lt;/p&gt;

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

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


&lt;p&gt;&lt;span&gt; Ctrl K + Ctrl L &lt;/span&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  IV – WorkSPace
&lt;/h3&gt;

&lt;p&gt;This section is not about short command , but I felt the necessity to insert it under our building to help reorganize efficiently any of our work under VsCode .&lt;/p&gt;

&lt;p&gt;Basically, all projects we open in VsCode are not for full working.&lt;br&gt;
Some of them could are couples lines of code to test.&lt;br&gt;
While others belongs to real projects we are developing. To make this gap clear enough while using vscode. We can create several &lt;strong&gt;workspace environments&lt;/strong&gt; and group test code on &lt;strong&gt;one side&lt;/strong&gt; and projects code on &lt;strong&gt;other side&lt;/strong&gt;. These divisions keep vscode's windows organized over a same &lt;strong&gt;goal&lt;/strong&gt;, and enable us to choose for the right &lt;strong&gt;workspace&lt;/strong&gt; to work on, each time we open vscode.&lt;/p&gt;

&lt;p&gt;Here Below is how simple you can create a &lt;strong&gt;Workspace Environment&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Click the &lt;strong&gt;file&lt;/strong&gt; tab under the top first bar of vscode window.&lt;br&gt;
You will then see bunch of tag’s elements.&lt;/p&gt;

&lt;p&gt;Go For the option :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Save Workspace As …&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Hit &lt;strong&gt;ENTER&lt;/strong&gt; and fill :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The &lt;em&gt;Environment Name&lt;/em&gt;
&amp;gt;&lt;/li&gt;
&lt;li&gt;Specify The &lt;em&gt;location&lt;/em&gt; where you want to save the specific &lt;strong&gt;workspace environment&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Nice! You have a ready environment that you can open at any time, letting you focus on your tasks .&lt;/p&gt;

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


&lt;p&gt;&lt;span&gt;file &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;We can repeat :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;click &lt;strong&gt;file&lt;/strong&gt; tab&lt;/li&gt;
&lt;li&gt;select : &lt;strong&gt;New Window&lt;/strong&gt; , to start a new Vscode window.
&amp;gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And register a new &lt;strong&gt;workspace environment&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;By This way we keep structured control our similar projects in one window, setting boundaries to better work on every part of technology, projects, or programming languages we want to test on vscode.&lt;/p&gt;

&lt;h3&gt;
  
  
  Bonus
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Clustered window :&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;many editor groups ,&lt;/li&gt;
&lt;li&gt;panel command (integrated terminal) ,&lt;/li&gt;
&lt;li&gt;repertory area,&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;All open at the same time .&lt;br&gt;
&lt;br&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Release some of the panels from vscode.&lt;/p&gt;

&lt;p&gt;commands as :&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;Ctrl + B&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Will be able to toggle and hide the &lt;strong&gt;repertory area&lt;/strong&gt; with ease freeing some space.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Ctrl + shift + C&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;will quickly open the root directory of your app project in a new shell window , enabling you to run the project or install additional packages needed to it, out of vscode. This opportunity extend the editing area , if we close the integrated terminal in vscode&lt;/p&gt;

&lt;h3&gt;
  
  
  Notes
&lt;/h3&gt;

&lt;p&gt;The list &lt;strong&gt;shortcut commands&lt;/strong&gt; in vscode is exhaustive.&lt;br&gt;
You might want to download official vscode’s sheet-sheet documentation available for linux, macOS, windows under the links below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf" rel="noopener noreferrer"&gt;https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf" rel="noopener noreferrer"&gt;https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf" rel="noopener noreferrer"&gt;https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Let’s have fast production on projects !
&lt;/h4&gt;

&lt;p&gt;Back to top&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Getting Oneself around Hardware Skills</title>
      <dc:creator>ngouend gerard</dc:creator>
      <pubDate>Tue, 21 Jan 2025 21:35:55 +0000</pubDate>
      <link>https://dev.to/ngouend_gerard_90/getting-oneself-around-hardware-skills-1l48</link>
      <guid>https://dev.to/ngouend_gerard_90/getting-oneself-around-hardware-skills-1l48</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/newyear"&gt;2025 New Year Writing challenge&lt;/a&gt;: Compiling 2025.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1 – ADAPTABILITY TO NEW MARKET  TRENDS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yeah! The &lt;strong&gt;change&lt;/strong&gt;. Is &lt;em&gt;Huge and obvious&lt;/em&gt;. Need is to get back to basis, to grasp technologies more in relation with hardware architecture systems, computing , and back-End Development. We talk about PHP,  MYSQL, Data Structures &amp;amp; Algorithms, Linux, GIT, as soon as possible, to give a ticket to a future where we improve our web projects using AI.  Time is moving on quickly, lately happens the release of AI Agent , barely 6 months after  the trend of cloud computing website called SAAS (Software as a Service). Yet, That means everyone can build a website without learning a programming language barely right now. Just chatting with your AI agent about your project's intend with details and boom! You have a business website from scratch.  Unfortunately, we are still realistic about tangible expectations training or using some of the tools based AI online, 06 months a least. That's why We lay our attention to work out first on how to interact with hardware most effectively for adaptability of our earlier software skills to new perspective. This podcast video  &lt;strong&gt;Jobs of the future where hardware meet software&lt;/strong&gt; from youtube with &lt;strong&gt;a16z&lt;/strong&gt; showcase the reality of the moving markets skill now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2 – A PITCH TO CONTENT CREATION UNRAVELED&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To summarize some take-away lessons from  &lt;strong&gt;Dan Koe&lt;/strong&gt; in the youtube video : &lt;strong&gt;Learn This Skills if you want to thrive in the Next 10 Years&lt;/strong&gt;. He underlines the fact that:  &lt;em&gt;he understood the need to get his message in front of people, and present arguments to promote his services, personal brand , social media , and display values ,  if he wanted to access real opportunities&lt;/em&gt; . And it quite sounds usual, it’s all about value, right. But the truth is, it all begin where people don’t like &lt;strong&gt;Marketing&lt;/strong&gt;. You want a job, you have to prove that you are worth for the role, you want to become best at what you do , you have to teach like Feynman says in a way that even a kid may grasp what you are saying , it is connecting and it is all about &lt;strong&gt;marketing&lt;/strong&gt; once again . While Learning other skills than software  documenting our learning can serve like a base to teach new technologies or concept people are less talking about or even  doing, such notions interests many people don’t know or have difficulties of interpretation could push us far than our merely expectations. Leading our self to help experienced people that didn’t grasp past all the particular use case of the subject back when they were focusing on it, or to shake new beginners interests to follow up our journey and leverage some skills that could enable their abilities to land jobs and experience quickly . Additionally It will also be a reminder of our experience, our commitments, and our achievements through years. Yes it is first frankly for our self and second quietly for others, and this make us connect in many ways with people we were not ever being to expect. Yeah, Holding a daily journal will stand as a quick-overview over times while helping reviewing our goals and plans. These two series videos express the great necessity of having a notebook journal and work with it :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;A notebook to save you from mindless scrolling (introducing 3-part journal)&lt;/strong&gt;  by - &lt;em&gt;Flourished Hope&lt;/em&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Using a Notebook (This way) still beats Every Productivity App&lt;/strong&gt; by – &lt;em&gt;Bullet Journal&lt;/em&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3 – THE OPPORTUNITY TO WORK WITH TEAM ON REAL PROJECT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Learning how to code was delightful, while also painful It makes me feel. One of the most exquisite character I genuinely enjoyed, was the &lt;strong&gt;welcoming sensation&lt;/strong&gt; carried along my journey. Where a lot of caring people and platform were helping for free with highly recommended content. I have been accessing  documentation like w3Schools, MdN web docs. Listening tutorials on community like freecodecamp.  Having my code reviewed by others developers on frontendmentor. Reading good articles on dev-community, opened platform like StackOverflow, ask Ubuntu, and many , really many others to be added to this list but infinite, from personal blog website to video Tutorial , drawing my steps since. This is &lt;strong&gt;Love and Care !&lt;/strong&gt; And I thank all these teams, their dedicated work and to exactly make me feel at home, comfortable and understood without fear of my mistakes. This gratitude drives me thinking, “I have to do the same for others”. Isn’t It undoubtedly what we want to do? The same! For our parents, our tutors, our friends, our lovers and supporters, strangers that held our hand in the darkness past years and we can even reach out now , far from the place they lead us help and having any clue if they are still breathing or not. And Now for our guys in Tech ! What else, we don’t want to miss it, right! The true power behind wisdom is to share, because it is lovely. My goals is to participate to meaningful projects that really impact the productivity of people. Such as increasing team’s value with a good products software, teach people , help them have measurable ways to track their improvements. That is what it is  ! The benefits to shape their life and gain freedom.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>newyearchallenge</category>
      <category>career</category>
    </item>
    <item>
      <title>The Go Back On Time</title>
      <dc:creator>ngouend gerard</dc:creator>
      <pubDate>Tue, 21 Jan 2025 15:33:47 +0000</pubDate>
      <link>https://dev.to/ngouend_gerard_90/the-go-back-on-time-4k26</link>
      <guid>https://dev.to/ngouend_gerard_90/the-go-back-on-time-4k26</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/newyear"&gt;2025 New Year Writing challenge&lt;/a&gt;: Retro’ing and Debugging 2024.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;11111101000 is one of the year to be remembered for it sudden switch interest back to hardware’s skill in the I.T area. During 20 - 25 years software engineers was the shining stars of the I.T world, being the most in demands on the field. A common believe between many tech guys getting jobs , was to to enter the field of informational technology around &lt;em&gt;software development training&lt;/em&gt;. Learning to code , design website, write good webpage contents was in trend and huge in demands. In 2024, within one semester space, many corporations revealed their achievements with  huge AI advancements, going from new version of LLMs to yet now AI agents. However many aspiring Techs Developer still work out relying on the traditional recipe : learn to code, become good at using popular frameworks, tools and libraries out online, become a good Designer. Meanwhile The change with A.I are so rapid in Tech that We may be forced to ask : How could developers get on the trails ? Why is it important to become a quick learner ? Why is it worth doing to keep connect with others techs practitioners on the field ? All of these interrogations , lead us to explore some of the great teaching that the year 2024 preach me.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1 – THE IMPORTANCE OF A BETTER COMMUNICATION&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The most important lesson I have learnt during the year 2024 is to start to communicate better. Better communications means,  discussions , connection with members of tech’s communities, and people who have already land jobs in Tech. You Guys need someway to do the same, I supposedly think. Popularly said,  &lt;strong&gt;Code doesn’t exist in the vacuum&lt;/strong&gt;. What Next after you spend hours and hours coding in your dim room ? What Next ? We Really need to better think of that! My assumption; most of the people that commits to long training code , are people that are broke in some way, have a keen desire to change, coming from area where they don’t have good living-conditions, acknowledgments, decent amount of money out working or hustling, or even couldn’t get promotion upon the incredible work they achieve in enterprise or are too bored by the mechanic of the same tasks they perform all days.Fortunately, All of that can be flipped to good situations if we learn and spend times to communicate effectively. This was firmly enlightened to me listening &lt;strong&gt;7 years of software engineering Advice in 18 minutes”’s&lt;br&gt;
video by Bgo ( Youtube ).&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;If It was possible to get back in time from when i start my journey to become software developer. I would earlier focusing on few things, growing my network by helping others with their issues in communities that I am involved, and posting more content of my works over social media platform. Back on my first day learning, I was too involved on the materials more than exchanging ideas and even giving feedback to others. Is It a lie we need strong connections to have chance to meet with our next employers ? With others developers that will be delighted to have us on board in their project ? With tech company’s willing to hire us upon the achievements they see online ? To Create values out of what we thing as nothing  (our current knowledge) ?. So, how do we leverage connections when we are broke ? Because, Money is value. We need to Think of it.By my view side, unless we decide to work the way we communicate, we can’t become asset just with our presence online. Most people don’t commonly yield it: consistently share projects on social media, help others with their issues, write articles, create blog  tutorials or videos, start something in the unknown and become a perfect match to hit your goal fast and stand out among the luckiest person that did it in this world, before the End.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2 – THE CURVE LEARNING SKILLS&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I was learning &lt;code&gt;vanilla JavaScript&lt;/code&gt; between December 2022 and February 2023. Undoubtedly the core  principle of creating dynamic elements in the DOM using JavaScript code sweets me like an ice-cream. In the mid of the next month I moved my study to ReactJS, my first framework. I definitely at first spot have headache to understand hooks principles and context api , having no solid knowledge in object oriented programming just unconsciously wired to  functional programming approach, i learned React almost six months. Later on i got interested to full-app projects and  start learning MongoDB, ExpressJS, NodeJS’s back end development tools with React to stand out to the market demands . I listened couples of videos and jump into four to five months implementation of a foods-delivery-app of my own (November 2023 - March 2024). One week later, stopping coding my foods-delivery-app and reflecting on my did so far by the end of this project. I realize that i was lost In my thought, unease, didn’t knowing how to express all this work in terms of achievements, all this time of coding. I consequently said to myself : “definitely, I am missing something”. Then, I jump back to videos you guess, as a self taught developer! To find out the &lt;strong&gt;best way to implement Back-end in a APP&lt;/strong&gt;. I listened a guy on youtube, he entirely blew my mind with his says, he really shakes my opinion on back-end dev , I couldn’t remember his name . but he was barely saying that : **to be honest, even like new developer learn MERN (MongoDB-Express-React-Node) in purpose to achieve a full stack(front-end + back-end) app. The reality of Tech Company is not the same. When coming to code a Full Stack App real project they don’t use what it is commonly taught . They might use in the back-end area tools like : SQL, POSTGRESQL for database not MongoDB, and  back-end framework such as PHP, and Laravel.  Advising  to go over and learn these technologies”. But, at these times discussing with  others tech friends, they made available to my awareness that my design of app sucks, and I should start to learn BOOTSTRAP, and tailwindCSS. I made  additional months doing that. At summer 2024 I was taken by VueJS Framework and start learning it. While Making a MEVN (MongoDB-Express-Vue-Node)  blog-website project , it becomes clear to me that Artificial Intelligence is expanding fast in Tech and by some way I need to figure out how to learn it . In the interest of finding a job , I decided to code on the end of October a project that would make communication efficient between Team and manager in Company. Here I am.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3 – THE POINT OF LEARNING INFORMATIONAL TECHNOLOGY&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While learning REACTJS for the first time in 2022, I was confused , because I started with some courses, tutorials that were designed from React v16.8 released In 2019 . Then, I figure out exploiting ReactJs documentation that a new release of React was made available in 2021 , React v18.0. It takes me around a month to figure it out, because I didn’t know much about framework update, new to the concept. While exercising on Class Components at first side (object oriented programming) , I shift learning Functional Components  (functional programming approach) at the end. That makes me realize how fast things can move between two to three years in the software industries. Nowadays , calling back these moments, I firmly understand the importance of teaching what we could even know to others. Our knowledge can quickly become outdated, or either not well assimilated in a  deep level if we don't do that. Technology evolves rapidly. That means it is a waste of time to matter about how people will use our knowledge to easy become fit on the market ahead of all of us. Tech is a skill in constant evolution, and whatever field we are in, we consistently need to learn. While accommodating to grasp the new concepts, Someone will always be better than us, whatever we do, decide to do or learn. What will make us unique, is our ability to share, explain, and teach to help  improve life, bringing solutions where people are stuck in their journey, and transforming their worries into fuel of productivity . That’s why many Top Tech Engineers at a certain level of their growth start educating about the topics of their interests. &lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>newyearchallenge</category>
      <category>career</category>
    </item>
  </channel>
</rss>
