自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

搜索引擎预备工程师

热爱搜索引擎,热爱读书和写博客

  • 博客(69)
  • 资源 (3)
  • 收藏
  • 关注

原创 效率工具1-shell命令-造轮子-zgrip命令使用说明

背景我们经常会使用 grep 命令, 奈何 grep 命令实在不怎么好用, 于是写一个python 脚本来包装 grep 命令,让它更友好一些,使用它可以极高的提高效率.它可以让我们以更少的输入来快速完成原来很复杂的查询, 而且会打印出生成的底层语句, 来看几个例子吧.例子case1 简单初体验以前我要使用 grep 查找当前目录下的"内容中包含XX的后缀是XX的文档", 而且希望它能忽略大小写, 能查找目录软链接下的内容, 我必须写很长的参数.比如我之前想查找 当前目录下,名称中含有 mak

2021-01-26 19:55:34 535

原创 效率工具2-shell命令-造轮子-find命令增强版-zfind命令

背景我们经常会使用 find 命令, 奈何 find命令实在不怎么好用, 于是写一个python 脚本来包装 find命令,让它更友好一些,使用它可以极高的提高效率.使用我将提供下面一段脚本, 只要你将它命令为 zfind把它放到可执行文件的查找路径下使用 zfind 关键字 就可以愉快地使用了因为我喜欢使用markdown 来写文档, 所以我默认让 find 命令查找 markdown 文件代码展示#! /Users/zxzx/.conda/envs/scrapy/bin/pyth

2021-01-17 08:59:47 222 3

原创 效率工具3-文档利器-造轮子-markdown文件命令行工具md2

标准 Readme 生成工具 Python版原仓库 standard-readme我的Python版仓库 https://github.com/notfresh/md2标准 Readme 样式README 文件是人们通常最先看到的第一个东西。它应该告诉人们为什么要使用、如何安装、以及如何使用你的代码。README 文件标准化能够使得创建和维护 README 文件更加简单。毕竟,要写好一个文档不是那么容易的。本仓库包含以下内容:一个创建标准 README 的生成器的 Python 版本。(也许

2021-01-16 14:19:07 309

原创 实践1-设计模式-可以扩展的cpp多线程单例模式

可以扩展的多线程单例模式单例模式真可谓非常出名了, 但是一般大家的探究仅仅止步于如何从多线程安全的角度来实现它.我今天在网友的智慧的基础上往前再走一步, 提出可以支持扩展的单例模式.在这篇文章中, 你将了解到4中单例模式, 它们层层递进. 它们分别是(1) 隐藏构造函数的基本单例模式(2) 支持多线程的单例模式(3) 使用模板支持扩展的借助 static 成员属性的单例模式(4) 使用模板支持扩展的借助 static 局部变量的单例模式最后两个方法是我本人想了三个小时摸索出来的, 我还没有看

2021-01-13 16:01:01 162

原创 聊一聊写文档这件事

摘要本文通过对话的形式, 简单的提出几个问题并且给出了自己的答案, 这些问题都罗列在目录中, 可以使用 ctrl + f 直接跳转到具体的问题去看, 但是最好从头到尾阅读一下, 大多数都是对话体, 通俗易懂.在文末也会有总结, 希望它可以回答关于你为啥要写文档以及如何写文档的答案.目录1 为什么要聊这件事?2 写文档的意义具体表现在哪?3 为什么很多人讨厌写文档?4 既然如此, 为什么还要非写不可?5 你说的都太宽泛, 给出几条实际的做法?6 如果我还是不想写文档呢?7 我很忙真的应该写

2021-08-18 00:28:52 201

原创 Raft论文解读对话

文章目录1 为什么要读读raft论文?2 讲一下raft协议的背景?3 有中文翻译的原稿吗?4 英文原稿的篇幅介绍一下?5 摘要了讲了什么?6 其余部分呢?7 请你讲一下paxos有什么问题?7.1 你的意思是作者说paxos是个绣花枕头?8 接下来应该看什么地方呢?8.1 备份状态机如何理解?8.2 一致性算法到底研究的是什么问题?9. 现在应该看哪一部分呢?9.1 为什么你不用中文标点符号,这样很不规范啊?10 接下来是什么部分?10.1 第四部分说了什么?11 第10部分讲了啥?12 第5部分是篇幅最

