<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Sabbir Alam</title>
    <description>The latest articles on Forem by Sabbir Alam (@iamsabbiralam).</description>
    <link>https://forem.com/iamsabbiralam</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%2F929870%2F9f7e838c-26bc-4ffb-9e56-039adfd5d1f5.jpeg</url>
      <title>Forem: Sabbir Alam</title>
      <link>https://forem.com/iamsabbiralam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/iamsabbiralam"/>
    <language>en</language>
    <item>
      <title>Turning My Hidden Code Comments into a Productivity Tool: The Story of GhostNotes 👻</title>
      <dc:creator>Sabbir Alam</dc:creator>
      <pubDate>Tue, 16 Dec 2025 13:41:01 +0000</pubDate>
      <link>https://forem.com/iamsabbiralam/turning-my-hidden-code-comments-into-a-productivity-tool-the-story-of-ghostnotes-3n2a</link>
      <guid>https://forem.com/iamsabbiralam/turning-my-hidden-code-comments-into-a-productivity-tool-the-story-of-ghostnotes-3n2a</guid>
      <description>&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%2F91zt6wf502cj802b8s8s.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%2F91zt6wf502cj802b8s8s.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How I built a Laravel package that transforms &lt;a class="mentioned-user" href="https://dev.to/ghost"&gt;@ghost&lt;/a&gt; and &lt;a class="mentioned-user" href="https://dev.to/todo"&gt;@todo&lt;/a&gt; comments into a beautiful developer diary and a real-time web dashboard.&lt;/p&gt;

&lt;p&gt;Introduction&lt;/p&gt;

&lt;p&gt;As developers, we often leave breadcrumbs in our code. Whether it’s a quick // &lt;a class="mentioned-user" href="https://dev.to/todo"&gt;@todo&lt;/a&gt;: Fix this or a cryptic // &lt;a class="mentioned-user" href="https://dev.to/ghost"&gt;@ghost&lt;/a&gt;: Refactor this later, these notes often get lost in the sea of thousands of lines of code.&lt;/p&gt;

&lt;p&gt;I wanted a way to keep track of these "ghostly" thoughts without manual effort. So, I decided to build GhostNotes—a Laravel package that scans your code, identifies your notes, finds out who wrote them via Git, and presents them in a beautiful Markdown file and a modern web dashboard.&lt;/p&gt;

&lt;p&gt;The Problem: The "Lost Comment" Syndrome&lt;/p&gt;

&lt;p&gt;In a fast-paced development cycle, we often forget the small improvements we intended to make. Existing project management tools like Jira or Trello are great for big tasks, but they feel too heavy for a 1-line code thought. I needed something:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Lightweight: Living right inside the code.&lt;/li&gt;
&lt;li&gt;Automated: No manual copying.&lt;/li&gt;
&lt;li&gt;Visual: A clean UI to see everything at a glance.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The Solution: GhostNotes&lt;/p&gt;

&lt;p&gt;GhostNotes is a Laravel package that acts as a bridge between your messy comments and a clean developer diary.&lt;/p&gt;

&lt;p&gt;Key Technical Challenges I Solved:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Dynamic Scanning: I used Regex to scan the entire app/ directory for customizable tags like &lt;a class="mentioned-user" href="https://dev.to/ghost"&gt;@ghost&lt;/a&gt;, &lt;a class="mentioned-user" href="https://dev.to/todo"&gt;@todo&lt;/a&gt;, and @fixme.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Git Blame Integration: To make it useful for teams, I integrated git blame commands via PHP's shell_exec. This allows the tool to identify exactly who wrote each note.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Modern Dashboard: I didn't want just a boring text file. I built a modern, dark-themed dashboard using Tailwind CSS that renders your notes in the browser.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Auto-Cleanup: One of my favorite features is the --clear flag. It generates your diary and then automatically wipes those comments from your source code to keep it clean.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;How it Works&lt;/p&gt;

&lt;p&gt;Installing it is as simple as any other Laravel package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;composer require iamsabbiralam/ghost-notes
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Simply run a command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;php artisan ghost:write
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And boom! You have a "GHOST_LOG.md" and a dashboard at "/ghost-notes"&lt;/p&gt;

&lt;p&gt;The Architecture&lt;/p&gt;

