teleren/devto huggingface dataset:
Nevertheless, Marifer Coded
Tags: wecoded, womenintech
Published: 2019-03-08 22:37:25

---
title: Nevertheless, Marifer Coded 
published: true
tags: shecoded, womenintech
---

Hello everyone!, my name is Marifer and I'm a woman in technology.

First of all I want to apologize for any mistake you may find in my spelling, my native language is Spanish and I'm still working to improve my English, but I didn't want to let this stop me from participating in #shecoded. 

## I began to code...
I'll tell you a little summary about how I got into the world of programming. 

My journey began in the way least expected for me. When I was 13 years old I had decided that I wanted to dedicate myself to UX design because I have always liked drawing and painting a lot. 

So I immersed myself in studying UX design on my own with the idea of learning how to create web and mobile projects. While studying UX design I discovered frontend development, that's when I fell in love with programming, it caught my attention so much that I started to learn with a lot of enthusiasm HTML and CSS, then with the idea of continuing to grow I wanted to learn more and discover other technologies both on the client side and on the server side.

## I continued to code in 2019 because...
I am currently 19 years old, a full stack web developer (using mostly JavaScript) and a computer science student with the goal of becoming a software engineer. 

Since I started my journey in programming I have learned lessons and experiences that have helped me grow both personally and professionally. Working to be better day by day and that is seen in the results motivates me to continue with much more strength and security.

I keep coding because solving problems and creating things that make a positive impact through code is what I really love. I still have a lot to learn, but I am working hard. 

## My advice for other women who code is...
I think it all starts with the person, you should love yourself and support yourself throughout your journey. 

Many times I thought that I had made a mistake in choosing my field and that I could never be a good programmer. These thoughts come from the lack of confidence I had in myself, I was acting like my own bully, until one day I said if I didn't trust myself, then who will? 

Although it can be very difficult at times, it can even seem frustrating, don't beat yourself up! Be proud of yourself for everything you've done so far, for the journey you've taken, for everything you've already learned, rather than focusing on everything you still need.

Because when you focus on the positive, you attract positive energies for more accomplishments into your life, but when you focus on what is still missing you feel frustrated and focus on the difficulties, which makes it impossible for you to see all the things you have already accomplished.

So despite the difficulties you may encounter along the way, **don't give up and love yourself because you are your best friend for your journey**.
Memento Design Pattern [Behavioral]
Tags: blog, concepts, designpattern, designpatterns
Published: 2019-03-12 16:20:11

---
title: Memento Design Pattern [Behavioral]
published: true
tags: blog,concepts,Design Pattern,Design Patterns
canonical_url: https://itscoderslife.wordpress.com/2019/03/10/memento-design-pattern-behavioral/
---

 **What**?  – The memento lets us take a snapshot of an object’s important state.

When implementing this pattern, it is important to keep the safe state external to the object. The object’s internal state is not exposed, thus we don’t break encapsulation. The captured state is kept in a memento object. Later we can restore the object with this saved state.

There are three distinct roles in this pattern:

