当前位置: 首页 > 编程日记 > 正文

Linux学习之系统时间同步

一、系统时间的设置

在Linux中设置系统时间,可以用date命令:

1 //查看时间
2 [root@localhost ~]# date
3 2008年 12月 12日 星期五 14:44:12 CST
4 //修改时间
5 [root@localhost ~]# date --set "1/1/09 00:01" <== (月/日/年时:分:秒)
6 2009年 01月 01日 星期四 00:01:00 CST
7 //date 有几种时间格式可接受,这样也可以设置时间:
8 [root@localhost ~]# date 012501012009.30  <== 月日时分年.秒
9 2009年 01月 25日 星期日 01:01:30 CST

二.Linux硬件时间的设置

    硬件时间的设置,可以用hwclock或者clock命令。其中,clock和hwclock用法相近,只用一个就 行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系

1 //查看硬件时间 可以是用 hwclock ,hwclock --show 或者 hwclock -r
2 [root@localhost ~]# hwclock --show
3 2008年12月12日 星期五 06时52分07秒  -0.376932 seconds
4 //设置硬件时间
5 [root@localhost ~]# hwclock --set --date="1/25/09 00:00" <== 月/日/年时:分:秒
6 [root@localhost ~]# hwclock
7 2009年01月25日 星期日 00时00分06秒  -0.870868 seconds

三.系统时间和硬件时间的同步

    同步系统时间和硬件时间,可以使用hwclock命令

1 //以系统时间为基准,修改硬件时间
2 [root@localhost ~]# hwclock --systohc <== sys(系统时间)to(写到)hc(Hard Clock)
3 [root@localhost ~]# hwclock -w
4 //以硬件时间为基准,修改系统时间
5 [root@localhost ~]# hwclock --hctosys 
6 [root@localhost ~]# hwclock -s

四.不同机器之间的时间同步

    为了避免主机时间因为长期运作下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的。Linux系统下,一般使用ntp服务器 来同步不同机器的时间。一台机器,可以同时是ntp服务器和ntp客户机。在网络中,推荐使用像DNS服务器一样分层的时间服务器来同步时间。

    同步时间,可以使用ntpdate命令,也可以使用ntpd服务。

    使用ntpdate比较简单。格式如下:

1 [root@linux ~]# ntpdate [-nv] [NTP IP/hostname]
2 [root@linux ~]# ntpdate 192.168.0.2
3 [root@linux ~]# ntpdate time.ntp.org

但这样的同步,只是强制性的将系统时间设置为ntp服务器时间。如果cpu tick有问题,只是治标不治本。所以,一般配合cron命令,来进行定期同步设置。比如,在crontab中添加:

1 0 12 * * * * /usr/sbin/ntpdate 192.168.0.1

这样,会在每天的12点整,同步一次时间。ntp服务器为192.168.0.1。

    使用ntpd服务,要好于ntpdate加cron的组合。因为,ntpdate同步时间,会造成时间的跳跃,对一些依赖时间的程序和服务会造成影响。比 如sleep,timer等。而且,ntpd服务可以在修正时间的同时,修正cpu tick。理想的做法为,在开机的时候,使用ntpdate强制同步时间,在其他时候使用ntpd服务来同步时间。

    要注意的是,ntpd 有一个自我保护设置: 如果本机与上源时间相差太大, ntpd 不运行. 所以新设置的时间服务器一定要先 ntpdate 从上源取得时间初值, 然后启动 ntpd服务。ntpd服务 运行后, 先是每64秒与上源服务器同步一次, 根据每次同步时测得的误差值经复杂计算逐步调整自己的时间, 随着误差减小, 逐步增加同步的间隔. 每次跳动, 都会重复这个调整的过程.

五.ntpd服务的设置

    ntpd服务的相关设置文件如下:

1./etc/ntp.conf:这个是NTP daemon的主要设文件,也是 NTP 唯一的设定文件。

2./usr /share/zoneinfo/:在这个目录下的文件其实是规定了各主要时区的时间设定文件,例如北京地区的时区设定文件在 /usr/share/zoneinfo/Asia/Beijing 就是了。这个目录里面的文件与底下要谈的两个文件(clock 与localtime)是有关系的。

