<?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: Full of Dev</title>
    <description>The latest articles on Forem by Full of Dev (@fullofdev).</description>
    <link>https://forem.com/fullofdev</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%2F432289%2Ff6a6e289-ec01-4c5b-9a81-bf9d677b5761.png</url>
      <title>Forem: Full of Dev</title>
      <link>https://forem.com/fullofdev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/fullofdev"/>
    <language>en</language>
    <item>
      <title>What information do you need when looking for a developer tools?</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Sun, 02 Jul 2023 23:19:13 +0000</pubDate>
      <link>https://forem.com/fullofdev/what-information-do-you-need-when-looking-for-a-developer-tools-10kb</link>
      <guid>https://forem.com/fullofdev/what-information-do-you-need-when-looking-for-a-developer-tools-10kb</guid>
      <description>&lt;p&gt;Hi everyone.&lt;br&gt;
Would love to ask..&lt;br&gt;
"What information do you need when looking for a developer tools ?".&lt;/p&gt;

&lt;p&gt;I built a list of developer tools site around 1 year ago at &lt;a href="https://finddev.tools/"&gt;https://finddev.tools/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I normally bookmark the tools I want to take a look later, but I guess it's more useful when I share it to the public.&lt;/p&gt;

&lt;p&gt;Currently listing site like ProductHunt, G2, alternativeto , etc..&lt;br&gt;
are focusing on general websites/apps.&lt;/p&gt;

&lt;p&gt;So I create a site that focus for developer only.&lt;/p&gt;

&lt;p&gt;Right now I'm showing this info:&lt;/p&gt;

&lt;p&gt;pricing&lt;br&gt;
features&lt;br&gt;
Since that two things what I would normally compare between tools before deciding what to use for my project.&lt;/p&gt;

&lt;p&gt;I need a feedback, to make it more useful for fellow developers&lt;br&gt;
What would you like to add when looking for alternative/comparison for a programming tools?&lt;/p&gt;

&lt;p&gt;Thanks for your time and suggestion!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://finddev.tools/"&gt;Link: List of developer tools&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tooling</category>
      <category>programming</category>
      <category>coding</category>
    </item>
    <item>
      <title>I don't know what to write on my blog - developer</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Tue, 24 Jan 2023 12:00:00 +0000</pubDate>
      <link>https://forem.com/fullofdev/i-dont-know-what-to-write-on-my-blog-developer-13hn</link>
      <guid>https://forem.com/fullofdev/i-dont-know-what-to-write-on-my-blog-developer-13hn</guid>
      <description>&lt;p&gt;Blog about little new things you discover, if it's new to you, it may also be new to others&lt;/p&gt;

&lt;p&gt;Should you write a blog for it? For me.. the answer is always yes.&lt;/p&gt;

&lt;p&gt;People have different reasons to write a blog. You may do it for ads, to connect with others, to practice your English (like me!) or improve your writing skills.&lt;/p&gt;

&lt;h2&gt;
  
  
  "But.. what should I blog about ?"
&lt;/h2&gt;

&lt;p&gt;This a question that everyone who wants to start blogging will face.  Even someone who already blog for a while, will question this again as well. You may call it "writer's block".&lt;/p&gt;

&lt;h2&gt;
  
  
  I blog something when it's new to me
&lt;/h2&gt;

&lt;p&gt;This is my not-so-secret formula. I write something that's new for me. Now it puts me on the opposite side, where I have too much to write since there are many things I don't know yet.&lt;/p&gt;

&lt;p&gt;Here are more concrete things you could write&lt;/p&gt;

&lt;h2&gt;
  
  
  How do you solve your bug
&lt;/h2&gt;

&lt;p&gt;If you're like the 99,99% of us, you'll have a bug in your application. When you finally solved it, why don't you share it with the rest of us?&lt;/p&gt;

&lt;p&gt;I often got a similar if not the exact same bug. Now.. instead of exploring google results pages, I can go to my blog and easily search for it.&lt;/p&gt;

