Welcome to the Linux Foundation Forum!

Chapter 9 doesn't explain what event emitters are.

Options

This is what the chapter starts with

The EventEmitter constructor in the events module is the functional backbone of many Node core API's. For instance, HTTP and TCP servers are an event emitter, a TCP socket is an event emitter, HTTP request and response objects are event emitters. In this section we'll explore how to create and consume EventEmitters.

followed by how to create them. No explanation is given what they are.

How are anyone expected to be able to understand what the chapter is about, then it haven't been explained?

Think of this chapter as a 10000 lines script, where the very first variable haven't been defined. Result: sorry to say, but it makes it completely unusable.

A side note. The requirements for the course are written as

This course is for those starting out in web application development who want to gain more practical skills and improve their abilities. The course is also useful for web application developers preparing for the JSNAD certification exam. Only a basic knowledge of the command line is required.

With words such as starting out in web development and Only a basic knowledge of the command line is required code such as

class MyEmitter extends EventEmitter {
  constructor (opts = {}) {
    super(opts)
    this.name = opts.name
  }
}

is way to complicated, and is unfair to give based on the course requirements.

The requirement should have been strong OOP skills needed.

Comments

  • k0dard
    k0dard Posts: 115
    Options

    Dear mje,

    We see a lot of your posts and all you do is complain... :smile:

    This forum, as far as I've understood, is made for course participants to help each other out. I'm writing this post from good heart and I hope that's how you'll take it.

    I think you're not being constructive for yourself nor for the others. The piece of code you're complaining about is explained in the chapter 5, the one about which you complained also and said it is unnecessary. If something isn't explained or isn't clear, you can look it up on the internet and expand your knowledge further. Expecting that you'll learn everything about a subject from one course is illusory. By opening up new questions and having to search for something by yourself you're not only going to learn but become capable of solving a problem in future on which you don't know nothing about, which is in my opinion the most important quality for you as a future problem solver. ;)

    Also, I don't understand your position. Do you already know everything about node.js and then give remarks? In which case - why did you take the course in the first place? Or you're studying and being frustrated because you don't understand something in the course? In which case you can ask a question on this forum and I'm sure someone will try to explain.

    I understand that learning can be frustrating. Before taking this course, I've done a lot of training on freeCodeCamp, which I can recommend for the exact same reasons you're complaining about. The concept is that you're given very basic input into the subject and then you're expected to do a project (like a small app). Do you have enough knowledge to do it ? Of course not. Is it frustrating ? Very. But then you try and fail and try better and fail better and in the end you come up with a solution, and everything works, and it's soooooo satisfying. But then you realize that the automatic check is bugging and you spend one more week debugging the automatic checker that is suppose to validate your solution, and you're not even supposed to do that. :s:D The process is frustrating, you're forced out of your comfort zone, but once you do it you have the feeling that the world is yours, that no mountain is too high and that you can do anything!

    We're all human, we make mistakes, nothing is perfect... The question is what is the best thing to do (for yourself AND for the community - and paradoxically it's the same thing :smile: ) ? If you really want to help yourself and other people that find themselves in the same situation, you can try to provide solutions for the problems you're encountering and some random guy like me would be much more grateful reading that than your complaints :smile:

    I wish you all the best,

    k0dard

    P.S.
    Sorry for the long post.

  • k0dard
    k0dard Posts: 115
    Options

    And concerning your question about what emitters are, you can find a good answer here:
    https://nodejs.org/en/knowledge/getting-started/control-flow/what-are-event-emitters/

  • coop
    coop Posts: 915
    Options

    well said and appreciated :)

  • gregsheppard
    Options

    Right on @k0dard, nothing to apologize for.

    @mje, if you need help with anything related to the course this forum is a great resource and we're happy to assist but you're not going to get much affirmation if all you do is come in here and piss on everything. Consider that the problem may be you and not the course.

  • mje
    mje Posts: 12
    Options

    If something isn't explained or isn't clear, you can look it up on the internet and expand your knowledge further. Expecting that you'll learn everything about a subject from one course is illusory. By opening up new questions and having to search for something by yourself you're not only going to learn but become capable of solving a problem in future on which you don't know nothing about, which is in my opinion the most important quality for you as a future problem solver.

    Why have a course then at all? Why not just link to existing courses on Youtube?

    If you buy a product in a shop for $550. Do you expect it to work? What if it doesn't? Do you complain? If, why do you complain? Why not acquire the knowledge and skills and fix it your self?

    Also, I don't understand your position. Do you already know everything about node.js and then give remarks? In which case - why did you take the course in the first place? Or you're studying and being frustrated because you don't understand something in the course? In which case you can ask a question on this forum and I'm sure someone will try to explain.

    I am from the enerprise world, where it is fine and good to have skills, but a certificate is better. I figured a cert from LF would have value, as I expected the course to be sharp, precise, to the point and of course without errors.

    Where I come from, failure, mistakes, bugs, and anything from perfect are not acceptable. The work environment I am in one have to perform all day, and delivery on time. No excuses.

    So the last few days I learned something new. Not everyone or everything are like that. I expected this course to be flawless and with examples that were boiled down to the absolute minimum to illustrate the subject in matter. Also I expected LF and the author to be professionel and be welcoming critical feedback even if it is harsh. It it only through negative criticism improvements are made.

    But it seams I were wrong. Neither LF or the author have an interest in that. And don't be offended by this. This is a choice you have made. Had it been me, I would have appreciated if someone took the time and effort to improve my work or me as a person.

    Yes, there have been 10 updates to the course, but that really says something of the state the course were in when it was released.

    I figured my critical feedback would be welcomed, but I get the message. I won't spend anymore of my time trying to help improve the course.

  • k0dard
    k0dard Posts: 115
    Options

    Why have a course then at all? Why not just link to existing courses on Youtube?

    You could do that - maybe nodejs documentation in combination with MDN docs and stack overflow rather than you tube, BUT you would lack the competences necessary to create a learning path. It takes knowledge to decide what to teach and great effort to organize everything in certain order.

    If you buy a product in a shop for $550. Do you expect it to work? What if it doesn't? Do you complain? If, why do you complain? Why not acquire the knowledge and skills and fix it your self?

    Let's say I pay a course to learn opera singing and surprisingly I fail terribly. Does it mean that the course is not good ? Or even if I buy a surf board and I can't surf ? Or if I pay for an exotic trip and then ruin my vacation, limited by my expectations, who's fault is it ?
    Personally, I'm a bit fed up with everyone today having this consumer mentality. While it is understandable for products, I don't think it's applicable on other things, and I'm sorry but not everything is a product. Learning is not a product, it's an experience.
    Linux Foundation is a foundation and a non-profit. It is not Walmart. By paying for courses you're at the same time supporting development of the open source community and you need to adopt the adequate mindset. We give and in return we grow and community thrives.

    Where I come from, failure, mistakes, bugs, and anything from perfect are not acceptable. The work environment I am in one have to perform all day, and delivery on time. No excuses.

    Sounds awful, sorry to hear that.

    It it only through negative criticism improvements are made.

    Actually it's quite the opposite, the criticism needs to be constructive. By saying rude things like you do you just make people feel bad. If you're criticizing try to suggest a solution or an improvement.

    By reading your conclusion I would say you didn't learn anything, you just stayed with your mindset and have the same attitude you've had in the beginning. Also you didn't comment on the post where you were wrong about quiz questions but hasty to write negative comments...

    I think this is becoming off topic, so as already said - if you have questions concerning nodejs I'm sure you'll find people happy to help :)

  • davidmarkclements
    Options

    thanks to everyone who's posted in this thread.

    An event emitter is something that emits events, it's in the name. Beyond that, in terms of specifically what it does and how it operates, the entire chapter is dedicated to that. @mre if you haven't already you might want to check out the free introductory course here: https://training.linuxfoundation.org/training/introduction-to-nodejs-lfw111/

Categories

Upcoming Training