自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

软件工程小施同学 的专栏

每一个伟大,都源于一个勇敢的开始(微博:“软件工程小施同学”,公号”微程序学堂“)

  • 博客(588)
  • 资源 (6)
  • 论坛 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 RESTful是什么

一、RESTful是一种API设计思想目前大多数软件都不是单机的,而是客户端/服务器模式,比如网站、APP、小程序等等。REST,即Representational State Transfer的缩写,翻译为"(资源的)表现层状态转化"。如果一个架构符合REST原则,就称它为RESTful架构。1. 资源(Resources)网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。用一个URI(统一资源定位符)指向它...

2021-03-06 20:20:02 17

原创 feedback vertex set problem (FVS) 反馈顶点集问题 是什么

反馈顶点集(Feedback Vertex Set,简称FVS)问题是经典的NP 难问题。按照反馈集中元素的类型,反馈集问题可划分为反馈顶点集(Feedback Vercex Set,简称FVS)问题 反馈边集(有向图中为FeedbackArc Set,简称FAS, 无向图中为Feedback Edge Set,简称FES)FVSproblem一般来说,图G的FVS 是一个由G中一些顶点构成的集合。从图G中删除该集合中的所有点后,图中 不含圈,即图G中的每个圈至少有一个点在FVS..

2021-03-05 17:15:26 30

转载 数据库 并发 悲观锁 乐观锁 是什么 区别

一、并发控制当程序中可能出现并发的情况时,就需要保证在并发情况下数据的准确性,以此确保当前用户和其他用户一起操作时,所得到的结果和他单独操作时的结果是一样的。这种手段就叫做并发控制。没有做好并发控制,就可能导致脏读、幻读和不可重复读等问题。常说的并发控制,一般都和数据库管理系统(DBMS)有关。在 DBMS 中的并发控制的任务,是确保在多个事务同时存取数据库中同一数据时,不破坏事务的隔离性、一致性和数据库的统一性。实现并发控制的主要手段大致可以分为乐观并发控制和悲观并发控制.

2021-03-05 11:14:47 42

原创 Hyperledger fabric并发并行性

高效的处理Hyperledger Fabric按节点类型分配网络角色,为了向网络提供并发性和并行性,交易执行与交易排序和提交分开。在排序交易之前执行交易使每个对等节点能够同时处理多个交易,这种并发执行提高了每个对等点的处理效率,并加速了向排序服务的交易交付。除了启用并行处理之外,分工还可以减轻排序节点对交易执行和分类帐维护的负担,同时使对等节点免于排序(共识)工作负载。角色的这种分叉也限制了授权和认证所需的处理;所有对等节点都不必信任所有排序节点,反之亦然,因此一方上的进程可...

2021-03-04 14:37:28 46

转载 Hyperledger Fabric的工作流程

一、架构Fabric是一个permissioned blockchain system,也就是整个区块链网络的每一个peer都可以及时知道其他peer的存在。多个peer可以组成organization,在organization内,peers之间互相信任,每一个peer都维护一份ledger的副本,ledger包含有效和无效的transaction,除此之外peer还以状态数据库的形式维护一个当前状态。除了peer外,还有一个重要的角色是ordering service,用来给transac

2021-03-04 14:24:27 43

原创 链上合约(On-chain) 和 链下合约(Off-chain) 是什么 区别

