Giter Site home page Giter Site logo

moddable-opensource / iot-product-dev-book Goto Github PK

View Code? Open in Web Editor NEW
53.0 10.0 20.0 1.46 MB

Source code for example apps from IoT Development for ESP32 and ESP8266 with JavaScript.

Home Page: https://www.moddable.com/book

JavaScript 92.76% C 7.24%
javascript iot esp32 esp8266 nrf52

iot-product-dev-book's People

Contributors

lprader avatar phoddie avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iot-product-dev-book's Issues

Type in code page 243.

Page 243 has this code

let r1 = new Resource("myData.dat");
let values = new Uint16Array(r1.slice(32, 10, false));

But slide uses start and end positions, not stop and offset, therefore values always will be undefined. Please consider changing the code to

let r1 = new Resource("myData.dat");
let values = new Uint16Array(r1.slice(32, 32 + 10, false));

Issues getting any graphics examples to work

Hi. I am trying to see the examples of CH9 and CH10 of the book. Normally, I can get any of the /Projects/moddable/examples to work, but when I go to install the book examples, I run into walls and errors.

So, for CH10, I will first run "mcconfig -d -m -p esp32/moddable_two" in the /host folder. It does its thing, and my Moddable Two reboots and shows "Read to install apps!" on the screen. Great!

I then go to /ch10-piu/multiple-screens and execute "mcrun -d -m -p esp32/moddable_two" and I either run into serial2xsbug.exe errors or my command box screen says "Starting xsbug..." and just sits there. It will launch xsbug and do absolutely nothing. Even if I remove "-d" and press enter, it just sits and does nothing.

I've now moved over to /ch10-piu/tiled-background and ran "mcrun -m -p esp32/moddable_two," which gives me the following then sits there without sign of anything happening (single quotes added at the beginning to prevent bold font):
'# xsc example.xsb
'# xsc check.xsb
'# xsc mod\config.xsb
'# png2bmp tile-color.bmp tile-alpha.bmp
'"# xsl "tiled-background".xsa"

Again, I can install anything from /moddable/examples without any issue. It's getting anything from this book to run that's the problem.

Any advice on getting these examples to work after I mcconfig the host folders?

Ch1 helloworld-gui - screen is undefined

Build environment: macOS

Target device: NodeMCU ESP32 Devkit (amazon)

Description

I'm going through chapter 1 and wired up the display on the ESP32. I'm attempting to run the helloworld-gui example.

Previously I ran mcconfig -d -m -p esp32/nodemcu from the ch1 hosts directory (not sure that's important). Then following the instructions I ran it again from the helloworld-gui directory.

It opened up the debugger and errored on screen

helloworld-gui/main.js (20) # Break: ?: get screen: undefined variable!

Images

Screen Shot 2022-08-07 at 7 52 27 PM

Other information

Relevant code: https://github.com/Moddable-OpenSource/iot-product-dev-book/blob/master/ch1-gettingstarted/helloworld-gui/main.js#L20

I'm assuming screen is a global that should be defined, and I'm missing a module?

The devkit esp32 has different pins but I found a pinout sheet online and used that. I double checked but I could have made an error with that as well.

Thanks

Page 129 contains incorrect instructions wrt mcconfig/mcrun

Page 129 of the book contains the notice: This section uses a different installation pattern from the one you learned in Chapter 1: rather than installing the host with mcconfig and then installing the examples using mcrun, you install the examples using mcconfig.

This does not appear to be correct. If you attempt to run mcconfig to deploy any of the network examples, you get an error about a missing modTimer.h file. If, however, you run mcconfig to deploy the 'host' that lives in the directory for the network chapter, you can then deploy the examples themselves using 'mcrun', and it works.

Error with code 3-21: Server can't be closed

I am testing listing 3-21 and I'm hitting these errors when the request is not a PUT request: (BTW, It works fine when it's a PUT request):

  • C:\js4IoT\moddable\modules\network\http\http.js (611) # Break: server: no function! on this line
  • C:\js4IoT\moddable\modules\network\http\http.js (756) # Break: server: no function! on this line
  • C:\js4IoT\moddable\modules\network\http\http.js (759) # Break: server: cannot coerce undefined to object! on this line
  • XS abort: unhandled exception
  • C:\js4IoT\moddable\xs\platforms\esp\xsPlatform.c (235) # Break: C: xsDebugger! on this line
  • and then the board resets!

