- 博客(57)
- 收藏
- 关注
原创 OneDNS助力高校行业网络安全
学生安全意识和防护水平各不相同,经常混用 U 盘、打开钓鱼邮件、点击恶意链接、浏览风险网站、安装不可信程序等。该高校多个校区,客户师生上万人,每人 1-2 个终端,学校难以统一规范管理学生上网行为,更没有师生私有终端设备的管理权限。学校 IT 部门只有 3~4人,难以应对每天数百次的各类攻击,以及各类新型威胁,IT 部门负责人和安全人员对校园网络安全现状、 运维处置非常担忧,希望通过有效的手段进行全面安全防护。小五向系主任推荐了:一个办公网安全防护方案:北京微步在线的产品。
2025-02-06 12:15:20
853
原创 OKR和KPI的区别_kpi和okr绩效管理的区别
在传统的绩效模式下,员工一般只会关注主管的目标。不过,随着OKR的不断深入开展,在员工逐渐熟悉并理解了OKR的绩效管理逻辑后,他们的疑虑就会打消,此时,愿意制定挑战性目标的员工就会越来越多。在传统绩效管理模式下,管理者一般会根据自己的判断,把相对重要的工作交给自己认为工作能力强的员工,并把那些不太重要的工作交给能力相对不足的员工。有时候,我们还会遇到KR完全无法量化的情况,那么这时候,我们就应该尽量细化KR,简单来说,就是要把工作任务进行拆分,即干到什么程度,干到什么标准,主要由谁负责,这一切都要搞清楚。
2025-02-06 12:11:50
1005
原创 Linux学习之旅(四)——vim使用技巧_vim 感叹号
在一般情况下,无论何种 Linux 发行版本都是包括 Vim 的,并且在默认会安装它。所以用好vim编辑器,方便我们在各种Linux操作系统下进行文本编辑,代码书写。注意:Vim 用户常见的一个问题就是被编辑器的模式所困扰。这常常是因为不清楚编辑器处在哪个模式,又或者不知道按下了哪个键导致编辑器进入了另外一个模式引起的。,也就是 vim 会根据所处的模式对不同行为作出不同反应。,如果Vim 以一声蜂鸣回答你,那说明你已经是在一般模式了。
2025-02-06 02:12:52
1084
原创 linux大于2T磁盘分区方法(parted分区方法说明)
1、——进入parted分区2、mklabel-gpg-有yes输yes即可——创建分区并指定类型3、mkpart-自定义分区名称-输入类型(如ext4,xfs)-输入起止位置(多种方式均可使用)——如果需要添加多个分区,从mkpart开始重复该步骤)4、p——验证5、rm Num——如果不需要删除分区,跳过该步6、quit——退出df -T可以查看硬盘分区的类型(ext4这种)
2025-02-06 02:11:07
1411
原创 Java面试题(三)_在不可靠的传输介质上实现传输功能http
在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,而是统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。,确保数据及时传送。
2025-02-05 21:59:34
328
原创 Java面试题总结(乱序版,2020-08-20)
HashMap基于map接口,元素以键值对方式存储,允许有null值,HashMap是线程不安全的。
2025-02-05 21:57:50
810
原创 javascript柯里化
当这个新函数被调用时,bind() 的第一个参数将作为它运行时的 this,之后的一序列参数将会在传递的实参前传入作为它的参数。//由于事先规定两次调用参数必须传递达到fn调用需求。//那么再一次传递参数,要执行什么样的流程那?//如果实参个数不等于满足函数调用的形参个数。//1. 新传入的参数和已经传入参数进行拼接。//如果实参个数等于满足函数调用的形参个数。//因此需要再次传递参数,直至达到要求。//取出第一次调用时传入的参数。//取出除了fn之外的参数。//预存储第一次传入的参数。
2025-02-05 17:37:25
483
原创 JavaScript是解释型语言--V8、JIT
可以通过”语言“来控制计算机,让计算机为我们做事情。(类似于中文、英文)编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。汇编语言 ==> 面向过程编程 ==> 面向对象编程汇编语言是编程语言的拓荒年代,它非常底层,直接和计算机硬件打交道,开发效率低,学习成本高;C语言是面向过程的编程语言,已经脱离了计算机硬件,可以设计中等规模的程序了;
2025-02-05 17:35:44
790
原创 java 框架面试题-Spring Boot自定义配置与自动配置共存_自定义配置类 java
/使用dataSource和emailProperties。//定义邮件服务器配置。
2025-02-05 15:57:53
332
原创 java 根据省份证号-判断省份-性别-生日
第十八位数字(校验码)的计算方法为: 1.将前面的身份证号码17位数分别乘以不同的系数。7.第18位数字是校检码:也有的说是个人信息码,一般是随计算机的随机产生,用来检验身份证的正确性。顺序码: 表示在同一地址码所标识的区域范围内,对同年、同月、同 日出生的人编定的顺序号,顺序码的奇数分配给男性,偶数分配 给女性。5.通过上面得知如果余数是2,就会在身份证的第18位数字上出现罗马数字的Ⅹ。{“13”, “河北”}, {“14”, “山西”}, {“15”, “内蒙古”}, {“21”, “辽宁”},
2025-02-05 15:56:09
762
原创 Java Web 网络商城案例演示六(用户,登录,退出)
/ 返回登录的用户。// 用户登录成功,将登录成功对应的用户的user02对象放入到session作用域当中。//在这里抛出对应的异常让其在Servlet里面捕获到对应的异常,并反馈到对应的页面上去。/jsp/index.jsp当获取到用户的一些信息。
2025-02-05 15:12:08
273
原创 Dijkstra算法详细(单源最短路径算法)
这个 visited 数组的操作很像回溯算法做「做选择」和「撤销选择」,区别在于位置,回溯算法的「做选择」和「撤销选择」在 for 循环里面,而对 visited 数组的操作在 for 循环外面。我会经过节点 5 三次,每次的 distFromStart 值都不一样,那我取 distFromStart 最小的那次,不就是从起点 start 到节点 5 的最短路径权重了么。printf(“从 %s 到 %s 的最短距离是 %s”, start, cur, step);// 将起点加入队列。
2025-02-04 13:57:57
735
原创 DevOps运维开发一体化_devops开发运维一体化
Git是一个版本控制系统,GitLab是一个远程的Git仓库,GitLab与GitHub及国内的码云类似,用户在GitLab上注册账号,上传项目到GitLab,通过GitLab对项目进行版本控制。
2025-02-04 13:56:12
860
原创 appium详细总结,书写万字教你避开环境配置坑,看看你是否有未踩过的坑
环境搭建篇=====首先我们来看看环境搭建篇,在进入学习之前,环境搭建我们必不可少,但是最容易出问题的地方也还是环境搭建,很多人初次学习python的朋友,python环境就没搭建对。除了python环境,还需要Android SDK、JDK,初次跑自动化这是必备的。既然是必备的,很多朋友就被卡在这了。python坑首先打开右击我的电脑选择属性:再点击高级系统设置,选择环境变量:你以为我是在教你配环境?错,是告诉你别踩坑这里有两个path,你是否配在的上面的path。
2025-02-04 09:54:37
946
原创 App 启动时间优化详解
在中自定义样式自定义透明样式App 启动入口Activity 中使用自定义样式注意:属性可以不让白屏显示,失去中间白屏过度,会给用户带来不是太好的体验,比如点击后需要稍微等一下才会打开APP,会让用户错误的怀疑自己是否成功点击过icon。Google 很不推荐此种做法。自定义Theme为 要启动的Activity设置自定义样式。
2025-02-04 09:52:55
1007
原创 Android 技巧之巧用Range注解(IntRange,FloatRange) 和自定义Range
Retention 类型 常用的 RunTime/CLASS/SOURCE。这个需要我们要有一些自定义注解的基本知识(后续会写如何自定义注解)可见它是一个注解,可用于方法/参数/字段/局部变量。这里我们自定义注解需要使用CLSS。先看下FloatRange源码。target 作用域。
2025-02-04 04:27:20
961
原创 Android 录制视频添加时间水印
主要从MPEG4Writer.cpp中的kMax32BitFileSize 和入手,如下,修改单个文件最大容量为56M(0x3800000),发现利用系统Camera录像时,到达阀值后会提示“已达到大小上限”,并自动停止,保存已经录制的视频。有一个思路,就是停止的时候,进行文件保存后立即重新启动录像。
2025-02-04 04:25:38
2034
原创 Airflow【实践 01】Airflow官网+自测源代码举例(简化安装+官方及自测python代码)_airflow源码包安装
【代码】Airflow【实践 01】Airflow官网+自测源代码举例(简化安装+官方及自测python代码)_airflow源码包安装。
2025-02-03 18:29:04
325
原创 Vue进阶(九十四):自定义组件_前端 自定义组件
做前端项目开发,创建自定义组件是必不可少的一项基本技能,前端应用框架(像VueReactAngular)都已提供一些已封装好、可复用的组件。但在实际项目开发过程中,根据具体的项目需求,会遇到一些定制化开发需求的应用场景,此时,框架提供的通用组件已不再满足我们的需求,需要自定义可复用组件的编码。组件需要实现什么效果;建立组件模板,先把架子搭起来,完成组件基本样式、大致效果;组件基本逻辑是怎样的;准备好组件的数据输入,即分析好逻辑,定义好props里面的数据、类型;
2025-02-03 18:03:07
997
原创 Vue进阶(九十一):自定义指令_vue自定义指令bind和update同时写
对于全局自定义指令的创建,我们需要使用接口在单独JS文件中定义好以上自定义指令后,然后在main.js入口文件中加以引入即可,对于局部组件,我们需要在组件的钩子函数directives中进行声明指令可以简写,上面Opt是一个对象,包含5个钩子函数,我们可以根据需要只写其中几个函数。如果你想在bind和update时触发相同行为,而不关心其它的钩子,你可以将Opt改为一个函数。下面定义了一个v-test指令绑定数据name。下面以全局自定义指令v-red,来修改HTML。
2025-02-03 18:01:23
324
原创 Redis环境搭建与配置
安装回头重温Redis,感慨我们以前安装个Redis可麻烦了,当初我为了学Redis,还专门去买了课、我们选用Linux系统,这也是Redis的选择。在 http://download.redis.io/redis-stable.tar.gz 可以获取Redis的最新稳定版,目前是还有在不断维护这个网址的。命令(建议先转到root权限下):make就很简单。编译之后执行:将src下的可执行程序复制到 /usr/local/bin 目录中,后面用得上。
2025-02-03 08:25:51
1041
原创 Redis热点key解决方案
比如秒杀活动、热点微博、热评,某件商品被数万次点击浏览或购买时,就会造成热点问题被大量发布、浏览的热点新闻、热点评论等读多写少场景也会产生热点问题1.2 请求的分片过于集中,突破单点性能极限在服务端读数据进行访问时,往往会对数据进行分片,此过程中会在某一主机 Server 上对相应的 Key 进行访问,当访问超过 Server 极限时,就会导致热点 Key 问题。2 热点Key的危害流量过于集中,突破物理网卡的极限请求过多,缓存分片服务被打垮穿透DB。
2025-02-03 08:24:07
293
原创 kotlin基本语法
定义只读局部变量使用关键字val定义。只能为其赋值一次。val a: Int = 1 //立即赋值val b = 3.0 //自动推断类型为Shortval c: Double //变量申明c = 2.9D //赋值// Byte 定义字节值// Short 定义短整型值// Int 定义Int值var age: Int = 2017 或者 var age = 2017 (自动推断类型)// Long 定义长整型。
2025-02-02 00:23:51
963
原创 Kotlin协程之flow工作原理
,它是一个扩展函数,所以执行的示例代码中的 emit(1) 其实就是调用了 SafeCollector.emit(1), 然后在 SafeCollector 中对 FlowCollector 做了一层安全校验后,最后还是会调用 FlowCollector.emit 方法,即创建 SafeCollector 时传入的 collector 对象的 emit 方法。除了一开始贴的实现 Flow 接口调用 collect 方法的方式, Kotlin 还提供了调用 collect 的两个扩展函数,最后都是调用的。
2025-02-02 00:22:06
681
原创 C# DataTable使用方法详解
在项目中常常常使用到DataTable,假设DataTable使用得当,不仅能使程序简洁有用,并且可以提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结。
2025-01-31 08:42:39
535
原创 C · 进阶 预处理详解
C语言提供了多种预处理功能,如宏定义、文件包含、条件编译等。以""号开头的预处理命令:包含命令#include,宏定义命令#define等。在源程序中这些命令都放在函数之外,而且一般都放在源文件的前面,它们称为预处理部分所谓预处理是指在进行编译的第一遍扫描(词法扫描和语法分析)之前所作的工作。预处理是C语言的一个重要功能,它由预处理程序负责完成。当对一个源文件进行编译时,系统将自动引用预处理程序对源程序中的预处理部分作处理,处理完毕自动进入对源程序的编译\_\_FILE\_\_ //进行编译的源文件。
2025-01-31 08:40:55
949
原创 Android VideoPlayer
return;= null) {= null) {= null) {= 0) {= null) {= null) {= 0) {= 0) {= null) {= null) {} else {= 0) {= null) {= null) {= null) {= null) {*/= null) {} else {= null) {}).show();*//***/
2025-01-26 18:03:02
518
原创 Android studio插件开发
之后我们可以看到项目目录下生成了hello.jar,我们在android中选择plugins菜单,选择本地安装插件选择生成的jar,就可以在android studio中使用我们的插件了。接下来我们点击run按钮,会自动打开一个新的idea窗口,我们在生成的新的idea窗口中,选中code菜单,我们看到在第一行有一个hello的按钮就是我们的插件。打开idea,新建项目,选择IntelliJ Platform Plugin,第一次新建需要设置sdk的位置,选择位置即可。项目创建完成后,目录结构如下所示。
2025-01-26 18:00:55
706
原创 Python爬虫篇:爬虫笔记合集
Host:链接的主机Referer:来源、防盗链接, 类似想我们现在的行程码你是从来个地方来的User-Agent:用户代理,浏览器的身份标识,可以理解为你的身份证那么这些东西都是我们在发送请求需要带上证明自己身份的东西。
2025-01-24 16:36:26
2136
原创 Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400
你可以使用http://ip:8080 http://ip:8081访问tomcat默认页面。#注* 如果tomcat1三个端口分别为:8005 8009 8080 ,那么tomcat2端口在此基础上都+1,即为:8006 8010 8081。#Nginx安装完毕,然后使用命令:/usr/local/nginx/sbin/nginx -t 测试OK,代表nginx安装成功。/usr/local/nginx/sbin/nginx 回车启动nginx,可以通过访问http://ip/看到nginx默认页面。
2025-01-24 00:45:29
342
原创 Linux系统性能分析
以上信息每列的内容分别为总内存(total)、使用内存(used)、空闲内存(free)、共享内存(shared)、系统缓存(buff/cache)、可用内存(available)分析:(wa的参考值为20%,如果wa值超过20%,说明i/o等待严重。分析:(设置bi+bo参考值为1000,如果超过1000,而且wa指较大,则表示系统磁盘i/o有问题,应该考虑提高磁盘的读写性能。如果us+sy大于80%。分析:(us的值比较高时,说明用户进程消耗的CPU时间多,如果长期大于50%,则需要考虑进行优化。
2025-01-23 23:04:32
713
原创 k8s-证书管理之cert-manager自动生成证书_cert-manager
issuer与clusterissuer两个签发资源,issuer只能在同一命名空间内签发证书,clusterissuer可以在所有命名空间内签发证书。具体参数:https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec。上面用的是cert-manager的自签证书做为CA,也可以自已定义个CA放在secret里,然后做为clusterissuer来进行后续的签发。校验成功后就会颁发证书。
2025-01-23 21:43:02
777
原创 Java设计与实现“秒杀”活动之抢粽子【完整版】_java 抢单源码
用户抢购秒杀商品,首先判断用户是否重复秒杀,如果重复秒杀则需要提示用户不能重复秒杀商品,否则查询库存,再进行库存的判断,如果库存数量大于0,则可以继续秒杀,否则提示秒杀结束,秒杀成功后库存减一,而用户则添加进。,顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会去修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。命令可用于监视我们的库存数量 ,如果在事务执行之前库存数量被其他命令所改动,那么事务就会被打断,因此,在。,简单的理解为时间很短、速度很快。
2025-01-23 19:02:57
824
原创 JavaWeb:Maven
Maven的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven在美国是一个口语化的词语,代表专家、内行的意思。
2025-01-23 17:43:34
751
原创 iso镜像挂载、自动挂载 以及文件挂载详细说明
如,现在将刚创建的sda6挂载到zz目录,挂载以后访问和写入数据都是在sda6里面,并非当前服务器目录。注:挂载目录以后,原目录的内容和空间都会被隐藏,比如zz之前有100G的数据,挂载了sda6以后,之前zz目录中的数据被隐藏了,现在看到的是sda6的数据。但之前zz的数据依旧存在(就是原磁盘如果有500G,现在看不到zz,其他加起来实际只有400g,卸载了挂载的磁盘以后就能看到了这被隐藏的100G了)。注:如果永久挂载镜像,类型查看方式:先临时挂载,通过。如果要挂载永久生效,需要把挂载配置文件写入到。
2025-01-23 16:21:22
662
原创 Git的下载安装(2024)Windows10 Git-2
Git将使用Windows的默认控制台窗口(“cmd.exe”),该窗口可以与Win32控制台程序(如交互式Python或node.js)一起使用,但默认的回滚非常有限,需要配置为使用unicode 字体以正确显示非ASCII字符,并且在Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。要注意的是,这将覆盖Windows工具,如 “ find 和 sort ”。该选项被认为是安全的,因为它仅向PATH添加了一些最小的Git包装器,以避免使用可选的Unix工具造成环境混乱。
2025-01-23 14:52:04
983
原创 Elasticsearch学习之(一)线上迁移数据方案_elasticsearch 在线迁移
注意点:1、因为月份最后几天不确定,所以从28-31 都计算一下2、创建索引的配置自己写个json文件然后放到容器中读取即可")//判断是否是最后一天if(!log.warn("索引初始化|判断不是本月最后一天|不进行处理");return;// 每月最后一天生成下个月的索引log.warn("索引初始化|索引已存在|index:{}",indexName);return;
2025-01-23 01:11:11
744
转载 Android动画之补间动画
5.缩放动画:ScaleAnimation,参数:x开始的比例值,x结束的比例值,Y开始的比例值,Y结束的比例值,后面两个参数为缩放中心的坐标点。//ScaleAnimation参数:x开始的比例值,x结束的比例值,Y开始的比例值,Y结束的比例值,后面两个参数为缩放中心的坐标点。//顺时针旋转, RotateAnimation:参数,开始时角度,结束时角度,旋转中心的横坐标,旋转中心的纵坐标。//TranslateAnimation:四个参数:X轴开始位置,X轴结束位置,Y轴开始位置,Y轴结束位置。
2025-01-22 20:44:29
843
原创 Android Studio说:使用HashMap不如使用SparseArray?
key数组和value数组的默认大小都是10,如果在初始化时已知数据量的预估大小,则可以直接指定初始容量,这样可以避免后续的扩容操作。添加元素添加元素的方法有几个,主要看put(int key, E value)方法,当中用到了ContainerHelpers类提供的二分查找方法:binarySearch,用于查找目标key在mKeys中的当前索引(已有改key)或者是目标索引(没有该key)。
2025-01-22 19:23:10
550
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