<?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: Mohamed Hassan</title>
    <description>The latest articles on Forem by Mohamed Hassan (@moha1234566044).</description>
    <link>https://forem.com/moha1234566044</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%2F297564%2F0dc681e9-f25c-400d-9d6d-a2a0789c55ba.png</url>
      <title>Forem: Mohamed Hassan</title>
      <link>https://forem.com/moha1234566044</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/moha1234566044"/>
    <language>en</language>
    <item>
      <title>recommendations about developers on twitter</title>
      <dc:creator>Mohamed Hassan</dc:creator>
      <pubDate>Fri, 14 Aug 2020 23:21:03 +0000</pubDate>
      <link>https://forem.com/moha1234566044/recommendations-about-developers-on-twitter-4pp5</link>
      <guid>https://forem.com/moha1234566044/recommendations-about-developers-on-twitter-4pp5</guid>
      <description>&lt;p&gt;I would like to know who I should follow on twitter as a laravel developer . I want to sharpen my skills, so any recommendations? &lt;/p&gt;

</description>
      <category>discuss</category>
      <category>laravel</category>
      <category>php</category>
      <category>twitter</category>
    </item>
    <item>
      <title>SQL: Intro to Wild Cards </title>
      <dc:creator>Mohamed Hassan</dc:creator>
      <pubDate>Tue, 19 May 2020 21:12:29 +0000</pubDate>
      <link>https://forem.com/moha1234566044/sql-intro-to-wild-cards-2mc6</link>
      <guid>https://forem.com/moha1234566044/sql-intro-to-wild-cards-2mc6</guid>
      <description>&lt;p&gt;It has been a while since I posted anything, so this one is going to be really simple and short just to warm up. This is going to be about wild cards.&lt;/p&gt;

&lt;h2&gt;
  
  
  And let's get started :)
&lt;/h2&gt;

&lt;h1&gt;
  
  
  Wild Cards
&lt;/h1&gt;

&lt;p&gt;A wild card is basically a way of searching through strings for characters. Wild cards use the "LIKE" operator. Most known and used wild cards are "%" and "_". If you are a programmer you are probably familiar with regular expressions and these wild cards work like them. Here is briefly how they work.&lt;/p&gt;

&lt;p&gt;"%": represents zero or more than one character.&lt;/p&gt;

&lt;p&gt;"_": represents only one character.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you do not know what the heck i am talking about here, relax this is normal. These examples will clear any confusion.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  "%"
&lt;/h2&gt;

&lt;p&gt;In the example below, we are telling sql to get the data from the table "customer" where the column "name" records start with the letter "m" and continue with any characters.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="nx"&gt;LIKE&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;m%&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;here is another example. Here we are basically telling sql to get the records from the column "name" that ends with the letters "ud" and can start with any characters.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="nx"&gt;LIKE&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;%ud&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  "_"
&lt;/h2&gt;

&lt;p&gt;As i said the "_" will represent one character.&lt;/p&gt;

&lt;p&gt;The query below will get the data that starts by any character followed by the pattern "_ohamed".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="nx"&gt;LIKE&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;_ohamed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Another example &lt;/p&gt;

&lt;p&gt;So we are telling sql here to get any result from the column name that starts with the pattern "ahme" and ends with any character.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="nx"&gt;LIKE&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ahme_&lt;/span&gt;&lt;span class="dl"&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, of course, we can combine the two of them to get more advanced.&lt;/p&gt;

&lt;p&gt;This one is a little tricky. We are telling sql to get the data from the column email which starts with any number of characters and ends with only one character after "o". As you may have guessed this will retrieve any ".com" email.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="nx"&gt;LIKE&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;%.co_&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Conclsuion
&lt;/h1&gt;

&lt;p&gt;you can see how simple it is, but there is a lot to add to this if you want to dive deep in SQL, consider checking out my course on &lt;a href="https://gum.co/Dnfaz"&gt;gumroad&lt;/a&gt;:)&lt;/p&gt;

</description>
      <category>sql</category>
      <category>webdev</category>
      <category>codenewbie</category>
      <category>datascience</category>
    </item>
    <item>
      <title>Top 10 Extensions For Web Developers</title>
      <dc:creator>Mohamed Hassan</dc:creator>
      <pubDate>Sun, 12 Apr 2020 09:15:54 +0000</pubDate>
      <link>https://forem.com/moha1234566044/top-10-extensions-for-web-developers-pj4</link>
      <guid>https://forem.com/moha1234566044/top-10-extensions-for-web-developers-pj4</guid>
      <description>&lt;p&gt;Since my internet connection is extremely slow right now, it is really hard to do any coding. You will not be able to search for a simple error message and get the results. Well, maybe get it in the next 20 minutes or so :) which is irritating even if you are not in my shoes, thus i will try to be productive and write my next post this week about some of the extensions i find useful to use. They will be beneficial also even if you are a UX-UI developer/design. &lt;/p&gt;

&lt;p&gt;Now as you develop your apps fixing bugs and stuff, these tools are going to be really handy. These are short sections after every subheading to not bore you out and you still read the whole post. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And to the point :)&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;ColorZilla&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Whatfont&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Corporate Ipusom &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Wappalyzer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Web Developer Checklist&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;CSSViewer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;JSONViewer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Code Cola&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;React Developer Tools&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Augury&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  ColorZilla
&lt;/h1&gt;

