搜索
您的当前位置:首页正文

《HelloGitHub》第 08 期

来源:二三娱乐
Paste_Image.png

简介

最开始我只是想把自己在浏览GitHub过程中,发现的有意思、高质量、容易上手的项目收集起来,这样便于以后查找和学习。后来一想,如果给这些GitHub项目都加上简单的效果图和一些通俗易懂的中文介绍。应该能够帮助到我这样的新手激发兴趣去参与、学习这些优秀、好玩的开源项目。

所以,我就做了一个面向编程新手热爱编程对开源社区感兴趣 的人群的月刊,月刊的内容包括:各种编程语言的项目各种让生活变得更美好的工具书籍、学习笔记、教程等。这些项目都是非常容易上手,而且非常Cool,主要是希望大家能动手用起来,加入到开源社区中。会编程的可以贡献代码,不会编程的可以反馈使用这些工具中的bug、帮着宣传你觉得优秀的项目、star项目⭐️。同时你将学习到更多编程知识、提高自己的编程技巧、发现自己的兴趣


Python项目

Paste_Image.png Paste_Image.png
# 下面为例子需要的数据库的建表语句
CREATE TABLE `users` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `email` varchar(255) COLLATE utf8_bin NOT NULL,
    `password` varchar(255) COLLATE utf8_bin NOT NULL,
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin
AUTO_INCREMENT=1 ;
# -*- coding: utf-8 -*-
import pymysql.cursors

# 连接数据库
connection = pymysql.connect(host='localhost',
                             user='user',
                             password='passwd',
                             db='db',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)

try:
    with connection.cursor() as cursor:
        # 创建一个新的纪录(record)
        sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
        cursor.execute(sql, ('webmaster@python.org', 'very-secret'))

    # 连接不会自动提交,所以你想下面要调用 commit 方法,存储对数据库的改动
    

    with connection.cursor() as cursor:
        sql = "SELECT `id`, `password` FROM `users` WHERE `email`=%s"
        cursor.execute(sql, ('webmaster@python.org',))

        # 获取一条的纪录(record)
        result = cursor.fetchone()
        print(result)  # 结果输出:{'password': 'very-secret', 'id': 1}
finally:
    connection.close()  # 操作完数据库一要记得调用 close 方法,关闭连接

Go项目

Paste_Image.png

Ruby项目

Paste_Image.png

Javascript项目

Paste_Image.png

C、C++项目

  • 无需侵入业务逻辑,把多进程、多线程服务改造成协程服务,并发能力得到百倍提升;

  • 支持CGI框架,轻松构建web服务(New);

  • 支持gethostbyname、mysqlclient、ssl等常用第三库(New);

  • 可选的共享栈模式,单机轻松接入千万连接(New);

  • 完善简洁的协程编程接口

    • 类pthread接口设计,通过co_create、co_resume等简单清晰接口即可完成协程的创建与恢复;
    • __thread的协程私有变量、协程间通信的协程信号量co_signal (New);
    • 语言级别的lambda实现,结合协程原地编写并执行后台异步任务 (New);
    • 基于epoll/kqueue实现的小而轻的网络框架,基于时间轮盘实现的高性能定时器;

C#项目

public class Account
{
    public string Email { get; set; }
    public bool Active { get; set; }
    public DateTime CreatedDate { get; set; }
    public IList<string> Roles { get; set; }
}

Account account = new Account
{
     Email = 
     Active = true,
     CreatedDate = new DateTime(2013, 1, 20, 0, 0, 0, ateTimeKind.Utc),
     Roles = new List<string>
     {
         "User",
         "Admin"
    }
};

string json = JsonConvert.SerializeObject(account, Formatting.Indented);
// {
//   "Email": 
//   "Active": true,
//   "CreatedDate": "2013-01-20T00:00:00Z",
//   "Roles": [
//     "User",
//     "Admin"
//   ]
// }

Console.WriteLine(json);

Objective-C、Swift项目

  • 集成了 aria2,运行后即完成配置工作
  • 多线程下载
  • 未完成任务退出可以自动保存
  • 支持迅雷离线,百度,115,360等网盘的aria2导出(需要浏览器插件支持)
  • 支持PT/BT,BT速度跟种子热度有关,如果没有速度网盘离线后再下载
  • 在Badge显示整体下载速度
  • 任务完成通知
Paste_Image.png

Java项目

  • 使用多种方式(View/SurfaceView/TextureView)实现高效绘制
  • B站xml弹幕格式解析
  • 基础弹幕精确还原绘制
  • 支持mode7特殊弹幕
  • 多核机型优化,高效的预缓存机制
  • 支持多种显示效果选项实时切换
  • 实时弹幕显示支持
  • 换行弹幕支持/运动弹幕支持
  • 支持自定义字体
  • 支持多种弹幕参数设置
  • 支持多种方式的弹幕屏蔽

其它


声明

  • 分享项目格式:项目名称——项目地址:项目描述(中文),追求完美👉项目上手demo、有图有真相~

或许你分享的项目会让别人由衷的感慨:“原来还有这么有意思的项目!编程可以这么酷!”

欢迎转载,请注明出处和作者,同时保留声明和联系方式。

联系方式

Top