I believe the problem is with this line where this (meaning the request) is closed.

If I do not close the request, then there is no error :-)

MOD examples don't work

Page 137-

Insufficient information to load mods examples, at least in windows 10.

So far, page 137, I have been able to get all the examples working, including "$EXAMPLES/ch3-network/host" with the msconfig command.

From now on none. Neither with mcrun nor with mcconfig. They all give error: "$EXAMPLES/ch3-network/http-get", "$EXAMPLES/ch3-network/http-get-json"...

D:\Usuarios\ni\Projects\iot-product-dev-book\ch3-network\http-get>mcrun -d -m -p esp32 ssid="WiFi-niN1" password="4es6tf8uh8"
D:\Usuarios\ni\Projects\moddable\tools\serial2xsbug\serial2xsbug_win.c(135): Se agoto el tiempo de espera del semaforo.
NMAKE : fatal error U1077: 'D:\Usuarios\ni\Projects\moddable\build\bin\win\release\serial2xsbug.EXE' : código devuelto '0x1'
Stop.

Since I have not found the solution, I can only indicate that some extra clarification is necessary.

Is mcrun M5Stack Core2 ready?

Hi there,

Setup:

Windows 10 x64
Moddable SDK esp-idf-4 branch
ESP-IDF 4.2 configured as per instruction in wiki

I am following the example on this book using and M5Stack Core device. running mcconfig on any example with the following command works fine, for example:

> cd %EXAMPLES%\ch1-gettingstarted\helloworld-gui
> mcconfig -d -m -p esp32/m5stack_core2

However, installing examples via mcrun is currently not working even though installing the host works fine. Example:

installing host (works fine)
> cd %EXAMPLES%\ch3-network\host
> mcconfig -d -m -p esp32/m5stack_core2

installing example (giving errors)
> cd %EXAMPLES%\ch3-network\http-get
> mcrun -d -m -p esp32/m5stack_core2

setting VERBOSE=1, few problems were observed:

  1. UPLOAD_PORT environment variable is not detected, when mcrun command is used, causing it to default to COM3 and default debugger speed
  2. running serial2xsbug with the -install argument directly on the cmd, the example seems to be uploading fine, but no changes whatsover can be observed on the xsbug or core2 screen, except that it seems like the host code is just being refreshed.

Any idea regarding this? Thanks

Is an "ESP32 NodeMCU module" an ESP32-DevkitC?

In the Hardware Requirement's section, a minimal setup for ESP32 is described as an "ESP32 NodeMCU module". The best that I can figure from searching is that this is an early name for the commonly available ESP32-DevkitC of which there are several related designs:

Should I expect to be successful using any of those DevkitC modules (or of the hundreds of clones)? Are there models that are known to have problems (more than some IOs being routed to different pins)?

mcrun command problem?

Why when I use 'mcrun' command to build for esp32, it always returns to
###TypeError: cannot coerce undefined to object

[Bug] Cannot run `ch3-network/http-get` example

I'm trying to run example in https://github.com/Moddable-OpenSource/iot-product-dev-book/tree/master/ch3-network/http-get but I'm running into a couple of issues:

  1. Trying to build using mccrun gives me the following error:
Installing mod.### fxCommandReceived: remote operation id 0xff0f failed with resultCode -8
make: *** [debug] Error 255
  1. When I try to build via mcconfig, I get the following error:
WARNING: No 'creation' found in manifests.
   Did you intend to build using mcrun?
