Code Monkey home page Code Monkey logo

try-samples's Introduction

Build Status dotnet try Enabled Binder

Try .NET dotnet bot in space

|| BasicsContribution Guidelines ||

Basics

This repository contains samples and tutorials that run using the dotnet try global tool.

You can explore these tutorials in your environment using the dotnet try global tool:

Prerequisite: Install .NET Core SDK 3.0

  1. Install the dotnet-try global tool.

    • to install: dotnet tool install -g Microsoft.dotnet-try
    • to uninstall: dotnet tool uninstall -g Microsoft.dotnet-try
    • to update: dotnet tool update -g Microsoft.dotnet-try
  2. Clone this repository.

  3. Set the current directory to one of the sample tutorials (or use the current folder to see all samples).

  4. Run dotnet try.

    dotnet try

  5. This will launch the browser. Now, you can read the documentation and run code in one place.

    dotnet try -  _Readme md (2)

The tutorials in this repository are:

Contribution Guidelines

We're working on this. The existing tutorials are linked to .NET docs, but that's not required.

If you have suggestions for a sample, create an issue to start a discussion.

try-samples's People

Contributors

billwagner avatar brettfo avatar calumtomeny avatar canibal avatar cecilphillip avatar colombod avatar cseas avatar divyab275 avatar gewarren avatar hasack avatar ibocon avatar john7doe avatar jonsequitur avatar justinbourb avatar ladynaggaga avatar loic-sharma avatar mmitche avatar yanxiaodi avatar youssef1313 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

try-samples's Issues

Pattern matching not completed

[cf. https://www.youtube.com/watch?v=aUbXGs7YTGo&lc=UgzSxrWBQvVlwJ_E3Zp4AaABAg]

Surprisingly nobody (at NDC or in YT comments) has challenged Bill who at offset 44:48 & 45:40 declared victory with this solution
public decimal PeakTimePremium(DateTime timeOfToll, bool inbound) =>
(IsWeekDay(timeOfToll), GetTimeBand(timeOfToll), inbound) switch
{
(true, TimeBand.MorningRush, true) => 2.00m,
(true, TimeBand.EveningRush, false) => 2.00m,
(true, TimeBand.MorningRush, false) => 1.00m,
(true, TimeBand.EveningRush, true) => 1.00m,
(true, TimeBand.Daytime, _) => 1.50m,
(true, TimeBand.Overnight, _) => 0.75m,
(false, _, _) => 1.00m,
};
and the MS docs show very similar at https://github.com/dotnet/try-samples/blob/master/csharp8/patterns-peakpricing.md

For goodness sake please refactor the explicit special conditions first and then drop through to the simple default 1.0m result
public decimal PeakTimePremium(DateTime timeOfToll, bool inbound) =>
(IsWeekDay(timeOfToll), GetTimeBand(timeOfToll), inbound) switch
{
(true, TimeBand.MorningRush, true) => 2.00m,
(true, TimeBand.EveningRush, false) => 2.00m,
(true, TimeBand.Daytime, _) => 1.50m,
(true, TimeBand.Overnight, ) => 0.75m,
(
, _, _) => 1.00m
};
which matches the special cases and dangling default (else) acts as catch-all for the rest. This distils the spaghetti 50 lines to an even simpler (and clearer) conclusion.

Fortunately the actual PeakTimePremium code at https://github.com/dotnet/try-samples/blob/master/csharp8/ExploreCsharpEight/Patterns.cs has now advanced

  • but please can the docs catch-up ?

P.S. Don't declare victory too early (didn't we learn that from Gulf War-1?)
PPS see attached graphic for those who think better visually
WagnerVille.xlsx

Try101Linqsamples - not getting it going

Cloned the project, dotnet try tool installed.

From the package manager:
PM> dotnet try
Hosting environment: Production
Content root path: C:\Users\Owner.dotnet\tools.store\microsoft.dotnet-try\1.0.20474.1\microsoft.dotnet-try\1.0.20474.1\tools\netcoreapp3.1\any
Now listening on: https://localhost:60364
Application started. Press Ctrl+C to shut down.

Browser opens, and there is nothing there, except for this in a heading:

Try .NET c:\users\Owner\source\repos\try-samples\101-linq-samples\src\

[LINQ]: Single, First, Last, Skip, and Take

