首页 开发编程 正文

php怎么保留列表框

Python、R等4、商业智能BI工具本文主要想大家推荐自助式BI数据分析工具。提供图表联动、数据钻取、数据切片器、OLAP等交互式分析功能,简单易用的自助式BI自助式BI从数据准备到BI交互式分析整个过程提供了高度易用的分析体验。...

php怎么保留列表框,做数据分析需要学什么?

随着互联网迅猛发展,各大公司沉淀了很多的数据,如何找出藏在这些数据背后的规律,利用这些数据来给公司创造价值,作为一个新手面对这些问题的时候,你是不是考虑怎么快速学习数据分析呢?

如果你的自学能力很强,那么你可以参考网上的推荐书籍,自己拿起书本,找些案例开始学习。

如果你需要前辈的指导,那么你可以按照CDA数据分析研究院的老师推荐的学习方法来学习数据分析:

首先,数据分析师需要三个方面的能力:技术(编程),数据分析方法,行业知识。

一、数据分析技术

主要包括excel,sql,BI分析工具等。

数据分析是个比较大的概念,相关领域也有很多的分析工具,包括:

1、Excel工具(Excel的强大必须单列)

2、专业的数据分析工具:SPSS、SAS、Matlib等

3、数据分析编程工具:Python、R等

4、商业智能BI工具

本文主要想大家推荐自助式BI数据分析工具。BI即商业智能,泛指用于业务分析的技术和工具,通过获取、处理原始数据,将其转化为有价值的信息指导商业行动。Gartner把BI定义为一个概括性的术语,其中包括应用程序、基础设施和工具,通过获取数据、分析信息以改进并优化决策和绩效,形成一套最佳的商业实践。

自助式商业智能和数据可视化工具,让数据分析更简单

自助式BI(也叫做自助式分析),是一种新的数据分析方式。让没有统计分析、数据挖掘、数据库 SQL 知识的业务人员,也可以通过丰富的数据交互和探索功能,发现数据背后的原因和价值,从而辅助业务决策的制定。自助式BI分析功能可以来自于独立的 BI 软件,也可以由行业应用软件直接提供。

BI数据分析工具,提供自助式BI分析功能,最终用户可以非常灵活的与数据交互,探索数据背后的原因并发掘更多价值,为决策制定提供有效的数据支撑。在仪表板设计和分析阶段,提供图表联动、数据钻取、数据切片器、OLAP 等交互式分析功能,用户仅需通过极少的操作,便能找到最有价值的数据。

自助式BI的价值

在使用传统商业智能BI软件的企业中,需要先准备数据仓库和数据集市,然后由IT/分析团队创建分析看板和报表,然而,随着企业发展步伐的加快,业务用户需要更快速、更容易地访问数据,这将帮助他们在复杂多变的环境中更好的做出决策。借助自助式BI分析工具,可以让这一需求得到满足,还能很好的提高企业的数据文化。

简单易用的 自助式BI

自助式BI从数据准备到 BI 交互式分析整个过程提供了高度易用的分析体验。分析人员通过拖拉拽快速完成数据建模和仪表板设计。不仅设计过程,结果也具备高度自助灵活的数据探查能力。分析过程与业务深度融合,真正让科学决策与业务管理并行。

自助准备数据、创建仪表板和报表

业务人员完全可以自己设计仪表板和报表,根据自己的业务需要进行数据分析、选择合适的数据可视化效果,并形成分析见解,也能直接分析自己的 Excel 等数据,从而避免以往花大量时间准备需求,然后交由IT部门开发(或者实施厂商)的业务模式,可以提升企业的整体运行效率,以适应瞬息万变的市场环境。

多数据源整合,为决策分析提供完整数据支持

通过 Wyn Enterprise 的数据查询设计器,您将能有效整合分散在企业内外的各种数据,包括数据库、云端数据和本地存放的文件数据,以及 JSON/OData 等程序数据。既能拖动完成跨源的数据建模,也支持直接编写查询语句。最终,通过数据模型访问控制和行级数据安全管理,分享给 BI 分析或报表设计者使用。 查看支持的数据源