&lt;p&gt;I kept the architecture clean and "Laravel-way":&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Service Provider: To register routes, views, and commands.&lt;/li&gt;
&lt;li&gt;Custom Commands: For the CLI experience.&lt;/li&gt;
&lt;li&gt;Blade &amp;amp; Tailwind: For the zero-config dashboard.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What’s Next?&lt;br&gt;
This is just the beginning. I'm planning to add:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slack/Discord Notifications: To alert teams when a new @fixme is added.&lt;/li&gt;
&lt;li&gt;Custom Export: Exporting the diary to PDF or HTML.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check it out!&lt;/p&gt;

&lt;p&gt;If you want to try it out or contribute, here is the GitHub repository: 👉 &lt;a href="https://github.com/iamsabbiralam/ghost-notes" rel="noopener noreferrer"&gt;https://github.com/iamsabbiralam/ghost-notes&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I’d love to hear your feedback. What do you do with your &lt;a class="mentioned-user" href="https://dev.to/todo"&gt;@todo&lt;/a&gt; comments? Let’s discuss in the comments!&lt;/p&gt;

&lt;h1&gt;
  
  
  laravel #php #opensource #productivity #webdevelopment #github
&lt;/h1&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%2Fmedia.daily.dev%2Fimage%2Fupload%2Fs--2r3PdhTK--%2Ff_auto%2Fv1765891780%2Fugc%2Fcontent_c07a7d5c-77e0-4c94-91bc-90a3c86b86f9%3F_a%3DBAMAK%2BZW0" 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%2Fmedia.daily.dev%2Fimage%2Fupload%2Fs--2r3PdhTK--%2Ff_auto%2Fv1765891780%2Fugc%2Fcontent_c07a7d5c-77e0-4c94-91bc-90a3c86b86f9%3F_a%3DBAMAK%2BZW0" alt="image" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
      <category>laravelpackage</category>
      <category>webdev</category>
    </item>
    <item>
      <title>From Zero to Laravel Hero: PHP Environment Setup on Ubuntu 22.04LTS</title>
      <dc:creator>Sabbir Alam</dc:creator>
      <pubDate>Thu, 22 Feb 2024 11:39:58 +0000</pubDate>
      <link>https://forem.com/iamsabbiralam/from-zero-to-laravel-hero-php-environment-setup-on-ubuntu-2204lts-m1f</link>
      <guid>https://forem.com/iamsabbiralam/from-zero-to-laravel-hero-php-environment-setup-on-ubuntu-2204lts-m1f</guid>
      <description>&lt;p&gt;It is recommended that you configure your Ubuntu environment to execute Laravel projects using a Nginx server. You appear to be able to connect your Nginx server to PHPMyAdmin. On your Ubuntu system, you can install MySQL server with PHP-8.1.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Before Running Any Command You Need To Run&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;After running that command we have to install curl.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install curl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now check the curl version&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl --version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then install the nginx server php dependencies&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we can install php with fpm&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install php-fpm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now check the PHP version&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php -v
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run this again&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install nginx repository&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo add-apt-repository ppa:ondrej/nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To check the status of PHP that it has collaborated properly with the Ngnix repository&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl status php8.1-fpm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now Restart Nginx&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo nginx -t
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl restart nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install Network Manager Now&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install php-zip &amp;amp;&amp;amp; sudo apt-get install php-mbstring &amp;amp;&amp;amp; sudo apt-get install php-curl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install PHP Extensions&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install php-zip &amp;amp;&amp;amp; sudo apt-get install php-mbstring &amp;amp;&amp;amp; sudo apt-get install php-curl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;NB: It will automatically detect your version and do its work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Run this again&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install Composer&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;curl -sS https://getcomposer.org/installer -o composer-setup.php
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Set Composer Address&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now Check the Composer version&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run this again&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install valet&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer global require cpriego/valet-linux
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;test -d /.composer &amp;amp;&amp;amp; bash /.composer/vendor/bin/valet install || bash ~/.config/composer/vendor/bin/valet install
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The command for the updated valet version&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer global update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;Run this again&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install MySQL Server&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install mysql-server -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adjusting MySQL Authentication&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo mysql
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;SELECT user,authentication_string,plugin,host FROM mysql.user;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;FLUSH PRIVILEGES;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now exits by&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;exit;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run this again&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install phpmyadmin&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;if you face any difficulties follow the link [&lt;a href="https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-20-04"&gt;https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-on-ubuntu-20-04&lt;/a&gt;]&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Symlink phpmyadmin With MySQL Server&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Now You have to go to your C Drive &amp;amp; open the Terminal and run this&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo chmod -R 777 /var/www

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