### Error: project manifest or included manifest must include creation

Figured that maybe I need to adjust the manifest so that it includes "$(MODDABLE)/examples/manifest_base.json" since the previous examples seemed to have it. So added that and ran mcconfig again, but then I get the following error in xsbug:

# Break: (host): module "http" not found!

Installed the Moddable SDK via xs-dev. Here's the output for xs-dev doctor:

xs-dev environment info:
  CLI Version                0.30.3                                                                                   
  OS                         Darwin                                                                                   
  Arch                       x64                                                                                      
  Shell                      /bin/bash                                                                                
  NodeJS Version             v20.11.0 (/Users/andrewchou/Library/Caches/fnm_multishells/87784_1708746403799/bin/node) 
  Python Version             3.12.2 (/Users/andrewchou/.local/share/mise/installs/python/3/bin/python)                
  Moddable SDK Version       4.4.0 (/Users/andrewchou/.local/share/moddable)                                          
  Supported target devices   mac, esp32                                                                               
  ESP32 IDF Directory        /Users/andrewchou/.local/share/esp32/esp-idf  

Chapter 5 files example error

Build environment: Windows

Target device: NodeMCU ESP8266

Description

When executing the file example.js from chapter 5 files folder and error is thrown that it cannot locate the modTimer.h header.
This file exists in \moddable\modules\base\timer but the script cannot locate it.
C:\Users\rippe\Projects\moddable\xs\platforms\esp\xsHost.c:67:23: fatal error: modTimer.h: No such file or directory
#include "modTimer.h"

Steps to Reproduce

  1. Build and install the host using this build command: mcconfig -d -m -p esp/nodemcu
  2. See error: fatal error: modTimer.h: No such file or directory
    #include "modTimer.h"

[Bug]

Build environment: Windows11

Target device: NodeMCU ESP32

Description
mcrun_issue

Pages 12 and 13 - Installing helloworld
The host installation was done with success.
When running mcrun -d -m -p esp32 the application stops reporting an issue involving idf-py and no access to serial2xsbug.exe and xsbug according attached report.
Best regards

"in JavaScript even a number is an object!"

Thanks for writing this awesome book and the SDK!

On page #38, in the section titled "Converting Numbers to Strings", the first paragraph says "yes, in JavaScript even a number is an object!" but I believe that it should probably say "yes, in JavaScript even a number can be treated as an object!".

The example you show for this illustrates the point. The variable a is a primitive number, not an instance of the Number class, which would be initialized as let a = new Number(1);

The next line uses the variable a as an instance of the class Number because JavaScript automatically converts it using a term called "boxing".

[Bug] fatal error U1050

Note: This template is intended to help organize your report. Feel free to modify it as you need. The most important thing is to file a clear, detailed report, not to follow the template.

Build environment: macOS, Windows, or Linux

Windows

Target device: NodeMCU ESP8266, NodeMCU ESP32, Moddable One, Moddable Two, desktop simulator, etc.

Moddable Two

Description

A brief summary of the problem.

I've followed the development environment setup and have everything setup (I think) but when I try to deploy the host to the device, I get the following error:

C:\Users\john\dev\iot-product-dev-book\ch1-gettingstarted\host>mcconfig -d -m -p esp32
D:\dev\hardware\moddable\moddable\build\tmp\esp32\debug\ch1host\makefile(167) : fatal error U1050: Detected ESP-IDF version 99b94d6. Expected ESP-IDF version v3.3.2.

When I run the same command for an esp device, it works.

I'm a little confused about the setup steps because you have me installing the Espressif IDF but also cloning it. Both instances end up on the Windows PATH.

Looking at the cloned repo, I think I'm at the right branch, but its not working:

D:\dev\hardware\moddable\esp32\esp-idf>git checkout v3.3.2
Updating files: 100% (8670/8670), done.
Note: switching to 'v3.3.2'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 9e70825d1 Merge branch 'bugfix/sntp_init_can_run_before_net_connection_v3.3' into 'release/v3.3'

