搭建自己的邮箱服务器,hMailServer 使用教程

前言

假设你已经拥有了一台具有公网ip的服务器,以及域名

hMailServer 介绍

hMailServer 适用于 Windows 操作系统,它除了提供邮箱系统需要的所有基础功能之外,还内置了一些常用功能,比如:反垃圾邮件、反病毒邮件,而其他未内置的功能,则可以根据用户需要,自行去社区中寻找相应的插件来进行扩展

邮件协议介绍

在搭建邮箱系统之前,需要先了解一些前置知识,比如常见的邮件协议:SMTP、POP3、IMAP 等

SMTP

SMTP 即 Simple Mail Transfer Protocol,它用于将邮件投递到邮箱服务器,即邮件的发送,例[……]

Read more

IDEA下载gradle超时

一、确定需要的Gradle版本

学了六七年都学不明白英语?一个小时弄得明明白白

————轻松学英语第一步:建立英语思维

为什么大家学英语学得这么累,最后依然对英语糊糊涂涂?原因只有一个——就是我们的学习能力太差了!!我们的老师太笨了!!!

这篇文章主要是给大家讲英语的基本结构, 看了这篇文章,你们会突然就明白,英语怎么会如此简单!!

首先我们来看下面这两张地图(中国地图和英国地图):

例如,我们中国人一见面第一句话是——“你吃了吗。”

英国人一见面的第一句话是——“今天天气怎么样? what’s the weather like?

为什么中国人一见面就问:你吃了吗? 英国人一见面就问:天气怎么样?

咱们来看看语言是怎么来的[……]

Read more

CPU 执行程序的秘密,藏在了这 15 张图里

前言

代码写了那么多,你知道 a = 1 + 2 这条代码是怎么被 CPU 执行的吗?

软件用了那么多,你知道软件的 32 位和 64 位之间的区别吗?再来 32 位的操作系统可以运行在 64 位的电脑上吗?64 位的操作系统可以运行在 32 位的电脑上吗?如果不行,原因是什么?

CPU 看了那么多,我们都知道 CPU 通常分为 32 位和 64 位,你知道 64 位相比 32 位 CPU 的优势在哪吗?64 位 CPU 的计算性能一定比 32 位 CPU 高很多吗?

不知道也不用慌张,接下来就循序渐进的、一层一层的攻破这些问题[……]

Read more

编写您的第一个 Flutter App

这是创建您的第一个Flutter应用程序的指南。如果您熟悉面向对象和基本编程概念(如变量、循环和条件控制),则可以完成本教程,您无需要了解Dart或拥有移动开发的经验

你将会构建什么?

您将完成一个简单的移动应用程序,功能是:为一个创业公司生成建议的名称。用户可以选择和取消选择的名称、保存(收藏)喜欢的名称。该代码一次生成十个名称,当用户滚动时,会生成一新批名称。用户可以点击导航栏右边的列表图标,以打开到仅列出收藏名称的新页面。

这个 GIF 图展示了最终实现的效果

Animated GIF of the app that you will be building.

你会学到什么:

  • Flutter应用程序的基本结构.[……]

    Read more

Java集合详解–什么是List

简述

上章简单介绍了什么是集合,集合有哪几种种类。
在这章中我们主要介绍Collection的其中一种实现方式,List。

什么是List

在上一章,我们已经了解了List主要分为3类,ArrayList, LinkedList和Vector。
为了进一步清晰List的结构,我在这手工画了一张图,用于回顾下

AbstarctCollection在上一张Java集合详解–什么是集合已经有简单的介绍,它是Collection接口的部分实现

1.List接口

首先看下List的官方定义

[……]

Read more

单例模式的三种实现 以及各自的优缺点

单例模式:单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。

单例模式有三种:懒汉式单例,饿汉式单例,登记式单例。

1.懒汉式单例

优点:第一次调用才初始化,避免内存浪费。

缺点:必须加锁synchronized 才能保证单例,(如果两个线程同时调用getInstance方法,会chuxia)但加锁会影响效率。

2.饿汉式单例

优点:没有加锁,执行效率会提高。

缺点:类加载时就初始化,浪费内存。

3.登记式模式(holder)

内部类只有在外部[……]

Read more

设计模式的六大原则

概括:

原则

含义

具体方法

开闭原则
对扩展开放,对修改关闭
多使用抽象类和接口

里氏代换原则
基类可以被子类替换
使用抽象类继承,不使用具体类继承

依赖倒转原则
要依赖于抽象,不要依赖于具体
针对接口编程,不针对实现编程

接口隔离原则
使用多个隔离的接口,比使用单个接口好
建立最小的接口

迪米特法则
一个软件实体淫荡尽可能少地与其他实体发生相互作用
通过中间类建立联系

合成复用原则
尽量使用合成/聚合,而不是使用继承
尽量使用合成/聚合,而不[……]

Read more

八大免费SSL证书-给你的网站免费添加Https安全加密

SSL证书,用于加密HTTP协议,也就是HTTPS。随着淘宝百度网站纷纷实现全站Https加密访问,搜索引擎对于Https更加友好,加上互联网上越来越多的人重视隐私安全,站长们给网站添加SSL证书似乎成为了一种趋势。

给自己的网站添加SSL证书其实并不复杂,但是关键一点就是首先要拥有一个SSL证书。由于SSL证书价格不菲,很多个人站长会选择放弃使用Https。但是,自从开源、免费的Let’s Encrypt证书出现后,我觉得SSL也是我们草根站长可以玩的了。

如果你还在纠结要不要将自己的网站切换到Https,可以看看之前我的分析:我是如何[……]

Read more