The LINQ tutorial represents all new content. This is the final module, which covers the working with partial sequences using skip and take.

The issues created for the [LINQ] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

[ObjectOriented]: Basics

This is the first module of the Object Oriented Programming tutorial. This will cover the C# syntax that supports classic OO idioms.

The issues created for the [ObjectOriented] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

Erroneous descriptions in file: "try-samples/csharp8/static-local-functions.md"

Since there is more than one error in this page, I'm going through the errors by number.

Please take a look at the screenshot below.

  1. There is no function named "LocalFunction" declared but a function named "localCounter".
  2. There is no variable "y" declared in the enclosing scope.
  3. There is no method "M" declared which forms the enclosing scope but a function named "Counter".

The page shows also the anti-pattern of "constantly renamed variables" and doesn't stick with the
C# naming conventions. That are no errors but it's bad style. Since there is a good chance that programming novices might read this page, they might come to the conclusion that bad style isn't something to worry about.

Please don't give that impression.

Kind regards, Lord Saumagen.

Static_Local_Function

Broken link in 'What's new in C# 7.0 thru C# 7.3 - exploration'

Reproduction steps

  1. Navigate to the folder: try-samples\csharp7
  2. Run the command dotnet try
  3. Click on the link to 'ref struct'

Actual result: receive the error 'This localhost page can’t be found'
Expected result: the 'readonly-struct.md' page should load and should scroll to the relevant section

Notes: The URL contains '/readonly-struct#ref-struct-types.md' and it should be /readonly-struct.md#ref-struct-types.

[async]: Async and API design

This is the third module of the Async / await tutorial. This will cover API design considerations for asynchronous operations.

The issues created for the [async] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

[async]: The basics of async / await

This is the first module of the Async / await tutorial. This will cover async, await keywords, and the basics of Task and the Task asynchronous protocol..

The issues created for the [async] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

Update for .net 5? Is this dead?

I went to teach a friend about LINQ and I thought this would be the perfect way, run .net in the browser, execute your linq queries, see what happens - it should be perfect, right?

Nope.

dotnet tool install -g dotnet-try
git clone https://github.com/dotnet/try-samples
cd try-samples
dotnet run

ok, everything looks good so far...but not a single sample will actually execute. I click on the play button, it spins for a while, then a red box shows up at the bottom of the code window. If I look at my dev tools console it's full of errors. :( Hundreds of them, just like this (see below).

What am I doing wrong? Isn't this supposed to just work? I guess I'll need to find some other way to teach my friend about LINQ. ☹️