D:\dev\hardware\moddable\esp32\esp-idf>git submodule update

D:\dev\hardware\moddable\esp32\esp-idf>git status
HEAD detached at v3.3.2
nothing to commit, working tree clean

D:\dev\hardware\moddable\esp32\esp-idf>

I have 30 years of experience as a professional software developer and I've written 7 books on software development (6 on mobile development) topics. I'm only telling you this to save some time.

If you are reporting a problem with the text, please include the page number.

If you are reporting a problem with an example, please include the name of the example.

If you are reporting a problem with a figure, please include the figure number (e.g. 6-12).

Steps to Reproduce

  1. Build and install the host using this build command: mcconfig -d -m ...
  2. Build and install the example using this build command: mcrun -d -m ...
  3. Click on '....'
  4. See error

Images

Screenshots or photos to help explain the problem

Other information

Any other details you believe may be helpful in understanding the issue, reproducing the unexpected behavior, or fixing the example

Moddable SDK 4.2 breaks all of the code examples!

Note that this bug report involves multiple issues, I will list them starting at the surface...

Build environment: Linux

Target device: Moddable Two used a reference, but affects all platforms


Issue 1 - Broken Manifest Files
Description

The changes in the $(MODDABLE)/examples/manifest_xxx files introduced in v4.2 break all of the examples; the only examples that (I'm assuming) aren't broken are the ones who's manifest files were updated in commit eea713c

The problem stems from the recent refactoring that resulted in changes to the examples/mainifest files, so that including $(MODDABLE)/examples/manifest_mod.json no longer references the timer code.

Steps to Reproduce
Compiling any of the book examples using the v4.2 SDK will result in a compilation error

# cc xsHosts.c (strings in flash)
In file included from .../moddable-public/xs/platforms/mc/xsHosts.c:43:
.../moddable-public/xs/platforms/mc/xsHosts.h:29:18: fatal error: modTimer.h: No such file or directory
   29 |         #include "modTimer.h"
      |                  ^~~~~~~~~~~~
compilation terminated.

Resolution
Adding "$(MODDABLE)/examples/manifest_base.json" to the includes of example manifest files resolves this issue. I would do some bash-foo and grep/sed the example manifest.json files and send you a pull request, but I don't have a framework in place for doing automated testing of the repo...


Issue 2 - PIU Examples no longer match the API
Description

There are multiple issues with the PIU based examples, as the last update to ch10-piu folder was ~2 years ago... Here I'm using the ch10-piu/helloworld as an example...

const textStyle = new Style({
	font: "24px Open Sans"
});

const sampleLabel = new Label(null, { 
	style: textStyle,
	string: "Hello, World",
	top: 0, bottom: 0, left: 0, right: 0
});

application.add(sampleLabel);

Issue (1) example.js vs main.js

Adding manifest_base.json will get the example to compile, but the program won't load do to a lack of a "main" module.

xsbug -> # break: (host): module "main" not found!

Issue (2) More manifest issues
Changing the file name to main.js and updating the modules section in the manifest will get the program to load but result in an undefined variable error due to the PIU module not being included...

xsbug -> helloworld/main.js (15) # Break: main: get Style: undefined variable!

Issue (3) Fundamental changes to the PIU API
Adding "$(MODDABLE)/examples/manifest_piu.json" to the include section fixes the missing symbols issue but the fundamental API pattern has changed so that 'application' is no longer a global symbol; as an aside I think this is a good design decision ;)

xsbug -> helloworld/main.js (25) # Break: main: get application: undefined variable!

...

Refactoring to use/export an Application object instance fixes that issues, but then the font isn't found as it hasn't been included in the resource section, etc...

Resolution
All of the PIU examples need to be refactored to work with the current version of the SDK, but the more fundamental issue is that the book is out of date... also the documentation on the website for piu is also out of date; see the sections prior to "Piu Object Reference"