3./etc/sysconfig/clock:这个文件其实也不包含在NTP 的 daemon 当中,因为这个是 linux 的主要时区设定文件。每次开机后,Linux 会自动的读取这个文件来设定自己系统所默认要显示的时间。

4./etc /localtime:这个文件就是“本地端的时间配置文件”。刚刚那个clock 文件里面规定了使用的时间设置文件(ZONE) 为 /usr/share/zoneinfo/Asia/Beijing ,所以说,这就是本地端的时间了,此时, Linux系统就会将Beijing那个文件另存为一份 /etc/localtime文件,所以未来我们的时间显示就会以Beijing那个时间设定文件为准。

5. /etc/timezone:系统时区文件

    下面重点说说 /etc/ntp.conf文件的设置。在 NTP Server 的设定上面,其实最好不要对 Internet 无限制的开放,尽量仅提供您自己内部的 Client 端联机进行网络校时就好。此外, NTP Server 总也是需要网络上面较为准确的主机来自行更新自己的时间啊,所以在我们的 NTP Server 上面也要找一部最靠近自己的 Time Server 来进行自我校正。事实上, NTP 这个服务也是 Server/Client 的一种模式。

[root@linux ~]# vi /etc/ntp.conf 
# 1. 关于权限设定部分 
#   权限的设定主要以 restrict 这个参数来设定,主要的语法为: 
#   restrict IP mask netmask_IP parameter 
#   其中 IP 可以是软件地址,也可以是 defaultdefault 就类似 0.0.0.0 
#   至于 paramter 则有: 
#   ignore :关闭所有的 NTP 联机服务 
#   nomodify:表示 Client 端不能更改 Server 端的时间参数,不过,#   Client 端仍然可以透过 Server 端来进行网络校时。 
#   notrust :该 Client 除非通过认证,否则该 Client 来源将被视为不信任网域 
#   noquery :不提供 Client 端的时间查询#   notrap :不提供trap这个远程事件登入#  如果 paramter 完全没有设定,那就表示该 IP (或网域)“没有任何限制”restrict default nomodify notrap noquery # 关闭所有的 NTP 要求封包 
restrict 127.0.0.1    #这是允许本级查询
restrict 192.168.0.1 mask 255.255.255.0 nomodify 
#在192.168.0.1/24网段内的服务器就可以通过这台NTP Server进行时间同步了 
# 2. 上层主机的设定 
#  要设定上层主机主要以 server 这个参数来设定,语法为:
#  server [IP|HOST Name] [prefer]
#  Server 后面接的就是我们上层 Time Server 啰!而如果 Server 参数 
#  后面加上 perfer 的话,那表示我们的 NTP 主机主要以该部主机来作为 
#  时间校正的对应。另外,为了解决更新时间封包的传送延迟动作, 
#  所以可以使用 driftfile 来规定我们的主机 
#  在与 Time Server 沟通时所花费的时间,可以记录在 driftfile  
#  后面接的文件内,例如下面的范例中,我们的 NTP server 与  
#  cn.pool.ntp.org联机时所花费的时间会记录在 /etc/ntp/drift文件内 
server 0.pool.ntp.orgserver 1.pool.ntp.orgserver 2.pool.ntp.orgserver cn.pool.ntp.org prefer#其他设置值,以系统默认值即可server  127.127.1.0     # local clockfudge   127.127.1.0 stratum 10driftfile /var/lib/ntp/drift
broadcastdelay  0.008
keys /etc/ntp/keys

总结一下,restrict用来设置访问权限,server用来设置上层时间服务器,driftfile用来设置保存漂移时间的文件。

六.ntp服务的启动与观察

    在启动NTP服务前,先对提供服务的这台主机手动的校正一次时间(因为启动服务器,端口会被服务端占用,就不能手动同步时间了)

[root@linux ~] # ntpdate cn.pool.ntp.org

25 Apr 14:33:51 ntpdate[8310]: step time server 80.85.129.2 offset 6.655976 sec

然后,启动ntpd服务:

[root@linux ~] # service ntpd start

或 [root@linux ~] # /etc/init.d/ntpd start

查看端口:

[root@linux ~] # netstat -ln|grep 123

udp        0      0 192.168.228.153:123        0.0.0.0:*

udp        0      0 127.0.0.1:123               0.0.0.0:*

udp        0      0 0.0.0.0:123                  0.0.0.0:*