&lt;p&gt;If the solution you found is from Stackoverflow, Github issue or other people's site, don't forget to give a link/reference to it.&lt;/p&gt;

&lt;h2&gt;
  
  
  When Documentation is not clear
&lt;/h2&gt;

&lt;p&gt;There are many frameworks and libraries out there, but often they come without good documentation.&lt;/p&gt;

&lt;p&gt;You can write what you just found on your blog.&lt;/p&gt;

&lt;p&gt;If it's an open source, you can contribute to that project by improving the docs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Combine things together
&lt;/h2&gt;

&lt;p&gt;Normally, you don't solve your problem by visiting one article / one q-n-a section on Stackoverflow. But you combine it with multiple resources.&lt;/p&gt;

&lt;p&gt;Now it's your time to stitch these things together and present them to your reader. &lt;/p&gt;

&lt;p&gt;Let's say you're looking at "how to auto-delete files on AWS S3 that are older than a day". You may find:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how to list things from AWS S3&lt;/li&gt;
&lt;li&gt;how to filter items that are created older than today in AWS S3&lt;/li&gt;
&lt;li&gt;how to remove multiple items on AWS S3
as separate articles/documentation. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We can help the next people, that have the exact same case as us, by writing this step-by-step in one go.&lt;/p&gt;

&lt;p&gt;Write it, then the search engine will help you distribute it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Today I learn ...
&lt;/h2&gt;

&lt;p&gt;If you're learning something new, then it's a perfect chance to put down the things you learn that day. &lt;/p&gt;

&lt;h2&gt;
  
  
  BUT YOU DON'T MASTER IT YET!
&lt;/h2&gt;

&lt;p&gt;The good news is your blog is not official documentation! feel free to write a disclaimer or information that you're currently learning about this topic and use your blog to help.&lt;/p&gt;

&lt;p&gt;Writing something you learn, will help you along the way. (Read "remember" chapter on -Building a Second Brain-)&lt;/p&gt;

&lt;h2&gt;
  
  
  Remember
&lt;/h2&gt;

&lt;p&gt;If it's new to you, then it may also be new to others&lt;/p&gt;




&lt;p&gt;If you are interested in the topic of teaching programming, be sure to subscribe to &lt;a href="https://fromdevtodev.com/" rel="noopener noreferrer"&gt;fromdevtodev&lt;/a&gt;&lt;/p&gt;

</description>
      <category>gratitude</category>
      <category>community</category>
      <category>forem</category>
    </item>
    <item>
      <title>Learn the art of teaching dev from these people</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Thu, 19 Jan 2023 23:06:31 +0000</pubDate>
      <link>https://forem.com/fullofdev/learn-the-art-of-teaching-dev-from-these-people-517l</link>
      <guid>https://forem.com/fullofdev/learn-the-art-of-teaching-dev-from-these-people-517l</guid>
      <description>&lt;p&gt;Here is a list of people whom I admire for their ability to teach development and programming in any form. (Not in any particular order).&lt;/p&gt;

&lt;p&gt;This list may be very subjective, but I will point out what I appreciate about these great individuals.&lt;/p&gt;

&lt;p&gt;I will also add another post that lists unique courses, companies, and products that teach development. This post is specifically for individuals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Maggie Appleton
&lt;/h2&gt;

&lt;p&gt;She was an art director and UX designer at egghead before.  You may have seen her art before floating on the internet. She draws many beautiful illustrations and writes on her site, which sometimes takes "heavy topics" and transforms them into the easy-to-read article.&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://maggieappleton.com/"&gt;https://maggieappleton.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  SWYX
&lt;/h2&gt;

&lt;p&gt;He is best known for the "Learn in Public" movement. Shawn writes essays, books, makes videos, and podcasts on topics such as programming, content creation, learning, and startups.&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://www.swyx.io/about"&gt;https://www.swyx.io/about&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Jeff Delaney (Fireship)
&lt;/h2&gt;

