Giter VIP home page Giter VIP logo

aws-panel's Issues

git clone

git clone 好像失效了
显示 -bash: git: command not found

创建实例失败

创建ec2实例到粘贴ssh key那里无法输入内容,创建ls实例可用区显示no data available

本地运行正常 在 vu 服务器上跑就提示这个……

atal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x47 pc=0x7f993d01e5ca]

runtime stack:
runtime.throw({0xe49d4f?, 0x7f9920000d78?})
/usr/local/go/src/runtime/panic.go:992 +0x71
runtime.sigpanic()
/usr/local/go/src/runtime/signal_unix.go:802 +0x3a9

goroutine 39 [syscall]:
runtime.cgocall(0xbeaa00, 0xc000042d98)
/usr/local/go/src/runtime/cgocall.go:157 +0x5c fp=0xc000042d70 sp=0xc000042d38 pc=0x4059dc
net._C2func_getaddrinfo(0xc00079ed50, 0x0, 0xc00007d6e0, 0xc0005602a0)
_cgo_gotypes.go:94 +0x56 fp=0xc000042d98 sp=0xc000042d70 pc=0x6faab6
net.cgoLookupIPCNAME.func1({0xc00079ed50, 0x0?, 0x0?}, 0xc00079ecf0?, 0x6ffabb?)
/usr/local/go/src/net/cgo_unix.go:160 +0x9f fp=0xc000042df0 sp=0xc000042d98 pc=0x6fc53f
net.cgoLookupIPCNAME({0xe21db6, 0x3}, {0xc00079ecf0, 0x20})
/usr/local/go/src/net/cgo_unix.go:160 +0x16d fp=0xc000042f38 sp=0xc000042df0 pc=0x6fbdad
net.cgoIPLookup(0x1575710?, {0xe21db6?, 0xc00079ed20?}, {0xc00079ecf0?, 0xc00057a420?})
/usr/local/go/src/net/cgo_unix.go:217 +0x3b fp=0xc000042fa8 sp=0xc000042f38 pc=0x6fc5fb
net.cgoLookupIP.func1()
/usr/local/go/src/net/cgo_unix.go:227 +0x36 fp=0xc000042fe0 sp=0xc000042fa8 pc=0x6fca36
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1571 +0x1 fp=0xc000042fe8 sp=0xc000042fe0 pc=0x4659e1
created by net.cgoLookupIP
/usr/local/go/src/net/cgo_unix.go:227 +0x12a

goroutine 1 [IO wait]:
internal/poll.runtime_pollWait(0x7f993d08d110, 0x72)
/usr/local/go/src/runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc00024dc00?, 0xc000032000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Accept(0xc00024dc00)
/usr/local/go/src/internal/poll/fd_unix.go:614 +0x22c
net.(*netFD).accept(0xc00024dc00)
/usr/local/go/src/net/fd_unix.go:172 +0x35
net.(*TCPListener).accept(0xc00000f620)
/usr/local/go/src/net/tcpsock_posix.go:139 +0x28
net.(*TCPListener).Accept(0xc00000f620)
/usr/local/go/src/net/tcpsock.go:288 +0x3d
net/http.(*Server).Serve(0xc0000a20e0, {0x108e0c8, 0xc00000f620})
/usr/local/go/src/net/http/server.go:3039 +0x385
net/http.(*Server).ListenAndServe(0xc0000a20e0)
/usr/local/go/src/net/http/server.go:2968 +0x7d
net/http.ListenAndServe(...)
/usr/local/go/src/net/http/server.go:3222
github.com/gin-gonic/gin.(*Engine).Run(0xc000093380, {0xc00029ff40, 0x1, 0x1})
/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:356 +0x1d8
github.com/yuzuki999/Aws-Panel/router.(*Router).Start(...)
/source/router/router.go:93
main.main()
/source/main.go:37 +0x11c

goroutine 8 [select]:
database/sql.(*DB).connectionOpener(0xc00007e8f0, {0x108ebd8, 0xc000246380})
/usr/local/go/src/database/sql/sql.go:1226 +0x8d
created by database/sql.OpenDB
/usr/local/go/src/database/sql/sql.go:794 +0x18d

