标签归档:汇总

史上最全的Android开发学习教程集锦【初学者】

根据Google的报告,截止2017年5月为止,Android活跃用户已超过20亿,并还在持续增长中。Android系统在几个主要的市场上已超过了iOS系统,特别是在美国,欧洲和日本,然而苹果确实在中国市场找到了一席之地。未来的市场到底谁是“霸主”我们还无从得知,但Android现在的趋势已经超过iOS。这也是为什么越来越多的设计师投身于Android开发设计。本篇文章从不同角度给Android开发提供丰富的教程资源:初级Android开发教程,YouTube视频教程,丰富的Android开发资源以及工具使用等。

1、初级Android开发教程:
https://developer.android.com/training/basics/firstapp/creating-project

当然,我们还是要从Google给的Android教程开始学起。“开发你的第一个Android应用程序”这个教程一开始就是为初学者准备的,如果你没有一点编程知识,那么学习起来会很困难,但如果你有一些编程背景,那很容易。

在教程的背后有几个“最佳实践”,这个可以说是非常重要的内容,这是你必须阅读的部分。

2、https://www.raywenderlich.com/120177/beginning-android-development-tutorial-installing-android-studio

这个Android教程没有任何附件的条件,只要你有一颗想学习的心和Mac。对的,Mac, 当然你也可以在PC端上开发Android应用程序,但这个教程是基于Mac开发人员的。从这个教程中你将学习到:
– 如何设置Android开发过程中使用的所有工具
– 如何下载并安装Android studio
– 如何在不同设备和模拟器中测试你的应用程序
– 创建简单的“hello world”Android应用程序,并可以打印到你的设备以及模拟器
– 如何将示例项目导入Android studio

3、https://www.tutorialspoint.com/android/index.htm

Android编程是基于Java语言的,如果你对Java编程有基本了解,那么学习起来会相对轻松些。这个教程会教你基本的Android编程,并带你了解一些与Android应用程序相关的高级概念。本篇教程完全是为初学者准备的,当你了解完这篇教程后,你将发现自己已达到了Android编程中等水平的专业知识,从而就可以进入下个阶段。值得一提的是,这个网站上涵盖了几乎所有的Android开发的知识,包括:Android的用户界面,Android高阶概念,Android应用程序样例以及各种Android资源。

4、https://www.raywenderlich.com/185299/building-android-library-tutorial

Android库在结构上与Android应用程序模块相同。 它可以包括构建应用程序所需的一切,包括源代码,资源文件和Android清单。在本教程中,你将学习到构建Android库的所有内容,从创建到发布以供其他人使用。教程内容包括:
– 如何创建Android库
– 如何发布你的Android库
– 如何使用你的Android库
– Android库的最佳实践

5、YouTube视频教程:
https://www.youtube.com/playlist?list=PLS1QulWo1RIbb1cYyzZpLFCKvdYV_yJ-E 

这个教程是Android开发系列教程,涵盖56个视频教程。从基础的介绍和安装配置Java JDK到安装Android studio以及开发应用程序,你可以了解到你想了解的一切关于Android开发的知识。

6、https://www.youtube.com/playlist?list=PLshdtb5UWjSrOJfpFOE-u55s3SnY2EO9v 

本教程总共有69个视频,从基础的开发知识到如何创建一个Android应用程序,你想知道的Android所有知识,都涵盖在这77个视频里。在学习完本系列教程,你可以创建自己的Android应用程序,并可以在Play store中发布你的应用程序。这个系列教程是2018年最新的。

7、https://www.youtube.com/watch?v=EOfCEhWq8sg

本教程是由在线学习网站Treehouse提供的。顺便说一句,这个网站的学习资源很丰富,有时间可以去看看。目前, Android开发都是有Android studio这个工具完成的,它有助于组织我们的项目,并提供一种用户友好的方式来创建我们找寻的东西。在本视频中,我们将学习到如何安装Android studio,然后制作应用程序,如果你没有一点编程知识,也没关系,跟着视频学习,你将了解更多Android应用程序。

附:Android开发资源:

https://www.udemy.com/java-tutorial/

本课程是为初学者准备的,如何学习Java编程语言,没有编程背景也不影响,并且是免费的。

https://www.youtube.com/playlist?list=PL9DF6E4B45C36D411

Java编程学习的系列YouTube视频教程,涵盖47个视频。

https://www.youtube.com/watch?v=WPvGqX-TXP0&feature=youtu.be

这个教程能够在30分钟内教你Java的核心知识。

https://academy.realm.io/posts/eric-maxwell-mvc-mvp-and-mvvm-on-android/

学习如何为复杂的Android应用程序选择合适的架构,实现更好的开发、测试、调试和维护。

https://www.w3schools.com/xml/

如果还对XML不熟悉的,现在是你学习它的最佳时机,因为你需要大量的使用它来设计Android布局,这个还比较简单,你不需要花费太多时间。

https://code.tutsplus.com/tutorials/a-beginners-guide-to-http-and-rest–net-16340

如果你需要通过Android应用程序进行API调用,那么了解HTTP和REST非常重要。

https://www.mockplus.com/blog/post/android-app-design

Android开发同样需要学习APP 设计,和设计师能够更好的沟通。

https://www.mockplus.cn/blog/post/947

这篇文章给我们提供了最全的材料设计 UI kit。

https://blog.google/products/android/

如果你想获得Android最新消息,那么不如直接从Google获取。

https://android-developers.googleblog.com/

如果你是Android的开发人员,那么这个博客可以获得Android所有的最新时讯,并提供最新的一些开发应用程序技巧以及丰富的培训资源。

AndroidGuys

这个博客为Android用户提供关于Android的产品、使用技巧以及最新的时讯。如果你想了解某个Android的操作系统以及设备,那么这个博客你绝对值得收藏。

How to use Material Design in your Android apps

本文教你如何使用材料设计让你的Android应用程序更加美观吸引人。

Android 开发工具:
Android Studio
所有Android应用程序离不开Android studio,它是Google推出的Android开发环境,开发者可以在编写程序的同时看到自己的应用在不同尺寸屏幕中的样子。Android Studio还提供了更多功能,可在构建Android应用程序时提高你的工作效率,例如:C ++和NDK支持。

Mockplus

Mockplus是一款Android原型设计工具。快速原型设计是设计师与移动app软件需求方沟通的最好工具,我的理解就是在软件开发初期,先对所要开发的软件有一个大致的整体设计,毕竟现在的移动端多种多样,原型的重要性是降低开发成本,此阶段应该被充分利用,以避免后期因为不符合需求而改写大量代码。如果没有一个好的设计,很难做出一个比较优秀的软件,快速原型更有利于用户与开发人员的交互,使设计细致入微。

