<?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: Bert Heyman</title>
    <description>The latest articles on DEV Community by Bert Heyman (@bertheyman).</description>
    <link>https://dev.to/bertheyman</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%2F40302%2F7f05361b-5658-42a1-a25e-acefbff5e9cb.jpg</url>
      <title>DEV Community: Bert Heyman</title>
      <link>https://dev.to/bertheyman</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bertheyman"/>
    <language>en</language>
    <item>
      <title>How to translate the Laravel password reset email</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Fri, 15 Mar 2024 13:42:42 +0000</pubDate>
      <link>https://dev.to/bertheyman/how-to-translate-the-laravel-password-reset-email-4ob4</link>
      <guid>https://dev.to/bertheyman/how-to-translate-the-laravel-password-reset-email-4ob4</guid>
      <description>&lt;p&gt;Laravel offers a very convenient default email to reset your password (via Laravel Breeze).&lt;br&gt;
If you're building an application targetted at another language than English, you'll need to customize it.&lt;br&gt;
I'm sharing an example, since the way to do this isn't always obvious.&lt;/p&gt;
&lt;h2&gt;
  
  
  Preparation
&lt;/h2&gt;

&lt;p&gt;If you didn't do this yet, change the locale setting in config &amp;gt; app.php.&lt;br&gt;
This will affect what translations Laravel looks for.&lt;/p&gt;
&lt;h2&gt;
  
  
  How to
&lt;/h2&gt;

&lt;p&gt;In resources &amp;gt; lang, create a new file like nl.json (change nl by your language).&lt;br&gt;
In that json, you can map the text from the password reset email to a translated version.&lt;/p&gt;
&lt;h2&gt;
  
  
  Dutch translation
&lt;/h2&gt;

&lt;p&gt;To get you started, here is a Dutch example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Hello!"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Hallo"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Reset Password Notification"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Wachtwoord reset"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"You are receiving this email because we received a password reset request for your account."&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Je krijgt deze email na een verzoek om je wachtwoord opnieuw in te stellen."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Reset Password"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Reset wachtwoord"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"This password reset link will expire in :count minutes."&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"De link blijft :count minuten geldig."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"Regards"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Groeten"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"If you did not request a password reset, no further action is required."&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Als je deze aanvraag niet zelf hebt gedaan, mag je deze mail negeren."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"If you're having trouble clicking the \":actionText\" button, copy and paste the URL below\ninto your web browser:"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Als de &lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt;:actionText&lt;/span&gt;&lt;span class="se"&gt;\"&lt;/span&gt;&lt;span class="s2"&gt; knop niet werkt, kan je ook deze link copy-pasten: "&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"All rights reserved."&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Alle rechten voorbehouden."&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hope this saves you some time!&lt;/p&gt;

</description>
      <category>php</category>
      <category>laravel</category>
    </item>
    <item>
      <title>Turning your Github profile into a portfolio that works for you</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Fri, 14 Oct 2022 08:46:14 +0000</pubDate>
      <link>https://dev.to/bertheyman/turning-your-github-profile-into-a-portfolio-that-works-for-you-3i0h</link>
      <guid>https://dev.to/bertheyman/turning-your-github-profile-into-a-portfolio-that-works-for-you-3i0h</guid>
      <description>&lt;p&gt;Git is a wonderful tool, right?&lt;br&gt;
Many use Github as their Git platform.&lt;br&gt;
It does, of course, provide a valuable interface for history, pull requests, and much more - but did you know &lt;strong&gt;it has a huge impact in how companies see you as a developer&lt;/strong&gt;?&lt;/p&gt;

&lt;p&gt;If you want to leverage your Github profile more, these tips might help:&lt;/p&gt;

&lt;h2&gt;
  
  
  Time is valuable: have a clear focus 🎯
&lt;/h2&gt;

&lt;p&gt;You start multiple projects enthusiastically, only to your Github become a big mess or repositories in all sorts of languages. If you want to apply for jobs in the JavaScript sphere, make sure your Github shows this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/pinning-items-to-your-profile" rel="noopener noreferrer"&gt;Pin relevant projects for JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Set old or irrelevant projects to private&lt;/li&gt;
&lt;li&gt;If a visitor only views &lt;em&gt;one&lt;/em&gt; project, which one should it be? If you pin 1-4 projects, the chances of getting it right are big. If you focus on 10+ projects at once, that chance is a lot smaller.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Everybody hates absent docs: leverage README's 📖
&lt;/h2&gt;

