- 博客(68)
- 收藏
- 关注
原创 Portainer CE 安装汉化教程_portainer ce 汉化
Portainer 是一款开源的容器管理工具,旨在帮助用户更轻松地管理 Docker 环境。无论您是 Docker 新手还是经验丰富的开发人员,Portainer 都提供了直观的用户界面,使您能够方便地创建、部署和监控容器。安装 Portainer 非常简单。您可以通过 Docker 命令行或 Docker Compose 来安装 Portainer 容器。一旦安装完成,您可以通过浏览器访问 Portainer 的 Web 界面。
2025-02-06 13:22:15
1015
原创 ping 原理与ICMP协议[转]_在ping时,指定长度是61888b,为何这里显示的是61896b 结合icmp协议格式解释一下
首先,Ping命令会构建一个固定格式的ICMP请求数据包,然后由ICMP协议将这个数据包连同地址“192.168.1.2”一起交给IP层协议(和ICMP一样,实际上是一组后台运行的进程),IP层协议将以地址“192.168.1.2”作为目的地址,本机IP地址作为源地址,加上一些其他的控制信息,构建一个IP数据包,并在一个映射表中查找出IP地址192.168.1.2所对应的物理地址(也叫MAC地址,熟悉网卡配置的朋友不会陌生,这是数据链路层协议构建数据链路层的传输单元——帧所必需的),一并交给数据链路层。
2025-02-06 13:20:32
603
原创 Markdown骚操作|字体颜色、字体背景、流程图一网打尽【建议收藏】_md文档给标题加颜色
删除线[^脚注]红色字体绿色字体蓝色字体黑体字5号字别犹豫了!点赞吧!高亮显示搞点颜色饕餮 tāo tiè下划线无序列表无序列表无序列表第一项第二项第三项第一级第二级print(‘Hello World’)y=x2+1y=x^2+1y=x2+1y=x2+1y=x^2+1y=x2+1左对齐右对齐居中对齐单元格单元格单元格单元格单元格单元格这是二哥的主页: 二哥不像
2025-02-06 03:19:39
481
原创 JVM系列(4)_java程序员35岁被辞退
在JDK1.2之前,在自定义类加载器时,总会去继承ClassLoader类并重写loadClass()方法,从而实现自定义的类加载类,但是在JDK1.2之后已不再建议用户去覆盖loadClass()方法,而是建议。在Java的日常应用程序开发中,类的加载几乎是由上述3种类加载器相互配合执行的,在必要时,我们还可以自定义类加载器,来定制类的加载方式。在另外的程序中加载 String 类,看看加载的 String 类是 JDK 自带的 String 类,还是我们自己编写的 String 类。
2025-02-05 23:20:25
960
原创 JVM篇:对象的深度剖析
上面分别是32位和64位的对象头信息,64位系统的MarkWord在对象头中占64位,我们详细来分析一下对象头里面有哪些东西无锁和偏向锁状态下用4bit来存储对象的分代年龄,默认情况下是0000, 最大值只能是1111。我们可以通过代码看一下对象的组成结构:jol-core0.9复制代码复制代码运行结果:把结果复制出来,和上面的MarkWord图对比着看一下:复制代码。其中01是锁标志位,前面的0表示是否是偏向锁,我们这个对象是没有加锁的,所以这个地方是0。
2025-02-05 23:18:44
708
原创 Java后端工程师必备书单(含大后端方向相关书籍)_后端工作岗位上看教材的人
作为大数据方面的一本教材,厦大教授写的这本书还是非常赞的,从最基础的原理方面讲解了Hadoop的生态系统,并且把每个组件的原理都讲得比较清楚,另外也加入了spark,storm等内容,可以说是大数据入门非常好的一本书了。这本书把Redis的基本原理讲的一清二楚,包括数据结构,持久化,集群等内容,有空应该看看。这两部书籍非常适合学习算法的入门,前者主要用图解的形式覆盖了大部分常用算法,包括dp,贪心等等,可以作为入门书,后者则把很多常用算法都进行了实现,包括搜索,图,树等一些比较高级的常用算法。
2025-02-05 18:44:31
632
原创 Elasticsearch OOM(内存溢出)
另外,ES 5.6应为“fs”,不支持“hybridfs”,最新的7.4版本支持“hybridfs”)。ES默认会自动创建文档Id"(如:_id": “AW8922mK8RqpiZJD9zb2”),如果自己生成Id,则每次存储新的文档的时候,ES都会查看整个分片是否已经存在该Id。1)max_num_segments, 设置最大segement数量,数量越小,查询速度提高越明显,但merge耗时越长;但一旦增大到7个索引,就不行了。题外话,如果贵司银子多,可以集群分片,搞SSD,否则只有结构优化,这一招。
2025-02-04 15:23:10
946
原创 Elasticsearch OOM(内存溢出)(1)
首先,说明笔者的机器环境(不结合环境谈解决方案都是耍流氓): cpu 32核,内存128G,非固态硬盘:RAID0 (4T * 6),单节点,数据量在700G到1800G,索引15亿~21亿。敖丙大人,在蘑菇街,可多集群分片,固态硬盘,比不起啊。
2025-02-04 15:21:27
599
原创 c++ 之 std move 原理实现与用法总结_std move
首先,函数参数T&&是一个指向模板类型参数的右值引用,通过引用折叠,此参数可以与任何类型的实参匹配(可以传递左值或右值,这是std::move主要使用的两种场景)。②对于static_cast<>的使用注意:任何具有明确定义的类型转换,只要不包含底层const,都可以使用static_cast。简单来说,右值经过T&&传递类型保持不变还是右值,而左值经过T&&变为普通的左值引用.公式一)X& &、X&& &、X& &&都折叠成X&,用于处理左值。公式二)X&& &&折叠成X&&,用于处理右值。
2025-02-04 11:01:38
290
原创 C#进阶-IIS服务器发布ASP
bin 目录是应用程序目录,里面默认装的是 所有.cs文件的编译版本(.dll文件),包含每个模块的.dll文件和.pdo缓存文件,每次我们修改 .cs 文件或者引入 nuget 包,bin目录都会发生变化,需要重新发布才能生效;configs 目录一般是存放 log4j.config 等配置文件;css 目录存放前端样式文件;images 目录存放静态图片;js 目录存放前端 JavaScript 代码;Map 目录存放 MyBatis框架 封装的 .xml文件;
2025-02-04 10:59:56
1023
原创 Android-UI-线程更新UI也会崩溃???
是不是很简答。小哥怒写一波代码:@Override@Override});@Overridetry {// 模拟服务器请求,返回问题String title = “鸿洋帅气吗?}.start();很简单吧,点击按钮,新启动一个线程去模拟网络请求,结果拿到后,把问题展示在Dialog。下面开始写Dialog的代码:show();很简答,就一个标题,两个按钮。
2025-02-04 05:23:50
909
原创 Selenium上传文件有多少种方式?不信你有我全
他们之间的区别在于元素的 el.click 方法更加严格,会对元素是否可见,是否可点击进行检测,在点击事件完全生效后,再执行下面的操作,如果不满足这些条件,可能会报错。而 Action 下的 click 方法则粗暴得多,它几乎不对对元素进行检测,直接把鼠标移动到元素上方,执行点击操作,至于点击是否生效,根本不管。一般来说,如果需要上传文件,那么当你点击这个元素之后,会出现一个文件上传的对话框,要求你选择文件,并点击确定。在操作对话框之前,首先我们通过 selenium 点击文件上传的元素。
2025-02-03 09:26:47
256
原创 Linux 后台开发运维人员常用的Linux命令汇总_linux后台开发常用指令
string向上查找;显示文件的第10行数据:前10行的最后一行 head -n 10 test | tail -n 1。这不是一个单独的指令,与其他的指令搭配使用,表示当前用户的这次操作临时进行提权。-n 3 指定要显示的行数 head -n 3 test。-n 3 指定要显示的行数 tail -n 3 test。:递归的删除掉目录中所有文件之后,然后再删除目录本身。删除目录的同时,把祖宗目录页删除 ,要求目录为空。显示匹配到的包含指定字符串的行在文件中的行号。:递归拷贝目录中的所有文件到指定的位置。
2025-02-02 01:29:39
281
原创 linux 下查看硬盘型号、大小等信息(含Raid)_linux查看磁盘是不是sas盘
【代码】linux 下查看硬盘型号、大小等信息(含Raid)_linux查看磁盘是不是sas盘。
2025-02-02 01:27:55
854
原创 Centos7下安装部署Zabbix-server 3
LAMP:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。LNMP:LNMP指的是一个基于CentOS/Debian编写的Nginx、PHP、MySQL、phpMyAdmin、eAccelerator一键安装包。可以在VPS、独立主机上轻松的安装LNMP生产环境。
2025-01-31 09:52:45
807
原创 centos7(2)
6 RabbitMq默认自带一个账号为 guest, 密码也为guest的用户,但是只能本机访问,如果需要在其他服务器访问,需要添加配置文件,默认没有,按照官方推荐方式直接复制一份。3 启动RabbitMq(如果不能全局执行启动命令,🉑️切换到安装目录执行, 笔者是 /usr/lib/rabbitmq/bin)设置用户角色:rabbitmqctl set_user_tags {username} {tag …10 通过 ip:15672访问rabbitmq主页,默认有一个guest、 guest账户。
2025-01-31 09:50:58
738
原创 Android音视频开发入门(5)使用LAME编码一个PCM文件
接着在 app build.gradle下加入:android {cmake {//设置C++标准为默认ndk {//ndk模块名称//声明logcmake {//指定CMake文件路径接着我们在 app下面创建,(以前是使用Android.mk,这个相当于代替它的)
2025-01-26 19:15:32
716
1
原创 android选项卡TabHost功能和用法详解
activity_main.xml页面中定义了四个tab选项卡,里边随便放了一下组件。//res.getDrawable(R.drawable.wo)添加图片。.setIndicator(“tab1”) //设置标题。MainActivity.java(大部分都有注释)//获取该Activity里面的TabHost组件。//设置默认选项卡,第几个,从0开始。//初始化TabHost容器。//创建第一个Tab页。//添加第一个标签页。
2025-01-26 19:13:31
436
原创 Python赚钱千万不能有加法思维
视图就是一个Python函数,被定义在views.py中。视图的必须有一个参数,一般叫request,视图必须返回HttpResponse对象HttpResponse中的参数内容会显示在浏览器的页面上。打开CatBook/views.py文件,定义视图index如下return HttpResponse(“有了,简单吧!”)
2025-01-24 16:51:04
967
原创 node升阶段面试50
异步: 执行到异步操作时,会将异步读取任务放置任务队列,等所有同步执行完毕,任务队列中的回调函数会依次执行。get: 参数追加在url后面、明文可见、不安全、长度有限制(IE 2k) 、请求速度快、一般用于查询。npm 是包管理工具,下载包时可以用cnpm代理、也可以yarn代替(google的产品)。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。同步:执行同步操作时,会从上往下依次执行。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。
2025-01-24 01:03:01
270
原创 MAC显示屏的网页图片兼容方案_css 背景图片 mac兼容
这样,对于普通的显示设备或是不支持 Meta Queries 的浏览器,会显示标准的背景图,对于支持 Meta Queries 的 Mac 设备,会显示 @2X 的背景图。( IE6、7、8 均不支持 Meta Queries 和 background-size )
2025-01-23 23:23:57
526
原创 Kotlin协程中的Flow
/TODO 背压:.buffer(0) 先emit 1和2 -> collect 1和2 再emit 3 -> collect 3。//TODO 合并其他流,本流发射数 < 其他流的发射数时,合并完的次数为本流的次数。//TODO List 转成 Flow。//TODO List 转成 Flow。//TODO List 转成 Flow。//TODO List 转成 Flow。//TODO List 转成 Flow。//TODO List 转成 Flow。//TODO List 转成 Flow。
2025-01-23 22:00:33
789
原创 Java入门(基础篇一)
进制就说进位计数制,比如常见的十进制,就是我们平时用的逢十进一。二进制就说逢二进一,八进制就说逢八进一,十六进制逢十六进一。在计算机的世界里只认识二进制。在二进制数系统里,每个0或1就是一个位元,叫做bit是二进制单位。字节是我们常见的计算机中最小的存储单元。bit是最小的信息单位。特别注意:这两个是不一样的计算机存储数据,都是以字节的形式存储,我们在计算机任何一个盘符,以右键点击文件属性,就可以看到文件的字节大小。8个bit(二进制位)表示为一个字节,写成1byte 或者1B。
2025-01-23 17:59:15
381
原创 Java 基本数据类型
Float和Double的最小值和最大值都是以科学记数法的形式输出的,结尾的"E+数字"表示E之前的数字要乘以10的多少次方。在Java中,引用类型的变量非常类似于C/C++的指针。必须满足转换前的数据类型的位数要低于转换后的数据类型,例如: short数据类型的位数为16位,就可以自动转换位数为32的int类型,同样float数据类型的位数为32,可以自动转换为64位的double类型。对于数值类型的基本类型的取值范围,我们无需强制去记忆,因为它们的值都已经以常量的形式定义在对应的包装类中了。
2025-01-23 16:37:02
842
原创 grafana设置Alert阈值和邮件报警_grafana 声音提醒
channel配置好了之后我们来添加alert,在图表中添加一个专用的报警查询sql,也可以使用现有的,但是注意,这里有个坑,就是这个sql中一定不能有templating变量,否则会报以下错误。编辑/etc/grafana/grafana.ini,[smtp]下添加如下几行,其他还可以配置用户名密码来使用公网上有验证的smtp服务,但是这里我们用的是本地smtp,无密码验证。输入如图的命令对本地smtp进行测试,查看是否收到邮件,收到邮件则本地smtp配置成功,否则,请检查系统服务或咨询网络提供商。
2025-01-23 15:09:36
510
原创 C语言中的多线程编程:POSIX线程库(Pthreads)入门与实战(三)_posix pthread
线程池是一种预创建并管理一组工作线程的技术,用于处理异步任务。使用线程池的优点包括减少线程创建销毁开销、更有效地利用系统资源,以及简化任务调度。在多线程环境中,任务的优先级管理可以帮助系统更高效地处理重要或紧急的任务。Pthreads提供了。调试多线程程序往往更具挑战性,因为问题可能涉及竞态条件、死锁等难以复现的现象。每当Pthreads函数返回错误时,它们通常会设置一个对应的错误码,可以通过。函数来设置线程的调度策略和优先级。
2025-01-22 23:59:25
541
原创 App Thinning Xcode9打包选择
有了资源文件,你的代码就可以极大的简化,不必通过创造复杂的数据或者图形设置写复杂的代码。Xcode会在研发过程中模拟分割,所以你可以在本地创作并测试定制应用包,当你在一个设备上研发并运行应用的时候,Xcode会对其进行分割,当你创造一个档案的时候,Xcode会包含完整版的应用,但允许你从档案中输出不同的定制应用包。1.初始化资源延迟加载的应用,这些应用的一些资源属于应用的主要功能,但在初次登录的时候却用不到,资源会被标记为需要初始化,当应用运行的时候,操作系统会自动下载这些资源,比如图形编辑应用。
2025-01-22 22:22:20
426
原创 Android开发Gradle高级技巧、自定义Gradle-Task、打包完成自动签名、执行Shell脚本
}}如上定义好了多渠道打包就只需要在Terminal执行Mac/Linux用户./gradlew assembleDebugWindows用户gradlew assembleDebug这样就会在/app/build/outputs/apk中生成我们的apk了###二:废话不说了直接进入正题,自定义Gradle Task先看下一个基本的task结构(当然也还要一些其他东西,这就需要去Gradle文档查看了)task autoSign {//依赖于其他Task执行完,在执行本TaskdependsO
2025-01-22 21:01:03
750
原创 2024最新成功收获字节(Java后端开发)意向书:面经分享
注意:我投的是java后端开发~面试项目大部分问题是围绕我的开源项目 蘑菇博客 展开的,还有就是我之前准备面试的一些刷题笔记(大佬请轻喷…)有需要的添加小助理vx:mxzFAFAFA面试时间====HR面完后,等了一个礼拜多,以为凉凉了,没想到收到惊喜,许愿成功~第一面===自我介绍怎么打算投递后台岗位的,没有考虑契合自己研究方向的工作有了解过OAuth2.0么,说说你对OAuth2.0的理解蘑菇博客开发过程中,有了解或学习其它的开源框架么蘑菇博客文章发布的流程是怎么样的,是多人博客系统么。
2025-01-22 16:42:45
940
原创 C++游戏引擎开发_c++如何输出游戏标题
在游戏开发中,从一开始就确定正确的开发平台是很重要的。SDML支持几乎我能想像出的每一个平台,包括Linux,Windows,所有的MacOS变异物,WinCE,Dreamcast还有另外一些操作系统。然而,成功的Quake级的游戏开发标准要求更多:世界级音频支持,网络连接,用户输入设备支持,以及实时的管理能力等。SDML用C写成,但生来就与C++一起工作,已经绑定到了另外许多语言,包括Ada,Eiffel,Java,Lua,ML,Perl,PHP,Pike,Python和Ruby。(见图1)的开发引擎。
2025-01-20 16:03:44
908
原创 async和await_async await
单一的Promise链并不能发现async/await的优势,但是,如果需要处理由多个Promise组成的then链的时候,优势就能体现出来了(Promise通过then链来解决多层回调的问题,现在又用async/await来进一步优化它)。如果它等到的是一个Promise对象,await就忙起来了,它会阻塞后面的代码,等着Promise对象resolve,然后得到resolve的值,作为await表达式的运算结果。一个直接量,async会把这个直接量通过。
2025-01-20 15:30:53
714
原创 Android适配器和适配器视图_适配器视图引用
步骤2:创建资源文件创建一个新的布局XML文件,其根元素为,并将其命名为项.xml。将“大文本”微件拖放到其中,并将其属性的值设置为cheese_name。步骤3:创建适配器在活动中,使用类的构造函数创建类的新实例。作为其参数,传递资源文件的名称、的标识符和对数组的引用。适配器现在已准备就绪。
2025-01-20 15:00:31
562
原创 android 定时打电话教程(1)
由于同学要求,希望有人能定点打电话给她,故开发了这个小程序,如果有人要更多的功能,可以提!需要了解下PendingIntent,AlarmManager,Broadcast。继人员列表,聊天的实现,包括图片,语音,位置,表情。小说分页阅读支持左右滑屏,添加书签,进度跳转。移动资讯——<<我是开发者>>个人专访。主界面,设置时间并且时间到发送广播。//broadcast接受广播。android仿苹果日期选择器。
2025-01-20 13:19:37
364
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人