![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
程序人生
文章平均质量分 72
睿江云计算
这个作者很懒,什么都没留下…
展开
-
Ubuntu记录用户IP访问操作信息工具
1. 用脚本时刻记录用户IP访问操作信息工具,用shell脚本去记录2. 每隔一天存放用户信息,记录操作时间,固定地方存放脚本如下:在服务器环境变量中加入如下代码:vi /etc/profile#!/bin/bashbasedir="/data/log/history/";if [ ! -d /data/log/history ]thenmkdir /data/log/historyfidatedir=$(date +%Y年%m月%d日);if [ -d “basedirbasedi原创 2021-07-09 14:08:47 · 891 阅读 · 0 评论 -
webrtc系列之-像老鼠一样打洞
众所周知,本光头刚涉猎音视频不久,所以很多东西都是边学边做的,有说得不对的地方,请各位多包涵。说穿透之前,我们首先需要明白关于WEBRTC的一些概念,WEBRTC它是一个支持在browser实现实时音视频通信的一组技术框架,它是一组标准协议,它为开发者,用户提供了视频通信的核心技术,包括采集,编解码,网络传输,渲染等功能,并且是跨平台的。webrtc是基于P2P的,即点对点通信,与传统的方式有什么不同呢?(1) 传统的方式以服务器为中介(2) P2P的连接在数据通道形成的时候,中间是不经过服务器端的原创 2021-07-09 14:08:16 · 446 阅读 · 0 评论 -
OPENVIDU实现同一用户同时发布多个流媒体
1.前言OPENVIDU这个库暂时是不支持在同一个会议室里面,同一个用户同时发布多个媒体流的。但在实际工作中有这种需要,比如用户A既要发布摄像机媒体流,同时也要发布屏幕共享媒体流。下面介绍一种简单的方法去处理。2. 思路分析同时发布多个媒体流时,产生的报错信息如下:根据分析可知Endpoint already negotiated,当第一次发布媒体流时,媒体通道的端点已经使用中了,所以第二次发布媒体流时,无法使用该端点。既然这样,解决方案就是发布2个媒体流时就模拟2个用户,分别使用不同的端点去建立原创 2021-07-09 14:07:36 · 507 阅读 · 0 评论 -
如何使用Nginx-rtmp搭建简易的HLS直播系统
在网上也有一些关于使用Nginx-rtmp来搭建直播系统的教程,可是都是使用rtmp协议,然而rtmp在网页端只能通过Flash player插件进行播放,因为现在的浏览器已经陆陆续续不支持Flash player插件,所以使用rtmp协议做直播是不支持网页端播放。然而Nginx-rtmp不止支持rtmp协议,而且还支持hls协议,hls协议对网页播放非常友好,今天我就带大家学习一下使用Nginx-rtmp搭建简易的hls直播系统。专业术语rtmp协议:RTMP是Real Time Messaging原创 2021-07-09 14:07:04 · 931 阅读 · 3 评论 -
python实现数据库主从状态监控
背景想要监控两台主机的主从状态,并且不属于商业业务,不需要上监控系统,那就只需要用个小小脚本监控就好啦。一、思路1.登陆数据库2.获取主从状态3.判断此时状态是否健康4.若健康则退出程序,若不健康则发出报警二、实现mon_MasterSlave_status.py(主监控脚本)'''1.使用前请修改email_dididi配置2.使用前请修改wechat_dididi配置3.使用前请修改sqllist'''import datetimeimport pymysqlfrom原创 2021-07-08 16:29:48 · 289 阅读 · 0 评论 -
简单分析实现运维利器---批量操作bashshell
背景为了进一步完善自己写的小运维系统,今天就继续来补充一个批量操作bashshell,并记录操作用于审计!一、思路实现批量bashshell操作思路其实挺简单,同样是用到paramiko库,如果只写小脚本实现的可以参考我的另一篇文章Python搞定繁琐运维之批量执行Linux命令,如果运用在web应用上,则需要websocket的帮助。具体思路:.打开websocket通道2.打开ssh通道3.执行shell4.反馈执行结果.5.保存操作记录这个流程在Django运维系统基础功能之—web远程原创 2021-07-08 16:13:38 · 241 阅读 · 0 评论 -
《我与Windows Server 2008R2那点事儿》之域控账户故障事件
原文再续,书接上一回,上文我们已经介绍了Windows Server 2008R2域服务器上的文件管控报障方面的排查,下面讲解域控账号引起的报障背景计算机普通用户是本机建立的用户帐户,而域账户是域服务器上由管理员分配给你的帐户。(当你是域管理员时,可以自行设置。)计算机普通用户是本机登陆,不能访问域上的资源。域帐户受域的权限管理,可以访问域和本机上的资源;域帐户可以在域内任何一台电脑上登录,普通帐户就不行。用户报障事件-域控账户报错2021年1月x日,客户报障并给我发来了这张图,根据该图关键信原创 2021-07-08 15:47:15 · 324 阅读 · 0 评论 -
常用动态路由协议之IS-IS
根据上篇文章,我们认识了动态路由的其中一种RIP协议,这次我们来认识下动态路由协议的第二种IS-IS。IS-IS(中间系统到中间系统)IS-IS工作于2.5层(位于数据链路层与网络层之间),同时支持OSI CLNS网络和TCP/IP网络。IS-IS特点IS-IS支持网络层的CLNP网络、IP网络。工作在数据链路层。IS-IS的路由计算过程邻居关系建立主要是通过HELLO包交互并协商各种参数。一、IS-IS邻居关系建立的要素(1)同一层只要路由器或接口下的层次要匹配【只要层次不匹配上,无论原创 2021-07-08 15:43:19 · 712 阅读 · 0 评论 -
在云服务器上搭建Python开发环境
概述在实际的开发工作或上线环境中,由于Python的版本和包库版本比较多,项目的协同开发会比较杂乱,一般我们都会要求对服务器的Python环境进行隔离,本文将带大家搭建一个Python虚拟环境和基于网页的用于交互计算的应用程序Jupyter Notebook。一、创建普通用户# 创建一个jupyter用户adduser jupyter# 添加sudo权限echo 'jupyter ALL=(ALL) NOPASSWD: ALL' >>/etc/sudoers# 切换原创 2021-07-08 14:55:24 · 884 阅读 · 0 评论 -
基于Python3接口自动化测试开发相关常用方法
前言在基于Python而做的接口自动化测试及web平台开发相关工作,会出现不少重复使用到的功能,如:计费的小数点后两位(不进行四舍五入)、字典剔除、数组合并、字典转数组等,本文收集了一些常用方法。例子1. 判定重复元素使用 set() 函数来检查列表是不是存在重复元素,它会移除所有重复元素。def all_unique(lst): return len(lst) == len(set(lst))if __name__ == "__main__": x = [1, 1, 2, 1, 2原创 2021-07-08 14:49:46 · 231 阅读 · 0 评论 -
K8S结合Jenkins实现持续集成的动态配置详情分享
前言:Kubernetes,简称K8s,相信大家都不会陌生。这是一个开源的,用于管理云平台中多个主机上的容器化的应用。Jenkins,是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。在程序员日常的开发当中,使用着各种不同的编程语言,流程中少不了开发、测试、打包、发布等等的步骤,这其中的部分环节,是重复且必须的工作。所以慢慢地引入了持续集成的概念,从而减轻开发人员,运维人员的操作和时间成本,更好地服务好我们的程原创 2021-07-08 11:35:51 · 748 阅读 · 0 评论 -
uniapp聊天页nvue开发踩坑记录
由于前段时间开发出来的vue版本的聊天页,性能、用户体验等方面十分不尽人意,故开启了新的征途,nvue版本聊天页的开发。痛点一、进入页面保持在最底部这次重构nvue版本的聊天页,使用了标新立异的渲染方式。众所周知,前端渲染页面都是由上而下渲染的,那么如果需要进入页面的时候,便保持在页面的最底部,就需要等待页面渲染完毕后跳转至最底部。这样的渲染方式就会导致在进入页面时,用户能很明显的感受到页面抖动了一下(可能多次)。所以此次重构,博主选择将整个页面旋转180度,原本的最顶部,变成了页面的最底部,进入页面原创 2021-07-08 11:23:19 · 690 阅读 · 2 评论 -
如何使用 Linux Live CD从 Ext3文件系统恢复文件
前言对于 Linux 用户都会有不小心删除了磁盘上文件情况发生,如果不小心执行了rm -rf .立即删除当前目录中的所有文件和文件夹这样的命令还能再恢复吗?本文就教你使用 Ubuntu 系统从 EXT3分区恢复文件的步骤。准备发生删除了错误的文件后,首先要做的就是卸载文件系统,或者以只读方式挂载。如果文件在您的根分区上,您应该立即关闭您的系统,并启动一张 live cd。这对于防止其他进程覆盖您的文件非常重要。即使您没有明确覆盖文件,其他系统进程也可以写入文件系统并覆盖您的文件。本文将使用一个只有一原创 2021-07-08 11:09:04 · 201 阅读 · 0 评论 -
如何使用Vscode结合docker进行开发
前言使用 Docker 与 VS Code 可以优化整个本地开发环境,加速项目进度过程。在所有环境中使用相同的基础映像,为所有开发人员提供相同的编辑器工具,可以更容易实现标准。大型项目的团队首先必须确保安装依赖、内核版本这些开发环境是统一的。为了解决开发环境一致性的问题,常规传统的办法就是制定开发人员遵循制定指南,但是尽管如此实际开发过程还是会遇到各种障碍。设置环境的常规方法如下图所示:另一种解决方案是使用所有必需的库和依赖项预先配置的开发环境,开发人员可以在容器中分拆这些库和依赖项。然后,开发人原创 2021-07-08 10:56:47 · 2580 阅读 · 0 评论 -
使用JAVA调用KURENTO录制功能
1. 前言在KURNTO中,实现了音视频录制功能。下面我们来详细的了解一下JAVA如何调用录制功能的实现。2. 思路2.1 部署kurento媒体服务器。启动成功默认监听8888,交互方式为webSocket。2.2 创建一个由WebRtcEndpoint 和RecorderEndpoint组成的媒体管道。3. 备注3.1. kurento默认支持录制属性{WEBM, MKV, MP4, WEBM_VIDEO_ONLY, WEBM_AUDIO_ONLY, MKV_VIDEO_ONLY,原创 2021-06-04 11:56:01 · 424 阅读 · 0 评论 -
Electron安装/打包错误的问题总结
什么是Electron简单的说Electron就是一个能让你使用 JavaScript, HTML 和 CSS 来创建桌面应用程序的框架。 而这些应用程序可以打包后在 macOS、Windows 和 Linux 上直接运行使用。非常适合前端来做桌面应用开发。一、Electron安装电脑装上node.js之后安装electron进入到electron项目路径在终端输入以下命令:npm install --registry https://registry.npm.taobao.org原创 2021-06-04 11:50:08 · 1791 阅读 · 1 评论 -
Ionic使用常用插件时遇到的坑与解决方法
一、 什么是IonicIonic 是一个强大的 HTML5 应用程序开发框架(HTML5 Hybrid Mobile App Framework )。 可以帮助您使用 Web 技术,比如 HTML、CSS 和 Javascript 构建接近原生体验的移动应用程序。它是基于Cordova框架,利用Cordova实现应用的手机功能调用、调试与发布。简单的话就是可以使用一套代码,利用Ionic可以生成安卓、IOS和网页端应用。二、 使用插件时遇到的坑与解决方法在开发Ionic应用时,因为程序本身是不具备调原创 2021-06-04 11:11:57 · 406 阅读 · 0 评论 -
非真实网络的视频传输实战(一)
本光头在N久之前的一门教学中说到,WEBRTC的原理,不知道同学们有没有看过那一篇,如果没有的话那就先去看看那篇课程,或者大家可以搜索一下webrtc的相关通信原理再来看本篇文章。本篇会介绍端对端连接的基本流程,也就是peer 2 peer,这次为演示方便,就不准备使用真实的服务器进行介绍(毕竟服务器带宽也不便宜呀)。也就是说本篇不涉及到跨网络的应用,而是在同一个页面里面,在其中一个video标签里头展示我们采集到的音频,视频流,之后创建两个peerConnection,然后将这个媒体流数据加入到其中一个原创 2021-06-04 11:07:06 · 239 阅读 · 0 评论 -
通往高级JAVA开发的必经之路—JVM(二)
前言:上一篇讲完了JVM的类加载机制,运行时数据区以及版本7与8之间的一些区别。这一篇主要讲讲JDK8的默认的垃圾回收机制(GC)。开始之前先复习一下JVM的运行时数据区:垃圾回收(GC)概述:在堆内存中存放着很多new出来的对象,这些对象有些可能非常重要,会一直存在直到系统停止,有些可能用完一次后就不会再用了,朝生夕灭。那么如何合理的分配内存,清理无用的对象。就是垃圾回收机制的作用了。判断是否无用对象:堆内存中存放着那么多的对象,JVM是如何识别对象是否有用的?这里就涉及到了JVM的垃圾判原创 2021-06-04 10:43:27 · 149 阅读 · 1 评论 -
ansible进行ceph-rgw部署
用户管理用户创建执行下面的命令新建一个用户 (S3 接口):radosgw-admin user create —uid={username} —display-name=”{display-name}” [—email={email}]实例如下:radosgw-admin user create —uid=johndoe —display-name=”John Doe” —email=john@example.com获取用户信息要获取一个用户的信息,你必须使用 user info 子命令并且原创 2021-06-04 10:02:17 · 372 阅读 · 0 评论 -
几个思路教你制定性能测试方案
越来越多人注重软件质量,性能测试也进入很多人的眼前,性能测试的工具大家都知道,常见的JMeter、locust等,今天说一下性能测试方案。测试目的从目标出发,可以把性能测试分为几类:1.测试性能参数的情况,帮助设计人员作出决策。2.检测性能弱点,有针对性地增强硬件配置。3.进行测试,监控产品进程或方法函数等影响性能的情况,调优软件性能。4.进行高压测试,查看产品在高并发负载、单次大容量负载下是否有问题。5.制定好性能指标,持续运行一定时间,验证系统在预设生产场景时的稳定性和可靠性。6.确保产原创 2021-05-08 10:03:53 · 574 阅读 · 0 评论 -
主流Webrtc流媒体服务器之Kurento Media Server
一、 什么是Kurento Media ServerKurento Media Server(KMS)是一个多媒体服务器软件包,可用于为WebRTC平台开发高级视频应用程序。Kurento是一个底层平台,可创建WebRTC应用程序,而且负责管理STUN / TURN服务器,网络,可伸缩性等。1.1. Kurento Media Server的特点1.1.1. 模块化管道Kurento提供了WebRTC和RTP发送器和接收器、音视频混合器、媒体录制等构建模块。这些媒体元素是具有特定媒体功能的独立对象原创 2021-05-07 18:23:26 · 1039 阅读 · 0 评论 -
如何在CentOS 7 安装看板软件TaskBoard
一、软件介绍TaskBoard是一款免费且开源的软件,灵感来源于看板面板,用于持续跟踪需要完成的事情进展。看板事实上是一种工作流程和项目组织的可视化技术,尤其是对于软件开发行业,它提供了一项可视化进度管理系统来帮助如何构建产品。正如上图所示,这个软件可以很容易直观地跟踪项目的发展。本教程将为您说明如何在CentOS7上安装并且使用TaskBoard来进行项目跟踪。TaskBoard特性:免费、开源(MIT许可证)和自托管。易于安装、定制。不限制项目数量。自定义定制板内的列和按用户展开/折叠原创 2021-05-07 18:13:49 · 267 阅读 · 0 评论 -
简单介绍一下SDP规范
在现实世界中,我们知道寄快递,你首先知道对方和标识发送方的地址,姓名,联系方式等,这些快递才能寄出去,那么在webrtc的世界中,双方或者 多方通信是怎么联系的呢?就是通过SDP这样的一个东西,他里面包含着各种各样的丰富的信息。你要通信你首先得产生个SDP,就像你要泡妞,最好就是先知道人家女孩的微信一样。首先我们得知道SDP是个啥玩意?他的英文名称就叫做session description protocol,说点人话就是叫做会议描述格式,是用来描述流媒体初始化参数的格式,说白了也就是个信令,就好比你寄个原创 2021-05-07 18:03:12 · 467 阅读 · 0 评论 -
GStreamer中生成RTP/SRTP流
1.前言kurento中是使用GStreamer来控制流媒体的,在GStreamer多媒体库中,利用gst-launch工具生成RTP/SRTP流,可供RTP接收器使用。2. 步骤2.1. 安装软件包2.2. 启动调试日志2.3. RTP发送PEER_V :指代的是建立管道时使用到的端口PEER_IP :指代的时建立管道时使用到的IP地址SELF_PATH:测试视频地址2.4. RTP接收2.5. SRTP发送2.6 .SRTP接收3.结束语关于Gstream多媒体库生原创 2021-05-07 17:57:06 · 594 阅读 · 1 评论 -
K3S集群外置RDS云数据库
最近有个项目使用了容器,但是由于机器配置的限制,以及项目比较小型(其实是因为穷)经过调研讨论我们选择使用K3S集群,但根据官方的文档一个高可用的K3S需要外置数据库,所以我们选择使用RDS云数据库。这里可能会有小伙伴问了,为什么不自己搭建一个数据库集群。答案当然是因为懒…认真脸.jpg主要还是RDS太好用了!!!!自动备份完善的数据自动备份机制,指定数据库,表备份。时间还可以自己选择。安全稳定专人专事,这么重要的外置数据库交给专业的DBA进行管理。专门的订制的架构,报障数据完整。还有随时可以原创 2021-05-07 17:44:06 · 159 阅读 · 0 评论 -
云盘上使用aws_s3_sdk for php
aws s3 全名是 Simple Storage Service,是对象存储服务(oss),对象存储服务作为网盘的优点这里就不细说了,其提供的统一接口sdk几乎涵盖了所有语言。除了通用性以外,其以上传下载为核心的接口几乎可以满足所有的业务需求。本人在几年的工作中对接过不同sdk的接口,可以说aws s3的接口,只有你想不到,没有他做不到,虽然前提是你能从他那天书一样的接口文档中找到你想要的内容。下文是记录下对接过程中s3几个比较重要的接口,对象存储是私有化部署,下文代码是以php为开发语言(哪个开发语言不原创 2021-05-07 17:36:30 · 359 阅读 · 1 评论 -
简单介绍一下什么是iostat
前言:当Linux系统出现性能问题时,我们往往需要借助一些工具初步定位问题,所谓工欲善其事必先利其器,iostat就是这么一把利器。借助iostat,我们能快速定位性能问题出自于CPU还是块设备,从而进一步分析问题根源,接下来就是学习如何使用iostat。iostat介绍一款Linux下的io性能监控软件,用于统计CPU使用情况和块设备I/O情况,统计时间为上次执行到目前。默认的输出如下所示:默认输出有三大部分:1.系统信息:内核版本、当前日期、CPU架构、CPU核数目;2.CPU使用统计信息:原创 2021-05-07 17:16:24 · 236 阅读 · 0 评论 -
关于ssd存储原理的介绍
众所周知SSD的读写速度远比hdd磁盘要快,理解ssd的工作原理使我们开发处高效储存方案。linux 相关指令fstrim --fstab --verbose ## 回收(discard)文件系统上对应磁盘未使用的块blkdiscard /dev/nvme1n1 ## 回收并擦除(discard)整个SSD块设备wipefs -a /dev/nvme1n1 ## 擦除(erase)文件系统的签名fstrimfstrim命令实际可以视为手动对SSD磁盘下发TRIM指令。使用-v参数可以直接原创 2021-05-07 17:01:09 · 2122 阅读 · 0 评论 -
关于流媒体的简介及技术梳理
理解什么是流媒体一种具备边传边播特点的多媒体,核心为流式传输技术,也被称为新的媒体传送方式。不必等到把媒体全部下载完毕,只需要将视音频文件经过压缩处理, 放在媒体服务器上, 在网络中使用流式传输技术分段传送,大概几秒的延时就可以获取到媒体服务器推送的视频数据。流媒体的出现节省了下载时间和存储空间, 使延时大大减少,极大地方便了人们的工作和生活。示意图: 举个例子:视频直播的应用,某用户手机下载视频直播软件在推流端进行拍摄视频,利用推流协议然后在网上进行发布进入流媒体...原创 2021-04-06 09:14:15 · 526 阅读 · 0 评论 -
安全测试系列之弱网测试
APP弱网测试用户在使用APP的过程中,网络条件比较复杂,如WiFi,4G,3G,2G;并且,当前有三大运营商,所提供的网络制式不太相同。同时,用户使用的场景也各不相同,比如室内,户外,电梯或者停车场等。因为不做任何处理的话很可能会崩溃闪退,很影响用户的使用。所以对客户端要求就比较高了,需要做容错处理,比如异常提示,超时处理,重连机制,以及缓存机制。弱网测试作为健壮性测试的重要部分,对于移动端的测试来说必不可少。主要包含以下几个方面。弱网功能测试这一部分主要是在各种非wifi网络..原创 2021-04-06 09:13:36 · 414 阅读 · 0 评论 -
流媒体技术之ICE工作原理
一、 什么是ICEICE是Interactive Connectivity Establishment的缩写,是提供客户端之间的打洞能力的武器,通过ICE检测后,客户端之间可能存在多个通信链路,由ICE选择出最高效的链路。通俗点说,需要通信的两个客户端需要只少通过一次交互才能建立连接,它不像一般的客户端与服务端这间的通信,通过HTTP或SOCKET连接之后就可建立连接。二、 ICE关系图 三、 ICE candidate每个candidate其实就是一个地址候选者地...原创 2021-04-06 09:12:42 · 706 阅读 · 0 评论 -
OPENVIDU实现网络质量检测统计
1.前言在WebRTC中,我们需要对当前的音视频情况进行监控,便于对音视频质量有一个了解,同时可以用来分析定位音视频卡顿模糊等问题。WebRTC提供了一个标准的解决方案:标准详情,基于此标准Kurento也提供了一套实现方案,接下来就来具体介绍一下。2. 序列图依照上述时序图openvidu这块步骤分为2步:第一步创建媒体通道时开启WEBRTC统计信息:pipeline.setLatencyStats(true);第二步端点调用getStats方法并处理返回Map类..原创 2021-04-06 09:14:38 · 360 阅读 · 0 评论 -
webrtc:信令服务器的另一种实现方式-无需掌握全部的socket.io
我们知道,基于WEBRTC实现的多对多实时音视频互动通信就必须需要搭建信令服务器作为信令转发操作。那么我首先了解一下,什么是webrtc信令服务器?在webrtc的规范中,其实是没有将信令服务这一块纳入到整个规范当中的。更多的是规范客户端所有的过程。为什么没有纳入到规范中,这是因为各个公司的业务模型都是不一样的。很难将每个公司的信令都并成一套规范。所以这样,还不如让他们自己去定义。只要是我必须的信息能交换,其他的业务,你自己去定义,这样就比较灵活,各个公司就更容易去接受,这其实是对webrtc整个的推广原创 2021-04-02 14:40:17 · 492 阅读 · 0 评论 -
如何使用自定义镜像快速配置机器环境
之前公司的前端项目部署的那块工作大部分都是由我来负责的,由于最近多了一条产品线,需要新的机器去部署它的运行环境。因为涉及到打包之类的,需要安装部署很多内容,比较花费时间,正在我难为之时朋友提醒我云服务器的提供商有提供自定义镜像的话能轻松的给我解决这个问题。幸亏,我之前买的是睿江云的服务器,之前看过公众号文章介绍他们是有提供这个服务的。所以我便上官网上面查看了这个功能的介绍,确实能帮助我解决快速生成一样环境的机器。跟着官方的操作文档说明,很快就能创建一台一样的机器了。主要的步骤如下:...原创 2021-04-02 14:31:41 · 158 阅读 · 0 评论 -
如何使用VPC高效管理你的K8S集群
k8s全称kubernetes,这个名字大家应该都不陌生,他的魅力是要您去投入生产环境才能感受得到,越来越多公司正在拥抱K8S并主导了很多业务。由于很多公司开始数字化转型,慢慢的很多业务都往微服务架构发展,这使得自己的集群会变得越来越庞大,业务节点的数量也相继增多,如何高效管理K8S集群是很多公司的一个大难题。由于我们的业务量非常大,微服务种类非常多,如何考虑高效的动态添加业务节点以及维护,最终选择了睿江云的云主机作为物理架构以下是整个集群的架构:我们选择的是8核16G的...原创 2021-04-02 14:27:22 · 593 阅读 · 1 评论 -
Sublime各种快速处理数据大法分享
前言:在程序猿的日常开发、故障处理、版本更新、文档编辑等等的工作当中,必不可少的都会和数据打交道,有时候在处理一些异形时,往往都是手工一个个地进行复制粘贴,数据量如果很大的时候,就会很耗费时间,而且有时候不太现实,只能选择其他解决方式,接下来,让我来给大家分享一些实用的处理技巧吧!工具准备Sublime,需要同学们先在网上现在回来,下面我会用这个软件进行一些处理数据的技巧~~简介:Sublime一般指Sublime Text。Sublime Text 是一个文本编辑器(收费软件..原创 2021-04-02 14:17:43 · 406 阅读 · 2 评论 -
npm-link基本使用
前言在项目的前期开发工作中,通常都会将一些可复用的代码抽离成公共组件,方便管理和维护。或者是将一些非业务性的、而且公用率很高的发布成npm包,作为项目的依赖去安装使用。但是在开发调试中需要频繁的打包发布,然后项目中再安装依赖,这种重复的操作非常的繁琐和不便,为了解决这一系列重复的操作,可以使用npm-link指令将模块链接到项目中。建立链接假设项目名称为project1,和一个公用组件模块common,现需要在项目中使用common,且common是作为npm打包成项目依赖。首先第一步.原创 2021-04-02 14:14:14 · 432 阅读 · 0 评论 -
带着dd去探索Linux磁盘IO
前言:Linux磁盘I/O是Linux内核的重要组成部分,是Linux开发工程师,特别是Linux存储开发工程师必须了解的一课。掌握了这一课,在遇到磁盘I/O相关问题时便会得心应手,缺席了这一课,遇到它时便会觉得云里雾里。dd是Linux的一款简单易用又功能强大的文件拷贝工具,大家再熟悉不过了,今天就带着它一起去探索Linux的磁盘I/O知识吧。dd测试首先看一下一份dd的测试数据,先感受下不同参数下dd的测试结果,然后带着疑问再去探索其中的原由。从上面的测试结果可以看到,没有oflag的时候,原创 2021-04-02 14:08:55 · 274 阅读 · 0 评论 -
什么是CPU 上下文切换
首先先谈一下程序计数器(Program Counter),计算机中提供要从存储器中取出的下一个指令地址的寄存器,通常情况下,每一个指令取出后寄存器就自动增加一步就如《微机原理》当中的 PC = PC + 1 ,在 x86 体系里是这样。x86 系统中自增的是 IP,用 CS:IP 组合表示正在执行的指令地址,此时 PC 只是一个概念上的说法。在 ARM 体系中 R15 就是 PC,当然 ARM 和 IA-32、x64 都支持高级内存管理,所以「PC」的内容未必是当前指令在内存中的绝对位置。CPU 上下文原创 2021-04-02 10:53:29 · 294 阅读 · 0 评论