<?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: Ana María Díaz </title>
    <description>The latest articles on Forem by Ana María Díaz  (@anamdiazs).</description>
    <link>https://forem.com/anamdiazs</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%2F508198%2F5e7c517b-0ab0-4092-b4ee-933bbe90388b.jpeg</url>
      <title>Forem: Ana María Díaz </title>
      <link>https://forem.com/anamdiazs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/anamdiazs"/>
    <language>en</language>
    <item>
      <title>What I learned during September 05-09 Week</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 13 Sep 2022 02:44:23 +0000</pubDate>
      <link>https://forem.com/anamdiazs/what-i-learned-during-september-05-09-week-527k</link>
      <guid>https://forem.com/anamdiazs/what-i-learned-during-september-05-09-week-527k</guid>
      <description>&lt;p&gt;During this week I started to develop a full-stack application built with JavaScript : React  JS for the Frontend and Java Spring-boot for the Backend. &lt;br&gt;
I’ve learned a lot about how things work with Spring, the project is more structured and complex than Express and Node js technologies. The way Spring handle services, controllers and building API’s is secure and complete. &lt;br&gt;
On the other side connecting the backend server to React js help me to understand how things are connected and depend on each other. The main task was to build a CRUD as a To-Do list, this project help me to learn a lot and implementing it with two different technologies was a good idea. &lt;br&gt;
While I was working on the UI, React made things so much easier because as a component based library allowed me to recycle components that appeared more than one time at the interface. Also I passed the data on props to make everything dynamic. Working on the Backend building my endpoints with Spring was kind of difficult because returning status code responses isn’t as easy as returning it on Node js. &lt;/p&gt;

&lt;p&gt;I want to learn more about the Spring Framework and I’ll finish my To-Do app to practice my knowledge.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>java</category>
    </item>
    <item>
      <title>What I've learned during August 22-26 Week and 29-02 September Week</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 06 Sep 2022 04:58:05 +0000</pubDate>
      <link>https://forem.com/anamdiazs/what-ive-learned-during-august-22-26-week-and-29-02-september-week-4laa</link>
      <guid>https://forem.com/anamdiazs/what-ive-learned-during-august-22-26-week-and-29-02-september-week-4laa</guid>
      <description>&lt;p&gt;During this two weeks I've been learning a lot about Java more specifically about collections, Spring and Spring-boot framework. &lt;/p&gt;

&lt;h2&gt;
  
  
  What are colllections in Java?
&lt;/h2&gt;

&lt;p&gt;A collection is defined as a group of individual objects which are represented as a single unit is known as the collection of the objects. In Java, collections are a framework that includes data structures and methods using them will help us to  reduce effort on designing and implementing it. &lt;/p&gt;

&lt;h2&gt;
  
  
  Types of collections
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;List: ArrayList, LinkedList, Vector, Stack.&lt;/li&gt;
&lt;li&gt;Map: HashMap and TreeMap&lt;/li&gt;
&lt;li&gt;Set: HashSet and LinkedHashSet&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is Spring?
&lt;/h2&gt;

&lt;p&gt;Spring is the most popular java framework and allows us to build scalable projects faster and easier. Some of the spring applications are: build microservices, create web apps and serverless applications. &lt;br&gt;
It's friendly and easy to learn. &lt;/p&gt;

&lt;p&gt;Some advantages of using Spring are: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Predefined Templates&lt;/li&gt;
&lt;li&gt;Easy to test&lt;/li&gt;
&lt;li&gt;Lightweight&lt;/li&gt;
&lt;li&gt;Declarative Support &lt;/li&gt;
&lt;li&gt;Fast development &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that we have the knowledge of how Spring works let's take a look to Spring-boot &lt;/p&gt;

&lt;h2&gt;
  
  
  Spring-boot and Java
&lt;/h2&gt;

&lt;p&gt;Spring-boot is a tool that simplifies the development of web applications and microservices. It offers a dependency injection that allows us to define our own dependencies in objects. It also works as MVC (Model View COntroller) and makes easier integration with other technologies like React js. &lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>java</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Blogpost What I learned during August 15-19 Week</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 23 Aug 2022 03:58:46 +0000</pubDate>
      <link>https://forem.com/anamdiazs/blogpost-what-i-learned-during-august-15-19-week-25m</link>
      <guid>https://forem.com/anamdiazs/blogpost-what-i-learned-during-august-15-19-week-25m</guid>
      <description>&lt;p&gt;During this week I’ve been focused on learning Java Fundamentals, many Full-stack job opportunities are based on React for working with the Frontend and Java for the Backend. It’s important to have the knowledge of both languages to build a better profile. &lt;/p&gt;