As the book is supposed to be fundamentals guide to augment the online documentation, and as updating the PIU examples for the book repository would put it out of sync with the content of the book -- it would be helpful if some of the simpler PIU examples from the book were added to the collection of SDK examples to help round them out as the SDK examples tend to show higher-level concepts.

Hopefully you are working on a second edition of the book, but in the meantime it would seem like there should be a disclaimer with a link to the version of the SDK used in the examples.

I plan on keeping my copy as the book as I still find it to be a useful reference for the general architectural design decisions, but I unfortunately can't recommend it as a learning tool :(

[Question] ELF error while flashing host of chapter 3

I am trying to test wifi connection and mqtt of chapter 3.
I am using a esp32 devkit C board.
It works with ch1 examples and ch6 examples.

But when I do mcconfig -d -m -p 32 to flash the host of the chapter I get at the end (when tho esp32 reboots) a n ELR file error is thown and it enter gdb.

If I reflash it with host in ch1 it works... any idea of what is going on?

...\ch3-network\host>mcconfig -m -d -p esp32 ssid="mywifiSSIDhere" password="*********"
        1 archivo(s) copiado(s).
Checking Python dependencies...
Python requirements from d:\users\fernando\ProyectosProg\esp32\esp-idf\requirements.txt are satisfied.
Running ninja in directory d:\users\fernando\ProyectosProg\moddable\build\tmp\esp32\debug\idf
Executing "ninja all"...
[1/5] Performing build step for 'bootloader'
ninja: no work to do.
[3/3] Generating xs_esp32.bin
esptool.py v2.8
Running esptool.py in directory d:\users\fernando\ProyectosProg\moddable\build\tmp\esp32\debug\idf
Executing "C:\Python27\python.exe d:\users\fernando\ProyectosProg\esp32\esp-idf\components/esptool_py/esptool/esptool.py -p COM7 -b 921600 --after hard_reset write_flash @flash_project_args"...
esptool.py -p COM7 -b 921600 --after hard_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 4MB 0x1000 bootloader/bootloader.bin 0x8000 partition_table/partition-table.bin 0x10000 xs_esp32.bin
esptool.py v2.8
Serial port COM7
Connecting......
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 24:62:ab:cb:00:e4
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Compressed 18432 bytes to 11977...
Wrote 18432 bytes (11977 compressed) at 0x00001000 in 0.1 seconds (effective 1031.2 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 144...
Wrote 3072 bytes (144 compressed) at 0x00008000 in 0.0 seconds (effective 2730.7 kbit/s)...
Hash of data verified.
Compressed 1283696 bytes to 767572...
Wrote 1283696 bytes (767572 compressed) at 0x00010000 in 11.1 seconds (effective 927.2 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
Done
        1 archivo(s) copiado(s).
        1 archivo(s) copiado(s).
        1 archivo(s) copiado(s).
        1 archivo(s) copiado(s).
Launching app. Type Ctrl-C twice after debugging app to close serial2xsbug...
ELF file SHA256: 615b3f8e0480ffd4731229f086ba0a253ef9c9d1ac22353e18b9651e44f3a275
Backtrace: 0x400887fc:0x3ffbee90 0x40088a3d:0x3ffbeeb0 0x400d2983:0x3ffbeed0 0x40144893:0x3ffbef00 0x4013a4d9:0x3ffbef30 0x4012a5e8:0x3ffbefa0 0x40113bf7:0x3ffbf140 0x40108510:0x3ffbf1b0 0x40108059:0x3ffbf250 0x401081b8:0x3ffbf2e0 0x40133b19:0x3ffbf370 0x40113e09:0x3ffbf410 0x400e2295:0x3ffbf480 0x400e068e:0x3ffbf4a0 0x400e06eb:0x3ffbf530 0x400e0f01:0x3ffbf550 0x400d2031:0x3ffbf700 0x400d203b:0x3ffbf750 0x40088d2e:0x3ffbf770
Entering gdb stub now.

Connection Refused when flashing the mods with mcrun command

I'm using Ubuntu 16.04 (on Oracle VM Virtual box) and at first everything is working well. I can install the host and the corresponding modules on an ESP32. But after a while, it is no longer possible to do so. When I install an example with mcrun, I get the following error:
image

When I try to reinstall the host, it seems to write to the ESP32, but in the console of xsbug, it traces content of older, earlier installed programs.
I tried to erase completely the flash of the ESP32 but that doesn't solve it.
When I install other examples with mcconfig, like the ones shipped with the Moddable SDK, it works fine (helloworld).
HELP!!!
The reason I use Ubuntu is that I don't succeed to program an ESP32 on Windows. To bad there are no video's to help newbies like me with that.
Thanks.

[Question] How do you run the examples? It does not seem to work.

I am using moddable in a windows 10 machine, and a target device of type ESP32 ESP-WROOM-32 Devkit C (one puschased from AZ_Delivery).

I can run the basic moddable/examples without problems.

I am having problems running the ch1-gettingstarted/helloworld demo.

I can flash the host using 'mcconfig -d -m -p esp32' and I get 'Device flashed. Ready to install apps.' message in the console of xsdebug.

Then I close the debugger and try to run the demo app in helloworld using 'mcrun -d -m -p esp32'

It compiles the app and links it, then it runs xsbug, but nothing happens

It does not go to the 'debbuger;' line in the code nor prints 'hello world' in the console.

What I am doing wrong?

It jsut keeps printing 'Device flashed. Ready to install apps.'.

And if I reset the device, it prints it again, but no 'hello world message'

[Bug] Problems running mcconfig due to improper manifest.json files

Build environment: windows 10
target: NodeMCU ESP32 (ESP-WROOM-32)

Description:
I have bought this book and followd instructions to install moddable and esp-idf in my computer.

I can run some moddable/examples as the helloworld using mcconfig -m-d -p esp32

When trying to flash the host code using examples in your book, I get errors.

For example in ch1-gettingstarted/host when I try mcconfig -d -m -p esp32 I get error in the manifest.json file

D:\Users\fernando\ProyectosProg\iot-product-dev-book\ch1-ble\host>mcconfig -d -m -p esp32
D:\Users\fernando\ProyectosProg\iot-product-dev-book\ch1-ble\host\manifest.json(17): error: missing name!

Error: 'D:\Users\fernando\ProyectosProg\iot-product-dev-book\ch1-ble\host\manifest.json': invalid manifest!

The problem seems to be that the manifest file is not properly formatted.

There are trailing ',' in maps that have just one key/value pair that cause the problem

"build": {
	"NAME": "ch1host",
}

It works when I change it to:

"build": {
	"NAME": "ch1host"
}

In all the examples there are this kind of errors, with trailing ',' at the end of a map key/pair that cause parsing errors.

It works when you delete the trailing ',',

Invalid manifest

Hi Andycarle,
The building balls worked perfect from my Moddable Two device, but it had "Invalid manifest" after running hackberry-hand app.

Error: 'C:\Users\newuser\Projects\hackberry-hand\app\manifest.json': invalid manifest!

Question:
1- Do I need to edit the Sys Environment from "Moddable" to "Hackberry-hand"?
2- Is there anything that I need to download to make it works?

Thanks,

[Bug] Touch mapping does not align with LCD Display when running examples

**Build environment: Linux

**Target device: Moddable Zero (i.e. ESP32 wired to an ILI9341 240x320 Touch TFT Module)

Description
When I run examples/piu/keyboard: mcconfig -m -p esp32/moddable_zero

The touch sensing seem to be mirrored along the horizontal axis.

  • to activate the space bar I have to touch the LCD near the top
  • touching the '#' key activates the '1' or '2', depending on where I touch it

The map-puzzle example exhibits similar misalignment of the image and touch response.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.