首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
Netty源码研究笔记(4)——EventLoop系列
1. Netty源码研究笔记(4)--EventLoop系列 EventLoop,即事件驱动,它是Netty的I/O模型的抽象,负责处理I/O事件.任务. 不同的EventLoop代表着不同的I/O模型,最重要.最主要的是NioEventLoop,表示多路复用的I/O模型,对应jdk的NIO. NioEventLoop是单线程的,它通过将I/O事件的等待时间用于执行其他任务,从而提高了线程的利用率,提高了单线程的吞吐量. 然而用户并不能直接使用EventLoop,应该使用EventLoopGro
2022-05-23
Linux内网渗透
Linux虽然没有域环境,但是当我们拿到一台Linux 系统权限,难道只进行一下提权,捕获一下敏感信息就结束了吗?显然不只是这样的.本片文章将从拿到一个Linux shell开始,介绍Linux内网渗透技术,分为容器逃逸.Linux提权.Linux信息收集.Linux隧道技术.Linux横向移动.Linux权限维持.Linux痕迹清理几个部分. 容器逃逸 容器逃逸的应用主要是,拿到shell之后,发现是docker环境,要进一步渗透,就必须逃逸到宿主机. 容器逃逸方法见: https://www
2022-05-23
520表白小程序设计Python代码详解(PyQt5界面,B站动漫风)
摘要:介绍一个动漫风的表白小程序,界面使用Python以及PyQt实现,界面样式经过多次美化调整,使得整体清新美观.本文详细介绍代码设计和实现过程,不仅是居家表白必备,而且适合新入门的朋友学习界面设计,完整代码资源文件请转至文末的下载链接.本博文目录如下: 目录 前言 1. 准备工作 (一)设计思路 (二)图片准备 2. 界面设计 3. 代码编写 (一)主窗口界面 (二)关闭窗口弹窗 (三)按钮点击弹窗 (四)界面窗口逻辑 (五)主程序的调用 4. 下载链接 结束语 ➷点击跳转至文末所有涉及的完
2022-05-23
Java实现飞机大战游戏
飞机大战详细文档 文末有源代码,以及本游戏使用的所有素材,将plane2文件复制在src文件下可以直接运行. 实现效果: 结构设计 角色设计 飞行对象类 FlyObject 战机类 我的飞机 MyPlane 敌方飞机 EnemyPlane 子弹类 我的子弹 MyBullet 敌方子弹 EnemyBullet 道具类 Prop 加分,加血,升级 地图背景类 Background 玩家类 Player HP,得分 线程类 绘制线程 DrawThread 移动线程 MoveThread 生成敌方飞机线
2022-05-23
【Java面试】Spring中 BeanFactory和FactoryBean的区别
一个工作了六年多的粉丝,胸有成竹的去京东面试. 然后被Spring里面的一个问题卡住,唉,我和他说,6年啦,Spring都没搞明白? 那怎么去让面试官给你通过呢? 这个问题是: Spring中BeanFactory和FactoryBean的区别. 好吧,对于这个问题看看普通人和高手的回答. 普通人: 嗯.......... 高手: 关于这个问题,我从几个方面来回答. 首先,Spring 里面的核心功能是IOC容器,所谓IOC容器呢,本质上就是一个Bean的容器或者是一个Bean的工厂. 它能够根
2022-05-23
Net6 Xunit 集成测试
对于单元测试.集成测试大部分开发的朋友都懒得去写,因为这要耗费精力去设计去开发,做完项目模块直接postman 调用测试(当然这是一个选择,开发也中经常用到),但是如果测试需要多样化数据,各种场景模拟这样postman测试就暴露了他的局限性,下面我将Net6下没有使用Startup以及NET6以前版本使用Startup的集成测试(单元测试雷同)做一个梳理 1.新建测试项目 2.使用到的类库 Xunti与xunit.runner.visualstudio创建测试项目是自带 Xunit.Depend
2022-05-23
『忘了再学』Shell基础 — 16、位置参数变量
目录 1.位置参数变量$n 2.位置参数变量$*和$@ 3.位置参数变量$# 位置參数变量的作用主要用于脚本的传参. 位置參数变量的名称和作用都是确定不能改变的,但是该变量的内容是可以更改的,也就是变量的值. 位置參数变量如下: 位置参数变量 作用 $n n为数字,$0代表命令本身,$1-$9代表(脚本命令后的)第一到第九个参数,十以上的参数需要用大括号包含,如${10}.${15}. $* 这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体. $@ 这个变量也代表命令行中所有的参数,
2022-05-23
MySQL(10) - Python与MySQL的交互
1.MySQL驱动模块Connector的语法 1.1.下载驱动 进入官网下载对应版本驱动 1.2.创建连接 方式一: import mysql.connector con = mysql.connector.connect( host="localhost",port="3306",user="root",password="123456",database="vega" ) con.close() #运
2022-05-23
干掉Switch-Case、If-Else----订阅发布模式+事件驱动模式
在上位机和下位机或者服务端和客户端通信的时候,很多时候可能为了赶项目进度或者写代码方便直接使用Socket通信,传输string类型的关键字驱动对应的事件,这就有可能导致程序中存在大量的Switch-Case.If-Else判断.当通信的逻辑越来越复杂,增加的关键字就越来越多,导致一个事件处理类中不断的累加成千上万的Switch-Case.If-Else代码,导致后期的代码极其难以维护. 当大家在看到大量的Switch-Case.If-Else代码堆积在一起肯定会感觉非常的头痛,其中的业务逻辑就
2022-05-23
SeataAT模式原理
Seata架构 Seata将分布式事务理解为一个全局事务,它由若干个分支事务组成,一个分支事务就是一个满足ACID的本地事务. Seata架构中有三个角色: TC (Transaction Coordinator) - 事务协调者 维护全局和分支事务的状态,驱动全局事务提交或回滚. TM (Transaction Manager) - 事务管理器 定义全局事务的范围:开始全局事务.提交或回滚全局事务. RM (Resource Manager) - 资源管理器 管理分支事务处理的资源,与TC交谈
2022-05-23
Kafka 万亿级消息实践之资源组流量掉零故障排查分析
作者:vivo 互联网服务器团队-Luo Mingbo 一.Kafka 集群部署架构 为了让读者能与小编在后续的问题分析中有更好的共鸣,小编先与各位读者朋友对齐一下我们 Kafka 集群的部署架构及服务接入 Kafka 集群的流程. 为了避免超大集群我们按照业务维度将整个每天负责十万亿级消息的 Kafka 集群拆分成了多个 Kafka 集群.拆分粒度太粗会导致单一集群过大,容易由于流量突变.资源隔离.限速等原因导致集群稳定性和可用性受到影响,拆分粒度太细又会因为集群太多不易维护,集群内资源较少应
2022-05-23
类型安全的 Go HTTP 请求
前言 对 Gopher 来说,虽然我们基本都是在写代码让别人来请求,但是有时候,我们也需要去请求第三方提供的 RESTful 接口,这个时候,我们才能感受到前端同学拼接 HTTP 请求参数的痛苦. 比如,我们要发起类似这样一个请求,看起来很简单,实际写起来还是比较繁琐的. POST /articles/5/update?device=ios HTTP/1.1 Host: go-zero.dev Authorization: Bearer <jwt-token> {"author&qu
2022-05-23
联盟链 Hyperledger Fabric 应用场景
一.说明 本文主要通过一个例子分享以 Hyperledger Fabric 为代表的联盟链应用场景. 关于 Fabric 的相关概念请先参考文章 <Hyperledger Fabric 核心概念> 二.业务场景 我们看一个购物场景: 首先消费者在某个购物平台上购物例如淘宝. 然后使用第三方支付渠道进行支付例如支付宝. 最后在银行完成资金的扣款. 这样整个过程使用目前传统技术来实现的话,相互之间的数据是 不透明 的,每个平台所产生的数据都只是保存在 各自 的数据库里面: 例如淘宝保存的是订单数据
2022-05-23
上半年最中意的 GitHub 更新「GitHub 热点速览 v.22.21」
2022 年的热点速览加入 GitHub 产品动态之后,这次的图片显示是最得我意的,因为可以提升图片查看人的看片体验.而 GitHub 社区方面,GitHub 官方发布了部分开源项目的新版本.与此同时,没有收录在本周 News 快读,但是大家应该都有耳闻的 Gitee "被迫"审核事件也是本周的特点事件,甚至有网友发出了 Gitee 办事窗口网图来暗示以后 Gitee 的审核之旅. 除了 News 之外,本周收录的热榜项目大部分都为新项目,比如 Google I/O 上用 Flutte
2022-05-23
【万字长文】使用 LSM Tree 思想实现一个 KV 数据库
目录 设计思路 何为 LSM-Treee 参考资料 整体结构 内存表 WAL SSTable 的结构 SSTable 元素和索引的结构 SSTable Tree 内存中的 SSTable 数据查找过程 实现过程 Key/Value 的表示 内存表的实现 二叉排序树结构定义 插入操作 查找 删除 遍历算法 WAL WAL 文件恢复过程 SSTable 与 SSTable Tree SSTable 结构 SSTable 文件结构 SSTable Tree 结构和管理 SSTable 文件 插入 SS
2022-05-23
iOS全埋点解决方案-数据存储
前言 SDK 需要把事件数据缓冲到本地,待符合一定策略再去同步数据. 一.数据存储策略 在 iOS 应用程序中,从 "数据缓冲在哪里" 这个纬度看,缓冲一般分两种类型. 内存缓冲 磁盘缓冲 内存缓冲是将数据缓冲在内存中,供应用程序直接读取和使用.优点是读取速度快.缺点是由于内存资源有限,应用程序在系统中申请的内存,会随着应用生命周期结束而被释放,会导致内存中的数据丢失,因此将事件数据缓冲到内存中不是最佳选择. 磁盘缓冲是将数据缓冲到磁盘空间中,其特点正好和磁盘缓冲相反.
2022-05-23
基于surging网络组件多协议适配的平台化发展
前言 Surging 发展已经有快6年的时间,经过这些年的发展,功能框架也趋于成熟,但是针对于商业化需求还需要不断的打磨,前段时间客户找到我想升级成平台化,针对他的需求我们讨论了很久,他的一些需求想法还是非常先进的,针对于现在surging 还有很多需要研发打磨,后面因为时间成本的关系我拒绝了他,我也打算后面慢慢的将surging升级为平台化以便支持物联网,流媒体等业务场景,可以通过统一定义,统一管理来配置构建各种业务场景,而web网关,设备网关,流媒体网关等各种类
2022-05-23
使用 Postman 实现 API 自动化测试
背景介绍 相信大部分开发人员和测试人员对 postman 都十分熟悉,对于开发人员和测试人员而言,使用 postman 来编写和保存测试用例会是一种比较方便和熟悉的方式.但 postman 本身是一个图形化软件,相对较难或较麻烦(如使用 RPA)实现自动化测试.幸运的是,postman 还提供了一个命令行工具 newman,我们可以借助 postman + newman 来实现 API 自动化测试. 名词解析 1. Collection Collection 是一组保存的请求,postman 中
2022-05-23
Proxmox 7.2 部署 DoraCloud桌面云,支持vGPU
介绍 本文介绍了使用Proxmox + DoraCloud,将一台图形工作站(配置有Tesla P4显卡)改造成一台桌面云主机.可以满足多个桌面用户同时使用3D应用的需求. 该方案适合于小型工作室.电商团队等小微团队的搭建5-15人的桌面云办公环境. 可以满足远程办公.信息安全.3D设计方面的需求. 准备条件 1.一台Dell T3640 工作站,配置 i7-10700,64G, 1TB SSD, Tesla P4卡. 2.一个启动U盘. 3.网络内有DHCP服务. 1.安装Proxmo
2022-05-22
[论文][表情识别]Towards Semi-Supervised Deep Facial Expression Recognition with An Adaptive Confidence Margin
论文基本情况 发表时间及刊物/会议:2022 CVPR 发表单位:西安电子科技大学, 香港中文大学,重庆邮电大学 问题背景 在大部分半监督学习方法中,一般而言,只有部分置信度高于提前设置的阈值的无标签数据被利用.由此说明,大部分半监督方法没有充分利用已有数据进行训练. 论文创新点 设置了Adaptive Confidence Margin(自适应阈值)根据训练规律动态调整阈值,充分利用所有的无标签数据. 网络结构 具体的训练步骤如下: 初始基本设定: 设置初始阈值,本文中,对于每个类别,阈值初始
2022-05-22
« Prev
1
...
3
4
5
6
7
8
9
10
Next »