<?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: grena_me</title>
    <description>The latest articles on Forem by grena_me (@grena_me).</description>
    <link>https://forem.com/grena_me</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%2F35151%2F5987982f-cbc0-430c-9765-dc4cdb4ff118.png</url>
      <title>Forem: grena_me</title>
      <link>https://forem.com/grena_me</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/grena_me"/>
    <language>en</language>
    <item>
      <title>Development, Deployment and Monitoring notes </title>
      <dc:creator>grena_me</dc:creator>
      <pubDate>Sat, 11 Sep 2021 17:28:04 +0000</pubDate>
      <link>https://forem.com/grena_me/development-deployment-and-monitoring-notes-2dnm</link>
      <guid>https://forem.com/grena_me/development-deployment-and-monitoring-notes-2dnm</guid>
      <description>&lt;p&gt;Google Cloud Platform Fundamentals -  Notes on Development, Deployment and Monitoring.&lt;/p&gt;

&lt;p&gt;Google Cloud platform provides essential services in development, deployment and monitoring. These services,tightly integrated into the Google Cloud platform  make it seamless to automate deployment, and monitor application's health. Let's take a dive into the services that Google provides to achieve these.&lt;/p&gt;

&lt;p&gt;Development&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Cloud Resource Repositories&lt;br&gt;
Software developers use git to manage their source code trees, most software developers use either git instance or a hosted git provider. Cloud resource repositories is a hybrid between these two. Cloud resource repositories provides version control. Where one gets access to a private git repository and also access to an IAM permissions to protect it and it is also maintained by Google.  &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cloud Functions: &lt;br&gt;
These are like events, they are created like single purpose functions to respond to events without a server or runtime.&lt;br&gt;
Cloud functions are such that you choose the events you care about. These declarations are called triggers. JavaScript functions are attached to the triggers. Cloud functions can be used in Microservice applications and also to support existing applications without worrying about scaling.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Deployment&lt;br&gt;
The deployment manager is a template for declarative deployment. It is an infrastructure management service that automates the creation and management of your Google Cloud platform environment the template describes.&lt;br&gt;
The template is created as a .yaml file. Declaratively, the deployment process is noted and deployment manager figures out the actions to create and  automate the deployment process.&lt;/p&gt;

&lt;p&gt;Monitoring:&lt;br&gt;
 Monitoring enables you respond with information to critical happenings, such as performance issues, etc.  Stack driver is used for monitoring, logging and diagnostics. It gives information to the application's health performance and availability. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>Notes on learning how to learn</title>
      <dc:creator>grena_me</dc:creator>
      <pubDate>Wed, 16 Dec 2020 04:32:36 +0000</pubDate>
      <link>https://forem.com/grena_me/notes-on-learning-how-to-learn-4055</link>
      <guid>https://forem.com/grena_me/notes-on-learning-how-to-learn-4055</guid>
      <description>&lt;p&gt;One important trait that guarantees growth is constant learning.&lt;br&gt;
However, as much as we all seem to learn every day, we do sometimes find ourselves sometimes experiencing challenges in learning such as the dreaded-by-all valley:  illusions of competence.  Personally, discovering Learning How to Learn by Barbara Oakley was just beyond exciting. It brought to perspective mental models in learning, how to learn, and retain information. Here are a few notes I put down on the subject.&lt;/p&gt;

&lt;h4&gt;
  
  
  MENTAL TOOLS USED IN LEARNING
&lt;/h4&gt;

&lt;p&gt;When learning we engage our minds in two different modes. The Focused mode and Diffused mode. The focused mode is when we are deeply concentrating on learning to grasp the details. We employ the focused mode as well when we are solving a problem we are familiar with. Such as an arithmetic problem or any familiar subject. &lt;br&gt;
When we experience an unfamiliar subject or problem that needs solving, we engage our brains to solve or learn them using an unfamiliar approach. The mode of thinking we use then is the diffused mode. During such moments, we engage the brain to work on the problem while either jogging, running, or doing anything other than active learning.&lt;br&gt;
Diffused mode involves looking at things from the big picture perspective.&lt;/p&gt;

&lt;h4&gt;
  
  
  THE MEMORY HOW IT WORKS
&lt;/h4&gt;