&lt;p&gt;Every developer's best option when it comes to colors. With over 5 million downloads and 1.3 million users, it is really easy to use. You simply click it and hover over the color you want to copy and there it is &lt;strong&gt;copied to clipboard&lt;/strong&gt;. It also includes palette viewer, gradient generator and picked color history.&lt;/p&gt;

&lt;h1&gt;
  
  
  Whatfont
&lt;/h1&gt;

&lt;p&gt;Whatfont is basically a Colorzilla for fonts. It is extremely easy to use. You click it and hover over the font you want to identify and you have it. Unlike other complex fonts programs like (WhatTheFont) Whatfont is so flexible.&lt;/p&gt;

&lt;h1&gt;
  
  
  Corporate Ipusom
&lt;/h1&gt;

&lt;p&gt;A handy tool to generate lorem ipsum text. You can filter content by word or paragraph. You can even specify the number of words you want to generate. You use it by specifying the number of words you want and click copy &lt;strong&gt;that is it&lt;/strong&gt;.  &lt;/p&gt;

&lt;h1&gt;
  
  
  Wappalyzer
&lt;/h1&gt;

&lt;p&gt;It is one of the most popular extensions out there. Every programmer lives by it to identify which technologies are used on the website he is exploring. It a utility developed in 2009 by Elbert Alias. It can detect over 1000 technologies (frameworks, e-commerce, programming langs, search engines and so much more).&lt;/p&gt;

&lt;h1&gt;
  
  
  Web Developer Checklist
&lt;/h1&gt;

&lt;p&gt;The name speaks for itself, does not it? :) It checks your webpage for any web design violations, best practices, usability, and accessibility. It is the best on this list. Give it a go.&lt;/p&gt;

&lt;h1&gt;
  
  
  CSSViewr
&lt;/h1&gt;

&lt;p&gt;Such a great tool for your CSS coding. It provides the CSS information every dev needs. It has a panel that reports with information on the section you hover on including font, color, background box, attributes, and positioning.&lt;/p&gt;

&lt;h1&gt;
  
  
  JSONViewer
&lt;/h1&gt;

&lt;p&gt;A simple yet beneficial tool for displaying your JSON/JSONP files on the browser. It comes with additional features like: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Clickable URLs (optional) &lt;/li&gt;
&lt;li&gt;Collapsible nodes&lt;/li&gt;
&lt;li&gt;27 built-in themes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is also open source. Click &lt;a href="https://goo.gl/fmphc7"&gt;here&lt;/a&gt; for more.   &lt;/p&gt;

&lt;h1&gt;
  
  
  Code Cola
&lt;/h1&gt;

&lt;p&gt;It allows you to view the source code of the app you are working on. And it provides an easy-to-use editor to edit and share your CSS code on the fly.&lt;/p&gt;

&lt;h1&gt;
  
  
  React Developer Tools
&lt;/h1&gt;

&lt;p&gt;I could not leave that out, right? It is created by the React team. It provides rich UI where you detect the flows of events in your React app. You can inspect React components props and states and even change them and see the change through the components tree.&lt;/p&gt;

&lt;h1&gt;
  
  
  Augury
&lt;/h1&gt;

&lt;p&gt;It is similar to (React Developer tools) for Angular. It is used for debugging, profiling and optimizing Angular projects. It provides a rich UI in the dev tools where you can:   &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Edit and change properties in components&lt;/li&gt;
&lt;li&gt;See the DI tree graph of the components&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;My list has come to end. If you like this post, make sure you like it. Have a good day and thanks for reading :)&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>javascript</category>
    </item>
    <item>
      <title>7 Things Every Web Developer Should Learn </title>
      <dc:creator>Mohamed Hassan</dc:creator>
      <pubDate>Tue, 07 Apr 2020 07:42:58 +0000</pubDate>
      <link>https://forem.com/moha1234566044/7-things-every-web-developer-should-learn-4e11</link>
      <guid>https://forem.com/moha1234566044/7-things-every-web-developer-should-learn-4e11</guid>
      <description>&lt;h3&gt;
  
  
  if you have SQL or MySQL on your learning journey, check out my SQL course on &lt;a href="https://www.udemy.com/course/the-complete-sql-course-2020-become-a-mysql-master/?referralCode=AAE92286C2D4572406BB"&gt;udemy&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;In this blog post i am going to touch on some of the things you need to know or work with as a developer along your journey. These are my personal. If you are a senior developer, You might have a list of your own or have your own preferences and that is ok. In short, in this article, i am going to briefly go through the building blocks of the web (front end, backend end, networking... and more) and why they are crucial?             &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So with that out of the way let's get started :)&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The Basics of The Web (html + css + javascript)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;APIs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Git &amp;amp; Github&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Databases&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Network Basics&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MVC&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Chrome Dev Tools&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  The Basics of The Web (html + css + javascript)
&lt;/h1&gt;