2021-08-14 17:11:35 400

原创 kafka论文解读对话

文章目录1. 你为什么要阅读kafka论文呢?2. 论文网址在哪?3. 论文重点是哪一章?4. 论文篇幅有多长?5. 第三部分大致讲了哪几点呢?5.1 看的人晕头转向的?6. kafka这个名字怎么来的?7. 请回到主题上面来,请问kafka的核心部分都讲了什么?8. 那么请问kafka是如何保证可靠性的?8.1 如果kafka消息保存到硬盘上出错了怎么办?8.2 我有一个问题想问,kafka发送消息严格保证顺序吗?8.3 等一下,我还想问一下,如果一个kafka机器崩溃了,消息是不是丢失了啊?9 那么请你

2021-08-01 13:37:32 743 2

原创 cpp教程1-闲聊cpp11,14,17,20引入的有趣的东西

闲聊c++11,14,17,20引入的有趣的东西你为啥想聊这个问题呀?那你先说说你现在C++11经常用的特性呗?C++14有什么新东西?C++17有什么新东西?那你说说C++17都怎么了?还有吗?太有趣了,请继续吧。特性太多了,最后介绍两个重要的特性吧!C++20有哪些新特性呢?你为啥想聊这个问题呀?答:因为咱总要跟上时代的,不能太落伍,虽然我对此并不是很感兴趣,但是总归是要知道的。那你先说说你现在C++11经常用的特性呗?答:我觉得C++11有趣的特性有,lambda表达式,我经常用,还有就是模板

2021-07-31 02:50:40 2042

原创 如何阅读论文

如何阅读论文一个软件开发工程师应该经常阅读论文。虽然现在是机器学习非常流行的时代,很多计算机相关的论文都是和机器学习相关,但是工程相关的论文,作为计算机专业的一个传统论文, 作为计算机工程实践的重要思想指导,也是非常重要的,在一窝蜂猛冲算法的时代,认真阅读工程相关的论文依然非常重要。平常写了太多的CRUD,让你感觉自己是一个打工仔的时候,如果你阅读过专业的论文,你应该会有更高级的思维和专业能力,而不是永远作为几个基层的程序员。作为一个计算机专业的学生,你应该对自己保持高的要求,尤其是一个名校毕业的学

2021-06-14 17:23:29 116

原创 【读书笔记】《开源法则》读书感受

介绍开源法则,这本书,是我在图书馆偶尔碰见的,我觉得这本书写的不错,2020年底出版的,距离现在,2021-05-02,也不过几个月,值得入手看看。但是不值得细看。是一本工具书。目录开源的直接受益知识点一些书中提到的但是我搞不懂的问题几个我感兴趣的问题开源的直接受益最直接的是,你想做一个项目,你会去网站找一个成套的代码,然后拿下来改造,这是普通人收益最深的,而普通人理解的开源也就是这么简单。业内人士非要说,不对不对,你理解的太浅了。朋友们,如果要把一个东西广为流传,就一定要做的足够简单,

2021-05-02 20:25:40 251

原创 cpp教程2-cpp命名规范整理