&lt;p&gt;The brain stores information in two memories. The working memory and long-term memory.&lt;br&gt;
Working Memory - This holds a few ideas to connect them, understand or solve a problem. It holds information briefly while being processed. Information in the working memory is transient and can easily be lost unless the data is moved to the long term memory. This can be achieved through spaced repetition. The working memory which occurs in the prefrontal cortex can be likened to an inefficient mental blackboard.&lt;/p&gt;

&lt;p&gt;Long term memory - This is the storage warehouse in the brain. It is distributed all over and quite large.  Information however can be buried deep if the data is not retrieved repeatedly.&lt;/p&gt;

&lt;h4&gt;
  
  
  WHY IS SLEEP IMPORTANT IN RETAINING INFORMATION IN MEMORY?
&lt;/h4&gt;

&lt;p&gt;Sleep is for the weak. This message has been a mantra to devalue the essence of sleep in retaining information in the memory. During sleep, the brain rehearses essential parts of the information to be retained and clears less important information. &lt;br&gt;
Again, Sleep is also very essential because it shrinks the brain and allows the brain fluid to wash of all toxic substances generated during the day for the brain to function very well.&lt;/p&gt;

&lt;h4&gt;
  
  
  HOW TO LEARN
&lt;/h4&gt;

&lt;p&gt;while in focused mode our brain tries to process information whiles occasionally linking information stored in the Long term memory. The working memory has about four slots for processing.&lt;br&gt;
Compact information that is linked together through either use or understanding is created. This is known as a chunk. Unfortunately, the chunking process can be made unsuccessful&lt;br&gt;
there are distractions(eg phone), or stress, or when one is angry, afraid, etc. It is necessary then to learn in an undistracted environment.&lt;/p&gt;

&lt;h4&gt;
  
  
  HOW TO FORM A CHUNK
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;Focus - Focusing one's undivided attention on the resource.&lt;/li&gt;
&lt;li&gt;Understanding - Practicing the resource. This goes beyond the aha moment. It also involves mastering the resource through spaced repetition.&lt;/li&gt;
&lt;li&gt;Context - Getting a perspective on how the resource fits in the broader picture. It answers questions such as: 
When do I use this resource? 
When do I not use this resource? 
How does this resource fit into the bigger picture?&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  ILLUSIONS OF COMPETENCE WHILES LEARNING
&lt;/h4&gt;

&lt;p&gt;This occurs when there is an assumption of mastery of a resource which is not so.&lt;br&gt;
The illusion of competence can occur through:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Rereading material repeatedly in a short period without any active recall.&lt;/li&gt;
&lt;li&gt;Engaging the use of concept mapping, drawing diagrams, showing relationships, etc. Whiles these may aid in understanding, they do not necessarily assure one of mastery.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To avoid the illusion of competence, recall the material, and test yourself. The retrieval process enhances the deep learning of the material. Employ the use of spaced repetition.&lt;/p&gt;

&lt;p&gt;Overlearning can enhance automaticity(you become so used to the material) which aids in situations like public speaking or if you do choke on tests. But overlearning can be negative since it can create the illusion of competence. &lt;/p&gt;

&lt;h4&gt;
  
  
  PROCRASTINATION
&lt;/h4&gt;

&lt;p&gt;Just as learning well is essential, it takes time. Procrastinating does not help in learning since it leads to cramming.&lt;br&gt;
A bodybuilder does not build her/his body by working repetitively in a day. Rather, they build the body by spacing out workouts.&lt;br&gt;
Procrastination gives instant relief similar to addiction. The brain perceives a task as difficult and triggers the part of the brain associated with pain. &lt;br&gt;
Procrastination becomes habitual. It can be changed by using the same process habits are formed and making changes.&lt;br&gt;
Cue - change your response to a cue(A cue is a trigger. It could be how you feel, location, time, etc)&lt;br&gt;
Routine - Rewiring old habits. Plan and remove distractions. Adjust the plan as necessary. eg learning a difficult concept feels uncomfortable so you switch to social media to make you feel good.)&lt;br&gt;
Reward - Give yourself a reward for your achievements.&lt;br&gt;
It could be surfing the net, having fun, or anything worth rewarding yourself with.&lt;br&gt;
Belief- Believe that you can do it. The system you have adopted can make things better.&lt;/p&gt;

