Code Monkey home page Code Monkey logo

realize's People

Contributors

ae0000 avatar alaingilbert avatar asoseil avatar baopham avatar conventi avatar darthpestilane avatar emilgpa avatar gitter-badger avatar hysios avatar jayme-github avatar kyoh86 avatar meowgorithm avatar mingrammer avatar mortenberg80 avatar nkovacs avatar noomz avatar piamancini avatar puradox avatar quasilyte avatar rkt2spc avatar rodrigo-brito avatar tapocol avatar thnt avatar tony24681379 avatar xbee avatar yamada-wacul avatar yyh-gl 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

realize's Issues

install error

go get github.com/tockins/realize

causes this error:

github.com/tockins/realize/server

../../github.com/tockins/realize/server/main.go:88: e.Start undefined (type *echo.Echo has no field or method Start)
../../github.com/tockins/realize/server/main.go:129: cannot use c.Response() (type engine.Response) as type http.ResponseWriter in argument to websocket.Handler(func literal).ServeHTTP:
engine.Response does not implement http.ResponseWriter (wrong type for Header method)
have Header() engine.Header
want Header() http.Header
../../github.com/tockins/realize/server/main.go:129: http.Request.Body is a field, not a method
../../github.com/tockins/realize/server/main.go:129: cannot use c.Request() (type engine.Request) as type *http.Request in argument to websocket.Handler(func literal).ServeHTTP

Remote WebServer call localhost WebSocket

Hi,
I found a problem launching server on my remote machine; the address of websocket appears to be broken.
Connecting to < my-ip >:5001 the web page try connect to ws://localhost:5001/ws

I located the problem in all.min.js (line: 92029)
var ws = $websocket('ws://localhost:'+$location.port()+'/ws');

Configuration YAML:

  server:
    status: true
    open: false
    host: ""
    port: 5001

realize.yaml is being overwritten after exit from realize

I'm trying to change my realize.yaml to match the printer example, but my config file is being overwritten every time I exit from realize run and the new config is ignored.

By the way, I'm trying to make realize print my logs using logrus, but it doesn't seem to attach a TTY to the output, so logs have been printed as plain text instead of pretty printed.

Thank you!

One project (in the projects having single path) is ignored

If some projects have same path and different parameters, realize run will ignore the first one in them.

.realize/realize.yaml

settings:
  resources:
    outputs: outputs.log
    logs: logs.log
    errors: errors.log
  server:
    host: localhost
    port: 60001
projects:
- name: task1
  path: .
  bin: true
  run: true
  params: ["1"]
  watcher:
    paths: ["/"]
    ignore_paths: ["vendor"]
    exts: [".go"]
  streams:
    cli_out: true
- name: task2
  path: .
  bin: true
  run: true
  params: ["2"]
  watcher:
    paths: ["/"]
    ignore_paths: ["vendor"]
    exts: [".go"]
  streams:
    cli_out: true
- name: task3
  path: .
  bin: true
  run: true
  params: ["3"]
  watcher:
    paths: ["/"]
    ignore_paths: ["vendor"]
    exts: [".go"]
  streams:
    cli_out: true

main.go

package main

import (
	"fmt"
	"os"
	"time"
)

func main() {
	for {
		fmt.Println(os.Args[1])
		select {
		case <-time.After(2 * time.Second):
		}
	}
}

console

$ realize run
[19:34:53][TASK3] : Watching 1 file/s 1 folder/s
[19:34:53][TASK2] : Watching 1 file/s 1 folder/s
[19:34:53][TASK3] : Installing..
[19:34:53][TASK2] : Installing..
[19:34:54][TASK3] : Installed after 0.238 s
[19:34:54][TASK3] : Installed after 0.238 s
[19:34:54][TASK2] : Running..
[19:34:54][TASK3] : Running..
[19:34:54][TASK2] : Has been run after 0.003 s
[19:34:54][TASK3] : Has been run after 0.005 s
[19:34:54][TASK2] : 2
[19:34:54][TASK3] : 3
[19:34:56][TASK2] : 2
[19:34:56][TASK3] : 3
[19:34:58][TASK3] : 3
[19:34:58][TASK2] : 2

And stopping (Ctrl+C) it, "task1" goes out from .realize/realize.yaml.

Environment

  • macOS Sierra 10.12.4
  • go version go1.8 darwin/amd64

Only reloads once

Hi!

I'm on MacOS testing realize. It restarts the project fine on the first file change. After that is does not restart any more.

Any ideas? Any infos you need?

Clarifying the documentation