goroutine 9 [IO wait]:
internal/poll.runtime_pollWait(0x7f993d08d020, 0x72)
/usr/local/go/src/runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc00024dc80?, 0xc0000c7000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00024dc80, {0xc0000c7000, 0x1000, 0x1000})
/usr/local/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00024dc80, {0xc0000c7000?, 0xc000566580?, 0x47abbe?})
/usr/local/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000010618, {0xc0000c7000?, 0x7b968c?, 0xc00006c400?})
/usr/local/go/src/net/net.go:183 +0x45
net/http.(*connReader).Read(0xc0000a4840, {0xc0000c7000, 0x1000, 0x1000})
/usr/local/go/src/net/http/server.go:780 +0x16d
bufio.(*Reader).fill(0xc00006f0e0)
/usr/local/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadSlice(0xc00006f0e0, 0x0?)
/usr/local/go/src/bufio/bufio.go:371 +0x2f
bufio.(*Reader).ReadLine(0xc00006f0e0)
/usr/local/go/src/bufio/bufio.go:400 +0x27
net/textproto.(*Reader).readLineSlice(0xc00053b3b0)
/usr/local/go/src/net/textproto/reader.go:57 +0x99
net/textproto.(*Reader).ReadLine(...)
/usr/local/go/src/net/textproto/reader.go:38
net/http.readRequest(0xc000010618?)
/usr/local/go/src/net/http/request.go:1029 +0x79
net/http.(*conn).readRequest(0xc000307b80, {0x108ebd8, 0xc00006c3c0})
/usr/local/go/src/net/http/server.go:988 +0x24a
net/http.(*conn).serve(0xc000307b80, {0x108ec80, 0xc0000a4750})
/usr/local/go/src/net/http/server.go:1891 +0x32b
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:3071 +0x4db

goroutine 10 [select]:
net/http.(*Transport).getConn(0x152e320, 0xc0006f7800, {{}, 0x0, {0xc00079eb40, 0x5}, {0xc00079ecf0, 0x24}, 0x0})
/usr/local/go/src/net/http/transport.go:1375 +0x5c6
net/http.(*Transport).roundTrip(0x152e320, 0xc0001d4300)
/usr/local/go/src/net/http/transport.go:581 +0x76f
net/http.(*Transport).RoundTrip(0x40f425?, 0x108ab40?)
/usr/local/go/src/net/http/roundtrip.go:17 +0x19
net/http.send(0xc0001d4300, {0x108ab40, 0x152e320}, {0xdfd340?, 0x1?, 0x0?})
/usr/local/go/src/net/http/client.go:252 +0x5d8
net/http.(*Client).send(0x1575e60, 0xc0001d4300, {0x3?, 0xc000775d50?, 0x0?})
/usr/local/go/src/net/http/client.go:176 +0x9b
net/http.(*Client).do(0x1575e60, 0xc0001d4300)
/usr/local/go/src/net/http/client.go:725 +0x8f5
net/http.(*Client).Do(...)
/usr/local/go/src/net/http/client.go:593
github.com/aws/aws-sdk-go/aws/corehandlers.sendFollowRedirects(0xc0bed527eb902486?)
/go/pkg/mod/github.com/aws/[email protected]/aws/corehandlers/handlers.go:120 +0x27
github.com/aws/aws-sdk-go/aws/corehandlers.glob..func3(0xc00030f900)
/go/pkg/mod/github.com/aws/[email protected]/aws/corehandlers/handlers.go:112 +0x176
github.com/aws/aws-sdk-go/aws/request.(*HandlerList).Run(0xc00030fb28, 0xc00030f900)
/go/pkg/mod/github.com/aws/[email protected]/aws/request/handlers.go:267 +0x9a
github.com/aws/aws-sdk-go/aws/request.(*Request).sendRequest(0xc00030f900)
/go/pkg/mod/github.com/aws/[email protected]/aws/request/request.go:602 +0xbf
github.com/aws/aws-sdk-go/aws/request.(*Request).Send(0xc00030f900)
/go/pkg/mod/github.com/aws/[email protected]/aws/request/request.go:555 +0x148
github.com/aws/aws-sdk-go/service/ec2.(*EC2).DescribeInstances(0x108a000?, 0xc0007a5b80?)
/go/pkg/mod/github.com/aws/[email protected]/service/ec2/api.go:20799 +0x25
github.com/yuzuki999/Aws-Panel/aws.(*Aws).ListEc2(0xc000775d50?)
/source/aws/ec2.go:138 +0x88
github.com/yuzuki999/Aws-Panel/controller.ListEc2(0xc0001d4600?)
/source/controller/ec2.go:90 +0x365
github.com/gin-gonic/gin.(*Context).Next(...)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:168
github.com/gin-contrib/sessions.Sessions.func1(0xc0001d4600)
/go/pkg/mod/github.com/gin-contrib/[email protected]/sessions.go:54 +0x19a
github.com/gin-gonic/gin.(*Context).Next(...)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:168
github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1(0xc0001d4600)
/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:99 +0x82
github.com/gin-gonic/gin.(*Context).Next(...)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:168
github.com/gin-gonic/gin.LoggerWithConfig.func1(0xc0001d4600)
/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:241 +0xe7
github.com/gin-gonic/gin.(*Context).Next(...)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:168
github.com/gin-gonic/gin.(*Engine).handleHTTPRequest(0xc000093380, 0xc0001d4600)
/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:555 +0x671
github.com/gin-gonic/gin.(*Engine).ServeHTTP(0xc000093380, {0x108e2d8?, 0xc000767ea0}, 0xc0001d4200)
/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:511 +0x1d2
net/http.serverHandler.ServeHTTP({0x108cce0?}, {0x108e2d8, 0xc000767ea0}, 0xc0001d4200)
/usr/local/go/src/net/http/server.go:2916 +0x43b
net/http.(*conn).serve(0xc000307c20, {0x108ec80, 0xc0000a4750})
/usr/local/go/src/net/http/server.go:1966 +0x5d7
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:3071 +0x4db