&lt;p&gt;If you're on YouTube, you may have come across one of Fireship's videos. They are bite-sized videos, usually 2-5 minutes long, that explain a specific technology. Jeff can convey a lot of information in a short amount of time by keeping viewers engaged with fun GIFs and animations.&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://www.youtube.com/@Fires"&gt;https://www.youtube.com/@Fires&lt;/a&gt;...&lt;/p&gt;

&lt;h2&gt;
  
  
  Yegor Bugayenko
&lt;/h2&gt;

&lt;p&gt;Yegor writes books and blogs about programming (for the intermediate level and above). In Code Ahead, he tells us some best practices in programming in form of novels. &lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://www.yegor256.com/"&gt;https://www.yegor256.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Chris Coyier
&lt;/h2&gt;

&lt;p&gt;He's the man behind CSS-tricks and Codepen. Through his sites, he shares tutorials on the front-end web, with visuals, samples and a playground for readers to try the code themselves. It's a great example of how one topic (in this case, CSS) can be endlessly explored.&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://chriscoyier.net"&gt;https://chriscoyier.net&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Joel Hooks
&lt;/h2&gt;

&lt;p&gt;He started egghead, which now becomes a community where dev learns from each other.  Created a framework on "how to create a good dev screencast". He also produces some of the best courses through "badass dev".&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://joelhooks.com/"&gt;https://joelhooks.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Dan Shiffman (Coding Train)
&lt;/h2&gt;

&lt;p&gt;He teaches creative coding that is very fun to watch and is very beginner-friendly. Telling jokes and showing his expression while teaching reminds us there’s a human being behind every video. &lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://thecodingtrain.com/"&gt;https://thecodingtrain.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Josh W Comeau
&lt;/h2&gt;

&lt;p&gt;Josh creates interactive blog posts on web front-end topics. He typically writes detailed, well-crafted posts on his beautifully designed website, complete with explanations, code samples, and visuals for readers to follow along&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://www.joshwcomeau.com/"&gt;https://www.joshwcomeau.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;﻿&lt;/p&gt;

&lt;h2&gt;
  
  
  Flavio Copes
&lt;/h2&gt;

&lt;p&gt;he writes consistently (I believe) every day on his site. Sharing bits of information about what he currently learns (share while it hots). It’s very inspiring to be able to keep sharing everyday&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://flaviocopes.com/"&gt;https://flaviocopes.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bucky Roberts (The New Boston)
&lt;/h2&gt;

&lt;p&gt;I remember in early 2011, was looking for a Java tutorial and gladly I found "the new Boston youtube channel". He teaches bite-size videos that focus on a topic in a very fun way. Very recommended for a newbie programmer.&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://www.youtube.com/@thene"&gt;https://www.youtube.com/@thene&lt;/a&gt;...&lt;/p&gt;

&lt;h2&gt;
  
  
  Jeffrey Way
&lt;/h2&gt;

&lt;p&gt;A veteran (and still active!) teacher since in Tutsplus and now building his own course empire around Laravel with Laracasts. The video quality and the content itself set a very high standard for screen casting.&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://laracasts.com/"&gt;https://laracasts.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  John Lindquist
&lt;/h2&gt;

&lt;p&gt;"He is the egghead". John is the co-founder and original instructor of egghead. Transforming complex topics and breaking them into video chunks. He inspires and becomes a role model for many nowadays dev teachers.&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://johnlindquist.com/"&gt;https://johnlindquist.com/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Julia Evans
&lt;/h2&gt;

&lt;p&gt;Julia creates zines and comics around programming. Seeing a dev content transformed into something like this definitely opens endless possibilities to other creators as well to deliver something in a very unique way&lt;/p&gt;

&lt;p&gt;site: &lt;a href="https://jvns.ca/"&gt;https://jvns.ca/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  That's it!
&lt;/h2&gt;

&lt;p&gt;Thanks for reading this through&lt;/p&gt;

&lt;p&gt;Let me know who you think I should add to this list (and why)&lt;/p&gt;