快速设计决策管理驾驶舱(Dashboard)

Wyn Enterprise 的BI仪表中,支持以拖拽的方式进行数据分析操作,并提供了丰富的数据可视化效果,包括:图表、地图、透视表、KPI指标卡、数据切片器等。同时,仪表板支持多页面功能,还提供了内置的主题皮肤,让您可以非常快速地设计各种样式的管理驾驶舱和决策看板。

计算图表,支持Excel 450+ 计算公式的增强型分析能力

在 Wyn Enterprise 嵌入式商业智能和报表软件的 V4.0 版本中,我们将 Excel 的数据分析方式和 450+ 计算公式完整的集成到仪表板设计器中,从而为BI仪表板提供了增强型计算分析能力,让商业智能与Excel完美的融合,打造更强大易用的自助式分析体验。重要使用场景包括:1、跨数据集的计算分析需要,比如:销售、预算与回款分析;现金流、资产和利润分析;计划、执行和完成率分析,等等。2、系统数据和录入数据联合分析,比如:基于系统中2010-2019历史数据,进行2020年的预算制定与分析的需要。3、各种比例计算分析,比如:当月销售收入、当月销售预算、累计销售收入、累计预算、当月销售完成率、累计销售完成率等。4、行业特殊计算公式,正如Excel中提供的多个行业相关计算公式一样,计算图表也为:财务、日期和时间、统计、文本、逻辑、信息、工程、Web等领域需要提供了计算公式。

数据切片、联动分析与钻取分析

在设计BI仪表板时, 你可以添加多种数据切片器,包括:日期范围、相对日期、列表、树形列表、文本标签等。在使用BI仪表板时,最终用户不仅可以通过切片器筛选数据,还能通过联动分析发现数据不同维度的表现,也能在钻取分析模式下深入探索数据背后的真实原因。

二、数据分析方法

常用的数据分析方法包括以下13种:

1. 描述统计

描述性统计是指运用制表和分类,图形以及计算概括性数据来描述数据的集中趋势、离散趋势、偏度、峰度。

2. 假设检验

参数检验

参数检验主要包括U验和T检验

1)U验 使用条件:当样本含量n较大时,样本值符合正态分布

2)T检验 使用条件:当样本含量n较小时,样本值符合正态分布

非参数检验

非参数检验是针对总体分布情况做的假设,

主要方法包括:卡方检验、秩和检验、二项检验、游程检验、K-量检验等。

3. 信度分析:检査测量的可信度,例如调查问卷的真实性。

4. 列联表分析:用于分析离散变量或定型变量之间是否存在相关。

5. 相关分析:研究现象之间是否存在某种依存关系,对具体有依存关系的现象探讨相关方向及相关程度。

6. 方差分析

使用条件:各样本须是相互独立的随机样本;各样本来自正态分布总体;各总体方差相等。

7. 回归分析

包括:一元线性回归分析、多元线性回归分析、Logistic回归分析以及其他回归方法:非线性回归、有序回归、加权回归等

8. 聚类分析:样本个体或指标变量按其具有的特性进行分类,寻找合理的度量事物相似性的统计量。

9. 判别分析:根据已掌握的一批分类明确的样品建立判别函数,使产生错判的事例最少,进而对给定的一个新样品,判断它来自哪个总体

10. 主成分分析:将彼此相关的一组指标转化为彼此独立的一组新的指标变量,并用其中较少的几个新指标变量就能综合反应原多个指标变量中所包含的主要信息 。

11. 因子分析:一种旨在寻找隐藏在多变量数据中、无法直接观察到却影响或支配可测变量的潜在因子、并估计潜在因子对可测变量的影响程度以及潜在因子之间的相关性的一种多元统计分析方法

12. R0C分析