goroutine 14 [IO wait]:
internal/poll.runtime_pollWait(0x7f993d08ce40, 0x72)
/usr/local/go/src/runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc00009cf00?, 0xc00054a000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00009cf00, {0xc00054a000, 0x1000, 0x1000})
/usr/local/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00009cf00, {0xc00054a000?, 0xc000567600?, 0x47abbe?})
/usr/local/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000315ed8, {0xc00054a000?, 0x7b968c?, 0xc00016b1c0?})
/usr/local/go/src/net/net.go:183 +0x45
net/http.(*connReader).Read(0xc00053b380, {0xc00054a000, 0x1000, 0x1000})
/usr/local/go/src/net/http/server.go:780 +0x16d
bufio.(*Reader).fill(0xc00006f380)
/usr/local/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).ReadSlice(0xc00006f380, 0x0?)
/usr/local/go/src/bufio/bufio.go:371 +0x2f
bufio.(*Reader).ReadLine(0xc00006f380)
/usr/local/go/src/bufio/bufio.go:400 +0x27
net/textproto.(*Reader).readLineSlice(0xc0000a4870)
/usr/local/go/src/net/textproto/reader.go:57 +0x99
net/textproto.(*Reader).ReadLine(...)
/usr/local/go/src/net/textproto/reader.go:38
net/http.readRequest(0xc000315ed8?)
/usr/local/go/src/net/http/request.go:1029 +0x79
net/http.(*conn).readRequest(0xc000307ea0, {0x108ebd8, 0xc00016b180})
/usr/local/go/src/net/http/server.go:988 +0x24a
net/http.(*conn).serve(0xc000307ea0, {0x108ec80, 0xc0000a4750})
/usr/local/go/src/net/http/server.go:1891 +0x32b
created by net/http.(*Server).Serve
/usr/local/go/src/net/http/server.go:3071 +0x4db

goroutine 34 [runnable]:
net/http.(*connReader).startBackgroundRead.func2()
/usr/local/go/src/net/http/server.go:668
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1571 +0x1
created by net/http.(*connReader).startBackgroundRead
/usr/local/go/src/net/http/server.go:668 +0xca