&lt;p&gt;If you're interested teaching in programming make sure to subscribe to &lt;a href="https://fromdevtodev.com/"&gt;https://fromdevtodev.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learn</category>
      <category>teach</category>
      <category>education</category>
    </item>
    <item>
      <title>Where to Promote an Application Made for Developers</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Fri, 02 Dec 2022 02:52:40 +0000</pubDate>
      <link>https://forem.com/fullofdev/where-to-promote-an-application-made-for-developers-3if4</link>
      <guid>https://forem.com/fullofdev/where-to-promote-an-application-made-for-developers-3if4</guid>
      <description>&lt;p&gt;Developers are a special audience and promoting your product to them requires a different approach than other types of promotion. It can be hard to promote to developers because they are a tech savvy audience that doesn’t always respond to traditional forms of advertising.&lt;/p&gt;

&lt;p&gt;We prefer to find out about products through word of mouth, recommendations, and online communities. Developers are also typically more skeptical of marketing claims and may be more likely to give feedback on products they use.&lt;/p&gt;

&lt;p&gt;Advertising is not always the most efficient way to reach developers. It can be costly and time consuming to create ads that will resonate with this audience. Additionally, developers may not trust ads and may be more likely to respond to recommendations from their peers.&lt;/p&gt;

&lt;p&gt;So, where should you promote your application?&lt;/p&gt;

&lt;p&gt;Place where you can promote your stuff made for developers&lt;br&gt;
Social media — Twitter, Reddit, and other social media platforms can be great places to start promoting your application. These platforms allow you to reach a wide audience and engage with potential customers in real-time.&lt;br&gt;
Community — For example Product Hunt, betalist, indiehackers and so on.&lt;/p&gt;

&lt;p&gt;Both are generic place where you can share what you make. But here’s two places I made intentionally for developers audience.&lt;/p&gt;

&lt;p&gt;FindDev.tools &lt;a href="https://finddev.tools/"&gt;https://finddev.tools/&lt;/a&gt;&lt;br&gt;
This is a site where people can &lt;a href="https://finddev.tools/"&gt;share any tools related to developer&lt;/a&gt;. Such as serverless service, database platform, UI Component, learning resource and everything else that useful for developer. Whether is it paid or a free product. You can submit the tool you made for developer and promote it here. Everythis will be categorized nicely , to make people easier for looking alternatives to certain tool&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Freestuff.dev &lt;a href="https://freestuff.dev/"&gt;https://freestuff.dev/&lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I also made a &lt;a href="https://freestuff.dev/"&gt;list of free service or tools for developers to use&lt;/a&gt; . It’s open source so people can easily peek into how it’s made on Github. That way we’re also accepting submissions through Pull Request.&lt;/p&gt;

&lt;p&gt;What’s the difference between finddev.tools and freestuff.dev ?&lt;/p&gt;

&lt;p&gt;Both are useful to introduce what you make for developer, but freestuff.dev is intended for only free / open source alternative, while finddev.tools aim to be the “producthunt” for developer.&lt;/p&gt;

</description>
      <category>developers</category>
      <category>marketing</category>
    </item>
    <item>
      <title>Find List Of Developer Tools With FindDevTools</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Thu, 11 Aug 2022 07:17:00 +0000</pubDate>
      <link>https://forem.com/fullofdev/find-list-of-developer-tools-with-finddevtools-43a0</link>
      <guid>https://forem.com/fullofdev/find-list-of-developer-tools-with-finddevtools-43a0</guid>
      <description>&lt;p&gt;We are always carefully selecting our developer tools. It has a high effect on our work. When we consider using an app, we might like a certain feature but not like the other features it offers, or we just don't like the pricing.&lt;/p&gt;

&lt;p&gt;That's why I personally often look for an alternative to developer tools out there. But rather than save it privately, I'd like to share it with others. As a bonus, other people might recommend another similar tool that can help us with our coding work.&lt;/p&gt;

&lt;p&gt;ProductHunt is a perfect place to find a new tool. But it's not focusing on developer tools. It's what makes me excited to build a site where people can just submit a developer tool they like or look for an alternative.&lt;/p&gt;

