Code Monkey home page Code Monkey logo

genshinpray's Introduction

genshinpray's People

Contributors

gardenhamster 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

genshinpray's Issues

自动建表失败

[zyw@VM-16-4-centos GenshinPray]$ sudo dotnet GenshinPray.dll --launch-profile Production --urls http://0.0.0.0:8099
2022-09-30 14:25:27,002 [1] INFO  ConsoleLog - 日志配置完毕...
2022-09-30 14:25:27,012 [1] INFO  ConsoleLog - 读取配置文件...
2022-09-30 14:25:27,013 [1] INFO  ConsoleLog - 初始化数据库...
2022-09-30 14:25:27,920 [1] INFO  ConsoleLog - 自动建表失败...
2022-09-30 14:25:27,923 [1] ERROR ConsoleLog - The given key '29793' was not present in the dictionary.
System.Collections.Generic.KeyNotFoundException: The given key '29793' was not present in the dictionary.
   at SqlSugar.AdoProvider.GetDataReader(String sql, SugarParameter[] parameters)
   at SqlSugar.AdoProvider.SqlQuery[T,T2,T3,T4,T5,T6,T7](String sql, Object parameters)
   at SqlSugar.AdoProvider.SqlQuery[T](String sql, SugarParameter[] parameters)
   at SqlSugar.AdoProvider.SqlQuery[T](String sql, Object parameters)
   at SqlSugar.DbMaintenanceProvider.GetDataBaseList(SqlSugarClient db)
   at SqlSugar.MySqlDbMaintenance.CreateDatabase(String databaseName, String databaseDirectory)
   at SqlSugar.DbMaintenanceProvider.CreateDatabase(String databaseDirectory)
   at GenshinPray.Dao.DBClient.CreateDB() in D:\project\GenshinPray\GenshinPray\Dao\DBClient.cs:line 22
2022-09-30 14:25:27,923 [1] INFO  ConsoleLog - 数据库初始化完毕...
2022-09-30 14:25:27,938 [1] INFO  ConsoleLog - 正在初始化定时任务...
2022-09-30 14:25:28,044 [1] INFO  ConsoleLog - 正在初始化定时清理任务...
crit: Microsoft.AspNetCore.Hosting.Diagnostics[6]
      Application startup exception
      MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'genshinpray.goods' doesn't exist
         at SqlSugar.AdoProvider.GetDataReader(String sql, SugarParameter[] parameters)
         at SqlSugar.QueryableProvider`1.GetData[TResult](KeyValuePair`2 sqlObj)
         at SqlSugar.QueryableProvider`1._ToList[TResult]()
         at SqlSugar.QueryableProvider`1.ToList()
         at GenshinPray.Dao.GoodsDao.getPermGoods(YSGoodsType goodsType, YSRareType rareType) in D:\project\GenshinPray\GenshinPray\Dao\GoodsDao.cs:line 55
         at GenshinPray.Service.GoodsService.LoadYSPrayItem() in D:\project\GenshinPray\GenshinPray\Service\GoodsService.cs:line 63
         at GenshinPray.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment env) in D:\project\GenshinPray\GenshinPray\Startup.cs:line 112
         at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
         at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
         at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
         at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
         at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass15_0.<UseStartup>b__1(IApplicationBuilder app)
         at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
         at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
         at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