udp        0      0 :::123                       :::*

如何确认我们的NTP服务器已经更新了自己的时间呢?

[root@linux ~] # ntpstat

synchronized to NTP server(127.127.1.0) at stratum 11

time correct to within 950ms

polling server every 64 s

#改指令可列出NTP服务器是否与上层联机。由上述输出结果可知,时间校正约

#为950*10(-6)秒。且每隔64秒会主动更新时间。

常见的错误:

25 Apr 15:30:17 ntpdate[11520]: no server suitable for synchronization found

其实,这不是一个错误。而是由于每次重启NTP服务器之后大约要3-5分钟客户端才能与server建立正常的通讯连接。当此时用客户端连接服务端就会报这样的信息。一般等待几分钟就可以了。

[root@linux ~] # ntptrace –n 127.0.0.1

127.0.0.1:stratum 11, offset 0.000000,synch distance 0.950951

222.73.214.125:stratum 2,offset –0.000787,synch distance 0.108575

209.81.9.7:stratum 1,offset 0.000028,synch distance 0.00436,refid ‘GPS’

#这个指令可以列出目前NTP服务器(第一层)与上层NTP服务器(第二层)彼此之间的

#关系

[root@linux ~] # ntpq –p

指令“ntpq -p”可以列出目前我们的NTP与相关的上层NTP的状态,以上的几个字段的意义如下:

remote:即NTP主机的IP或主机名称。注意最左边的符号,如果由“+”则代表目前正在作用钟的上层NTP,如果是“*”则表示也有连上线,不过是作为次要联机的NTP主机。

refid:参考的上一层NTP主机的地址

st:即stratum阶层

when:几秒前曾做过时间同步更新的操作

poll:下次更新在几秒之后

reach:已经向上层NTP服务器要求更新的次数

delay:网络传输过程钟延迟的时间

offset:时间补偿的结果

jitter:Linux系统时间与BIOS硬件时间的差异时间

    最后提及一点,ntp服务,默认只会同步系统时间。如果想要让ntp同时同步硬件时间,可以设置/etc/sysconfig/ntpd 文件。

在/etc/sysconfig/ntpd文件中,添加 SYNC_HWCLOCK=yes 这样,就可以让硬件时间与系统时间一起同步。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------

七、linux配置时间服务器(ntp)

    在linux下,我们可以通过自带的NTP(Network Time Protocol)协议通过网络使自己的系统保持精确的时间。可用的公共时间服务器列表可以从下面的地址获取:
  http://ntp.isc.org/bin/view/Servers/NTPPoolServers
  NTP是用来使系统和一个精确的时间源保持时间同步的协议。建议大家在自己管理的网络中建立至少一台时间服务器来同步本地时间,这样可以使得在不同的系统上处理和收集日志和管理更加容易。
  介绍一下环境:179为本地时间服务器,其他服务器和179同步。179和网上时间服务器同步。
一、配置179时间服务器
  1、首先查询NTP软件版本
  rpm -qa|grep ntp
  ntp-4.1.2-4.EL3.1
  如果没有可以从linux安装盘上查找,安装此ntp包
  2、编辑配置文件
  vi /etc/ntp.conf
  首先定义服务器
  server pool.ntp.org
  restrict default nomodify notrap noquery
  restrict 192.168.0.0 mask 255.255.255.0 notrust nomodify notrap #从192.168.0.1-192.168.0.254的服务器都可以使用我们的NTP服务器来同步时间。
  注释掉以下一行
  #restrict default ignore
  3、启动NTP服务器
  #chkconfig ntpd on
  #/etc/init.d/ntpd start
  #/etc/init.d/ntpd stop
  #/etc/init.d/ntpd restart
  默认情况下,我们配置的NTP服务器不会去时间源那里同步时间,所以必须修改/etc/ntp/step-tickers文件,加入我们的时间源,这样每次通过/etc/init.d/ntpd 来启动服务的时候就会自动更新时间了
  检查服务器同步状态:
  ntpq -p
  ntptrace 192.168.0.179
  如果输出正确,则说明时间服务器成功。每次启动服务器,会自动同步时间。
  配置LINUX客户端
  在linux客户端上执行ntpdate ntp_server_ip 就可以根据时间服务器统一局域网的时间了,将上面的命令放到cron里每天早上3点定期执行,crontab –e 然后输入
  0 3 * * * /usr/sbin/ntpdate 192.168.0.179