&lt;p&gt;A good readme allows you to inform your visitor so much better. Ideally, you mention:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your role in the project (solo or part of a team?)&lt;/li&gt;
&lt;li&gt;Scope and languages of the project&lt;/li&gt;
&lt;li&gt;How to install, test or use (getting started)&lt;/li&gt;
&lt;li&gt;Bonus: screenshots of how it works&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Do you need a manual: do you have a personal readme? ✍️
&lt;/h2&gt;

&lt;p&gt;Github offers a great option to add a small description to your profile. Create yours using &lt;a href="https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme" rel="noopener noreferrer"&gt;their guide&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't be a stranger ✋
&lt;/h2&gt;

&lt;p&gt;Lots of users never change the default picture. How personal you prefer your profile picture to be is your own choice, but I'd advise to at least change the default. It's often associated with newly created repositories having little content and purely tutorial-based code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Don't stop at Github 🛑
&lt;/h2&gt;

&lt;p&gt;Profile all brushed up? Great!&lt;br&gt;
If you mention your Twitter, LinkedIn, ... give those some love too. Not sure what to link?&lt;/p&gt;

&lt;p&gt;There's no single right answer here, but a good UX-focus always helps: what is most interesting to the people visiting your profile? Someone looking for a job might prefer to add LinkedIn, while an open source maintainer could opt for a Twitter account to have active discussions about the framework.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What do you think?&lt;/strong&gt;&lt;br&gt;
Hope you'll have a profile as cool as &lt;a href="https://docs.github.com/assets/cb-170327/images/help/repository/profile-with-readme.png" rel="noopener noreferrer"&gt;Mona Lisa Octocat&lt;/a&gt; now!&lt;br&gt;
What makes a Github profile stand out for you? Curious to know, feel free to discuss in the comments.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F48nxu7zywxy3s2da9m6u.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%2F48nxu7zywxy3s2da9m6u.png" alt=" " width="800" height="316"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>github</category>
      <category>career</category>
      <category>beginners</category>
    </item>
    <item>
      <title>The hidden cost of packages and how to avoid it</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Wed, 06 Jul 2022 10:25:10 +0000</pubDate>
      <link>https://dev.to/bertheyman/the-hidden-cost-of-packages-and-how-to-avoid-it-dk2</link>
      <guid>https://dev.to/bertheyman/the-hidden-cost-of-packages-and-how-to-avoid-it-dk2</guid>
      <description>&lt;p&gt;&lt;a href="https://media.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%2Fcoholqvsgg1qzg75u1wa.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.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%2Fcoholqvsgg1qzg75u1wa.jpg" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Packages bring a lot of value: they're reusable components, ready to be downloaded and just work! Magic, right? Needles to say, when I discovered them, I felt like a kid in a candy store. The more the better! Right? right?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For experimenting: yes! Of production-ready things: not so much...&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The hidden cost
&lt;/h2&gt;

&lt;p&gt;Packages bring a hidden, but often use cost with them. Your project becomes dependent on code from someone else. What if you need an update for the new PHP version a year down the line? What if you discover a security risk that needs urgent fixing? These are serious downsides to consider that might not come up immediately.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Being dependent on a stale external package can tank your development speed and even whole project!&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;On the other hand, avoiding packages all together means you'll miss out on a lot of useful stuff! If your production is shipping to production at some point, you'll want to get the perks and limit the risk of downsides by focussing on high quality, living packages.&lt;/p&gt;

&lt;h2&gt;
  
  
  A checklist to minimise the risk
&lt;/h2&gt;

&lt;p&gt;I have a mental checklist to decide on a package and hope to help others by sharing it. Here we go:&lt;/p&gt;

&lt;h3&gt;
  
  
  ⭐️ Github stars
&lt;/h3&gt;

&lt;p&gt;The more stars, the more users. Read: a higher amount of people potentially contributing to the project, or taking over when the maintainer lacks time.&lt;/p&gt;

&lt;h3&gt;
  
  
  🕙 Time of the last update in the code
&lt;/h3&gt;

