架构
文章平均质量分 87
海燕技术栈
既然巅峰留不住,那就重走来时路
展开
-
构建工程化:多种不同的工程体系如何编写MakeFile
PHONY目标声明了allcleaninstallbuildtest和init是伪目标,不对应实际文件。PLATDIRS和CLEANDIRS是目录列表变量,用于后续的构建和清理操作。这个Makefile用于构建和打包一个复杂的项目,包含多个应用和平台组件。它通过定义变量和模式规则来管理不同的构建任务,并使用条件判断和递归调用make命令来处理各个子目录和应用的构建过程。这个Makefile片段的目的是动态生成当前目录下的子目录列表,并处理排除某些特定目录(如seclib。原创 2024-07-02 10:57:51 · 493 阅读 · 0 评论 -
生成式AI背景下编程工作者的技术和高级软考理论的演进融合之路
了解软件工程的定义、目标、原则和发展历史,以及软件工程的重要性和作用。原创 2023-08-29 10:31:00 · 320 阅读 · 0 评论 -
react之自定义hooks
要自定义一个类似于的自定义 Hook,你可以借助 React 的useEffect和useRefHooks 来实现。effect();} else {// 使用示例return (在上述示例中,我们创建了一个名为的自定义 Hook。effect和。在内部,我们使用了useRef来创建一个标记是否已经完成初始渲染的变量isMounted。在useEffect中,我们检查isMounted的值。如果isMounted的值为true。原创 2023-07-03 12:56:33 · 593 阅读 · 0 评论 -
原子能力业务化网关架构设计之功能需求
原文合集地址如下,有需要的朋友可以关注。原创 2023-06-26 10:16:20 · 161 阅读 · 0 评论 -
实现一个SIEM的技术点
SIEM简介介绍siem的全称是什么,安全信息和事件管理,理论结构为对接局部网络中的安全设备产生的安全事件,经过对安全事件归一化处理和去重,然后通过一定的专家规则匹配,最终产生各安全设备统一之后的安全事件,从而达到对单安全设备告警的误报消除和去重的目的。siem最好的开源项目是ossim,这里来介绍一下ossim。Ossim整体结构Ossim系统本身包含四个模块,分别为agent,server,framework,frameworkd。agent主要实现轮询文件变化,利用正则表达式归一化日志,原创 2022-02-11 15:16:54 · 593 阅读 · 0 评论 -
架构抽象之通用流程管理实施部分
在实验阶段,我们定义了三个结构,分别是流程图结构,流程节点结构和流程边结构。这三个结构构造的流程在行为上,通过测试,可以得出基本是可以满足流程的基本需求的。那么,我们就可以开始进入实际的开发工作中,来完善这一抽象的实现。如何与业务耦合完善抽象首先需要考虑的点是如何与业务耦合,即,这样的数据结构,我们该应用到业务场景中呢?通用流程的抽象我们已经做完了,现在就需要让这个抽象跟业务耦合。我首先想到了两种思路:在业务表里面添加控制字段,用来标识该业务进展到了哪个阶段建一个单独的表来存储流程流转的历史原创 2022-01-30 18:09:08 · 1514 阅读 · 0 评论 -
一次尝试自研Java Orm层框架原理及代码实现
数据库层提出原因提出做数据库层的想法主要有以下几个原因:Java中已有的orm框架书写起来不够优雅,无论是Mybatis还是Spring-data,都不算特别优雅。一直以来想要实现一个类似于Laravel的Orm框架那样,靠点点的方法实现基础的SQL构造。建了表就自动生成各种默认的ORM层的函数,而不需要手动实现,只对特殊方法需要手动去写。数据库层的存在可以反向规范建表规则,比如,数据库层定义了必须要有创建人,创建时间,更新人,更新时间,删除人,删除时间等等,如果在引入的项目中没有使用这些字段.原创 2022-01-22 12:03:40 · 1411 阅读 · 0 评论 -
nginx架构
首先产生一个主进程,主进程执行一系列工作后产生一个或者多个工作进程。工作进程是nginx服务器提供服务的主体。nginx服务器将接收到的web请求通过代理转发到后端服务器nginx服务器为了提高对请求的响应效率,进一步降低网络压力,采用了缓存机制,将历史应答数据缓存到本地。结构:主进程、工作进程、后端服务器和用于为缓存文件简历索引的进程主进程:与外界通信和对内部其他进程进行管理 ...原创 2018-08-16 14:42:58 · 553 阅读 · 0 评论 -
服务器的web请求处理机制
同异步:对于请求方来说,如果发送方发送请求后,需要等待接收到接收方发回的响应后,才接着发送下一个请求,就是同步。异步则不需要等待接收方响应这个请求,就继续发下一个请求。 阻塞和非阻塞:调用结果返回之前,当前线程从运行状态被挂起,一直到调用结果返回之后,才进入就绪状态。就是阻塞。特质网络套接字socker。分类: 多进程方式:apache 多线程方法 异步方式...原创 2018-08-15 14:13:30 · 474 阅读 · 0 评论 -
事件驱动模型
事件驱动模型是一种响应事件模型,事件驱动就是在持续事务管理的过程中,由当前时间点上出现的事件引发的调动可用资源执行相关任务,解决不断出现的问题,防止事务堆积的一种策略。事件驱动程序设计:是一种程序设计方式事件驱动模型的组成:事件收集器,事件发送器,事件处理器 事件收集器:收集所有的时间 事件发送器:将收集器收集到的时间分发到目标对象中,目标对象就是事件处理器所处的位置 事件处理器负责...原创 2018-08-15 14:01:07 · 1684 阅读 · 0 评论 -
小游戏后端服务架构设计心得
1、倒计时timer方法,在不同的倒计时结束之后进行不同的操作2、前端发来的请求,通过处理前端发来的请求对游戏后端进行驱动(dotrigger模式)3、将玩家所有的请求放在处理队列里面,处理队列是线程安全的,用轮询的方式处理以上三点是整个小游戏架构的核心,其他的设施可以配套自行设计...原创 2018-06-09 11:06:57 · 2665 阅读 · 2 评论 -
用java搭建一个分布式服务器(一)
本专栏主要介绍如何用java实现一个小型分布式(单机多进程模式)服务器,希望能给刚开始学分布式的朋友一些帮助。讲得不对的地方欢迎在评论区指出。 用到的主要技术栈:netty 网络传输框架 spring-bootjava网络编程Java多线程和并发编程RPC(远程过程调用)方法的实现ProtoBuf 传输序列化框架下面来讲给一些这些技术的基础入门链接,因为这些技术的基础不是本文的...原创 2018-06-14 14:51:51 · 5293 阅读 · 0 评论 -
跟炒鸡辣鸡一起学用go写游戏后端2
上回说完了采用何种方式与前端进行交互,这次来说说使用何种形式的数据格式与前端进行交互。也就是通常所说的protocol(协议)。 目前,比较主流的是json和xml的方式,不过鉴于游戏对性能要求比较高,而是用json的网络消耗比较高,一些序列化反序列化的协议也渐渐展露头角,比如protobuf、protostuff等。今天我们暂且就以json为例来说说 在项目中,可以使用以下方式来接收前端客户...原创 2018-06-12 00:11:19 · 436 阅读 · 0 评论 -
跟炒鸡辣鸡一起学用go写游戏后端
几个月前,把java分布式游戏后端研究了一遍,仿照现成的架构写了两套游戏出来。但是我的脚步并未停下,现在开始研究如何用Go语言搭建游戏后端。1、设计前后端交互的方式 之前的java我用到了netty+protobuf和前端进行交互,而游戏服务之间采用RPC(远程过程调用)的方式进行通信。netty是java网络编程中一种比较优秀的网络通信框架,采用的是select事件驱动模式,这种轮询的方...原创 2018-06-11 21:36:55 · 4051 阅读 · 0 评论