目录命名通用规则文件命名规则变量命名规则名字空间命名规则宏命名define头文件保护命名匈牙利命名法zzz谷歌开源cpp代码规范命名通用规则文件名、函数名、变量名命名应具有描述性,不要过度的缩写,类型变量是名词,函数名是动词或动词+名词。函数名必须是指令性的,非常普遍性的才用缩写。总结:命名要遵守项目规范,同时有区分度文件命名规则c++文件应以.cpp/.cc结尾, 头文件以.h结尾,文件名全部小写,中间采用下划线连接单词3类型命名类型包括:类(class)、结构体(struc

2021-05-01 20:36:29 1952

原创 智囊读书笔记

智囊 通简今天我看了智囊的通简卷。这卷的名字,大事化小小事化了。举了好几个故事,说明怎么大事化小小事化了的。但其实,只是形式,没有深究问题的本质。比如有萧规曹随,而且能说服皇帝,这就很厉害。武遂平乱,徐敬业平乱,诸葛亮平定蛮子。军营叛乱安定,等等都大事化小,小事化了。还有焚烧反叛文书以安人心等等。本质,在我看来,应该是对事物本质的思考和把握。把握了事情的本质,才能对症下药,才能以最低的精力和成本来搞定这件事。所以,对于不同人来说,方法可能不尽相同,但是都应该建立在正确把握事情本质的前提之

2021-04-24 20:00:52 132

原创 搜索引擎网页去重算法-信息检索课-课件

我在信息检索课堂做的网页去重算法分享https://shimo.im/presentation/616aWOYe3YgdSWVV

2021-04-24 18:17:57 201

原创 shell学习集合

[^_^]:$$${实用性:难度:标签:标签: 激情兴趣:名称: 1@linux shell中的实用命令完整程度:不完整程度:重要程度: 110代码难度:代码量:$$$}# 目录函数传参Shell的for循环语句示例grep查找命令find命令zzzfind的介绍2find介绍3查看进程命令的ps命令ps结合grep结合awkdiff命令zzztop命令du命令和df命令awk命令网络状态监控命.

2021-04-24 17:50:17 470

原创 最好的make学习笔记

目录什么是makefile基本命令格式make命令的执行编译与链接make工作流程通配符与变量控制语句内置的函数Makefile 的简单实例一个复杂的实例参考集合什么是makefileMakefile 文件描述了整个工程的编译、连接等规则。其中包括:工程中的哪些源文件需要编译以及如何编译、需要创建那些库文件以及如何创建这些库文件、如何最后产生我们想要的可执行文件。尽管看起来可能是很复杂的事情,但是为工程编写Makefile 的好处是能够使用一行命令来完成“自动化编译”,一旦提供一个

2021-02-23 20:53:43 301 1

原创 cpp教程3-文章翻译-如何设计一个线程安全的C++11数据结构?

目录1.什么是线程安全?1.什么是线程安全?At the basic level, designing a data structure for concurrency means that multiplethreads can access the data structure concurrently, either performing the same or distinct operations, and each thread will see a self-consistent vi

2021-02-18 11:30:18 304 1

原创 go语言快速热身-手稿

为了学习MIT6.824, 热身了一下go语言, 记录一下。go语言里面有很多语言特性和C++和很类似,自己也做了一些测试,下面就是我的测试脚本,基本上每个方法都测试过的。2021-02-10 22:36:13环境是 MacOS + VSCODE➜ go_learn go versiongo version go1.14.14 darwin/amd64// vscode 错误提示,无视package main import "fmt"func print(i int){ fmt.

2021-02-10 22:37:02 81

原创 hello, 分布式系统课程MIT6.824

2021-02-04找到几个不错的资料标题: MIT%s6.824分布式系统作者: 1只小包子原文链接: https://blog.csdn.net/a940902940902/article/details/79372533MIT6.824地址MIT6.824 GithubMIT6.824中文MIT3.824lab实现决定先跟着这个仓库学习一下https://github.com/feixiao/Distributed-Systems...

2021-02-04 11:12:18 170

原创 cpp教程4-编程实战-一个通用c++字符串缓冲类的设计

一个通用字符串缓存类的设计最近在写一个 cpp server, 其中有用到设计一个缓存类, 然后我也是借鉴了其他大佬的思路, 从中学到了不少知识, 就在这里总结和分享一下自己的感受.一个缓存类的设计应该有哪些特性呢?在我们分析其有哪些特性前, 让我们先思考一个问题. 这个缓存类是用来干什么的?在我做的这个项目中, 这个缓存类是用来存放 http request 报文用的,我们是从 socket 中读取的数据, 然后放到这个容器中.我们不知道报文的长度, 所以缓存类需要能够自适应变长.一个缓存类

2021-02-02 21:12:28 449 1

转载 张三思读博客 教你跟面试官说清楚平衡二叉树怎么旋转

标题: 平衡二叉树(树的旋转)作者: 清塘荷韵_kathy原文链接: https://blog.csdn.net/qq_24336773/article/details/81712866扩充:张三思1.概念平衡二叉树建立在二叉排序树的基础上,目的是使二叉排序树的平均查找长度更小,即让各结点的深度尽可能小,因此,树中每个结点的两棵子树的深度不要偏差太大。平衡二叉树的 递归定义 :平衡二叉树是一棵二叉树,其可以为空,或满足如下2个性质:①左右子树深度之差的绝对值不大于1。②左右子树都是平衡二叉树。

2021-02-01 19:38:20 266

转载 cpp教程5-张三思读博客 gdb调试详解 cpp程序调试

标题: gdb调试详解作者: lx青萍之末原文链接: https://blog.csdn.net/daaikuaichuan/article/details/89791255扩充: 张三思文章目录一、gdb调试简介及常用命令1、编译代码并启动gdb2、调试选项(1)查看源码(l)(2)设置断点(b)(3)运行程序(r)(4)执行下一句代码(n)(5)执行多句代码(c)(6)打印变量的值(p)(7)自动打印变量的值(display)(8)退出gdb(q)3、调试选项总结

2021-02-01 17:19:16 784

转载 cpp教程6-张三思读博客 using关键字

原文: https://blog.csdn.net/zxc024000/article/details/79438539扩充: 张三思C++using关键字看google某项目源码时,里面使用了很多using关键字。之前对using关键字的概念,一直停留在引入命名空间中。其实,using关键字还些其他的用途。引入命名空间using关键字最常用的,可能就是导入命名空间。using namespace std;using std::cout; 继承中的作用改变访问权限class B

2021-01-31 20:07:40 345 1

原创 计算机基础1-网络编程-关于Epoll的言论

关于Epoll的言论epoll et模式的场景在于,可以通过读取一部分数据来判断全部数据是否有用, 有用就读取, 没有用处就丢弃. 也就是说,只通知一次,不烦人.读取套接字的操作,就是把数据从内核拷贝到用户空间的过程.为什么说 et 模式比 lt 模式效率高呢? 因为频繁事件, 造成的后果是, 不停的从用用户态和内核态之前切换, 从而导致高额的成本.什么是阻塞? 就是进程无法执行,而被挂起了. 只有等待某个时间发生才会重新恢复. 所谓的阻塞IO就是指, 调用这个IO操作,导致进程停下

2021-01-31 17:43:17 104

原创 cpp教程7-张三思评博客:C++11新特性快看-乱序优化版

标题: 【C++ Primer】C++11特性总结作者: lx青萍之末原文链接: https://blog.csdn.net/daaikuaichuan/article/details/79240196文章目录* 1、long long 类型* 2、列表初始化* 3、nullptr 空指针* 4、constexpr变量* 5、constexpr函数* 6、using类型别名* 7、auto类型指示符* 8、decltype类型指示符* 9、范围for语句* 10、尾置返回类型*

2021-01-31 13:45:03 485

原创 张三思评博客:volatile的用法和原子序操作

标题: 【muduo】base篇—Atomic作者: lx青萍之末原文链接: https://blog.csdn.net/daaikuaichuan/article/details/86179766文章目录一、原子性操作的概念二、Atomic源码分析三、volatile关键字详解1、volatile关键字的概念2、volatile与多线程有关系吗?3、计算机中内存、cache和寄存器之间的关系及区别4、volatile关键字的三大特性(1)易变性(2)不可优化(3)顺序性一、

2021-01-30 10:59:39 369 2

原创 张三思评博客:常见的并发网络服务程序设计方案

标题: 【muduo】常见的并发网络服务程序设计方案作者: lx青萍之末原文链接: https://blog.csdn.net/daaikuaichuan/article/details/87796355文章目录* 一、IO复用* * 1、select模型 * 2、poll模型 * 3、epoll模型* 二、单线程Reactor* 三、Reactor + ThreadPool* 四、Multiple Reactors(one loop per thread)一、IO复用

2021-01-30 08:46:10 149 2

原创 基于一个echo服务器来解读epoll反应堆模型

总览在本篇文章,你学会写一个基于echo服务器, 并且可以可以测试.请你把代码从我给的位置下载下来,并且自己改写和测试,这样会对你更有帮助.这个代码应该很经典了,出处不祥。预备知识c语言基础c语言网络编程知识 套接字编程,select, poll, epoll的基本知识语法速查func: 一个宏,指代当前函数名c语言函数默认参数epoll_event数据结构struct epoll_event { __uint32_t events; /* Epoll events */

2021-01-24 10:13:58 146 1

转载 博客小评:请手写一段必然死锁的代码

标题: 面试官:请手写一段必然死锁的代码作者: Sicimike原文地址: https://blog.csdn.net/Baisitao_/article/details/103358978前言死锁(Deadlock),是并发编程中最需要考虑的问题之一,一般来说死锁发生的概率相对较小,但是危害奇大。本篇主要讲解死锁相关的内容,包括死锁形成的必要条件、危害、如何避免等等。死锁的定义死锁(英语:Deadlock),又译为死结,计算机科学名词。当两个以上的运算单元,双方都在等待对方停止运行,以获取系

2021-01-23 18:32:32 155

转载 博客小评:MySQL到底有多少锁

标题: 强人锁男,MySQL到底有多少锁?原文地址: https://blog.csdn.net/Baisitao_/article/details/104829887作者: Sicimike本文是我点评其他博主的优秀文章,加了一些自我看法,希望对大家有帮助。前言读锁写锁意向锁,表锁行锁页面锁。在学习Java并发编程的时候,肯定少不了学习 锁。最常见的就是synchronized,锁的概念不是很好理解,有的地方说是锁住了一段代码,有的地方说是锁住了一个对象。弄得初学者都是丈二和尚——摸不着头脑

2021-01-23 18:18:48 141

原创 cpp教程8-编程实战-以自实现split为例讲解C++中的字符串操作

以自实现split为例讲解C++中的字符串操作C++字符串的操作是不太方便的, 我们来讲一下其基本操作,并实现一个自己的split函数字符串与数字的互相转换数字转stringstring并没有提供构造方法来直接数字转换成字符串, 比如 string(int), string(double) 之类的.头文件:string.hstd::to_string(int)std::to_string(long)std::to_string(long long)std::to_string(float)

2021-01-23 08:32:13 391

原创 cpp教程9-C++中的字符串操作

C++中的字符串操作C++字符串的操作是不太方便的,字符串与数字的互相转换数字转stringstring并没有提供构造方法来直接数字转换成字符串, 比如 string(int), string(double) 之类的.头文件:string.hstd::to_string(int)std::to_string(long)std::to_string(long long)std::to_string(float)std::to_string(double)std::to_string(lo

2021-01-22 20:59:18 383 1

原创 2@network epoll函数原型解析

2@network epoll函数原型解析背景epoll 是 Linux 系统的一个调用, 是一个高级的方便好用的数据调用, 是一个IO复用的概念.然而,在我阅读游双的 Linux 高性能服务器编程的时候, 我发现这个书里面有很多东西还是讲的不清楚, 所以我单独再补充一下自己的理解. 帮助网路编程的新手朋友们学习.因为这是我写的第2篇关于网络编程的文章, 所以我管它编号 2@network函数列表epoll 系统调用共有三个函数, 来写作完成epoll这个机制.epoll_create过于简

2021-01-16 10:34:45 132

原创 2@linux 简单学习一下 awk 命令

学习一下 awk 命令背景第一个场景 ps经常使用 ps 命令, 我们可能想单独获取一个进程ID, 比如有人会丢给你一个这样的命令:ps -ef | grep 进程名称关键字 | awk '{print $2}'运行就可以了, 原理是什么呢?第二个场景 grep 命令我想根据某一个关键字去查询哪些文档里有这个关键字, 我会写一个语句find . -name “*.md” | xargs grep “关键字”例如这样的命令:➜ htmls find . -name "*.md" | xa

2021-01-15 11:47:29 113

原创 Hello 网络编程

Hello 网络编程写下第一篇网络编程博客。这是一个第一个最简单的 server 端的模型。 一个 echo 服务器,你打什么字,它就给你返回什么字符,只不过小写会转大写。//// Created by zxzx on 2021/1/11.//// socketaddr_in, sin_family, sin_port,sin_addr#include <stdio.h>#include <unistd.h>#include <sys/socket.h&

2021-01-11 16:03:47 153

原创 阅读一本糟糕的翻译的书是什么感受?

阅读一本糟糕的翻译的书是什么感受?最近在读的一本书, 《C++并发编程实战》,Anthony Williams 著,此人是 boost组织的成员,C++标准委员会的成员,书应该是非常权威的了,但是中文译本,由***周全,梁娟娟,宋真真,许敏***几人翻译的,由***人民邮电出版社***出版的。翻译的人,前两人中国科学技术大学毕业的,第三人合肥工业大学毕业的,三个人都是该校的信息技术学院毕业的人,这四位作者都就职于中国人民银行合肥分行科技处。都是10年左右毕业的人,可以说是同事了,一起翻译一本书。英文版

2021-01-05 16:04:54 271

原创 cpp教程10-C++中的lambda

C++中的lamda看完C++中的lamda,感觉总体来说,不愧是 C++!一个lamda 都搞的可以玩出花来!!!下面我简单介绍一下lamda表达式在 c++ 中的语法。作为一个从 python 来的 c++ 人,我被C++的lamda 震惊了。入门体验以[]开头,lambda 语法可以生成一个临时的或者说匿名的函数对象,因此可以方便的支持函数式编程。不传参的版本[]{ //return 1; // 或者不return //也可以没有返回值 cout <&l

2021-01-05 10:47:48 410

原创 cpp教程11-手动实现自己的智能指针shared_ptr和 unique_ptr

背景智能指针是管理操作内存的重要手段现在我来实现两个重要的指针,分别是shared_ptr和 unique_ptr, 源代码代码和测试都有,代码中带有注释,因为时间关系,有空再补设计思路和原理吧。shared_ptr源代码//// Created by zxzx on 2020/10/17.//#ifndef ZZZ_SharedPtr_H#define ZZZ_SharedPtr_H#include <iostream>#include <memory>#

2020-12-31 18:30:35 542

原创 cpp教程12-张三思评博客-以右值为基础的转移构造和转移赋值

c++11新特性-以右值为基础的转移构造和转移赋值新特性的目的右值引用 (Rvalue Referene) 是 C++ 新标准 (C++11, 11 代表 2011 年 ) 中引入的新特性 , 它实现了转移语义 (Move Sementics) 和精确传递 (Perfect Forwarding)。它的主要目的有两个方面:消除两个对象交互时不必要的对象拷贝,节省运算存储资源,提高效率。能够更简洁明确地定义泛型函数。左值与右值的定义C++( 包括 C) 中所有的表达式和变量要么是左值,要么是右

2020-12-30 18:16:57 329

原创 [读书笔记][20个月赚130亿]-第二章第二节-165号

我读了20个月赚30亿的, 第二章第二节,165号。大学路165号, 离斯坦福大学很近的一个地方,学生经常经过的一个地方,那是一个幸运的地方,有个很多成功的公司在那里,谷歌,paypal, 罗技。陈士骏回忆说,他们当时在PayPal, 条件很艰苦,但是大家热情很高, 大家很忙碌,大家都为了热情而非常的努力,虽然挤在一个又小又破的地方办公,住的地方也不好,很多人还在集体宿舍打地铺,但是大家很爱这份工作,这里住的都是天才!我看的真是非常感动。他有提到《社交网络》这部电影,这部电影定义了很多人对硅谷的印象

2020-12-30 15:25:06 142

原创 [读书笔记][C++并发编程实战]一个线程安全的队列的实现

背景我们都知道,线程之间是需要同步的,只有同步,才能保证共享的数据结构被有序的操作。在一个经典的生产者消费者模型中,有生产者,消费者,今天就参考 CCIA(c++ concurrency in action, C++ 并发编程实战)来实现以下生产者消费者模型。其中,核心是,我们必须写一个线程安全的队列。我们用的是互斥变元 mutex 以及 条件变量,以及 lock_guard 和 unique_lock 。以下就是代码://// Created by zxzx on 2020/12/29./

2020-12-29 17:37:36 276 1

Oracle+MySql JDBC demo

Oracle+MySql JDBC demo,自己亲手写的,简单易懂

2015-10-29

ftp工具 flashfxp

比xftp好用一万倍,多的我就不说了,各位可以下载体验一下.真的好用

2015-10-06

Oracle函数大全.chm

方便你使用就行了,随用随查, oracle 常用的函数都在这里,欢迎下载

2015-09-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除