Android Device Monitor
Android Device Monitor是一个独立的调试监控服务工具,可为多个Android应用调试和分析工具提供UI。

APKAnalyser
这是一个静态、虚拟分析工具,你可以全面地概览应用的架构。可以用它来检查API参考文档,反编译字节码。APKAnalyser是一个完整的开源工具链,它支持修改应用的二进制代码,你可以重新打包、安装、运行以及验证logcat的结果。

总结
假如开始没有任何的开发经验的话,千万不要着急,不要想着在短时间内就把一个语言学习好,因为你之前没有任何的学习经验,在这个过程中需要有耐心地学习完JAVA的基础知识,然后才开始踏上Android开发之旅。有开发经验的,可以在Android上迅速上手,但是同样的是不可忽略Android的一些基础知识,只有把基础掌握好了,才能在后期取得大的进步。
————————————————

原文链接:https://blog.csdn.net/jongde1/article/details/80908094

Java第三方工具库/包汇总

一、科学计算或矩阵运算库

科学计算包

  • JMathLib是一个用于计算复杂数学表达式并能够图形化显示计算结果的Java开源类库。它是Matlab、Octave、FreeMat、Scilab的一个克隆,但完全采用纯Java实现。
  • JSci:Java 科学对象(JSci)开放源代码项目是 Durham(英国 Durham)大学粒子理论中心的三年级研究生 Mark Hale 创立的。JSci 是一个包集合,包含数学和科学类。 使用 JSci,您既可以在 AWT 中也可以在 Swing 中创建简单的条形图、折线图和饼形图。 JSci.swing.JBarGraph 、 JSci.swing.JPieChart 和 JSci.swing.JLineGraph API 组件设计得也很好,这些组件和 AWT 绘图类都遵守 MVC 体系结构。
  • JScience:http://jscience.org/ JScience 是一个Java的科学计算包
  • jLab:jLab是数值计算的Java执行环境。该jLab环境的目的是提供一个基于Matlab / Scilab喜欢的科学计算平台所支持的脚本引擎执行的Java语言。 The current jLab
  • ND4J:在JVM上实现快速的科学计算;ND4J是一个开源的数值计算扩展 ,它将 Python中著名的 numpy 库的很多特性带到了Java中。ND4J可以用来存储和处理大型多维矩阵。它的计算和处理速度很快,但占用的内存却很少,程序员们可以很容易地使用它来与其他JAVA或Scala库作接口。https://github.com/deeplearning4j/dl4j-examples
  • dl4j(DeepLearning4j): java下的一个机器学习开源项目
  • nd4j: dl4j使用的底层的算法库,实现的几乎所有的矩阵相关的操作
  • Shared Scientific Toolbox:共享科学工具箱是一个用于科学和分布式计算的Java类库。它具有广泛的多方面的阵列线性代数和FFT支持;异步,高性能的网络层和诠释抽象类载入中,记录和消息传递。
  • Colt Matrix Libary:Colt Project 提供了一组开源的高性能的科学和数学计算的 Java库,Colt是一个高性能的数学库,由以下几个子库构成:基本的动态数组、稀疏矩阵、线性代数。
  • Jet库:数理统计、直方图。
  • CoreJava库:类printf的打印函数,并行计算。
  • PETSC:PETSc(Portable, Extensible Toolkit for Scientific Computation) ,读作Pet-see,是美国能源部ODE2000支持开发的20多个ACTS工具箱之一,由Argonne国家实验室开发的可移植可扩展科学计算工具箱,主要用于在分布式存储环境高效求解偏微分方程组及相关问题。PETSc所有消息传递通信均采用MPI标准实现。线性方程组求解器是PETSc的核心组件之一,PETSc几乎提供了所有求解线性方程组的高效求解器,既有串行求解也有并行求解,既有直接法求解也有迭代法求解。
  • Catalano:Catalano Framework 是一个 Java 和 Android 的科学计算框架。 主要计算功能: 图像处理 模糊逻辑 数学计算 统计 机器学习 神经网络

矩阵运算包:

  • EJML:Java矩阵操作库 Efficient Java Matrix Library (EJML)这是一个比较高效率的Java矩阵运算库,提供比较全面地计算。 但是和C++的矩阵运算还是不能比。
  • Jama:Jama是一个基本的线性代数java包。包括一个基本的Matrix类和5个矩阵分解类。Matrix类提供了基本的线性代数数值运算的功能,https://www.cnblogs.com/zangbo/p/5622351.html
  • UJMP (Universal Java Matrix Package)** 统一Java矩阵工具包是一个提供各种矩阵运算的Java类库。这个工具包提供了诸如稀疏矩阵和稠密矩阵的实现,以及矩阵的分解、求逆、加法、乘法,均值,方差和相关系数等运算功能. 此外还提供一些常用的线性代数运算功能,矩阵可视化功能和矩阵数据导入与导出的功能。
  • jlbas: 矩阵向量运算库jblas,http://blog.csdn.net/golden1314521/article/details/45484529,jblas is a fast linear algebra library for Java. jblas is based on BLAS and LAPACK, the de-facto industry standard for matrix computations, and uses state-of-the-art implementations like ATLAS for all its computational routines, making jBLAS very fast.
    主页地址:http://jblas.org/
    该库的API文档地址:http://jblas.org/javadoc/index.html
    相关例子和库文件jar包下载 http://download.csdn.net/detail/u012176591/8660849
    在Java工程中我们只要 引入jar包文件就可以了。

