nodejs / code-and-learn

A series of workshop sprints for Node.js.
164 stars 79 forks source link

Code And Learn at NodeFest 2016 #58

Closed yosuke-furukawa closed 7 years ago

yosuke-furukawa commented 8 years ago

Hi folks. NodeFest is the largest Node.js conference at Japan.

I am an organizer of the conference, I would like to open code-and-learn-jp on NodeFest. Japan has 1 collaborator (me) and 1 core team member (shigeki) and some great nodeschool staffs (martin, ledsun, watilde, tako-black, etc). We would like to support contribution to nodejs/core.

And I would like to list up the contribution point of Japanese node beginners. I guess we will receive some PRs on 12th November. We will follow English communication and some other commit techniques.

yosuke-furukawa commented 8 years ago

Contributing Point:

doc typo:

doc improvement:

Trott commented 8 years ago

If you need more issues, one thing you can do is search through the test files for assert.equal(). In almost all cases, the test could be improved by using assert.strictEqual() instead. The one exception I can think of might be test-assert.js where use of assert.equa() may be necessary.

yosuke-furukawa commented 8 years ago

Contributing Point:

test:

const server = http.createServer((req, res) => {
  if (req.url === '/explicit') {
    explicit(req, res);
  } else {
    implicit(req, res);
  }
}).listen(common.PORT, common.mustCall(() => { // should use 0
  const url = `http://localhost:${common.PORT}`; // should use server.address().port
  let left = 2;
  const check = common.mustCall((res) => {
    left--;
    assert.notEqual(res.headers['content-type'], 'text/html');
    assert.notEqual(res.headers['content-type'], 'gotcha');
    if (left === 0) server.close();
  }, 2);
  http.get(`${url}/explicit`, check).end();
  http.get(`${url}/implicit`, check).end();
}));
yosuke-furukawa commented 8 years ago

@trott thank you!!! sound so good. I am currently searching contribution point on code-and-learn on nodefest.

Trott commented 8 years ago

Here's another one: There are a number of instances of setTimeout() where the function is called without a duration (the second argument). Node.js will treat that the same as calling it with a duration of 1. In many of these cases, it might be better to use setImmediate().

Here are some of those cases. I have not reviewed them to verify that setImmediate() is better, but that might be an appropriate exercise for a first time committer.

yosuke-furukawa commented 8 years ago

test: use port 0 instead of common.PORT

  server.listen(common.PORT, function() { // use 0 port
    socket = net.connect(common.PORT, '127.0.0.1', socketConnected); // use server.address().port
  });
Trott commented 8 years ago

Japan has 1 collaborator (me) and 1 core team member (shigeki)

@ronkorving is a collaborator and lives in Tokyo.

yosuke-furukawa commented 8 years ago

@trott ah, that's so good. I will list these points.

ronkorving commented 8 years ago

@Trott @yosuke-furukawa Indeed :) I'm not too active in the Japanese Node community, but wouldn't mind trying harder :) My Japanese is not yet 100% what I would like it to be. In any case, I signed up for Sunday (visitor) and wouldn't mind helping with the organization next year either if that's appreciated. I'll see you on Sunday. 楽しみにしてます ^^

jasnell commented 7 years ago

@yosuke-furukawa I'm definitely looking forward to being there and will help out in whatever way that I can. I just want to confirm that the Code and Learn is scheduled for Saturday afternoon, correct? I want to take a little bit of time Saturday morning to sight see a little bit and I want to make sure I plan things so I won't be late to the Code and Learn :-)

shigeki commented 7 years ago

I'm going to join it to help participants and take care of what tests and docs can be good for the first contributions. But actually, the class is just one and half hour so I think it is too short for novices.

Instead of submitting a new PR to nodejs repo, I made an alternative repo of node to give such users the first experiences of contributions in https://github.com/shigeki/node_testpr/ . It can be a training for them if they submit a fake PR such as https://github.com/shigeki/node_testpr/pull/1 .

Users can choice which repo they want to work on during the course.

shigeki commented 7 years ago

I've just submitted some issues of test failures to be reserved for this course in https://github.com/nodejs/node/issues/9509, https://github.com/nodejs/node/issues/9510 and https://github.com/nodejs/node/issues/9511

yosuke-furukawa commented 7 years ago

@jasnell

I just want to confirm that the Code and Learn is scheduled for Saturday afternoon, correct?

Yes!!! Code And Learn will begin 15:45 on Saturday, and the end time is 17:15.

And I really would like you to attend NodeDiscussion on Saturday morning, almost 90 min (11:00-12:30). This discussion is unconference style. We would like to discuss about Node.js good point/bad point/wishlist. I would like share our opinions to node core committers.

If you don't have any time on Saturday morning, it is OK, but if you have time, please come!!!!!

yosuke-furukawa commented 7 years ago