&lt;p&gt;I’ve been working on the Java fundamentals training and been practicing some topics one of the most important ones is to understand the project structure, how classes works, packages and methods. Java is an OOP language this allows us to recycle a lot of code when we are working with similar things ore features. On the other side we have Javascript as an event oriented language it allows us to have a better knowledge of the user requirements. When we are using JavaScript we can include React Js as a UI Library and this will help us to build faster UIs. &lt;/p&gt;

&lt;p&gt;On this week I’ll continue working on the React Js Training to understand more how Redux works and what are the differences with the useContext hook, also I’ll be practicing builiding APIS with Java and get to know Spring.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>career</category>
      <category>javascript</category>
      <category>java</category>
    </item>
    <item>
      <title>React + Redux the perfect combo</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 16 Aug 2022 03:26:30 +0000</pubDate>
      <link>https://forem.com/anamdiazs/react-redux-the-perfect-combo-b8b</link>
      <guid>https://forem.com/anamdiazs/react-redux-the-perfect-combo-b8b</guid>
      <description>&lt;p&gt;During this week I started to learn more about how React js works at low level, including how it manage the state. Redux is a state management library that will help us to store and manage all the application states. &lt;br&gt;
It also provides some APIs using which we can make changes to the existing state as weel as fetch the current state of the application.&lt;/p&gt;

&lt;h3&gt;
  
  
  How does Redux works?
&lt;/h3&gt;

&lt;p&gt;There’s something called Redux store this is the main central bucket which stores all the states of an application. The store has to be provided to the App.js wrapping it with a provider tag, with this all its children can access the state of the application from store allowing it to act as a global state. &lt;/p&gt;

&lt;p&gt;Actions inside Redux must have at least a type associated with it and extra details is optional depending on the type of action. &lt;/p&gt;

&lt;p&gt;Reducers inside Redux are uses to specify how the state three is transformed by actions, taking 2 things: Previous State and an action. Then they reduce it to one entity known as the new updated instance of state. &lt;/p&gt;

&lt;p&gt;Understanding Redux is complex, on the next weeks I’ll be completely focused on learning more about this library.&lt;/p&gt;

</description>
      <category>react</category>
      <category>redux</category>
      <category>javascript</category>
    </item>
    <item>
      <title>Interview preparation month</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Wed, 03 Aug 2022 05:07:35 +0000</pubDate>
      <link>https://forem.com/anamdiazs/interview-preparation-month-1d78</link>
      <guid>https://forem.com/anamdiazs/interview-preparation-month-1d78</guid>
      <description>&lt;p&gt;This week , I been preparing for my technical interview it’s been hard because at this phase we need to focus on how to solve problems and also implement that solution including optimization with time complexity. I’ve been learning a lot of Big O Notation and TDD&lt;/p&gt;

&lt;h2&gt;
  
  
  About Big O notation
&lt;/h2&gt;

&lt;p&gt;Big O notation is a mathematical notation used to classify the complexity of  your algorithm. This complexity includes the running time and the space that allocates in memory, O(1) has the least complexity let’s say that you’re working with a sort algorithm and you get constant complexity this algorithms is very optimized. Otherwise if you got a O(2^n) your algorithm is horrible optimized. As developers it is important to have knowledge of Big O Notation  to implement on code an optimized solution. &lt;/p&gt;

&lt;h2&gt;
  
  
  Test Driven Development
&lt;/h2&gt;

&lt;p&gt;TDD (Test driven development) is a style of programming  following three main activities: coding, testing and design it specifies and validate how code should works and what will do . In this case when we’re talking about the testing part we refer to unit testing and at design includes refactoring elements.&lt;/p&gt;

&lt;h3&gt;
  
  
  Unit testing vs Integration testing
&lt;/h3&gt;

&lt;p&gt;Unit testing is a method in which a single component of code is tested, including the expected behavior and taking on mind the edge cases. The purpose of unit testing is validate if the unit works correctly this type of testing is considered the first level of sofware testing&lt;/p&gt;

&lt;p&gt;Integration testing, on the other hand, is a method in which a group of units are tested in a group in this case normally components depend on other components and both work together. Integration testing is  used to check the functionality, performance and expected behavior of the system.&lt;/p&gt;