goroutine 37 [select]:
net.(*Resolver).lookupIPAddr(0x1575700, {0x108ec48?, 0xc000797920}, {0xe21db6, 0x3}, {0xc00079ecf0, 0x20})
/usr/local/go/src/net/lookup.go:325 +0x51b
net.(*Resolver).internetAddrList(0x108ec48?, {0x108ec48?, 0xc000797920?}, {0xe21db6, 0x3}, {0xc00079ecf0?, 0x24?})
/usr/local/go/src/net/ipsock.go:288 +0x67a
net.(*Resolver).resolveAddrList(0x15ae070?, {0x108ec48, 0xc000797920}, {0xe223a4, 0x4}, {0xe21db6?, 0x0?}, {0xc00079ecf0, 0x24}, {0x0, ...})
/usr/local/go/src/net/dial.go:221 +0x41b
net.(*Dialer).DialContext(0xc00006e3c0, {0x108ec10, 0xc000024090}, {0xe21db6, 0x3}, {0xc00079ecf0, 0x24})
/usr/local/go/src/net/dial.go:406 +0x448
net/http.(*Transport).dial(0x0?, {0x108ec10?, 0xc000024090?}, {0xe21db6?, 0x0?}, {0xc00079ecf0?, 0x0?})
/usr/local/go/src/net/http/transport.go:1169 +0xda
net/http.(*Transport).dialConn(0x152e320, {0x108ec10, 0xc000024090}, {{}, 0x0, {0xc00079eb40, 0x5}, {0xc00079ecf0, 0x24}, 0x0})
/usr/local/go/src/net/http/transport.go:1607 +0x83f
net/http.(*Transport).dialConnFor(0x0?, 0xc00057a420)
/usr/local/go/src/net/http/transport.go:1449 +0xb0
created by net/http.(*Transport).queueForDial
/usr/local/go/src/net/http/transport.go:1418 +0x3d2