&lt;p&gt;This could tell you a lot about the current state of the project. Is it actively updated? Only bug fixes? Or abandoned (not always mentioned in the readme)?&lt;/p&gt;

&lt;h3&gt;
  
  
  ✏️ Documentation
&lt;/h3&gt;

&lt;p&gt;The presence and quality of the documentation will have a huge impact on your development speed.&lt;/p&gt;

&lt;h3&gt;
  
  
  🚩 Issues &amp;amp; pull requests
&lt;/h3&gt;

&lt;p&gt;Are these actively maintained? Do they show known bugs? Is the author open to pull requests for features you want but might not be there yet?&lt;/p&gt;

&lt;p&gt;Lastly: A lot of open source maintainers do this entirely voluntary. This comes with a very different set of expectations than when you make use of a paid service. Be kind! And should you wish to do so, they're often happy to receive help on the project. It's a very rare industry where so many people share for free, let's celebrate that!&lt;/p&gt;

&lt;p&gt;Happy packaging!&lt;/p&gt;

</description>
      <category>composer</category>
      <category>npm</category>
      <category>packages</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How to prevent local composer upgrades from breaking your live environment</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Sun, 02 Aug 2020 14:38:25 +0000</pubDate>
      <link>https://dev.to/bertheyman/how-to-prevent-local-composer-upgrades-from-breaking-your-live-environment-1n00</link>
      <guid>https://dev.to/bertheyman/how-to-prevent-local-composer-upgrades-from-breaking-your-live-environment-1n00</guid>
      <description>&lt;p&gt;&lt;em&gt;For the scope of this article, I'll assume you have (basic) experience with composer and are familiar with the way dependencies are defined.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;When you want to upgrade your dependencies, composer is smart enough to take your PHP version into account: it'll only upgrade every package to compatible versions. Let's say your local environment uses PHP 7.4, but the live environment is still on 7.2. &lt;strong&gt;Any upgrade will work with your local 7.4 but might break on 7.2 when being pushed to live.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Telling composer about the PHP version of your live environment
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;requires&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;(...)&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"config"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"platform"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"php"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"8.0"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;//&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;Version&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;the&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;live&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;environment&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Composer will now know about this version&lt;/strong&gt;, and never upgrade a package to an incompatible version. So any local upgrades can be safely executed!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If your live PHP version is outdated, also consider upgrading! This will bring both performance and security improvements.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Often running into problems with different environment settings? Options exist that will create a complete container to run your application in, that will replicate the live environment - they need some setup though. (e.g. &lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Have you got other composer tips to share? Eager to hear about them!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>composer</category>
      <category>php</category>
    </item>
    <item>
      <title>Lessons learned from my mentees</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Tue, 09 Jun 2020 18:20:28 +0000</pubDate>
      <link>https://dev.to/bertheyman/lessons-learned-from-my-mentees-43ne</link>
      <guid>https://dev.to/bertheyman/lessons-learned-from-my-mentees-43ne</guid>
      <description>&lt;p&gt;Over the recent years, I got the chance to mentor some aspiring interns. Not only did I find great pleasure in mentoring others, it provided me with valuable insights as well. So, what did I learn?&lt;/p&gt;

&lt;h2&gt;
  
  
  Spot onboarding hiccups
&lt;/h2&gt;

&lt;p&gt;If you're getting familiar with how things work, things seem a lot more obvious than when you're new to them. If an intern is having trouble understanding a topic, have a look if it can be refactored or simplified. These small hiccups were often &lt;strong&gt;starting points for improvements in the codebase&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Listen to their approach first
&lt;/h2&gt;

&lt;p&gt;Interns don't have a lot of knowledge about the day-to-day workflow in the company yet. Listening to their thoughts and reasoning for a problem will leave them with more self confidence than directly providing them with a path to a solution. &lt;strong&gt;Even coming up with a terrible solution helps in finding a better one the next time!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Perhaps they thought of a technique you're not familiar with? Or maybe they spot restraints in the regular workflow? It's also a chance to look at things from a different perspective.&lt;/p&gt;

&lt;h2&gt;
  
  
  Provide context
&lt;/h2&gt;