二、图形绘制+图像处理包:

  • ***java的Graphics类:Java中绘制基本图形,可以使用Java类库中的Graphics类,此类位于java.awt包中。在我们自己的java程序文件中,要使用Graphics类就需要使用import java.awt.Graphics语句将Graphics类导入进来。
    Graphics类提供基本的几何图形绘制方法,主要有:画线段、画矩形、画圆、画带颜色的图形、画椭圆、画圆弧、画多边形等。本项目仅用到画直线的功能,其它图形绘制请自行点击查阅Java API。
    Graphics类的drawLine()方法:drawLine(int x1,int y1,int x2,int y2)
  • Oracle提供的 Java Advanced Imaging (JAI) 库处理2D图像还可以的。
  • ***Java Image Filters【Java Image Filters 是由 Jhlabs 开发的一组用来处理 Java 图像的类库,提供各种常用的图像处理效果,例如反转色、扭曲、水波纹、凹凸、黑白效果等等数十种效果,如下图所示,更多的效果请看其网站首页】http://www.oschina.net/p/javaimagefilters
  • **ImageJ:一个Java的图像处理和分析库,ImageJ是一个基于java的公共的图像处理软件,它是由National Institutes of Health开发的。可运行于Microsoft Windows,Mac OS,Mac OS X,Linux,和Sharp Zaurus PDA等多种平台。其基于java的特点, 使得它编写的程序能以applet等方式分发。
    ImageJ能够显示,编辑,分析,处理,保存,打印8位,16位,32位的图片, 支持TIFF, PNG, GIF, JPEG, BMP, DICOM, FITS等多种格式。ImageJ支持图像栈功能,即在一个窗口里以多线程的形式层叠多个图像, 并行处理。只要内存允许,ImageJ能打开任意多的图像进行处理。除了基本的图像操作, 比如缩放,旋转, 扭曲, 平滑处理外,ImageJ还能进行图片的区域和像素统计, 间距,角度计算, 能创建柱状图和剖面图,进行傅里叶变换。
    ImageJ是一个开放结构的软件, 支持用户自定义插件和宏。ImageJ自带编辑器, 并且导入了java的编译器,实现了简单的IDE功能, 用户可直接基于ImageJ进行图像处理
  • ***Sanselan:Sanselan 是一个纯 Java 的图形库,可以读写各种格式的图像文件,包括快速解析图片信息例如大小/颜色/icc以及元数据等。尽管因为是Java开发的,在处理速度上会稍微慢一 些,但具备良好的可移植性。http://www.oschina.net/p/sanselan
  • JJIL 是一个Java 的图像处理类库,有超过60个的图像处理任务,例如可以用来识别条形码之类。JJIL 主要面向J2ME 手机应用开发
  • ***Imagero 是 Java 的图像处理库,支持的图像类型包括:BMP, GIF, TIFF, PNG, JNG, MNG, JPEG (including CMYK and 12-bit grey), PSD, PBM, PGM, PPM, TGA, EPS, EPSI, EPSF, AI, PDF, MRW, CRW, NEF, DCR, and DNG。Imagero 可读取缩略图以及编辑图像元数据… 更多Imagero信息
  • 【商业】绘图库 DISLIN:DISLIN是一个高级别,易于使用的绘图库,支持曲线,条形图,饼图,三维彩色图,曲面,轮廓,和地图显示。支持多种输出格式,如X11的,VGA,PostScript , PDF格式,CGM, HPGL , TIFF和PNG等。绘图采用Perl解释语言 , 支持Python和Java,同时还支持大多数http://www.oschina.net/p/dislin
  • Thumbnailator 是一个用来生成图像缩略图的 Java 类库,通过很简单的代码即可生成图片缩略图,也可直接对一整个目录的图片生成缩略图。
  • JAI-ImageIO:Java Advanced Imaging Image I/O Tools projects
  • ***Marvin: Java图像处理框架 Marvin 是一个Java开发的可扩展的图像处理框架,该框架主要提供以下几方面的功能: 基本图像操作; 从视频中捕获帧; 多线程的图像处理; 通过GUI界面集成插件; 插件性能分析; 通过插件进行功能扩展。 http://www.oschina.net/p/marvin
  • Java 图像处理框架 Processing: Processing 是一个为想要图像处理程序所提供的开源编程语言和环境,动画和互动。这是使用的学生,艺术家,设计师,研究人员和爱好者学习,原型及生产。这是建立基础教育计算机编程在视觉方面,并作为软件写生簿和专业的生产工具。http://www.oschina.net/p/processing
  • 图像处理标签库 JImageTaglib:JImageTaglib是个用来处理图片的的标签,在服务器中生成响应的处理图片,可以对图片进行过滤(如转灰度图,边缘查找等)另外还可以用来生成条形码。
  • Java图像处理库 jrawio:jrawio 是一个 Java Image I/O API 的服务提供者,用来处理数码相机拍摄的RAW格式的图片,包括NEF, CRW, CR2, PEF, SRF, MRW,这是一个纯 Java 的类库。
  • OpenCL的Java库 JavaCL: JavaCL 是一个封装了 OpenCL 图形API的 Java 类库,提供很多高级的图像处理功能。http://www.oschina.net/p/javacl
  • OpenCL库 JOCL:JOCL (Java OpenCL)提供一种简单的方式为OpenCL API添加Java binding。JOCL会提供两个级别:自动生成一个低级别的binding;还有一个需要人工编写的高级别的binding,提供一个方便的界面并将冗长降到最低。 特点: 高性能,跨平台高,http://www.oschina.net/p/jocl
  • 三维场景图开发类库 jReality: jReality是一个Java开源的三维场景图开发类库,设计用于数学领域的3D可视化。jReality是线程安全的,拥有一个灵活的着色模型基于场景图中的一种属性继承机制,独立于设备的用户交互并且支持真正的3D Audio(JACK)。http://www.oschina.net/p/jreality
  • ogre4j是一个可以在Java应用程序中能过JNI使用OGRE的开源项目。OGRE(Object-Oriented Graphics Rendering Engine):是一个被广泛使用的开源三维图形渲染库,成功地被应用于诸多三维仿真领域,其中包括网络游戏和一些商业的三维仿真项目)。
  • opencv: 计算机视觉和图像处理
  • //图像处理库:
    import java.awt.AlphaComposite;
    import java.awt.Color;
    import java.awt.Font;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.Image;
    import java.awt.Toolkit;
    import java.awt.color.ColorSpace;
    import java.awt.geom.AffineTransform;
    import java.awt.image.AffineTransformOp;
    import java.awt.image.BufferedImage;
    import java.awt.image.ColorConvertOp;
    import java.awt.image.CropImageFilter;
    import java.awt.image.FilteredImageSource;
    import java.awt.image.ImageFilter;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
  • GIF动画制作工具 GiftedMotion
  • 二维的GUI框架 JHotDraw:JHotDraw是一个开源项目,它是一个二维的GUI框架,主要用于支持用Java开发的图形编辑器。它的设计中采用了许多著名的设计模式,因而具有良 好的框架、很好的复用性和扩展性。针对矢量图形软件开发过程中面临的各种难题,本文提出了基于JHotDraw的解决方案,实现…
  • 指纹识别开发包 SourceAFIS

三、 机器学习和深度学习库