From project/projects root execute:

What is this project/projects directory ?

Does Realize run a daemon that detects file changes ? If yes, how is the daemon started ?

Allow alternate ways to build code

Right now realize wraps and calls the go tool to build code, which is a sensible and obvious default. However, it might be good to allow people who use emerging alternate ways of building Go code to use realize as well (I'm specifically thinking about GB here).

run: true requires bin:true?

Why do you need to install the binary to $GOPATH/bin if build is true? Just use the binary inside the project

flags not passed to go app

Hi,
I have a flag defined in my go app which works fine when starting with go run main.go --debug.
But I am not able to set it at the end of realize run command like

realize run --debug
// or
realize run --test --debug

output is always: flag provided but not defined: -debug
Am I doing something wrong, should it work this way according to the readme?
Version is 1.4.1 on OS X

not waiting for the file to get written completely

Hi.
Realize is running in a server and I'm working on the files in my computer, then upload them to the server.
The problem is that the upload takes up to a second, which causes the error:
funcs/engine.go:1:1: expected 'package', found 'EOF'

I have to upload the file again immediately, sometimes 3 times in a row. Are there any solutions?

Support polling fallback `filepath.Walk`

I want to use realize (which looks awesome btw) on a mounted network drive. Those are known to not work with fsnotify, but they work great with filepath.Walk (polling). While searching the source code I didn't find anything that hinted this would work. Nodemon, for example, supports this via the -L (for legacy) flag

Dosen't work with a mounted volume to a Docker container

Doesnt detect the changes from the outside of the container, but it detects the changes inside the container.

This is the command inside the Dockerfile

CMD [ "realize", "run", "main.go"]


This is my comand to start the container

docker run --name easycast-go -p 8080:8080 --link easycast-db:db -e DB_LINK='yes' -v "$(PWD)/src":/go/src/easycast/src -d easycast-go

How can I contribute?

Im a programmer who wants to contribute with this project! What could I do to start making code for realize?

Broken color codes on Windows

The codes used to format the output on Windows is broken. Here is an example of the output:

?[33m[?[0m23:11:57?[33m]?[0m?[33m[?[0mSCHEMED?[33m]?[0m : ?[34;1mWatching?[0m ?[35;1m8?[0m file/s ?[35;1m16?[0m folder/s
?[33m[?[0m23:11:57?[33m]?[0m?[33m[?[0mSCHEMED?[33m]?[0m : Installing..
?[33m[?[0m23:12:00?[33m]?[0m?[33m[?[0m?[32;1mSCHEMED?[0m?[33m]?[0m : ?[32mInstalled?[0m after ?[35m2.185 s?[0m
?[33m[?[0m23:12:00?[33m]?[0m?[33m[?[0mSCHEMED?[33m]?[0m : Running..
?[33m[?[0m23:12:00?[33m]?[0m?[33m[?[0m?[32;1mSCHEMED?[0m?[33m]?[0m : ?[32mStarted?[0m after ?[35m0.071 s?[0m

Doesn't run tests

go test will run tests for my project. I expect ./realize run --test to do same.

$> realize run --test
[13:35:11][PROJ] : Watching 16 file/s 1 folder/s
[13:35:11][PROJ] : Installing..
[13:35:12][PROJ] : Installed after 0.204 s
[13:35:12][PROJ] : Running..
[13:35:12][PROJ] : Has been run after 0.005 s
[13:35:12][PROJ] : time="2017-06-07T13:35:12+02:00" level=debug msg="Started in Debug mode"
[13:35:21][PROJ] : GO changed /Users/tback/src/proj/src/proj/proj.go
[13:35:21][PROJ] : Ended
[13:35:21][PROJ] : Installing..
[13:35:23][PROJ] : Installed after 2.212 s
[13:35:23][PROJ] : Running..
[13:35:23][PROJ] : Has been run after 0.005 s
[13:35:23][PROJ] : time="2017-06-07T13:35:23+02:00" level=debug msg="Started in Debug mode"

This indicates that tests are never run.

Realize doesn't set the Content-Encoding header when it gzips the response

Related to my comments in #37. I describe it in detail here. However, it boils down to the fact that realize is not setting the Content-Encoding header when it compresses the response body:

slyd% curl -si http://localhost:6981 | head -n 7
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Date: Fri, 13 Jan 2017 04:06:44 GMT
Content-Length: 892

<!DOCTYPE html><html ng-app="realize"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><link href="http://fonts.googleapis.com/css?family=Open+Sans:400,700,600,300,800" rel="stylesheet"><link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"><link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600,700,300" rel="stylesheet" type="text/css"><link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"><!-- bower:css -->
slyd% curl -si -H 'Accept-Encoding: gzip' http://localhost:6981 | head -n 7
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
Date: Fri, 13 Jan 2017 04:06:57 GMT
Content-Length: 421

�       n����Kk�      4Q�7�>H�Yo rT%j��|T�  uF]P��V��T^7B@��Cʢ�KQ0�ꤷޓ��HBv��L�<Pkd̳��G3n��U]oR��)m=\�jn���^!�1c�Kc�
                                                                                                                      c�+c��f9xQ^���/ � ��g�"�gg��
                                                                                                                                                  �ؕ�Z�=�-Y�u^9f]�*�"*@Q+�4��12*�L�(H���7��z:   _O�����|%                                                                                                                      

According to spec, if the body is compressed the server should set the Content-Encoding: gzip header. More readable instructions are provided by the Wikipedia article on HTTP compression.

realize:: command not found

I can not run it:

me@pc:~/go/src/myapp$ realize init
realize: command not found

me@pc:~/go/src/myapp$ realize: command not found
realize:: command not found

me@pc:~/go/src/myapp$ go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/me/go"
GORACE=""
GOROOT="/usr/lib/go-1.6"
GOTOOLDIR="/usr/lib/go-1.6/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

How can I fix this?

Define environment variables per project

Add support to define environment variables per project.

 projects:
   - name: realize    
     path: .                  // project path
     params:                  // additional params
     - --myarg
     environment:                  // environment variables
       DEBUG: 1

projects.watcher.scripts only working at startup

Howdy,

I have a command under projects.watcher.scripts that runs a bash to generate a golang file and it is only ran at startup, not on reiteration of the file changes.

- name: go-admin
  path: .
  fmt: true
  generate: false
  test: false
  bin: true
  build: false
  run: true
  watcher:
    preview: false
    paths:
    - /
    ignore_paths:
    - vendor
    exts:
    - .go
    scripts:
    - type: before
      command: ./gotify.sh # transform some html templates into golang temapltes.Must variables set
      path: templates
  streams:
    cli_out: true
    file_out: false
    file_log: false
    file_err: false

Error Setting Rlimit operation not permitted

$ realize add
Error Setting Rlimit  operation not permitted
Realize - 1.1
A Go build system with file watchers, output streams and live reload. Run, build and watch file changes with custom paths

image

$ realize run
Error Setting Rlimit  operation not permitted
Realize - 1.1
A Go build system with file watchers, output streams and live reload. Run, build and watch file changes with custom paths

image

also empty window shown:

image

if i use --no-bin it shows something:

image

but it doesn't run normally like when using codegangsta/gin

gin -i -b /tmp/gin-bin # to run it on RAM instead of disk

image

open /dev/null: too many open files

I get the error "open /dev/null: too many open files". I don't know what is the cause. In this moment, I'm using github.com/pilu/fresh and not happen this.

Make listen port configurable

The listen port is currently hard coded to 5001. This can cause conflicts with other services. While this can be worked around in the main HTTP server by changing the port in the source code, the websockets are also hard-coded in Javascript to connect over 5001. This is more of a problem because the assets are encoded as bin data but are not included in the repository, and so can't be edited & re-generated. As a result, realize is not runnable on any machine where port 5001 is unavailable.

A solution would be to:

  1. Make the listen port configurable via a --port option to the run command.
  2. Pass the port in to all.min.js (the embedded bin data asset responsible for setting up the web socket) via the generated index, and have the websocket connection code use the variable.

Support custom build paths

Hi guys, is there a way to define custom build paths without initializing the config?
What I'm trying to do: realize run --path svc/ --no-install --no-config
I want it to watch the svc/, but build the svc/cmd/svc/main.go

My project tree:

svc/
─ cmd
  └── svc
      └── main.go
─ service.go
─ service_test.go

Thanks :)

--name flag doesn't exist/work with run

$ realize run --name="project_name" --build

Incorrect Usage: flag provided but not defined: -name

Works with remove though:
realize remove --name="project_name"
[REALIZE] Your project was successfully removed.

ignore_paths

I am trying to use the ignore_paths configuration to ignore a large node_modules directory. It doesn't seem to be working. I can see that the path walking is going down into the node_modules directory. Am I doing something wrong?

When I run realize run I get an error: open /dev/null: too many open files

Here's the config file:

version: v1.0
projects:
- app_name: whiz
  app_path: /
  app_run: true
  app_bin: true
  app_fmt: false
  app_watcher:
    preview: true
    paths:
    - /
    ignore_paths:
    - node_modules
    - vendor
    - bin
    exts:
    - .go

It doesn't work in windows.

It shows the following error during installation

C:\gowork\medium>go get github.com/tockins/realize

github.com/tockins/realize/realize

....\github.com\tockins\realize\realize\app.go:71: undefined: syscall.Rlimit
....\github.com\tockins\realize\realize\app.go:74: undefined: syscall.Setrlimit
....\github.com\tockins\realize\realize\app.go:74: undefined: syscall.RLIMIT_NOFILE

style.go fails to build

osx, go 1.8.1

go get github.com/tockins/realize
# github.com/tockins/realize/style
src/github.com/tockins/realize/style/style.go:10: color.New(color.Attribute(s)).Sprint undefined (type *color.Color has no field or method Sprint)
src/github.com/tockins/realize/style/style.go:14: color.New(color.Attribute(s), color.Bold).Sprint undefined (type *color.Color has no field or method Sprint)

i tried a go get -u- -v also but did not help.

Watch custom .ext files

I want to watch .html files

So in .realize.yaml I've added :

    exts:
    - .go
    - .html

It's working, but I have the following errors :

[20:35:14][MYAPP] : HTML changed /usr/src/myapp/template/inc/footer.html
[20:35:14][MYAPP] : Ended
[20:35:14][MYAPP] : Go Fmt there are some errors in : /usr/src/myapp/template/inc/footer.html

Is there a way to avoid this errors ?

FsNotify does not detect changes inside container running in Kubernetes pod

Setup:
1 - Create a golang container to build and run your app.
2- Run it through a Minikube Kubernetes cluster pod. Map the dirs to the host machine to enable editing of source.

Test:
1- Editing source on host machine and saving does not trigger a realize re-build. Yes, it is the same file in the pod and the change does happen.

2- Using kubectl to start a terminal session inside pod and editing/creating files WILL trigger a realize re-build.

On the other hand, using Docker and mapping the host drive and changing files on the host does trigger realize re-build - so it does work in a Docker environment, but not in a Kubernetes pod environment.

Workaround:
Using legacy file watching with realize startup options does enable it to work.

When there is a error in fmt method of Project struct is not displayed

In the bit of code. When it is raised an error, this is not displayed in the console:

// Build call an implementation of the "gofmt"
func (p *Project) fmt() error {
    if p.Fmt {
        if _, err := p.GoFmt(); err != nil {
            log.Println(pname(p.Name, 1), Red("There are some errors:"))
            fmt.Println(err) // I modified this line, but I don't sure if the change is correct for you.
            return err
        }
    }
    return nil
}

Not ignoring go tools?

vendor is in my ignore_paths but realize run still parses packages in my vendor directory?

There are some errors:
vendor/golang.org/x/tools/cmd/fiximports/testdata/src/old.com/bad/bad.go:2:43: expected ';', found 'EOF'
vendor/golang.org/x/tools/cmd/fiximports/testdata/src/old.com/bad/bad.go:2:43: expected 'IDENT', found 'EOF'
vendor/golang.org/x/tools/cmd/fiximports/testdata/src/old.com/bad/bad.go:2:43: expected 'package', found 'EOF'
vendor/golang.org/x/tools/go/loader/testdata/badpkgdecl.go:1:34: expected ';', found 'EOF'
vendor/golang.org/x/tools/go/loader/testdata/badpkgdecl.go:1:34: expected 'IDENT', found 'EOF'
vendor/golang.org/x/tools/go/loader/testdata/badpkgdecl.go:1:34: expected 'package', found 'EOF'

100% CPU when run with server enabled

Given the project github.com/jpillora/serve and running realize fast

  PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
50108 jpillora  31   0 530.8G 19896     0 R 98.0  0.2  0:00.22 realize fast

Fixed when run using realize fast --no-server

  PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
50153 jpillora  31   0 530.8G  7936     0 S  0.0  0.1  0:00.00 realize fast --no-server

Master and v1.4 identify as 1.3

Reproduce

$> git checkout 2aeeddbc157bcca0eb7d4eb07367f1fa35121ad9
$> go install 
$> realize -version
Realize version 1.3

Expected result

Realize version 1.4

webpanel: 2 ideas

I dont knwo what the full long term intention of realise is, but its a very good replacement to having lots of terminal windows open. I am guessing thats one of the goals.
Also when running many docker images its great to have one place to see whats going on.

Some ideas.

  1. There is alot of clicking required to see stuff. It would be better if you can the logs, errors, watches without changing views. These are things you really want to see as you work.

  2. Move the settings so you do have to click to see them. These are something one you set them you dont have to see that often as you work.

  3. a repl, so that you can call commands for each project. For example say you had a DB and you go generated the ability to interact with it from the CLI, then it would be nice to be able to do the same from the web panel. OR maybe you really dont want to do this and just keep the web panel as read only ?

No longer installable

Install has broken with labstack/echo moving to v3 in their master branch. go get github.com/tockins/realize gives the following error:

package github.com/labstack/echo/engine/standard: cannot find package "github.com/labstack/echo/engine/standard" in any of:
  ... (from $GOROOT)
  ... (from $GOPATH)

It seems like vendoring this dependency might be appropriate.

Error with simple program

Realize run display me this error. This occurs when there are some compilation errors.
In this case compilation errors are not always shown by realize.

[13:44:52][SIMPLEFILESYNC] : /home/meessen/Sources/go/src/simpleFileSync/main.go
[13:44:52][SIMPLEFILESYNC] There are some errors in  /home/meessen/Sources/go/src/simpleFileSync/main.go :
/home/meessen/Sources/go/src/simpleFileSync/main.go:1:1: expected ';', found 'EOF'
/home/meessen/Sources/go/src/simpleFileSync/main.go:1:1: expected 'IDENT', found 'EOF'
/home/meessen/Sources/go/src/simpleFileSync/main.go:1:1: expected 'package', found 'EOF'

exit status 2

Passing Arguments

Hi,

I am having a few issues with passing in arguments. I am using the 'flag' package in my program and here is the help output:

[~/repositories/goprojects]$ ./bin/servServices -h
Usage of ./bin/servServices:
  -file.config string
    	Location of config.json for servServices [Default: /etc/serv/config.json]
  -port string
    	Specify port for HTTP to Listen On.  [Default: 8081] (default "8081")
  -telemetry.endpoint string
    	Path under which to expose Metrics. (default "/metrics")
  -verbose
    	Enable Verbose Output of Script. [Default: false]

Here is my realize.yaml:

settings:
  resources:
    output: outputs.log
    log: logs.log
  server:
    enable: true
    open: false
    host: localhost
    port: 5000
  config:
    flimit: 0
projects:
- name: servServices
  path: /Users/jbkc85/repositories/goprojects/src/repository.local/jbkc85/servServices
  run: true
  bin: true
  generate: false
  build: false
  fmt: true
  test: false
  params:
  - -file.config /Users/jbkc85/repositories/goprojects/src/repository.local/jbkc85/servServices/config.json
  - -verbose
  watcher:
    before: []
    after: []
    paths:
    - /
    ignore_paths:
    - vendor
    exts:
    - .go
    preview: false
  cli:
    streams: true
  file:
    streams: false
    logs: false
    errors: false

However, my output is constantly showing that the argument isn't found:

[09:05:03][SERVSERVICES] : flag provided but not defined: -file.config /Users/jbkc85/repositories/goprojects/src/repository.local/jbkc85/servServices/config.json
[09:05:03][SERVSERVICES] : Usage of /Users/jbkc85/repositories/goprojects/bin/servServices:
[09:05:03][SERVSERVICES] :   -file.config string
[09:05:03][SERVSERVICES] :     	Location of config.json for servServices (default "/etc/morenet/gomags.json")
[09:05:03][SERVSERVICES] :   -port string
[09:05:03][SERVSERVICES] :     	Specify port for HTTP to Listen On. (default "8081")
[09:05:03][SERVSERVICES] :   -telemetry.endpoint string
[09:05:03][SERVSERVICES] :     	Path under which to expose Metrics. (default "/metrics")
[09:05:03][SERVSERVICES] :   -verbose
[09:05:03][SERVSERVICES] :     	Enable Verbose Output of Script. [Default: false]
[09:05:03][SERVSERVICES] : Ended

Is there something I am doing wrong? Does Realize not support these types of flags yet?

Thanks,
Jason Cameron

After command doesn't work on file change

on OSX

    - type: after
      command: <whatever>
      changed: true
      startup: true

Doesn't work on file change, only when quitting.

If I change "after" for "before", it is working on file change.

performance issues

Any error occurs now, but the performance has been decreased a lot. It occurs before that realize begins to install and run the project.

realize counts 895 files 304 folders in my project so I think to not be noticed in small projects.

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.