R0C曲线是根据一系列不同的二分类方式(分界值或决定阈).以真阳性率(灵敏度)为纵坐标,假阳性率(1-特异度)为横坐标绘制的曲线

13. 其他分析方法

时间序列分析、生存分析、对应分祈、决策树分析、神经网络。

什么样的代码叫好代码?

送大家以下java学习资料

简介: 我们每天都与代码打交道,但当被问道什么是好的代码时,很多人可能会先愣一下,然后给出的回答要么比较空泛,要么比较散,没办法简单明了地概括出来。显然,这个问题并没有唯一的标准答案,谁都可以谈论自己的理解,今天谈谈我对于好代码的理解。

我们每天都与代码打交道,但当被问道什么是好的代码时,很多人可能会先愣一下,然后给出的回答要么比较空泛,要么比较散,没办法简单明了地概括出来。显然,这个问题并没有唯一的标准答案,谁都可以谈论自己的理解,今天谈谈我对于好代码的理解。

一句话概括

衡量代码质量的唯一有效标准:WTF/min —— Robert C. Martin

Bob大叔对于好代码的理解非常有趣,对我也有很大的启发。我们编写的代码,除了用于机器执行产生我们预期的效果以外,更多的时候是给人读的,这个读代码的可能是后来的维护人员,更多时候是一段时间后的作者本人。

我敢打赌每个人都遇到过这样的情况:过几周或者几个月之后,再看到自己写的代码,感觉一团糟,不禁怀疑人生。

我们自己写的代码,一段时间后自己看尚且如此,更别提拿给别人看了。

任何一个傻瓜都能写出计算机可以理解的代码。唯有写出人类容易理解的代码,才是优秀的程序员。—— Martin Fowler

所以,谈到好代码,首先跳入自己脑子里的一个词就是:整洁。

好的代码一定是整洁的,给阅读的人一种如沐春风,赏心悦目的感觉。

整洁的代码如同优美的散文。—— Grady Booch

好代码的特性

很难给好的代码下一个定义,相信很多人跟我一样不会认为整洁的代码就一定是好代码,但好代码一定是整洁的,整洁是好代码的必要条件。整洁的代码一定是高内聚低耦合的,也一定是可读性强、易维护的。

高内聚低耦合

高内聚低耦合几乎是每个程序员员都会挂在嘴边的,但这个词太过于宽泛,太过于正确,所以聪明的编程人员们提出了若干面向对象设计原则来衡量代码的优劣:

开闭原则 OCP (The Open-Close Principle)单一职责原则 SRP (Single Responsibility Principle)依赖倒置原则 DIP (Dependence Inversion Principle)

最少知识原则 LKP (Least Knowledge Principle)) / 迪米特法则 (Law Of Demeter)

里氏替换原则 LSP (Liskov Substitution Principle)接口隔离原则 ISP (Interface Segregation Principle)组合/聚合复用原则 CARP (Composite/Aggregate Reuse Principle)

这些原则想必大家都很熟悉了,是我们编写代码时的指导方针,按照这些原则开发的代码具有高内聚低耦合的特性。换句话说,我们可以用这些原则来衡量代码的优劣。

但这些原则并不是死板的教条,我们也经常会因为其他的权衡(例如可读性、复杂度等)违背或者放弃一些原则。比如子类拥有特性的方法时,我们很可能打破里氏替换原则。再比如,单一职责原则跟接口隔离原则有时候是冲突的,我们通常会舍弃接口隔离原则,保持单一职责。只要打破原则的理由足够充分,也并不见得是坏的代码。

可读性

代码只要具有了高内聚和低耦合就足够好了吗?并不见得,我认为代码还必须是易读的。好的代码无论是风格、结构还是设计上都应该是可读性很强的。可以从以下几个方面考虑整洁代码,提高可读性。

命名

大到项目名、包名、类名,小到方法名、变量名、参数名,甚至是一个临时变量的名称,其命名都是很严肃的事,好的名字需要斟酌。

► 名副其实

