自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 资源 (6)
  • 收藏
  • 关注

原创 IDEA搜索指定某个类的方法的引用位置

但是像Object定义的Equals方法这种,搜索出来的结果是超级多的,根据没法看,因此想要。把选项Search for base method usages剔除掉就行了。搜索方法引用位置的时候,如果该方法是接口定义出来的,则结果里会。包含其他实现类的该方法的引用位置。只看该类的方法引用位置。

2023-12-29 11:57:35 469

原创 VScode的入门手册(IDEA迁移到VScode)

第二个功能:查找子类方法对应的接口定义,对应vscode的Go to Declaration,因此也将它设置快捷键 Command+D,但这会让Go to Implementations失效。从IDEA迁移到VScode的过程中,会有很多不适应的地方,下面算是一篇VScode的入门手册,也可以说是从IDEA迁移到VScode的手册。在打开的键盘快捷键设置页面中,你可以搜索你想要修改的命令,然后点击相应命令行右侧的铅笔图标进行修改。·如果想要搜索的类在你的代码中,则使用上面的查找定义即可。

2023-12-29 11:51:57 1697 1

原创 IDEA/VScode + Git Blame

其中,<username> 是仓库所有者的用户名,<repository> 是仓库的名字,<commit_id> 是 commit 的 ID。IDEA中支持查看每行代码的commit信息,这是靠git blame命令来完成的。点击Terminal,则构造git show命令来显示该commit的完整提交日志。安装完成后,下面的状态栏就会显示光标所在行的代码的git blame信息。你可以将这个链接复制到浏览器中打开,查看该 commit 的详细信息。点击它,弹窗显示commit信息。

2023-12-29 10:21:35 1021

原创 Linux Shell遍历目录下文件/文件夹

【代码】Linux Shell遍历目录下文件/文件夹。

2023-12-29 10:09:00 882

原创 Linux任务执行完成提示

有些命令任务执行时间较长,可以让其执行完成时发出声音来提示。如果当前不在Iterm2窗口里,还会弹窗提示。前一条命令成功执行后,会发出声音。

2023-12-29 10:02:33 374

原创 grafana 指标单位 bytes metric和bytes IEC

grafana中的bytes metric和bytes IEC的区别在于它们所使用的字节单位不同。bytes metric使用的是国际单位制(SI)中的字节单位,而bytes IEC使用的是IEC标准中的字节单位。具体来说,bytes metric使用的是以1000为基数的十进制字节单位(如KB、MB、GB),而bytes IEC使用的是以1024为基数的二进制字节单位(如KiB、MiB、GiB)。panel中数据size的单位,有两种:bytes metric、bytes IEC。

2023-12-29 09:49:04 1152

原创 开源社区黑话

WIP   Work in progress, do not merge yet. // 开发中。NACK/NAK — negative acknowledgement. // 我不同意。ACK  —  acknowledgement. // 我确认了或者我接受了,我承认了。IIRC  —  if I recall correctly. // 如果我没记错。CC Carbon copy // 一般代表抄送别人的意思。// 我觉得这个想法很好, 我们来一起讨论下。// 帮我看下,一般都是。

2023-09-05 12:07:21 219

原创 Linux命令执行完成提醒

有些命令任务执行时间较长,可以让其执行完成时发出声音来提示。如果当前不在Iterm2窗口里,还会弹窗提示。前一条命令成功执行后,会发出声音。

2023-09-05 12:00:09 204

原创 IDEA搜索指定某个类的方法的引用位置

但是像Object定义的Equals方法这种,搜索出来的结果是超级多的,根据没法看,因此想要。把选项Search for base method usages剔除掉就行了。搜索方法引用位置的时候,如果该方法是接口定义出来的,则结果里会。包含其他实现类的该方法的引用位置。只看该类的方法引用位置。

2023-09-05 11:54:24 399

原创 Java项目里添加python解析器

java项目里配置了SDK为1.8,添加python文件时会无法解析。

2023-07-24 16:59:07 260

原创 北通阿修罗2 Pro 多模板 连接Cemu 支持体感