3.1 机器学习库

  • ***opencv
  • ***TensorFlow: 一个是我们最喜欢的机器学习框架,被称作无与伦比的TensorFlow框架。 TensorFlow是一个使用数据流图进行数值计算的开源软件库,是GitHub上最受欢迎的机器学习项目,也是参与者和贡献者最多的机器学习项目。TensorFlow主要是用Python编写的,但它也支持Java和Go的一些用法。
  • ***Weka: http://www.cs.waikato.ac.nz/ml/weka/index.html 毫无疑问,Weka 是目前首选的 Java 机器学习库。完全基于 Java 环境,开源,免费,具有易于使用的图形界面,适合于数据挖掘,数据分析和预测建模等多种应用场景。Weka包括一系列的工具,如数据预处理、分类、回归、聚类、关联规则以及可视化。
  • ***ML:Java机器学习库ML官网:http://java-ml.sourceforge.net/,Java-ML是一个使用Java编写的一系列机器学习算法的Java API。它只提供了一个标准的算法接口。对于一个机器学习库来说,最基础就是数据处理能力,ml库给了dataset和instance两个类,dataset是矩阵,instance是行(可以理解是一个list,或一个double数组)。
    import net.sf.javaml.core.Dataset;
    import net.sf.javaml.core.DefaultDataset;
    import net.sf.javaml.core.DenseInstance;
    import net.sf.javaml.core.Instance;
    import net.sf.javaml.core.SparseInstance;
    import net.sf.javaml.tools.InstanceTools;
    import net.sf.javaml.tools.data.FileHandler;
  • **Massive Online Analysis(MOA)是一个面向数据流挖掘的流行开源框架,有着非常活跃的成长社区。它包括一系列的机器学习算法(分类、回归、聚类、异常检测、概念漂移检测和推荐系统)和评估工具。关联了WEKA项目,MOA也是用Java编写的,其扩展性更强。MOA 也是基于 Java 环境,开源,免费,在面对复杂问题时,MOA 还能和 Weka 协同工作。MOA 在运算效率和内存占用方面都做了特殊优化,通过提供易于扩展的底层结构、可复用的数据流分析设置以及一系列内部实现好机器学习算法,MOA 为实时数据流分析提供了一个非常优秀的基准框架,因此 在实时数据流挖掘领域的应用非常广泛 。其内部实现的机器学习算法包括:分类、回归、聚类、孤立点检测、概念漂移检测和推荐系统等。地址: http://moa.cms.waikato.ac.nz/
  • ***MALLET :地址: http://mallet.cs.umass.edu/ 主要由来自麻省大学(University of Massachusetts)的Andrew McCallum教授和其学生开发,是一个基于 Java 环境的开源机器学习工具包。主要应用于统计自然语言处理,文档分类,聚类,主题建模,信息提取等 文本类分析场景 。许多功能强大的工具,包括用于文档分类的高级工具,用于序列标记的工具,和用于主题建模的工具等。MALLET 还支持各种类型的算法,包括朴素贝叶斯,决策树和最大熵等。此外,MALLET 还提供了许多例程,包括分词,删除停用词,将文本转换为向量表示等。
  • MEKA项目提供了一个面向多标签学习和评价方法的开源实现。在多标签分类中,我们要预测每个输入实例的多个输出变量。这与“普通”情况下只涉及一个单一目标变量的情形不同。此外,MEKA基于WEKA的机器学习工具包。
  • Advanced Data mining And Machine learning System(ADAMS)是一种新型的柔性工作流引擎,旨在迅速建立并保持真实世界的复杂知识流,它是基于GPLv3发行的。
  • Environment for Developing KDD-Applications Supported by Index-Structure(ELKI)是一款基于Java的开源(AGPLv3)数据挖掘软件。ELKI主要集中于算法研究,重点研究聚类分析中的无监督方法和异常检测。
  • Mallet是一个基于Java的面向文本文件的机器学习工具包。Mallet支持分类算法,如最大熵、朴素贝叶斯和决策树分类。
  • Encog是一个先进的机器学习框架,集成了支持向量机(SVM)、人工神经网络、遗传算法、贝叶斯网络、隐马尔可夫模型(HMM)、遗传编程和遗传算法。Encog是一个先进的机器学习框架,集成了支持向量机(SVM)、人工神经网络、遗传算法、贝叶斯网络、隐马尔可夫模型(HMM)、遗传编程和遗传算法。
  • Mahout是一个内置算法的机器学习框架。Mahout-Samsara帮助人们创建他们自己的数学,并提供了一些现成的算法实现。
  • Rapid Miner是德国多特蒙特技术大学开发的。它为开发者开发应用程序提供了一个GUI(图形用户界面)和Java API。它还提供了一些机器学习算法,用来做数据处理、可视化以及建模。
  • Apache SAMOA是 一个机器学习(ML)框架,内嵌面向分布式流ML算法的编程抽象,并且允许在没有直接处理底层分布式流处理引擎(DSPEe,如 Apache Storm、Apache S4和Apache samza)复杂性的情况下,开发新的ML算法。用户可以开发分布式流ML算法,而且可以 在多个DSPEs上执行。
  • Neuroph通过提供支持创建、训练和保存神经网络的Java网络库和GUI工具,简化了神经网络开发。
  • Oryx 2是一个建立在Apache Spark和Apache Kafka的Lambda架构实现,但随着实时大规模机器学习而逐渐开始专业化。这是一个用于构建应用程序的框架,但也包括打包,以及面向协同过滤、分类、回归和聚类的端到端的应用程序。
  • Stanford Classifier是一个机器学习工具,它可以将数据项归置到一个类别。一个概率分类器,比如这个,它可以对一个数据项给出类分配的概率分布。该软件是最大熵分类器的一个Java实现。
  • JSAT是一个快速入门的机器学习库。该库是我在业余时间开发的,基于GPL3发行的。库中的一部分内容可自主学习,例如所有的代码都是独立的。JSAT没有外部依赖,而且是纯Java编写的。
  • Java Machine Learning Library(Java机器学习库)是一系列机器学习算法的相关实现。这些算法,无论是源代码还是文档,都编写的很出色。其主要语言是Java。
  • MLlib (Spark)是Apache Spark的可扩展机器学习库。虽然是Java,但该库与平台还支持Java,Scala和Python绑定。此库是最新的,并且算法很多。
  • H2O是用于智能应用的机器学习API。它在大数据上对统计学、机器学习和数学进行了规模化。H2O可扩展,开发者可以在核心部分使用简单的数学知识。
  • ELKI: https://elki-project.github.io/ Environment for Developing KDD-Applications Supported by Index-Structures,即 由索引结构支持的 KDD 应用开发环境 ,Environment for Developing KDD-Applications Supported by Index-Structures,即 由索引结构支持的 KDD 应用开发环境
  • Neo4j :Neo4j是一个世界领先的开源图形数据库。 它是由Neo技术使用Java语言完全开发的。图形数据库是以图形结构的形式存储数据的数据库。 它以节点,关系和属性的形式存储应用程序的数据。 正如RDBMS以表的“行,列”的形式存储数据,GDBMS以“图形”的形式存储数据。https://neo4j.com/ 教程:https://www.w3cschool.cn/neo4j/