好的名称一定是名副其实的,不需要注释解释即可明白其含义的。

/** * 创建后的天数 **/ int d; int daysSinceCreation;

后者比前者的命名要好很多,阅读者一下子就明白了变量的意思。

► 容易区分

我们很容易就会写下非常相近的方法名,仅从名称无法区分两者到底有啥区别(eg. getAccount()与getAccountInfo()),这样在调用时也很难抉择要用哪个,需要去看实现的代码才能确定。

► 可读的

名称一定是可读的,易读的,最好不要用自创的缩写,或者中英文混写。

► 足够短

名称当然不是越长越好,应该在足够表达其含义的情况下越短越好。

格式

良好的代码格式也是提高可读性非常重要的一环,分为垂直格式和水平格式。

► 垂直格式

通常一行只写一个表达式或者子句。一组代码代表一个完整的思路,不同组的代码中间用空行间隔。

public class Demo { @Resource private List<Handler> handlerList; private Map<TypeEnum, Handler> handlerMap = new ConcurrentHashMap<>(); @PostConstruct private void init() { if (!CollectionUtils.isEmpty(handlerList)) { for (Handler handler : handlerList) { handlerMap.put(handler.getType(), handler); } } } publicResult<Map<String, Object>> query(Long id, TypeEnum typeEnum) { Handler handler = handlerMap.get(typeEnum); if (null == handler) { return Result.returnFailed(ErrorCode.CAN_NOT_HANDLE); } return handler.query(id); } }

如果去掉了空行,可读性大大降低。

public class Demo { @Resource private List<Handler> handlerList; private Map<TypeEnum, Handler> handlerMap = new ConcurrentHashMap<>(); @PostConstruct private void init() { if (!CollectionUtils.isEmpty(handlerList)) { for (Handler handler : handlerList) { handlerMap.put(handler.getType(), handler); } } } public Result<Map<String, Object>> query(Long id, TypeEnum typeEnum) { Handler handler = handlerMap.get(typeEnum); if (null == handler) { return Result.returnFailed(ErrorCode.CAN_NOT_HANDLE); } return handler.query(id); } }

类静态变量、实体变量应定义在类的顶部。类内方法定义顺序依次是:公有方法或保护方法 > 私有方法 > getter/setter 方法。

► 水平格式

要有适当的缩进和空格。

► 团队统一

通常,同一个团队的风格尽量保持一致。集团对于 Java 开发进行了非常详细的规范。(可点击下方阅读原文,了解更多内容)

类与函数

► 类和函数应短小,更短小

类和函数都不应该过长(集团要求函数长度最多不能超过 80 行),过长的函数可读性一定差,往往也包含了大量重复的代码。

► 函数只做一件事(同一层次的事)

同一个函数的每条执行语句应该是统一层次的抽象。例如,我们经常会写一个函数需要给某个 DTO 赋值,然后再调用接口,接着返回结果。那么这个函数应该包含三步:DTO 赋值,调用接口,处理结果。如果函数中还包含了 DTO 赋值的具体操作,那么说明此函数的执行语句并不是在同一层次的抽象。

► 参数越少越好

参数越多的函数,调用时越麻烦。尽量保持参数数量足够少,最好是没有。

注释

► 别给糟糕的代码加注释,重构他

注释不能美化糟糕的代码。当企图使用注释前,先考虑是否可以通过调整结构,命名等操作,消除写注释的必要,往往这样做之后注释就多余了。

► 好的注释提供信息、表达意图、阐释、警告

我们经常遇到这样的情况:注释写的代码执行逻辑与实际代码的逻辑并不符合。大多数时候都是因为代码变化了,而注释并没有跟进变化。所以,注释最好提供一些代码没有的额外信息,展示自己的设计意图,而不是写具体如何实现。

► 删除掉注释的代码

git等版本控制已经帮我们记录了代码的变更历史,没必要继续留着过时的代码,注释的代码也会对阅读等造成干扰。

错误处理

