个人技术分享
文章平均质量分 78
已转行此号停用
这个作者很懒,什么都没留下…
展开
-
云计算该怎么学——浅谈Linux IO
Linux IO是文件存储的基础。本文参考了网上博主的一些文章,主要总结了linuxIO的基础知识。Linux IO栈Linux文件IO采用分层的设计。分层有两个好处:1. 架构清晰;2. 功能解耦;编辑切换为居中添加图片注释,不超过 140 字(可选)linux文件IO的时候,从通用性和性能的角度考虑,采用了一个折中的方案来满足我们日常写磁盘。例如:char *buf = malloc(MAX_SIZE); strncpy(buf, src, MAX_SIZE); fwrite(buf,原创 2022-06-10 16:42:56 · 658 阅读 · 2 评论 -
有了这款Linux网络延迟排查方法,再也不用加班了 ~
在 Linux 服务器中,可以通过内核调优、DPDK 以及 XDP 等多种方式提高服务器的抗攻击能力,降低 DDoS 对正常服务的影响。在应用程序中,可以使用各级缓存、WAF、CDN 等来缓解 DDoS 对应用程序的影响。但是需要注意的是,如果 DDoS 流量已经到达 Linux 服务器,那么即使应用层做了各种优化,网络服务延迟一般也会比平时大很多。因此,在实际应用中,我们通常使用 Linux 服务器,配合专业的流量清洗和网络防火墙设备,来缓解这个问题。除了 DDoS 导致的网络延迟增加,我想你一定见过很多原创 2022-06-08 17:34:45 · 1782 阅读 · 0 评论 -
MySQL的零拷贝技术
1.需要了解Buffer 与 cache 的区别Bbuffer 与 Cache 非常类似,因为它们都用于存储数据数据,被应用层读取字节数据。在很多场合它们有着相同的概念:首先从翻译上,Buffer应该翻译为“缓冲”,Cache应该翻译为“缓存”,两个完全不是一个东西。在硬件这一层看,Buffer应该为内存,Cache为CPU集成的告诉缓存。Buffer为了让不同速度的设备能够同步,建立的一个缓冲区域,写进Buffer的数据是为了从中拿出写入其他设备。Cache是为了提高读取速度,将经常或马上需要的数据预读到原创 2022-06-07 17:36:55 · 280 阅读 · 0 评论 -
六款Linux常用远程连接工具介绍
1、Xshell介绍:xshell 是一个非常强大的安全终端模拟软件,它支持 SSH1, SSH2, 以及 Windows 平台的 TELNET 协议。Xshell 可以在 Windows 界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。官网:2、secureCRT介绍:SecureCRT 支持 SSH,同时支持 Telnet 和 rlogin 协议。SecureCRT 是一款用于连接运行包括 Windows、UNIX 和 VMS 的理想工具。通过使用内含的 VCP 命令行程原创 2022-06-06 18:36:47 · 291 阅读 · 0 评论 -
云计算该怎么学——PromQL查询剖析
本文让我们一起来看看PromQL查询解析。虽然PromQL有操作符、函数、选择器等,但我们无需被本篇文章中的这些细节所困扰。让我们来看看查询的总体性质:PromQL查询是如何结构化和类型化的?随着时间的推移它们是如何评估的?让我们来看一下PromQL的查询结构。PromQL有操作符、函数、选择器等等,但是我们不要被本篇文章中的细节所困扰。相反,让我们看看查询的整体:PromQL查询是如何构造和输入的,以及随着时间的推移它们是如何被评估的?让我们开始吧!1.PromQL是一种嵌套的函数式语言不像SQL或其他一原创 2022-06-02 10:58:42 · 376 阅读 · 0 评论 -
这些Shell分析服务器日志命令集锦,收藏好了~
自己的小网站跑在阿里云的 ECS 上面, 偶尔也去分析分析自己网站服务器日志,看看网站的访问量。看看有没有黑阔搞破坏!于是收集,整理一些服务器日志分析命令,大家可以试试!1、查看有多少个IP访问:awk'{print$1}'log_file|sort|uniq|wc-l2、查看某一个页面被访问的次数:grep"/index.php"log_file|wc-l3、查看每一个IP访问了多少个页面:awk'{++S[$1]}END{for(ainS)...原创 2022-05-31 17:48:48 · 259 阅读 · 0 评论 -
Docker容器网络必知必会
Docker的技术依赖于Linux内核的虚拟化技术的发展,Docker使用到的网络技术有Network Namespace、Veth设备对、Iptables/Netfilter、网桥、路由等。接下来,我将以Docker容器网络实现的基础技术来分别阐述,希望给大家能形成一个稳固的基础知识网。Network Namespace为了支持网络协议栈的多个实例,Linux在网络栈引入了Network Namespace,这些独立的协议栈被隔离到不同的Namespace中,处于不同Namespace中的网络原创 2022-05-30 19:05:09 · 265 阅读 · 0 评论 -
Shell 脚本进阶经典用法及其案例
一、条件选择、判断1、条件选择if1)用法格式if判断条件1;then条件为真的分支代码elif判断条件2;then条件为真的分支代码elif判断条件3;then条件为真的分支代码else以上条件都为假的分支代码fi逐条件进行判断,第一次遇为“真”条件时,执行其分支,而后结束整个if。2)经典案例:#判断年纪#!/bin/bashread-p"Pleaseinputyourage:"ageif[[...原创 2022-05-27 20:16:46 · 353 阅读 · 0 评论 -
Kubernetes网络策略,这一篇就够了
目前许多组织都在采用Kubernetes来运行他们的应用程序。以至于有些人将Kubernetes称为新的数据中心操作系统。因此,组织开始将Kubernetes(通常缩写为k8s)视为关键任务平台,它需要包括网络安全在内的成熟业务流程。负责保护这个新平台的网络安全团队可能发现它出奇的不同。例如,默认的Kubernetes策略是允许任何连接。本文提供了一些关于Kubernetes网络策略工作原理的简介,它们如何与传统防火墙策略进行比较以及一些可以帮助你保护Kubernetes应用程序的陷阱和最.原创 2022-05-26 17:49:20 · 445 阅读 · 0 评论 -
Spring Boot内置工具类
断言1.断言是一个逻辑判断,用于检查不应该发生的情况2.Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启3.SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查//要求参数object必须为非空(NotNull),否则抛出异常,不予放行//参数 message 参数用于定制异常信息。voidnotNull(Objectobject,Stringmessage)//要求参数必须空(N...原创 2022-05-25 16:56:53 · 231 阅读 · 0 评论 -
利用Linux查找重复文件
方法一:使用Find命令本部分算是对find强大功能的扩展使用方法说明。在find的基础上,我们可与(如xargs命令)等其它基本Linux命令相结合,即能创造出无限的命令行功能,比如:可以快速查找出Linux某个文件夹及其子文件夹中的重复文件列表。要实现这个功能在流程上是比较简单的,只要查找遍历出所有文件,再通过命令去比较每个文件的MD5就OK啦。听起来好像比较抽象,其实命令就一条:find -not -empty -type f -printf "%s\n" | sort -rn | un原创 2022-05-24 17:52:31 · 478 阅读 · 0 评论 -
Bash编程易错总结大全
Bash Pitfalls文章介绍了 40 多条日常 Bash 编程中,老手和新手都容易忽略的错误编程习惯。每条作者在给出错误的范例上,详细分析与解释错误的原因,同时给出正确的改写建议。文中有不少引用的文章,也值得大家仔细阅读。仔细阅读了这篇文章后,收获很多,不感独享,把这篇文章以半翻译半笔记的形式分享给大家。1.for i in $(ls *.mp3)Bash 写循环代码的时候,确实比较容易犯下面的错误:foriin$(ls*.mp3);do#错误!some...原创 2022-05-23 19:01:29 · 308 阅读 · 0 评论 -
Java项目开发餐饮行业管理系统技术开发详细步骤速看
一. 项目介绍本系统主要应用在餐饮行业,可以适用于中餐、西餐、快餐、火锅、烤肉等,主要功能分前端和后端两部分。前端主要完成就餐客户的餐厅预定及点菜环节,后端主要完成餐厅、餐桌的设置,菜品的设置等系统分为前端和后台两部分。1.前端主要功能餐厅选择、菜品选择、下单、结算2.后端主要功能餐桌管理、餐厅管理、菜系管理、菜品管理二. 系统优势饮信息化管理大大降低了企业的运营成本、提高了客户满意度和忠诚度,实现店面的统一管理。然而,餐饮管理系统经过不断的演化和发展,功能及特色逐步向趋同,原创 2022-05-18 18:49:01 · 700 阅读 · 0 评论 -
Apifox接口管理开发测试全流程
一. Apifox简介Apifox是API文档、API 调试、API Mock、API 自动化测试一体化协作平台。功能定位 Postman + Swagger + Mock + JMeter。Apifox主要用于接口管理、开发、测试全流程集成工具,使用受众为整个研发技术团队,主要使用者为前端开发、后端开发和测试人员。而且公网SaaS版本完全免费。二. 背景需求1、概述目前市面上很多团队都有前端后端测试三个岗位,当一个团队在开始开发一个项目前,前端与后端需要提前约定好接口,...原创 2022-05-17 19:51:37 · 1838 阅读 · 0 评论 -
数据类型转化异常问题很难解决
我们在开发Java项目时,经常会碰到数据类型的转化的情况,而很多初学者或经验不够的程序员,经常会在进行数据类型转换时遇到异常。数据类型转换异常虽然是看似简单的错误,但带来的后果却是不可估量的。所以今天千锋老谢就来给大家讲一下数据类型转化过程中产生的问题该如何解决,以及其他需要注意的地方。一、显式类型转换产生的异常首先我们来看下面这个具体的需求,范某某因为偷税漏税被罚款8.83亿,如果程序这么写:double money = 8.83; //单位为亿int newMoney = (doubl.原创 2022-05-16 11:20:50 · 729 阅读 · 0 评论 -
Springboot最大的优势和自动配置
一. 问题阐述最近有不少同学问耀哥,使用SpringBoot和过去用XML配置的SSM程序到底有什么区别,如果我们只从写代码的逻辑来看,用SpringBoot也一样是从控制层开发到持久层,似乎和过去没什么区别。那么SpringBoot的优势到底在哪里呢?今天耀哥就跟大家分析一下这个问题。二. 自动配置其实SpringBoot的优势就在于【自动配置】。大家是否还记得,在过去XML配置SSM程序的时代,我们为了把Mybatis整合到Spring的管理中去,第一件事情就是要配置一个数据源的be原创 2022-05-12 14:59:05 · 694 阅读 · 0 评论 -
Java入行学习超详细路线
虽然我们现在已经有了学习Java的充足信心,你也做好了学习Java的思想准备,但你现在的Java水平还没入门呢,那到底怎样才算入门呢?接下来壹哥再给你分析分析,到底学到什么程度,到底学完哪些Java知识,你才算真正的入门!壹哥会结合2022年最新的Java学习路线,给大家分析一个入门级的Java程序员应该具备的知识技能!一. Java学习路线Java作为后端开发中首选的编程语言,在与各种编程技术的综合对比中都是非常优秀的,当然对于初学者来说,也是具有一定的学习难度的,这也就是为什么学Java的女生比原创 2022-05-11 14:07:12 · 353 阅读 · 0 评论 -
Solr全文搜索入门教程来袭包含京东搜索项目实战案例
当你的笑灿烂像阳光当你的梦做的够漂亮这世界才为你鼓掌只有Java帮助你成长全世界在催着你长大健哥和壹哥心疼你小小翅膀为你撑起solr全文检索技术最困难的地方当你必须成为Java大神满足所有需求只有老师们会格外欣赏一路上你坚强努力的模样一. 课程介绍你知道吗?无论是京东、阿里、华为、百度,这种大厂的项目,还是籍籍无名的项目;无论是PC端的项目,还是移动端的项目;无论是电商项目,还是金融项目......这些众多的项目中,都有一个很显眼很重要的功能需要.原创 2022-05-10 14:14:42 · 271 阅读 · 0 评论 -
JavaWeb新项目视频管理平台要这么做附源码
一 课程介绍简介:本项目为JavaWeb项目(视频管理平台),是在Web环境下实现的视频管理平台。技术上涉及Servlet、JSP、EL表达式、JSTL、Apache Dbutils、分页,以及其他之前Web阶段所学习的课程内容。本项目重点锻炼学员的Servlet、JSP、MySQL数据库等技能,以及熟练掌握JavaWeb项目的实战开发流程及规范。该项目的核心功能如下所示: 管理员登录 管理员界面显示 菜单信息列表 添加新菜单 类别信息列表原创 2022-04-01 17:59:51 · 697 阅读 · 1 评论 -
单机版坦克大战分步实现项目源码
public void launch() { //设置窗口标题 setTitle("千锋坦克大战"); //设置宽高 setSize(width, height); //居中 setLocationRelativeTo(null); //差掉窗口,结束 setDefaultCloseOperation(3); //窗口不可拉伸 setRes...原创 2022-03-29 18:28:42 · 355 阅读 · 0 评论 -
大厂面试题面试,有关session的问题怎么回答呢
金三银四面试黄金周期,相信很多小伙伴儿都参加大大小小不少面试啦!今天大连九哥给大家剖析一下有关session的面试题。首先session是我们在学习javaweb时很重要的一个技能点,在面试的时候经常被面试官问到,常见问题如下:1、session和Cookie的区别是什么?2、session的生命周期是怎样的?3、session的性能瓶颈?4、session的工作原理?……今天大连九哥就来和大家来剖析一下session的工作原理。特别说明一下,现在说的session是原创 2022-03-28 17:55:06 · 328 阅读 · 0 评论 -
标准的开发框架,对企业开发有多重要?
在最近这几年,互联网进行业入了蓬勃发展的时期,尤其是移动互联网的快速普及,已经颠覆了传统的行业模式。如今人们的生活已经无法离开网络,整个商业市场也随之发生着天翻地覆的变化。有越来越多的新企业,随着互联网的浪潮开辟着新兴市场。凭借独特新颖的业务模式,新兴企业的规模得以迅速壮大,在短时间内超越了诸多传统公司,成为互联网时代的宠儿。不过,虽然新企的业务发展走在了前列,但是企业信息化的建设却于传统公司并无二致,其老旧拖沓的运作方式,严重影响着企业战略的实施。所谓形新而神不新。之所以会出现上述情况..转载 2020-10-30 15:19:25 · 407 阅读 · 0 评论 -
浅析Dijkstra单源最短路径算法
单源最短路径问题给定 加权有向图G=(V,E,W),每条边的权值w为 非负数,表示两个顶点间的距离。源点s∈V。求:从s出发到其他各个顶点的最短路径。编辑如上图所示,以1为源点,计算到其余各个顶点的最短距离(我已用红线标出)。下面列出了最终解:源点:11->6->2 : short[2] = 51->6->2->3 : short[3] = 121->6->4 : short[4] = 91->6->5 : .转载 2020-10-30 15:13:47 · 528 阅读 · 0 评论 -
字节跳动2020Java面经,你离高薪就只差一篇面试题了
前言经历了惨痛的春招与秋招之后,也积攒了一些面经,希望能对大家有所帮助。其他什什么是幂等?什什么情况下需要考虑幂等?你怎么解决幂等的问题?Java多个线程同时读写,读线程的数量量远远⼤大于写线程,你认为应该如何解决并发的问题?你会选择加什什么样的锁? JAVA的AQS是否了了解,它是⼲干嘛的? 除了了synchronized关键字之外,你是怎么来保障线程安全的? 什什么时候需要加volatile关键字?它能保证线程安全吗? 线程池内的线程如果全部忙,提交⼀一个新的任务,会发⽣生什什转载 2020-10-30 15:12:00 · 191 阅读 · 1 评论 -
JVM 对象分配过程
对象分配过程1)依据逃逸分析,判断是否能栈上分配? 如果可以,使用标量替换方式,把对象分配到VM Stack中。如果 线程销毁或方法调用结束后,自动销毁,不需要 GC 回收器 介入。 否则,继续下一步。 2)判断是否大对象? 如果是,直接分配到堆上Old Generation老年代上。如果对象变为垃圾后,由老年代GC 收集器(比如 Parallel Old, CMS, G1)回收。 否则,继续下一步。 3)判断是否可以在TLAB中分配? 如果是,在TLAB中分配堆上...转载 2020-10-29 16:49:51 · 261 阅读 · 0 评论 -
科普文:峨中间件技术是什么?
中间件(MiddleWare)虽然从字面上解释就是“处于中间的软件”但却在系统中占有重要作用,中间件与操作系统、数据库被称为系统软件的三驾马车,其位于信息系统的中间层,承上启下作用关键。能够帮助用户灵活、高效地开发和集成复杂的应用软件。世界著名的咨询机构 Standish Group 在一份研究报告中归纳了中间件的十大优越性: 缩短应用的开发周期; 节约应用的开发成本; 减少系统初期的建设成本; 降低应用开发的失败率; 保护已有的投资; 简化转载 2020-10-29 16:46:24 · 180 阅读 · 0 评论 -
JSoup与代理IP的结合
Java 的jsoup 是标准的HTML解析器,可采集指定的网页网站数据。通过简洁易用的API,调用DOM、CSS实现jQuery的操作提取特定的数据。jsoup 的特性:1. HTML数据解析分析2. DOM或CSS选择器定位直接获取数据3.HTML元素、属性、文本的直接交互 在数据采集的过程中,部分网站会限制爬虫访问,这种时候就需要使用代理IP,为每个http请求分配不同的IP地址,实现数据快速采集请求的目的。 对于jsoup 下如何配置使用代理IP,下面的de...转载 2020-10-29 16:38:42 · 706 阅读 · 0 评论 -
HTML5——CSS学习笔记(3)CSS基础要打好
CSS基础CSS(cascading style sheet) 汉译为层叠样式表,是用于控制网页样式WEB标准中的表现标准语言,在网页中主要对网页信息的显示进行控制。目前推荐遵循的是W3C发布的CSS3.0版本;用来表现HTML或者XHTML等样式文件的计算机语言。1998年5月21日由w3C正式推出的css2.0HTML + CSS弥补html语言的不足缩减页面代码,提高访问速度;代码减少,页面文件就会小,占用网络带宽就少,客户端打开速度就快,用户体验就会更好结构清晰,有利于se转载 2020-09-27 14:33:27 · 140 阅读 · 0 评论 -
HTML5——CSS学习笔记(2)HTML表单标签
表单1 : 表单标签<form></form>属性 :action = '接口地址'method = 'get / post'name = '表单名称'2 : 表单控件<input>属性:type = '控件类型'name:属性标识表单域的名称;Value:属性定义表单域的默认值,其他属性根据type的不同而有所变化。maxlength:控制最多输入的字符数,Size:控制框的宽度(以字符为单位)1)文本框<input typ转载 2020-09-27 14:33:18 · 115 阅读 · 0 评论 -
低功耗蓝牙(BLE)和传感器的使用
一、低功耗蓝牙的使用Android中关于蓝牙的开发文档,可以参考Google提供的官方蓝牙文档:https://developer.android.google.cn/guide/topics/connectivity/bluetooth.html在Android开发中,应用可通过官方提供的蓝牙API执行以下操作:扫描其他蓝牙设备 查询本地蓝牙适配器的配对蓝牙设备 建立 RFCOMM 通道 通过服务发现连接到其他设备 与其他设备进行双向数据传输 管理多个连接蓝牙一个近距离无线通信转载 2020-09-27 14:33:07 · 295 阅读 · 0 评论 -
Android自定义控件
零、View在Android中,无论是熟知的布局,还是控件,统统全都继承自基类View。自定义View实现有几种:① 自定义组合控件:多个控件组合成为一个新的控件,方便多处复用 ② 继承系统View控件:继承自TextView等系统控件,在系统控件的基础功能上进行扩展 ③ 继承View:不复用系统控件逻辑,继承View进行功能定义 ④ 继承系统ViewGroup:继承自LinearLayout等系统控件,在系统控件的基础功能上进行扩展 ⑤ 继承ViewGroup:不复用系统控件.转载 2020-09-27 14:32:58 · 161 阅读 · 0 评论 -
前端企业面试题:企业真实案例——29
实现一个二分法查找var searchInsert = function(nums, target) { //确定左右边界索引 let min = 0; let max = nums.length-1; while(min <= max) { let midIndex = (min+max)>>1; //向右移位,等价于除以2取整 //找到了直接返回 if( target == nums[midIndex原创 2020-09-10 14:15:07 · 136 阅读 · 0 评论 -
菜鸟面试攻略
大家在找工作时,是不是这样的情景(大致描述一下,自己进行脑补)1、雄心壮志,准备阶段:你在网上搜索了大量的面试题目和答案,开始背诵,……结果发现:很难记住,好不容易记住了,却忘得很快(宝宝很难)……垂头丧气 ......好吧,告诉你:这是因为,网上搜索到的面试题答案,都是大段的晦涩难懂的描述性文字。(砖太烫手了......嘿嘿嘿)2、忐忑不安,等待面试面试题没有记住,记住的好像也 ...... 忘了3、瑟瑟发抖,面试过程诚惶诚恐、如坐针毡......4、七个世纪,原创 2020-09-10 14:12:37 · 610 阅读 · 0 评论 -
前端企业面试题:企业真实案例——28
请实现一个约瑟夫环首先,你必须先搞清楚什么是约瑟夫环。相传,在罗马人占领敲他帕特之后,39个犹太人跟约瑟夫以及他的朋友躲到了一个山洞中,39个犹太人决定宁死也不要被敌人抓到,于是决定了一个自杀方式,41个人围成一个圈,由第1个人开始报数,每报数到第3人,该人就必须自杀。然后再由下一个重新报数,直到所有人都自杀身亡为止。然而约瑟夫和他的朋友并不想遵从。他将朋友和自己安排在了第16个和第31个位置,于是逃过了这场死亡游戏。请问他是如何做到的?它可以衍生为一个通用问题,假设有M个元素如果把每个原创 2020-09-10 14:12:21 · 116 阅读 · 0 评论 -
Kbone 基础——Vue + Kbone 实现 Todos App
1、搭建Vue开发环境在命令行输入以下命令,创建一个vue-todos项目:// 在全局安装 @vue/clinpm install -g @vue/cli// 在kbone目录下创建vue-todos项目vue create vue-todos// 运行项目cd vue-todosnpm serve2、编写Vue todos代码2.1 改写main.js将main.js引入的App.vue组件替换为Todos.vue组件:import Vue f...转载 2020-09-02 13:54:46 · 186 阅读 · 0 评论 -
Electron使用指南——删除信息
在打开的窗口里注入按钮,点击按钮关闭窗口,同时删除相应的条目。1、在打开的窗口中注入按钮修改/src/components/button.js,编写创建的按钮JS代码,同时修改注入语句,将被点击条目的index值传递到窗口的按钮上。1.1 button.jsexport default ` let readitClose = document.createElement('div') readitClose.innerText = '关闭窗口' readitClose...转载 2020-09-02 13:54:38 · 717 阅读 · 0 评论 -
Electron使用指南——14打开网站窗口
点击一个条目,根据获取到的网站URL信息,打开网站窗口。1、修改 Main.vue在/src/components/Main.vue组件里,给每个条目添加双击事件,双击后打开网站窗口,同时注入一段JS代码:<template> <main> // ... <div id="items"> <div // ... @dblclick="open(item.url, index)...转载 2020-09-02 13:54:29 · 1092 阅读 · 0 评论 -
Kbone基础——React + Kbone 实现 Todos App
1、搭建React开发环境在命令行输入以下命令,创建一个react-todos项目:// 如果全局没有安装create-react-app, 可以使用npx安装npx create-react-app react-todos// 运行项目cd react-todosnpm start2、编写React todos代码2.1 改写index.js引入组件Todos.js。// ...import Todos from './Todos';// ...Reac..转载 2020-09-02 13:54:21 · 262 阅读 · 0 评论 -
Electron使用指南——11添加一个新的信息
1、创建 Store1.1 编辑 store编辑/vue-renderer/src/store/index.js:import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({ state: { isShowModal: false }, mutations: { setModalVisible(state, show) { s.原创 2020-09-01 14:12:47 · 219 阅读 · 0 评论 -
Electron使用指南——获得屏幕快照
1、完善主进程处理从渲染进程中拿到url后,通过offscreen获取屏幕快照。 在项目根目录下,创建readItem.js:// /readItems// Modulesconst {BrowserWindow} = require('electron')// Offscreen BrowserWindowlet offscreenWindow// Exported readItem functionmodule.exports = (url, callback) =...原创 2020-09-01 14:12:40 · 694 阅读 · 0 评论