3.2 深度学习库

  • Deeplearning4j:地址: https://deeplearning4j.org/,Deeplearning4j(Deep Learning For Java)是 Java 和 Scala 环境下的一个开源分布式的深度学习项目,由总部位于美国旧金山的商业智能和企业软件公司 Skymind 牵头开发,并得到了腾讯的投资。正如它的命名,Deeplearning4j 的运行需要 Java 虚拟机 JVM 的支持。
    Deeplearning4j 旨在为工作在 Hadoop 框架下的 Java、Scala 和 Clojure 程序员提供一个可以灵活 DIY 的机器学习工具。团队在官网表示,他们希望通过一些机器学习算法的开发,将商业带入智能化数据的时代。也正是为了实现这一理想,惠及更多的用户,因此选择了移植性更好的 Java 环境来实现这些算法。目前,Deeplearning4j 在模式识别、时间序列检测和基于语音、文本的情感识别方面应用广泛,包括谷歌、Facebook和微软等巨头公司都是它的用户。

3.3 大数据处理

1) BID Data Project –能够运行快速、大规模的机器学习和数据挖掘的模式集合
2) Apache Singa  Apache Singa由新加坡国立大学的团队开发,是一个灵活可扩展的利用大数据分析的深度学习平台。这个深度学习框架为大量数据的可扩展分布式培训提供了灵活架构。Singa可扩展以运行各种硬件,主要应用在图像识别和自然语言处理(NLP)方面。
3) Singa目前是一个Apache孵化器项目,提供了简单的编程模型,可以在一个节点集群上工作。分布式深度学习在训练过程中使用模型划分和并行化,一般而言,Singa支持传统的机器学习模型,如逻辑回归。Singa是用Java,C ++和Python编写的,可以在AWS上或通过Docker尝试使用。

3.4 Neuroph –面向对象的神经网络

neuroph是用来开发常用的神经网络构架的轻量级java框架。该框架提供了一个java库以及一个GUI工具(称为easyNeurons),你可以用它来在java项目中创建和训练自己的神经网络。
Neuroph包含一个开源的java类库和少量对应基本神经网络概念的基类。对于刚开始使用神经网络,或者想知道它们如何工作的人来说,Neuroph是个非常好的垫脚石。你可以尝试Neuroph的在线演示,看看它是怎么运行的。

四、数据挖掘和统计分析工具库

WEKA:WEKA是一个可用于数据挖掘任务的机器学习算法集合。该算法可以直接应用到数据集或从自己的Java代码调用。 WEKA包含数据预处理,分类,回归,聚类,关联规则,和可视化工具。它也非常适用于开发新的机器学习方案。
jmotif:时间序列、分类、数据挖掘开发库
java-ml:Java机器学习库,聚类、分类、特征选择
flanagan: 数学和统计java开发库,包含回归算法,一次二次线性非线性回归算法,数据平滑算法,傅里叶变换,数值积分,插值法。http://www.ee.ucl.ac.uk/~mflanaga/java/
Mahout:Apache Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。经典算法包括聚类、分类、协同过滤、进化编程等等,并且,在 Mahout 的最近版本中还加入了对 Apache Hadoop 的支持,使这些算法可以更高效的运行在云计算环境中。
JMulTi:时间序列分析开发库
jfreechart:【可实现数据统计图】下载地址:http://download.csdn.net/detail/pzhtpf/4327700
jcommon:【可实现数据统计图】
gnujaxp:【可实现数据统计图】
http://blog.csdn.net/pzhtpf/article/details/7600100
以上第三方工具库汇总不完整,归类不一定正确,仅供参考。
————————————————
原文链接:https://blog.csdn.net/panrenlong/article/details/79246349

UI设计规范整理汇总

写在前面

很多新人在开始做移动端UI设计的时候,往往对界面的一些尺寸规范不是十分清楚,很多时候都是凭借自己的感觉和经验去绘制界面,心里并没有一个清晰的概念,导致做出来的页面总是不那么尽如人意。本文整理汇总了一些界面设计(iOS系统)中常用的一些尺寸规范和方法,如控件间距、适配、标注、切图等,设计师在设计时并不一定要严格遵守,但对这些规范应有所了解,并融会贯通。

目录

01.界面设计尺寸及栏高度
02.边距和间距
03.内容布局
04.界面图片设计比例
05.建立统一风格的图标
06.APP版式设计规范
07.界面文字设计规范
08.设计适配
09.切图规范
10.设计稿标注

正文

01.界面设计尺寸及栏高度

目前主流的iOS设备主要有iPhone SE(4英寸)、iPhone 6s/7/8(4.7英寸)、iPhone 6s/7/8 Plus(5.5英寸)、iPhone X(5.8英寸),它们都采用了Retina视网膜屏幕,其中iPhone 6s/7/8 Plus和iPhone X采用的是3倍率的分辨率,其他都是采用的2倍率的分辨率,无论是栏高度还是应用图标,设计师提供给开发人员的切片大小,前者始终是后者的1.5倍,并分别以@3x和@2x在文件名结尾命名,程序再根据不同分辨率自动加载@3x或者@2x的切片。

通过上面的讲解和图示我们了解了iPhone不同设备的物理尺寸,那么他们的像素分辨率又是多少呢?也就是说我们用Photoshop做设计新建画布应该设置多大呢?另外,iOS应用中的栏,包括状态栏、导航栏、标签栏、工具栏等,它们的高度又分别是多少呢?(注意:iOS严格规定了各个栏的高度,这个是必须遵守的)通过下面的表格和图示来为你解答上面的问题。

注意:在进行iphone x设计的时候我们依然可以采用熟悉的iphone 7的设计尺寸作为模板,只是高度增加了290px,设计尺寸为750*1624(@2x)。注意状态栏的高度由原来的40px变成了88px,另外底部要预留68px的主页指示器的位置。

02.边距和间距

在移动端页面的设计中,页面中元素的边距和间距的设计规范是非常重要的,一个页面是否美观、简洁、是否通透和边距间距的设计规范紧密相连,所以说我们有必要对它们进行了解。