为什么电脑要对时?因为电脑自己的钟不准。破电脑一天慢五分钟也不奇怪。

    对时需要对到什么精度?一般家用的电脑时钟误差一分钟完全可以接受。集群服务器配合工作一般需要所有的时钟同步在一秒之内。

和谁同步?一般是和世界各地的 NTP (Network Time Protocol)服务器同步的。米国标准时间由 NIST 发布,NIST 提供了一些服务器。现代 Windows 操作系统自动和 time.windows.com 对时。Linux 下面一般用 NTPPool 来自动选择服务器。中国国家授时中心 NTP 210.72.145.44 是中国权威时间。中国教育网有自己的 NTP 服务器网。如果是集群服务器,一般会在内网配置几个本地 NTP 服务器。

上面这么多 NTP 服务器有没有优劣呢?有的,但是对于一般的应用来说,看不出什么区别。 理论上说,NTP 服务器是分等级(Stratum)的,Stratum = 1 的 NTP 服务器是直接和世界标准时钟同步的,包括 GPS 时间、铯原子钟、某些手机网络等。NIST、中国国家授时中心和中国教育网的第一级时间服务器都是这个级别的。Stratum = 2 的 NTP 服务器是和 Stratum = 1 的服务器同步的,性能稍差,但精确度也在毫秒的量级,所以用起来没什么区别。再往下每同步一级,Stratum 就加一。

     Windows 2000 开始包含了自动时间同步的服务。Windows XP 上,打开时间设置就有网络对时的设置。默认是每星期和 time.windows.com 对时一次。这个一星期同步一次太长了,可以通过注册表调整,或者用 Wits 修改。

Linux 下面的 ntpd 就要灵活多啦。默认配置一般足够好用。下面在 Fedora 下举个例子。配置:

# grep "^server" /etc/ntp.conf
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server pool.ntp.org
server   127.127.1.0 # local clock

启动 ntpd 之后查看状态

# ntpq -pnremote            refid       st t when poll reach    delay    offset   jitter
==============================================================================64.25.87.54      128.118.25.5      2 u    10    64    17    79.194   -542.89    1.94264.72.116.51     129.7.1.66        2 u     9    64    17    51.569   -532.23    1.80364.72.116.50     129.7.1.66        2 u    11    64    17    51.417   -516.70    1.41764.72.116.45     129.7.1.66        2 u     7    64    17    51.586   -532.36    1.135
*127.127.1.0      LOCAL(0)         10 l     3    64    17     0.000     0.000    0.001

st 这列显示自动选的四个 NTP 服务器都是 Stratum = 2。最后一个是本地时钟。前四行的 offset 显示本地时钟和四个 NTP 服务器都有大概 500 毫秒的差距。ntpstat 显示目前只和本地时钟同步:

# ntpstat
synchronised to local net at stratum 11time correct to within 949 mspolling server every 64 s

过一会再看:

# ntpq -pnremote            refid       st t when poll reach    delay    offset   jitter
==============================================================================
+64.25.87.54      128.118.25.5      2 u    56    64   377    78.548   250.871   37.180
+64.72.116.51     129.7.1.66        2 u    58    64   377    51.551   268.538   36.817
*64.72.116.50     129.7.1.66        2 u    58    64   377    51.539   274.497   36.629
+64.72.116.45     129.7.1.66        2 u    49    64   377    51.485   271.750   37.841127.127.1.0      LOCAL(0)         10 l    44    64   377     0.000     0.000    0.001
# ntpstat
synchronised to NTP server (64.72.116.50) at stratum 3time correct to within 263 mspolling server every 64 s

本地时钟已经成功和外面的 NTP 服务器同步。ntpq 报告中第一列 * 表示目前选择的主同步服务器,标 + 的表示有可能被用来进一步提高同步精度的次要服务器。因为是和 Stratum = 2 的服务器同步,所以本地的 ntpd Stratum 就是 3 了。一个细节是 ntpq 对时钟是慢慢调整的,而不是直接跳好多秒,这样平滑的调整时间可以保证很多程序的流程平稳。不过,如果时钟误差过大,ntpd 可能会拒绝调整时间;或者有人也可能希望立刻调正时间,这样的话可以直接执行命令:ntpdate -b pool.ntp.org(需要停掉 ntpd 服务执行)。