&lt;/div&gt;



&lt;p&gt;This will give Permission to Symlink now come back to the root terminal &amp;amp; run this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

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

&lt;/div&gt;



&lt;p&gt;then&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo chmod -R 777 /var/www/phpmyadmin

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

&lt;/div&gt;



&lt;p&gt;Run this again&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get update

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

&lt;/div&gt;



&lt;p&gt;Install Node JS&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install nodejs

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

&lt;/div&gt;



&lt;p&gt;then check nodejs version&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node -v

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

&lt;/div&gt;



&lt;p&gt;Install NPM&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install npm

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

&lt;/div&gt;



&lt;p&gt;then&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt-get install --reinstall nodejs-legacy     # fix /usr/bin/node

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

&lt;/div&gt;



&lt;p&gt;You are good to go, Now develop your web application in your Ubuntu by Using Laravel &amp;amp; PHP....&lt;/p&gt;

&lt;p&gt;Serving Sites by Valet&lt;br&gt;
Once Valet is installed, you’re ready to start serving sites. Valet provides two commands to help you serve your Laravel sites: park and link.&lt;/p&gt;

&lt;p&gt;The Park Command&lt;br&gt;
Create a new directory on your machine by running something like&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mkdir ~/folder-name

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

&lt;/div&gt;



&lt;p&gt;Next,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cd ~/folder-name

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

&lt;/div&gt;



&lt;p&gt;and run&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;valet park

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

&lt;/div&gt;



&lt;p&gt;This command will register your current working directory as a path that Valet should search for folder-name. Next, create a new Laravel site within this directory: Open &lt;a href="http://folder-name.test"&gt;http://folder-name.test&lt;/a&gt; in your browser. That’s all there is to it. Now, any Laravel project you create within your “parked” directory will automatically be served using the &lt;a href="http://folder-name.test"&gt;http://folder-name.test&lt;/a&gt; convention.&lt;/p&gt;

&lt;p&gt;The link Command&lt;br&gt;
The link command may also be used to serve your Laravel sites. This command is useful if you want to serve a single site in a directory and not the entire directory.&lt;/p&gt;

&lt;p&gt;To use the command, navigate to one of your projects, open your terminal and run&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;valet link

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

&lt;/div&gt;



&lt;p&gt;Valet will create a symbolic link in ~/.valet/Sites which points to your current working directory. After running the link command, you can access the site in your browser at &lt;a href="http://app-name.test"&gt;http://app-name.test&lt;/a&gt;. To see a listing of all of your linked directories, run this command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;valet links

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

&lt;/div&gt;



