刚去杭州面试的第二家公司,做笔试的时候的时候遇到的。最近几天在整理以前的笔记发现了。简单记录下。
互换两个变量的值
1
2
3 int a=10;
int b=12;
// 通过两个变量之间的运算输出结果 a = 12 b = 10
1 |
|
刚去杭州面试的第二家公司,做笔试的时候的时候遇到的。最近几天在整理以前的笔记发现了。简单记录下。
1
2
3 int a=10;
int b=12;
// 通过两个变量之间的运算输出结果 a = 12 b = 10
1 | @Test |
最近开始用mac来开发。记录下环境安装过程方便以后快速恢复熟悉的开发环境。
这里提前修改一下控制台前缀
1 | [dev mc]$ sudo vim /etc/bashrc |
同事推荐的软件
暂时用来写周报。这是一个神器,和linux 上的yum 类似的工具。
我之前在windows上都是使用notepad++。上App Store上没找到,该用这个了。
1 | # 这里并没有换行,复制的时候请注意。 |
1 | # 更新 |
maven-mvnd,可以读作 Maven Daemon,译作 Maven 守护版,旨在为 Maven 提供更快的构建速度,灵感借鉴了 Gradle 和 Takari(Maven 生命周期优化器)。
1 | # Windows |
python编写的mysql客户单工具
1 | brew install mycli |
本章内容阐述个人理解,以及使用方法。若有不正确的内容欢迎斧正。睡觉之前赶快记录下来免得有忘记了。
本章是整理知识内容,为强化知识长期更新。
以下部分超链接需要科学上网。
modbus是一种通讯协议,是Modicon公司1979年为使用可编程逻辑控制器(PLC)通讯而发表。Modbus是工业领域通讯协议的业界标准之一,目前也我国国家标准工业通讯协议中的重要成员之一。
Modbus采用主从(Master-Salve)通信模式,仅有主设备(Master)能对传输进行初始化,从设备(Slave)根据主设备的请求进行应答。 __在主从关系中,通信总是成对发生。一个设备必须发起请求,然后等待响应 - 并且发起设备(主设备)负责发起每次交互。 通常,主设备是人机界面(HMI)或监控和数据采集(SCADA)系统,从设备是传感器、可编程逻辑控制器(PLC)或可编程自动化控制器(PAC)。 这些请求和响应的内容以及发送这些消息的网络层由协议的不同层来定义__。
消息帧校验方式
LRC(纵向冗长检测)
CRC(循环冗长检测)
ModBus是OSI模型第七层上即__应用层__报文传输协议。
ModBus支持多工业设备、包括PLC
、DSC
、变频器
、智能仪表等都在应用。
ModBus支持多种电气接口,如RS-232
、RS-485
等,还可以在各种介质上传送,如双绞线、光纤、无线。
ModBus协议完全免费;帧格式
简单,紧凑。
ModBus对线缆的要求、长度、波特率,终端电阻,接地,连接器,通信状态的LED指示,都有电气标准。
ModBus数据可以分为两大类,分别为Coil和Register,每一种数据,根据读写方式的不同,又可细分为两种(只读,读写)。
Primary tabels | Object Type | Type Of | comments |
---|---|---|---|
Discretes Input 离线输入量 | Single bit | 只读 | IO系统提供这种类型的数据 |
Coils 线圈 | Single bit | 只写 | 通用应用程序改变这种类型的数据 |
Input Registers 输入寄存器 | 16-bit word | 只读 | IO系统提供这种类型的数据 |
Holding Registers 保持寄存器 | 16-bit word | 只写 | 通用应用程序改变这种类型的数据 |
本章是整理知识内容,为强化知识长期更新。
在MYSQL实际操作中,最大的操作就是查询,下面就关于子查询和链接做记录。
1 | SELECT * FROM table_1 AS t1 WHERE columns_1 = (SELECT columns_2 FROM table_2 AS t2); |
嵌套在查询内部,且必须始终出现在圆括号内
DISTINCT
、GROUP BY
、ORDER BY
、LIMIT
等函数。INSERT
、UPDATE
、SELECT
、DELETE
、SET
、DO
等操作。标量
、一行
、一列
,或者子查询。这里需要特别注意,并不是显示的才是子查询。
= , > , < , >= , <= , <> , != , <=>
ANY
(subquery)SOME
(subquery)ALL
(subquery)运算符\关键字 | ANY | SOME | ALL |
---|---|---|---|
> 、>= |
最大值 | 最小值 | 最大 |
< 、<= |
最大值 | 最大值 | 最小值 |
= |
任意值 | 任意值 | |
<> 、!= |
任意值 |
本章是整理知识内容,为强化知识长期更新。
C\S
结构,就是客户端和服务端。DataBase
数据库Database Management System
数据库管理系统Database System = DBMS + DB
数据库系统Database Administrator
数据库管理员row\record
(一条记录)。column\field
(一个字段)。SQL:Structured Query Language,结构化查询语言(数据以查询为主,99% 都是在进行查询操作),SQL是关系型数据库的操作指令,是一种约束,但不强制,类似与W3C,所以不同的关系型数据SQL语句可能会有一定的差异性。
Data Definition Language
数据定义语言,用来维护存储数据的结构(数据库、表),代表指令为create
、drop
和alter
等。Data Manipulation Language
,数据操作语言,用来对数据进行操作(表中的内容)代表指令为insert
、delete
和update
等,不过在 DML 内部又单独进行了一个分类,即 DQL(Data Query Language),数据查询语言,代表指令为select
。Data Control Language
,数据控制语言,主要是负责(用户)权限管理,代表指令为grant
和revoke
等。本章部分内容在Centos中实现,Centos7-MySql部署记录
RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。
AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。
RabbitMQ 是流行的开源消息队列系统,是 AMQP(Advanced Message Queuing Protocol 高级消息队列协议)的标准实现,用 erlang 语言开发。RabbitMQ 具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用。
RabbitMQ 基于erlang。需要先安装erlang环境。