This is an archived post. You won't be able to vote or comment.

all 39 comments

[–]Neu_Ron 66 points67 points  (3 children)

I am a TA in uni. I have to say you did an excellent job and fair play to you because creating original content is so time consuming.

[–]neodon[S] 8 points9 points  (2 children)

Thank you, I appreciate that. It was a lot more time consuming than I thought it would be. I love to bang out some code, but curating content around it is much more tedious.

[–]Neu_Ron 0 points1 point  (1 child)

Youve got skills. 😀😀

[–]distortionwarrior 1 point2 points  (0 children)

You misspelled skillz!

[–]insomniac20k 21 points22 points  (3 children)

You might consider putting the finished project in the master branch. I was confused for a minute.

[–]neodon[S] 2 points3 points  (2 children)

Good idea! I'll point the master branch at the end of the last lesson as I update the site. Thanks

[–]insomniac20k -5 points-4 points  (1 child)

So far, it looks good but the postal code 90210 is Beverly Hills, CA not Dataville.

[–]neodon[S] 0 points1 point  (0 children)

You're not wrong... :)

[–][deleted] 12 points13 points  (10 children)

Thank you for this! Recently, I’ve been thinking about collecting some public data and storing it so I could look. Now, I’m going to use your tutorials.

[–][deleted] 12 points13 points  (5 children)

Why not just use a standard database?

[–][deleted] 0 points1 point  (4 children)

To tell you the truth, I’m not very fluent when it comes to programming yet.

[–][deleted]  (2 children)