&lt;p&gt;Giving them a chance to analyse a problem themselves first, doesn't mean sending them in blind. When starting out, you're &lt;strong&gt;mostly training your analytical skills&lt;/strong&gt;: how can I get from A to B as efficiently as possible? Finding the best approach balancing technical requirements with different types of customers' (and businesses') needs requires a lot of experience. Thinking together about who the most important stakeholders are will help them a great deal choosing the right solution.&lt;/p&gt;

&lt;p&gt;What have you learned from your mentee or mentor?&lt;br&gt;
Tips to share on how to improve yourself as a mentor? &lt;br&gt;
I'd like to hear about them!&lt;/p&gt;

</description>
      <category>mentoring</category>
    </item>
    <item>
      <title>Domain records for dummies</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Thu, 23 Jan 2020 19:50:07 +0000</pubDate>
      <link>https://dev.to/bertheyman/domain-records-for-dummies-1239</link>
      <guid>https://dev.to/bertheyman/domain-records-for-dummies-1239</guid>
      <description>&lt;p&gt;If you own a domain name, you get to choose what site is displayed on it. But there's more to that: it's also possible to determine who can &lt;strong&gt;use the domain to send emails or you can verify your ownership&lt;/strong&gt;. How does this work?&lt;/p&gt;

&lt;h2&gt;
  
  
  First things first: &lt;em&gt;nameservers&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;By setting the nameservers, you basically tell the domain what rules to listen to. By default, these will probably be the servers from the provider you bought the domain from. However, you can pick any nameservers you want.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting your settings right: &lt;em&gt;DNS records&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;These nameservers can set DNS records to specify all sorts of stuff.&lt;/p&gt;

&lt;h3&gt;
  
  
  A record
&lt;/h3&gt;

&lt;p&gt;Tell the domain what server (by IP) to use for the website. Most of the time, this one will be the most important.&lt;/p&gt;

&lt;h3&gt;
  
  
  AAAA record
&lt;/h3&gt;

&lt;p&gt;Using an IPv6 for your server? Then you'd need to use an AAAA record instead of a regular A record.&lt;/p&gt;

&lt;h3&gt;
  
  
  CNAME record
&lt;/h3&gt;

&lt;p&gt;Defines an "alias" and thus points to another domain that, in turn, might have an A record.&lt;/p&gt;

&lt;h3&gt;
  
  
  MX record
&lt;/h3&gt;

&lt;p&gt;A Mail Exchange record will make sure the correct mail server is used.&lt;/p&gt;

&lt;h3&gt;
  
  
  TXT record
&lt;/h3&gt;

&lt;p&gt;A TXT record can basically be anything. They are often used to confirm ownership of the domain, which is useful for some Google services.&lt;/p&gt;

&lt;h3&gt;
  
  
  SRV record
&lt;/h3&gt;

&lt;p&gt;Used to connect to other services. Might be used for email of other software. These aren't used too much, in my experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  Help! I set some records but they won't work
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Using the right nameservers?
&lt;/h3&gt;

&lt;p&gt;It's possible to have records on other nameservers than the active one.&lt;br&gt;
Domain name &amp;gt;&amp;gt; nameservers (service B) &amp;gt;&amp;gt; records (service B)&lt;br&gt;
If you are editing records on service A, they won't take into effect until the nameservers point to service A.&lt;/p&gt;

&lt;h3&gt;
  
  
  Account for DNS caching
&lt;/h3&gt;

&lt;p&gt;DNS settings are cached on several levels, so it might take a while before you see a difference. In general, it's best to account for 24h when changing nameservers and up to 4h for changes in the records.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tip: if you know a change is coming, lower the Time To Live (TTL) setting beforehand. The default of 3600 seconds means a record will be updated once every hour.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Check the active settings with tools like &lt;a href="https://toolbox.googleapps.com/apps/dig"&gt;Google dig&lt;/a&gt;. Waited long enough and still not updated? Check on a different network of with 4G. If it's allright there, the settings might be cached on your local network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Anything to add? Don't hesitate to leave a comment, would love to learn from you!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>domain</category>
      <category>dns</category>
    </item>
    <item>
      <title>Share your favourite PHP trick!</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Sun, 20 Oct 2019 08:39:28 +0000</pubDate>
      <link>https://dev.to/bertheyman/share-your-favourite-php-trick-39d6</link>
      <guid>https://dev.to/bertheyman/share-your-favourite-php-trick-39d6</guid>
      <description>&lt;p&gt;What simple trick or feature do you really like to use?&lt;/p&gt;

