<?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: Akash </title>
    <description>The latest articles on DEV Community by Akash  (@akashcsemu).</description>
    <link>https://dev.to/akashcsemu</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%2F840892%2F80913108-7a4d-48c5-b58d-6041b347ed2b.jpeg</url>
      <title>DEV Community: Akash </title>
      <link>https://dev.to/akashcsemu</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akashcsemu"/>
    <language>en</language>
    <item>
      <title>Automate your requirements.txt with few lines of code</title>
      <dc:creator>Akash </dc:creator>
      <pubDate>Mon, 21 Aug 2023 20:21:06 +0000</pubDate>
      <link>https://dev.to/akashcsemu/automate-your-requirementstxt-with-few-lines-of-code-9o7</link>
      <guid>https://dev.to/akashcsemu/automate-your-requirementstxt-with-few-lines-of-code-9o7</guid>
      <description>&lt;p&gt;We all get an one common problem with what's libraries we use in our python project.Today I discovered a very simple solution.Yeah, you can also follow this process to make your SDL ( Software Development Life Cycle).I hope it will be gotcha for you. &lt;/p&gt;

&lt;p&gt;I hope as a python developer you are familiar with &lt;strong&gt;pip&lt;/strong&gt;. &lt;br&gt;
Wow! you are almost done.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Step 1: Install pip-tools
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install pip-tools
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Step 2: Create a file in root directory with name requirements.in  and list down libraries what you want to install. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Step 3: Compile your requirements.in file with pip-tools&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; pip-compile requirements.in
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Final step: Use known to all of you
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install -r requirements.txt 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Done. You get all the libraries you need at all in you requiements.txt file. &lt;/p&gt;

&lt;p&gt;See below : &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Xl5Mh4pn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oyvc60m4v81ymgekj7my.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Xl5Mh4pn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/oyvc60m4v81ymgekj7my.png" alt="Image description" width="577" height="345"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--od9pSaXr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/affip35f4vga8gbnvnfw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--od9pSaXr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/affip35f4vga8gbnvnfw.png" alt="Image description" width="800" height="484"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bye . Happy Coding !! :)&lt;/p&gt;

</description>
      <category>python</category>
      <category>fastapi</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
    <item>
      <title>What make you confused on Crypto-Js package for Node.js</title>
      <dc:creator>Akash </dc:creator>
      <pubDate>Mon, 28 Nov 2022 04:33:51 +0000</pubDate>
      <link>https://dev.to/akashcsemu/what-make-you-confused-on-crypto-js-package-for-nodejs-5c2a</link>
      <guid>https://dev.to/akashcsemu/what-make-you-confused-on-crypto-js-package-for-nodejs-5c2a</guid>
      <description>&lt;p&gt;&lt;strong&gt;Prerequisite:&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;1. KEY [ Private key ]&lt;/code&gt;&lt;br&gt;
&lt;code&gt;2. Secret Passphrase&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;u&gt;What is a Private Key?&lt;/u&gt;&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;A Private Key is a string of random characters, representing a cryptocurrency wallet address, allowing you to access, receive, send your crypto funds. The Private Key is created from mixed letters and letters. Similar to a Password, it’s the key of your crypto account.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;A Private Key is a string of numbers and letters with the following form: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;0xb46e06d22ce739ce1961724c45acd57831a21eca12fcf691c25d0f0562b5b5f6&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Main features of Private key:&lt;br&gt;
Private Key contains characters including uppercase letters, lowercase letters, numbers. &lt;br&gt;
The complexity of the Private Key is reflected in the random mixing of characters, without any rules, which makes it difficult for hackers to crack. &lt;br&gt;
The Private Key is generated from the Passphrase by encrypting it.&lt;br&gt;
Each Private Key can generate an address that allows you to make transactions in your wallet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is a Passphrase?&lt;/strong&gt;&lt;br&gt;
A passphrase is a sequence of words used to control access, secure, and recover your wallet in case you cannot access your main wallet. The wallet service provider will issue you a PassPhrase as soon as you create the wallet. &lt;br&gt;
Passphrase is a sequence of words with the following form: race fog come flash position garbage glass rule dizzy behind use tape&lt;br&gt;
Main features of Passphrase:&lt;br&gt;
Passphrase is usually a sequence of readable English words, from 12 to 24 words, randomly generated. &lt;br&gt;
Passphrase is mainly used to create and restore crypto wallets.&lt;/p&gt;

</description>
      <category>node</category>
      <category>npm</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Rust with visual studio code</title>
      <dc:creator>Akash </dc:creator>
      <pubDate>Wed, 23 Nov 2022 19:36:20 +0000</pubDate>
      <link>https://dev.to/akashcsemu/rust-with-visual-studio-code-h66</link>
      <guid>https://dev.to/akashcsemu/rust-with-visual-studio-code-h66</guid>
      <description>&lt;p&gt;It is very rare who doesn't use vscode at this time. Almost all of us use visual studio code for our daily development and when we learn new technologies or new languages we always prefer our daily uses IDE or editor what you say. &lt;/p&gt;

&lt;p&gt;So who are new to learn rust as usual you also finding some extension if i not wrong. Here is my preference to use this extensions to easy your journey with Rust and your beloved visual studio code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Recomanded:
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1. Rust-analyzer
&lt;/h2&gt;

&lt;p&gt;Most probably you came across with official rust extension for vscode. At this time of writing rust official extension deprecated now.which was not able to go to definition.&lt;br&gt;
By the way , rust analyzer solve this .&lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=rust-lang.rust-analyzer"&gt;see more&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2.Better TOML
&lt;/h2&gt;