![DP-Memento.jpg](https://itscoderslife.files.wordpress.com/2019/02/dp-memento.jpg?w=656)

1. The originator, this is the object that we want to restore to a given state. It has two methods:
  1. The createMemento returns a memento instance, which holds the information needed to reset the originator to that state.
  2. The restore method, which takes the memento parameter that includes the previously saved state. The restore method resets the originator to this state.
2. The memento is quite simple, it has a state. This can be a built-in or a custom type that can hold the originator’s state; it doesn’t contain any further logic. The caretaker provides the save and restore functionality. It asks the originator to save its state or to return to a previously saved state.
3. The caretaker keeps track of all the previously created mementos.

> The memento captures the important state of an object without exposing its internal data. The saved state can be used to reset the object to a previous state if needed. The memento can be used to implement undo and redo operations.

Example: Game states are saved when a player hits a checkpoint. The state of the game can include anything from a number of enemies or coins collected etc. When the player quits and starts the game later the same state at last checkpoint is restored.

Another typical example where Memento can be used in the Undo mechanism used.

The memento pattern captures the important state of an object into a memento. This memento can be used to restore the object at a later date. The pattern is implemented correctly if the originator’s internal state is not exposed to the client.

Disadvantages: Saving and restoring the state of a complex object may be time-consuming. You should carefully consider performance implications when implementing the memento pattern. Another frequent problem is exposing the originator’s internal details, thus breaking encapsulation. The client should rely solely on the caretaker to save and restore the state of the originator.
Hello World! (TheSQL)
Tags: wecoded
Published: 2019-03-10 03:18:09

---
title: Hello World! (TheSQL)
published: true
description: 
tags: shecoded
---

Hi. 

This is my first foray into joining a developer community! I’m excited to be here. 

As every programmer’s typical first successful program is printing out Hello World! to the system console, I thought it would be a fitting description for my first post as an experienced programmer wanting to start over. Also, I can never pass up the opportunity for a good pun (sequel, SQL). 

So what brings me here? 

Judge me if you must...but I was watching _Set It Up_ on Netflix, and the scene where the main character’s best friend lovingly berates her for being so afraid of to fail that she hasn’t even tried hit close to home. Of course, her first draft for the article she’s working on is going to be terrible, but she’ll go back and improve it. _But she has to actually write it first._ 

In a similar way, I’ve been holding myself back. Perhaps a classic case of imposter syndrome. I’ve always chosen what’s safe. I dabble in things, I start online tutorials for a new framework, I bookmark helpful articles and categorize them, I sign myself up for info sessions on a certain buzzword technology or a conference, but I lose sight of the takeaway and the why. I overcommit myself and it looks something like this: 

![Overwhelmed](https://i.kym-cdn.com/entries/icons/original/000/022/524/tumblr_o16n2kBlpX1ta3qyvo1_1280.jpg)

The end result is that I’ve learned about what distinguishes Angular from React, I’ve read one off articles about how to tinker with CSS, and I’ve made sure to apply to a PR at work as well as document my learnings for the future. I’ve gotten a Product Owner certification, and I’ve considered getting a Splunk Power User certification. Yet, I feel light years away from becoming a subject matter expert on any of the languages and frameworks I’ve utilized, and this is what leads to the fear of failure and of falling behind where an engineer two years post-grad should be. 

However, I think it’s natural for a young professional in the tech industry to see the accomplishments of her/his peers, be it on Twitter, LinkedIn, or even Facebook and become discouraged when she/he realizes there’s more she/he could be doing. It’s hard not to compare. I abandon the tutorials I’ve started when I start to feel overwhelmed, and once bookmarked, the articles I read once collect figurative dust.

As the two years in the career accelerator program I’m in wind down, there’s no time for that. I’m here in this community now to hold myself accountable to my goals. The why I seek isn’t because it will help me network or because everyone is doing it, but because it’s what truly matters to me. In true Silicon Valley fashion, I will start by productizing my goals, refining them into features, prioritizing the features based on timeframe and the value added to my career, and further refining them into action items that I can deliver over the course of 2 week sprints. Okay, mostly joking, but here’s to a focused, Marie Kondo-esque plan!
R Language : Connect to CouchDB Database
Tags: rdatascience, datascience, rlanguage, nosql
Published: 2019-03-10 10:29:17

---
title: R Language : Connect to CouchDB Database 
published: true
description: R language Connect to CouchDB database
tags: #rdatascience #datascience #rlanguage #nosql
---

I never really had the time to get to fetch much of the data from the NoSQL database. But I was asked to find out ways to interface with them recently. And so I was trying to find out ways to connect to the CouchDB and MongoDB. It seems like a lot of people make use of the CouchDB database. So I thought those who wish to interface with CouchDB from R language can look at this article for a way out of this. 

**Step 1. Install the Drivers**

You can check out the drivers like [Sofa](https://github.com/ropensci/sofa) and [R4CouchDB](https://github.com/wactbprot/R4CouchDB/). 

(There are many other drivers too but two of these are enough for most of the needs). You can check the video instruction here. [R Language Connect to CouchDB Database](https://www.youtube.com/watch?v=rFnGA4NZXq8). 

{% youtube rFnGA4NZXq8 %}

Let's assume you want R4CoouchDB. So let's install it. 

```
install.packages("R4CouchDB")
```
**Step 2. Create Connection Object**

```
conn <- cdbIni()
```
Step 3. Check the server response. 

```
conn$serverName
```
**Step 3. Explore the specific queries**

From here onwards you can go ahead and make the queries to go through the data. And here you can store or update and delete the content from the data. 

You can check out the specific queries in the [github readme](https://github.com/wactbprot/R4CouchDB).

You can also check out some of the examples on the [Wiki](https://cwiki.apache.org/confluence/display/COUCHDB/R). 

Additional references:

1. You can also learn [how to Connect R language to MySQL database](https://dev.to/maheshkay/r-language--connect-to-mysql-database-51ji).
2. Learn how to [connect to SQLite from R Language](https://dev.to/maheshkay/r-language--connect-to-sqlite-database-1adf).
My comment was marked as violating code of conduct. Why?
Tags: help
Published: 2019-03-12 13:30:59

---
title: My comment was marked as violating code of conduct. Why?
published: true
description: 
tags: #help
---

How can I find out the reason? Who do I ask? How do I find one to ask? I'm really curious.
Ideally, I'd like to have the ability to talk to the person that decided so. Their identity is not important.
How to test a Pull Request locally before Merging.
Tags: git, github, versioncontrol
Published: 2019-03-13 05:33:46

---
title: How to test a Pull Request locally before Merging.
published: true
description: "In this article, I would show you how to check, test and make changes to a pull request before merging."
tags: ["git", "GitHub", "version  control"]
canonical_url: "https://bolajiayodeji.com/how-to-test-a-pull-request-locally-before-merging-ck2cr59pe00l0p4s13oflo2z4"
---


In this article, I would show you how to check, test and make changes to a pull request before merging.

So your repository got a new Pull Request?, You don't want to merge it before testing it out yourself locally on your machine. How do you go about it?

The pull request is available on this git ref ``pull/{ID}/head`` which you can fetch using this, where ID is the pull `request id`.

**REQUIREMENTS**

- Make sure you have a cloned version of the repository on your machine,
Check *[here](https://help.github.com/articles/cloning-a-repository/)* to learn how to clone repositories from GitHub.

- Have your cloned Repository integrated into your [IDE](https://en.wikipedia.org/wiki/Integrated_development_environment)
preferably *[Visual Studio Code](https://code.visualstudio.com/)* [In this
tutorial, I used VsCode]

- Be conversant with *[git](https://git-scm.com/)* commands

- Go to your repository folder

- Initialize git (you can do that by right-clicking in the root folder)

- Ensure your work tree is clean (you can do that by running `git status`)

- Run the following commands to FETCH the pull request from GitHub where **ID** is the pull request's ID

```
git fetch origin pull/ID/head && git checkout FETCH_HEAD
```

Or, if you only want to [cherry pick](https://git-scm.com/docs/git-cherry-pick) it, instead of checking it out, you can use

```
git fetch origin pull/ID/head && git cherry-pick FETCH_HEAD
```

- Open your IDE (VsCode) Your folder structure should change now pending on the contents of the PR.

What you have now is the contents of the pull requests and not your master
branch, run your checks and tests to determine if the pull request is worth merging.

At this point, you can do anything you want with this branch. You can run some local tests, or merge other branches into it, including `master`. Make modifications as you see fit!

Once satisfied `git checkout master` to return to the master branch.

You can also make changes to the pull request and push back to GitHub as a new commit or pull request.

After making your changes:

```
git add --all
git commit -m "Modified PR"
git push origin BRANCHNAME (e.g master or test)
```

That's it, you have tested the pull request and made changes!

If this article helped you, share!!!
Day 1
Published: 2019-03-16 02:46:18

---
title: Day 1
published: true
description: First post of many 
tags: 
---

Hello, everyone! I'm new to dev.to, so for this first post, I will be talking a little bit about who I am and how I got here. This won't be the norm; this is just for me to test this out and make sure people are able to read this, nor will this be very in-depth. I intend to use this blog to talk about my progress as a software developer and my thinking process through my projects. I also want to ask y'all any questions I may have. My goal is to make one post a day, or at least after every time I touch a project. 


Throughout my academic career, I've always been a bright student. I got straight As in all my classes and in high school, I kept that up on top of taking loads of AP classes to prepare me for university. I graduated as salutatorian of my class. 

After high school, I started an undergraduate degree as a psychology major. In one year, I changed my major to biology. In my last year of my undergraduate degree, I took two freshman programming courses so that I could be accepted into a master's program for computer science. This is because I realized too late that I wanted to develop software. The courses taught me Python, Java and C++. I graduated from university with a BS in Biology and minor in psychology. My academic career lasted from fall 2015 until spring 2018.

After my undergraduate degree, I got accepted into a MS in Computer Science and took applying to jobs more seriously. I was mainly looking for software development internships. I still haven't found one, but I have found a better paying job that will offer me more hours so I can afford my master's.

Fast forward to now. I am actively looking for software development internships. I will use this blog to motivate me to stick my projects and make sure they get finished. I am hard at work studying for my master's and making sure I finish on time by spring 2020.


So that's a little bit about me. From now on, I plan to discuss about my projects and ask software-related questions. I've lost all my projects from high school, which included a chess and checkers game, so I'm starting from scratch. I was working on a calculator program a few months ago but stopped. I plan to revisit that program and finish it. In my next post, I will talk about what I remembered about my progress in the program and any challenges I've faced. I will try to work on the program, but my main goal will be to discuss what I've done so far. On my third post is when I'll discuss my progress on my project.

Another project I started recently is with these people I met on freeCodeCamp's Facebook group. The project will aim to make a site where people can post stuff they don't want and exchange it with other people. It's like a garage sale between other garage sales. The project hasn't kicked off ground yet, but I will keep y'all posted when things start shaping up.

If you guys have any advice for an aspiring software developer, please let me know.

Thank you guys for listening to this post! See you next time!
A new beginning for me
Tags: newdev, newbeginning, thankyou
Published: 2019-03-17 12:58:07

---
title: A new beginning for me
published: true
description: 
cover_image: https://thepracticaldev.s3.amazonaws.com/i/1nlot0nq5nx9a09hjb6q.jpg
tags: newdev,newbeginning,thankyou
---
So, I am starting my first "Real Project" tomorrow at [Andela Nigeria](https://andela.com/). Up until now, It's been tutorials and dummy projects I work on and admire by myself 😂😂. I'll be using my blog posts to serve as a progress tracker. I'll document new thing I learn and I know looking back One year from today, I'll appreciate how far I've come. Two awesome people have really influenced my decision and I'll love to say Thank You! 🤝

The first person is {% user kaydacode %} for her awesome post.
{% link https://dev.to/kaydacode/5-reasons-you-should-write-that-blog-post-24ib %}
This made me understand that even if I feel like I'm just beginning my journey, My experience is unique and there are some people who are presently at the stage I was about six months back when it was still about learning from a lot of tutorials and building as much "stupid" projects as possible just to make sure I get better. Thanks so much, Kim.

Secondly, thanks to {% user helenanders26 %} for her awesome post {% link https://dev.to/helenanders26/essential-career-advice-from-a-to-z-1ddk#chapter-2 %} and in that post, she talked about how blogging helps to reinforce learning or understanding of your chosen technology or tool and definitely a lot of other pieces of advice. I'll make sure I try as much as possible to put them into practice as I start this journey. Thanks, Helen.

Finally, I'll be working with Laravel, React and Redux on this new team. I'm pretty comfortable now with React and Redux but I learnt NodeJs when trying to understand how APIs work. Any resource you think would get me up to speed in building APIs with Laravel would be highly appreciated. Thanks so much guys. Much love from me to the [dev.to](https://dev.to) family🙏.
Top 5 DEV Comments from the Past Week
Tags: bestofdev
Published: 2019-03-19 14:20:00

---
title: Top 5 DEV Comments from the Past Week
published: true
description: Highlighting some of the best DEV comments from the past week.
tags: bestofdev
cover_image: https://res.cloudinary.com/practicaldev/image/fetch/s--7VrAA2ln--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://thepracticaldev.s3.amazonaws.com/i/qmb5wkoeywj06pd7p8ku.png
---

This is a weekly roundup of awesome DEV comments that you may have missed.  You are welcome and encouraged to boost posts and comments yourself using the **[#bestofdev](/t/bestofdev)** tag.

The **[What's your desk setup?](https://dev.to/desi/whats-your-desk-setup-3306)** thread contained plenty of much-loved replies, but none more-so than @tvanantwerp's super cool setup.  Monitor real estate for miles...
{% devcomment 9e19 %}

@detunized offered a humorous and insightful joke in response to **[What If Drivers Were Hired Like Programmers](https://dev.to/alexjitbit/what-if-drivers-were-hired-like-programmers-9hh)**:
{% devcomment 9de1 %}

Taking a stroll down memory lane, people were asked to **[Show off your first app!](https://dev.to/aspittel/show-off-your-first-app-30jb)**.  @vintharas ramps up the nostalgia with a great throw-back to this beauty of a site:
{% devcomment 9f80 %}

In the **[Hold up, did you know you can build standalone, cross-platform application using C# in 2019?](https://dev.to/sergio/hold-up-did-you-know-you-can-build-standalone-cross-platform-application-using-c-in-2019-1gf7)** thread, @rhymes talks about the drawbacks of Electron:
{% devcomment 9f0d %}

We'll finish up with a comment about writing itself.  In **[Junior Developers Should Start A Technical Blog Early In Their Career](https://dev.to/rachelsoderberg/junior-developers-should-start-a-technical-blog-early-in-their-career-19bg)**, @marek talks about the rationale and positive outcomes that can come from putting pen to paper in a public setting:
{% devcomment 9edh %}

See you next week for more great comments ✌
I Broke the Refresh Button: Dealing with a Rogue Service Worker
Tags: serviceworker, javascript, webdev
Published: 2019-03-19 16:12:33

---
title: I Broke the Refresh Button: Dealing with a Rogue Service Worker
published: true
description: What happens when you used to have a service worker but don't anymore.
tags: #serviceworker, #javascript, #webdev
---

I was quite happy to launch a new version of a website last week. I was less happy when, come Monday, people were still seeing the old version. The standard "have you tried refreshing" had no effect: no matter home many times people refreshed, the old content would keep coming back. This was some aggressive caching!

The culprit was an old `service-worker.js` file! The old site had been built with `create-react-app`, which included service worker registration by default and which I hadn't paid much attention to. The new site was built with [Gatsby](https://www.gatsbyjs.org/), which doesn't include one by default.

Service workers can help you to cache your site/PWA so that it still functions while offline. Typically, a service worker will check for a new version of itself whenever you visit the associated site after a 24 hour period. But when the old service worker checked for an update, it got a 404 response and defaulted to staying alive and serving cached content no matter what.

To get clients to stop relying on the old service worker, I had to add a new "updated" `service-worker.js` to the site's root (where it expected to find it).

The new service worker, in its entirety:
```javascript
self.addEventListener('install', () => {
  self.skipWaiting();
});
```

All this does is tell the browser: "Hey, I'm the new service worker, chuck out that old service worker, and, uh, that's it, we're done here."

Since this particular site never really needed a service worker in the first place, I'm happy with this no-op service worker as a quick and dirty solution. After clients grab this to replace the last service worker, a simple refresh will once again allow their browser to actually hit the Internet to grab things, and not just rely on a very stale cache.

Thanks to Jeff Posnick via [StackOverflow](https://stackoverflow.com/a/38980776/9554333) for this simple solution! I've got a lot to learn about how service workers function, and a newfound respect for what happens if you're using them *without* really understanding them

{% user jeffposnick %}