理解计算机
文章平均质量分 81
1、Linux 启动流程、Linux系统负荷
2、计算机思维:计算机的本质、启动过程及编译器工作过程
3、信息论基础知识:信息熵、 不确定性、等价性、信息压缩;数据库的最简单实现。
4、数字签名
5、RSA算法原理、字符串匹配的Boyer-Moore算法、互联网的本质、互联网协议。
6、EOF是什么
iOS逆向
华为云云享专家认证|阿里云开发社区博客专家,定期分享Java、iOS资讯(包括基础知识储备)、小程序开发与运营、阅读与写作。只为你呈现有价值的信息,专注于移动端技术研究领域。
展开
-
理解计算机-专栏总目录(持续更新)
文章目录引言I 、 计算机的本质II、 代码管理III、基础算法IV、引申话题see also引言欢迎大家来到#公众号:iOS逆向的《理解计算机》专栏本文列出学习大纲,同时这也可以作为大家学习《理解计算机》这个专栏的索引。文中的蓝字都是传送门,点击进入即可I 、 计算机的本质计算机的本质:【在信息的控制下,利用能量实现运算】II、 代码管理git merge用法、常用git脚本:针对GitHub的master 更名进行脚本调整(master 更名为main,例如push 需改为原创 2021-01-19 17:27:43 · 1217 阅读 · 0 评论 -
iOS小技能:模拟鼠标点击(针对Mac)
文章目录前言I、安装方式II 使用方式2.1 获取位置的坐标2.2 点击指定位置坐标2.3 坐标系see also前言本文的例子是定时点击特定位置,来点击保证Mac永远处于活跃状态,达到mac永不不关闭屏幕的目的先来了解下安装和使用方法I、安装方式Homebrew包管理器 : brew install cliclick下载安装包 https://www.bluem.net/en/projects/cliclick/ 自己编译源码II 使用方式2.1 获取位置的坐标打印当原创 2020-10-07 14:14:46 · 7993 阅读 · 3 评论 -
定时重启Windows服务
请注意,路径C:\path\to\your\tomcat需要替换为实际的Tomcat安装路径。timeout /t 30是等待Tomcat停止的命令,时间设置为30秒,你可以根据需要调整这个值。根据服务名称,运行 sc queryex 命令来获取服务的 PID,接着使用 taskkill 命令来停止它。根据端口号,运行netstat 来获取服务的 PID,接着使用 taskkill 命令来停止它。在高级设置下,找到“隐藏已知文件类型的扩展名”,取消勾选。在打开的“文件夹选项”窗口中,切换到“查看”标签。原创 2024-09-21 11:06:55 · 45 阅读 · 0 评论 -
基于Windows系统以tomcat为案例,讲解如何新增自启动服务,定时重启服务。
使用"tomcatxw.exe",运行这个程序时,它会打开一个窗口,你可以在这个窗口中配置Tomcat服务的属性,例如启动类型、登录账户等。tomcatxw.exe 管理程序的名称要和tomcat服务名称一致,否则找不到服务。JVM和tomcat要都是64位或者都是32位。目前我都是使用64位。案例:为了同一个版本安装多个tomcat服务,并设置自启动。使用msconfig,打开系统配置也可以找到服务入口。如果找不到命令,切换到tomcat路径,执行。利用tomcatxw.exe程序设置自启动。原创 2024-09-21 09:36:39 · 83 阅读 · 0 评论 -
动态切换数据库连接方案
需求: 查询SQL Server数据库的时候可以根据实际情况分配服务器来提供服务,大大提高服务速度和优化性能,完成负载均衡。方案:推荐从数据库服务端做集群。原创 2024-09-20 11:39:38 · 47 阅读 · 0 评论 -
AI换脸等违法行为的最关键原因是个人隐私信息的泄露,避免在网络上发布包含个人敏感信息的照片。
在日常上网过程中,要尽量避免人脸、指纹等个人生物信息的过度公开和分享,避免在网络上随意发布包含个人敏感信息的照片。不法者通过大数据等技术手段,通过这些照片会分析出发布者特定时间所处的特定位置,也会获取发布者相关的生活习惯。包含个人姓名、身份证号码、住址等敏感信息,一旦泄露,不法分子可能利用这些信息进行身份盗用,办理信用卡、贷款等金融业务,甚至进行违法活动。手持白纸或手持报纸等照片常被用于验证身份,如果被不法分子获取,可能被用于制作假证件或进行网络诈骗,会给个人带来经济损失和名誉损害。原创 2024-09-19 13:44:46 · 52 阅读 · 0 评论 -
TCP客户端编码和解码处理:发送和接收指定编码消息
使用StringDecoder来处理GBK编码的字符串。StringDecoder会使用指定的Charset来解码传入的字节。这里我们指定了CharsetUtil.GBK作为解码的字符集。为结束符的字符串为通信指令基本单元。其中逗号作为通信指令中的字段分隔符。需求:动态信息交换接口采用类Telnet终端的命令应答方式通信,以。原创 2024-09-15 09:05:20 · 353 阅读 · 0 评论 -
Linux日志轮转logrotate 和rsyslog日志服务
日志文件切割:以分隔割tomcat 的 catalina.out 文件为例子通过调整logrotate 的配置文件存放位置,来取消日志自动轮转的设置。比如存放在/etc/logrotate/tomcatTomcat日志切割dateextcompressnotifemptycrontab配置文件:crontab -e#mv /etc/anacrontab /etc/anacrontab.bak //取消日志自动轮转的设置,建议调整configfile,而不是修改crontab配置文件。原创 2024-09-13 10:58:30 · 109 阅读 · 0 评论 -
Java 原生API实现TCP客户端:发送和接收GBK编码消息
动态信息交换接口采用TCP自定义协议实现数据接口:针对TCP协议的粘包拆包问题,引入了一种自定义通讯协议,提高了平台的数据传输速度。需求:发送北斗消息给船舶设备终端。原创 2024-09-12 10:34:14 · 339 阅读 · 0 评论 -
基于Netty实现TCP客户端:封装断线重连、连接保持
是Netty 处理心跳超时事件,在IdleStateHandler设置超时时间,如果达到了,就会直接调用该方法。如果没有超时则不调用。我们重写该方法的话,就可以自行进行相关的业务逻辑处理了。而Channel则会执行所有的OutboundHandler。Netty 使用TCP协议层的Keeplive机制,但是该机制默认的心跳时间是2小时,依赖操作系统实现不够灵活;心跳机制一般来说都是在逻辑层发送空的包来实现的,比如Netty的IdleStateHandler类实现心跳机制。原创 2024-09-12 09:59:37 · 473 阅读 · 0 评论 -
基于TCP发送北斗消息给船舶设备终端
序号功能说明1登录登录服务,不登录无法进行后续操作2退出登录退出服务3连接保持保持当前连接,如无数据通信,需定期发送连接保持信息4发送请求发送短信与服务器建立连接之后使用i指令登录,客户端需要以一定周期(60s)发送k指令,保证通信接口的TCP连接不被服务器断开。原创 2024-09-11 15:40:19 · 438 阅读 · 1 评论 -
Java 远程通讯技术:基于流式套接字的网络编程(BIO、NIO、AIO)
通信的一方扮演客户机的角色,另一方扮演服务器的角色。当服务器端收到客户机发来的连接请求以后,服务器会接受客户机的连接请求,双方建立连接后,就可进行数据的传递。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口。数据报文方式的应用场景:由于取消了重发校验机制,能达到较高的通讯速率,可以用作一些对数据可靠性要求不高的通讯,如。流方式的应用场景:通讯可靠,对数据有校验和重发的机制,通常用于数据文件的传输如。等, 适合于大量数据的传输。原创 2024-09-11 09:04:11 · 457 阅读 · 0 评论 -
基于pure-ftpd搭建FTP服务器,配置上传文件是否覆盖策略,开启日志单独存放功能,修改系统日志设备类型,自定义 Pure-FTPd 的日志,查看上传详细信息(状态、大小)
是一个重要的设置项,它允许FTP用户在进行文件上传时覆盖已经存在的文件。这在FTP服务器上是非常有用的,尤其是在用户需要更新或替换服务器上的文件时。通过设置AllowStoreRestart参数,可以确保当用户尝试上传一个与服务器上已存在文件同名的文件时,新的文件能够成功替换旧的文件,而不是在原文件名后添加额外的后缀或导致上传失败。允许或禁止用户覆盖已经存在的文件。需求:没带显控的设备,由于内存原因,上传FTP文件时,想让FTP服务端对上传的文件重名时,自动添加加序号,不进行文件覆盖。原创 2024-09-09 10:36:49 · 146 阅读 · 0 评论 -
Nginx安全性配置
Nginx本身并不具备复杂的防火墙规则定制或者实时监控功能,它主要是作为一个HTTP和反向代理服务器。如果你需要更强大的安全防护,需要考虑使用其他专业的防火墙或WAF(Web Application Firewall)解决方案。这些配置应该放在Nginx配置文件中的http或server块中。记得每次修改配置文件后,都需要重新加载或重启Nginx以使配置生效。原创 2024-08-31 08:32:01 · 7554 阅读 · 0 评论 -
gitea仓库迁移新服务器 & 更新远程仓库地址(git remote remove origin)
gitignore只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交,这样就不会出现忽略的文件了。思路:使用镜像部署,可直接迁移备份的容器到新的服务器。工具:运维面板使用1Panel。ssh 端口用于免密连接。修改.gitignore。git清除本地缓存命令。原创 2024-08-30 11:35:09 · 340 阅读 · 0 评论 -
Apifox测试SOAP接口教程
需求: AIS数据对接给其他平台,采用SOAP协议提供。实现方案: 基于CXF框架开发SOAP通信接口。原创 2024-08-24 16:12:08 · 128 阅读 · 0 评论 -
Windows系统电脑安装多个Tomcat服务教程
使用"tomcatxw.exe",运行这个程序时,它会打开一个窗口,你可以在这个窗口中配置Tomcat服务的属性,例如启动类型、登录账户等。tomcatxw.exe 管理程序的名称要和tomcat服务名称一致,否则找不到服务。需求: 基于Tomcat部署多个服务和站点都一台Windows机器。原创 2024-08-24 11:53:17 · 277 阅读 · 0 评论 -
通过浏览器访问FTP服务器,测试终端上传的音频文件
系统偏好设置-网络-高级-代理,把“网页代理”和“安全网页代理”两个复选项去掉,问题:错误是:“FTP URLs are disabled’生产部门需要测试终端设备录制的语音,需要访问FTP服务。勾选“使用被动FTP模式”。访问方式: 通过浏览器访问。原创 2024-08-24 10:33:55 · 271 阅读 · 0 评论 -
了解一点电池的工作原理,让它们更好地为我们工作。【手机充电小技巧】(影响电池寿命的主要因素:过充、过放以及高温)
如果选择的非原装充电器和手机所支持的快速充电协议并不匹配的话,那么是无法进入快速充电模式的,会造成低功率充电,需要更多的时间才能充满,同时电流不同也会让充电效果大打折扣。现在的充电器和手机一样,都已经非常智能化,符合标准的充电器基本上都使用了现代化的充电管理技术,也就是可以根据手机提供的信息输出对应的电流,一般不会造成危害。不建议边充电边玩手机,因为你在使用手机的过程中本身就会产热,而充电过程也会产热,很容易导致手机过热,不仅对手机有较大的损害,同时也存在安全隐患。用非原装充电器并不会给手机带来危害。原创 2024-08-23 15:39:43 · 656 阅读 · 0 评论 -
日志文件切割:以分隔割tomcat 的 catalina.out 文件为例子
logrotate 程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。可以节省磁盘空间。Logrotate是基于CRON来运行的,其脚本是/etc/cron.daily/logrotate,日志轮转是系统自动完成的。实际运行时,Logrotate会调用配置文件/etc/logrotate.conf。可以在/etc/logrotate.d目录里放置自定义好的配置文件,用来覆盖Logrotate的缺省值。原创 2024-08-21 13:49:07 · 392 阅读 · 1 评论 -
基于Nginx进行服务器隐私保护:隐藏真实的服务器IP地址或主机名( 转发代理、服务器的别名)
这样配置后,在Nginx的日志、错误页面或者代理的时候,你可以使用别名 my-backend1 和 my-backend2 来代替真实的主机名,保护服务器的隐私。在Nginx中,可以通过配置upstream模块来设置后端服务器的别名,这通常用于在内部通信中隐藏真实的服务器IP地址或主机名。如果在proxy_pass后面的url加/,表示绝对根路径;如果没有/,表示相对路径,把匹配的路径部分也给代理走。隐藏服务器信息: IP、端口和主机名。原创 2024-08-20 08:04:30 · 527 阅读 · 0 评论 -
基于Crontab调度,实现Linux下的定时任务执行。
如果启动cornd服务方式不对,crond 会存在多个进程同时运行的情况,避免并发重复冗余执行任务,应该查询目前的crond进程数量,并删除不必要的进程。Crontab是一个用于设置周期性执行任务的工具;Crontab中最小只能设置到每分钟执行一个命令,如果想每半分钟执行某个命令,可通过shell脚本的sleep命令配合。用于控制命令的执行顺序和条件。第三个和第五个域之间执行的是或操作 即 星期几和每月几号是或关系。需要注意的是在crontab文件中,%需要进行转义。,保存着所有的crontab的操作。原创 2024-08-19 16:13:40 · 96 阅读 · 0 评论 -
运维小技能:基于Windows系统和Linux系统,以tomcat为案例,讲解如何新增自启动服务。
当 sysvinit 系统初始化的时候,它会将所有可能用到的后台服务进程全部启动运行。Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度,systemd 提供按需启动能力。Systemd 可以提供按需启动的能力,只有在某个服务被真正请求的时候才启动它。使用"tomcatxw.exe",运行这个程序时,它会打开一个窗口,你可以在这个窗口中配置Tomcat服务的属性,例如启动类型、登录账户等。目前我都是使用64位。原创 2024-08-17 11:13:07 · 220 阅读 · 0 评论 -
了解内核熵池,理解Linux系统中用于生成随机数的特殊字符设备文件egd: /dev/random 和 /dev/urandom
但是机器的环境中充满了各种各样的噪声,如硬件设备发生中断的时间,用户点击鼠标的时间间隔等是完全随机的,事先无法预测。但是,在系统运行一段时间后,熵池会变得更大,并且生成的随机数的质量也会提高。/dev/random 会在熵池中的熵低于一定值时阻塞等待熵的增加,而 /dev/urandom 不会阻塞等待熵,而是使用伪随机数生成器来生成随机数。当系统启动的时候,由于启动过程是个确定的可预测的过程,这种情况下,熵池的熵值将非常小,导致产生的随机数序列质量下降,从而给攻击者破解的可能。原创 2024-08-16 15:12:42 · 48 阅读 · 0 评论 -
从通感一体和无源物的技术特点,来理解5G-A到底比5G多了啥?
5G-A无源物联技术可以基于移动通信网络实现标签识别与信息采集,智能机器人会识别无源物联标签信息,快速找到货物并自动搬运;有了它 ,万物管理能更低成本、更高效率、更加智能。目前, 中国移动已在北京部署完成了业界首个基于低频通感一体的车联网业务端到端验证,能够实时、精准地感知周围车辆、行人的位置和轨迹、速度,为车联网建设提供了一种成本更低、部署更快捷的选择。5G-A 全称为 5G-Advanced,译为增强版5G。特点的新一代宽带移动通信技术,5G通讯设施是实现人机物互联的网络基础设施。原创 2024-08-15 17:09:55 · 81 阅读 · 0 评论 -
从软考的实用价值,理解为什么越来越多的人考。
计算机技术与软件专业技术资格(水平)考试,是由我国两个国家级部门人力资源和社会保障部与工业和信息化部共同举办的国家级考试,既是职业资格考试,又是职称资格考试。软考报名条件宽泛:不设年龄、学历、专业、资历条件等限制,且软考每年举行两次。原创 2024-08-07 17:34:52 · 55 阅读 · 0 评论 -
Jenkins部署java项目
Execute shell: jar包复制。应用场景:测试环境部署API服务。配置service启动文件。maven本地库路径配置。settings 配置。远程执行命令:停止服务。远程FTP上传jar包。远程执行命令:启动服务。Maven 安装配置。原创 2024-08-06 11:56:56 · 112 阅读 · 0 评论 -
提升程序员工作效率的工具(Windows)
使用场景:Markdown文件书写,支持其他格式导出。自带常见的数据库驱动,也支持自定义驱动。快速生成接口在各种语言的请求例子。使用场景:查找替换文本信息。原创 2024-08-05 16:32:01 · 65 阅读 · 0 评论 -
提高长字符串拼接效率(VB|Java)
VB.NET和VB的主要区别在于VB.NET是VB的现代化继任者,提供了更先进的编程模型、更清晰的语法、更严格的类型系统以及更好的开发人员支持。,只会在声明字符串变量的时候申请一次内存空间,不会有其他的额外资源消耗。但是随着处理的字符串不断增大,就会由定长字符串转为变长字符串,那么就会每次执行字符串拼接操作的时候重新申请内存空间,这。而VB使用自己的编译器,直接编译成机器代码。,开始就申明数组,确定了栈内存大小,数组中每个元素赋值就可以控制在一个小字符串的赋值操作,所以这种操作效率还是比较快速的;原创 2024-08-02 16:11:11 · 67 阅读 · 0 评论 -
ECDIS(Electronic Chart Display and Information System)是指符合有关国际标准的船用电子海图系统
WMTS 标准图层是用于加载 OGC 标准的 WMTS 地图服务的一种图层类,自 v1.4.3 新增,仅支持 EPSG3857 坐标系统的 WMTS 图层。技术方案: 本地GeoServer +vue + Leaflet加载地图+加载wmts矢量瓦片+动态绘制多边形。也可以在 npm 官网上搜索关键词 leaflet-wmts , leaflet-wmts 找到相关插件。原生leaflet不支持 wmts 图层,需要到插件库中选则需要的 wmts 图层插件类型。支持引入非高德官方的栅格图片图层。原创 2024-07-30 08:05:25 · 133 阅读 · 0 评论 -
海域感知技术架构
近年来,随着水产行业的不断发展,养殖密度不断加大,养殖环境日益恶化,养殖成本持续上涨,传统养殖方式已经不能适应水产养殖的发展需求,设施智能化养殖势在必行。利用渔船现有的定位导航通讯设备等资源,实现岸线和近岸海域内违法船舶和可疑船舶预警、抓拍、跟踪和行为分析。端发送至平台,平台负责解码并显示出船舶所在位置的风速、风向、温度、湿度、大气压强,气象信息可通过服。在渔船上安装风速风向仪、气象传感器负责采集气象信息,信息传输至主机并处理后,经北斗终端或天通终。摄像头厂商:大华、海康、天地伟业。原创 2024-07-29 15:49:57 · 66 阅读 · 0 评论 -
MMSI(海上移动通信业务标识,俗称“九位码”)编制规则以及应用
MMSI是船舶无线电通信系统在其无线电信道上发送的,能独特识别各类台站和成组呼叫台站的一列九位数字码(俗称“九位码”)。当船舶在海上遇险时,海上搜救中心通过接收到的MMSI,可以迅速查找船舶及其所属公司信息,以便组织搜救。国籍判断(依据MMSI,中国412/413/414,其余为外籍)——X4、X5、X6、X7、X8、X9分别为0~9中的任何数字。(2)自行编制、冒用、占用未经许可的MMSI,造成“一船多码”;mmsi的X9为0,3万总吨以上海轮最后三位为0。X7、X8分别为0~9中的任何数字;原创 2024-07-29 11:42:52 · 714 阅读 · 0 评论 -
FTP(File Transfer Protocal,文件传输协议)
也称为FTP安全,FTP-ES,FTP-SSL,是对常用文件传输协议(FTP)的扩展,增加了对传输层安全性(TLS,Transport Layer Security)和安全套接字层(SSL,Secure Sockets Layer)加密协议的支持。FTP也有其专属的知名端口,默认情况下,FTP使用20和21这两个端口,其中20用于数据连接(传递数据),21用于控制连接(传递控制信息)。使用两个并行TCP连接,第一次连接我们称之为控制连接,第二次连接称为数据连接。客户端开启数据端口,由服务器连接到客户端。原创 2024-07-27 11:59:33 · 81 阅读 · 0 评论 -
快速汇总公司产品涉及的项目(服务、站点)
使用mstssc快速通过RDP协议登录Windows服务器。在文本中搜索指定的内容——grep命令的常用选项。用于统计目录(或文件)所占磁盘空间的大小。是列出文件系统的整体磁盘空间使用情况。需求:汇总 平台涉及站点和服务信息。查看Tomcat的配置文件。快速定位服务状态和部署位置。使用宝塔面板登录服务器。查看 linux服务。原创 2024-07-26 14:05:42 · 93 阅读 · 0 评论 -
一线工作中常用 Shell 脚本: Jar包部署为linux系统服务; 恶意访问,安全防范; SSH 免交互执行命令;
当要使用多个不同的private key登录不同的主机时,我们可以在ssh命令里面用-i参数指定每次使用的private key文件。需求: 通过脚本自动化部署(自动远程登录、远程复制本地资源到服务器,远程执行部署相关命令。之间,remotessh可以随便修改成其他形式的字符串。可以利用~/.ssh/config文件,在让ssh自动为我们决定应该使用哪个key。在文本中搜索指定的内容——grep命令的常用选项。远程执行的命令内容较多,使用脚本方式实现。方法2:通过TCP建立的连接。原创 2024-07-25 21:40:10 · 228 阅读 · 0 评论 -
监测Nginx访问日志状态码,并做相应动作
nohup command & # 在后台运行command,忽略挂起信号# journalctl 持续监听新的日志条目,可以添加-f参数。原创 2024-07-25 21:10:11 · 158 阅读 · 0 评论 -
快速定位服务状态和部署位置: 查看Windows中监听的端口及其关联的服务
基于cmd窗口,查看程序运行端口状态(关联服务进程id)和关联的服务进程信息。原创 2024-07-19 16:03:51 · 1006 阅读 · 0 评论 -
对象存储解决方案:高性能分布式对象存储系统MinIO
MinIO 控制台提供了一个直观的设计,具有与 API 和 CLI 相同的扩展功能。MinIO 控制台专为满足 IT 管理员和审计员的需求而设计,提供了一个简单、直观的界面,可用于访问存储套件的最高级功能。MinIO提供了一套选项来涵盖数据驱动型企业中的每个角色,例如图形用户界面(GUI),命令行界面(CLI)和应用程序编程接口(API)。MinIO 的数据管理接口可互换运行,以提供精细、高性能和可扩展的对象存储管理。它专为大规模 AI/ML、数据湖和数据库工作负载而构建,并且它是由软件定义的存储。原创 2024-07-16 15:03:29 · 717 阅读 · 0 评论 -
网络概念: 互联网和局域网、 OSI七层网络互联模型、数据封装、应用端口、地址解析、网络设备、网络配置
当一个数据帧的目的地址在MAC地址表中有映射时,它被转发到连接目的节点的端口而不是所有端口,因此比集线器传输效率更高。集线器会把收到的任何数字信号,经过再生或放大,再从集线器的所有端口提交,这会造成信号之间碰撞的机会很大。当B公司的PC1接收数据时,按上图相反的过程拆除封装,最终得到A公司PC1发来的用户数据。用于连接多个逻辑上分开的网络的设备。一种位于网络之间的网络安全设备。TCP/IP网络协议是指连接在网络上的计算机进行相互通信的规则约定。OSI七层模型的目的: 让不同厂商的设备拥有共通的通信协议。原创 2024-07-15 20:36:48 · 1524 阅读 · 0 评论 -
Gitea 仓库事件触发Jenkins远程构建
高版本Jenkins需要关闭跨域限制和开启匿名用户访问。Gitea支持用于仓库事件的Webhooks。2. 设置匿名用户可访问。原创 2024-07-13 17:35:54 · 2054 阅读 · 0 评论