► 错误处理很重要,但他不能搞乱代码逻辑

错误处理应该集中在同一层处理,并且错误处理的函数最好不包含其他的业务逻辑代码,只需要处理错误信息即可。

► 抛出异常时提供足够多的环境和说明,方便排查问题

异常抛出时最好将执行的类名,关键数据,环境信息等均抛出,此时自定义的异常类就派上用场了,通过统一的一层处理异常,可以方便快速地定位到问题。

► 特例模型可消除异常控制或者 null 判断

大多数的异常都是来源于NPE,有时候这个可以通过 Null Object 来消除掉。

► 尽量不要返回 null ,不要传 null 参数

不返回 null 和不传 null 也是为了尽量降低 NPE 的可能性。

如何判断不是好的代码

讨论了好代码的必要条件,我们再来看看好代码的否定条件:什么不是好的代码。Kent Beck 使用味道来形容重构的时机,我认为当代码有坏味道的时候,也代表了其并不是好的代码。

代码的坏味道

► 重复

重复可能是软件中一切邪恶的根源。—— Robert C.Martin

Martin Fowler 也认为坏味道中首当其冲的就是重复代码。

很多时候,当我们消除了重复代码之后,发现代码就已经比原来整洁多了。

► 函数过长、类过大、参数过长

过长的函数解释能力、共享能力、选择能力都较差,也不易维护。

过大的类代表了类做了很多事情,也常常有过多的重复代码。

参数过长,不易理解,调用时也容易出错。

► 发散式变化、霰弹式修改、依恋情结

如果一个类不是单一职责的,则不同的变化可能都需要修改这个类,说明存在发散式变化,应考虑将不同的变化分离开。

如果某个变化需要修改多个类的方法,则说明存在霰弹式修改,应考虑将这些需要修改的方法放入同一个类。

如果函数对于某个类的兴趣高于了自己所处的类,说明存在依恋情结,应考虑将函数转移到他应有的类中。

► 数据泥团

有时候会发现三四个相同的字段,在多个类和函数中均出现,这时候说明有必要给这一组字段建立一个类,将其封装起来。

► 过多的 if...else 或者使用 switch

过多的 if...else 或者 switch ,都应该考虑用多态来替换掉。甚至有些人认为除个别情况外,代码中就不应该存在 if...else 。

总结

本文首先一句话概括了我认为的好代码的必要条件:整洁,接着具体分析了整洁代码的特点,又分析了好代码的否定条件:什么样的代码不是好的代码。仅是本人的一些见解,希望对各位以后的编程有些许的帮助。

我认为仅仅编写出可运行的代码是远远不够的,还要时刻注意代码的整洁度,留下一些漂亮的代码,希望写的代码都能保留并运行 102 年!

后续增加一些实际的例子来说明好的和坏的代码;分享下如何编写整洁代码——自己认为有用的一些编程技巧。

值得推荐的开源PHPCMS系统有哪些?

分享个开源项目快速开发框架,采用spring cloud alibaba +nacos +vue的 技术栈,实现了大部分

钉钉宜搭的快速开发功能,很值得借鉴下。

这是在git上开源的快速开发项目,项目采用微服务为基础的脚手架,包括流程、表单、列表、图

表、应用等多个界面化的配置引擎。

项目介绍:

**JVS的核心目标:**让中小型开发团队过得轻松一点,优化开发团队人力成本高、交付效率低、质量不可控、周期不确定、基础技术投入不足、高端技术支持不够等JVS是面向软件开发团队可以快速实现应用的基础开发框架,采用微服务分布式框架,提供丰富的基础功能,集成众多业务引擎,它灵活性强,界面化配置对开发者友好,底层容器化构建,集合持续化构建。项目标签

低代码、微服务、支持SaaS、私有化部署、DevOps、

开源项目地址

框架前端地址:https://gitee.com/software-minister/jvs-ui框架后端地址:https://gitee.com/software-minister/jvs快速安装地址:JVS/jvs-docker-compose体验地址:http://frame.bctools.cn/#/login