sql.js:1133 POST https://localhost:54389/workspace/diagnostics?hostOrigin=https%3A%2F%2Flocalhost%3A54389%2F101-linq-samples%2Fdocs%2Frestrictions.md 500
(anonymous) @ sql.js:1133
e.fetch @ sql.js:1133
(anonymous) @ sql.js:1133
w @ sql.js:1133
(anonymous) @ sql.js:1133
e. @ sql.js:1133
(anonymous) @ sql.js:1133
i @ sql.js:1133
t.default @ sql.js:1133
(anonymous) @ sql.js:1133
w @ sql.js:1133
(anonymous) @ sql.js:1133
e. @ sql.js:1133
s @ sql.js:1133
Promise.then (async)
u @ sql.js:1133
(anonymous) @ sql.js:1133
o @ sql.js:1133
value @ sql.js:1133
(anonymous) @ sql.js:1133
w @ sql.js:1133
(anonymous) @ sql.js:1133
e. @ sql.js:1133
(anonymous) @ sql.js:1133
o @ sql.js:1133
value @ sql.js:1133
(anonymous) @ sql.js:1133
w @ sql.js:1133
(anonymous) @ sql.js:1133
e. @ sql.js:1133
(anonymous) @ sql.js:1133
o @ sql.js:1133
(anonymous) @ sql.js:1133
(anonymous) @ sql.js:1133
t.__tryOrUnsub @ sql.js:1133
t.next @ sql.js:1133
t._next @ sql.js:1133
t.next @ sql.js:1133
t._next @ sql.js:1133
t.emitValue @ sql.js:1133
t.notifyNext @ sql.js:1133
t._next @ sql.js:1133
t.next @ sql.js:1133
ae @ sql.js:1133
t._execute @ sql.js:1133
t.execute @ sql.js:1133
t.flush @ sql.js:1133
setInterval (async)
t.requestAsyncId @ sql.js:1133
t.schedule @ sql.js:1133
e.schedule @ sql.js:1133
t.schedule @ sql.js:1133
(anonymous) @ sql.js:1133
e._trySubscribe @ sql.js:1133
e.subscribe @ sql.js:1133
(anonymous) @ sql.js:1133
r @ sql.js:1133
t._tryNext @ sql.js:1133
t._next @ sql.js:1133
t.next @ sql.js:1133
t.next @ sql.js:1133
(anonymous) @ sql.js:1133
value @ sql.js:1133
$s @ sql.js:1133
Zs @ sql.js:1133
Ks @ sql.js:1133
qs @ sql.js:1133
Hs @ sql.js:1133
_s @ sql.js:1133
enqueueSetState @ sql.js:1133
b.setState @ sql.js:1133
s.onStateChange @ sql.js:1133
v @ sql.js:1133
(anonymous) @ sql.js:1133
(anonymous) @ sql.js:1133
dispatch @ sql.js:1133
d @ sql.js:1133
(anonymous) @ sql.js:1133
w @ sql.js:1133
(anonymous) @ sql.js:1133
e. @ sql.js:1133
(anonymous) @ sql.js:1133
i @ sql.js:1133
(anonymous) @ sql.js:1133
(anonymous) @ sql.js:1133
dispatch @ sql.js:1133
(anonymous) @ sql.js:1133
w @ sql.js:1133
(anonymous) @ sql.js:1133
e. @ sql.js:1133
(anonymous) @ sql.js:1133
i @ sql.js:1133
(anonymous) @ sql.js:1133
(anonymous) @ sql.js:1133
dispatch @ sql.js:1133
(anonymous) @ sql.js:1133
w @ sql.js:1133
(anonymous) @ sql.js:1133
e. @ sql.js:1133
(anonymous) @ sql.js:1133
i @ sql.js:1133
(anonymous) @ sql.js:1133
(anonymous) @ sql.js:1133
(anonymous) @ sql.js:1133
postMessage (async)
IFrameMessageBus.post @ trydotnet.min.js?v=1.0.19553.4:1
(anonymous) @ trydotnet.min.js?v=1.0.19553.4:1
step @ trydotnet.min.js?v=1.0.19553.4:1
(anonymous) @ trydotnet.min.js?v=1.0.19553.4:1
fulfilled @ trydotnet.min.js?v=1.0.19553.4:1
Promise.then (async)
step @ trydotnet.min.js?v=1.0.19553.4:1
(anonymous) @ trydotnet.min.js?v=1.0.19553.4:1
__awaiter @ trydotnet.min.js?v=1.0.19553.4:1
Session.setWorkspace @ trydotnet.min.js?v=1.0.19553.4:1
(anonymous) @ trydotnet.min.js?v=1.0.19553.4:1
Promise.then (async)
(anonymous) @ trydotnet.min.js?v=1.0.19553.4:1
(anonymous) @ trydotnet.min.js?v=1.0.19553.4:1
(anonymous) @ trydotnet.min.js?v=1.0.19553.4:1
SafeSubscriber.__tryOrUnsub @ trydotnet.min.js?v=1.0.19553.4:1
SafeSubscriber.next @ trydotnet.min.js?v=1.0.19553.4:1
Subscriber._next @ trydotnet.min.js?v=1.0.19553.4:1
Subscriber.next @ trydotnet.min.js?v=1.0.19553.4:1
Subject.next @ trydotnet.min.js?v=1.0.19553.4:1
(anonymous) @ trydotnet.min.js?v=1.0.19553.4:1
postMessage (async)
value @ sql.js:1133
(anonymous) @ sql.js:1133
(anonymous) @ sql.js:1133
(anonymous) @ sql.js:1133
(anonymous) @ sql.js:1133
Mr @ sql.js:1133
ps @ sql.js:1133
fs @ sql.js:1133
Zs @ sql.js:1133
Ks @ sql.js:1133
qs @ sql.js:1133
Hs @ sql.js:1133
_s @ sql.js:1133
oa @ sql.js:1133
sa @ sql.js:1133
fa.render @ sql.js:1133
(anonymous) @ sql.js:1133
ea @ sql.js:1133
ma @ sql.js:1133
render @ sql.js:1133
(anonymous) @ sql.js:1133
o @ sql.js:18
(anonymous) @ sql.js:1133
o @ sql.js:18
(anonymous) @ sql.js:136
(anonymous) @ sql.js:138
Show 72 more frames from Library code
sql.js:1133 Uncaught (in promise) Error
at new t (sql.js:1133)
at e. (sql.js:1133)
at w (sql.js:1133)
at Generator._invoke (sql.js:1133)
at Generator.e. [as next] (sql.js:1133)
at s (sql.js:1133)