&lt;p&gt;These are your friends throughout your career as a web developer more like your best friends if not siblings. Almost every website uses them.  Well, maybe a lot of websites use a "Template Engine" Like "jinja, blade,..." or whatever. These template engines are really similar to HTML. Like they all instantiated from it. And if you are not familiar with template engines, they are basically like Html but more dynamic. Backend developers mostly use them to build dynamic backend applications. So HTML is just a markup language nothing dynamic about it, that is why it is not a programming language. CSS is the beauty and magic added to Html to make it great looking. CSS is not just about colors, it is about positioning, styling and animation and a whole a lot more. You can make interactive games with only HTML and CSS. When we take about more interactivity javascript comes to show. Javascript is the language of the browser. Its main function is to make interactive UIs, but it is more than that nowadays. Today you can make anything with it. You create mobile, web, desktop, machine learning apps.&lt;/p&gt;

&lt;h1&gt;
  
  
  APIs (Application Programming Interface)
&lt;/h1&gt;

&lt;p&gt;APIs are extremely important to grasp as a web dev. Even if you are a front end developer you need to know what APIs are, how they work, and why we use them. Here is briefly, what you need to know about them. Think of an "API" as a waiter in a restaurant. You order your food. You get it and you eat it without questioning what are the recipes and the ingredients are or more accurately what is happening in the kitchen. Not quite satisfied with the explanation yet? API stands for an application programming interface. It makes it easy for your application to connect and to talk to another (applications, servers, databases). There are various types of APIs. Your fridge can contain one!!&lt;/p&gt;

&lt;p&gt;Here is a real-world example, let's see you want to build this weather app. Its main function is to show the weather if enter a city in an input, the weather of this city will pop up. So you might ask yourself how am i going to get this weather data? And where?  And if it is changing all the time, how am i going to scale my app to get real-time data? Well, that is the role of an API. It will get you real-time data to include in your app without worrying about anything or coding from scratch. A similar example is &lt;strong&gt;the stock market, bitcoin price and the currencies exchange&lt;/strong&gt; Refer to this post if you know to dig deep.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/vikramchandra" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WS31oVOP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--JIh-TXHk--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/233912/9847578c-20ad-49d4-b153-fb2d5e4cbb59.png" alt="vikramchandra image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/vikramchandra/a-gentle-introduction-to-apis-3p2j" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;A Gentle Introduction to APIs&lt;/h2&gt;
      &lt;h3&gt;Vikram Sharma ・ Mar 15 '20 ・ 6 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#api&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h1&gt;
  
  
  Git &amp;amp; Github
&lt;/h1&gt;

&lt;p&gt;Git is such a handy tool to learn. So what is it? Git is just a command-line tool with more superpowers than your normal boring windows terminal. You can upload, update, version, maintain, and manage your source codes to websites that host them like GitHub. And it is not just Github. There are a lot of websites out there you can host your code with like GitLab (recognized as the best alternatives to GitHub), bitbucket, beanstalk, SourceForge, GitKraken, and AWS CodeCommit. So git is not just related to Github.     &lt;/p&gt;

&lt;h1&gt;
  
  
  Databases
&lt;/h1&gt;

&lt;p&gt;The world operates on data in this age. Data is the virtual gold, so to speak. So a database is any container that contains data. Your phone, your pc, even your shopping list is just another form of a database. Some databases are relational and these called obviously, relational databases like (MYSQL, MS SQL SERVER, IBM, ORACLE, POSTGRESQL)  and some are non-relational like (MONGOBD, FIREBASE,....). They are different in terms of structure, operations, size, and functions. Even if you are a front end dev, i still think some database knowledge is going to be extremely beneficial.   &lt;/p&gt;

&lt;h1&gt;
  
  
  Network Basics
&lt;/h1&gt;

&lt;p&gt;This is a &lt;strong&gt;must&lt;/strong&gt;, especially if you are working on the back end, because you may want to get into to something like DevOps later in your career. You need to know what are IPs, TCP, UDP, DNS, NAT, ROUTERS, and the difference between HTTP and HTTPS. How does the internet work? What happens when type a domain on your search bar? What are ports? If these names and initialisms sound scary to you, it is ok. Everyone has been there. Of course, you do not want to get advanced because this field is huge. It is a whole spectrum. Here is the best post i found on medium.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/better-programming/developers-need-to-learn-basic-network-engineering-c67767969cd5" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--lYwTip0f--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/fit/c/96/96/1%2AIK_iW1cQ1e2AnCf1dOKKEQ%402x.jpeg" alt="Tate Galbraith"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/better-programming/developers-need-to-learn-basic-network-engineering-c67767969cd5" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Developers Need to Learn Basic Network Engineering | by Tate Galbraith | Better Programming | Medium&lt;/h2&gt;
      &lt;h3&gt;Tate Galbraith ・ &lt;time&gt;Feb 9, 2020&lt;/time&gt; ・ 5 min read
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KBvj_QRD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/medium_icon-90d5232a5da2369849f285fa499c8005e750a788fdbf34f5844d5f2201aae736.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;
 

&lt;h1&gt;
  
  
  MVC
&lt;/h1&gt;