&lt;p&gt;On the next weeks I’ll continue working on solving hacker rank challenges and practicing some CS fundamentals in order to be prepared for my technical interview.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>algorithms</category>
    </item>
    <item>
      <title>What I learned this Week 18-22 July</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 26 Jul 2022 03:13:36 +0000</pubDate>
      <link>https://forem.com/anamdiazs/what-i-learned-this-week-18-22-july-1kij</link>
      <guid>https://forem.com/anamdiazs/what-i-learned-this-week-18-22-july-1kij</guid>
      <description>&lt;p&gt;During this week I focused on practicing for my performance interview and the first interviewmania round. Both interviews were theoric and about CS fundamentals, I learned a lot about things you need to take care of when you are being interviewed and also when you’re the interviewer. &lt;/p&gt;

&lt;p&gt;The most important thing to take care of is not being nervous, because if you feel this way it can be a blocker, you can get confused and forget about the concepts. Also the interviewer can notice that you don’t know what are you talking about. Always focus on giving an example of what are you explaining and how and where you can implement that concept. &lt;/p&gt;

&lt;p&gt;As an interviewer it is important to make clear questions and also have all the concepts clear, in case you need to give a hand to the person you’re interviewing. &lt;/p&gt;

&lt;p&gt;This week, I’ll focus on improving my explanations about some concepts and practicing algorithms and data structures a lot because there’s always a technical interview. Also I’ll be learning more about OOP.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>discuss</category>
      <category>career</category>
    </item>
    <item>
      <title>How to prepare for your first tech interview?</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 19 Jul 2022 04:14:31 +0000</pubDate>
      <link>https://forem.com/anamdiazs/how-to-prepare-for-your-first-tech-interview-4191</link>
      <guid>https://forem.com/anamdiazs/how-to-prepare-for-your-first-tech-interview-4191</guid>
      <description>&lt;p&gt;In tech industry a requirement to get a job is to pass successfully the tech interview, there are many guides outside but  based on my persona l experience  I’m gonna give you some advices. &lt;/p&gt;

&lt;h3&gt;
  
  
  Get back to fundamentals
&lt;/h3&gt;

&lt;p&gt;Sometimes, when we’re preparing for a tech interview we only focus on algorithms and data structures and coding challenges but we don’t practice the theory. It is also important to focus on practicing CS fundamentals here’s a list of topics that I’ve been studying for my interview:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Object Oriented Programming&lt;/li&gt;
&lt;li&gt;Software Engineering&lt;/li&gt;
&lt;li&gt;Programing paradigms&lt;/li&gt;
&lt;li&gt;Testing&lt;/li&gt;
&lt;li&gt;Sorting algorithms&lt;/li&gt;
&lt;li&gt;Optimization&lt;/li&gt;
&lt;li&gt;Big O Notation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course there are a lot of subtopics inside that topics, for example: Polymorphism, Abstraction, Encapsulation and Inheritance are related to OOP. &lt;/p&gt;

&lt;h3&gt;
  
  
  Practicing the for the coding challenge
&lt;/h3&gt;

&lt;p&gt;There are many sites where you can study algorithms and data structures for free including video tutorials explaining more specifically how it works. This week I’ve been practicing arrays and strings on Hackerrank. Also Leetcode have a lot of problems and you can filter them by the most popular ones. &lt;br&gt;
I’ll recommend you to solve at least 20-30 problems from different difficulty and data structures to crack the coding interview. &lt;br&gt;
Books: Cracking the coding interview is like the bible of technical challenges, it explains a lot of topics and it’s  going to be your best friend for practicing exercises for the coding challenge. &lt;/p&gt;

&lt;p&gt;Always try to practice with someone mocking interviews and relax, rest enough days before your interview. This point is very important because sometimes being nervous can be a big blocker. On the next weeks I’m going to be practicing more for my technical interviews.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>programming</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Open Source projects that I’ve been contributing</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 12 Jul 2022 03:10:13 +0000</pubDate>
      <link>https://forem.com/anamdiazs/open-source-projects-that-ive-been-contributing-2fbg</link>
      <guid>https://forem.com/anamdiazs/open-source-projects-that-ive-been-contributing-2fbg</guid>
      <description>&lt;p&gt;On the last two weeks I’ve learned a lot about contributing in open source projects.&lt;br&gt;
Two of the projects that I’ve been contributing is the largest UI library and Fig an autocomplete extension used for terminal. &lt;/p&gt;

&lt;h3&gt;
  
  
  Material UI Library (MUI)
&lt;/h3&gt;

&lt;p&gt;As an open source project Material UI, recently developed their new version Material UI 5, they include a lot of new features but also currently have a lot of bugs specially related to Typescript. One of the bugs I’ve tried to solve is related to customize FormHelperTextProps component, on this issue I’ve been learning a lot of how Customization works on Material UI components and Typescript, still haven’t found the solution but I think is related to a type. After reading a lot of similar issues and documentation I have  a better idea of what’s going on, hope I’ll fix it soon.&lt;/p&gt;