UnauthorizedAccessException for C:\Users\user\Application Data

I cloned the repository, The following shows my local directory.

TrySamplesDir

When I execute dotnet try in the directory or any subdirectory I get the message (in the Edge browser):

"An unhandled exception occurred.","exception":"System.UnauthorizedAccessException: Access to the path 'C:\\Users\\sam\\Application Data' is denied.\r\n

Perhaps I just do not understand the instructions.

[ObjectOriented]: Properties

This is the third module of the Object Oriented Programming tutorial. This will cover the C# syntax for properties and indexers. This includes different accessors, readonly properties, read/write, and computed properties.

The issues created for the [ObjectOriented] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

Update package versions

Currently using dotnet-try for running these samples fails. Updating Dragonfruit and the CommandLine experimental packages would fix this

   <PackageReference Include="System.CommandLine.DragonFruit" Version="0.3.0-alpha.19317.1" />
   <PackageReference Include="System.CommandLine.Experimental" Version="0.3.0-alpha.19317.1" />

[ObjectOriented]: interfaces

This is the sixth module of the Object Oriented Programming tutorial. This will cover the C# interfaces, including new uses for defaul interface members.

The issues created for the [ObjectOriented] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

[ObjectOriented]: Structs

This is the fourth module of the Object Oriented Programming tutorial. This will cover structs, readonly structs, and possibly ref structs.

The issues created for the [ObjectOriented] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

Red Block displaying Internal Server Error

Hi I see an issue similar to this that's currently closed , however I wasn't able to reopen it so I'm linking it here in this issue.

#59

Here's a screenshot of the error.

Capture

I inspected the page and noticed this error in the bundle.js?v=1.0.21418.2 JavaScript file:

Page Source

Hope this helps to fix the issue.

try-samples/101-linq-samples/docs code blocks are broken

I've been trying to read the documentation in the try-samples/101-linq-samples/docs directory and all of the code block sections are broken (empty). The end result is just a lot of text saying "this example demonstrates xyz" with blank code blocks :/

[LINQ]: Reductions

The LINQ tutorial represents all new content. This is the third module, which covers the methods that produce a single value from a sequence (Max, Min, First, Last, etc)

The issues created for the [LINQ] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

[async]: async enumerables and streaming devices

This is the fifth module of the Async / await tutorial. This will async enumerables. The scenario should focus on reading from streaming devices.

The issues created for the [async] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

[LINQ]: Filters and Projections

The LINQ tutorial represents all new content. This is the second module, which covers using where to filter sequences, and select to project to a new data type.

The issues created for the [LINQ] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

[ObjectOriented]: using and creating generics

This is the seventh module of the Object Oriented Programming tutorial. This will cover generic classes and methods.

The issues created for the [ObjectOriented] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

[async]: Composition of tasks and results

This is the second module of the Async / await tutorial. This will how tasks compose to create asynchronous operations.

The issues created for the [async] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

[async]: Async programming vs. multi-threaded programming

This is the fourth module of the Async / await tutorial. This will how async keywords and Task objects support multi-threaded programming, but are not limited to mutli-threaded scenarios. They are often used in other asynchronous programming tasks.

The issues created for the [async] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

[ObjectOriented]: Authoring classes

This is the second module of the Object Oriented Programming tutorial. This will cover how to express design decisions in C# code.

The issues created for the [ObjectOriented] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

Migrate samples from the "sample" branch in dotnet/try

We've created this repo because the dotnet/try repository is the wrong location.