&lt;p&gt;MVC stands for Model View Controller. It is used to structure, manage, organize your web app. It is a design pattern. If you are not familiar with the term "design pattern", Think of it as a common solution to frequent problems in software design. You might ask are there any other design patterns? Of course, &lt;strong&gt;Remember it is not code. It is just a way of creating apps. Design patterns are commonly used with OOP languages like (java, c#, PHP,.....).&lt;/strong&gt;Now, what are models, views, and controllers?&lt;/p&gt;

&lt;h5&gt;
  
  
  Models: Deal with the data, database, and migrations so basically the data business.
&lt;/h5&gt;

&lt;h5&gt;
  
  
  Views: handle the interface (HTML + CSS + Javascript) to display the data in a friendly way that a user can deal with easily.
&lt;/h5&gt;

&lt;h5&gt;
  
  
  Controllers: Think of it as a middleware. They tell which data to display in which interface. They process HTTP responses (POST-GET-UPDATE-DELETE). They handle requests and URLs.
&lt;/h5&gt;

&lt;p&gt;Let's wrap up with a simple example: If you want to like this post (which i think you should :) ), you will click the heart button. And what is going to happen is you send a "POST" request through a controller to the server which will increment the number of likes of my post by 1 in the database (MODEL) and the icon will be red (VIEW). And you might ask why the page does not load? Well, because of (AJAX: a javascript related technology that makes asynchronous requests to the page to perform certain actions without refreshing). You do not need to worry about AJAX at least for now. &lt;/p&gt;

&lt;h1&gt;
  
  
  Chrome Dev Tools
&lt;/h1&gt;

&lt;p&gt;You probably like Mozilla, but when it comes to the development you want to use Chrome. Did you know that Chrome is mostly used by developers? Maybe it has its downsides like consuming your rams, but it is still a go-to. What is so great about Chrome is coming with handy tools to speed up the development process, easy debugging, testing the responsiveness of the website and editing (HTML or CSS)on the fly. To open the Chrome Dev Tools press (CTRL+SHIFT+I).&lt;/p&gt;

&lt;p&gt;Here are some tricks.&lt;/p&gt;

&lt;p&gt;Access any file through a project with (CTRL+P).&lt;/p&gt;

&lt;p&gt;Search the source code of the current page with (CTRL+SHIFT+F).&lt;/p&gt;

&lt;p&gt;Add multiple cursors with (CTRL+CLICK).&lt;/p&gt;

&lt;p&gt;Test the responsive design with (CTRL+SHIFT+M).&lt;/p&gt;

&lt;p&gt;And the list goes on and on. Do you want more? Click &lt;a href="https://www.keycdn.com/blog/chrome-devtools"&gt;here&lt;/a&gt;.      &lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;If you reached this far, you should be proud of yourself. Well, this was my reflection on the subject and remember there will be a lot of things you need to learn either you are a junior or a senior dev.&lt;strong&gt;You will always be learning and growing&lt;/strong&gt;. Sorry if this was a bit boring. I hope you have a successful career and thanks for reading :)  &lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>beginners</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Why did you Decide to Learn Programming? </title>
      <dc:creator>Mohamed Hassan</dc:creator>
      <pubDate>Fri, 03 Apr 2020 09:21:21 +0000</pubDate>
      <link>https://forem.com/moha1234566044/why-did-you-decide-to-learn-programming-3im9</link>
      <guid>https://forem.com/moha1234566044/why-did-you-decide-to-learn-programming-3im9</guid>
      <description>&lt;p&gt;Take a break from scrolling down and motivate the newcomers. Why are you learning to code? are you looking for a better job? or you just like solving complex problems? or you are trying to start your own business? or you have fun just by writing code?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Comment down below :)&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Here are my reasons for learning to code.&lt;/p&gt;

&lt;p&gt;1- The dynamic process and how we think as programmers is just innovative.&lt;br&gt;
2- The career opportunities are great.&lt;br&gt;
3- Learning other great skills as you go on your journey as a programmer is really beneficial like analyzing, patience, determination, and sympathy for helping others.   &lt;/p&gt;

</description>
      <category>discuss</category>
      <category>webdev</category>
      <category>beginners</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>SQL: Beyond The Basics </title>
      <dc:creator>Mohamed Hassan</dc:creator>
      <pubDate>Wed, 01 Apr 2020 11:13:52 +0000</pubDate>
      <link>https://forem.com/moha1234566044/sql-beyond-the-basics-36om</link>
      <guid>https://forem.com/moha1234566044/sql-beyond-the-basics-36om</guid>
      <description>&lt;p&gt;I have been learning sql for three weeks now. And i thought why not write a post about some of the advanced stuff i came across. Since &lt;a class="comment-mentioned-user" href="https://dev.to/helenanders26"&gt;@helenanders26&lt;/a&gt;
 covered a lot of things about sql, here are some sql stuff she might not cover. By the way, this is more like a developer sql post, but if you are a data analyst it is beneficial too. Keep reading&lt;/p&gt;