将手柄切换为Switch模式,即可识别为Nintendo Switch Pro手柄了,然后也支持勾选Use Motion了,勾选完成后,就可以直接使用体感了!其他控制器,如Xbox控制器,不支持运动控制,需要其他方法来启用它们(如利用手机的陀螺仪来代替)。先按住【LB键】不松开+按一次【LOGO键】,直到Logo处指示灯快速炫彩闪烁后松手,这样其实就能切换为NS模式了。需要使用体感的游戏基本上都是任天堂的游戏,如塞尔达。电脑尝试去连它的时候,一开始能够连上,显示蓝光,但很快又自动断开了,据客服反应,

2023-06-23 09:27:44 1914

原创 Pulsar 负载均衡与transaction_coordinator_assign

比如说,broker1加载了所有TC,但是因为没加载什么业务流量,导致CPU负载(资源使用率,或者说scores)比较低,但是broker2、broker3一个TC都没加载,反而因为加载了大部分流量导致CPU负载比较高。对所有broker承载的TC个数进行统计排序得到一个queue,假设根据承载的TC个数对broker 进行编号,编号为broker1 ~ broker N,broker1承载最多的TC,broker N承载最少的TC。但是目前所有的负载均衡算法,在分配bundle的时候,都是。

2023-05-30 18:05:47 517 1

原创 Flink+Pulsar、Kafka问题分析及方案 -- 事务阻塞

跟kafka一样,可能会发生重启任务后并发度增大的情况,假设前面启动时的并发度为P1,当前启动的并发度为P2,因此前面的任务执行使用的ClientName范围为[0,P1 ),我们需要把这些ClientName对应的事务都abort一次,但是P1是不可知的。Flink从Checkpoint/Savepoint启动时,对于前面没完结的事务都会存储在Checkpoint/Savepoint里,启动时会调用recoverAndCommit/recoverAndAbort方法来处理掉,一般这是没啥问题的。

2023-05-18 18:02:05 949 1

原创 FlinkKafkaProducer 源码分析

这里有一个问题需要解决的:由于不从checkpoint/savepoint中启动,因此我们无法得知之前启动时的并发度,假设前面启动时的并发度为P1,当前启动的并发度为P2,因此前面的任务执行使用的事务ID范围为[0,P1 * PoolSize),我们需要把这些事务ID都abort一次,但是P1是不可知的。因此我们还需要补充abort那些不在快照里的事务ID,因为Kafka connector的事务ID都是固定的,都在池子里存储着,而Context里存储了事务ID池子,因此恢复userContext后,

2023-05-18 17:50:51 637

原创 Pulsar幂等性开发的设计文档

因为成功写入__terminated_txn_state 在更新事务状态为ABORTED之前,因此写入的事务元数据是aborting,因此对于Preserver保存的事务数据,我们应当视aborting等同于aborted,因为aborting的事务最终只可能为aborted,而如果到了查询Preserver里的数据的逻辑,那此时肯定已经抛出TransactionNotFound错误,已经删除掉对应的事务元数据了,因此此时肯定是aborted了。至于其他成员数据量比较大,如分区信息,都不序列化。

2023-04-24 20:02:09 488

原创 Flink+Pulsar、Kafka问题分析及方案 -- 幂等性

pulsar的transactionID是由broker分配的,不用用户设置,也没法设置;而kafka这里是用户设置的。kafka的ProducerID是由broker分配的,用户没法设置;但是pulsar的ProducerName是可以由用户设置的。kafka会复用transactionID,transactionID一个时刻对应一个事务,这个事务完成后可以复用这个transactionID开启下一个事务,broker会使用一个Map维护每个transactionID的元数据。

2023-04-24 15:50:13 1276

原创 Flink+Kafka、Pulsar实现端到端的exactly-once语义

倘若commit失败(比如网络故障等),Flink应用就会挂掉,然后根据用户重启策略执行重启逻辑,之后再次重试commit。举个例子,Pravega是Dell/EMC的一个开源流式存储系统,Flink搭配它也可以实现端到端的exactly-once semantics。左侧为正常事务的提交(以客户端的视角)流程,右侧为checkpoint 略缩版流程, 那么现在需要将这两部分逻辑融合起来。在过去的几年间,Flink开发出了checkpointing机制,而它则是提供这种应用内仅一次处理的基石。