&lt;p&gt;If you came from node.js ecosystem , you all know node.js use package.json file to track their dependencies and for many other things which is essential to run a node project.Rust also use something like that. But difference is rust doesn't use package.json file instead it use cargo.toml file.But problem is vscode doesn't recognize .toml file .That's why we don't get color highlighting feature.&lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=bungcip.better-toml"&gt;see more&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Optional:
&lt;/h2&gt;

&lt;h2&gt;
  
  
  1. CodeLLDB
&lt;/h2&gt;

&lt;p&gt;CodLLDB extension helps to debug your code. When one new on a new language to debug our code we use console.log or print something like that. To get rid of this kind of action CodeLLDB help us more.&lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb"&gt;see more&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Crates
&lt;/h2&gt;

&lt;p&gt;This extension is not for only rust. Cargo is the package manager of rust. You can check the dependencies of your packages in cargo.toml file.Here is a common problem of detecting outdated packages and sometimes there exist vulnerabilities with outdated packages .so it is good to be up to date with your used packages.Crates extension helps us to know about it.&lt;br&gt;
&lt;a href="https://marketplace.visualstudio.com/items?itemName=serayuzgur.crates"&gt;see more&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Happy coding with rust.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>vscode</category>
    </item>
    <item>
      <title>Multiple git account to maintain github bitbucket .. etc with different account from a single machine</title>
      <dc:creator>Akash </dc:creator>
      <pubDate>Tue, 22 Nov 2022 12:11:34 +0000</pubDate>
      <link>https://dev.to/akashcsemu/multiple-git-account-to-maintain-github-bitbucket-etc-with-different-account-from-a-single-machine-2ggp</link>
      <guid>https://dev.to/akashcsemu/multiple-git-account-to-maintain-github-bitbucket-etc-with-different-account-from-a-single-machine-2ggp</guid>
      <description>&lt;p&gt;Sometimes we need to config our local machine to make contribution on open source project as usual to work on our professional workspace also. It also happened that you are tightly coupled to use your official email account which is bind with your official repo.&lt;br&gt;
On such a moment very often we need to maintain your personal repo or whatever you say. To contribute on this repo, every time you need to switch and config your git for every workflow. That's not good enough. So we need a optimal solution to maintain this obstacle since it is not an obstacle. Git also provide a way to maintain this. To understand this we need to deep drive in git mechanism.&lt;/p&gt;

&lt;p&gt;But we have not time to learn git first on large scale to do this things at this first running world. :) &lt;/p&gt;

&lt;p&gt;Let's follow the steps:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;You need to generate different SSH key for each an every account. Your each SSH key is the identity of your account. To generate SSH key :
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ssh-keygen -t ed25519 -C "your_email@example.com"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;Let we are generate two account for this time one for user_one and another is user_two. Since for each ssh-keygen command, it create two file of public key and private key.&lt;br&gt;
For our case it will create 4 file .(Here we use ed25519 algorithm to create SSH key.).For each keygen it ask you to make custom file name if any one want, so distinguish that's two file at working time, it is best choice to change file name with as you prefer.&lt;br&gt;
[ By default this command generate file with name of id_{algorithm name}. so our case one file will be id_ed25519( private SSH key ) and other one is id_25519.pub ( as public SSH key ) ].&lt;br&gt;
For our better development we need to change file name without changing id_{algorithm_name} part. Excluding change full name we add our prefer name to make unique this file we just add an extra name with this file. Like  id_ed25519_user_one.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Finally we got four SSH key file :&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;code&gt;id_ed25519_user_one&lt;br&gt;
id_ed25519_user_one.pub&lt;br&gt;
id_ed25519_user_two&lt;br&gt;
id_ed25519_user_two.pub&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Step 2: Now we need to make a config file to  say our git machine how it know which account we want now.&lt;br&gt;
Make a config file without extension. Past below code&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.ssh/config                                                  file
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Host user_one github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_ed25519_personal_user_one

Host user_two bitbucket.com
    HostName bitbucket.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_ed25519_personal_user_two
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;step 3: How to clone repo for different account ? &lt;br&gt;
Go to the github account . Press clone button it will pop up option on which option you want to clone. &lt;strong&gt;Make sure you are going with SSH option .&lt;/strong&gt; I am make it clear later. &lt;/p&gt;

&lt;p&gt;Step 4: Open your terminal . Make clone command in your terminal.&lt;br&gt;
In general case we clone repo like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone git@github.com:user_name/DS-ALGO.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But in this case we need to make a pretty change in our command. Since you make config file to make decision which account you want , that's why just change [ git@******:user_name/DS-ALGO.git ] *(astarick) part.&lt;br&gt;
Now make command like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone git@user_one:user_name/DS-ALGO.git.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;As a result now git can understand by which account you want to clone repo . &lt;/p&gt;

&lt;p&gt;And finally you are done with multiple git account.&lt;/p&gt;

&lt;p&gt;Last question over this process is how we make push and all other command. Are those command work by this process ? &lt;br&gt;
Yes by this process all of the command and features of git will work pretty well. But you remember, I said in step 3 that make sure you clone your repo with SSH key. It is the main key of this way. When you clone your repo with SSH key it will automatically config your local directory( Local repo ) with proper config. To discover you can see .git folder in your local repo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Location: .git/config

[core]
    .
    .
    .
[remote "origin" ]
    .
    . Find here
    .
    .
[branch "main"]
    .
    .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>watercooler</category>
    </item>
  </channel>
</rss>
