首页
学习
活动
专区
工具
TVP
发布

海哥聊技术

专栏作者
47
文章
40718
阅读量
13
订阅数
物联网的服务端设计(五)性能测试
三年前写过一篇关于socket压测的文章,当时Locust还是0.x版本。现在已经进化到2.x版本,发现之前的的压测脚本已经跑不起来了,得重构下脚本。
海哥@开发
2022-12-08
6890
物联网的服务端设计(四)重构项目
在做协议包之前我们先把Handler做个拆,在之前的设计中解码、处理连接、协议解析、断开连接都在同一handler中。但按netty的设计思想是要分为多个,多个handler通过pipeline进行串联。接下来我们创建4个handler分别是:
海哥@开发
2022-12-08
5880
物联网的服务端设计(三)会话管理
这次我们要搞的是给咱们的iot服务端增加一个会话管理,并定时打印一个关于连接情况的报表。创建一个会话管理类 SessionManager。首先我们创建两个Map对象,分别用来存储以channel为key的会话信息,和以devid为key的channel对象。第一个sessions对象主要是接收数据时可以通过chnanel找到具体的设备信息, 第二个channels对象是供下行数据包时可以通过设备ID查找到对应的channel对象。
海哥@开发
2022-12-08
6070
物联网的服务端设计(二)创建连接
首先要创建的是两个事件循环组,分别用户来维护客户端的连接和数据的读写。其中一个构建参数的方法是事件组里的线程数量,如果不进行显示声明会自动创建CPU核心数x2的线程。如果工作在类似docker的容器里该参数会不准确,我们需要显示声明下。其中boosGroup只负责连接我们把线程数设置为1,workerGroup为处理数据的读写线程数可以稍微多一些。这里我们设置为2
海哥@开发
2022-12-08
6110
物联网的服务端设计(一)基础准备
这两年最火的是什么?物联网,现在连我家的电灯泡都是联网的。大量设备连网最考验的就是我们服务器的连接数量和保持情况。最近会陆续更新一系列的文章,使用Netty做IoT服务端的设计和技术讨论文章。
海哥@开发
2022-12-08
8830
JSW - 基于WEB的MSSQL数据库查询平台
所有企业都面临的一个需求就是需要运维开发人员连接线上生产库进行数据查询或解决线上问题,但又担心开发人员查询线上敏感数据甚至拖库。一般做法都是:
海哥@开发
2022-04-06
2.4K0
使用人脸识别的打卡程序
6月初北京的疫情响应已经降到了三级,没想到中旬时疫情又卷土重来,每天都有10~30个确诊病例的新增,按专家的说法秋冬季还会更严重。公司之前一直使用基于指纹的上下班签到机制,疫情期间为了减少人员接触开始改用人脸打卡。当时以为只是应急用一下,疫情有一两个月就结束了,使用的第三方的人脸打卡程序。但目前已经过去5个月了,疫情还没有结束的迹象。继续使用第三方的打卡程序:一是数据不安全人脸&位置数据全被第三方收集走了,另一方面第三方没有提供接口无法和公司现有的考勤程序进行数据对接。公司希望实现自己的基于人脸打卡程序,这个重任当然就落到了我们开发部上,虽然没经验但咱们做为一个涉身职场多年的老将不能说不行啊。
海哥@开发
2022-04-06
1.8K0
记录一次服务器程序性能调优过程
最近支付宝小程序允许个人开发者上架应用了。我也很快的改写了我的《疫苗批号查询》程序,顺利过审上架。并且明显能看到阿里虽然在各个方面都是在抄袭微信小程序,但无论是IDE还是管理后台都更上了一个层级。这不昨天我的小程序上架满一周评级出来了,B级看了下健康问题主要是首屏开启过慢部分用户会超过3000ms。
海哥@开发
2022-04-06
3090
Jdoka一个为运营团队节省人力成本的数据查询系统
做为运营开发可能经常会遇到需求方的一个新系统上线后需求方会需要查询各种运维数据,比如过去30天留存、昨天充值情况、过去1小时新游戏/新活动参与情况。再复杂一些的如指定账号的用户信息,指定时间内的PV|UV等需要频繁查询的情况。简单的一两句sql就能实现,但需求方毕竟不是技术人员不会写SQL语句,也不知道如何操作这些查询终端,但即使会写也不方便把数据库的查询权限开给这么多人。传统的运营团队解决方案基本都是开发后台,或雇佣专职查询人员。
海哥@开发
2022-04-06
2590
Gameboy游戏开发⑦-坏蛋板栗仔
咱们的课程已经进行到了第7课我把之前的代码放到了单独的仓库里,项目起名为Hashiru(https://github.com/guohai163/hashiru) 。每一课我都打了一个标签,大家可以分别 pull 回来
海哥@开发
2022-04-06
4110
Gameboy游戏开发⑥-多彩移动背景
上节课我们通过set_bkg_palette方法来给背景加载了配色方案,但这样整个背景只可以使用一套调色板4种颜色枯燥不?今天的课程就会实现在GBC下每一个瓦块独立一个配色方案。
海哥@开发
2022-04-06
4530
Gameboy游戏开发-背景
前几节课已经把精灵部分讲的很详细了,接下来我们来讲下一个很重要的部分就是背景。首先我来先看一张原理图,在GB中我们共可以使用三个层。分别是最底层的背景层、之前我们一直在讲解的精灵层、和未来来讲解的窗体层。
海哥@开发
2022-04-06
7120
Gameboy游戏开发-调色板
首先我们先看看如何告诉模拟器或真机,这个ROM是个纯GB卡还是GBC卡。查了一下文档需要在ROM的0x143这个地址修改为0x80。gbdk的修改方法是在链接目标文件到gbROM的时候增加参数-Wl-yp0x143=0x80,至于到我们的项目上需要修改Makefile文件。看一下修改后的文件内容
海哥@开发
2022-04-06
9950
反向L2TP拨号,接入公司网络
2019肺炎还没有结束,今天第一天远程复工,前几天介绍了一个全局连回公司网络的方案。但有人私信我,公司没有为了临时办公搭建V**的准备,大多公司的临时解决方案是用TeamViewer类软件来实现远程连接方案。这类方案基本都不是直连状态,都是需要去第三方公司绕一圈再连上,第一会卡顿特别是同一公司多人在使用的情况下,更关键的这绕了一圈安全性也不好说。那有没有其他的解决方案呢?
海哥@开发
2022-04-06
1.4K0
Gameboy游戏开发-精灵高阶
上节课聊到了精灵的反向问题,GB因为卡带容量的限制不可能每个方向都单独制作,一般ACT类游戏只需要一个侧面,另一个方向是通过瓦块的镜像的来实现的。我们使用的gbdk类库提供了一个`set_sprite_prop`方法,看文档该方法会接收一个8位的值,其中第5位为1时对应的精灵会做水平翻转。我们来看一下例子。
海哥@开发
2022-04-06
3320
远程办公如何全局连回公司网络
今天是已经是放假的第17天了,2019肺炎还没有减弱的趋势,今日截至23点新增确诊3201例。国内大多公司至少是互联网公司目前都是一个远程办公的状态,一般都是给开V**账号拨号回公司网络。但大多V**都不支持多播如果有多台设备需要连回去,或者手机需要连回去就比较麻烦了。比较简单的方案就是使用路由器做V**拨号,但是呢这个非常时期也不是哪个路由器都支持V**拨号功能,现下单购买目前的物流也是个问题。还有一种解决方案就是用家里的其他电脑或设备拨号,路由器指定一条静态路由把公司的网段路由指向拨号电脑。这也就是传说中的旁线路由,这里为了省电我家用的是树莓派来实现此功能,超省电超稳定。教程使用openV**来举例,其他方式V**请举一反三。
海哥@开发
2022-04-06
9990
Gameboy游戏开发-精灵入门
上一节课我们展示了一个最简单的人物在屏幕内移动的例子,但人物移动时并没有配合的动画,这次我们来个高级版本的。在GB内我们管所有移动的物体都叫做精灵(Sprite)。组成精灵的瓦块(Tile)是一个8x8的像素组合。每个瓦块是一堆0或1位的组合,如果手工画这个肯定会疯掉。我们可以使用Gameboy Tile Designer(以下简称gbtd)来进行瓦块的绘画。
海哥@开发
2022-04-06
4310
Gameboy游戏开发-搭建环境
Gameboy是80、90后童年曾经陪伴过的掌上游戏机,给我们儿时带来了很多欢乐。我还记得我的GB是96年时用压岁钱买的,当时从父母那里收了200的压岁钱,自己用平时积攒的200块钱自己坐了2个小时的车去了大城市锦州买的这台游戏机。当时已经没有钱再买游戏卡了,还是从我们这叫老六那租的游戏卡一块钱一天。当时也想好奇过GB上的游戏是怎么做出来的?好奇归好奇那个年代信息闭塞不太可能知道答案。
海哥@开发
2022-04-06
1.1K0
使用蝗虫(LOCUST)来进行百万长连接性能测试
最近公司在做一个IoT项目,需要把分布在全国的电池设备连接上中央服务器并上报数据。服务器端使用java+netty来进行开发,测试这块是个麻烦事了。之前团都是使用jmeter来进行压力测试,但jmeter这种基于线程方式的测试工具很难在单机上模拟出较高的并发数,使用搜索引擎看一下最后我们选择了使用Locust来进行压测。Locust基于gevent使用协程机制,避免了系统资源调度,由此可以大幅度提高单机的并发性能。
海哥@开发
2022-04-06
7970
Nexus Repository私服挂了后怎么办?
团队内一直使用Nexus Repository搭建的私服为大家做包下载的加速,以及团队内自己的包管理。上个周末因为机房停电服务异常关机,周一上班后再开机服务死活起不来了。查看日志发现报错
海哥@开发
2022-04-06
6520
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档