2023-04-21 18:11:53 613

原创 IDEA自动导包禁止导入*

IDEA 自动导包禁止导入*

2023-03-09 15:22:13 1175

原创 嗅探网站视频

但其实这样并不好,MP4头文件[ftyp+moov]较大,初始化的播放需要下载完整的头文件并进行解析,之后再下载一定长度的可播视频片段才能进行播放。HLS为HTTP Live Streaming的缩写,是由苹果公司提出的基于HTTP的流媒体网络传输协议,它可以同时支持直播和点播,还支持多清晰度、音视频双轨、字幕等功能。虽然选项卡睡眠功能只会释放部分内存,从而实现瞬间唤醒选项卡的效果,而不是关闭选项卡,关闭选项卡是所有内存都释放掉,唤醒时就得重新加载所有内容了。因此,很有必要找到一个好用的m3u8解析工具!

2022-12-19 17:46:52 7039

原创 Linux网卡配置之 /etc/network/interfaces

介绍了/etc/sysconfig/network-scripts的配置,但是部分linux发行版(如ubuntu)没有这个文件夹,而是改成了/etc/network/interfaces,这次补充介绍/etc/network/interfaces。ubuntu没有上面的/etc/sysconfig/network-scripts文件夹,只有一个配置文件/etc/network/interfaces。可能原来的ip还没删除,导致两个ip配置到了网卡上,重启一下就可以了。默认只有如下内容,配置了lo网卡。

2022-12-13 11:36:59 8853 3

原创 Pulsar 各个Shedder分析及新的Shedder -- AvgShedder

Pulsar 各个Shedder分析及新的Shedder -- AvgShedder

2022-11-19 17:55:55 798 2

原创 Pulsar bundle数目的选择

Pulsar bundle数目的选择

2022-11-19 16:47:05 794

原创 linux系统只给某个用户安装软件

拿到一个python可执行包解压好,然后修改当前用户的.bashrc文件,让python命令指向自定义的python可执行文件,而不是系统的python可执行文件。因为经常需要操作线上的服务器,有些命令使用公共的版本可能会遇到一些问题,如服务器python3版本为3.5,调用re库时容易出错,这个问题在3.6版本就修复了。当然如果要实现test用户使用python3就执行自定义版本也是可以的,把那个软连接python3改成指向python3.6,而不是系统的版本就行。

2022-09-05 09:51:23 1606 2

原创 jersey报错InjectionManagerFactory not found