在我另一个服务器上,配置了好多 NTP 服务器:

# grep "^server" /etc/ntp.conf
server time-a.nist.gov
server time-b.nist.gov
server time.nist.gov
server time.windows.com
server 0.pool.ntp.org
server 1.pool.ntp.org
server 2.pool.ntp.org
server pool.ntp.org
server   127.127.1.0 # local clock
# ntpq -premote            refid       st t when poll reach    delay    offset   jitter
==============================================================================
+time-a.nist.gov .ACTS.            1 u    61   128   377    76.113    -1.046    3.424
*time-b.nist.gov .ACTS.            1 u    65   128   377    81.063     0.398    1.892
-time.nist.gov    .ACTS.            1 u   251   128   356    38.911     1.353   30.226
-time.windows.co 18.26.4.105       2 u    45   128   267    31.218    13.180    6.039
-194.109.64.200   192.87.106.2      2 u   122   128   377   155.132     0.596   38.674
-a.mirror.fizzel 43.75.42.44       3 u    56   128   377   163.391   -11.756   13.006
-enfield.ikk.szt 195.111.99.186    2 u   118   128   377   188.326    -2.520   32.359
+ntp1.esat.net    .GPS.             1 u    59   128   377   161.103    -1.321    0.460LOCAL(0)         .LOCL.           10 l    48    64   377     0.000     0.000    0.001

标注 - 的是那些相对来说不太准的钟(offset 或 jitter 偏大),自动被剔除了。从 delay 这里可以看到,我这里和 NIST 几个钟网络延迟比较小(100 毫秒之内),一般这样的钟误差小一些。倒数第二个 pool.ntp.org 选择的是一个和 GPS 同步的钟,Stratum = 1,是一个比较准的钟了,只是网络延迟稍大。同时可以看到 time.windows.com 的 Stratum = 2,在一年以前,它曾经是 6。堂堂国际大公司微软也不花几百块钱买个 GPS 接收器建一个 Stratrum = 1 的时钟服务器造福千千万万的 windows 用户,真是不可理解。

最后,linux 下防火墙规则如果极严格的话可能会影响 ntpd 对时,打开 sport 123 即可(假设 OUTPUT 链全 ACCEPT):

转自:http://my.oschina.net/myaniu/blog/182959,多谢分享

转载于:https://www.cnblogs.com/sunfie/p/5107720.html

相关文章:

uniapp(一) 项目架构,封装

前言&#xff1a; 最近需要搭建一套基于uniapp 的代码模板&#xff0c;适应各平台的快速打包部署&#xff0c;为提高代码复用率&#xff0c;提升生产力&#xff0c;所以需要构建一套优雅的前端项目架构&#xff0c;下面分享记录一下我的封装。 代码封装我暂时分为三个层面&…

linux下安装sbt_如何在Linux上安装SBT

linux下安装sbt介绍 (Introduction) Hi! I am Sanjula, and in this guide I hope to teach you how to install sbt on Linux.嗨&#xff01; 我是Sanjula &#xff0c;我希望在本指南中教您如何在Linux上安装sbt。 Let’s get started!让我们开始吧&#xff01; 什么是sbt&…

switch...case结构