@ronkorving Ya!!! please help us !!!! You can come our venue and speak to our receptionist as mentor. you can join :)

yosuke-furukawa commented 7 years ago

@shigeki awesome!!! I will wrap up these contribution point on this Thursday.

Trott commented 7 years ago

test/sequential/test-next-tick-error-spin.js line 43

You can remove that one from the list as I'm in the process of fixing it while refactoring a bunch of other things in the test. Sorry about that.

You can replace it, though with these tests which all have at least one instance of setTimeout() called without a second argument, and thus are candidates for possibly using setImmediate() instead:

ronkorving commented 7 years ago

@yosuke-furukawa Sounds good, I'll try to make it! :) Basically just show up before 3:45?

yosuke-furukawa commented 7 years ago

@Trott thank you soooooooooooooooo much!!!!!!!!!!!!!!!!!!!!!!

yosuke-furukawa commented 7 years ago

@ronkorving Yes! we will start at 15:45 on dots Shibuya, tokyo. https://eventdots.jp/space

Fishrock123 commented 7 years ago

https://coverage.nodejs.org/coverage-fb05e31466ac0bad/root/internal/process/stdio.js.html

  1. A pseudo-tty test that manually fires 'SIGWINCH' and makes sure none of the properties set by _refreshSize have been changed.
  2. Add the stderr.destroy/stderr.destroySoon error checking to the test which already checks that for stdout.
yosuke-furukawa commented 7 years ago

@Fishrock123 Thank you sooooooooo much !!!!! This coverage information is really helpful for us.

yosuke-furukawa commented 7 years ago

All contribution point: docs:

doc improvement:

test assertion improvement:

test failure with build option :

test timing API improvement: Use setImmediate instead of setTimeout().

test use port:0 instead of common.PORT :

coverage improvement:

https://coverage.nodejs.org/coverage-fb05e31466ac0bad/root/internal/process/stdio.js.html

Trott commented 7 years ago

assert.deepEqual would be better to use assert.deepStrictEqual

We have a lint rule for that so you shouldn't find any examples of deepEqual that haven't been explicitly excused as necessary exceptions (e.g., in test-assert.js).

yosuke-furukawa commented 7 years ago

@Trott OK, I updated.

dorako321 commented 7 years ago

i will try to fix this doc/dns.md: line 263 e.g., => e.g.

akito0107 commented 7 years ago

I will try to fix test/parallel/test-cluster-net-send.js !

fossamagna commented 7 years ago

I try to fix test: test/parallel/test-net-socket-destroy-twice.js use port 0 instead of common.PORT https://github.com/nodejs/code-and-learn/issues/58#issuecomment-258661387

fand commented 7 years ago

I'm gonna try test/parallel/test-stream-transform-objectmode-falsey-value.js line 33!

ikasumiwt commented 7 years ago

I'll try to fix doc/http.md: line 553/856 e.g., => e.g.

saitoxu commented 7 years ago

I'll try to fix test/parallel/test-http-status-reason-invalid-chars.js: use port 0 instead of common.PORT

nanocloudx commented 7 years ago

I will try to fix doc/tls.md: line 762 836 1026 e.g., => e.g.

YutamaKotaro commented 7 years ago

I will try to fix doc/cluster.md: line 147, 499 has eg., it would be better e.g..

mkamakura commented 7 years ago

I'll try to fix test/parallel/test-tls-connect-address-family.js : use port 0 instead of common.PORT

utano320 commented 7 years ago

I'll try to fix doc/repl: line 6 has includable, it would be better includible.

pg-ito commented 7 years ago

I'll try to fix doc/modules.md: line 132 lookups, it would be better looks up.

mganeko commented 7 years ago

I'll try to fix test/parallel/test-stream2-push, using setImmediate() instead of setTimeout()

akito0107 commented 7 years ago

I'll try to improve coverage of stdio .

fossamagna commented 7 years ago

I will try to fix test/parallel/test-stream-unshift-empty-chunk.js

nao215 commented 7 years ago

I'll try to fix test/parallel/test-stream-unshift-empty-chunk.js

applideveloper commented 7 years ago

送っちゃった https://github.com/nodejs/node/pull/9579/files

shigeki commented 7 years ago

I would like to ask for English native speakers to confirm if series of PRs to correct e.g., are right in English grammar.

ronkorving commented 7 years ago

Good job everyone :) I had a blast this weekend. Thank you all.

Fishrock123 commented 7 years ago

@yosuke-furukawa do you know if anyone took up the two suggestions I had?

yosuke-furukawa commented 7 years ago

@Fishrock123 Unfortunately, no one choose your suggestions, everyone chooses minor typo and minor test fix. BUT I share coverage information to Japanese noders.

Fishrock123 commented 7 years ago

Ok, just wanted to know so I could pass them on to others/do them myself. :)