code-segment
code-segment copied to clipboard
代码集和收藏项目目录。包括数据结构,算法,练习等的简单实现以及收藏项目列表。
code-segment
聚集一些平时写的或搜集的一些有用的或有意思的代码片段.
安装
-
PHP安装
- composer.json文件的require中添加 "2lovecode/code-segment" : "dev-master"
- 执行composer update
- Php文件夹中的部分类您可以在自己的项目中通过自动加载使用,其它语言片段文件仅供查看参考.
-
暂不支持其它语言包管理器的安装,您可以直接git clone [email protected]:2lovecode/code-segment.git 直接下载.
-
Go语言(Go) 已迁移至 graffito
-
C语言(C) 已迁移至 graffito-c
目录:
- [x] Php:
-
[x] AttributesChangeLog:记录参数的一个类,该类实例化的对象可以持有一个参数池,所有出现在这个参数池中的参数都可以跟踪其值的变化.
-
[x] BloomFilter:布隆过滤器
-
[x] Container:依赖注入容器(DI)的实现(copy from laravel)
-
[x] DataStructureAndAlgorithm:数据结构和算法
-
[x] BPlusTree : B+树
-
[x] BTree : B树
-
[x] Hash : Hash表实现
-
[x] Heap : 堆实现
- [x] MaxHeap : 最大堆
- [x] MinHeap : 最小堆
-
[x] PageRank : 网页排名-简单PageRank实现
-
[x] RedBlackTree : 红黑树实现
- [x] RedBlackTree : 红黑树实现
-
[x] SkipList : 跳跃表实现
- [x] SkipList : 跳跃表实现
-
[x] Sort : 排序算法
- [x] CompareSort : 比较类排序
- [x] InsertSort : 插入类排序
- [x] InsertSort : 插入排序
- [x] ShellSort : 希尔排序
- [x] MergeSort : 归并类排序
- [x] MergeSort : 归并排序
- [x] SelectSort : 选择类排序
- [x] HeapSort : 堆排序
- [x] SimpleSelectSort : 简单选择排序
- [x] SwapSort : 交换类排序
- [x] BubbleSort : 冒泡排序
- [x] QuickSort : 快速排序
- [x] InsertSort : 插入类排序
- [x] NoCompareSort : 非比较类排序
- [x] BucketSort : 桶排序
- [x] CountSort : 计数排序
- [x] RadixSort : 基数排序
- [x] CompareSort : 比较类排序
-
-
[x] DesignPatterns:一些设计模式的示例
- [x] Adapter : 适配器模式
- [x] Command : 命令模式
- [x] Composite : 组合模式
- [x] Decorator : 装饰者模式
- [x] Facade : 门面模式
- [x] Factory : 工厂模式
- [x] Iterator : 迭代器模式
- [x] Observer : 观察者模式
- [x] Pipeline : 管道模式
- [x] Proxy : 代理模式
- [x] Singleton : 单例模式
- [x] State : 状态模式
- [x] Strategy : 策略模式
- [x] TemplateMethod : 模板方法模式
-
[x] FileOperation:php操作目录和文件的一些示例
- [x] DirTranverse : 非递归方式实现目录数量统计
- [x] ExcelColIncrease : excel列标识自增方法
- [x] GenerateBigFile : 大文件生成
-
[x] FilterSensitiveWord:敏感词过滤实现
-
[x] HyperLogLog : 模拟redis的HyperLogLog数据结构
-
[ ] InterestingQuestion : 一些有趣的需要使用数据结构和算法解决的问题[NEW][UNITTEST]
- [ ] Stack : 栈相关
- [x] StackWithGetMin : 可以以O(1)获取最小值的栈实现
- [ ] Stack : 栈相关
-
[x] LaravelTest : 依据Laravel框架中一些机制的实现原理,写的一些实现demo
- [x] MiddleWare : 依据MiddleWare的实现原理,实现的一个简单demo
-
[x] PhpSyntaxTestCode:一些php的语法的测试示例
- [x] TestData : 测试数据
- [x] ThrowableTest : Throwable类测试
- [x] ArrayReduce : array_reduce函数测试
- [x] CloneSyntax : clone语法测试
- [x] FileOperation : 文件操作测试
- [x] GetFileLastNumRow : 或取文件最后一行代码测试
-
[x] SimpleContainer:DI容器简单实现
-
[x] SimpleDataBase:php实现的一个简单的key-value数据库
-
[x] SimpleRandom : 简单的页面随机抽取实现
-
[ ] Tests : 单元测试代码
-
[x] TransformDataPieces:将crontab的配置,例如: * * * * *,分解为散列的时间片段,实现定时功能
-
[x] UrlShortener : url短链接生成策略
- [x] AutoIncreaseShortener : 自增序列法
- [x] Md5Shortener : 摘要法
-
[x] UsefulTools:一些有趣的工具
-
- [x] Awk : awk语言
- [x] Calendar : 日历实现
- [x] InterActiveStrReplace : 实时接收输入并输出
- [x] PersonInfo : 简单数据库实现,以个人信息为模型
- [x] C : ~~c语言~~ 已迁移至 :triangular_flag_on_post: graffito-c
- [x] Calculator : 计算器实现
- [x] DataStructureAndAlgorithm : 数据结构和算法
- [x] dict_order : 字典序问题
- [x] queue : 队列实现
- [x] skip_list : 跳跃表实现【参考redis实现】
- [x] stack : 栈实现
- [x] GetLineOperation : 读取标准输入
- [x] PatQuestionBank : PAT能力考试真题题库解答 https://www.patest.cn/practice
- [ ] AdvancedLevel : 甲级真题
- [ ] BasicLevel : 乙级真题
- [ ] TopLevel : 顶级真题
- [x] RedisSourceCodeDemo : 仿照redis(v5)源码写的一些帮助理解的demo
- [x] SDS : 简单动态字符串SDS的简单实现
- [x] SwapValue : 值交换
- [x] Go : ~~Go语言~~ 已迁移至 :triangular_flag_on_post: graffito
- [x] Timer : 基于redis zset list 实现的定时器.
- [x] JavaScript : JavaScript
- [x] TencentMapApi : 腾讯地图api示例
- [x] Tools : 一些自己写的实用工具集合[序列化 反序列化 手机IMEI生成器]
- [x] Shell : Shell脚本
- [x] AutoConfigLnmpWebSite : 自动配置lnmp环境站点
- [ ] ResourceCollection : 一些资料资源的集合(我是图书馆,只管收藏,从不看...)
README 使用
- 最外层展示所有层的目录树状结构,描述较简略
- 各层目录下,只展示当前层包含的目录,描述较详细
收集的一些项目资源地址
Golang
- Go-Questions深入学习golang必备
- awesome-go
- go多版本管理器:g (刚入手,正在体验)
- golang入门指南
- 煎鱼的gin使用示例:go-gin-example
- go优秀项目集合:go-awesome
- go开源项目集合:golang-open-source-projects
- uber依赖注入包:dig
- 微服务框架:kit
- bilibili的go微服务框架工具:kratos
- 测试包:goconvey
- json编解码包:go-simplejson
- 代码安全检测包:gosec
- uber依赖注入包:dig
- 依赖注入库:inject
- 各算法实现:TheAlgorithms
- go每日一库:go-daily-lib
- 内网穿透代理服务器:nps
- 内网穿透代理服务器:clash
- frp:内网穿透代理服务器
- minio:开源的轻量级对象存储服务
- minio中文文档
- filebrowser:浏览器上访问你的服务器资源 filebrowser
- golang-design-pattern:golang设计模式
- istio:微服务管理工具
- golang 建站指导手册
- sqlparser:解析sql的demo
- gengine:规则引擎
- goreplay:流量复制工具
- b-tree
- b+tree
- golang-awesome
- conc-Go优雅并发处理工具包
Rust
C
Rust
Python
PHP
Java
Javascript
- js实现各个算法:javascript-algorithms
- vue+el实现的后台管理项目:vue2-manage
- vue+el实现的后台管理项目:vue-element-admin
- pc客户端开发框架:electron
- electron开发的优秀项目:awesome-electron
- electron集成vue:electron-vue
- 算法可视化:algorithm-visualizer
- 图片裁剪js库
- markdown编辑器:marktext
- 游戏引擎:Babylon
- JSON编辑器
- 服务监控工具
- umami: 类似google analytics的数据采集及分析工具,实现追踪页面来源,线索归因等
- excalidraw:手写风格画图工具
编辑器or方便的工具和插件
- 让你只用键盘就能操作浏览器的神奇插件:vimium
- 一款管理本地hosts文件的客户端工具:SwitchHosts
- 一键配置vim编辑器:spf13-vim
- 一款强大免费且开源的画流程图的软件:drawio
- api请求客户端代理工具:hoppscotch
- 美化你的shell客户端:ohmyzsh
- docker知识备忘:docker-cheat-sheet
- 终端docker管理软件:lazydocker
图像&视频处理
机器学习&人工智能&大数据
- 机器学习入门学习
- ai学习指南:AiLearning
- 机器学习框架:tensorflow
- tensorflow学习教程:TensorFlow-Course
- 30天学会tensorflow:eat_tensorflow2_in_30_days
- pytorch项目集合:Awesome-pytorch-list
- 自然语言处理方面的最新进展:NLP-progress
- 行人识别
操作系统
学习教程
- 计算机速成课:Crash-Course-Computer-Science-Chinese
- web开发者路线图:developer-roadmap
- 面试与算法心得:The-Art-Of-Programming-By-July
- CS面试路线图:CS-Interview-Knowledge-Map
- CS面试知识:coding-interview-university
- ai学习教程:ai-edu
- 各大学课程资源:A-to-Z-Resources-for-Students
- 计算机科学课程:computer-science
- 优秀的中文项目:GitHub-Chinese-Top-Charts
- 编程类书籍:free-programming-books-zh_CN
- 面试大全
- 算法