概念

MyBatis是什么

MyBatis是什么

1. 概述

1.1 MyBatis简介

MyBatis 是一个基于 Java 语言的持久层框架,它通过XML描述符或注解将对象与存储过程或SQL语句进行映射,并提供了普通SQL查询、存储过程和高级映射等操作方式,使得操作数据库变得非常方便。

MyBatis是Apache下的一个开源项目,其前身是iBATIS,它在2002年由Clinton Begin首次发布。2010年5月,该项目由iBATIS更名为MyBatis,同时推出了第一版MyBatis 3,在整个持久层框架市场上引起了很大的关注和广泛的应用。…

PostgreSQL数据库介绍,为什么使用PostgreSQL

什么是 PostgreSQL?

PostgreSQL 是一个功能强大的开源对象关系数据库系统,它使用并扩展了 SQL 语言,并结合了许多功能,可以安全地存储和扩展最复杂的数据工作负载。PostgreSQL 的起源可以追溯到 1986 年,作为加州大学伯克利分校POSTGRES项目的一部分,并且在核心平台上拥有超过 35 年的积极开发经验。

PostgreSQL 因其经过验证的架构、可靠性、数据完整性、强大的功能集、可扩展性以及软件背后的开源社区始终如一地提供高性能和创新解决方案的奉献精神而赢得了良好的声誉。PostgreSQL 可在所有主要操作系统上运行,自 2001 年以来一直符合ACID,并且具有强大的附加组件,例如流行的PostGIS地理空间数据库扩展器。毫不奇怪,PostgreSQL 已成为许多人和组织选择的开源关系数据库。

一篇文章告诉你公网,私网,内网,外网的区别

最近经常有很多小白朋友在后台问,公网、私网、内网、外网,这些的概念是啥样的,又该怎么去界定。

关于IP地址,确实没有太明确的区分,其实也不必太过咬文嚼字。

内网、外网就是一个参考系选择的结果。

毕竟对你而言是外网,其实是别人的内网,,各有各的定义,最多只能具体问题具体分析。

不过在一般情况下,还是可以区分的。…

electronjs入门教程 electronjs 介绍

 

electronjs使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用,可以一条命令生成三种客户端[OS X, Windows, Linux]上面运行的软件.//Windows仅支持Win7及以上版本

Node. js 的所有 内置模块 都在Electron中可用, 第三方 node 模块中也完全支持 (包括 原生模块 )。

Electron 还为开发原生桌面应用程序提供了一些额外的内置模块。 某些模块仅在主进程中可用, 有些仅在渲染进程 (web 页) 中可用, 而有些在这两个进程中都可以使用。

可以在渲染进程(web页面)直接调用 Node Api ,只需要…

如何使用 OpenSSL 创建自签名证书

在本指南中,我们提供了有关如何使用 OpenSSL 实用程序创建自签名证书的分步指南。您可以按照本指南使用命令创建自签名证书或使用 shell 脚本自动创建自签名证书。

Openssl 是一个创建自签名证书的便捷实用程序。您可以在所有操作系统上使用 OpenSSL,例如 Windows、MAC 和 Linux 版本。…

    

什么是自签名证书?以及如何创建它

自签名 SSL 证书是一种数字证书,未经公开信任的证书颁发机构 (CA) 签名。自签名证书被认为不同于传统的 CA 签名证书,因为它们是由负责与证书关联的网站或软件的公司或开发人员创建、颁发和签名的,而不是 CA。

在高层次上,这些自签名证书基于与 X.509 证书中使用的相同的加密私钥和公钥对体系结构。但是,这些数字证书没有受信任的第三方 CA 的验证,例如 WoTrus(wosign.com)。发行过程中缺乏独立验证会产生额外的风险,这就是自签名证书的问题。对于面向公众的网站和应用程序,它们被认为是不安全的。…

    

容器编排器的自我介绍

哈喽大家好,我是咸鱼

咸鱼在《一文带你了解容器技术的前世今生》有介绍过容器技术的由来以及Docker项目的发展

我们知道,Docker 及其他容器技术能够极大地简化应用程序的部署,做到了”开箱即用“

俗话说:”凡是具有两面性“。容器技术给我们带来便利的同时,一些问题也随之出现了

随着企业规模或者说业务规模的不断扩大,应用程序越来越多、而每个应用程序往往又由多个容器组成

例如想要实现一个简单的数据库 web 界面也可能需要为数据库服务器和应用程序运行单独的容器

于是容器的管理便成为了一个棘手的难题。工程师们为了解决这个问题,开发了一系列的容器编排器(container orchestrator),其中最有名的当属 kubernetes

容器编排器可以将一组容器作为一个基本单元去进行管理(例如 K8s 里的 pod),而且容器编排器可以在集群之间自动分配容器工作负载

那么今天,咸鱼将以自我介绍的形式来带大家了解三个容器编排器——Docker Compose、Swarm、Kubernetes

Docker Compose
 

大家好,我叫 Docker Compose ,我的爸爸是一个名叫 Docker 的公司

我的前身是一个叫 Fig 的项目,Fig 项目可是大有来头——因为它第一次提出了容器编排的概念

你只需要执行一条命令 fig up 就能够依次创建一系列容器,并且容器之间的关系及依赖性,都会自动帮你解决

socket 到底是个啥

(本篇文章文字较多,耐心看完,你会有不小的收获)

哈喽大家好,我是咸鱼

我相信大家在面试过程中或多或少都会被问到这样一个问题:你能解释一下什么是 socket 吗?

我记得我当初的回答很是浅显:socket 也叫套接字,用来负责不同主机程序之间的网络通信连接,socket 的表现方式由四元组(ip地址:端口)组成

那么今天,咸鱼将跟大家打开 socket 的神秘大门,不但要搞清楚 socket 的概念,最好还能够了解它的底层实现

socket 到底是个啥

我们首先查看一下 socket 的翻译

socket 到底是个啥

我们看到,socket 可以翻译成插座、插头

 

那现在请想象这么一个场景:给手机充电时,你将充电插头插入电源插座里面,是不是意味着插座与充电插头连接起来了

在计算机世界中,socket 翻译成套接字,通过 socket 我们可以与某台服务器进行连接,而建立连接的过程,你可以脑补成将充电插头插进插座的过程

socket 到底是个啥

socket 到底是个啥

 

socket 使用场景

 

假设我们想要将数据从 A 电脑的某个进程传送到 B 电脑的某个进程(比如咸鱼用微信发信息给冰冰)

socket 到底是个啥

 

那么在与对方聊天的过程中,其实就是这两台电脑中的微信进程相互传输数据的过程

在这个过程中,两台电脑各自调用 socket 方法,然后会得到一个