There are a few subtasks for completing this:

  • Bring the C# 8 exploration to this repository (See #7)
  • Bring the beginners samples and Pascal's triangle sample to this repo. Source is in the dotnet/try#Samples branch.
  • Update the last item in the dotnet/try README section on "getting started" to point to this repo.
  • Delete the "Samples" branch from the dotnet/try repo.

/cc @LadyNaggaga @jonsequitur

Revamp to use Github Actions or embedded code windows

It's disappointing to see one of the only MS trainings for LINQ that actually has you code a substantial amount yourself to be in such a pitiful state. Users need to install a dotnet tool that is really only used embedded in MS websites these days and along with that an SDK for an obscure version of .NET as well. It is evident from the other issues posted here that people are having mixed results, even with the efforts from the community to fork it into a usable version.

C# has a good reputation as a backend language thanks to LINQ. I would suggest to revamp this tutorial more in the style of recent Blazor tutorials and leverage the power of Github Actions or otherwise make this into one of those tutorials on learn.microsoft.com with the embedded code window that are available for the more foundational coding examples so people can reliably learn the code there.

There is certainly a lot of potential in the future of Blazor and Azure in combination with AI but to see, in contrast, an important training of one of the fundamental building blocks of C# in such a neglected state is truly very sad. Blazor apps will, in many cases, be leveraging EF Core and benefit greatly from the use of LINQ in that process.

LINQ has a bad reputation with regards to performance in some corners of the internet even though there have been plenty of improvements in that department over the years, not a single training that I have seen will emphasize / demonstrate that. I learned this from other developers. There is a lot to be gained by making a serviceable version of this training in my opinion. New developers shouldn't need Advent of Code or Bob Tabor's training from half a decade ago as their only source of inspiration to use this part of C#.

[LINQ]: Ordering

The LINQ tutorial represents all new content. This is the fifth module, which covers ordering expressions.

The issues created for the [LINQ] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

dotnet try error - Type Not Found (System.Object, System.String, System.Int32, etc) workaround

Reproducing Error

  • In the terminal navigate to folder with Try .NET samples.
  • Run dotnet try.
    dotnet try
  • This will launch the browser.
  • Hit run and you might see the error below.
    MicrosoftTeams-image

Possible causes

Fix

  • Open the code project directory try-samples\Beginners\myapp in an editor or file explorer
  • Delete the following folders ‘bin’ and ‘obj’
  • Delete .binlog file
    image
  • Run dotnet try verify . at the ``try-samples\Beginners` folder a terminal.
    image
  • Run dotnet try.
  • Hit run once the browser has launched
  • All fixed!

indentation from the original source code is not stripped from the code show in the browser

Describe the bug

When using the try-sample from here https://github.com/dotnet/try-samples/tree/master/csharp8 and reading about using declerations then the page rendered by https://localhost:/using-declarations-ref-structs.md contains tabs in the example code that I did not expect (See screenshot). It seems like the second using is confusing the formatter.

Did this error occur while using dotnet try or online?

  • dotnet-try
  • .NET Jupyter Notebook
  • online

What kind of error was it?

  • User Interface (UI): For example the output never displayed
  • Service Error: For example "The service is temporarily unavailable. We are working on it"
  • Other:

Screenshots

Screenshot 2019-11-23 at 00 20 40

Please complete the following:

  • OS
    • Windows 10
    • macOS
    • Linux (Please specify distro)
    • iOS
    • Android
  • Browser
    • Chrome
    • Edge
    • Safari

[ObjectOriented]: Inheritance and polymorphism

This is the fifth module of the Object Oriented Programming tutorial. This will cover how C# supports inheritance and polymorphism.

The issues created for the [ObjectOriented] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

[LINQ]: Advanced Query expressions

The LINQ tutorial represents all new content. This is the fourth module, which covers the more advanced query syntax expressions. These include join, group join, let expressions and so on.

The issues created for the [LINQ] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

Network server request

I've been trying to find a solution to the red rectangle network error console output when practicing c# on Microsoft learn interactive tutorial but can't seem to find the solution. Any help would be appreciated. Thanks.

[LINQ]: Working with Sequences

The LINQ tutorial represents all new content. This is the first module, which covers the basics of working with sequences.

The issues created for the [LINQ] module are preliminary, and the precise content may change as the tutorial is developed. This initial breakdown is intended to help scope the effort for each tutorial.

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.