Code Monkey home page Code Monkey logo

oauth-desktop's People

Contributors

giannivh avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

romualdrousseau

oauth-desktop's Issues

Can I use this to get oauth tokens from Google Oauth?

I have configured the Google API with an new project and project credentials. This gives me a client_id and client_secret.

I have followed the guide in the readme, and my desktop java app loads up a browser with the usual google oauth prompt. Clicking on the prompt seems to log me in, but then I get a huge stacktrace;

java.util.concurrent.ExecutionException: com.giannivanhoecke.oauth.desktop.exception.TokenException: Cannot request tokens at java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395) ~[?:?] at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2022) ~[?:?] at org.example.Main.main(Main.java:36) [classes/:?] Caused by: com.giannivanhoecke.oauth.desktop.exception.TokenException: Cannot request tokens at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.sendTokenPostRequest(AuthorizationCodeFlowWithPkce.java:212) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.requestTokens(AuthorizationCodeFlowWithPkce.java:187) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.exchangeAuthorizationCode(AuthorizationCodeFlowWithPkce.java:172) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.callbackReceived(AuthorizationCodeFlowWithPkce.java:166) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handleResponse(SuccessHttpHandler.java:63) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handle(SuccessHttpHandler.java:37) ~[oauth-desktop-1.0.jar:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:849) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:818) ~[jdk.httpserver:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) ~[?:?] Caused by: com.giannivanhoecke.oauth.desktop.io.remote.ResourceException: Can't send data at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.sendPayload(RemoteResource.java:74) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.post(RemoteResource.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.sendTokenPostRequest(AuthorizationCodeFlowWithPkce.java:210) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.requestTokens(AuthorizationCodeFlowWithPkce.java:187) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.exchangeAuthorizationCode(AuthorizationCodeFlowWithPkce.java:172) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.callbackReceived(AuthorizationCodeFlowWithPkce.java:166) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handleResponse(SuccessHttpHandler.java:63) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handle(SuccessHttpHandler.java:37) ~[oauth-desktop-1.0.jar:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:849) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:818) ~[jdk.httpserver:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) ~[?:?] Caused by: java.net.ConnectException at jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:561) ~[java.net.http:?] at jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:119) ~[java.net.http:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.sendHttpRequest(ResourceConnection.java:58) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.exec(ResourceConnection.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.sendPayload(RemoteResource.java:72) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.post(RemoteResource.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.sendTokenPostRequest(AuthorizationCodeFlowWithPkce.java:210) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.requestTokens(AuthorizationCodeFlowWithPkce.java:187) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.exchangeAuthorizationCode(AuthorizationCodeFlowWithPkce.java:172) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.callbackReceived(AuthorizationCodeFlowWithPkce.java:166) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handleResponse(SuccessHttpHandler.java:63) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handle(SuccessHttpHandler.java:37) ~[oauth-desktop-1.0.jar:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:849) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:818) ~[jdk.httpserver:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) ~[?:?] Caused by: java.net.ConnectException at jdk.internal.net.http.common.Utils.toConnectException(Utils.java:1020) ~[java.net.http:?] at jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:179) ~[java.net.http:?] at jdk.internal.net.http.AsyncSSLConnection.connectAsync(AsyncSSLConnection.java:56) ~[java.net.http:?] at jdk.internal.net.http.Http1Exchange.sendHeadersAsync(Http1Exchange.java:238) ~[java.net.http:?] at jdk.internal.net.http.Exchange.lambda$responseAsyncImpl0$8(Exchange.java:435) ~[java.net.http:?] at jdk.internal.net.http.Exchange.checkFor407(Exchange.java:367) ~[java.net.http:?] at jdk.internal.net.http.Exchange.lambda$responseAsyncImpl0$9(Exchange.java:439) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) ~[?:?] at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946) ~[?:?] at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266) ~[?:?] at jdk.internal.net.http.Exchange.responseAsyncImpl0(Exchange.java:439) ~[java.net.http:?] at jdk.internal.net.http.Exchange.responseAsyncImpl(Exchange.java:343) ~[java.net.http:?] at jdk.internal.net.http.Exchange.responseAsync(Exchange.java:335) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:347) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(MultiExchange.java:384) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) ~[?:?] at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946) ~[?:?] at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266) ~[?:?] at jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:374) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.lambda$responseAsync0$2(MultiExchange.java:293) ~[java.net.http:?] at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1705) ~[?:?] at jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:153) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.completeAsync(CompletableFuture.java:2591) ~[?:?] at jdk.internal.net.http.MultiExchange.responseAsync(MultiExchange.java:246) ~[java.net.http:?] at jdk.internal.net.http.HttpClientImpl.sendAsync(HttpClientImpl.java:632) ~[java.net.http:?] at jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:540) ~[java.net.http:?] at jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:119) ~[java.net.http:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.sendHttpRequest(ResourceConnection.java:58) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.exec(ResourceConnection.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.sendPayload(RemoteResource.java:72) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.post(RemoteResource.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.sendTokenPostRequest(AuthorizationCodeFlowWithPkce.java:210) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.requestTokens(AuthorizationCodeFlowWithPkce.java:187) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.exchangeAuthorizationCode(AuthorizationCodeFlowWithPkce.java:172) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.callbackReceived(AuthorizationCodeFlowWithPkce.java:166) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handleResponse(SuccessHttpHandler.java:63) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handle(SuccessHttpHandler.java:37) ~[oauth-desktop-1.0.jar:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:849) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:818) ~[jdk.httpserver:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) ~[?:?] Caused by: java.nio.channels.UnresolvedAddressException at sun.nio.ch.Net.checkAddress(Net.java:131) ~[?:?] at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:675) ~[?:?] at jdk.internal.net.http.PlainHttpConnection.lambda$connectAsync$0(PlainHttpConnection.java:165) ~[java.net.http:?] at java.security.AccessController.doPrivileged(Native Method) ~[?:?] at jdk.internal.net.http.PlainHttpConnection.connectAsync(PlainHttpConnection.java:167) ~[java.net.http:?] at jdk.internal.net.http.AsyncSSLConnection.connectAsync(AsyncSSLConnection.java:56) ~[java.net.http:?] at jdk.internal.net.http.Http1Exchange.sendHeadersAsync(Http1Exchange.java:238) ~[java.net.http:?] at jdk.internal.net.http.Exchange.lambda$responseAsyncImpl0$8(Exchange.java:435) ~[java.net.http:?] at jdk.internal.net.http.Exchange.checkFor407(Exchange.java:367) ~[java.net.http:?] at jdk.internal.net.http.Exchange.lambda$responseAsyncImpl0$9(Exchange.java:439) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) ~[?:?] at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946) ~[?:?] at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266) ~[?:?] at jdk.internal.net.http.Exchange.responseAsyncImpl0(Exchange.java:439) ~[java.net.http:?] at jdk.internal.net.http.Exchange.responseAsyncImpl(Exchange.java:343) ~[java.net.http:?] at jdk.internal.net.http.Exchange.responseAsync(Exchange.java:335) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:347) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.lambda$responseAsyncImpl$7(MultiExchange.java:384) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930) ~[?:?] at java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946) ~[?:?] at java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266) ~[?:?] at jdk.internal.net.http.MultiExchange.responseAsyncImpl(MultiExchange.java:374) ~[java.net.http:?] at jdk.internal.net.http.MultiExchange.lambda$responseAsync0$2(MultiExchange.java:293) ~[java.net.http:?] at java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) ~[?:?] at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) ~[?:?] at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1705) ~[?:?] at jdk.internal.net.http.HttpClientImpl$DelegatingExecutor.execute(HttpClientImpl.java:153) ~[java.net.http:?] at java.util.concurrent.CompletableFuture.completeAsync(CompletableFuture.java:2591) ~[?:?] at jdk.internal.net.http.MultiExchange.responseAsync(MultiExchange.java:246) ~[java.net.http:?] at jdk.internal.net.http.HttpClientImpl.sendAsync(HttpClientImpl.java:632) ~[java.net.http:?] at jdk.internal.net.http.HttpClientImpl.send(HttpClientImpl.java:540) ~[java.net.http:?] at jdk.internal.net.http.HttpClientFacade.send(HttpClientFacade.java:119) ~[java.net.http:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.sendHttpRequest(ResourceConnection.java:58) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.ResourceConnection.exec(ResourceConnection.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.sendPayload(RemoteResource.java:72) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.remote.RemoteResource.post(RemoteResource.java:45) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.sendTokenPostRequest(AuthorizationCodeFlowWithPkce.java:210) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.requestTokens(AuthorizationCodeFlowWithPkce.java:187) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.exchangeAuthorizationCode(AuthorizationCodeFlowWithPkce.java:172) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.AuthorizationCodeFlowWithPkce.callbackReceived(AuthorizationCodeFlowWithPkce.java:166) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handleResponse(SuccessHttpHandler.java:63) ~[oauth-desktop-1.0.jar:?] at com.giannivanhoecke.oauth.desktop.io.local.SuccessHttpHandler.handle(SuccessHttpHandler.java:37) ~[oauth-desktop-1.0.jar:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:849) ~[jdk.httpserver:?] at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) ~[jdk.httpserver:?] at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:818) ~[jdk.httpserver:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) ~[?:?] at java.lang.Thread.run(Thread.java:834) ~[?:?]

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.