登陆可以通过微信扫码登陆,对于配置数据,请各位技术同学手下留情。

部署文档https://gitee.com/software-minister/jvs-docker-compose/blob/master/readme.md**物理拓扑:

技术文档地址(微信登陆可查看):

技术栈说明:

系统部分截图:

登陆页面

配置化首页

系统基础信息设置

框架基础功能

应用创建

列表配置

流程配置

表单配置

图表配置

逻辑配置

demo环境:http://frame.bctools.cn/#/login

开源地址:https://gitee.com/software-minister/jvs

如果还有其他的疑问,可以私信

哪些令人惊艳的工具APP值得推荐?

分享10个私藏工具类软件,每一款我都用了一年以上!少装一个都得后悔

01 飞地

一款很文艺的诗歌文学APP,可以提升自己的说话水平与文学修养,出口成章,多看看这个APP内容就可以做到!

02 Apus文字识别

一款完全免费,非常实用的文字识别软件,简直是我手机里的宝藏APP!

Apus文字识别支持上传相册内图片,也可以直接拍照识别:

当你的图片内有其他干扰文字时,可以进行裁剪,只留下需要识别的文字区域。

可以看到,识别效果非常赞,准确度也是极高的:

对于识别后的文字,你可以复制、导出、翻译,甚至让APP朗读给你听!

很多时候职场中的场景,都可以使用这个APP,减少不少码字时间呢!

另外,这些文件的安装包,我都整理好了,获取方式就在下方:

03 全能扫描王

一款手机扫描神器,免费的基础功能就已经够日常使用了:

如果你用手机拍了一张文件,它可以将其变成扫描版,有各种效果可以选择:

当然,你也可以用软件直接拍摄,它有很多选项,比如证件、书籍、拍题等等,选择合适的类别,也方便APP自己识别:

比如身份证,就会自动出现一个人脸部位,也方便你在拍摄的时候对准:

还可以创建文件夹,将同类的文件内容放在一起,方便整理,比如你在课堂上用这个软件拍老师的课件,就可以归类在一起,到时候统一打印、整理之类的,非常方便:

另外,如果你拍的照片是歪的,还可以调整角度,它会自动把照片修复成正的,这个功能真的太贴心了!

04 Flipboard红板报

一款独特,有趣的新闻阅读APP。

红板报,其实是来自美国的一个阅读APP,原名叫Flipboard。因为特殊的属性的属性,里面的内容也非常的国际化,而且有趣。内容源超800+

比如会有全球热读榜,每天用一条新闻,了解全球热事,全部是编辑精选,帮你做好信息挑选:

而且,软件支持定制,在你初次进入时,会根据你的需求,进行定制,真正服务于你,遇到喜欢的文章,或者栏目,可以直接订阅:

总之内容超级丰富,超多的专业媒体分类,等你选择,国内外一线媒体,直接查看!而且干货,让你真正纯净享受阅读。

值得一提的是,它的页面做得超赞,采用这页的样式进行阅读,超级清爽:

05 VIA浏览器

一个只有514K的,用了就戒不掉的极简手机浏览器!

浏览器外观超级简洁,下载速度却超快,秒下秒开,一点都都不过分!而且你可以深度定义你的浏览器,比如改变背景,调节使用习惯等。

广告,在这个浏览器是上不存在的,你可以利用自带广告拦截功能,去除所有网页广告,以及奇怪的弹窗,太赞了:

最强大的是这款手机浏览器,支持插件安装,自己有个插件库,可以选择想要的插件,比如一键翻译,网页截图,资源嗅探,无限制复制等功能,好用的不行!而且插件不断更新!

总之,相信我,VIA绝对值得你使用,忘了说,人家是免费的,完全没广告的。

有些软件的可能在应用商店找不到,我都准备好了安装包,获取方式就在下方:

06 天天

一款超小众的清单打卡APP!完全免费,体积只有600K!但真的好用!