&lt;h2&gt;
  
  
  Introducing FindDevTools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://finddev.tools/"&gt;FindDevTools&lt;/a&gt; provides information about the pricing and features of certain products to find an alternative. People can compare two products and see them side by side.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenge making a list of developer tools
&lt;/h2&gt;

&lt;p&gt;Building a site like this might seems trivial,  but it has a few challenges (for me) to bring it to the level I like.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tools must be categorized correctly
&lt;/h3&gt;

&lt;p&gt;What's hard in making a listing site like this is the categorizing part. We have to very carefully put each tool into the correct programming category. So when people look for an alternative, they will find a correct solution for their problem.&lt;/p&gt;

&lt;h3&gt;
  
  
  Entry as draft
&lt;/h3&gt;

&lt;p&gt;For the submission, a new entry will be marked as a draft, so we can review it first and make sure it's on the correct tag and valuable for the programmer/developer. Not just promoting any startup tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  Make it easy
&lt;/h3&gt;

&lt;p&gt;To make it easy for people to add a new submission, I run an API. When people provide the link to the site or Twitter, we'll automatically fetch any info we need without the user entering it. Like the logo, description, or snippet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Things don't scale
&lt;/h3&gt;

&lt;p&gt;The manual part is still here. Reviewing a submission and adding features with pricing is still critical to make this site useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  Revenue Plan
&lt;/h2&gt;

&lt;p&gt;To be honest, I'm not sure yet. It's something that I personally use and like gardening it. Maybe a 'mainstream way' where we have a good traffic, then adding a developer-tools sponsor or providing ads with Carbonads or Ethicalads (something not bothering the viewer).&lt;/p&gt;

&lt;p&gt;Site: &lt;a href="https://finddev.tools/"&gt;FindDevTools&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tooling</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Working With Object In Localstorage</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Thu, 09 Sep 2021 08:39:10 +0000</pubDate>
      <link>https://forem.com/fullofdev/working-with-object-in-localstorage-ea1</link>
      <guid>https://forem.com/fullofdev/working-with-object-in-localstorage-ea1</guid>
      <description>&lt;p&gt;We all love localstorage, no database needed to store simple things for our user.&lt;/p&gt;

&lt;p&gt;But what if the data is more than a string or number?&lt;/p&gt;

&lt;p&gt;Let’s see how to store and read object in localstorage?&lt;/p&gt;

&lt;h2&gt;
  
  
  How to store object in localstorage
&lt;/h2&gt;

&lt;p&gt;We need to turn json into a string with JSON.stringify&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;localstorage.setItem(key, JSON.stringify(val));
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How to read/retrieve object from localstorage
&lt;/h2&gt;

&lt;p&gt;We need to parse into json with JSON.parse&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;JSON.parse(localstorage.getItem(key))
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Bonus: Helper for read and write objects in localstorage
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function getObjectLS(key) {
    return JSON.parse(localStorage.getItem(key))
}

