00后程序员,2023年终总结 00后程序员,2023年终总结作为一个00后程序员,我回顾了过去三年的工作经历。我来自湖南衡阳,虽然互联网上常常开玩笑说我们00后炒主管、炒老板,但实际上我们也在不断努力变得更强。最近两年我没有写博客,不是因为懒,而是我荣升为了一位爸爸,肩上的责任更重了,工作上也需要积极主动承担自己的职责,顺便开发一个练手的物联网项目。工作的三年2020年中旬,我还在深圳的一家公司从事机房环境动力...
ElasticSearch学习 ElasticSearch(中文官网)之前在蟹老板手下干命的日子里,我给公司搭建了一套LEK,收集我们测试环境、生成环境,每个服务运行状态,以及bug及时定位,现在在新东家ElasticSearch除了做日志收集,还会保存业务数据文档,提升查询效率。在上次写的“使用ElasticSearch、Kibana、Docker 进行日志收集” 介绍了如何进行环境搭建,以及日志数据收集。Ela...
Windows Docker好方便呀呀呀 Windows Docker好方便呀呀呀今天我需要测试自己写的KafKa基础类库,自己需要搭建一个KafKa环境,自己的云主机不能用,电脑也没有开虚拟机,但是想了一下需要在windows电脑安装Kafka 环境好麻烦呀!!!! 后面想到有Windows for Docker 工具可以解决困惑。安装Hyper-V和开启Hyper-V按以下步骤打开勾选 Hyper-V 并重启电脑生效...
浅析DispatchProxy动态代理AOP 浅析DispatchProxy动态代理AOP(代码源码)最近学习了一段时间Java,了解到Java实现动态代理AOP主要分为两种方式JDK、CGLIB,我之前使用NET实现AOP切面编程,会用Filter拦截器、Attribute特性、中间件、继承父类重写父类方法。经过查找资料接触到了(牛逼不分先后)DispatchProxy抽象类源码地址Dora开源地址castleproje...
使用ABP SignalR重构消息服务(二) 使用ABP SignalR重构消息服务(二)上篇使用ABP SignalR重构消息服务(一)主要讲的是SignalR的基础知识和前端如何使用SignalR,这段时间也是落实方案设计。这篇我主要讲解SignalR源码(最近我手头工作比较忙@蟹老板)。SignalR源码分析(原地址,原地址已经停止维护了合并到了AspNetCore)使用SignalR我们主要是添加services.Ad...
使用ABP SignalR重构消息服务(一) 使用ABP SignalR重构消息服务最近协助蟹老板升级新框架,维护基础设施服务,目前已经稳了。早上蟹老板看到我进入公司,马上就叫停我,说我为什么左脚先进公司,你这样会让我很难做耶,这样把我给你一次机会把现在的消息服务重构了,我就放过你这一次。(当时我都没有反应过来,蟹老板就准备和我讲需求了,我赶紧着小本子开始记需求)背景我们需要记录所有用户的在线状况(登录的设备存在多个设备同时登...
ABP 使用ElasticSearch、Kibana、Docker 进行日志收集 ABP 使用ElasticSearch、Kibana、Docker 进行日志收集后续会根据公司使用的技术,进行技术整理分享,都是干货哦别忘了关注我!!!最近领导想要我把项目日志进行一个统一收集,因为现在环境有什么报错信息都是看Logs文件夹的日志数据,如果只有一个项目那到无所谓,但是我们现在的服务进行了模块拆分,所以看日志需要一个一个的找不方便,之前我有接触过Seq、ElasticSe...
Abp 业务异常源码解读 Abp 业务异常源码解读最近一直在读代码整洁之道,我在读到第三章函数的3.9 使用异常替代返回错误码,其实在我的开发经历中都是使用返回错误码给到前端,之前在阅读ABP官网文档中就有看到过使用异常替代异常的做法,当时自己还是比较抵触,在读完本章之后我们就马上阅读了Abp的异常处理源码。ABP 提供了一个内置的基础设施,并提供了一个标准模型来处理异常。自动处理所有异常并向客户端发送标准格...
读书笔记-代码整洁之道(一) 整洁代码当我们可以完善的实现一个业务需求、之后我们就需要考量代码的一个可读性和复用性,以及模块解耦。我自己也经历过一些中中小小的工作,自己也每天生成糟糕的代码,也经历过几次系统重构工作,慢慢的体会到了在编写代码的时候自己需要遵循约定俗成的规范,尽可能的让自己的代码在下次阅读时一看就懂,包括下一位同事能够维护我的代码。糟糕的代码阅读本书让我想起了自己经历过的一些场景:领导需要我们...
Abp 审计模块源码解读 Abp 审计模块源码解读Abp 框架为我们自带了审计日志功能,审计日志可以方便地查看每次请求接口所耗的时间,能够帮助我们快速定位到某些性能有问题的接口。除此之外,审计日志信息还包含有每次调用接口时客户端请求的参数信息,客户端的 IP 与客户端使用的浏览器。有了这些数据之后,我们就可以很方便地复现接口产生 BUG 时的一些环境信息。源码地址Abp版本:5.1.3初探我通过abp脚手架创...
全局获取HttpContext 全局获取HttpContext在我们平常开发中会有这样的需求,我们的Service业务层需要获取请求上下文中的用户信息,一般我们从控制器参数传递过来。如果你觉得这样就可以了,请您关闭文章。场景但是我们也会遇到控制器传递困难的场景,我自己最近使用单库实现多租户的PAAS平台,发现EF Core上下文获取我Token或者Headers中获取租户Id进行全局过滤就很麻烦(多租户解决方案后期我...
Docker Redis哨兵模式部署 Docker Redis哨兵模式部署我们先拉取redis配置 wget -c http://download.redis.io/redis-stable/redis.conf当我们下载好配置文件之后,我们只需要注意一下几个配置即可。port 是redis服务运行的端口(防止占用)slaveof 指定redis的主机地址。masterauth 当我们的主机redis有设置密码的时候,它...
Redis高可用调试 Redis高可用调试背景:因为要让redis高可用,我们使用了redis双机热备(一台主机一台备机)架构:虚拟IP=>nginx=>redis(双机)测试当我们使用nginx的双机热备模式,主节点挂掉之后,所有的请求会转发到从节点,这个时候我们的主节点故障恢复了,所有新的请求都会跑到主节点上。(当时我以为可以打卡下班了)但是当我进行模拟测试,首先正常情况主机在运行中非常...
.Net Core 使用EF Core codefirst模式 .Net Core 使用EF Core codefirst模式什么是codefirst模式EF Core有两种数据库设计模式,DBfirst 数据库优先、Codefirst 代码优先。1、我们一般设计是先添加数据库表信息,然后将数据库的信息更新到项目实体中。这种做法就是我们的DBfirst模式。2、使用codefirst模式,我们就可以先创建表实体,添加字段限制,完事之后执行3...
docker-compose使用 docker-compose使用什么是docker-compose我的理解:docker-commpse主要是帮我们跟方便的进行容器管理,当我们服务达到了一定的数量之后,如果都是进行手动管理花费的时间就比较多了。【官方文档】docker-compose安装【官方安装】# 这个是国内镜像,具体为什么用国内的你应该懂curl -L https://get.daocloud.io...
再见、你好 回首2020我做了什么巩固了自己的厨艺今年年初我很早就返回深圳啦,但是一直呆在出租屋中,为了解决自己吃饭问题,所有我买了锅碗飘盆酱醋盐........(网络办公期间也是摸鱼????的很,天天研究今天吃点啥,怎么才好吃。)最重要的是自己也喜欢上搞饭了(真的不是因为我喜欢干饭)。在这里我也很建议大家放下手机体验自己付出劳动成功之后,收获到可口的饭菜(因为也很省钱,吃的还香、重点是管饱...
Vue 修改成功之后我做了什么 Vue 修改成功之后我做了什么背景:前端将修改的数据传递到后端,后端返回成功之后,我们要将数据及时显示出来。霸道方法一:重新请求接口柔和方法二:修改成功之后的数据传递到源数据中,进行双向绑定显示。我是怎么做的有想过用霸道方法,剩下的时间就是自己的啦。哈哈。但是今天我在这里进行了让步,明天我就会其他的事情上做出让步(20岁的小伙子摸什么????鱼咯,摸鱼????都是富人做的事情),所...
我的第一次shell 我的第一次shell最近我们的项目需要进行优化,整体架构进行改造。然后我们红超哥就看我骨骼惊奇,说小伙子你想不想当做掌门人呀。(我说不想哈哈)想不想也没用了,红超哥说我们现在的架构有所改变,需要你写一套自动部署脚本。(弱小的我没有说出一个不字)Shell可以干啥如果小伙伴们使用过Linux操作系统那肯定使用过shell命令,cd 、 ls 再或者你们一定看过 rm -...
BackgroundService 大佬教的好 BackgroundService 源码分析因为换了工作也有两个多月没有写博客啦,因为跟着红超哥(大佬)一直在学习和做项目(反正就是在潜心修炼,大佬每天也是在我十万个为什么中度过的。)最近在做一个接收服务端信息的项目,使用TCP建立连接,双方进行信息通信。后面我会陆陆续续的把自己学习的东西进行一个是输出。当时有一个需求需要在程序初始化完毕之后,执行一些不干扰主要流程的代码 (...
Nuget管理自己的项目库 Nuget是什么Nuget 是一种 Visual Studio 扩展工具,它能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。(官方地址)相信大家对这个应该还是很熟悉的,没有序列化包大家第一时间就是搜索一个辅助包进行引用,大家有没有想过这些帮助包是哪里来的呢? (绝对不是天上掉下来的)为什么使用Nuget当我们需要使用序列的时候,如果不...