<?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: Raj Kishor</title>
    <description>The latest articles on DEV Community by Raj Kishor (@namaste_raj).</description>
    <link>https://dev.to/namaste_raj</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%2F437987%2F242f7f16-6013-4bf4-b33f-b6d379681cf6.png</url>
      <title>DEV Community: Raj Kishor</title>
      <link>https://dev.to/namaste_raj</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/namaste_raj"/>
    <language>en</language>
    <item>
      <title>Generate and Use SSL Cert in Windows</title>
      <dc:creator>Raj Kishor</dc:creator>
      <pubDate>Thu, 30 Nov 2023 13:11:29 +0000</pubDate>
      <link>https://dev.to/namaste_raj/generate-and-use-ssl-cert-in-windows-251c</link>
      <guid>https://dev.to/namaste_raj/generate-and-use-ssl-cert-in-windows-251c</guid>
      <description>&lt;h2&gt;
  
  
  Creating a Self-Signed SSL Certificate
&lt;/h2&gt;

&lt;p&gt;There is two types of SSL certificates&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Self-signed: generated by user to use in testing/local environments.&lt;/li&gt;
&lt;li&gt;CA signed: generated and signed by CAs (Certificate authorities) to used in production environments.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;To generate the self signed SSL Certificate follow these steps as below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Generate a Private Key&lt;/li&gt;
&lt;li&gt;Create a CSR ( certificate signing request) using the private key.&lt;/li&gt;
&lt;li&gt;Generate the SSL certification from CSR&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Windows
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Step 1 – Download OpenSSL Binary&lt;/strong&gt; &lt;a href="https://slproweb.com/products/Win32OpenSSL.html" rel="noopener noreferrer"&gt;Link&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Step 2 - Open OpenSSL Command Prompt&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwp1ueh4vuwavn5x91vlt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwp1ueh4vuwavn5x91vlt.png" alt="OpenSSL Command Prompt" width="462" height="328"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3 - Generate private key and certificate signing request&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A private key and certificate signing request are required to create an SSL certificate.&lt;/p&gt;

&lt;p&gt;These can be generated with a few simple commands.&lt;/p&gt;

&lt;p&gt;When the openssl req command asks for a “challenge password”, just press return, leaving the password empty. Since this is a self-signed certificate.&lt;br&gt;
This password is used by Certificate Authorities to authenticate the certificate owner when they want to revoke their certificate.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ openssl genrsa -aes256 -passout pass:gsahdg -out server.pass.key 4096
...

$ openssl rsa -passin pass:gsahdg -in server.pass.key -out server.key

$ openssl req -new -key server.key -out server.csr

...
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:California
...
A challenge password []:
...

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Step 4 - Generate SSL certificate&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The self-signed SSL certificate is generated from the server.key private key and server.csr files&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The server.crt file is your site certificate suitable for use with hosted website along with the server.key private key.&lt;/p&gt;




&lt;p&gt;Reference: &lt;a href="https://devcenter.heroku.com/articles/ssl-certificate-self#generate-private-key-and-certificate-signing-request" rel="noopener noreferrer"&gt;https://devcenter.heroku.com/articles/ssl-certificate-self#generate-private-key-and-certificate-signing-request&lt;/a&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>ssl</category>
    </item>
    <item>
      <title>Ember upgrade v3.x to 4.x</title>
      <dc:creator>Raj Kishor</dc:creator>
      <pubDate>Sat, 18 Mar 2023 20:08:30 +0000</pubDate>
      <link>https://dev.to/namaste_raj/ember-upgrade-v3x-to-4x-2jp0</link>
      <guid>https://dev.to/namaste_raj/ember-upgrade-v3x-to-4x-2jp0</guid>
      <description>&lt;p&gt;&lt;strong&gt;A dev journey of Ember upgrade from v3.20 to 4.8&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Every aspiring dev journey starts from documentation, a bunch of documentations.&lt;/p&gt;