&lt;p&gt;Now obviously, this is not a beginner-friendly post. You have to have some basic knowledge or you will get confused. If you want to start from scratch, then you can check out Helen's series about sql. It is really good. I learned a lot from it.&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/helenanders26" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--fkoi3rh6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--Sj8yEhMA--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/22532/a7383e59-70ad-4141-96b1-19cc6e515599.jpg" alt="helenanders26 image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/helenanders26/sql-series-from-a-to-z-2pk9" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;SQL concepts from A to Z&lt;/h2&gt;
      &lt;h3&gt;Helen Anderson ・ Feb  6 '19 ・ 14 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#data&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#database&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#sql&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#beginners&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;AND let's get right down to it :)&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Table of Contents
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;IN
&lt;/li&gt;
&lt;li&gt;LIMIT&lt;/li&gt;
&lt;li&gt;Having&lt;/li&gt;
&lt;li&gt;Distinct&lt;/li&gt;
&lt;li&gt;Top&lt;/li&gt;
&lt;li&gt;Wild Cards&lt;/li&gt;
&lt;li&gt;Temporary Tables&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  IN
&lt;/h1&gt;

&lt;p&gt;The IN operator basically allows you to test if an expression matches any value on a list. It helps to reduce the need to use multiple OR conditions.&lt;/p&gt;

&lt;p&gt;Here is an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="nx"&gt;IN&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;mohamed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ahmed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;hassan&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  LIMIT
&lt;/h1&gt;

&lt;p&gt;It is used to limit the results based on a certain number. Sometimes you need to limit the results of a query. A great example of this, if you go to my profile, you will see 8 comments with &lt;em&gt;view all 17 comments&lt;/em&gt;. This means the query results are limited to 8.&lt;/p&gt;

&lt;p&gt;Here is an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customersLIMIT&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Having
&lt;/h1&gt;

&lt;p&gt;It applies conditions on groups of results to filter them, but why not use "WHERE"? Well, "WHERE" places conditions on the selected columns meanwhile "HAVING" places conditions on the groups created by the "GROUP BY" clause.&lt;br&gt;
The "HAVING" clause must follow the "GROUP BY" clause, but precede the "ORDER BY" clause.  &lt;/p&gt;

&lt;p&gt;In this example, The SQL HAVING clause will filter the results so that only departments with sales greater than $1000 will be returned.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="nx"&gt;department&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sales&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;AS&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Total sales&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;order_details&lt;/span&gt;
&lt;span class="nx"&gt;GROUP&lt;/span&gt; &lt;span class="nx"&gt;BY&lt;/span&gt; &lt;span class="nx"&gt;department&lt;/span&gt;
&lt;span class="nx"&gt;HAVING&lt;/span&gt; &lt;span class="nx"&gt;SUM&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sales&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1000&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Distinct
&lt;/h1&gt;

&lt;p&gt;Sometimes you need to get the records without the duplicate ones. Well, that is when distinct comes to show. I would say it is mostly used on columns.&lt;/p&gt;

&lt;p&gt;Here is an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="nx"&gt;DISTINCT&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Top
&lt;/h1&gt;

&lt;p&gt;It is used to limit the data based on a certain number. It gets the records starting from the first row. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Top works only on SQL SERVER and MS ACCESS. It does not work on MYSQL IBM, ..... etc. You can use limit though on these databases. And that is one of the main differences between Limit and Top. &lt;/p&gt;

&lt;p&gt;Here is an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="nx"&gt;TOP&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;phone&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Wild Cards
&lt;/h1&gt;

&lt;p&gt;A wild card is basically a way of searching through strings for characters. Wild cards use the "LIKE" operator. Most known and used wild cards are "%" and "_". If you are a programmer you are probably familiar with regular expressions and these wild cards work like them. Here is briefly how they work.&lt;/p&gt;

&lt;p&gt;"%": represents zero or more than one character.&lt;/p&gt;

&lt;p&gt;"_": represents only one character.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you do not know what the heck i am talking about here, relax this is normal. These examples will clear any confusion.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  "%"
&lt;/h2&gt;

&lt;p&gt;In the example below, we are telling sql to get the data from the table "customer" where the column "name" records start with the letter "m" and continue with any characters.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="nx"&gt;LIKE&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;m%&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;here is another example. Here we are basically telling sql to get the records from the column "name" that ends with the letters "ud" and can start with any characters.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="nx"&gt;LIKE&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;%ud&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  "_"
&lt;/h2&gt;

&lt;p&gt;As i said the "_" will represent one character.&lt;/p&gt;

&lt;p&gt;The query below will get the data that starts by any character followed by the pattern "_ohamed".&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="nx"&gt;LIKE&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;_ohamed&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Another example &lt;/p&gt;

&lt;p&gt;So we are telling sql here to get any result from the column name that starts with the pattern "ahme" and ends with any character.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt; &lt;span class="nx"&gt;LIKE&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;ahme_&lt;/span&gt;&lt;span class="dl"&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, of course, we can combine the two of them to get more advanced.&lt;/p&gt;

&lt;p&gt;This one is a little tricky. We are telling sql to get the data from the column email which starts with any number of characters and ends with only one character after "o". As you may have guessed this will retrieve any ".com" email.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;SELECT&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;FROM&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; &lt;span class="nx"&gt;WHERE&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt; &lt;span class="nx"&gt;LIKE&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;%.co_&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;  
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Temporary Tables
&lt;/h1&gt;