全局边距

全局边距是指页面内容到屏幕边缘的距离,整个应用的界面都应该以此来进行规范,以达到页面整体视觉效果的统一。全局边距的设置可以更好的引导用户竖向向下阅读。

在实际应用中应该根据不同的产品气质采用不同的边距,让边距成为界面的一种设计语言,常用的全局边距有32px、30px、24px、20px等等,当然除了这些还有更大或者更小的边距,但上面说到的这些是最常用的,而且有一个特点就是数值全是偶数。

以iOS原生态页面为例,“设置”页面和“通用”页面都是使用的30px的边距。

再以微信和支付宝为例,他们的边距分别是20px和24px。

通常左右边距最小为20px,这样的距离可以展示更多的内容,不建议比20还小,否则就会使界面内容过于拥挤,给用户的浏览带来视觉负担。30px是非常舒服的距离,是绝大多数应用的首选边距。

还有一种是不留边距,通常被应用在卡片式布局中图片通栏显示,比如站酷APP(当然站酷APP也进行了改版,首页已经采用了不通栏的卡片式设计)。这种图片通栏显示的设置方式,更容易让用户将注意力集中到每个图文的内容本身,其视觉流在向下浏览时因为没有留白的引导被图片直接割裂,造成在图片上停留更长时间。

卡片间距

在移动端页面设计中卡片式布局是非常常见的布局方式,至于卡片和卡片之间的距离的设置需要根据界面的风格以及卡片承载信息的多少来界定,通常最小不低于16px,过小的间距会造成用户的紧张情绪,使用最多的间距是20px、24px、30px、40px,当然间距也不宜过大,过大的间距会使界面变得松散,间距的颜色设置可以与分割线一致,也可以更浅一些。

以iOS(750*1334px)为例,设置页面不需要承载太多的信息,因此采用了较大的70px作为卡片间距,有利于减轻用户的阅读负担,而通知中心承载了大量的信息,过大的间距会让浏览变得不连贯和界面视觉松散,因此采用了较小的16px作为卡片的间距。

下面来看一下微信的卡片间距设置的是多少,以及颜色值。

注:卡片间距和颜色值是直接截图测量和吸取的,可能不十分准确

继续举例,下面的两张截图分别是巨划算(卡片间距20px)和拼多多(卡片间距16px)的首页截图,这种电商类的APP因为需要承载大量的信息,所以一般间距设置的都比较小。

总结:卡片间距的设置是灵活多变的,一定要根据产品的气质和实际需求去设置,平时也可以多截图测量一下各类APP的卡片间距都是怎么设置的,看的多了并融会贯通,卡片间距设置自然会更加合理,更加得心应手。

内容间距

一款APP除了各种栏(状态栏、导航栏、标签栏、工具栏)和控件icon就是内容了,内容的布局形式多种多样,这里不去探讨内容具体应该如何去布局,我们来说一说内容的间距设置问题。

先来介绍一下格式塔原则中的一个重要的原则就是邻近性,格式塔邻近性原则认为:单个元素之间的相对距离会影响我们感知它是否以及如何组织在一起,,互相靠近的元素看起来属于一组,而那些距离较远的则自动划分组外,距离近的关系紧密。来看下图,左图中的圆在水平方向比垂直距离近,那么,我们看到了4排圆点,而右图则看成4列。

在UI设计中内容布局时,一定要重视邻近性原则的运用,比如在下面这款轻芒阅读APP的主界面中,每一个应用名称都远离其他图标,与对应的图标距离较近,保持亲密的关系,也让用户的浏览变得更直观,如果应用名称与上下图标距离相同,就分不出它是属于上面还是下面,从而让用户产生错乱的感觉。

再来看一个案例,日日煮APP,上面图片与文字较近,下面图片与文字较远,所以我们清晰的知道文字是属于上面的图片的。

03.内容布局

在APP的设计中内容的布局形式多种多样,这里介绍最常用的两种布局形式,列表式布局和卡片式布局。

列表式布局

列表式布局方式非常普遍,随便打开一个APP,基本都存在这种布局方式,其布局形式的特点在于能够在较小的屏幕中显示多条信息,用户通过上下滑动的手势能获得大量的信息反馈。而列表也是一种非常容易理解的展示形式。

以我们最常用的微信和QQ为例,其“信息”页面都是采用的列表式布局,在采用这种布局形式的时候要注意列表舒适体验的最小高度是80px,最大的高度要视内容的多少而定。

继续举例,自如(列表高度110px)和唯品会(列表高度106px)的列表式布局。

卡片式布局

形式非常灵活。其特点在于,每张卡片的内容和形式都可以相互独立,互不干扰,所以可以在同一个页面中出现不同的卡片承载不同的内容。而由于每张卡片都是独立存在的,其信息量可以相对列表更加丰富。

在使用卡片式布局的时候要注意卡片本身一般是白色的,而卡片之间的间距颜色一般是浅灰色,当然不同产品风格颜色可能不一样,有些是浅灰色偏蓝等。

双栏卡片的布局形式,比较常见于以图片信息为主导的App。例如一些商城的商品陈列页面。这种形式与卡片式类似,但它能在一屏里显示更多的内容,至少4张卡片。同时,由于分开左右两栏的显示,用户可以更加方便地对比左右两栏卡片的内容。

04.界面图片设计比例

在UI设计中,对于图片的尺寸和比例没有严格的规范,设计师往往凭借经验和感觉设置一个看起来不错的尺寸,但事实上我们是有章可循的。运用科学的手段设置图片的尺寸,可以获得最优的方案,常见的图片尺寸有16:9、4:3、3:2、1:1和1:0.618(黄金比例)等。

这些比例不无根据,它们都和图片尺寸有关。16:9 是根据人体工程学的研究,发现人的两只眼睛的视野范围是一个长宽比例为16:9的长方形,4:3 是勾三股四弦五,在摄影中非常常见……。

05.建立统一风格的图标

在应用界面的设计中,功能图标不是单独的个体,通常是由许多不同的图标构成整个系列,它们贯穿于整个产品应用的所有页面并向用户传递信息。

一套APP图标应该具有相同的风格,包括造型规则、圆角大小,线框粗细,图形样式和个性细节等元素都应该具有统一的规范。

通过分析以上三组图标可以得出:他们具有统一的色彩,统一的圆角大小,统一的线框粗细,那综合起来也就是具有统一的风格,给用户高度统一的视觉体验。

06.APP版式设计规范