/**switch(要判断的数据){ case 值1: ...;break; case 值2: ...;break; case 值3: ...;break; default: ...;break;}*/ publuc class employee{ int id; // 员工id String name; // 员工名字 int age; // 员工年龄 String phone; // 员工号码 String address; // 员工地址 publ…

自动布局的 弊端 (后续)

自动布局 比 直接写 frame 会慢很多 具体以后再说吧转载于:https://www.cnblogs.com/Ionatan/p/5109211.html

uniapp H5 JSSDK封装使用

先看效果吧, 封装以后使用很方便,两行代码就能得到微信网页开发中的 jssdk 的 wx.config 执行了 wx.ready 还是 wx.error ,如果返回 true 就标识执行了ready , 可以调用JSSDK的 API 了,如下图示例代码: this.$common.Init.call(this); this.wxjssdkInti().then(rr =>…

课程表美化 css_通过这门11小时的免费课程学习HTML和CSS

课程表美化 cssHTML and CSS are essential skills to have for a career in web development. This eleven hour course from John Smilga of Coding Addict will teach HTML and CSS from the scratch. By the end of this course you will be creating your own projects.HT…

JavaScript创建对象的两种方法和遍历对象的属性

创建新对象有两种不同的方法&#xff1a; 定义并创建对象的实例使用函数来定义对象&#xff0c;然后创建新的对象实例1.定义并创建对象的实例 var personnew Object(); person.firstname"John"; person.lastname"Doe"; person.age50; person.eyecolor"…

微信公众号H5订阅消息开发 uniapp订阅消息

简单说一下流程&#xff1a; 在页面带参数跳转到 https://mp.weixin.qq.com/mp/subscribemsg &#xff0c;然后用户授权确认或者取消以后&#xff0c;会返回参数里面 redirect_url 的地址&#xff0c;并且带上openid 等相应参数&#xff0c;在前端的页面判断链接里面携带了相关…

GRUB密码设置

通过编辑GRUB启动参数可以轻松的进入单用户模式从而修改root密码&#xff0c;GRUB的密码设置可分为全局密码和菜单密码。 一&#xff0c;全局密码设置 在splashimage这个参数的下一行可以加上password密码&#xff0c;保存后重新启动计算机&#xff0c;再次登录到GRUB菜单页…

国内使用dropbox_通过创建费用管理器来学习使用Dropbox API

国内使用dropboxLearn how to build an expense organizer with the Dropbox API and JavaScript ES6! 了解如何使用Dropbox API和JavaScript ES6构建费用管理器&#xff01; Dropbox is a content and collaboration platform. Its API allows you to add Dropbox features t…

【洛谷 1345】 奶牛的电信

以前刷试炼场时根本不会的 现在 一眼最小割&#xff01; #include <cstdio> #include <cstring> #include <algorithm> #include <iostream> #define MAXN 1000000 #define INF 100000000 using namespace std; int n,m,s,t; int tot2,g[MAXN],num[MAX…

uniapp兼容H5和小程序订阅消息授权开发封装,使用方便

本文使用 uniapp 框架开发&#xff0c;因为H5的订阅消息和小程序的订阅消息的授权流程不一样&#xff0c;但是很多地方需要使用授权&#xff0c;所以我封装了一个兼容H5和小程序订阅消息授权的方法&#xff0c;使用比较方便&#xff0c;希望能够帮助到你&#xff0c;实测可用。…

dma工作时cpu工不工作_CPU如何工作?

dma工作时cpu工不工作CPU, also known as the microprocessor is the heart and/or brain of a computer. Lets Deep dive into the core of the computer to help us write computer programs efficiently.CPU&#xff0c;也称为微处理器&#xff0c;是计算机的心脏和/或大脑。…

pymsql学习笔记

pymsql学习笔记 1. 执行SQL #!/usr/bin/env python # -*- coding:utf-8 -*- import pymysql# 创建连接 conn pymysql.connect(host127.0.0.1, port3306, userroot, passwd123, dbt1) # 创建游标 cursor conn.cursor()# 执行update&#xff0c;并返回收影响行数, print(effect…

UITextView高度根据内容变化

1. 添加内容变化的通知响应事件&#xff1a;[[NSNotificationCenter defaultCenter] addObserver:self selector:selector(textChanged:) name: UITextViewTextDidChangeNotification object:nil]; 2 实现方法 - (void)textChanged:(NSNotification *)notification{ …

一:搭建一套免费的serverless网站

因为公司需求&#xff0c;需要快速搭建一个公司内部能够访问的资源查看管理的 PC网站&#xff0c;因为没有服务器&#xff0c;没有后端开发&#xff0c;又要快速上线使用&#xff0c;那么 serverless 就成了我的首选方案&#xff0c;下面从零开始搭建。 步骤一. 准备工作 1. …

monorepo_Monorepo开发的要点

monorepoThe word monorepo is a combination between “mono”, as in the Greek word mnos (in translation, alone) and an abbreviation of the word repository. A simple concept if taken verbatim: one lonely repository. The domain is software engineering so we’…

记一次 HTTP信息头管理器使用 的重要性

今天在测试中遇到了一个问题 使用JMeter时请求相关地址参数及方法都填写正确&#xff0c;但是相应数据返回始终不对&#xff0c;例如 查看取样器结果显示 200 正常&#xff0c;但响应数据不符合正常的结果。 经反复检查发现问题如下&#xff1a; 1&#xff09;没有添加HTTP信息…

手把手,教你怎样用命令行给apk签名

最近因为项目上线&#xff0c;要配合运营的童鞋们上传各渠道apk,其中&#xff0c;搜狗的渠道因为迁移问题&#xff0c;需要给一个他们提供的空的apk签名&#xff0c;然后用公司的签名文件进行签名 没办法&#xff0c;只能手动给apk签名&#xff0c;网上搜索一片均不太完善&…

uniapp富文本复制文字内容

设置样式即可 text,span,p {user-select: text;-webkit-user-select: text;}

创建react应用程序_通过创建食谱应用程序来学习在React中使用API

创建react应用程序Learn how to use external APIs with React and React Router in a full tutorial from Hamza Mirza. This tutorial shows how to create a recipe finder application in React.在Hamza Mirza的完整教程中&#xff0c;了解如何将外部API与React和React Rou…

dogse入门指南

dogse入门指南 Dogse作为游戏服务端引擎&#xff0c;目前只包含游戏服务端的核心部分&#xff0c;但这也是最核心的部分。它全部使用.net c#开发&#xff0c;充分兼顾了程序性能与代码编写的准确性与易用性&#xff0c;再加上以vs作为开发工具&#xff0c;极大的提升代码的编写…

Python maketrans() 方法

描述 Python maketrans() 方法用于给 translate() 方法创建字符映射转换表。 可以只接受一个参数&#xff0c;此时这个参数是个字典类型&#xff08;暂不研究这种情况&#xff09;。 对于接受两个参数的最简单的调用方式&#xff0c;第一个参数是字符串&#xff0c;表示需要转换…

二:serverless网站数据库操作

操作数据库API文档 第一篇&#xff0c;搭建一套免费的serverless网站 一&#xff0c;创建集合&#xff0c;进入控制台 登录腾讯云后台 打开云开发控制台 可以新建集合&#xff0c;新建集合后点击集合名称即可批量导入导出数据库集合的数据&#xff0c;还可以设置数据库访问的…

我希望支持JavaScript GraphQL实现的API

The GraphQL schema language is great! It is certainly the best way to communicate anything about a GraphQL service. No wonder all documentations now use it!GraphQL 模式语言很棒&#xff01; 当然&#xff0c;这是传达与GraphQL服务有关的任何东西的最佳方法。 难怪…

2_Selenium对象识别

1 准备工作 firebug和firepath我们使用xpath进行元素定位&#xff0c;所以需要安装firefox的两个插件&#xff0c;帮助编写xpath html知识在编写xpath的时候&#xff0c;需要查看html代码&#xff0c;所以需要理解html知识&#xff0c;可以到http://www.w3school.com.cn/去自学…

Mac OS Terminal Commands

转自 &#xff1a; http://www.renfei.org/blog/mac-os-x-terminal-101.html Mac OS X Terminal 101&#xff1a;终端使用初级教程 July 29, 2012 / 编程指南最近学习苹果认证的《Mac OS X Support Essentials》教程&#xff0c;看到 Command Line 一节有很多实用的知识&#x…

封装一个计时器,记录页面的停留时间

在页面加载时初始化计时器&#xff0c;页面结束时取值。 效果如图&#xff1a; 下面是uniapp的代码示例&#xff1a; <template><view class"aaaacc"><view class"aaa">{{time}}</view></view> </template><scri…

ess用户名和密码_陈ess洁如何从摄影系学生转变为成功的自由职业者和内容创作者(播客)...

ess用户名和密码This week, for our last podcast episode of 2019, I got to chat with freelancer and content creator Jessica Chan - known as CoderCoder on social media - about how she got into tech and started her educational website and YouTube channel.本周&…

安装wxpython——python程序GUI图形界面使用

一、本机使用python版本 1、本机使用python版本为3.6.2&#xff0c;windows系统。 二、安装步骤 1、开始-运行-cmd 2、python3.x 需要进入python安装位置下是pip目录&#xff0c;再执行pip 命令 其中&#xff1a;python F:\Users\Administrator\AppData\Local\Programs\Python\…