&lt;p&gt;Upgrade guide: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://cli.emberjs.com/release/basic-use/upgrading" rel="noopener noreferrer"&gt;https://cli.emberjs.com/release/basic-use/upgrading&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://guides.emberjs.com/release/upgrading" rel="noopener noreferrer"&gt;https://guides.emberjs.com/release/upgrading&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Deprecation guide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://deprecations.emberjs.com" rel="noopener noreferrer"&gt;https://deprecations.emberjs.com&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Release guide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://blog.emberjs.com/tag/releases" rel="noopener noreferrer"&gt;https://blog.emberjs.com/tag/releases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;RFCs guide: Checkout to know more about behind the curtain of a deprecation&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://rfcs.emberjs.com/#accepted" rel="noopener noreferrer"&gt;https://rfcs.emberjs.com/#accepted&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Upgrading a project is very ambitious task, and like every ambitious task let's break into small tasks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Upgrade Plan&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sequential upgrade &lt;a href="https://emberjs.com/releases/lts/" rel="noopener noreferrer"&gt;LTS wise&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Handle deprecation of only upgraded LTS.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;How to upgrade?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Step 1:&lt;/u&gt; Upgrade &lt;code&gt;ember-cli&lt;/code&gt; [as eg. 3.24.0 to 3.28.0]&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  $ npm install -g ember-cli-update

  $ npm uninstall -g ember-cli
  $ npm install -g ember-cli@3.28.0
  $ ember --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;u&gt;Step 2:&lt;/u&gt; Navigate to project path in terminal&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ cd &amp;lt;project-path&amp;gt;
$ ember-cli-update --to 3.28.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will update the project to the mentioned Ember CLI version.  It will only modify the files if there are changes between your project's version and the latest version, and it will only change the section necessary, not the entire file.&lt;/p&gt;

&lt;p&gt;You will probably encounter merge conflicts, in which the default behavior is to let you resolve conflicts on your own.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;Step 3:&lt;/u&gt; Run your project to checkout any breakage [Project dependant]&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Project third party packages can be upgraded while or even after upgrade of ember-cli, depends on project and type of breakage.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Detailed Ref: &lt;a href="https://cli.emberjs.com/release/basic-use/upgrading" rel="noopener noreferrer"&gt;https://cli.emberjs.com/release/basic-use/upgrading&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;How to handle deprecation?&lt;/strong&gt;&lt;br&gt;
&lt;u&gt;Step 1:&lt;/u&gt; Install &lt;code&gt;ember-cli-deprecation-workflow&lt;/code&gt; in project&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ npm install ember-cli-deprecation-workflow --dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;u&gt;Step 2:&lt;/u&gt; create config/deprecation-workflow.js&lt;br&gt;
&lt;u&gt;Step 3:&lt;/u&gt; Add deprecation message entries as per &lt;a href="https://github.com/mixonic/ember-cli-deprecation-workflow" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dev note:&lt;/strong&gt; Handling and maintenance of deprecation in large project becomes tedious, this is how I handled one deprecation/version-wise at a time.&lt;br&gt;
Github link: &lt;a href="https://github.com/rajforum/ember-upgrade-note/blob/main/deprecation-wokflow.js" rel="noopener noreferrer"&gt;https://github.com/rajforum/ember-upgrade-note/blob/main/deprecation-wokflow.js&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Change handler to &lt;code&gt;log&lt;/code&gt; to list deprecations and &lt;code&gt;throw&lt;/code&gt; once fixed.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;TLDR tip:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;There are codemods which reduce repetitive bulky changes.

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/orgs/ember-codemods/repositories" rel="noopener noreferrer"&gt;https://github.com/orgs/ember-codemods/repositories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dyfactor/dyfactor-plugin-disambiguate-locals" rel="noopener noreferrer"&gt;https://github.com/dyfactor/dyfactor-plugin-disambiguate-locals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;If you're jumping from 3.x to 4.x as 4.0.0 is not an LTS candidate even-though I would suggest to have 4.0.0 as internal-upgrade which handle all v3x deprecations.&lt;/li&gt;

&lt;/ul&gt;




&lt;p&gt;A mention to other Refs which has helpful at very first upgrade.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://youtube.com/watch?v=8RW49QK_wI8" rel="noopener noreferrer"&gt;https://youtube.com/watch?v=8RW49QK_wI8&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ToVdJjHiKco" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=ToVdJjHiKco&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ember-cli/ember-new-output" rel="noopener noreferrer"&gt;https://github.com/ember-cli/ember-new-output&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ember</category>
      <category>emberupgrade</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