function setObjectLS(key, val) {
    localStorage.setItem(key, JSON.stringify(val));
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>javascript</category>
    </item>
    <item>
      <title>Create simple deploy script</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Tue, 27 Jul 2021 05:53:37 +0000</pubDate>
      <link>https://forem.com/fullofdev/create-simple-deploy-script-1g9a</link>
      <guid>https://forem.com/fullofdev/create-simple-deploy-script-1g9a</guid>
      <description>&lt;p&gt;How many times a day did you do this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add .
git commit -m "commit msg"
git push origin branchName
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It's my ritual every time I want to push change on remote git repository. As a developer, we always need to find a way how to make our life easier by using our main principle "Don't Repeat Yourself"&lt;/p&gt;

&lt;h2&gt;
  
  
  Create a deploy script
&lt;/h2&gt;

&lt;p&gt;Learn how to create a simple deploy script, to automate your code deployment when using git or any other things in command. Create a file name "deploy.sh"&lt;/p&gt;

&lt;p&gt;Then move our commands there&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add .
git commit -m "commit msg"
git push origin branchName
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, every time we want to push a message, in command line just type&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Make our deploy message dynamic
&lt;/h2&gt;

&lt;p&gt;With instruction before, we'll always have the same commit message. We need to accept an argument, to make it dynamic. At our deploy.sh file&lt;br&gt;
&lt;/p&gt;

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

msg="update site `date`"
if [ $# -eq 1 ]
  then msg="$1"
fi

git commit -m "$msg"

git push origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We create a $msg variable with current date as default value. But if we want to commit with specific message, now we can just do this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;./depoy.sh "our script works!"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Can not execute deploy.sh file?
&lt;/h2&gt;

&lt;p&gt;If you encounter a problem, where you can't execete this deploy.sh file, make sure you have the right permission to execute. In my case, I just normally do&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;chmod +x deploy.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>script</category>
      <category>deployment</category>
      <category>git</category>
    </item>
    <item>
      <title>How To Add _blank Or Open New Tab For Link In Markdown</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Thu, 22 Jul 2021 02:01:25 +0000</pubDate>
      <link>https://forem.com/fullofdev/how-to-add-blank-or-open-new-tab-for-link-in-markdown-1jcj</link>
      <guid>https://forem.com/fullofdev/how-to-add-blank-or-open-new-tab-for-link-in-markdown-1jcj</guid>
      <description>&lt;p&gt;There are some limitations when we’re working with markdown, one of them is adding property to our HTML tags. In this case I want to add _blank property on my  tag to open a link in a new tab&lt;/p&gt;

&lt;p&gt;Hack it in javascript&lt;/p&gt;

&lt;p&gt;We don’t have control (mostly) with how our markdown will be rendered, but we can hack around it in javascript.&lt;/p&gt;

&lt;p&gt;Let’s say you have an article with id “article” and want to get all the links inside it, here is how&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  const _article = document.getElementById('article') 
  const _links = _article.getElementsByTagName('a')
  for (var i = 0; i&amp;lt;_links.length; i++) {
    _links[i].setAttribute('target', '_blank')
  }
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>markdown</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Write HTML dynamically with mini SSG</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Fri, 09 Jul 2021 08:16:15 +0000</pubDate>
      <link>https://forem.com/fullofdev/write-html-dynamically-with-mini-ssg-870</link>
      <guid>https://forem.com/fullofdev/write-html-dynamically-with-mini-ssg-870</guid>
      <description>&lt;p&gt;This is a story about me:&lt;/p&gt;

&lt;p&gt;One day, I need to make a simple static website.&lt;/p&gt;

&lt;p&gt;Create a folder with ONE HTML file. “index.html”&lt;/p&gt;

&lt;p&gt;The next day, I want to add a new file “about.html”, so I make a new file, and then copy-paste all the header, footer, and sidebar to make my pages consistent.&lt;/p&gt;

&lt;p&gt;The next day, I need to add a new file again.. again.. and again. Just like before, I need to copy-paste most of the part, let alone the annoying meta tag between head with all the social graph and Twitter cards.&lt;/p&gt;

&lt;p&gt;If I need to change one simple typo in the header, I need to open all files and change it one by one.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;That’s my story, does it sounds like your problem too?&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Searching for a solution
&lt;/h3&gt;

&lt;p&gt;I have two options here,&lt;/p&gt;

&lt;p&gt;First, use server-side language, so I can have a templating system for that problem. BUT, I like static sites, there are many options to host it for free without worry too much about the security.&lt;/p&gt;

&lt;p&gt;So we go to the next option. Using SSG (static site generator). There are so many options already with various use cases. But for making few simple sites, learning all these new syntax and concepts is really overwhelming.&lt;/p&gt;

&lt;p&gt;So I pick the hard way, as a developer myself, you know it.. make my own SSG that can fit my own need.&lt;/p&gt;

&lt;h3&gt;
  
  
  Introducing Mini SSG
&lt;/h3&gt;

&lt;p&gt;I built my own SSG, with my very own problem in mind. I started it with imagine how I would use it later. I want the syntax to be very minimal and elegant. I pick the ideas from laravel blade templating system.&lt;/p&gt;

&lt;p&gt;Mini SSG helps you write reusable HTML files. You can create a base layout, import partial code, and create a component for your project.&lt;/p&gt;

&lt;p&gt;It’s a node/javascript package that you can install via NPM. More detail about &lt;a href="https://minissg.vercel.app/tour"&gt;how to install is here&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this post, I just want you to take a look at how minimal the syntax is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;To import partial file&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;@import(header)     

&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Your awesome content&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

@import(footer)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;To use general layout we can do this&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ex: base.html&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;@attach(title)&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt; &lt;span class="c"&gt;&amp;lt;!-- render your title above --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    @attach(section) &lt;span class="c"&gt;&amp;lt;!-- render everything from section above --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;later, to attach those part, we use @section&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;@layout(base) &lt;span class="c"&gt;&amp;lt;!-- 'base' is your html file name, could be anything --&amp;gt;&lt;/span&gt;      

@section(title, Your Page Title)

@section
&lt;span class="nt"&gt;&amp;lt;main&amp;gt;&lt;/span&gt;
    Hey.. meet your awesome content
&lt;span class="nt"&gt;&amp;lt;/main&amp;gt;&lt;/span&gt;
@endsection

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

&lt;/div&gt;



&lt;p&gt;We can even combine imports and general layout like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;@attach(title)&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt; &lt;span class="c"&gt;&amp;lt;!-- render your title above --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    @import(header)
    @attach(section) &lt;span class="c"&gt;&amp;lt;!-- render everything from section above --&amp;gt;&lt;/span&gt;
    @import(footer)
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;Do you need a reusable dynamic component?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"flex is-space-around"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"someClass"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
            @attach(fullDiv)
        &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;@attach(textOnly)&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;  
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;

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

&lt;/div&gt;



&lt;p&gt;attach it like this&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Other stuff&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;

@component(story)
    @slot(fullDiv)
        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;😀 I'm slot with name text&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;I can be very complex element&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
    @endslot

    @slot(textOnly)
        I can also be just text like this
    @endslot
@endcomponent

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

&lt;/div&gt;



&lt;p&gt;It's a build tool, means you have to run a command (in this case &lt;code&gt;npm run dev\&lt;/code&gt;) to generate final static sites for you. I also integrate live server, so you can have localserver running while you are building your sites.&lt;/p&gt;

&lt;p&gt;That's the preview of mini SSG package that I built, maybe you need this too :). Here is &lt;a href="https://minissg.vercel.app/"&gt;mini SSG website's link&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ssg</category>
      <category>website</category>
      <category>html</category>
    </item>
    <item>
      <title>How to improve your skill as a developer</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Thu, 01 Jul 2021 03:01:36 +0000</pubDate>
      <link>https://forem.com/fullofdev/how-to-improve-your-skill-as-a-developer-1ni9</link>
      <guid>https://forem.com/fullofdev/how-to-improve-your-skill-as-a-developer-1ni9</guid>
      <description>&lt;p&gt;Whether you are writing your first or 1000th line of code, I’m sure we all strive to improve our skill as programmers. We want to do more, learn more, and know more about coding.&lt;/p&gt;

&lt;p&gt;How to improve your programming skill? This is the question that we should ask. To answer this question, this article provides a list of how to improve your programming skill&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt;&lt;br&gt;
&lt;em&gt;This article generated by AI using copy.ai (pieces, I glue it together around 10% of the work)&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Learn from others
&lt;/h3&gt;

&lt;p&gt;If you want to be a good developer, you have to learn from people who are better at what they do. This means asking questions and getting advice. You can get help by reading blogs, forums and other resources. There are lots of places on the internet where you can learn about software development.&lt;/p&gt;

&lt;p&gt;No matter where you are in your career you can always use some help. Seeing new things, hearing different opinions and being help by others has been key in helping me succeed in my career and personal life.&lt;/p&gt;

&lt;h3&gt;
  
  
  Read people’s code
&lt;/h3&gt;

&lt;p&gt;With the growing numbers of open-source projects and websites on the internet, we are pretty much surrounded by other people code. We can learn through read other people code or read open source code for programmer&lt;/p&gt;

&lt;p&gt;Bonus: Find a project or codebase you can work on and start contributing on open source if you can.&lt;/p&gt;

&lt;h3&gt;
  
  
  Make open source project
&lt;/h3&gt;

&lt;p&gt;There are different reasons to build open source project. Open source projects are good way to build your technical skills, start build open source project and publish it on Github or other places. Start with something small when you start your first open source project, don’t overdo it on your first time.&lt;/p&gt;

&lt;p&gt;You can choose a problem that you and your peers have, if you can’t find one, make the open source project for the community by yourself.&lt;/p&gt;

&lt;p&gt;You can learn a lot from working on an open source project, and it will help you build your resume as well&lt;/p&gt;

&lt;h3&gt;
  
  
  Share what you know
&lt;/h3&gt;

&lt;p&gt;I find that one of the best ways to improve your skill as a programmer is to teach, not just your own projects but other peoples code. This helps you catch mistakes and better understand why something may be done in a certain way. For one thing, it’s a great motivational tool. Of course, it’s also a great learning practice for you since you’ll learn how to explain things in simple ways.&lt;/p&gt;

&lt;h3&gt;
  
  
  Learn new language or framework
&lt;/h3&gt;

&lt;p&gt;If you’re still young, then I bet that you get excited by the idea of ​​learning a new programming language. So this part is easy.&lt;/p&gt;

&lt;p&gt;I try to learn a new language as often as I can: it helps you to widen your perspective, show you how a different version of one concept looks like and teaches you something new every time. The list of benefits is pretty big.&lt;/p&gt;

&lt;p&gt;The real world needs us to know more than just another programming language. You have a boss or a client who wants you to create a webpage or app using a language that is different from your forte. It will help you understand coding better if you try new programming languages and tools like Angular JS, Ruby on Rails etc or similar that can give you an easier time as you program in future.&lt;/p&gt;

</description>
      <category>learning</category>
    </item>
    <item>
      <title>I make a list of free stuff/services for developers</title>
      <dc:creator>Full of Dev</dc:creator>
      <pubDate>Wed, 23 Jun 2021 12:03:35 +0000</pubDate>
      <link>https://forem.com/fullofdev/i-make-a-list-of-free-stuff-services-for-developers-1hoe</link>
      <guid>https://forem.com/fullofdev/i-make-a-list-of-free-stuff-services-for-developers-1hoe</guid>
      <description>&lt;p&gt;Whenever I find some free cool developer tools/services that I can use for my next product, I immediately write it down in my private note.&lt;/p&gt;

&lt;p&gt;The list got bigger, scroll to it in one file not helping anymore.&lt;/p&gt;

&lt;p&gt;I need to categorize it nicely to make it easier to search for something.&lt;/p&gt;

&lt;p&gt;Suddenly I thought, why not bring this list public.&lt;/p&gt;

&lt;p&gt;I found some links that do the same, but surprisingly not many alternatives.&lt;/p&gt;

&lt;p&gt;So, last week I create something &lt;a href="https://freestuff.dev"&gt;freestuff.dev&lt;/a&gt;. Built this website with Hugo (Static Site Generator) and hosted it for free on Netlify.&lt;/p&gt;

&lt;p&gt;I posted it on hackernews the other day, someone posted it on reddit. Some people say good things, a lot of people say bad things. It's okay, I don't want to think too much about it as long as it helpful (at least for me :P)&lt;/p&gt;

&lt;p&gt;Since it’s an &lt;a href="https://github.com/hilmanski/freeStuffDev"&gt;open (re)source on github&lt;/a&gt;, people start contributing some contents.&lt;/p&gt;

&lt;p&gt;It has been a good week, I never imagine someone wants to contribute to it, I guess if you make something at least for yourself, someone somewhere might find it useful too.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>sharing</category>
    </item>
  </channel>
</rss>