</description>
      <category>php</category>
    </item>
    <item>
      <title>What is the most overlooked Laravel feature?</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Thu, 05 Sep 2019 11:45:38 +0000</pubDate>
      <link>https://dev.to/bertheyman/what-is-the-most-overlooked-laravel-feature-3ldj</link>
      <guid>https://dev.to/bertheyman/what-is-the-most-overlooked-laravel-feature-3ldj</guid>
      <description>&lt;p&gt;Tell us about hidden gems and useful -but often overlooked- features!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What do you like about it? &lt;br&gt;
Why might it not be used as much as it should?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Bonus points if you include an article with an introduction for others to learn.&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>discuss</category>
    </item>
    <item>
      <title>You get stuck with a package - what do you do?</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Sat, 06 Jul 2019 06:38:24 +0000</pubDate>
      <link>https://dev.to/bertheyman/help-i-m-stuck-with-a-package-49ad</link>
      <guid>https://dev.to/bertheyman/help-i-m-stuck-with-a-package-49ad</guid>
      <description>&lt;p&gt;So, you're wrestling with a complex problem and found the perfect package for it. Until you find a sudden hiccup or bug.&lt;/p&gt;

&lt;h1&gt;
  
  
  What's the root problem?
&lt;/h1&gt;

&lt;p&gt;Try to find the underlying problem you need to solve. Perhaps the package isn't perfect for your use case or your approach need some tweaking.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is there a &lt;strong&gt;simple workaround&lt;/strong&gt;? 
Often, lots of routes will get you to Rome.&lt;/li&gt;
&lt;li&gt;Is this package really &lt;strong&gt;the tailored solution you need&lt;/strong&gt;? Or just a 90% there and will you end up hacking the last bits?&lt;/li&gt;
&lt;li&gt;Is the package &lt;strong&gt;well maintained and documented&lt;/strong&gt; or abandoned? A well used package will likely cover a lot more situations and language versions than one which lacks activity.&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Check the known issues of the package
&lt;/h1&gt;

&lt;p&gt;If the package is right for your use case but you still encounter problems, chances are other people are on the same boat. Search the Github or Gitlab issues to look for answers.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Tip: when searching issues also include closed ones, as these often contain answered questions.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Nothing yet? Consider opening a new issue.&lt;br&gt;
Add as much context as possible (current language version, what did you try before, ...), this will help getting a quick answer.&lt;/p&gt;

&lt;h1&gt;
  
  
  Go for it &amp;amp; fix it / pull request
&lt;/h1&gt;

&lt;p&gt;For smaller bugs, you could try and edit the package directly in your vendor folder - apply the changes afterwards with a pull request.&lt;br&gt;
For more complex situations, pull down an own fork (see &lt;a href="https://mattstauffer.com/blog/how-to-contribute-to-an-open-source-github-project-using-your-own-fork/"&gt;this this excellent guide by Matt Stauffer&lt;/a&gt; by Matt Stauffer) of the package and link composer to your local version. Not sure how to do this? &lt;a href="https://johannespichler.com/developing-composer-packages-locally/"&gt;Have a read here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A pull request is actually a request to the package maintainers to pull your changes into the project - not to be confused with you pulling the code from the remote.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Again, add as much context as possible: what are you doing exactly with this pull request? Why did you solve it in a certain way? The maintainers have to handle lots of pull requests, so this information will be a great help to process them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Don't be put off thinking your fix is not good enough. The maintainers will provide you with clear feedback and can request changes whenever needed. Actually, my first pull request got rejected because it caused another problem I hadn't thought of - I got some good feedback and learned a lot from it.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Remember: 99,9% of the time package owners are volunteers, so give them some time to review your changes.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Accepted? Congratulations, you just finished your first open source contribution! &lt;strong&gt;Depending on the package, a handful of / thousands of people will benefit from your work.&lt;/strong&gt; Awesome, right?&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to get the most out of Stackoverflow</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Wed, 03 Jul 2019 06:44:47 +0000</pubDate>
      <link>https://dev.to/bertheyman/how-to-get-the-most-out-of-stackoverflow-5d5c</link>
      <guid>https://dev.to/bertheyman/how-to-get-the-most-out-of-stackoverflow-5d5c</guid>
      <description>&lt;p&gt;Simple question, simple answer:&lt;/p&gt;