&lt;p&gt;A lot of RDBMs support temp tables which are nothing but tables to process data like performing insert, update, delete and joins. Sometimes you need to store data in them for some cases. The most important thing to keep in mind about temp tables that as the client finishes the session they are destroyed. &lt;/p&gt;

&lt;p&gt;Here is an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;CREATE&lt;/span&gt; &lt;span class="nx"&gt;TEMPORARY&lt;/span&gt; &lt;span class="nx"&gt;TABLE&lt;/span&gt; &lt;span class="nx"&gt;temp_customers&lt;/span&gt;

&lt;span class="k"&gt;as&lt;/span&gt;
&lt;span class="nx"&gt;select&lt;/span&gt; &lt;span class="nx"&gt;distinct&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;phone&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;email&lt;/span&gt;
&lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="nx"&gt;customers&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also drop a temp table as shown.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;DROP&lt;/span&gt; &lt;span class="nx"&gt;TABLE&lt;/span&gt; &lt;span class="nx"&gt;temp_customers&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Conclsuion
&lt;/h1&gt;

&lt;p&gt;Up to this point, i am out of thoughts and words to pitch. If you have something you want to share with me, feel free to comment down below. And thanks for reading :)&lt;/p&gt;

</description>
      <category>sql</category>
      <category>database</category>
      <category>webdev</category>
      <category>mysql</category>
    </item>
    <item>
      <title>Massive Resources For Every PHP Developer To Bookmark  </title>
      <dc:creator>Mohamed Hassan</dc:creator>
      <pubDate>Tue, 24 Mar 2020 09:10:44 +0000</pubDate>
      <link>https://forem.com/moha1234566044/massive-resources-for-every-php-developer-to-bookmark-om2</link>
      <guid>https://forem.com/moha1234566044/massive-resources-for-every-php-developer-to-bookmark-om2</guid>
      <description>&lt;p&gt;If you are a php dev then keep reading till the end of the post. I got a lot of good stuff for you. And if you hate php, it is not going to hurt you to keep reading. Consider reading for a future reference. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I have written short descriptions on every section to not bore you out. All i want is you getting to the end of the post to get the whole resources&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And to the point :)&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  1-KillerPHP
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="//killerphp.com"&gt;killerphp.com&lt;/a&gt;&lt;br&gt;
One of the most insightful websites when it comes to php and web development in general. It contains blogs, videos, short tutorials... etc. It has been around since 2010 now, So give it a try.&lt;/p&gt;

&lt;h1&gt;
  
  
  2-NomadPHP
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="//nomadphp.com"&gt;nomadphp.com&lt;/a&gt;&lt;br&gt;
Every php developer's recourse when it comes to conferences, workshops, and talks. It has hundreds of written tutorials about php development, best practices and so on.&lt;/p&gt;

&lt;h1&gt;
  
  
  3-PHPtpoint
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="//phptpoint.com"&gt;phptpoint.com&lt;/a&gt;&lt;br&gt;
An unrated huge source of knowledge about php, oop, and advanced php stuff.&lt;/p&gt;

&lt;h1&gt;
  
  
  4-dna88.com
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="http://www.dna88.com/ultimate-list-of-php-web-development-tools-resources/"&gt;dna88.com&lt;/a&gt;&lt;br&gt;
The domain sounds weird, I know, but the website is unbelievable. It contains everything you need. &lt;strong&gt;I mean literally EVERYTHING&lt;/strong&gt; (Frameworks, Routers, HTTP, Template, Imagery, Testing, Docs, Security, Recommendations for books) and the list goes on and on.&lt;/p&gt;

&lt;h1&gt;
  
  
  5-PHP the right way
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="//phptherightway.com"&gt;phptherightway.com&lt;/a&gt;&lt;br&gt;
It is the best documentation out there, maybe better than the official. All the stuff you need to start with is there.&lt;/p&gt;

&lt;h1&gt;
  
  
  6-PHPpot
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="//phppot.com"&gt;phppot.com&lt;/a&gt;&lt;br&gt;
It is really great for beginners. It helps them to create projects to train themselves with real-world source codes. It contains a ton of projects and most importantly, it is free of charge.&lt;/p&gt;

&lt;h1&gt;
  
  
  7-PHPclasses
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="//phpclasses.org"&gt;phpclasses.org&lt;/a&gt;&lt;br&gt;
There is no php dev that does not know about this website. It is big on scripts, written tutorials, jobs, even book reviews.   &lt;/p&gt;

&lt;h1&gt;
  
  
  8-phparch
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="//phparch.com"&gt;phparch.com&lt;/a&gt;&lt;br&gt;
A whole magazine for php devs. Also great for book reviews, talks, and tutorials.&lt;/p&gt;

&lt;h1&gt;
  
  
  9-PHPflow
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="//phpflow.com"&gt;phpflow.com&lt;/a&gt;&lt;br&gt;
One of my favorite recourses. More and more blogs, tutorials and source codes. It is also great for MySQL, jquery and angular.&lt;/p&gt;

&lt;h1&gt;
  
  
  10-phpclicks
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="//phpclicks.com"&gt;phpclicks.com&lt;/a&gt;&lt;br&gt;
It has a variety of advanced yet interactive content about php, mysql, jquery, and wordpress.&lt;/p&gt;