一、链上合约 (“On-chain”)“链上”智能合约是指在区块链上运行的智能行业,如那些在Ethereum,本身是核心协议的一部分。这意味着它们由网络中的所有节点执行和验证。优点智能合约的安全性与网络的规模成正比; 智能合约可以在不提供签名的情况下从他们的账户中转移代币。缺点智能合约的规模很小,因为它们的程序必须由所有节点执行; 智能合约受制于网络交易费,且因为其标的的代币价格一样不稳定; 智能合约交易的平均成本大致与标的代币价格成比例;二、链外合约(“O...

2021-03-03 15:14:52 42 2

原创 Petri net是什么

https://wenku.baidu.com/view/f03e3e9303020740be1e650e52ea551810a6c9fe.html

2021-03-01 15:49:17 30

原创 分片、侧链、状态通道、子链、DAG 是什么 区别

一、分片(sharding)区块链网络由主链和分片(shards)链组成,分片链上交易处于自己独立的空间中,可以独立处理交易。其核心思路是并非每个节点都需要处理所有的交易。分片之前整个网络的处理取决于单个节点的处理。分片后,只有同一片内的处理是同步的、一致的,不同分片之间则可以是异步的。这种属于底层解决方案,因为它是在区块链本身的基本协议中实施的。分片链的共识依赖于主链;已存在的主链,实现时会修改其底层协议,需要硬分叉。分片(sharding)其实是一种...

2021-03-01 14:44:02 36

原创 并发(concurrent)、并行(parallel)、顺序(sequential)、串行(serial)是什么 区别

一、顺序和并发是指多个任务能否同时开始1. 顺序(sequential)顺序:上一个开始执行的任务完成后,当前任务才能开始执行。2. 并发(concurrent)并发:无论上一个开始执行的任务是否完成,当前任务都可以开始执行A B 顺序执行的话,A 一定会比 B 先完成,而并发执行则不一定。二、串行和并行是指任务多个任务能否同时执行1. 串行(serial)串行:有一个任务执行单元,从物理上就只能一个任务、一个任务地执行2. 并行(pa...

2021-03-01 12:33:54 31

原创 数据库 读锁(共享锁)、 写锁(排他锁)

一、共享锁(S锁)又称读锁,若事务T对数据对象A加上S锁,则事务T可以读A但不能修改A。比如SELECT语句。其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S 锁。这保证了其他事务可以读A,但在事务T释放A上的S锁之前不能对A做任何修改。二、排他锁(X锁)又称写锁。若事务T对数据对象A加上X锁,事务T可以读A也可以修改A。例如 INSERT、UPDATE 或 DELETE。其他事务不能再对A加任何锁,直到T释放A上的锁,确保不会同时同一资源进行多重更新。..

2021-02-26 18:33:54 37

原创 数据库 CAP定理(布鲁尔定理)

在理论计算机科学中,CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer's theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点选项 具体意义 一致性(Consistency) 所有节点访问同一份最新的数据副本 可用性(Availability) 每次请求都能获取到非错的响应,但是不保证获取的数据为最新数据 分区容错性(Partition tolerance) 分布式系统在遇到任何网络分区故障的时候,仍然能够对外提供满足一致性

2021-02-25 11:47:18 31

原创 数据库 BASE理论

一、BASEBASE就是为了解决关系数据库强一致性引起的问题而引起的可用性降低而提出的解决方案。BASE中 :BA是 Basically Available (基本可用)基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用性。可以理解为在一个平台中,假设部分出现故障,这个时候系统应该在允许这些故障出现的情况下依旧保持部分功能(应该是核心功能)可以正常使用,另一部分功能出现些许可以允许的问题。响应时间上的损失:正常情况下的搜索引擎0.5秒即返回给用户结果,而基本可用...

2021-02-25 11:44:44 53

原创 数据库学习笔记6-隔离级别 Serializable

1.SerializableSerializable是最严格的隔离级别。在Serializable隔离级别下,所有事务按照次序依次执行,因此,脏读、不可重复读、幻读都不会出现。虽然Serializable隔离级别下的事务具有最高的安全性,但是,由于事务是串行执行,所以效率会大大下降,应用程序的性能会急剧降低。如果没有特别重要的情景,一般都不会使用Serializable隔离级别。2. 数据库的默认隔离级别如果没有指定隔离级别,数据库就会使用默认的隔离级别。在M...

2021-02-24 23:33:56 30

原创 数据库学习笔记5-隔离级别 Repeatable Read

1.Repeatable ReadREPEATABLE READ避免了不可重复读问题,事务内对同一数据的多次读取都是一致的。一个事务修改一条数据,其他事务修改同一数据就要等待。增、删数据时会出现幻读。不可重复读的重点是修改数据,幻读的重点是增删数据。事务各自COMMIT后,再查询,各自的修改内容就汇总在一起了。2.幻读(Phantom Read)在Repeatable Read隔离级别下,一个事务可能会遇到幻读(Phantom Read)的问题。幻读是指,在一个事务...

2021-02-24 23:31:49 17

原创 数据库学习笔记4-隔离级别 Read Committed

1.Read Committed允许读到其它事务已提交的、修改后的数据2. 不可重复读(Non Repeatable Read)在Read Committed隔离级别下,一个事务可能会遇到不可重复读(Non Repeatable Read)的问题。不可重复读是指,在一个事务内,多次读同一数据,在这个事务还没有结束时,如果另一个事务恰好修改了这个数据,那么,在第一个事务中,两次读取的数据就可能不一致。3. 例子我们仍然先准备好students表的数据:mysql&g...

2021-02-24 23:17:31 20

原创 数据库学习笔记3-隔离级别 Read Uncommitted

1.Read UncommittedRead Uncommitted允许读到尚未提交的事务的修改之后的数据。2. 脏读Read Uncommitted是隔离级别最低的一种事务级别。在这种隔离级别下,一个事务会读到另一个事务更新后但未提交的数据,如果另一个事务回滚,那么当前事务读到的数据就是脏数据,这就是脏读(Dirty Read)。3. 例子首先,我们准备好students表的数据,该表仅一行记录:mysql> select * from studen...

2021-02-24 23:11:25 21

原创 数据库学习笔记2-隔离等级

一、背景对于两个并发执行的事务,如果涉及到操作同一条记录的时候,可能会发生问题。因为并发操作会带来数据的不一致性,包括脏读、 不可重复读、 幻读等。1. 脏读(Dirty Read)一个事务会读到另一个事务更新后但未提交的数据,如果另一个事务回滚,那么当前事务读到的数据就是脏数据,这就是脏读(Dirty Read)。2.不可重复读(Non Repeatable Read)不可重复读是指,在一个事务内,多次读同一数据,在这个事务还没有结束时,如果另一个事务恰好修...

2021-02-24 22:59:02 25

原创 数据库学习笔记1-事务 transaction

一、事务一个事务由一系列操作组成,这些操作必须全部执行,而不能仅执行一部分。如果事务失败,所有操作就必须全部撤销,效果就和没有执行这些操作一样,不会对之前的数据有任何改动。二、数据库事务具有ACID特性A:Atomic,原子性,将所有SQL作为原子工作单元执行,要么全部执行,要么全部不执行; C:Consistent,一致性,事务完成后,所有数据的状态都是一致的,即A账户只要减去了100,B账户则必定加上了100; I:Isolation,隔离性,如果有多个事务并发执行,每个事务作.

2021-02-24 22:31:59 28

原创 lock free(无锁并发)是什么

一、非阻塞同步(Non-blocking Synchronization)1. 无锁编程 / lock-free / 非阻塞同步无锁编程,即不使用锁的情况下实现多线程之间的变量同步,也就是在没有线程被阻塞的情况下实现变量的同步,所以也叫非阻塞同步(Non-blocking Synchronization)。实现非阻塞同步的方案称为“无锁编程算法”(Non-blocking algorithm)。lock-free是目前最常见的无锁编程的实现级别(一共三种级别):wait-free l.

2021-02-18 22:18:06 48

原创 线程和进程的区别

1. 进程进程是一组离散的(执行)程序任务集合;2. 线程线程是进程上下文中执行的代码序列;3. 两者之间具体关系:线程是进程的可执行单元,是计算机分配CPU机时的基本单元。一个进程可以包含一个或多个线程,进程是通过线程去执行代码的。同一个进程的多个线程共享该进程的资源和操作系统分配给该进程的内存空间。每个进程必须有一个主线程,主线程退出之后该进程也就退出了。一个进程的主线程是由系统创建的。在单CPU中,表面上看好像是多个进程中的多个线程共同执行,实...

2021-02-18 17:07:28 46 1

原创 STM(Software Transactional Memory Systems)是什么

Transaction – a sequence of instructions that atomically access/modify concurrent objects事务–以原子方式访问/修改并发对象的一系列指令STM - A “universal” nonblocking synchronization constructSTM-一种通用的非阻塞同步结构Automatic conversion of sequential (or lock-based) code to n.

2021-02-17 22:53:50 30

原创 Java 线程 fork join 是什么 怎么用

一、fork/joinJava 7开始引入了一种新的Fork/Join线程池,它可以执行一种特殊的任务:把一个大任务拆成多个小任务并行执行。我们举个例子:如果要计算一个超大数组的和,最简单的做法是用一个循环在一个线程内完成:┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐└─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┴─┘还有一种方法,可以把数组拆成两部分,分别计算,最后加起来就是最终结果,

2021-02-17 19:29:40 56 2

原创 并发性(concurrency)和并行性(parallel)区别

一、并发性(concurrency)和并行性(parallel)是两个概念,1. 并行并行是指在同一时刻,有多条指令在多个处理器上同时执行;2. 并发并发指在同一时刻,只能有一条指令执行,但多个进程指令被快速轮换执行,使得宏观上具有多个进程同时执行的效果。二、多线程编程优点:进程之间不能共享内存,但线程之间共享内存非常容易。 系统创建线程所分配的资源相对创建进程而言,代价非常小。四、Java中实现线程的方式目前有三种:一:继承Thread类创建线程类二...

2021-02-17 19:18:23 120

原创 图论 有向无环图 拓扑排序 是什么

一、有向无环图有方向 没有闭环二、拓扑排序拓扑排序是将有向无环图的顶点排成一个线性序列的过程。比如可将上图三、拓扑排序步骤1. 首先要任意选择一个没有前驱的顶点,即入度为0的点,然后将它输出。在下面这张图中我们选择1为出发点。2. 删除该节点以及与它相关联的所有边,这个点的nexts里面的点入度就减少1选择1为出发点之后,我们将它输出,并删除该节点以及与它相关联的所有边。3. 然后在删除后的图中继续找一个没有前驱的节点,...

2021-02-17 17:41:58 36

原创 CPU和GPU区别

一、CPU 是怎么设计的作为一台计算机的大脑,首先它需要一块很大的存储单元,方便快速存取。为了管控不同硬件以及对不同类型数据的输入和计算,它也需要一个更强大的控制单元和能进行各种复杂类型计算的计算单元二、GPU怎么设计的GPU 设计出来的时候就是为了计算像素点这种简单,但是计算量很大的事情,所以在设计时将更多的空间留给了运算单元,以便于同时进行大量的计算。...

2021-02-14 20:43:13 38

原创 CMakeLists.txt是什么

一、makefile、CMakeLists.txt1. makefilemakefile是在Linux编译c或者c++代码的时候的一种脚本文件,但是每一个功能都要写一个makefile文件,这样如果这个工程很大,而且相关性比较强的话,makefile的书写就会变得相对繁琐,更要命的是如果以后需要添加新的功能或者是新人需要修改功能的话,看起来就会特别麻烦;2.CMakeLists.txtcmake的所有语句都写在一个CMakeLists.txt的文件中,CMakeLists.txt文件..

2021-02-14 11:51:31 54

原创 Java 反射机制 是什么

(1)Java反射机制的核心是在程序运行时动态加载类并获取类的详细信息,从而操作类或对象的属性和方法。本质是JVM得到class对象之后,再通过class对象进行反编译,从而获取对象的各种信息。(2)Java属于先编译再运行的语言,程序中对象的类型在编译期就确定下来了。而当程序在运行时可能需要动态加载某些类,这些类因为之前用不到,所以没有被加载到JVM。通过反射,可以在运行时动态地创建对象并调用其属性,不需要提前在编译期知道运行的对象是谁。https://blog.csdn...

2021-02-13 22:34:42 61 1

原创 阿姆达尔定律 是什么 Amdahl

阿姆达尔定律是计算机界的一个经验法则。是以计算机科学家吉恩·阿姆达尔来命名的。它给 出了使用并行处理理论上能带来的效率提高。考虑运行在单核处理器上的一个程序。在执行时间上来说,“f”是并行计算部分执行时间所占比 例,所以(1-f)是串行处理部分所占比例。如果有“m”个处理器并行运行,那理论上的优化空 间计算如下:我们可以推导出两个重要结论:1. 当f最小的时候几乎没什么提升2. 随着m增大到极限,加速被限制在1/(1-f)阿姆达尔定律是一个固定大小的模型,意味着它可.

2021-02-13 11:35:26 91

原创 连通图 连通分量 并查集

一、连通图1.顶点间的连通性在无向图G中,若从顶点vi到顶点vj有路径(当然从vj到vi也一定有路径),则称vi和vj是连通的。2.连通图若V(G)中任意两个不同的顶点vi和vj都连通(即有路径),则称G为连通图(Con-nected Graph)。【例】图G2,和G3是连通图。​3.连通分量无向图G的极大连通子图称为G的最强连通分量(Connected Component)。 注意:  ① 任何连通图的连通分量只有一个,即是其自身  ② 非连...

2021-02-12 21:35:54 50

原创 Race Condition是什么

一、Race Condition(竞争条件、竞态条件、资源竞争 )1. 竞争(Race)计算机运行过程中,并发、 无序、 大量的进程在使用有限、 独占、 不可抢占的资源,由于进程无限,资源有限,产生矛盾,这种矛盾称为竞争(Race)。2. 竞争条件(Race Condition)由于两个或者多个进程竞争使用不能被同时访问的资源,计算的正确性取决于多个线程的交替执行时序时,就会发生竞争条件(Race Condition)。3. 竞争条件分为两类:-Mu..

2021-02-11 18:44:50 55

原创 知网CAJ论文 如何转换成pdf

https://speedpdf.com/en/convert/caj-to-pdf好用的话,回来点个赞哦

2021-02-10 21:10:27 56

原创 区块链 以太坊 验证区块

合约的第一次调用智能合约的方法的第一次调用一定是在出块阶段这个Tx被打包的时刻,这个Tx入块后我们就可以认为这个合约被调用了。重放但是区块链作为一个去中心化数据库,一定是每一个节点上的状态是相同的,因此其他节点在接收到广播的block之后要从中取出Tx"重放"这一执行。所以当这条链重新到达稳定态之后,每一个节点都执行了该方法,但是只有打包进块的节点获取了gas奖励。验证新块“因此其他节点在接收到广播的block之后要从中取出Tx"重放"这一执行”这一步是不是也...

2021-02-10 00:00:48 57

原创 区块链 以太坊 每个区块可以包含多少个交易

以太坊的区块大小并无限制。但是gas有个上限的,每个区块耗完gas就不能再写入数据了。目前以太坊中最大区块大小大约为1500000Gas。从一个帐户到另一个帐户的ETH基础交易或支付(并非智能合约)大约消耗21000Gas。故每个区块中大概可以放进70(1500000/21000)笔交易。https://www.zhihu.com/question/58819918https://zhuanlan.zhihu.com/p/26085515...

2021-02-09 21:41:47 198

原创 java并发编程(13)-- 线程 死锁和定位

2021-02-08 13:47:48 27 1

原创 java并发编程(12)-- 线程池 实际⽣产使⽤哪⼀个线程池 怎么设置

一、ThreadPoolExecutor⽤ LinkedBlockingQueue 实现的,这个队列最⼤⻓度为 Integer.MAX_VALUE ,显然会导致OOM。所 以实际⽣产⼀般⾃⼰通过 ThreadPoolExecutor 的7个参数,⾃定义线程池。 ExecutorService threadPool = new ThreadPoolExecutor( 2, 80*2, 1L, T

2021-02-08 13:29:01 33 1

原创 java并发编程(11)-- 线程池 拒绝策略

一、线程池的拒绝策略当等待队列满时,且达到最⼤线程数,再有新任务到来,就需要启动拒绝策略。JDK提供了四种拒绝策 略,分别是。1. AbortPolicy:默认的策略,直接抛出 RejectedExecutionException 异常,阻⽌系统正常运 ⾏。2. CallerRunsPolicy:既不会抛出异常,也不会终⽌任务,⽽是将任务返回给调⽤者,从⽽降低新 任务的流量。3. DiscardOldestPolicy:抛弃队列中等待最久的任务,然后把当前任务加⼊队列中尝试再次.

2021-02-08 13:09:08 28 1

原创 java并发编程(10)-- 线程池 底层原理

理解:线程池的创建参数,就像⼀个银⾏。corePoolSize 就像银⾏的“当值窗⼝“,⽐如今天有2位柜员在受理客户请求(任务)。 如果超过2个客户,那么新的客户就会在等候区(等待队列 workQueue )等待。 当等候区也满了,这个时候就要开启“加班窗⼝”,让其它3位柜员来加班,此时达到最⼤窗⼝ maximumPoolSize ,为5个。 如果开启了所有窗⼝,等候区依然满员,此时就应该启动”拒绝策略“ handler ,告诉不断涌⼊的客户,叫他们不要进⼊,已经爆满了。 由于不再涌⼊新客户,

2021-02-08 12:51:13 34 1

原创 java并发编程(9)-- 线程池 创建 参数

一、线程池基本概念概念:线程池主要是控制运⾏线程的数量,将待处理任务放到等待队列,然后创建线程执⾏这些任务。如果超过了最⼤线程数,则等待。为什么⽤线程池?10年前单核CPU电脑,假的多线程,像⻢戏团⼩丑玩多个球,CPU需要来回切换。现在是多核电脑,多个线程各⾃跑在独⽴的CPU上,不⽤切换效率⾼。线程池的优点:线程池做的⼯作只要是控制运⾏的线程数量, 处理过程中将任务放⼊队列,然后在线程创建后启动这些 任务, 如果线程数量超过了最⼤数量,超出数量的线程...

2021-02-08 12:43:20 49 10

原创 java并发编程(8)-- 线程 阻塞队列 生产者消费者 lock synchronized

一、阻塞队列概述1. 概念:在多线程领域:所谓阻塞,在某些情况下会挂起线程(即阻塞),⼀旦条件满⾜,被挂起的线程⼜ 会⾃动被唤醒。阻塞队列 是⼀个队列,在数据结构中起的作⽤如下图:当队列是空的,从队列中获取(Take)元素的操作将会被阻塞 当队列是满的,从队列中添加(Put)元素的操作将会被阻塞 试图中空的队列中获取元素的线程将会被阻塞,直到其他线程往空的队列插⼊新的元素 试图向已满的队列中添加新元素的线程将会被阻塞,直到其他线程从队列中移除⼀个或多个元素 或者完全清空,.

2021-02-08 12:14:26 44 8

原创 java并发编程(7)-- 线程 自旋锁

所谓⾃旋锁,就是尝试获取锁的线程不会⽴即阻塞,⽽是采⽤循环的⽅式去尝试获取。⾃⼰在那⼉⼀直 循环获取,就像“⾃旋”⼀样。这样的好处是减少线程切换的上下⽂开销,缺点是会消耗CPU。CAS底层的getAndAddInt就是⾃旋锁思想。//跟CAS类似,⼀直循环⽐较。while (!atomicReference.compareAndSet(null, thread)) { }详⻅SpinLockDemo。package thread;import java.util...

2021-02-07 23:15:22 44 1

Java并发编程全景图.pdf

Java并发编程全景图.pdf

2021-02-09

区块链技术学习路线图.pdf

区块链技术学习路线图.pdf

2021-02-09

curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0无法下载

这已经下载好了,下载之后,通过 bash ./downloadbyfn.sh 1.1.0 -s 运行。 具体可以看https://blog.csdn.net/u013288190/article/details/112286162

2021-01-06

最新会计科目表2018.sql.xlsx.csv.excel.zip

最新会计科目表2018年,格式包含.sql,.xlsx,.csv,.excel,数据库sql可以直接导入

2020-08-22

日期范围选择类日历(增强版)

1.基础日历功能,可以切换月份; 2.可以显示哪些天是可以预约的(可点击),哪些天是不可以预约的(不可点击); 3.一个日历上就可以选择开始日期和结束日期(可以跨月)

2017-08-12

历年数学建模优秀论文92-09

历年全国数学建模优秀论文92-09年的,可以参考提升下

2015-06-15

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

TA关注的人 TA的粉丝

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