&lt;p&gt;To prevent procrastination, focus on the process, and not the product. Processes focus on habits whiles the product focuses on the outcome which usually can trigger the part of the brain associated with pain.&lt;br&gt;
An example of focusing on the process could be, I want to spend 25 minutes going through this material instead of I want to finish this material. Focusing on the product can be intimidating instead of the former.&lt;/p&gt;

&lt;p&gt;HOW TO BALANCE DIFFERENT TASK IN THE FACE OF PROCRASTINATION&lt;br&gt;
Keep a checklist of your task to be worked on or accomplished.&lt;br&gt;
Plan your quitting time.&lt;/p&gt;

&lt;h4&gt;
  
  
  HOW TO BECOME A BETTER LEARNER
&lt;/h4&gt;

&lt;ol&gt;
&lt;li&gt;using metaphors and analogy can help retain information in the brain.&lt;/li&gt;
&lt;li&gt;Practice makes perfect. Practice can repair the brain.&lt;/li&gt;
&lt;li&gt;As one learns, exercises, and have new experiences, new neurons survive. This is beneficial than any drug.&lt;/li&gt;
&lt;li&gt;No need for genius envy. Smarter people have larger working memory. This enables them to store more information. Whereas others that have low working memory are very creative. Hence to each his or her ability. Regardless of the differences, putting in the effort to learn can ensure retaining information in the brain regardless of the size of the working memory.
In situations, like school where there is a lot to get done. Never forget the saying that, "The Lady Luck favors the one who tries".&lt;/li&gt;
&lt;/ol&gt;

&lt;h4&gt;
  
  
  REFERENCES
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.coursera.org/learn/learning-how-to-learn"&gt;https://www.coursera.org/learn/learning-how-to-learn&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learn</category>
      <category>procrastination</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Custom Errors in JavaScript</title>
      <dc:creator>grena_me</dc:creator>
      <pubDate>Sat, 30 May 2020 20:39:23 +0000</pubDate>
      <link>https://forem.com/grena_me/custom-errors-in-javascript-2hh3</link>
      <guid>https://forem.com/grena_me/custom-errors-in-javascript-2hh3</guid>
      <description>&lt;p&gt;Custom errors are created to give more information about what exactly has gone wrong in an application. They are created using the error constructor. An example of a custom error could be RecordNotFoundError, ValidationError, FormatError, etc&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why the error constructor ?&lt;/strong&gt;&lt;br&gt;
An error can basically be thrown  by just throwing a new instance of an error object with a custom message. &lt;br&gt;
For instance&lt;/p&gt;

&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%2Fi%2Fmf8ko9l0auw0sjp8yg82.png" 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%2Fi%2Fmf8ko9l0auw0sjp8yg82.png" alt="code explains custom error. Text explanation below image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the code above, the function checkStatus checks if any user data provided as argument has emailConfirmed property set to true. Else, it throws an error.&lt;/p&gt;

&lt;p&gt;In as much as the code above throws a runtime error when by creating an instance of the error object, it limits the having properties or methods on the instance to provide other useful information.&lt;/p&gt;

&lt;p&gt;For instance&lt;/p&gt;

&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%2Fi%2Fim4t0nr8wbwcpql1apwt.png" 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%2Fi%2Fim4t0nr8wbwcpql1apwt.png" alt="extending the Error object to create a custom error"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In the code above, a class Validation Error is created to extend the Error object. Aside the standard message property on the Error object, through creating the validation Error class we are able to access(or create) other properties like the code.  &lt;/p&gt;

&lt;p&gt;Hence the advantages of creating a custom error object by extending the error object includes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create specific errors whenever a runtime error is occured.&lt;/li&gt;
&lt;li&gt;Creating properties or methods on the custom error object.&lt;/li&gt;
&lt;li&gt;Extending the error contractor gives access to the stackTrace which gives information of exact location of error.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Reference:&lt;br&gt;
&lt;a href="https://medium.com/@xjamundx/custom-javascript-errors-in-es6-aa891b173f87" rel="noopener noreferrer"&gt;https://medium.com/@xjamundx/custom-javascript-errors-in-es6-aa891b173f87&lt;/a&gt;&lt;br&gt;
&lt;a href="https://javascript.info/custom-errors" rel="noopener noreferrer"&gt;https://javascript.info/custom-errors&lt;/a&gt;&lt;br&gt;
&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error" rel="noopener noreferrer"&gt;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>node</category>
      <category>errors</category>
      <category>learninpublic</category>
    </item>
  </channel>
</rss>