&lt;h3&gt;
  
  
  Fig MacOS terminal extension
&lt;/h3&gt;

&lt;p&gt;Fig is an open source extension developed to autocomplete cli commands, currently it supports Git, Npm, Yarn, Brew, Docker, etc. I’ve been working with this extensions for 4 months and it helps me a lot. The last project I’ve worked on used Java and while I was using Fig I noticed that it doesn’t support Spring, so I decided to start working on the Spring CLI autocomplete.&lt;/p&gt;

&lt;p&gt;It’s hard to contribute on open source projects, specially when you don’t take your time to understand the issue.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>devjournal</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Using open source libraries/frameworks with Real Clients.</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 05 Jul 2022 02:45:55 +0000</pubDate>
      <link>https://forem.com/anamdiazs/using-open-source-librariesframeworks-with-real-clients-2n8a</link>
      <guid>https://forem.com/anamdiazs/using-open-source-librariesframeworks-with-real-clients-2n8a</guid>
      <description>&lt;p&gt;On the previous weeks we’ve been working on a project developed for a real client, one of the most important things that I’ve learned on my first experience with a client was time management. On this project we worked with React js which is an open source library as  Material UI. &lt;/p&gt;

&lt;h3&gt;
  
  
  Challenges when you contribute to an Open source project
&lt;/h3&gt;

&lt;p&gt;The first time I tried to contribute to an open source project I didn’t know they have guidelines, there you can find how to start contributing. Open source projects are managed by big communities, but there’s also people who works full time as open source contributor this people usually are the ones who approve the pull requests. &lt;/p&gt;

&lt;p&gt;Normally you have to look at the open issues, try to reproduce it on your computer and start working on a solution. But also you have to communicate on the github thread issue that you are currently working on a solution or that you’re interested on solving it. This is how you’re going to be assigned to that issue, and let everyone know that you’re currently solving it. &lt;/p&gt;

&lt;p&gt;In case you decided to skip the thread conversation, what can happen is that anyone else solve it first and then you found out that the issue is closed. That’s why it is important to have communication when you’re working on a open source project. &lt;/p&gt;

&lt;p&gt;On this week, I’ll be working on open source projects and learning more about solving issues, develop new features. This week I decided to start solving a Material UI issue related to style component and margins I’ll update you if I find a solution.&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vAdC_Fma--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o1ygeaxjncryxayoy8p7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vAdC_Fma--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o1ygeaxjncryxayoy8p7.png" alt="Image description" width="500" height="466"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>react</category>
      <category>programming</category>
      <category>career</category>
    </item>
    <item>
      <title>Real Users, Real clients and MVP project development.</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 28 Jun 2022 04:42:13 +0000</pubDate>
      <link>https://forem.com/anamdiazs/real-users-real-clients-and-mvp-project-development-58f4</link>
      <guid>https://forem.com/anamdiazs/real-users-real-clients-and-mvp-project-development-58f4</guid>
      <description>&lt;p&gt;The most important thing I learned about this phase is how important is to have a good communication, teamwork and time management. &lt;/p&gt;

&lt;h3&gt;
  
  
  The role of communication when building a project
&lt;/h3&gt;

&lt;p&gt;When I started working on my first project that includes a real client we scheduled a weekly meeting to show a demo of what we’ve been working on the week. We started asking questions and the client ask us for more features, on our firsts times we can get scared and started saying yes to all.&lt;/p&gt;

&lt;p&gt;But it is important to identify how many time we have and how to manage it, as developers we now that a bug can takes us hours to solve. But working on teams show me that it’s important to communicate, talk about  the progress of the tasks, identify any blockers and ask for help. &lt;/p&gt;

&lt;h3&gt;
  
  
  What it’s possible and what isn’t
&lt;/h3&gt;

&lt;p&gt;From the beginning of the project we knew that all has to be done in 4 weeks, set goals and deadlines is going to help us identify what tasks are possible to achieve and which not. &lt;/p&gt;