&lt;h1&gt;
  
  
  11-packagist.org
&lt;/h1&gt;

&lt;p&gt;LINK: &lt;a href="//packagist.org"&gt;packagist.org&lt;/a&gt;&lt;br&gt;
Every php developer's recourse of packages. It contains everything you need to know about opensource composer packages. The website is integrated well to github to ease the process of creating and publishing new packages.&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;These just are my personal favorite resources. Have anything to share with me? Feel free to comment down below. &lt;strong&gt;Thanks for reading :)&lt;/strong&gt; &lt;/p&gt;

</description>
      <category>php</category>
      <category>webdev</category>
      <category>codenewbie</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Thoughts on Programming Controversial Topics </title>
      <dc:creator>Mohamed Hassan</dc:creator>
      <pubDate>Tue, 17 Mar 2020 16:11:41 +0000</pubDate>
      <link>https://forem.com/moha1234566044/busting-out-programming-annoying-controversial-topics-5he6</link>
      <guid>https://forem.com/moha1234566044/busting-out-programming-annoying-controversial-topics-5he6</guid>
      <description>&lt;p&gt;Now, since you clicked the thumbnail, get ready for some serious talk. In this blog post, I am going to pitch out my thoughts about some programming irritating topics, so without any further ado let's get started :).&lt;/p&gt;

&lt;h2&gt;
  
  
  Table of Contents
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;imposter syndrome &lt;/li&gt;
&lt;li&gt;the tutorial hell&lt;/li&gt;
&lt;li&gt;doubting yourself&lt;/li&gt;
&lt;li&gt;trying to keep up with trendy tools &lt;/li&gt;
&lt;li&gt;comparing yourself to other developers&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Imposter syndrome
&lt;/h1&gt;

&lt;p&gt;This is one of the most controversial topics ever. And with a straight face,&lt;strong&gt;you are going to get it&lt;/strong&gt;. Everyone gets it. It is really common, especially between engineers. If you are not familiar with the term, &lt;strong&gt;Imposter syndrome: is feeling like all your achievements and successes are nothing but luck and you do not fit in your current position&lt;/strong&gt; so, nothing you can not do about it. And it is ok. Believe me, it is fine. All you have to do is &lt;strong&gt;to face it&lt;/strong&gt;, by accepting yourself and admitting your fears. If you are in this state right now, Just let it out to a coworker and you will be surprised with the response.&lt;/p&gt;

&lt;h1&gt;
  
  
  The tutorial Hell
&lt;/h1&gt;

&lt;p&gt;Oh, this is my favorite, because I have been there. Yess, and it was like being in a cell with Hannibal Lecter. If you are not familiar with it. it is basically finding yourself going through a lot of coding tutorials without any value. You just gaining information without making any real progress and forgetting the information quickly. so, what is the solution? It is easy as this start creating a project a small one. Let's say you are learning react, try to build a todolist. If you think it is kind of big, break it down to small chunks, like displaying the input and the button to the user and so in. &lt;strong&gt;Do not be afraid to make mistakes because you will. Actually, you will make a lot of them&lt;/strong&gt;. And that what makes a programmer. If you still afraid of creating something from scratch, you can download a project and tweak it till you get the hang of it. For more info about problem solving &lt;a href="https://dev.to/moha1234566044/how-to-think-like-a-programmer-3bmd"&gt;here&lt;/a&gt; is a complete post.&lt;/p&gt;

&lt;h1&gt;
  
  
  Doubting yourself
&lt;/h1&gt;

&lt;p&gt;As i said earlier, you are going to make a lot of mistakes. So, if you are finding yourself getting all tense and you can not fit in the world of programming. believe me, you are not alone. I can not tell you how many times i felt like that. Just be persistent and determined.&lt;/p&gt;

&lt;h1&gt;
  
  
  Trying to keep up with trendy tools
&lt;/h1&gt;

&lt;p&gt;When trying to learn programming, a lot of noisy pops here and there will spam you. Like you are learning a certain technology let's say you are learning vue and then you hear that react is hot now and so you move to react and so on. This is completely pointless. It will get you nowhere. Well, now that i think of it maybe, it will get you in the tutorial hell :). All you have to do is to just stick to your tool and learn it till you get a good grasp, maybe create some projects. And then learn whatever you want to learn next.&lt;/p&gt;

&lt;h1&gt;
  
  
  Comparing yourself to other developers
&lt;/h1&gt;

&lt;p&gt;This is huge. It seems like it is everywhere. If you are finding yourself doing this, Just cut it down immediately. And you might say it is not that easy. And you know what you are right, but get this &lt;strong&gt;how on earth you want to compare yourself to someone who has been in the industry for like 10 or 15 years and you are like 1 or two years it is pointless is not it?&lt;/strong&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion
&lt;/h1&gt;