版式设计又叫做版面编辑,即在有限的版面空间里,将版面的构成要素如文字、图片、控件等根据特定的内容进行组合排列。一个优秀的排版要考虑到用户的阅读习惯和设计美感,在UI设计中版面设计的原则有哪些呢?

对齐

对齐是贯穿版式设计的最基础,最重要的原则之一,它能建立起一种整齐划一的外观,带给用户有序一致的浏览体验。

对称

对称是宇宙间的设计哲学,是对立统一规律的本质属性,呈现出一种和谐自然的美,在应用界面的设计中,引导页设计、注册登录输入框和按钮等无一不是对称的设计。

分组

物以类聚,人以群分。分组是将同类别的信息组合在一起,直观的呈现在用户的面前,这样的设计能够减少用户的认知负担,在移动端界面的设计中最常见的分组方式就是卡片,为用户选择提供专注而又明确的浏览体验。

07.界面文字设计规范

文字是APP中最核心的元素,是产品传达给用户的主要内容,所以说文字在APP的设计中是非常重要的,那么,文字的字体如何选择,字号如何设定,是否加粗,颜色如何设置?

在一款APP中字号范围一般在20-36之间(@2x),当然iOS 11中出现了大标题的设计,字号还是要根据产品属性酌情设定。另外需要注意的一点是所有的字号设置都必须为偶数,上下级内容字号极差关系为2-4号。

关于字体:在iOS 9推出之前设计师普遍采用华文黑体、谷歌思源、冬青等字体进行设计,iOS 9推出了苹果自己的字体——苹方!自此之后苹方字体被广泛应用于移动端设计中。

关于字体颜色和是否加粗:字体的颜色设置我们一般很少用纯黑色,一般用深灰色和浅灰色、细体和粗体(注意要用字体本身的字重,不能用PS的加粗功能)来区分重要信息和次要信息,进行信息层级的划分。

08.设计适配

iOS主流设备的分辨率分别是640x1136px(@2x)(iPhone SE)、750 x1334px(@2x)(iPhone 6s/7/8)、1242x2208px(@3x)(iPhone 6s/7/8 Plus)、1125x2436px(@3x)/750x1624px(@2x)(iPhone X)。

在设计设计中设计师需要设计一套基准设计图来达到适配多个分辨率的目的,我们可以选择中间尺寸750 x1334px作为基准,向下适配640x1136px,向上适配1242x2208px和750x1624px/1125x2436px。

750×1334向下适配640×1136

由于750x1334px和640x1136px两个尺寸的界面都是2倍的像素倍率,因此它们的切片大小是相同的,即系统图标、文字和高度都无需适配,需要适配的是宽度。

为了让大家了解适配的原则,我们以文字描述和图示的方式进行750x1334px到640x1136px的界面推导。

绘制一个750x1334px的设计图,这是最常见的首页设计图,从上至下分别是状态栏、导航栏、首焦图、主要入口、分割、列表。

下面开始进行适配,上面提到了由于750x1334px到640x1136px都是2倍的像素倍率,界面的图标、文字大小等都是相同的,所以我们不需要改变图像大小,只需将画布大小改成 640x1136px即可,然后再改变横向元素的间距以达到适配的目的。

首先打开750x1334px的设计稿,执行Command+Alt+C(改变画布大小的快捷键),鼠标左键单击“定位”的左上角的格子,设置宽高为640和1136,点击“确定”。

改变画布大小之后,设计稿的右边和下边都被裁切(上面左图中半透明蒙版覆盖区域),画布缩小成640x1136px。

上面左图裁切到右图适配完成,做了如下调整。

1)导航栏右边的图标向左移动保持和原来的右边距一致,标题居中。

2)首焦图高度除以1.17(750/640=1.17得到)后居中,宽度640px。

3)主要入口右边的图标向左移动保持和原来的右边距一致,各图标的间距等宽。

750×1334向上适配1242×2208

由于750x1334px界面是2倍的像素倍率,而1242x2208px是3倍的像素倍率,也就是说1242x2208px界面上所有的元素的尺寸都是750x1334px界面上元素的1.5倍,所以我们在进行适配的时候直接将界面的图像大小变为原来的1.5倍,然后调整画布大小为1242x2208px,最后调整界面图标和元素的横向间距的大小完成适配。

上面说了整体思路,下面我们来说说具体怎么适配。

首先对750x1334px的画布执行Command+Alt+I命令(调整图像大小),单位设置为百分比,宽高设置为150%,点击“确定”,调整之后的画布大小为1125x2001px。

紧接着对1.5倍之后的1125x2001px界面执行Command+Alt+C(调整画布大小),鼠标单击“定位”左上角的格子,调整宽高为1242和2208px,点击“确定”。

上面左图拓展画布到右图完成适配做了如下调整。

1)导航栏右边的图标向右移动保持和原来的右边距一致,标题居中。

2)首焦图的高度乘以1.65(1242/750=1.65得到)后居中,宽度1242px。

3)主要入口右边的图标向右移动和原来的右边距一致,各图标的间距等宽。

注:分割线仍是1px。

750×1334向上适配1125x2436px(@3x)

与苹果之前发布的iOS设备相比,iPhone X的像素分辨率发生了变化,为1125x2436px(@3x),在实际工作中为了方便向上和向下的适配,我们仍然可以选择熟悉的iPhone 7(750x1334px)的尺寸作为模版进行设计,只是高度增加了290px;设计尺寸为:750x1624px(@2x)。设计完成之后将设计稿的图像大小拓展1.5倍即可得到1125x2436px(@3x)尺寸的设计稿。

在适配的时候需要注意,状态栏由之前的40px增加到88px,标签底部预留68px用于放置主页指示器,如下图所示。

关于主页指示器的适配涉及到两种情况:底部出现标签栏、工具栏等操作设计时,需要将底色下延68px并填充原有颜色,这样的处理可以让底部设计更佳简洁舒适,没有功能操作时,页面底部不需要填充颜色,只需盖住主页指示器即可。

对于大多数采用瀑布流的页面来说,仅仅是屏幕高度上的变化,可以无视。但对于如:新手引导页、音乐播放器等需要单屏显示的界面就需要重新布局。

09.切图规范

当界面设计定稿之后,设计师需要对图标进行切片提供给开发工程师,通常我们只需要对icon进行切图即可,文字、线条和一些标准的几何形状是不需要切图的,例如搜索框只需要在标注中描述它的尺寸、圆角大小、背景色值、不透明度即可,开发工程师可以用代码实现这种效果。

输出切片

先将设计稿中的图标重新排列在一张新的画布中,保证同样尺寸的图标间距相同,这样做的好处是为图标建立一个控件库,有利于图标的整理。