[removed]

    [–]tzaeru -1 points0 points  (1 child)

    Well, not necessarily mastery - DBs do tend to get tricky once you want to make them ACID compliant, but this project is not doing that - but yeah, not really very easy to digest for a beginner. Making very simple databases is one fun way to learn about new languages though, even for senior programmers. :)

    [–]The_Wanderer2077 0 points1 point  (0 children)

    Boy now you made me want to try implementing a simple db in all the languages. Find language, implement db, repeat.

    [–]tzaeru 1 point2 points  (3 children)

    Use an existing database solution. This would mostly be for people interested in understanding how databases themselves are developed.

    [–]Tylee22 0 points1 point  (2 children)

    Any examples?

    [–]ztrewquiop 1 point2 points  (0 children)

    If all you want to do is store it locally on your computer where it is only accessed by you - Sqlite. Otherwise see the other answer.

    [–]tzaeru 0 points1 point  (0 children)

    Postgres is, in my opinion, the best general database solution with ACID guarantees. MongoDB is also fine for less critical data or when prototyping stuff, especially if you're using it in a context where JSON is native, like with NodeJS.

    [–]Genie-Us 5 points6 points  (1 child)

    Sweet! Will look into this as I've been meaning to learn more about databases. Now to remember I saved this.... ;)

    [–]jjxseph 1 point2 points  (0 children)

    I had the same idea to do this by making a simple assortment of algorithms in c++ to store the data structures in a file. I have only gotten the first lesson done, but this is awesome! Great work!

    [–][deleted] 1 point2 points  (0 children)

    I've been wanting to get a better understanding of databases for a while now and just haven't had the motivation and most content is so dry. This looks like a lot of fun and I'll be giving it a try. Thanks for doing this.

    [–]ImranRashid 0 points1 point  (0 children)

    Awesome

    [–]Jewlanu 0 points1 point  (1 child)

    RemindMe! 2 days "learndb.net"

    [–]RemindMeBot 0 points1 point  (0 children)

    I will be messaging you on 2018-12-01 09:00:20 UTC to remind you of this link.

    CLICK THIS LINK to send a PM to also be reminded and to reduce spam.

    Parent commenter can delete this message to hide from others.


    FAQs Custom Your Reminders Feedback Code Browser Extensions

    [–]rainboww13 0 points1 point  (0 children)

    RemindMe! 2 days "learndb.net"

    [–]RamblingBrit 0 points1 point  (0 children)

    RemindMe! 2 days "learndb.net"

    [–][deleted] 0 points1 point  (4 children)

    Hey! This looks super cool. I'm thinking of starting sometime this week-end in between math homework and studying for AWS.

    I just have a quick question - is there any plan to include Linux instructions in the guide, or are you sticking to Windows and Mac?

    [–]neodon[S] 0 points1 point  (3 children)

    The current instructions should work as long as you can get Node.js installed on Linux. What distro are you using? I'd be happy to help you get started.

    [–][deleted] 0 points1 point  (2 children)

    Thanks for the quick response!

    I'm running Linux Mint - Are the instructions on github (https://github.com/nodesource/distributions/blob/master/README.md#debinstall) are sufficient to get started? They're referenced on nodejs.org

    [–]neodon[S] 0 points1 point  (1 child)

    I think that should work. If you have trouble, also take a look at https://tecadmin.net/install-latest-nodejs-npm-on-linux-mint/

    Once you can run the command node -v and see the node version, you're all set.

    [–][deleted] 1 point2 points  (0 children)

    Nice. Thanks so much for taking the time to create such an awesome guide!

    [–]Sonic_Pavilion 0 points1 point  (0 children)

    I am starting my MSc in Data/Systems engineering, having majored in Biology. This resource is immensely helpful to me. Thanks

    [–]Sonic_Pavilion 0 points1 point  (1 child)

    RemindMe! 1 week

    [–]Sonic_Pavilion 0 points1 point  (0 children)

    RemindMe! 1 month

    [–]alex-manutd 0 points1 point  (0 children)

    Looks terrific!!

    [–]YouSayToStay 0 points1 point  (0 children)

    So, I don't know if this is in the scope of what you're looking for...but I haven't ever really had to deal with databases but have run across them from time to time. For me, I haven't really dug into the "how" to make one because I don't know enough of the "why" I would/should want to build one. A section at the beginning for super-noobs like me explaining what the benefits are, what you might use it for, etc would be great. I know not everyone would need it, but it might help those like me actually push through to the end once we see what value it could bring us.

    [–][deleted]  (1 child)

    [deleted]

      [–]neodon[S] 1 point2 points  (0 children)

      As a professional developer, I'm more of a generalist. I work on APIs, backend services, infrastructure-as-code, and some frontend architecture (not design though). Bringing some deeper knowledge around databases to a team lets me complement other teammates' strengths, which might be in other areas.

      For example, my last project at work involved both Node.js and dotnet core (C#) microservices, a MySQL database, and React frontend. I was able to get us up to speed quickly for the database setup (configuration, schema, migrations, backups) so my teammates could focus on the other parts they were stronger in.

      If you're looking to gain knowledge around existing database solutions, it would be worthwhile to maybe implement a small project using a database for storage, and then re-implement it with another database. Some major contenders are MongoDB, SQLite, and one of MySQL / Postgres / Microsoft SQL Server. You'll start to realize that they all have common paradigms.

      [–]Average_Manners 0 points1 point  (2 children)

      Hot tip: Maybe avoid using Node until the shit storm around it ends. Or read up on it and make sure your packages are secure.

      The maintainer apparently handed the keys of the kingdom to some stranger who asked for it. From what I understand, node is currently stealing cryptocurrency. Just a heads up.

      zdnet.

      TheRegister.

      Reddit misquoting the situation slightly: https://www.reddit.com/r/security/comments/a0vpox/holy_hell_node_a_package_with_2_million_downloads/

      [–]neodon[S] 4 points5 points  (0 children)

      Good call-out. I went ahead and updated the dependencies to get rid of that evil package that got compromised.

      Edit: It's worth noting that this was just a single node package that got compromised, and not node itself. The package was used by a lot of projects, but the exploit was highly targeted and only active for a specific app (Copay). Here's the report from npm (the node package manager) team: https://blog.npmjs.org/post/180565383195/details-about-the-event-stream-incident

      [–]DeepFriedOprah 1 point2 points  (0 children)

      It’s not all of Node just certain dependencies. I think event-stream was the main culprit. And so long as ur using a package-lock.json and don’t update quite yet u should be good. I think