软件支持,每日或每周打开,记录下自己的待办,不断地去完成。而且随着你完成任务,你还能获得一些评级(当然只是一些称号)也算是对自己的奖励。

我超喜欢的一个点在于操作简单,而且具备统计功能,你可以导出Excel包含全部历史数据,进行一些分析,对自己有一个回顾!激励自己变得更好!

功能超简单,但却能帮助我们养成高效率的习惯。绝对是良心之作!

07 微软数学

一款微软出品,帮你解决数学难题的APP,高数学习必备!

这个软件很简单,你可以扫描一些问题,比如你做高数,发现一个题目不会,不用担心,直接扫描获取答案,重要的是还有解题思路:

是不是很优秀~几乎所有的题目都可以解答哦!

如果扫描不出来,还在支持手写和科学键盘输入哦,超级方便,简直是数学学习的神器!

安装包我页准备好了,获取方式就在下方:

08 美剧听单词——英语学习必备

一款让你学英语变得容易的APP,一边追美剧,一边学英语!四级在招手!

APP里面有超级多的美剧和电影,高中的时候,英语老师总是会说,看美剧可以很大程度上提升英语水平!这款APP满足你!

当你看美剧的时候,遇到不懂的单子,可以直接点击单子,字幕就会不出现翻译,点击五角星,就能记录这个单词!

当然,也支持中文字幕哈,作为一个美剧播放器也是OK的!

另外,你还可以练习配音哦:

软件还会自动帮你生成生词本,不断地练习,让你愉快地学习英语~

09 潮汐

一款可以让你安静下来的白噪音工具。免费的功能就足够了。

一直在使用的白噪音软件,还能帮助你放松、睡眠。学习的时候,觉得自己静不下心,可以用它播放大自然的声音,还能隔绝外界杂音。

强烈安利它的翻转模式,将手机倒扣在桌面上,就开始计算你的专注时间!如果中途拿起手机,会记录你中断的时间。考研党必备!

如果你注意力没办法集中,一定要用这个软件哦~

10 厚墨——电子书阅读神器

一款极其强大的图书阅读神器,它的设计极简,纯粹阅读。无广告,无推送。绝对良心!

软件支持三种格式的文件epub,mobi,azw3,可以说比较全面了!

整个界面非常干净,让你只剩下阅读。最重要的是,书源也太丰富了,光是自带的书源都几百个!

而且都是一键点击就能导入!如果没有你喜欢的,还支持自己导入:

不过,我至今还没遇到,软件自带的书源中,没有的图书!最近大热的《三十而已》都能轻松检索查看:

当然,一些工具书,比如红楼梦,定位等,全部都有!

总之,有了这个纯粹,无广告的阅读软件,你的其他图书APP可以直接卸载了!

相信我,大学多看点书吧~

另外,看到这里,可别忘记领取我准备好的APP安装包呀:

以上,就是今天要跟大家分享的APP,希望能对你有用哦~

看到这里的小伙伴,别忘了给我点个赞,也欢迎你关注我的头条号@旁门左道APP,获取更多干货

phpstorm如何设置环境?

1打开PHPstudy进入“其他选项菜单”-“环境端口检测”-端口列表,随后点击PHPstudy运行界面的重启,查看网络状态-TCP监听端口,查看Apache的端口,我的这里是9096,网上一般说Apache端口默认是80,没错,但经常被占用。

2随后,我们来到phpstrom中修改phpstoram的默认设置,tools-Deploment-Configuration,如果第一次设置会没有,点击弹窗左上角“+”新建就好。

3端口被占用就是把localhost改成localhost:端口/地址/

4点击Mapping,进入设置。

5完成后保存退出,在点击右上角的小角标。

6找到PHP web applicantion,进入。也是没有就点击“...”的那个新建。

7没有的新建,有的改数据,默认是80,80端口被占用就改成,我们看过的被分配好的端口号。

本文转载自互联网,如有侵权,联系删除