teleren/devto huggingface dataset:
Getting Started With MongoDB Using ASP.NET Core Web API
Tags: dotnet, tutorial, mongodb
Published: 2018-04-05 11:35:07

---
title: "Getting Started With MongoDB Using ASP.NET Core Web API"
published: true
tags: dotnet,tutorial, MongoDb
canonical_url: https://www.matheus.ro/2018/03/05/getting-started-mongodb-using-asp-net-core-web-api/
---
> [You can download the code here](https://github.com/mrodrigues1/MongoDB-WebApi)

Recently, I’m trying to get into NoSQL databases, more specific into document databases.

After some research, MongoDB was my choice to start with. MongoDB is a well know and popular document database, which store JSON-like documents. It’s quite accessible, having drivers supporting major languages and frameworks. Have a great community support with a large number of  unofficial drivers. 

The goal is to show how to set up a MongoDB instance and how to consume it with a web API in asp.net core.

## **Softwares needed:**

- [MongoDB](https://www.mongodb.com/download-center#community)
- [Visual Studio 2017 Community Edition](https://www.visualstudio.com/downloads/)
- [Postman](https://www.getpostman.com/)

\*I used windows 10 to create this tutorial.

[Continue Reading...](https://www.matheus.ro/2018/03/05/getting-started-mongodb-using-asp-net-core-web-api/)
Which framework use for an e2e tests of an SPA?
Tags: discuss, webdev, testing, question
Published: 2018-03-05 12:46:20

---
title: Which framework use for an e2e tests of an SPA?
published: true
description: Which framework do you recommend for an end to end tests of an SPA?
tags: #discuss #webdev #testing #question
cover_image: https://raw.githubusercontent.com/rafalpienkowski/resources/master/e2e-tests-of-an-spa/question-mark.jpeg
---


Hi all! 

I want to ask you which framework could you recommend me for an end to end tests of a Single Page Application. What is your suggestion what are advantages and disadvantages of frameworks you're using?

Currently, I'm using [Selenium WebDriver](https://www.seleniumhq.org/projects/webdriver/) and I'm writing tests in .Net but I've faced some problems which are related to the creation of DOM elements by an angular app. I've read about [Protractor](https://www.protractortest.org/#/) but I'm interested in your opinion. 

Thanks in advance.
Ask for advice from non-native English speakers
Tags: learning, discuss
Published: 2018-03-05 08:52:55

---
title: Ask for advice from non-native English speakers
published: true
description: 
tags: #learning #discuss
---

Hi. I'm a beginner front-end developer and I'm close to getting my first job, but I have to brush up my English. Reading and listening do not cause me any problems, but I have trouble with speaking and writing. Do you have any advices on how to quickly gain confidence in these areas?
New version of Pwned Pass
Tags: softwaredevelopment, android, app, development
Published: 2019-11-14 23:12:24

---
title: New version of Pwned Pass
published: true
date: 2018-03-05 08:00:38 UTC
tags: Software Development,android,app,development
canonical_url: https://www.funkysi1701.com/2018/03/05/new-version-pwned-pass/
cover_image: https://lh3.googleusercontent.com/qZTLiWRfQwS7pT6gExLMTvU1pl8NtTU-kbeoSzD68p1D-EPY3Pg7cz2AN66QJpTTp1c=h900-rw
---

![Pwned Pass](https://lh3.googleusercontent.com/qZTLiWRfQwS7pT6gExLMTvU1pl8NtTU-kbeoSzD68p1D-EPY3Pg7cz2AN66QJpTTp1c=h900-rw)A new version of Pwned Pass is available from [Google Play](https://play.google.com/store/apps/details?id=pwnedpasswords.pwnedpasswords).

A couple of weeks ago [Troy Hunt](https://www.troyhunt.com/ive-just-launched-pwned-passwords-version-2/) released V2 of Pwned Pass onto his [haveibeenpwned](https://haveibeenpwned.com/) website. There are now over half a billion passwords that have appeared in data breaches for you to search.

This time Troy has included information about how many times a password has appeared in his data. So “password” returns a value of 3,303,003 so is a really, really bad choice of password to use. However the password “windows 10” has only appeared twice so is much better, however I would still recommend avoiding using it.

One of the great things about the internet is that on the day of release I was tweeting Troy so I could get my android app updated to take advantage of these new features. I even helped him identify an issue with the documentation on his site. He has also kindly add a link to my app onto his website.

That conversation and link has lead to a massive increase in app downloads. Before I was going steady on about 14 installs, now I have 86 active installs. I am not sure if this will increase anymore but if you are reading this because you downloaded my app, then thank you.

My app has four main features:

Password Check – this allows you to search a password and see if it has appeared in a data breach and also the number of times that password has appeared.

Email Check – this allows you to search your email address and see which data breach it has been involved in.

List of Data Breaches – this lists the data breaches from haveibeenpwned.com you can also sort by Date Added, Number of accounts and name.

Calendar of Breaches – this shows a github like chart of what days breaches are added

If you like my app do let me know. I have received a few ratings on google play it would be great to get a few more. If you want me to add a feature or have ideas of how I could improve it let me know as well.

To download take a look at [https://play.google.com/store/apps/details?id=pwnedpasswords.pwnedpasswords](https://play.google.com/store/apps/details?id=pwnedpasswords.pwnedpasswords)
Discuss - What behavioural questions would you ask developers in an interview?
Tags: discuss, softskills, teamwork
Published: 2018-03-05 07:11:27

---
title: Discuss - What behavioural questions would you ask developers in an interview?
published: true
description: What questions would you ask to make sure the person you're going to hire is a team player, thinks similar to you, but challenges you, and will help you, your code and your team improve?
tags: #discuss #softskills #teamwork
---

What questions would you ask to make sure the person you're going to hire is a team player, thinks similar to you, but challenges you, and will help you, your code and your team improve?


#### Some statements to get the ball rolling

I want to avoid "culture fit" - this often turns into an echo chamber at work. I want to hire people who have similar values to me, but not necessarily similar practices and process to me. I'm always excited to know ways I can move faster as a team or work smarter. I want "culture add". 

I want to seek out and hire team players, those who accept and evangelise team decisions, even if it's no the way they voted/wanted it to go.

I want to avoid developers who are defensive, not open to feedback or criticism and who generally are stuck in their ways.  

I want someone who actively thinks about process as a tool, not a hurdle. 

I want someone who can teach others and be taught. 


#### Here's a list of initial thoughts/questions

1. Tell me about a time you disagreed with the team, what happened?
2. Tell me about a time you sold an idea to your team, how did you do it?
3. Tell me what kind of development methodologies you've used and where you saw the value
4. Are you familiar with code review? [If so] Where do see the value in it?
5. Tell me about a time you mentored an engineer junior to you. Learnings?
6. Tell me about a time you were mentored an engineer senior to you. Learnings?
7. Have you ever managed a team, if so, what did you learn?
8. How do you keep up to date on modern tools, processes and technology?



**What are your questions, and why?** Please, I'd love to hear them!
Hitting the ground running - as a bootcamp grad.
Tags: ruby, react, development
Published: 2018-03-05 06:44:49

---
title: Hitting the ground running - as a bootcamp grad.
published: true
description: Advice on my experience hitting the ground running after having graduated a development bootcamp.
tags: #ruby #react #development
---

I graduated two weeks ago and starting Monday I was presented the biggest project of my life. It really wasn't that big of a project in terms of complexity, but the people who approached me were some big timers, and I have to say - I freaked out a little.

I'm out here in the Silicon Valley, and anybody who knows Silicon Valley knows just how competitive it can be. Applying for jobs seems as though you're drowning in a pool of applicants, while one lucky survivor is able to make it out alive.

This week I had the chance to put my newfound skills to the test.

I was approached by a big time company - one well known for an extremely famous web browser we are all so familiar with. I was asked to integrate their API with another 3rd Party API and merge a few pieces of data, then present on the front end. 

I chose to go with Rails as the Backend and React/Redux on the front. I set up my front end to make asynchronous fetch requests to my self built backend API. It all worked fantastically. Wednesday morning it was presented in front of two VP's of the company. 

I later found out the value of the project - and some other quotes from competitors for what I was able to do in 3 days as a bootcamp grad. I was competing against large agencies offering thousands, some in the hundreds(one offer was $125k). I was able to apply my skills, to a real world professional situation - and to be honest, it was not that hard to do.

Many are probably coming here looking for what advice there is to approaching the learning curve - but there is really only one thing I can say.

As you learn, make sure you are understanding what is going on. I sit here now as a grad, quite confident with my skills and abilities as a developer.

I can honestly say, that the 'steep learning curve' really isn't so steep. Be diligent, keep on learning, and be patient with yourself.

Good things are coming.
Changelog: Track comments in your Reading List (and design changes)
Tags: meta, changelog
Published: 2018-03-05 06:11:40

---
title: "Changelog: Track comments in your Reading List (and design changes)"
published: true
description: 
tags: meta, changelog
---

The biggest functional change from tonight's push is that you can now see comments in your Reading List section. This means that adding to your Reading List (via the big SAVE button or via the bookmark reaction) allows folks to better track conversations they care about.

The #Discuss section on the sidebar is also modified so that comments on recently-posted-threads bump it to the top of the list, sort of like a traditional forum. We think this will spur on better carried-on conversations.

And some new icons and other design modifications.

Hope you like the changes. We'll try to fix any new bugs we've created soon enough. Happy coding. ❤️
touch triggers other touches
Tags: rails, activerecord
Published: 2018-03-05 02:39:56

---
title: touch triggers other touches
published: true
description: 
tags: rails,activerecord
---

[ActiveRecord::Persistence#touch](http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-touch) is a useful method and I like it.

But I didn't really understand its spec well and it caused a deadlock in our Rails project. You have to care about its impact.

```rb
class Post < ApplicationRecord
  belongs_to :post_category, touch: true
  belongs_to :writer, touch: true
end

# This class is a pseudo class
class SomeClass
  def initialize(post, args)
    @post = post
    # ...
  end

  def call
    # ...
    @post&.touch(:published_at)
    # triggers following:
    # @post.post_category.touch
    # @post.writer.touch
  end
end
```

In `SomeClass#call`, `Post#touch` is called and I thought this only update the `post.published_at`, but also update `post_category.updated_at` and `writer.updated_at`.

The above code is just an example and it might be a trouble when you use `touch` casually in the real application.

You just care about logs before deployment :)
えっ何書いてもいいの？
Published: 2018-03-04 22:52:05

---
title:  えっ何書いてもいいの？
published: true
description: 速すぎて笑う。笑いに来てる。
tags: 
---
時々来ては、速すぎて笑う。笑いに来てる。
- fe
- hoge

技術すげーな、楽しいものだなと思える。
Getting to know Grav CMS
Tags: blog, gravcms
Published: 2019-06-24 10:13:41

---
title: Getting to know Grav CMS
published: true
tags: Blog, Grav CMS
canonical_url: https://www.eddinn.net/blog/getting-to-know-grav-cms
---

 ![](https://www.eddinn.net/images/4/d/6/5/d/4d65db4660c82500d25b168d8684c319897709ba-grav.png)

I've been figuring my way around the [Grav CMS platform](https://getgrav.org/), and so far I like it. It has some learning curve to know ones way around the core and how it's all put togeather, but all in all it works very well. My only concern is that it's easy to break the system with minor config adjustments. While Grav has alot of themes and plugins to enrich your site, it still is very much a hands on platform where you need to get to know your way around TWIG, Markdown and YAML along with the good old HTML and CSS.
Theory behind choosing either Relational or Non-Relational Database for your application
Tags: discuss, databasesystem, computerscience
Published: 2018-03-04 18:07:51

---
title: Theory behind choosing either Relational or Non-Relational Database for your application
published: true
description: 
tags: #discuss, database system, computer science
---

When it comes to choosing a database for a project, I usually go for NoSQL because using it with NodeJs is very simple in my opinion. So I have had this thought to research on what must influence my decision to choose either Relational or Non-Relational Database systems. Finally, I got to know there is a great theorem behind this. 

Today, I would like to share with you the C.A.P theorem. 
CAP stands for:
    Consistency ( all nodes see the same data at the same time)
    Availability (a guarantee that every request receives a response about whether it was successful or failed)
    Partition tolerance (the system continues to operate despite arbitrary message loss or failure of part of the system)


The CAP theorem, also known as Brewer's theorem, states that it is impossible for a distributed computer system to provide all above-listed features at the same.
Though database systems cannot have all three but can have any two of them.


SQL databases employ CA while  NoSQL databases use AP from C.A.P. So depending on the type of an application you are building, knowing this concept will help you a lot in choosing the right database system.

For instance, if you are working on an application where you want an update to be seen by users of the application without a second or minute delay among any of them then consistency matters In such an application, distributed system with consistency holds. Therefore SQL database system will be used in this case.

The main takeaway from this little piece is knowing whether your application needs CA or AP from CAP is very important and will help influence your decision to choose the right database system.
Nevertheless, JR Coded
Tags: wecoded
Published: 2018-03-04 16:11:25

---
title: Nevertheless, JR Coded 
published: true
tags: shecoded
---

![Judith Rohatiner](https://thepracticaldev.s3.amazonaws.com/i/uelv37uueyme6devxqm4.jpg)

# Its a Mission   

### Pay It Forward

I continue to code because I love what I do. I am fascinated by what I can create. It gives me satisfaction when I work on a project that helps other people and makes a difference in some way. That's why I have done a lot of work in higher ed. It is also why I have contributed accessible features in mainstream projects.

### Be Assertive Not Aggressive

I recently worked on a project where my work was credited to another team member. He had pirated my code and discredited me. I knew the situation wasn't going to end well and made it an opportunity to face this person in an assertive way. I stated the issues and made it clear that I knew what he did and didn't approve. And then I moved on to better things.

### Helping Other Women

> It is a mission for all women devs (and our allies) to mentor and help each other  by providing resources and support above all else when we are working.
 
> My philosophy is to focus on creating an environment of sisterhood that uplifts other women coders. I don't focus on the issues of how to change the patriarchal attitude that exists in some tech environments but how to change what I do to help other women succeed. It is a mission for all of us. 

### My advice to allies of women who code

Mentor, provide resources and communicate.
From a software developer to a project manager?
Tags: career, discuss, experience
Published: 2018-03-04 15:51:04

---
title: From a software developer to a project manager?
published: true
description: career steps as a developer
tags: career, discuss, experience
---


Did you become a project manager on some point? If so, are you still involved into certain development processes? Do you have any tips or any advise for the transition?
Self Documenting code isn't
Published: 2018-03-04 14:31:47

---
title: Self Documenting code isn't
published: true
description: 
tags: 
---

I know this is going to be a very controversial article, but I'm going to write it anyway.

Self Documenting code is not a good goal to aim for. Quite the opposite in my opinion.

Comments in code exist for a number of reasons. One of those is to tell *what* code does, and this is the kind that Self Documenting code seeks to remove. This is not a bad goal, because if the code needs comments to tell you what it does then it's too complicated.

Another form of comment, though, is the one that tells you *why* code does what it does. This is much more important that *what* because this is not self evident from the code itself. This can come down to code design decisions, product design decisions, large scale architecture decisions, or a myriad of other reasons.

Yet another form of comment is links to external sources. This can be issue tracker numbers, design documents, or many other things.

Finally, sometimes you really do need to document the big picture of how something works, because the entire algorithm is complex and it's not feasible for everyone to read all of the code to get the big picture overview.

So, whilst striving to make your code clean, obvious and easy to follow, don't go to far in removing all code comments because they have other uses too.
Nevertheless, Maria Coded
Tags: wecoded
Published: 2018-03-04 12:36:32

---
title: Nevertheless, Maria Coded 
published: true
tags: shecoded
---

![alt code street] (https://thepracticaldev.s3.amazonaws.com/i/bvqe7s1b1ll6lfamewu9.png)

Nothing new here:

I started getting into tech initially because I wanted to apply knowledge from natural science domains to computer science oriented ones.

I began to code because I wanted to prove that I can build something that ideally could be useful to people. I started working in academia and had a - bit more than a - decade experience in research.

Now, It's been 2 yrs since I switched to industry and haven't regretted my decision. Very tough at first, learning and training from scratch, but so rewarding and satisfying! 

I am astonished by the gender inequality that still exists in the tech industry in 2018. On the other hand, I am positively surprised that the world is changing and more companies/organisations include skilled people, regardless of their gender.

My hope is in the near future, I'll be yet another (good) developer who just happens to be a woman.

My advice for young girls who want to be part of the tech world, is just go for it!
Lazily Evaluated Learning
Tags: learning
Published: 2018-03-03 18:54:10

---
title: Lazily Evaluated Learning
published: true
canonical_url: https://hoelz.ro/blog/lazily-evaluated-learning
description: This one simple trick, discovered by a Rob, can help you keep up in tech!
tags: learning
---

_Originally posted at [hoelz.ro](https://hoelz.ro/blog/lazily-evaluated-learning)_

One of the things you'll often hear as a programmer is that to be successful, you need to be constantly learning.  Sometimes that's learning about a new technology, or learning a technology you use more in depth.  It feels to me that this is getting harder and harder - there are always more frameworks, more programming languages, more tools to learn.  Keeping up is difficult, especially if you have other people or things that demand your time.  I have a little trick I've been using for some time, and I'd like to share my secret with you, dear reader.  I call it *lazily evaluated learning*.

If you know what lazy evaluation is already, you may see where I'm going with this, and you can skip this explanation.  Put simply, lazy evaluation is a technique that some programming languages, such as Haskell, use where a piece of code isn't actually run until its result is needed.  It looks something like this:

```javascript
let result = reallyExpensiveComputation();
if(userShouldSeeResult) {
  displayResult(result);
}
```

In the example above, `reallyExpensiveComputation` is only run if `userShouldSeeResult` is true.  So, how do you apply this to learning?

The idea behind lazily evaluated learning is to defer learning until you need to know something, but keep enough information on *what* you need to know.  For example, there is a lot of information on writing Haskell out there, such as [this overview by Alexis King](https://lexi-lambda.github.io/blog/2018/02/10/an-opinionated-guide-to-haskell-in-2018/). I'm not actively learning Haskell right now, but if I start someday, whether for fun or for a project, I have a list of articles in my [personal wiki](https://hoelz.ro/blog/tiddlers-green) tagged with "improve haskell" that I can fall back on.

All you need to do this is have a good source of articles (I like
https://lobste.rs, but whatever works for you!) and some sort of personal
archive, preferably with tagging, whether that be something like TiddlyWiki or Evernote.  Another tool you can use, which especially helps when it's a skill
you use too rare to remember effectively, but you stil use semi-regularly (for
me, this is R), is to use a spaced repetition flashcard program like
[Anki](https://apps.ankiweb.net).  This allows you to load a skill into your brain very quickly.

I actually have cashed in on this technique in the past: when I started at my current job at Threadless (a Python shop), I had dabbled in, but never seriously used, Python.  Having a list of Python resources to review when I started really helped me to skill up quickly and hit the ground running.  This idea has helped me manage the fatigue that comes with trying to keep up, and hopefully it can do the same for you!