evanlucas / learnyoumongo Goto Github PK
View Code? Open in Web Editor NEWMongoDB workshop.
License: MIT License
MongoDB workshop.
License: MIT License
For example, this is my MongoDB ^3.0.0 solution for find exercise: https://paste.ubuntu.com/26192981/
learnyoumongo/exercises/remove/solution/solution.js
line 8 : _id: process.argv[2]
here should be :
_id: process.argv[3]
Anyone interested in helping maintain this project? Unfortunately, I don't have the time to dedicate to it :]
I was excited when my solution to Update worked and I checked my solution against the recommended solution and realized I had an error in my code. I went back and made changes to my code to make it even more wrong and nothing I did would cause the 'verify' solution to fail.
My bad code which should fail:
var url = 'mongodb://localhost:27017/learnyoumongo';
var mongo = require('mongodb').MongoClient;
mongo.connect(url, function(err, db) {
if(err) {
console.log("Error Connecting to DB: ", err);
db.close();
return 0;
}
var collection = db.collection('docs');
collection.update({
bob: 'bob'
},{
$set: { age: 41 }
}, function(err, data) {
if(err) throw err;
db.close();
});
});
I'm trying to do the remove exercise on Cloud 9 for freeCodeCamp. For some reason the "done" function is not defined. Any idea what nam module did't get installed?
Versions:
Ubuntu 14.04.5 LTS
Node.js v4.7.3
NPM 2.15.11
learnyoumongo verify program07.js
/home/ubuntu/.nvm/versions/node/v4.7.3/lib/node_modules/learnyoumongo/node_modules/mongodb/lib/mongo_client.js:336
throw err
^
ReferenceError: done is not defined
at /home/ubuntu/.nvm/versions/node/v4.7.3/lib/node_modules/learnyoumongo/exercises/remove/exercise.js:21:21
at connectCallback (/home/ubuntu/.nvm/versions/node/v4.7.3/lib/node_modules/learnyoumongo/node_modules/mongodb/lib/mongo_client.js:426:5)
at /home/ubuntu/.nvm/versions/node/v4.7.3/lib/node_modules/learnyoumongo/node_modules/mongodb/lib/mongo_client.js:333:11
at nextTickCallbackWith0Args (node.js:436:9)
at process._tickCallback (node.js:365:13)
I think it's always helpful when you first require use of the process.argv method to supply arguments to say something along the lines of:
**HINTS**
To access the arguments you can use the process.argv array.
**Important!** The process.argv array contains not just the arguments but also the runtime (first variable) and the script file loaded (second variable)!
This means the first argument is stored at the third position:
process.argv[2]
This was something I forgot when I first started on learnyoumongo, and only knew how to resolve (by printing all the process.argv) because I'd done another nodeschool workshopper some time ago.
This was cribbed from the tower of babel nodeschool.
The directions for this lesson are quite vague. The insert code was easy enough to write, but it took well over an hour to figure out that the solution expects you to log the JSON data to the console AND NOTHING ELSE.
An additional hint, something along the lines of "Note: Do not log anything to the console except the JSON object or your solution will not pass the verification." would be very much appreciated.
I'm sorry if this comes off as nitpicky.
Limit has another, more common meaning in the context of MongoDB, and this could cause confusion.
I feel "Find Project" or "Find And Project" would be a clearer name for the exercise.
After run learnyoumongo i see blinking menu.
When close (CTRL + C) i get error:
events.js:141
throw er; // Unhandled 'error' event
^Error: write after end
at writeAfterEnd (/usr/local/lib/node_modules/learnyoumongo/node_modules/readable-stream/lib/_stream_writable.js:144:12)
at DuplexWrapper.Writable.write (/usr/local/lib/node_modules/learnyoumongo/node_modules/readable-stream/lib/_stream_writable.js:192:5)
at ReadStream.passDataToMenu (/usr/local/lib/node_modules/learnyoumongo/node_modules/workshopper/menu.js:69:16)
at emitOne (events.js:77:13)
at ReadStream.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at ReadStream.Readable.push (_stream_readable.js:110:10)
at TTY.onread (net.js:523:20)
OS X 10.6.8
npm 3.3.9
node 4.2.1
learnyoumongo 3.0.0
Hello,
this is just a simple question.
To run this workshop, mongodb must be installed in the localhost (same host as the workshop) or can be used a mongodb installation from another host? I'm planning to run this workshop in a node based container and use a mongodb docker image to run a container with mongodb in the same network.
Thanks.
Hey,
While working on the update lesson, I wasn't able to get my code to pass, so I tried your solution and still had no luck.
I not sure if it has something to do with the versions of Node or Mongodb.
Let me know if this is enough information:
Mongodb version v3.2.1
Node v4.2.3
My solution: https://github.com/icodejs/nodeschool/blob/master/learnyoumongo/06-UPDATE/solution.js
Your solution: https://github.com/evanlucas/learnyoumongo/blob/master/exercises/update/solution/solution.js
Thanks!
In the current version of the Node.js MongoDB Driver, the second argument to the MongoClient.connect()
callback has changed from a database object to the MongoClient instance.
There are a few changes that should be made to the hint section in order to make it consistent with the current API.
It should also be noted that the close()
method is now called on the client instance rather than the database object.
The resources should probably also reference the current API documentation for the Collection's find method: http://mongodb.github.io/node-mongodb-native/3.0/api/Collection.html#find
Reference:
After my solution didn't pass, and I couldn't debug my own,
I copied your solution into "re.js" and ran 'learnyoumongo run re.js` -> This is the output
Expected document to be removed [ { _id: '554a655c0639034860349353', name: 'blah' } ]
Here is my solution to the UPDATE exercise:
var mongoClient = require('mongodb').MongoClient;
var url = process.argv[2];
mongoClient.connect(url,function(err,db){
if (err) throw err;
console.log(url);
db.collection('users').update(
{"username": "tinatime"},
{$set: {"age": 40}}, function(err,data){
if (err) throw err;
console.log(data);
db.close();
});
});
Also i am console.log url just for debugging and nothing is being outputted to the terminal - is console.log disabled by design? Thanks
Currently started (or tried) to start learnyoumongo in cloud9. Upon install, multiple error messages, however I was able to complete exercise one. (I was not able to verify that mongod had installed via mongod.exe or mongod --version---I felt the need to try both. I was able to see the version via learnyoumongo run [solution.js]. )
Exercise 2 however, nothing works. I cannot run the port , receiving the error "error parsing command line: unknown option small". It also gave me the advice to try mongod --help. Upon typing that command I receive the same error. I have tried adding a dependency mainly and linking that , tried installing mongo multiple times, deleted and recreated a workspace multiple times. Not sure what I'm missing and/or doing wrong.
FIND
Exercise 3 of 9
Use the parrots collection to find all documents where age
is greater than the first argument passed to your script.
Hey --
I just tried this tutorial and hit a wall on exercise three, as I do not have a parrots collection?
I can see this is a fresh repo, sorry if I've jumped the gun!
The description of the exercises is quite strange. It losts some information such as commands. Take ex.1 a example, its description shows as follows:
MONGOD
Exercise 1 of 9
Hey hey from . First, let's get MongoDB installed.
You can download MongoDB from .
We will also need to add it to your .
You do not have to create any file with a solution in this exercise.
Just run when you are ready with the installation.
I use a cloud IDE. But the problem didn't occur before.
The first two challenges don't require a user to write any code. So, the following messages don't make sense.
»To run your program, run: learnyoumongo run [solution.js]
» To verify your program, run: learnyoumongo verify [solution.js]
It would be better if the above messages are not shown for the first two challenges.
/cc @JoeDoyle23 Is it possible to hide messages based on the level of the challenge?
In the Find Project exercise, we're supposed to return documents with only the name and age properties using the MongoDB Node.js Driver.
The example provided shows a projection argument to the collection's find()
method and references the documentation for this method as a resource link. However, this is the method's implementation in Mongo Shell. The find()
method in NodeJS doesn't have a projection argument. Instead, a projection is applied using the project()
method on the Cursor returned by find()
.
An accurate example would look like this:
collection.find({
name: 'foo'
}).project({
name: 1,
age: 1,
_id: 0
})
References:
my first two steps are verified theres nothing missing but
theres no learnyoumongo database so i cant solve challenges after 2nd where can i get the database
im using ubuntu 15.10
It reads
## HINTS
To use the aggregate() function, one first needs the collection.
The aggregate() function takes an array of objects as the first argument.
This array will contain the different pipelines for the aggregation.
To read more about pipelines, please visit [Aggregation](http://docs.mongodb.org/manual/core/aggregation-introduction/).
To read more about aggregate(), please visit [`aggregate()`](http://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#aggregate).
The two main pipeline stages we will use will be $match and $group.
On github, https://github.com/evanlucas/learnyoumongo/blob/master/exercises/aggregate/problem.md, it looks fine,
but my terminal isn't able to process it.
This is my solution for the aggregate exercise, the problem is its giving this error-
var size = process.argv[2];
var url = "mongodb://localhost:27017/learnyoumongo";
var mongo = require("mongodb").MongoClient;
mongo.connect(url, function(err, db){
if(err) throw err;
var collection = db.collection("prices");
collection.aggregate({$match: {"size": size}}, {$group: {_id: "average"}, average:{$avg: "$price"
}}).toArray(function(err, results){
if(err) throw err;
console.log(Number(results[0].average).toFixed(2));
db.close();
});
});
/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/exercises/aggregate/exercise.js:34
db.collection('prices').remove({}, function(err) {
^
TypeError: Cannot read property 'collection' of undefined
at Exercise. (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/exercises/aggregate/exercise.js:34:5)
at next (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper-exercise/exercise.js:260:17)
at Exercise.end (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper-exercise/exercise.js:266:5)
at Workshopper.end (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper/workshopper.js:191:12)
at Workshopper.done (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper/workshopper.js:323:19)
at Exercise. (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper-exercise/exercise.js:149:14)
at /home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper-exercise/exercise.js:136:16
at Exercise. (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper-exercise/filecheck.js:10:14)
at FSReqWrap.oncomplete (fs.js:82:15)
I'm not even using .remove(), but it still gives the same error. I used the official solution but still getting the same error.
It's been nearly a year without an update to this repo. If you need someone to help maintain it, I'd be happy to lend a hand.
Ex 5 keeps failing with that error:
{ [AssertionError: { n: 1, ok: 1 } deepEqual { firstName: 'Jane', lastName: 'George' }]
name: 'AssertionError',
actual: { n: 1, ok: 1 },
expected: { firstName: 'Jane', lastName: 'George' },
operator: 'deepEqual',
message: '{ n: 1, ok: 1 } deepEqual { firstName: \'Jane\', lastName: \'George\' }',
generatedMessage: true }
✗ { n: 1, ok: 1 } deepEqual { firstName: 'Jane', lastName: 'George' }
My code:
var mongo = require('mongodb').MongoClient;
mongo.connect('mongodb://localhost:27017/learnyoumongo', function(err, db) {
if(err) throw err;
var collection = db.collection('docs');
collection.insertOne({firstName: process.argv[2], lastName: process.argv[3]}, function(err, data) {
if(err) throw err;
data = JSON.stringify(data);
console.log(data);
db.close();
});
});
Is it a bug or am I doing something wrong??
Thanks
My code is almost exactly like the solution code, but returns no documents. Going into the mongo console I ran show collections
. The only collections were docs, system.indexes, and users, but no parrots. I restarted mongod in one terminal (mongod --port 27017 --dbpath=./data --nojournal), and mongo in the next terminal and parrots did show up.
If anyone else is having this issue you may need to restart the db.
I had some problems on install:
#20
But it seemed that mongo was available:
mhurwicz:~/workspace $ mongod --version
db version v2.6.11
2015-11-05T19:20:17.076+0000 git version: d00c1735675c457f75a12d530bee85421f0c5548
But now trying to execute this code:
var mongo = require('mongodb').MongoClient
mongo.connect('mongodb://localhost:27017/learnyoumongo', function(err, db) {
// db gives access to the database
})
I get the following:
module.js:338
throw err;
^
Error: Cannot find module 'mongodb'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:286:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/home/ubuntu/workspace/find.js:1:78)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:475:10)
Wondering if the errors below indicate a problem? (I'm doing this on Cloud 9.)
$ npm install learnyoumongo -g
> [email protected] install /home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos
> (node-gyp rebuild) || (exit 0)
make: Entering directory `/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos/build'
CXX(target) Release/obj.target/kerberos/lib/kerberos.o
CXX(target) Release/obj.target/kerberos/lib/worker.o
CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
../lib/kerberosgss.c:36:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic push
^
../lib/kerberosgss.c:37:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
^
../lib/kerberosgss.c: In function ‘authenticate_gss_client_wrap’:
../lib/kerberosgss.c:362:19: warning: variable ‘server_conf_flags’ set but not used [-Wunused-but-set-variable]
char buf[4096], server_conf_flags;
^
../lib/kerberosgss.c: At top level:
../lib/kerberosgss.c:930:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
#pragma clang diagnostic pop
^
CC(target) Release/obj.target/kerberos/lib/base64.o
CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
SOLINK_MODULE(target) Release/obj.target/kerberos.node
/usr/bin/ld: cannot find -lkrb5
/usr/bin/ld: cannot find -lgssapi_krb5
collect2: error: ld returned 1 exit status
make: *** [Release/obj.target/kerberos.node] Error 1
make: Leaving directory `/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.2.0-c9
gyp ERR! command "/home/ubuntu/.nvm/versions/node/v4.1.1/bin/node" "/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok
/home/ubuntu/.nvm/versions/node/v4.1.1/bin/learnyoumongo -> /home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/learnyoumongo.js
[email protected] /home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected])
I've tried installing multiple times, both globally and locally, with and without sudo
. The installation always hangs after these two lines of output:
> [email protected] install /usr/local/lib/node_modules/learnyoumongo/node_modules/mongodb/node_modules/mongodb-core/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)
Setup:
This exercise challenged me a lot more than previous ones, and I'm trying to figure out what the advantage of using toArray is, as seen in the solution. My code (first block) passed fine, I just want to understand toArray's role in the solution (second block). Thanks.
const mongo = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/learnyoumongo';
var tSize = process.argv[2];
mongo.connect(url, function (err, db) {
if (err) console.error(err);
db.collection('prices')
.aggregate( [
{ $match: { size: tSize } },
{ $group: { _id: null, avgPrice: { $avg: '$price' } } } ],
function (err, avg) {
if (err) console.error(err);
console.log((avg[0].avgPrice).toFixed(2));
db.close();
});
});
var mongo = require('mongodb').MongoClient
var size = process.argv[2]
var url = 'mongodb://localhost:27017/learnyoumongo'
mongo.connect(url, function(err, db) {
if (err) throw err
var prices = db.collection('prices')
prices.aggregate([
{ $match: {
size: size
}}
, { $group: {
_id: 'total'
, total: {
$avg: '$price'
}
}}
]).toArray(function(err, results) {
if (err) throw err
if (!results.length) {
throw new Error('No results found')
}
var o = results[0]
console.log(Number(o.total).toFixed(2))
db.close()
})
})
All console.log calls in exercise 5 using learnyoumongo run [filename]
don't return anything. This might be by design, but I can't debug anything using this.
I'm on OSX 10.11, using Node v5.6.0, Mongo v3.0.7 and Learnyoumongo v3.0.1
EDIT It's not a platform-specific thing, it also fails on Ubuntu 14.04.4 with Node v4.4.0, Mongo v2.4.9, and learnyoumongo v3.0.1
My code:
console.log(process.argv);
MongoClient = require('mongodb').MongoClient;
console.log(MongoClient);
Output:
Crispin-laptop:mongo crispin$ learnyoumongo run insert.js
Crispin-laptop:mongo crispin$
Solution to remove
doesn't pass the test, I think it's referencing the update exercise. Even when pasting in the solution for the remove
step, it Failed.
zeffii@mongo:~/workspace $ learnyoumongo verify remover.js
✗ Document has incorrect age property.Expected: 40 Actual: 30
I don't think this is a "getting started" guide. It requires some understanding of mongodb, or at least databases in general. I made it past lesson 3, but I don't understand why and what is going on.
You might consider revising the description.
Challenge http://freecodecamp.com/challenges/waypoint-store-data-in-mongodb has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
In lesson 3 of the learnyoumongo there is no parrots collection.
bizzel:~/workspace $ learnyoumongo verify solution.js
Failed to load c++ bson extension, using pure JS version
/home/ubuntu/workspace/solution.js:28
mongo.connect(url, function(err, db) {
^
TypeError: Cannot read property 'connect' of undefined
at Object. (/home/ubuntu/workspace/solution.js:28:6)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:974:3
I found it easier to consult the Node.JS Driver Documentation rather than the documentation on MongoDB.com, which is what learnyoumongo currently uses.
I am getting this warning :
npm WARN [email protected] requires a peer of kerberos@~0.0 but none was installed.
Some of the automated workshops I've used (like https://github.com/azat-co/expressworks) have a feature where you can "run" rather than "verify". This can be helpful in producing and debugging code. It would be especially helpful for this workshop since so much of the code is dependent on database state.
Here are the instructions from Expressworks:
» To print these instructions again, run: expressworks print
» To execute your program in a test environment, run: expressworks run program.js
» To verify your program, run: expressworks verify program.js
» For help run: expressworks help
nvm
********on Cloud9 environment, so mongod becomes ./mongod*******
The exercise says to start mongo by running: ./mongod --port 27017 --dbpath=./data.
However, this gives the following parsing error on the console: Error parsing command line: Multiple occurrences of option "--dbpath"
It worked on my C9 just running this instead: ./mongod
I'm running from c9.IO, whenever I try to run the selected file with the command "learnyoumongo run file.js" I get the below error.
I tried playing around with the code and I tried it with a blank file, the result is always the same...
/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/mongodb/lib/server.js:235
process.nextTick(function() { throw err; })
^
TypeError: Cannot read property 'collection' of undefined
at Exercise.<anonymous> (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/exercises/find/exercise.js:37:5)
at next (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper-exercise/exercise.js:260:17)
at Exercise.end (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper-exercise/exercise.js:266:5)
at Workshopper.end (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper/workshopper.js:191:12)
at Workshopper.done (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper/workshopper.js:323:19)
at Exercise.<anonymous> (/home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper-exercise/exercise.js:149:14)
at /home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/workshopper-exercise/exercise.js:136:16
at /home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/exercises/find/exercise.js:20:21
at /home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/mongodb/lib/mongo_client.js:269:20
at /home/ubuntu/.nvm/versions/node/v4.1.1/lib/node_modules/learnyoumongo/node_modules/mongodb/lib/db.js:226:14
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.