&lt;h2&gt;
  
  
  Create an account
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;Believe me, it will make a difference!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Stackoverflow can be a life-saver when a complex problem pops up. However, starting to share your answers yourself or ask good quality questions can be a bit intimidating at first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lower the barrier
&lt;/h2&gt;

&lt;p&gt;Once you have an account, there are various ways to help others even if you're not sure about writing answers yet.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Vote&lt;/strong&gt; on questions &amp;amp; answers (or star them). This helps finding them again later and motivates others spending time to help.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Edit outdated answers&lt;/strong&gt;, and update them with new information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Comment&lt;/strong&gt; (min 10 reputation, quite frustrating if this is blocked for your) to engage in answers/questions. Will really help you if want to dig deeper is someone else's question.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finally: start asking &lt;strong&gt;your own well documented questions and answers&lt;/strong&gt;. By voting up or down, you'll have learned what makes a question easy to answer or rather hard to understand.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stackoverflow is one of my favourite ways to find answers and give back to the community by posting some answers myself.&lt;/p&gt;

&lt;p&gt;What are your experiences with it? Interested to hear the story!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>stackoverflow</category>
    </item>
    <item>
      <title>What challenges for development do you face in your region?</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Mon, 03 Jun 2019 12:10:59 +0000</pubDate>
      <link>https://dev.to/bertheyman/what-challenges-for-development-do-you-face-in-your-region-55l2</link>
      <guid>https://dev.to/bertheyman/what-challenges-for-development-do-you-face-in-your-region-55l2</guid>
      <description>&lt;p&gt;I recently read &lt;a href="https://dev.to/funkyidol/why-becoming-staying-productive-in-india-is-difficult-3b27"&gt;an article&lt;/a&gt; about the challenges developers face in India. &lt;/p&gt;

&lt;p&gt;Which made me wonder about the different conditions and difficulties (or positive conditions) all around the world. &lt;/p&gt;

&lt;p&gt;Limited access to learning opportunities or hard to come by tutorials in your native language? Lack of companies where you can learn? I'd like to hear about it!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What's development like in your region?&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>Need a cmd + Z in your database? Transactions to the rescue!</title>
      <dc:creator>Bert Heyman</dc:creator>
      <pubDate>Wed, 29 May 2019 19:58:35 +0000</pubDate>
      <link>https://dev.to/bertheyman/need-a-cmd-z-in-your-database-transactions-to-the-rescue-3i5l</link>
      <guid>https://dev.to/bertheyman/need-a-cmd-z-in-your-database-transactions-to-the-rescue-3i5l</guid>
      <description>&lt;p&gt;Let's say you're opening a new chocolate bar shop.&lt;br&gt;
You're a bit of a Willy Wonka, so every week you upload newly invented products into your database:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create new product categories&lt;/li&gt;
&lt;li&gt;Insert new products and link to categories&lt;/li&gt;
&lt;li&gt;Add related prices&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the creation of new product categories fails, the product might miss a category. Vice versa, a price for a non existing product has little use to the world. Determined to enrich the world with new ideas every week, you start looking for a solution: database transactions.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;In short: your import will be all or nothing&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;If anythings fails, nothing is changed in the database. Your data will only be updated if everything is working fine.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This feature is often overlooked, but isn't too hard in Laravel:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nx"&gt;DB&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;transaction&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// An exception will rollback evertything in the database transaction&lt;/span&gt;
    &lt;span class="nx"&gt;DB&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;table&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'product_categories'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$productCategories&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;DB&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;table&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'products'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$products&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;DB&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;table&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'prices'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;insert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$prices&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;And that's it - you're done!&lt;/p&gt;

&lt;p&gt;Further reading?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://laravel.com/docs/5.8/database#database-transactions"&gt;The Laravel docs on database transactions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.thecreativedev.com/mysql-transaction-tutorial-for-beginners/"&gt;A (rather old) tutorial for using it directly in MySql&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Any database tips you feel like sharing? Feel free to discuss in the comments!&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>database</category>
      <category>beginners</category>
      <category>mysql</category>
    </item>
  </channel>
</rss>