&lt;p&gt;At the end of the post, that was my take on the subjects. Have any thoughts? feel free to comment down below. If you liked the post, &lt;strong&gt;follow me&lt;/strong&gt;. I might write a follow up. &lt;strong&gt;Sorry if you are offended by the high tonality&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PEACE OUT :)&lt;/strong&gt; &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>mentalhealth</category>
      <category>webdev</category>
    </item>
    <item>
      <title>what are some great resources to learn advanced SQL?</title>
      <dc:creator>Mohamed Hassan</dc:creator>
      <pubDate>Mon, 16 Mar 2020 09:37:19 +0000</pubDate>
      <link>https://forem.com/moha1234566044/what-are-some-great-resources-to-learn-advanced-sql-2ij1</link>
      <guid>https://forem.com/moha1234566044/what-are-some-great-resources-to-learn-advanced-sql-2ij1</guid>
      <description>&lt;p&gt;I am thinking of learning more about sql. I already have some basic knowledge, so if you have some recourse, feel free to share them down below. ** I prefer written tutorials and websites** &lt;br&gt;
Thanks :) &lt;/p&gt;

</description>
      <category>discuss</category>
      <category>sql</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How To Think Like a Programmer </title>
      <dc:creator>Mohamed Hassan</dc:creator>
      <pubDate>Tue, 10 Mar 2020 14:45:13 +0000</pubDate>
      <link>https://forem.com/moha1234566044/how-to-think-like-a-programmer-3bmd</link>
      <guid>https://forem.com/moha1234566044/how-to-think-like-a-programmer-3bmd</guid>
      <description>&lt;p&gt;It is my first blog ever so, you are going to get easy on me, are not you? :)&lt;/p&gt;

&lt;p&gt;This is a beginner-friendly explanation on how to deal with problem solving and fixing bugs as you go on your journey as a programmer.&lt;/p&gt;

&lt;h1&gt;
  
  
  let's get right down to it
&lt;/h1&gt;

&lt;p&gt;our subheadings &lt;/p&gt;

&lt;p&gt;1-try to understand the problem first &lt;br&gt;
2-think in terms of booleans&lt;br&gt;
3-enjoy the process&lt;br&gt;
4-try pseudo code &lt;br&gt;
5-strive to put everything in its simplest terms&lt;br&gt;
6-Never give up&lt;/p&gt;

&lt;h2&gt;
  
  
  1-Try to understand the problem first
&lt;/h2&gt;

&lt;p&gt;Why did the code break? This is might be the first question that comes to mind. well, buddy, there are types of errors syntax errors, and they are simple and easy because obviously, it depends on the syntax. The other ones are "logical error" and you want to stop and analyze your thought process. remember when you actually coding you are not debugging the code you are debugging your &lt;em&gt;brain&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I am going to leave you with one of Einstein's best quotes &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I Would Spend 55 Minutes Defining the Problem and then Five Minutes Solving It &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  2-Think in terms of booleans
&lt;/h2&gt;

&lt;p&gt;There are no shortcuts when it comes to coding if you want to code a program that does XYZ you have to tell the program through code how to do XYZ. Computers are really stupid, you have to explain everything to them to get the job done.&lt;br&gt;
so, think of everything like this "true or false", "on or off", "black or white",  "if-else" nothing is gray when it comes to coding.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If it starts to rain, I will open the unparallel.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;If the user does not fill out the name input, I will display a message "name required".&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Two very different examples, but HEY!! the concept is there.
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;A wife asks her programmer husband to go to the grocery store. She tells him to get a gallon of milk, and, &lt;strong&gt;if they have eggs, to get a dozen.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When he got back, he had 12 gallons of milk.  When she asked why he said&lt;/p&gt;

&lt;p&gt;They had eggs.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;that might sound funny, but it demonstrates the way we think as programmers&lt;/p&gt;

&lt;h2&gt;
  
  
  3-Enjoy the process of coding
&lt;/h2&gt;

&lt;p&gt;I am going put it this way as plain, simple, explicit as ever coding is hard&lt;br&gt;
and you are going to deal with a lot of problems and that is ok. All you want to do about it is not stressing out, but enjoying the process of making and creating stuff. if you are not going through problems then you are not actually coding&lt;br&gt;
&lt;strong&gt;be comfortable with being uncomfortable.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4-Try pseudo code
&lt;/h2&gt;

&lt;p&gt;If you are going through a tough time coding, you can try this. if you are not familiar with it &lt;strong&gt;pseudo code is basically writing steps on paper as plain English to solve a certain problem&lt;/strong&gt;. It works well if your planning database schemes. &lt;/p&gt;

&lt;h2&gt;
  
  
  5-strive to put everything in its simplest terms
&lt;/h2&gt;

&lt;p&gt;Define every variable. It is really easy to make things complicated when coding.&lt;br&gt;
you may want to look at some programming acronyms &lt;strong&gt;concepts&lt;/strong&gt;:)&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;KISS: keep it simple stupid &lt;strong&gt;do not make something complex just to make it complex&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
DRY: do not repeat yourself &lt;strong&gt;one line can do it&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;YAGNI: you are not going to need it &lt;strong&gt;you should implement what you actually need&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  6-Never give up
&lt;/h2&gt;

&lt;p&gt;Sounds cliché? yeah, but quite true. constantly, test your thought process. No answer yet? google it No answer yet? reach out to a fellow developer       &lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Just do it. As you go, you will find yourself getting familiar with the error messages.that is it. excuse my awful writing skills.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HAPPY CODING :)&lt;/strong&gt;  &lt;/p&gt;

</description>
      <category>career</category>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