goroutine 32 [IO wait]:
internal/poll.runtime_pollWait(0x7f993d08cd50, 0x72)
/usr/local/go/src/runtime/netpoll.go:302 +0x89
internal/poll.(*pollDesc).wait(0xc00056d780?, 0xc0001aa800?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:83 +0x32
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:88
internal/poll.(*FD).Read(0xc00056d780, {0xc0001aa800, 0x17ef, 0x17ef})
/usr/local/go/src/internal/poll/fd_unix.go:167 +0x25a
net.(*netFD).Read(0xc00056d780, {0xc0001aa800?, 0xc00076ec40?, 0xc0001aa80d?})
/usr/local/go/src/net/fd_posix.go:55 +0x29
net.(*conn).Read(0xc000560898, {0xc0001aa800?, 0x58?, 0x7f9965ddc108?})
/usr/local/go/src/net/net.go:183 +0x45
crypto/tls.(*atLeastReader).Read(0xc0007947b0, {0xc0001aa800?, 0x0?, 0xde8ca0?})
/usr/local/go/src/crypto/tls/conn.go:785 +0x3d
bytes.(*Buffer).ReadFrom(0xc000575af8, {0x1089ce0, 0xc0007947b0})
/usr/local/go/src/bytes/buffer.go:204 +0x98
crypto/tls.(*Conn).readFromUntil(0xc000575880, {0x108aa80?, 0xc000560898}, 0xcd5?)
/usr/local/go/src/crypto/tls/conn.go:807 +0xe5
crypto/tls.(*Conn).readRecordOrCCS(0xc000575880, 0x0)
/usr/local/go/src/crypto/tls/conn.go:614 +0x116
crypto/tls.(*Conn).readRecord(...)
/usr/local/go/src/crypto/tls/conn.go:582
crypto/tls.(*Conn).Read(0xc000575880, {0xc0000c6000, 0x1000, 0x1?})
/usr/local/go/src/crypto/tls/conn.go:1285 +0x16f
net/http.(*persistConn).Read(0xc000576d80, {0xc0000c6000?, 0xc0001c80c0?, 0xc000057d30?})
/usr/local/go/src/net/http/transport.go:1929 +0x4e
bufio.(*Reader).fill(0xc000796c00)
/usr/local/go/src/bufio/bufio.go:106 +0x103
bufio.(*Reader).Peek(0xc000796c00, 0x1)
/usr/local/go/src/bufio/bufio.go:144 +0x5d
net/http.(*persistConn).readLoop(0xc000576d80)
/usr/local/go/src/net/http/transport.go:2093 +0x1ac
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:1750 +0x173e

goroutine 33 [select]:
net/http.(*persistConn).writeLoop(0xc000576d80)
/usr/local/go/src/net/http/transport.go:2392 +0xf5
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:1751 +0x1791

goroutine 38 [select]:
net.cgoLookupIP({0x108ebd8, 0xc0006f7840}, {0xe21db6, 0x3}, {0xc00079ecf0, 0x20})
/usr/local/go/src/net/cgo_unix.go:228 +0x1aa
net.(*Resolver).lookupIP(0x1575700, {0x108ebd8, 0xc0006f7840}, {0xe21db6, 0x3}, {0xc00079ecf0, 0x20})
/usr/local/go/src/net/lookup_unix.go:96 +0x128
net.glob..func1({0x108ebd8?, 0xc0006f7840?}, 0x0?, {0xe21db6?, 0x0?}, {0xc00079ecf0?, 0x7de450?})
/usr/local/go/src/net/hook.go:23 +0x3d
net.(*Resolver).lookupIPAddr.func1()
/usr/local/go/src/net/lookup.go:319 +0x9f
internal/singleflight.(*Group).doCall(0x1575710, 0xc0007994a0, {0xc00079ed20, 0x24}, 0xc00057a420?)
/usr/local/go/src/internal/singleflight/singleflight.go:95 +0x3b
created by internal/singleflight.(*Group).DoChan
/usr/local/go/src/internal/singleflight/singleflight.go:88 +0x2ec

哥,能增加一个 计时功能吗?

每台EC2 启动时候开始计时 , 删除的时候统计这台机器运行了多少时间。并记录在案 。
可以查询哪一个时间段,所有机器一共运行了多长时间。例如本月所有机器包括已删除了机器一共跑了几个小时。这样。

哥您的联系方式是?
我企鹅 1002194531

新增功能请求

大佬 能不能加个自定义root密码啊 用密钥有点不方便 ,在默默问一下有没有机会增加个换ip功能😂

有无群组?

有无联系方式?
telegram群什么的
对这个很感兴趣()
IMG_20220305_223641_759

希望可以增加一个自动保存vps密钥

因为有时候开号,忘了复制密钥,只能重新删了重开了。若可以开vps后,自动获取到密钥,记录保存在vps机器旁边就更完美了。再次感谢作者的无私奉献。

已部署,支持!!!

已部署支持!
感觉UI很好,而且功能也不错(只是lightsail创建好像还有点问题?)

其他一起都正常。但是无法创建EC2

2023/05/07 17:33:00 [Recovery] 2023/05/07 - 17:33:00 panic recovered:
runtime error: index out of range [0] with length 0
/usr/local/go/src/runtime/panic.go:89 (0xf4542)
/source/aws/ec2.go:214 (0x76e1d0)
/source/controller/ec2.go:37 (0x7709cd)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:168 (0x5f088f)
/go/pkg/mod/github.com/gin-contrib/[email protected]/sessions.go:54 (0x5f087a)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:168 (0x5e18f8)
/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:99 (0x5e18e4)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:168 (0x5e0b66)
/go/pkg/mod/github.com/gin-gonic/[email protected]/logger.go:241 (0x5e0b4d)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:168 (0x5dfdba)
/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:555 (0x5dfade)
/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:511 (0x5df6ee)
/usr/local/go/src/net/http/server.go:2916 (0x47fba0)
/usr/local/go/src/net/http/server.go:1966 (0x47b2ec)
/usr/local/go/src/runtime/asm_386.s:1326 (0x121db0)

[GIN] 2023/05/07 - 17:33:00 | 500 | 461.6256ms | 127.0.0.1 | POST "/api/v1/Ec2/Create"
[GIN] 2023/05/07 - 17:33:30 | 200 | 135.7809ms | 127.0.0.1 | POST "/api/v1/Ec2/List"
[GIN] 2023/05/07 - 17:33:36 | 200 | 878.1015ms | 127.0.0.1 | POST "/api/v1/LightSail/List"

新增功能请求

1、显示手动创建的Lightsail服务器
2、地区扩展……
3、类型能显示出每月价格……

v0.3.5_beta2 好像数据有问题

SELECT * FROM user_data WHERE (Username = "admin" and password = "¦j»VÙb؇V4n") AND user_data.deleted_at IS NULL ORDER BY user_data.id LIMIT 1
[GIN] 2022/03/14 - 11:08:05 | 400 | 686.953µs | | POST "/api/v1/User/Login"

香港地区

大佬,刚部署看了下好像没有香港区域的选项

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.