Unhandled exception. MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'genshinpray.goods' doesn't exist
   at SqlSugar.AdoProvider.GetDataReader(String sql, SugarParameter[] parameters)
   at SqlSugar.QueryableProvider`1.GetData[TResult](KeyValuePair`2 sqlObj)
   at SqlSugar.QueryableProvider`1._ToList[TResult]()
   at SqlSugar.QueryableProvider`1.ToList()
   at GenshinPray.Dao.GoodsDao.getPermGoods(YSGoodsType goodsType, YSRareType rareType) in D:\project\GenshinPray\GenshinPray\Dao\GoodsDao.cs:line 55
   at GenshinPray.Service.GoodsService.LoadYSPrayItem() in D:\project\GenshinPray\GenshinPray\Service\GoodsService.cs:line 63
   at GenshinPray.Startup.Configure(IApplicationBuilder app, IWebHostEnvironment env) in D:\project\GenshinPray\GenshinPray\Startup.cs:line 112
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.Invoke(Object instance, IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.ConfigureBuilder.<>c__DisplayClass4_0.<Build>b__0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.GenericWebHostBuilder.<>c__DisplayClass15_0.<UseStartup>b__1(IApplicationBuilder app)
   at Microsoft.AspNetCore.Mvc.Filters.MiddlewareFilterBuilderStartupFilter.<>c__DisplayClass0_0.<Configure>g__MiddlewareFilterBuilder|0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.GenericWebHostService.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.Internal.Host.StartAsync(CancellationToken cancellationToken)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.RunAsync(IHost host, CancellationToken token)
   at Microsoft.Extensions.Hosting.HostingAbstractionsHostExtensions.Run(IHost host)
   at GenshinPray.Program.Main(String[] args) in D:\project\GenshinPray\GenshinPray\Program.cs:line 16
已放弃

mysql版本是8.0.30 自己试图创建了goods表,authorize表,后半截没有报错,但是authorize表中并无数据

日志为

2022-09-30 14:14:03,982 [1] INFO  ConsoleLog - 日志配置完毕...
2022-09-30 14:14:03,985 [1] INFO  ConsoleLog - 读取配置文件...
2022-09-30 14:14:03,985 [1] INFO  ConsoleLog - 初始化数据库...
2022-09-30 14:14:05,011 [1] INFO  ConsoleLog - 自动建表失败...
2022-09-30 14:14:05,014 [1] ERROR ConsoleLog - The given key '29793' was not present in the dictionary.
System.Collections.Generic.KeyNotFoundException: The given key '29793' was not present in the dictionary.
   at SqlSugar.AdoProvider.GetDataReader(String sql, SugarParameter[] parameters)
   at SqlSugar.AdoProvider.SqlQuery[T,T2,T3,T4,T5,T6,T7](String sql, Object parameters)
   at SqlSugar.AdoProvider.SqlQuery[T](String sql, SugarParameter[] parameters)
   at SqlSugar.AdoProvider.SqlQuery[T](String sql, Object parameters)
   at SqlSugar.DbMaintenanceProvider.GetDataBaseList(SqlSugarClient db)
   at SqlSugar.MySqlDbMaintenance.CreateDatabase(String databaseName, String databaseDirectory)
   at SqlSugar.DbMaintenanceProvider.CreateDatabase(String databaseDirectory)
   at GenshinPray.Dao.DBClient.CreateDB() in D:\project\GenshinPray\GenshinPray\Dao\DBClient.cs:line 22
2022-09-30 14:14:05,014 [1] INFO  ConsoleLog - 数据库初始化完毕...
2022-09-30 14:14:05,037 [1] INFO  ConsoleLog - 正在初始化定时任务...
2022-09-30 14:14:05,107 [1] INFO  ConsoleLog - 正在初始化定时清理任务...
info: Microsoft.Hosting.Lifetime[14]
      Now listening on: http://0.0.0.0:8099
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
info: Microsoft.Hosting.Lifetime[0]
      Content root path: /data/GenshinPray

没能自动初始化数据库,

错误信息:

user@user-NH50-70RA:/tmp/VirtualMachineFiles/net6.0$ ./GenshinPray
2022-12-26 20:32:43,409 [1] INFO  ConsoleLog - 日志配置完毕...
2022-12-26 20:32:43,416 [1] INFO  ConsoleLog - 读取配置文件...
2022-12-26 20:32:43,417 [1] INFO  ConsoleLog - 初始化数据库...
2022-12-26 20:32:43,655 [1] INFO  ConsoleLog - 自动建表失败...
2022-12-26 20:32:43,658 [1] ERROR ConsoleLog - The user name and password cannot be the same as the database name 
SqlSugar.SqlSugarException: The user name and password cannot be the same as the database name 
   at SqlSugar.Check.Exception(Boolean isException, String message, String[] args)
   at SqlSugar.MySqlDbMaintenance.CreateDatabase(String databaseName, String databaseDirectory)
   at SqlSugar.DbMaintenanceProvider.CreateDatabase(String databaseDirectory)
   at GenshinPray.Dao.DBClient.CreateDB() in /tmp/VirtualMachineFiles/GenshinPray-main/GenshinPray/Dao/DBClient.cs:line 22

其中

"ConnectionString": "Data Source=XXXXXXXXXX;port=3306;Initial Catalog=lzlpucgf_genshinpray;User=lzlpucgf_genshinprayer;pwd=***w8*89*;CharSet=utf8mb4;"

数据库名/用户名/密码 三样均不相同,为什么会出现“The user name and password cannot be the same as the database name ”

手动扣了一些素材

1.不太知道需要的素材要求。所以我使用了512×1024并采取了相对居中的的方式用PS扣了几张。不知道行不行,图片放在了下方,素材来源是米游社的抽卡截图。本身就有点糊吧。所以效果可能不太好。没问题的话我就抽空看看那些缺的扣一下。
2.另外就是后续是否会有api文档吗?
3.是否有Docker之类的容器化的想法呢?

文件:素材.zip
图片:
狼的末路
风鹰剑
松籁响起之时
天空之翼

导入数据库失败

宝塔Linux环境,启动时会提示用户名和密码不能相同导入数据库失败,试了下,好像导入的时候需要root用户才能正确导入

请教一下接口异常的原因

调用接口返回的JSON:
{'code': 500, 'message': '接口异常', 'data': None}
日志:
warn: Microsoft.AspNetCore.HttpsPolicy.HttpsRedirectionMiddleware[3]
Failed to determine the https port for redirect.
2021-12-17 18:47:37,980 [10] ERROR ConsoleLog - Parameter is not valid.
param:authorzation:myguild,memberCode:'1',toBase64:False,imgWidth:0
System.ArgumentException: Parameter is not valid.
at System.Drawing.Bitmap..ctor(String filename, Boolean useIcm)
at System.Drawing.Bitmap..ctor(String filename)
at GenshinPray.Util.DrawHelper.drawOnePrayImg(YSPrayRecord YSPrayRecord, Int32 imgWidth) in D:\project\GenshinPray\GenshinPray\Util\DrawHelper.cs:line 57
at GenshinPray.Service.PrayService.BasePrayService.DrawPrayImg(YSPrayRecord[] sortPrayRecords, Int32 imgWidth) in D:\project\GenshinPray\GenshinPray\Service\PrayService\BasePrayService.cs:line 203
at GenshinPray.Service.PrayService.RolePrayService.GetPrayResult(MemberPO memberInfo, YSUpItem ysUpItem, Int32 prayCount, Int32 imgWidth) in D:\project\GenshinPray\GenshinPray\Service\PrayService\RolePrayService.cs:line 136
at GenshinPray.Controllers.Api.RolePrayController.PrayOne(String memberCode, Boolean toBase64, Int32 imgWidth) in D:\project\GenshinPray\GenshinPray\Controllers\Api\RolePrayController.cs:line 43

Mysql8自动建表没有反应

linux版本:Linux VM-8-5-centos 4.18.0-240.22.1.el8_3.x86_64
mysql版本:8.0.23

在没有使用数据库root账户的情况下。手动创建一个数据库luna用户名lili。跑起来并连接上了数据库。但是后续我用工具连接数据库。没有看到有新的表。然后导入initData会报错。需要我手动建表后在修改一下sql语句导入就没问题了。但是后续在headers放入授权码则会产生

{
  "code": 401,
  "message": "授权码不存在或者已经过期",
  "data": null
}

但是表里是有授权码的。也有可能是我参照第一个commits版本数据库建的表导致的一堆问题。我看了下数据库权限。应该是给够了吧。重新跑了下自动建表这个还是无。研究了一下搞不太明白这个自动建表问题就提个is了 Thanks♪(・ω・)ノ

ps:提前祝大佬中秋快乐!

运行信息:

正在生成...
2021-09-19 16:19:09,329 [1] INFO  ConsoleLog - 读取配置文件...
2021-09-19 16:19:09,332 [1] INFO  ConsoleLog - 初始化数据库...
2021-09-19 16:19:15,053 [1] INFO  ConsoleLog - 数据库初始化完毕...
2021-09-19 16:19:15,076 [1] INFO  ConsoleLog - 正在初始化定时任务...
2021-09-19 16:19:15,135 [1] INFO  ConsoleLog - 正在初始化定时清理任务...
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\Users\Sugar\Desktop\GenshinPray

数据库权限信息:

mysql> show grants for 'lili'@'%';
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for lili@%                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `lili`@`%` WITH GRANT OPTION                                                                                                                                                                                                                    |
| GRANT APPLICATION_PASSWORD_ADMIN,AUDIT_ADMIN,BACKUP_ADMIN,BINLOG_ADMIN,BINLOG_ENCRYPTION_ADMIN,CLONE_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,FLUSH_OPTIMIZER_COSTS,FLUSH_STATUS,FLUSH_TABLES,FLUSH_USER_RESOURCES,GROUP_REPLICATION_ADMIN,INNODB_REDO_LOG_ARCHIVE,INNODB_REDO_LOG_ENABLE,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_APPLIER,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SERVICE_CONNECTION_ADMIN,SESSION_VARIABLES_ADMIN,SET_USER_ID,SHOW_ROUTINE,SYSTEM_USER,SYSTEM_VARIABLES_ADMIN,TABLE_ENCRYPTION_ADMIN,XA_RECOVER_ADMIN ON *.* TO `lili`@`%` WITH GRANT OPTION |
| GRANT ALL PRIVILEGES ON `luna`.* TO `lili`@`%`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
3 rows in set (0.00 sec)

建议全角色池和普通角色池合并

例如,角色池编号-1固定为全角色池。全角色池和普通角色池低保计数共通。同理武器池和全武器池合并为编号不同的武器池

全角色池和全武器池的抽卡逻辑和普通的池子其实没有区别,分成2个不同模块徒增后期维护成本,也导致接口变复杂。
将全角色池和普通角色池分开计算低保其实没什么必要,用户在模拟抽卡时候可能只是心血来潮地想要抽一发全角色池,这个情况下低保还要从头开始计数对这种偶尔一抽的角色也是一种负面反馈。而且也会增加数据处理成本(角色祈愿记录展示等都会从3个池变成5个池)

(只是单纯建议,全武器池和普通武器池其实在定轨上还是有一点区别的)

Base64时不保留文件

rt,腾讯轻量姬子只有80G硬盘,出去杂七杂八的大概剩下30G可以用,塞到机器人之后,一晚上就把硬盘撑爆了,根本等不到凌晨4点删图片。能不能弄个参数输出只base64,本地不产生文件。

生成的图片颜色鬼畜

202204252143251870
如图。生成的时候日志在不断重复这句话:libpng warning: iCCP: known incorrect sRGB profile

Smooth animation

Hello, I see at the link PrayMaterial -> 框 -> 金色框 there are only 10 photos, can you guide me to use GenshinStudio to extract and increase the number of images to 30 (30 frames per second)? Thanks developer.

CreatePrayResult在AddMemberGoods后执行导致十连获得新角色时绘制属性icon出现问题

问题具体现象:
当第一次通过十连获得某个角色时,DrawHelpers在绘制角色时不会绘制属性图标。
问题发生于DrawHelpers的drawIcon这一步,但是问题的发生原因在此之前。

只有十连会产生此问题,因为10连的逻辑中,如果是重复角色,则要绘制转化素材,而不会绘制元素属性图标。单抽时无论如何都会绘制元素属性图标,所以不存在此问题。

drawIcon会根据传递的PrayRecord中的物品持有数量判断自己是不是new,这里的逻辑是“如果<种类>为<角色>并且<数量>为0”
但是在前面PrayController中获取到的物品数量中,GetOwnedCount返回的是ownInDatabase + ownInRecord两者的和。
比如我原本有0只刻晴,抽到第一只刻晴的时候,GetOwnedCount返回的值将会是1而不是0。

这就导致drawIcon判断条件中的prayRecord.OwnedCount == 0无论如何都不会触发。
作为对比,下面绘制转化素材时判断的逻辑为prayRecord.OwnedCount > 1 && prayRecord.OwnedCount <= 7。所以可以正常的区分new与非new。

但是单纯将prayRecord.OwnedCount == 0改为prayRecord.OwnedCount <= 1并不能避免极端情况。例如我首抽1发里一下出了3只刻晴,那么GetOwnedCount对3只刻晴的记录都会直接返回3,导致3只刻晴都不会出现属性图标。

我是在v1.0.0上测试的,但是考虑到这部分抽卡逻辑是相同的,main分支上应该也会有同样的问题。

全角色池与全武器池初始化时使用的getByGoodsType方法漏了GoodsID

如题,全角色池与武器池使用getByGoodsType方法从goods而不是从pond_goods检索数据,这个方法中在Select时漏掉了GoodsID信息,返回的YSGoodsItem中所有物品的GoodsID均为0
导致全角色池与全武器池出货后,AddMemberGoods时添加的记录中的GoodsID也为0而不是物品本身的ID。进而导致出货无法正常计入角色的已有库存和事后的角色祈愿记录查询。
fix:

sqlBuilder.Append(" select g.GoodsName,g.RareType,g.GoodsType,g.GoodsSubType,g.Id as GoodsId from goods g");
...

关于容器化的一些想法

最近也是在搞一个 .NET 项目,容器化,官方的文档是在容器中编译,然后COPY到运行时容器中打包运行。

我的做法是是容器外打包成对应平台的二进制,然后 Dockerfile 里面直接把打包好的文件复制进容器,比官方那种方式配置起来简单。

但是容器化运行最好做成完全自动的那种,现在第一次运行前还要手动导入数据。最优方式当然是用docker-compose一起启动两个容器,然后 .NET 程序运行时检查一下数据库里面有没有东西,没东西就导入 sql 文件,省去手动操作这一步。

你用的 Sqlsurger 我没怎么了解过(EFCore 用的比较多),基本思路是,在 .NET 容器里装 mysqldump,然后运行时,在构建 WebApplication 之后直接建立一个 Scope 然后创建一个 DbContext,检查数据库里面有没有东西,没东西就运行 mysqldump 把数据导入进去。

容器化这部分我也是刚接触不久,不知思路是否正确,可以探讨一下(

最近搞的项目:https://github.com/MaaAssistantArknights/MaaDownloadServer

只不过这个是 Sqlite,也无初始数据(

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.