具体原因是缺少下面的jar包,解决办法是在maven配置文件pom.xml中加入依赖,或者直接到官网下载对应jar包:<dependency><groupId>org.glassfish.jersey.inject</groupId><artifactId>jersey-hk2</artifactId><version>${jer...

2022-05-19 10:12:52 872 1

原创 IDEA使用--添加python解析器

有时候需要给IDEA添加一个python解析器,点击右边的配置python解析器。如下,检测到了Anaconda的python环境,当然可以直接用它。也可以指定其他的,如下C:\Users\84322\AppData\Local\Programs\Python\Python38\如下,可以使用系统的python环境,也可以很方便地直接使用conda、virtualenv来创建一个干净的新环境。添加完python sdk之后,这里再选上添加好的环境。环境...

2022-05-19 10:12:12 8201

原创 IDEA使用--文件的自动移动

src/main/resources下面的配置文件等在执行src/main文件夹的代码时,会自动移动到target/classes下面。注意:测试代码及其下面的资源文件与主代码及资源是独立的!因此测试的配置文件等需要单独编写,主代码修改了配置文件,测试配置文件也要再手动修改。src/test/resources下面的资源会自动移动到target/test-classes下面。...

2022-05-19 10:11:30 1727

原创 QEMU--在主机上挂载镜像

有时,能够在主机挂载映像会很有帮助。 例如,如果guest没有网络支持,则将文件传入和传出guest的唯一方法是通过它可以寻址的存储设备。还比如,如果/etc/default/grub文件的GRUB_TIMEOUT设为0,则不会进入到grub界面直接选择默认系统,要是默认系统损坏了不就没法进入系统了,那么可以挂载镜像然后直接修改 /etc/default/grub文件,设置GRUB_TIMEOUT为一定时长,从而允许选择其他系统。raw格式镜像Linux 和其他Unix-like主机可以使用回环

2022-05-18 09:16:34 1598

原创 java工作目录

java打开文件时,如果使用的是相对路径,则会使用工作目录作为base dir。可以通过输出系统属性user.dir,即System.getProperty("user.dir")来获取工作目录。使用命令行执行java代码时,工作目录的默认值是当前执行java程序的路径,如下代码打印工作目录,并修改后再输出:package com.example;import java.io.IOException;public class Test {public static ...

2022-05-18 09:16:11 2039

原创 QEMU网络--桥接网络、tap设备

QEMU 可以使用 TAP 接口为GuestOS提供完整的网络功能。 当GuestOS运行多个网络服务并且必须通过标准端口连接时,这可能很有用,还比如需要 TCP 和 UDP 以外的协议时,以及 QEMU 的多个实例需要相互连接的时候(尽管这也可以在用户模式网络中通过端口重定向或通过套接字来实现)。采用TAP设备和网桥的虚拟网络的性能应该会比使用用户模式网络或VDE要好,原因在于TAP设备和网桥是在内核中实现的。首先创建tun、tap设备。$ sudo mkdir /dev/net$ s

2022-05-18 09:15:47 8279 4

原创 QEMU镜像操作

https://www.qemu.org/docs/master/system/images.htmlhttps://en.wikibooks.org/wiki/QEMU/Images介绍QEMU 支持多种image映像类型。 qemu原生支持的类型是 qcow2,它支持写入时复制、加密、压缩和 VM 快照。QEMU 目前可以使用这些图像类型或格式:·raw(默认)原始磁盘映像格式。 这种格式的优点是简单且易于导出到所有其他仿真器。 如果您的文件系统支持holes(例如在 Linux

2022-05-18 08:07:02 3713

原创 ping_group_range

ping_group_range的值为两个整数,分别代表允许创建ICMP Echo sockets的最小和最大的组ID(闭区间),默认是"1 0",意味着没有组允许创建ICMP Echo sockets。设置为"100 100",则运行组ID为100的这个组,设置为"0 4294967295" 则允许所有组。...

2022-05-18 08:06:45 668

原创 jersey server:415 Unsupported Media Type

发送请求给jersey server时,没有响应,用wireshark抓包发现,返回了415 Unsupported Media Type。Chapter9.Support for Common Media Type Representations原因:java代码里的 POJO虽然使用了json相关模块的包来注解,但是还需要jersey 相关的依赖,来调用执行序列化反序列化。jersey支持MOXy、Jackson 和 Java APIforJSON Binding(JSON-B)这...

2022-05-18 08:05:55 287

原创 QEMU镜像--写时拷贝技术

写时复制(Copy-on-write,简称COW)是一种计算机程序设计领域的优化策略。其核心思想是,如果有多个调用者(callers)同时请求相同资源(如内存或磁盘上的数据存储),他们会共同获取相同的指针指向相同的资源,直到某个调用者试图修改资源的内容时,系统才会真正复制一份专用副本(private copy)给该调用者,而其他调用者所见到的最初的资源仍然保持不变。这过程对其他的调用者都是透明的。此作法主要的优点是如果调用者没有修改该资源,就不会有副本(private copy)被创建,因此多个调用者只是读

2022-05-18 08:04:40 775

原创 QEMU--用户模式网络

https://en.wikibooks.org/wiki/QEMU/Networking如果未指定网络选项,QEMU 将默认模拟一个 Intel e1000 PCI 网卡,该网卡具有桥接到主机网络的用户模式网络堆栈。 以下三个命令行是等效的:qemu -m 256 -hda disk.img &qemu -m 256 -hda disk.img -net nic -net user& #使用 -net user 必须同 -net nic配合qemu-system-i3.

2022-05-18 08:04:30 2344 1

原创 QEMU网络--端口重定向

要在用户模式网络下,允许网络连接到guest OS,可以将主机操作系统上的端口重定向到guest OS上的端口。 这对于支持guest OS里的文件共享、Web 服务器和 SSH 服务器很有用。(跟docker容器的端口重定向同样的应用场景)以下是如何在用户模式网络下设置 QEMU来与Windows XP guest共享文件和网页。 主机上的TCP 端口5555 被重定向到guest的端口 80(web服务器),主机上的 TCP 端口 5556 被重定向到guest的端口 445 (Windo...

2022-05-18 08:04:08 905

原创 QEMU虚拟机IP探测

QEMU虚拟机以桥接网络模式启动后,虚拟机的ip会与主机网卡处于同一个网段,但是具体ip是无法确定的,需要一定的方法去探测到。方法1:查看主机的arp表。这种方法简单,但是得要主机与靶机之间有过通信才会在arp表里留下记录。如下,启动靶机后并没有对应的表项,在靶机中ping一下主机后就有了。那么要触发主机与靶机之间的通信,要么让靶机启动时自动执行ping命令,要么如果网络比较小的话,让主机对当前网段的所有可能ip进行探测,这样也能触发通信。方法2:使用QEMU Guest A

2022-05-18 08:03:00 1084

原创 挂载虚拟机映像文件img

通过qemu安装系统进ubuntu.img映像文件,可以将它挂载到host机上。mkdir ubuntu_imgsudo mount -o loop ubuntu.img ubuntu_img报错如下:wrong fs type, bad option, bad superblock on /dev/loop24, missing codepage or helper program, or other error.指定文件系统类型也还是报错sudo mount -o lo.

2022-05-17 11:08:41 2919

原创 拓展虚拟机的磁盘大小

磁盘不够用了,想由20G拓展到40G,关闭虚拟机,然后删除掉所有快照(vmware不支持在有快照的时候拓展磁盘),配置虚拟机。拓展完成之后还要在ubuntu里面执行命令,重新进行分区、格式化文件系统。但是更简单的方法是,使用disks工具,在搜索中可找到。重新分配分区大小可能会导致数据丢失,建议提前备份数据。最小大小是由当前文件系统里所有文件的总共大小而来,不然可能会造成大量文件数据丢失。预留部分空间可以让系统运行得更快一些,也更稳定可靠。...

2022-05-17 11:02:45 471

原创 gdbserver使用教程

介绍与使用gdbserver 是一个程序,它允许您在与运行被调试程序的机器不同的机器上运行 GDB。即gdb和被调试程序分别在两个机器上运行。·用法(服务器(目标)端):首先,您需要将要调试的程序的拷贝放到目标系统上。 如果需要,可以剥离程序以节省空间,因为 gdbserver 不关心符号。 所有符号处理都由运行在主机系统上的 GDB 负责。要使用服务器,您登录到目标系统,然后运行 gdbserver 程序。 您必须告诉它 (a) 如何与 GDB 通信,(b) 程序的名.

2022-05-17 10:38:12 17826 2

原创 软件的「向前兼容」和「向后兼容」

软件开发行业的「前后」是按照英语习惯来的,不是按照汉语习惯来的。按照英语习惯,「向前进」(forward)指未来,「向后退」(backward)指过去。注意要把「前」「后」分别理解成「前进」和「后退」,不可以理解成「从前」和「以后」。backward compatibility (向后兼容, 回溯兼容) = downward compatibility (向下兼容) = 向过去兼容,即现在设计的软件要考虑旧版本的数据还能不能用,比如在开发Office 2007的时候,要考虑如何打开Office 20

2022-05-17 10:21:30 1068

tftpd.pcap

TFTP:简单文本传输协议的数据包

2020-12-17

tftp.pcap 分析学习tftp协议所用的流量包

分析学习tftp协议所用的流量包

2020-12-17

nmap流量分析文章中被分析的流量包

nmap流量分析文章中被分析的流量包

2020-10-15

城市经济活力的综合评价指标体系.pdf

城市经济活力的综合评价指标体系.pdf

2019-11-29

数学建模-城市幸福指数.pdf

数学建模-城市幸福指数.pdf

2019-11-29

Writing and Script_ A Very Short Introduction - Robinson, Andrew.mobi

Writing and Script_ A Very Short Introduction (Very Short Introductions) - Robinson, Andrew.mobi

2019-07-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除