给每一个图标建立好参考线之后,用PS自带的切片功能,沿着建立好的每个图标的参考线画框即可,注意最后要输出PNG格式的切片(PNG格式拥有更多的颜色和细节并且支持透明)。

在具体操作时首先要将画布背景色去掉,让画布变成透明,做好切片后执行“文件-存储为Web所用格式,在对话框中选择PNG格式,点击“存储”即可。

注:图中标签栏图标的底色块是为了保证统一的切片尺寸,可以根据色块建立参考线,具体切图时要将色块去掉。

切片命名

切片命名的通用规范是,界面_功能_状态.png。名称应使用英文命名,不要使用数字或者符号作为开头,使用下划线进行连接,例如一个首页处于正常状态下的按钮命名是 home_btn_nor@2x.png。其中界面首页是home、空间按钮是btn、状态正常是normal。为了命名的正确性,设计师需要先和合作的开发工程师进行沟通确认。

10.设计稿标注

当界面设计定稿之后,设计师需要对界面进行标注给开发工程师在还原界面时进行参考。借助一些专业的标注工具有利于我们提高工作效率,常用的标注工具有Mark Man或PX Cook。

在一份设计稿中需要标注的内容是文字的字号大小、粗细、颜色、不透明度;界面的背景颜色、不透明度;各个图标、列表、文字之间的间距。

界面标注的作用是给开发工程师提供参考,因此在标注之前需要和开发工程师进行沟通,了解他们的工作方式,标注完成之后宣讲你的注意事项,以更快捷高效的完成工作,并且最大限度的完成视觉高的还原。

总结

本文整理汇总了包括界面尺寸、控件间距、版式设计规范、文字设计规范、设计适配、标注、切图等等一些列的移动端UI设计规范,在此期间查阅了大量的资料,共耗时一周完成本文的编写,希望为刚刚从事UI设计的设计师们提供入门级别的帮助。

至于为什么只总结了iOS系统设计规范,而没有Android系统的设计规范,在这里说明一下,本来安卓系统设计规范也是要涵盖的,但通过查阅资料发现安卓设计规范介绍少之又少,并且标准不统一,借鉴意义不大,所以省略了这部分规范的编写。

原文链接:https://www.zcool.com.cn/article/ZNjQ0NjQw.html

WordPress问题汇集

1、wordpress安装主题报错Unable to locate WordPress Content directory

2、参考:让WordPress的摘要显示自定义排版格式

WordPress默认摘录的功能是在wp-includes/formatting.php这个文件里,我们要修改的只有主题functions.php文件,请把下面的代码加入到functions.php文件中

remove_filter('get_the_excerpt', 'wp_trim_excerpt');
add_filter('get_the_excerpt', 'improved_trim_excerpt');
function improved_trim_excerpt($text) {
        global $post;
        if ( '' == $text ) {
                $text = get_the_content('');
                $text = apply_filters('the_content', $text);
                $text = str_replace('\]\]\>', ']]>', $text);
                $text = preg_replace('@<script[^>]*?>.*?</script>@si', '', $text);
                $text = strip_tags($text, '<p>');
                $excerpt_length = 80;
                $words = explode(' ', $text, $excerpt_length + 1);
                if (count($words)> $excerpt_length) {
                        array_pop($words);
                        array_push($words, '[...]');
                        $text = implode(' ', $words);
                }
        }
        return $text;
}

3、 WordPress提示“在裁剪您的图像时发生了错误”的解决方法 问题:在WordPress中使用裁剪图片功能时,出现:”在裁剪您的图像时发生了错误。”或者”There has been an error cropping your image.” 原因:缺少PHP GD库。 CentOS: yum install php-gd 安装PHP-GD库后重启服务器应用即可使用~ ​​​​

4、修改wordpress中twentytwelve主题显示文章摘要,先在控制台-设置-阅读里,选择摘要,再在wp-content/themes/twentytwelve/content.php文件中找到is_search(),后面会有批注:// Only display Excerpts for Search,添加is_category() || is_archive() || is_home()判断条件,在这些情况下都显示摘要,只有查看文章时才全部显示。

修改后为:if ( is_search() || is_category() || is_archive() || is_home()) : // Only display Excerpts for Search category archive home

5、修改Foot显示居中,在控制台-外观-主题编辑器中,找到Footer.php,修改为:

6、手动更新wordpress:美国服务器太慢了!!在这里找最新的安装包,在服务器端使用:wget 下载地址下载安装包并解压,删除wp-content:rm -rf wordpress/wp-content
将wordpress文件夹更名为网站根目录名:cp -r wordpress wpSampleName
修改读写权限:chmod -R 777 wpSampleName
拷贝覆盖:cp -rf /hxxe/fxxxxqi/wpSampleName /var/wxx/hxxx
访问http://你的博客地址/wp-admin/upgrade.php手动更新

参考:linux下载文件命令
wordpress一键全站迁移和备份
WordPress 5.2手动更新详细教程
Centos7解压Zip文件
CentOS下cp直接覆盖命令的方法

7、更新下载失败。: cURL error 28: Operation timed out after 300000 milliseconds with 949869 out of 13920060 byte。原因:下载太慢,建议手动更新,见6。

8、删除默认评论:控制台-设置-讨论,默认文章设置里的前两项取消勾选,参考原文

Linux CentOS firewall指令集

1、firewalld的基本操作

启动: systemctl start firewalld
查看状态: systemctl status firewalld 
停止: systemctl disable firewalld
禁用: systemctl stop firewalld

2、使用firewalld

查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd--zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息:  firewall-cmd--get-active-zones
查看指定接口所属区域: firewall-cmd--get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
开启一个端口:firewall-cmd --zone=public --add-port=80/tcp --permanent   (--permanent永久生效,没有此参数重启后失效)
查看:firewall-cmd --zone=public --query-port=80/tcp
删除:firewall-cmd --zone=public --remove-port=80/tcp --permanent
查看firewall是否运行,下面两个命令都可以:
systemctl status firewalld.service
firewall-cmd --state
查看当前开了哪些端口,一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件:firewall-cmd --list-services
查看还有哪些服务可以打开:firewall-cmd --get-services
查看所有打开的端口: firewall-cmd --zone=public --list-ports
重新载入/更新防火墙规则: firewall-cmd --reload
指定端口:firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="5432" accept"
指定端口段:firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.2.0/24" port protocol="tcp" port="5432" accept"

参考:CentOS7为firewalld添加开放端口及相关操作
centos7 firewall指定IP与端口访问(常用)