&lt;p&gt;When we are working with a client knowing that our project is going to be used by real users we have to discuss about deliverables and negotiate deadlines in order to build a good project.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Building V 1.0 of our project and making the deploy.</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 28 Jun 2022 04:23:33 +0000</pubDate>
      <link>https://forem.com/anamdiazs/building-v-10-of-our-project-and-making-the-deploy-ae0</link>
      <guid>https://forem.com/anamdiazs/building-v-10-of-our-project-and-making-the-deploy-ae0</guid>
      <description>&lt;p&gt;On the previous weeks we’ve been working on building a project from scratch in 4 weeks implementing agile methodologies and working with weekly sprints. In this week we’re going to be working on the deployment and de V 1.0 of the project. &lt;/p&gt;

&lt;p&gt;What we need to know is that the first version of a project also known as MVP is designed to be working with the basic features and it’s not designed to be implemented in real life there are many filters to pass by before using it on real life. &lt;/p&gt;

&lt;h2&gt;
  
  
  What is a deployment?
&lt;/h2&gt;

&lt;p&gt;When setting up a project you will always have your live project, which is called the development environment or production environment. The deploy is a version of our project build for production refers to the process of running our application on a server or a device. &lt;/p&gt;

&lt;p&gt;Before we work on making a deploy we need to test and verify if the project is functional and check if  has no errors.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free sites to deploy our app
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.heroku.com/"&gt;Heroku&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Heroku is a cloud application platform that supports most programming languages, including the likes of Go, Node.js, Clojure, and more.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://vercel.com/"&gt;Vercel&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Vercel is a revolutionary serverless deployment service designed for React, Angular, Vue, and other JavaScript libraries.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.netlify.com/"&gt;Netlify&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Netlify is one of the most popular services out there for web deployment. It easily imports projects from GitHub, GitLab, and Bitbucket, and is widely used with &lt;a href="https://blog.logrocket.com/why-you-should-be-using-jamstack/"&gt;Jamstack&lt;/a&gt; applications.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://pages.github.com/"&gt;Github pages&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;GitHub Pages is one of the fastest and most widely-used methods for beginners to deploy websites. With &lt;a href="https://github.com/marketplace?type=actions"&gt;GitHub Actions&lt;/a&gt; you can trigger automatic deployments, &lt;a href="https://blog.logrocket.com/ci-cd-node-js-github-actions/"&gt;configure CI/CD&lt;/a&gt; and much more.&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What I’ve learn in this 4 Weeks of development
&lt;/h2&gt;

&lt;p&gt;It’s important to identify the basics steps when you start a new project. We can take this 4 weeks as a path to follow and continue developing our project, implementing this will help us to identify client needs on a better and easiest way. &lt;/p&gt;

&lt;p&gt;Keep tracking our progress and working with weekly sprints isgoing to help us achieve goals and work faster. &lt;/p&gt;

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

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>programming</category>
      <category>codenewbie</category>
    </item>
    <item>
      <title>Building the backend: APIs with Express and implementing security with Node js on our project</title>
      <dc:creator>Ana María Díaz </dc:creator>
      <pubDate>Tue, 21 Jun 2022 04:39:20 +0000</pubDate>
      <link>https://forem.com/anamdiazs/building-the-backend-apis-with-express-and-implementing-security-with-node-js-on-our-project-2hcb</link>
      <guid>https://forem.com/anamdiazs/building-the-backend-apis-with-express-and-implementing-security-with-node-js-on-our-project-2hcb</guid>
      <description>&lt;p&gt;At this point, on the previews weeks we’ve been working on the views built with React and Material UI, now it’s time to make it functional. In order to do that we need to build our backend this time we’re gonna be using Node js and Express. &lt;/p&gt;

&lt;h3&gt;
  
  
  How Express works?
&lt;/h3&gt;

&lt;p&gt;Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. It’s designed to build easy APIs this makes easy to organize the application functionality with middleware and routing it also improves the performance.&lt;/p&gt;

&lt;h3&gt;
  
  
  How node js implements security
&lt;/h3&gt;

&lt;p&gt;If you’re starting a project always from the beginning you should consider the security at every phase of the development such as architecture, design, code, and finally the deployment.&lt;/p&gt;

&lt;p&gt;One of the most important things you should check is Data validation, you must always validate or sanitize the data coming from the user or other entity of the system. The bad validation or no validation at all is a threat to the working system and can lead to a security exploit. With node js you can use the module validator to perform the data verification. &lt;/p&gt;

&lt;p&gt;Other important thing is the  application authorization and authentication, including hashing the passwords you can use bcyrpt node module to perform the hashing. &lt;/p&gt;

&lt;p&gt;When we start building our backend there’s many things we have to consider building APIs, connecting the database and most important security. In the final week of building our first project in 4 weeks we’re gonna be learning  about testing and deployment.&lt;/p&gt;

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

</description>
      <category>node</category>
      <category>javascript</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