&lt;p&gt;You may use this to destroy the symbolic link.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;valet unlink app-name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>Go lang Basic</title>
      <dc:creator>Sabbir Alam</dc:creator>
      <pubDate>Wed, 21 Sep 2022 06:16:53 +0000</pubDate>
      <link>https://forem.com/iamsabbiralam/go-lang-basic-33cb</link>
      <guid>https://forem.com/iamsabbiralam/go-lang-basic-33cb</guid>
      <description>&lt;h2&gt;
  
  
  &lt;strong&gt;Data type in Go lang&lt;/strong&gt;
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;int&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;int&lt;/li&gt;
&lt;li&gt;int8&lt;/li&gt;
&lt;li&gt;int16&lt;/li&gt;
&lt;li&gt;int32&lt;/li&gt;
&lt;li&gt;int64&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;uint&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;uint&lt;/li&gt;
&lt;li&gt;uint8&lt;/li&gt;
&lt;li&gt;uint16&lt;/li&gt;
&lt;li&gt;uint32&lt;/li&gt;
&lt;li&gt;uint64&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;float&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;float32&lt;/li&gt;
&lt;li&gt;float64&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;string&lt;/li&gt;
&lt;li&gt;slice&lt;/li&gt;
&lt;li&gt;array&lt;/li&gt;
&lt;li&gt;map&lt;/li&gt;
&lt;li&gt;struct&lt;/li&gt;
&lt;li&gt;Interface{}
10.Pointer
11.you can assign only a positive value in an unsigned integer&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;The default value of Data Type&lt;/strong&gt;
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The default value of int is 0.&lt;/li&gt;
&lt;li&gt;The default value of float is 0.0.&lt;/li&gt;
&lt;li&gt;The default value of a string is “”.&lt;/li&gt;
&lt;li&gt;The default value of a slice is nil.&lt;/li&gt;
&lt;li&gt;The default value of the array depends on the assigned data type.&lt;/li&gt;
&lt;li&gt;The default value of a map is nil.&lt;/li&gt;
&lt;li&gt;The default value of a struct is nil.&lt;/li&gt;
&lt;li&gt;The default value of an interface is nil.&lt;/li&gt;
&lt;li&gt;The default value of a pointer is nil.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Explanation of Data Types&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Slice&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;slice does not define the number of items&lt;/li&gt;
&lt;li&gt;The default value of a slice is nil.&lt;/li&gt;
&lt;li&gt;Slice has capacity &amp;amp; length.&lt;/li&gt;
&lt;li&gt;We can append the slice data.&lt;/li&gt;
&lt;li&gt;we can access the slice like an array.&lt;/li&gt;
&lt;li&gt;we can assign unlimited data in a slice
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package main
import "fmt"
func main() {
    a := []int{1,3,4,5}
    res := sum(a)
    fmt.Println("slice: ", res)
    res = multi(a)
    fmt.Println("slice: ", res)
}

func sum(number []int) int {
    total := 0
    for _, num:= range number {
        total += num
    }
    return total
}
func multi(number []int) int {
    total := 1
    for _, num:= range number {
        total *= num
    }
    return total
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Array&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The number of data is defined in an array.&lt;/li&gt;
&lt;li&gt;The default value of the array depends on the assigned data type.&lt;/li&gt;
&lt;li&gt;The array has only length and doesn't have capacity.&lt;/li&gt;
&lt;li&gt;We can't append an array, we can index an array&lt;/li&gt;
&lt;li&gt;The size of the array is also called, more data cannot be assigned.&lt;/li&gt;
&lt;li&gt;We can index keys and values in an array.&lt;/li&gt;
&lt;li&gt;If we have to check the length of the array, we can use the default built-in function len() and print the required data in the terminal or web.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package main
import "fmt"
func main() {
    a := [5]int{}
    fmt.Println("integer Array: ", a)

    var b = [4]string{
        "codemen",
        "m",
        "codemen",
        "codemen",
    }
    fmt.Println("Name: ", b)

    colors := [4]string{
        "roje","gris","azul","black"}

        fmt.Println("Name: ", colors)
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Map&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The default key of a map could be an integer or a string. The value could be any type of data like integer, string, slice, array, or map.
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;package main

import "fmt"

type Vertex struct {
    Lat, Long float64
}

var m map[string]Vertex
func main() {
    m = make(map[string]Vertex)
    m["Bell Labs"] = Vertex{
        40.68433, -74.39967,
    }
    fmt.Println(m["Bell Labs"])
}

var a string = "codemen"
var m map[string]string
func main() {
    m = make(map[string]string)
    m["Hello String"] = a
    fmt.Println(m["Hello String"])
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;em&gt;Struct&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Struct users define data type.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Interface&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An interface can use for dynamic purposes. We can assign any kind of data in an interface.&lt;/li&gt;
&lt;li&gt;We can declare/signature a method in an interface. We can't implement it in an interface.&lt;/li&gt;
&lt;li&gt;In an interface, we can define methods type, arguments, and return type.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Pointer&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A pointer holds the address of a variable&lt;/li&gt;
&lt;li&gt;A pointer holds its memory address of Ram.&lt;/li&gt;
&lt;li&gt;To dynamically change the variable value we can use a pointer&lt;/li&gt;
&lt;li&gt;If we want to change one of the variable's values under the block, function, for loop, if conditions, then we can use a pointer to hold the variable's value and change it through it.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>programming</category>
      <category>go</category>
      <category>webdev</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
